diff --git a/lib.min.js b/lib.min.js index d2fc16319..5a341bad3 100644 --- a/lib.min.js +++ b/lib.min.js @@ -26078,6 +26078,81 @@ function isnan (val) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) +/***/ }), + +/***/ "./node_modules/builtin-status-codes/browser.js": +/*!******************************************************!*\ + !*** ./node_modules/builtin-status-codes/browser.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = { + "100": "Continue", + "101": "Switching Protocols", + "102": "Processing", + "200": "OK", + "201": "Created", + "202": "Accepted", + "203": "Non-Authoritative Information", + "204": "No Content", + "205": "Reset Content", + "206": "Partial Content", + "207": "Multi-Status", + "208": "Already Reported", + "226": "IM Used", + "300": "Multiple Choices", + "301": "Moved Permanently", + "302": "Found", + "303": "See Other", + "304": "Not Modified", + "305": "Use Proxy", + "307": "Temporary Redirect", + "308": "Permanent Redirect", + "400": "Bad Request", + "401": "Unauthorized", + "402": "Payment Required", + "403": "Forbidden", + "404": "Not Found", + "405": "Method Not Allowed", + "406": "Not Acceptable", + "407": "Proxy Authentication Required", + "408": "Request Timeout", + "409": "Conflict", + "410": "Gone", + "411": "Length Required", + "412": "Precondition Failed", + "413": "Payload Too Large", + "414": "URI Too Long", + "415": "Unsupported Media Type", + "416": "Range Not Satisfiable", + "417": "Expectation Failed", + "418": "I'm a teapot", + "421": "Misdirected Request", + "422": "Unprocessable Entity", + "423": "Locked", + "424": "Failed Dependency", + "425": "Unordered Collection", + "426": "Upgrade Required", + "428": "Precondition Required", + "429": "Too Many Requests", + "431": "Request Header Fields Too Large", + "451": "Unavailable For Legal Reasons", + "500": "Internal Server Error", + "501": "Not Implemented", + "502": "Bad Gateway", + "503": "Service Unavailable", + "504": "Gateway Timeout", + "505": "HTTP Version Not Supported", + "506": "Variant Also Negotiates", + "507": "Insufficient Storage", + "508": "Loop Detected", + "509": "Bandwidth Limit Exceeded", + "510": "Not Extended", + "511": "Network Authentication Required" +} + + /***/ }), /***/ "./node_modules/classnames/index.js": @@ -268239,6 +268314,9 @@ var builtinExtensions = { return __webpack_require__(/*! ../blocks/scratch3_core_example */ "./node_modules/scratch-vm/src/blocks/scratch3_core_example.js"); }, // These are the non-core built-in extensions. + tello: function tello() { + return __webpack_require__(/*! ../extensions/scratch3_tello */ "./node_modules/scratch-vm/src/extensions/scratch3_tello/index.js"); + }, pen: function pen() { return __webpack_require__(/*! ../extensions/scratch3_pen */ "./node_modules/scratch-vm/src/extensions/scratch3_pen/index.js"); }, @@ -277512,6 +277590,297 @@ module.exports = Scratch3PenBlocks; /***/ }), +/***/ "./node_modules/scratch-vm/src/extensions/scratch3_tello/index.js": +/*!************************************************************************!*\ + !*** ./node_modules/scratch-vm/src/extensions/scratch3_tello/index.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var ArgumentType = __webpack_require__(/*! ../../extension-support/argument-type */ "./node_modules/scratch-vm/src/extension-support/argument-type.js"); + +var BlockType = __webpack_require__(/*! ../../extension-support/block-type */ "./node_modules/scratch-vm/src/extension-support/block-type.js"); + +var Cast = __webpack_require__(/*! ../../util/cast */ "./node_modules/scratch-vm/src/util/cast.js"); + +var log = __webpack_require__(/*! ../../util/log */ "./node_modules/scratch-vm/src/util/log.js"); + +var http = __webpack_require__(/*! http */ "./node_modules/stream-http/index.js"); + +var util = __webpack_require__(/*! util */ "./node_modules/util/util.js"); +/** + + * Icon svg to be displayed at the left edge of each extension block, encoded as a data URI. + + * @type {string} + + */ +// eslint-disable-next-line max-len + + +var blockIconURI = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDQwIDQwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MCA0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0EyQTJGRjt9DQoJLnN0MXtkaXNwbGF5Om5vbmU7fQ0KPC9zdHlsZT4NCjxnIGlkPSLjg6zjgqTjg6Tjg7xfMSI+DQoJPHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+DQoJPHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+DQoJPHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+DQoJPGc+DQoJCTxwYXRoIGQ9Ik01LjIsMTEuMkg0LjNjLTAuMiwwLTAuNCwwLTAuNywwVjkuNGg1LjJ2MS44Yy0wLjIsMC0wLjQsMC0wLjcsMEg3LjJ2Ni4yYzAsMC4yLDAsMC4zLDAsMC41SDUuMWMwLTAuMSwwLTAuMywwLTAuNXYtNS4yDQoJCQlsMC41LTAuOGwwLjgsMC40TDYsMTFsMC41LTAuN2wtMC44LDAuMkw1LjIsOS44bDAsMC45bC0wLjgsMC4yTDUuMiwxMS4yeiIvPg0KCQk8cGF0aCBkPSJNMTUuOCwxNS40aC0yLjljMCwwLjcsMC4xLDEsMC40LDFjMC4yLDAsMC4zLTAuMSwwLjQtMC40YzAtMC4xLDAtMC4yLDAtMC4zaDIuMWMtMC4xLDAuOC0wLjMsMS40LTAuNywxLjgNCgkJCWMtMC40LDAuNC0xLDAuNy0xLjcsMC43Yy0xLjYsMC0yLjQtMS4xLTIuNC0zLjNjMC0wLjksMC4yLTEuNiwwLjUtMi4yYzAuNC0wLjcsMS4xLTEsMS45LTFjMSwwLDEuNywwLjQsMi4xLDEuMg0KCQkJQzE1LjcsMTMuNCwxNS44LDE0LjMsMTUuOCwxNS40eiBNMTQuMiwxNC45bC0wLjMtMS4xbDAuOC0wLjdoLTFsLTAuMy0xLjFsLTAuMywxLjFoLTFsMC44LDAuN2wtMC4zLDEuMWwwLjgtMC43TDE0LjIsMTQuOXoiLz4NCgkJPHBhdGggZD0iTTIxLjMsMTcuOWgtMS45YzAtMC4yLDAtMC4zLDAtMC41VjkuOWMwLTAuMiwwLTAuNCwwLTAuNWgxLjljMCwwLjEsMCwwLjMsMCwwLjV2Ny40QzIxLjMsMTcuNiwyMS4zLDE3LjgsMjEuMywxNy45eiIvPg0KCQk8cGF0aCBkPSJNMjcuOCwxNy45aC0xLjljMC0wLjIsMC0wLjMsMC0wLjVWOS45YzAtMC4yLDAtMC40LDAtMC41aDEuOWMwLDAuMSwwLDAuMywwLDAuNXY3LjRDMjcuNywxNy42LDI3LjgsMTcuOCwyNy44LDE3Ljl6Ii8+DQoJCTxwYXRoIGQ9Ik0zNi40LDE0LjhjMCwyLjItMC44LDMuMy0yLjUsMy4zYy0xLjYsMC0yLjUtMS4xLTIuNS0zLjNjMC0yLjIsMC44LTMuMywyLjUtMy4zQzM1LjYsMTEuNiwzNi40LDEyLjYsMzYuNCwxNC44eiBNMzUsMTYuOA0KCQkJbC0wLjQtMS43bDEuMi0wLjloLTEuNWwtMC40LTEuN2wtMC40LDEuN2gtMS40bDEuMSwwLjlsLTAuNCwxLjdsMS4xLTFMMzUsMTYuOHoiLz4NCgkJPHBhdGggZD0iTTcuMSwzMS45SDUuMmMwLTAuMSwwLTAuMywwLTAuNXYtNy41YzAtMC4yLDAtMC40LDAtMC41aDEuOWMwLDAuMSwwLDAuMywwLDAuNXY3LjVDNy4xLDMxLjYsNy4xLDMxLjgsNy4xLDMxLjl6DQoJCQkgTTYuNiwyNS42bC0wLjItMC44TDcsMjQuNEg2LjNsLTAuMi0wLjhMNiwyNC40SDUuNGwwLjUsMC41bC0wLjIsMC44bDAuNS0wLjVMNi42LDI1LjZ6Ii8+DQoJCTxwYXRoIGQ9Ik0xNS43LDI5LjNjLTAuMSwxLjktMC45LDIuOS0yLjQsMi45Yy0xLjYsMC0yLjQtMS4xLTIuNC0zLjRjMC0yLjEsMC44LTMuMiwyLjQtMy4yYzAuNywwLDEuMywwLjIsMS42LDAuNw0KCQkJYzAuNCwwLjQsMC42LDEuMSwwLjcsMS45aC0xLjhsLTAuNi0xLjhMMTIuOCwyOGgtMS43bDEuMywxLjFsLTAuNSwxLjhsMS4zLTEuMmwxLjMsMS4ybC0wLjUtMS42SDE1Ljd6Ii8+DQoJCTxwYXRoIGQ9Ik0yMy41LDI4LjhjMCwyLjItMC44LDMuMy0yLjUsMy4zYy0xLjYsMC0yLjUtMS4xLTIuNS0zLjNjMC0yLjIsMC44LTMuMywyLjUtMy4zQzIyLjYsMjUuNiwyMy41LDI2LjYsMjMuNSwyOC44eg0KCQkJIE0yMi4xLDMwLjhsLTAuNC0xLjdsMS4yLTAuOWgtMS41TDIxLDI2LjVsLTAuNCwxLjdoLTEuNGwxLjEsMC45bC0wLjQsMS43bDEuMS0xTDIyLjEsMzAuOHoiLz4NCgkJPHBhdGggZD0iTTI4LjcsMjUuOGMwLjMtMC4yLDAuNi0wLjIsMC45LTAuMmMxLjEsMCwxLjcsMC43LDEuNywyLjJ2My43YzAsMC4yLDAsMC40LDAsMC41aC0yYzAtMC4xLDAtMC4zLDAtMC41di0zLjMNCgkJCWMwLTAuMywwLTAuNSwwLTAuNmMwLTAuMi0wLjItMC4zLTAuNC0wLjNjLTAuMiwwLTAuNSwwLjMtMC43LDAuOXYzLjNjMCwwLjIsMCwwLjQsMCwwLjVoLTJjMC0wLjIsMC0wLjMsMC0wLjV2LTUuMw0KCQkJYzAtMC4xLDAtMC4zLDAtMC40aDJjLTAuMSwwLjItMC4xLDAuNC0wLjEsMC41TDI3LjksMjZsMC4yLDAuNUwyNy43LDI3bDAuNS0wLjFsMC4yLDAuNWwwLjEtMC42bDAuNS0wLjFsLTAuNS0wLjNMMjguNywyNS44eiIvPg0KCTwvZz4NCjwvZz4NCjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgY2xhc3M9InN0MSI+DQo8L2c+DQo8L3N2Zz4NCg=='; +/** + + * Icon svg to be displayed in the category menu, encoded as a data URI. + + * @type {string} + + */ +// eslint-disable-next-line max-len + +var menuIconURI = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDQwIDQwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MCA0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0EyQTJGRjt9DQoJLnN0MXtmaWxsOiM2NzY3QTY7fQ0KCS5zdDJ7ZmlsbDojRkZGRkZGO30NCgkuc3Qze2Rpc3BsYXk6bm9uZTt9DQo8L3N0eWxlPg0KPGcgaWQ9IuODrOOCpOODpOODvF8xIj4NCgk8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiLz4NCgk8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiLz4NCgk8cmVjdCBjbGFzcz0ic3QxIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiLz4NCgk8Zz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTQuOCwzLjRIMy45Yy0wLjIsMC0wLjQsMC0wLjcsMFYxLjZoNS4ydjEuOGMtMC4yLDAtMC40LDAtMC43LDBINi44djYuMmMwLDAuMiwwLDAuMywwLDAuNUg0LjgNCgkJCWMwLTAuMSwwLTAuMywwLTAuNVY0LjRsMC41LTAuOEw2LjEsNEw1LjYsMy4ybDAuNS0wLjdMNS4zLDIuN0w0LjgsMS45bDAsMC45TDQsM0w0LjgsMy40eiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTUuNCw3LjZoLTIuOWMwLDAuNywwLjEsMSwwLjQsMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjRjMC0wLjEsMC0wLjIsMC0wLjNoMi4xYy0wLjEsMC44LTAuMywxLjQtMC43LDEuOA0KCQkJYy0wLjQsMC40LTEsMC43LTEuNywwLjdjLTEuNiwwLTIuNC0xLjEtMi40LTMuM2MwLTAuOSwwLjItMS42LDAuNS0yLjJjMC40LTAuNywxLjEtMSwxLjktMWMxLDAsMS43LDAuNCwyLjEsMS4yDQoJCQlDMTUuMyw1LjYsMTUuNCw2LjQsMTUuNCw3LjZ6IE0xMy44LDcuMWwtMC4zLTEuMWwwLjgtMC43aC0xTDEzLDQuMmwtMC4zLDEuMWgtMWwwLjgsMC43bC0wLjMsMS4xTDEzLDYuM0wxMy44LDcuMXoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTIxLDEwLjFoLTEuOWMwLTAuMiwwLTAuMywwLTAuNVYyLjFjMC0wLjIsMC0wLjQsMC0wLjVIMjFjMCwwLjEsMCwwLjMsMCwwLjV2Ny40QzIwLjksOS43LDIwLjksOS45LDIxLDEwLjF6DQoJCQkiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTI3LjQsMTAuMWgtMS45YzAtMC4yLDAtMC4zLDAtMC41VjIuMWMwLTAuMiwwLTAuNCwwLTAuNWgxLjljMCwwLjEsMCwwLjMsMCwwLjV2Ny40DQoJCQlDMjcuNCw5LjcsMjcuNCw5LjksMjcuNCwxMC4xeiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMzYsN2MwLDIuMi0wLjgsMy4zLTIuNSwzLjNjLTEuNiwwLTIuNS0xLjEtMi41LTMuM2MwLTIuMiwwLjgtMy4zLDIuNS0zLjNDMzUuMiwzLjcsMzYsNC44LDM2LDd6IE0zNC43LDkNCgkJCWwtMC40LTEuN2wxLjItMC45SDM0bC0wLjQtMS43bC0wLjQsMS43aC0xLjRsMS4xLDAuOUwzMi41LDlsMS4xLTFMMzQuNyw5eiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNS42LDE4LjRsLTAuNS0wLjRsMC4yLDFsLTAuNywwLjZoMC45bDAuMywxbDAuMy0xaDAuOUw2LjMsMTlsMC4zLTFMNiwxOC40bDAuNC0yLjhoMnY4YzAsMC4yLDAsMC4zLDAsMC41DQoJCQlINi45YzAtMC4xLDAtMC4zLDAtMC41di0xLjlsLTAuNSwyLjRINS4zbC0wLjUtMi40djEuOWMwLDAuMiwwLDAuNCwwLDAuNUgzLjFjMC0wLjEsMC0wLjMsMC0wLjV2LThoMkw1LjYsMTguNHoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE2LjIsMjEuNmgtMi45YzAsMC43LDAuMSwxLDAuNCwxYzAuMiwwLDAuMy0wLjEsMC40LTAuNGMwLTAuMSwwLTAuMiwwLTAuM2gyLjFjLTAuMSwwLjgtMC4zLDEuNC0wLjcsMS44DQoJCQljLTAuNCwwLjQtMSwwLjctMS43LDAuN2MtMS42LDAtMi40LTEuMS0yLjQtMy4zYzAtMC45LDAuMi0xLjYsMC41LTIuMmMwLjQtMC43LDEuMS0xLDEuOS0xYzEsMCwxLjcsMC40LDIuMSwxLjINCgkJCUMxNi4xLDE5LjYsMTYuMywyMC40LDE2LjIsMjEuNnogTTE0LjcsMjEuMWwtMC4zLTEuMWwwLjgtMC43aC0xbC0wLjMtMS4xbC0wLjMsMS4xaC0xbDAuOCwwLjdMMTMsMjEuMWwwLjgtMC43TDE0LjcsMjEuMXoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTIxLjUsMThjMC4zLTAuMiwwLjYtMC4yLDAuOS0wLjJjMS4xLDAsMS43LDAuNywxLjcsMi4ydjMuN2MwLDAuMiwwLDAuNCwwLDAuNWgtMmMwLTAuMSwwLTAuMywwLTAuNXYtMy4zDQoJCQljMC0wLjMsMC0wLjUsMC0wLjZjMC0wLjItMC4yLTAuMy0wLjQtMC4zYy0wLjIsMC0wLjUsMC4zLTAuNywwLjl2My4zYzAsMC4yLDAsMC40LDAsMC41aC0yYzAtMC4yLDAtMC4zLDAtMC41di01LjMNCgkJCWMwLTAuMSwwLTAuMywwLTAuNGgyYy0wLjEsMC4yLTAuMSwwLjQtMC4xLDAuNWwtMC40LTAuMmwwLjIsMC41bC0wLjQsMC40bDAuNS0wLjFsMC4yLDAuNWwwLjEtMC42bDAuNS0wLjFsLTAuNS0wLjNMMjEuNSwxOHoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTMyLDI0LjFoLTJsMC0wLjNsMC40LTAuNGwwLjUsMC41bC0wLjItMC43bDAuNC0wLjRoLTAuNmwtMC4yLTAuOGwtMC4yLDAuOGgtMC42bDAuNSwwLjRsLTAuMiwwLjYNCgkJCWMtMC4zLDAuNC0wLjYsMC41LTEuMSwwLjVjLTEuMSwwLTEuNy0wLjctMS43LTIuMnYtMy42YzAtMC4yLDAtMC40LDAtMC42aDJjMCwwLjIsMCwwLjQsMCwwLjZ2My4yYzAsMC4zLDAsMC41LDAsMC42DQoJCQljMCwwLjIsMC4yLDAuMywwLjQsMC4zYzAuMywwLDAuNS0wLjMsMC43LTAuOHYtMy4zYzAtMC4yLDAtMC4zLDAtMC42aDJjMCwwLjIsMCwwLjQsMCwwLjZ2NS4xQzMyLDIzLjgsMzIsMjQsMzIsMjQuMXoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTYuOCwzOC4xSDQuOWMwLTAuMSwwLTAuMywwLTAuNXYtNy41YzAtMC4yLDAtMC40LDAtMC41aDEuOWMwLDAuMSwwLDAuMywwLDAuNXY3LjUNCgkJCUM2LjcsMzcuOCw2LjcsMzcuOSw2LjgsMzguMXogTTYuMywzMS44TDYuMSwzMWwwLjUtMC41SDZsLTAuMi0wLjhsLTAuMiwwLjhINUw1LjUsMzFsLTAuMiwwLjhsMC41LTAuNUw2LjMsMzEuOHoiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE1LjMsMzUuNGMtMC4xLDEuOS0wLjksMi45LTIuNCwyLjljLTEuNiwwLTIuNC0xLjEtMi40LTMuNGMwLTIuMSwwLjgtMy4yLDIuNC0zLjJjMC43LDAsMS4zLDAuMiwxLjYsMC43DQoJCQljMC40LDAuNCwwLjYsMS4xLDAuNywxLjloLTEuOGwtMC42LTEuOGwtMC41LDEuN2gtMS43bDEuMywxLjFMMTEuNiwzN2wxLjMtMS4ybDEuMywxLjJsLTAuNS0xLjZIMTUuM3oiLz4NCgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTIzLjEsMzVjMCwyLjItMC44LDMuMy0yLjUsMy4zYy0xLjYsMC0yLjUtMS4xLTIuNS0zLjNjMC0yLjIsMC44LTMuMywyLjUtMy4zQzIyLjMsMzEuNywyMy4xLDMyLjgsMjMuMSwzNXoNCgkJCSBNMjEuNywzN2wtMC40LTEuN2wxLjItMC45SDIxbC0wLjQtMS43bC0wLjQsMS43aC0xLjRsMS4xLDAuOUwxOS41LDM3bDEuMS0xTDIxLjcsMzd6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yOC4zLDMyYzAuMy0wLjIsMC42LTAuMiwwLjktMC4yYzEuMSwwLDEuNywwLjcsMS43LDIuMnYzLjdjMCwwLjIsMCwwLjQsMCwwLjVoLTJjMC0wLjEsMC0wLjMsMC0wLjV2LTMuMw0KCQkJYzAtMC4zLDAtMC41LDAtMC42YzAtMC4yLTAuMi0wLjMtMC40LTAuM2MtMC4yLDAtMC41LDAuMy0wLjcsMC45djMuM2MwLDAuMiwwLDAuNCwwLDAuNWgtMmMwLTAuMiwwLTAuMywwLTAuNXYtNS4zDQoJCQljMC0wLjEsMC0wLjMsMC0wLjRoMmMtMC4xLDAuMi0wLjEsMC40LTAuMSwwLjVsLTAuNC0wLjJsMC4yLDAuNWwtMC40LDAuNGwwLjUtMC4xbDAuMiwwLjVsMC4xLTAuNmwwLjUtMC4xbC0wLjUtMC4zTDI4LjMsMzJ6Ii8+DQoJPC9nPg0KPC9nPg0KPGcgaWQ9IuODrOOCpOODpOODvF8yIiBjbGFzcz0ic3QzIj4NCjwvZz4NCjwvc3ZnPg0K'; +var telloHost = 'http://localhost:8001'; +/** + + * Class for the new blocks in Scratch 3.0 + + * @param {Runtime} runtime - the runtime instantiating this block package. + + * @constructor + + */ + +var Scratch3Tello = +/*#__PURE__*/ +function () { + function Scratch3Tello(runtime) { + _classCallCheck(this, Scratch3Tello); + + /** + * The runtime instantiating this block package. + * @type {Runtime} + */ + this.runtime = runtime; //this._onTargetCreated = this._onTargetCreated.bind(this); + //this.runtime.on('targetWasCreated', this._onTargetCreated); + } + /** + * @returns {object} metadata for this extension and its blocks. + */ + + + _createClass(Scratch3Tello, [{ + key: "getInfo", + value: function getInfo() { + return { + id: 'tello', + name: 'Tello Control Blocks', + menuIconURI: menuIconURI, + blockIconURI: blockIconURI, + blocks: [{ + opcode: 'takeoff', + blockType: BlockType.COMMAND, + text: 'takeoff' + }, { + opcode: 'land', + blockType: BlockType.COMMAND, + text: 'land' + }, { + opcode: 'up', + blockType: BlockType.COMMAND, + text: 'up [NUM]', + arguments: { + NUM: { + type: ArgumentType.NUMBER, + defaultValue: 50 + } + } + }, { + opcode: 'down', + blockType: BlockType.COMMAND, + text: 'down [NUM]', + arguments: { + NUM: { + type: ArgumentType.NUMBER, + defaultValue: 50 + } + } + }, { + opcode: 'left', + blockType: BlockType.COMMAND, + text: 'left [NUM]', + arguments: { + NUM: { + type: ArgumentType.NUMBER, + defaultValue: 50 + } + } + }, { + opcode: 'right', + blockType: BlockType.COMMAND, + text: 'right [NUM]', + arguments: { + NUM: { + type: ArgumentType.NUMBER, + defaultValue: 50 + } + } + }, { + opcode: 'cw', + blockType: BlockType.COMMAND, + text: 'cw [NUM]', + arguments: { + NUM: { + type: ArgumentType.ANGLE, + defaultValue: 90 + } + } + }, { + opcode: 'ccw', + blockType: BlockType.COMMAND, + text: 'ccw [NUM]', + arguments: { + NUM: { + type: ArgumentType.ANGLE, + defaultValue: 90 + } + } + }, { + opcode: 'writeLog', + blockType: BlockType.COMMAND, + text: 'log [TEXT]', + arguments: { + TEXT: { + type: ArgumentType.STRING, + defaultValue: "hello" + } + } + }, { + opcode: 'getBrowser', + text: 'browser', + blockType: BlockType.REPORTER + }], + menus: {} + }; + } + }, { + key: "HttpGet", + value: function HttpGet(URL, arg) { + if (arg == null) { + log.log('Tello Arg not found! \n'); + return; + } + + URL = URL + '/' + arg; + log.log('URL=\'' + URL + "\'"); + http.get(URL, function (res) { + var body = ''; + res.setEncoding('utf8'); + res.on('data', function (chunk) { + body += chunk; + }); + res.on('end', function (res) { + res = JSON.parse(body); + console.log(res); + }); + }).on('error', function (e) { + console.log(e.message); //エラー時 + }); + } + /** + * Tello Takeoff + * @param {} args + */ + + }, { + key: "takeoff", + value: function takeoff() { + this.HttpGet(telloHost, "takeoff"); + } + /** + * Tello Land + * @param {*} args + */ + + }, { + key: "land", + value: function land() { + this.HttpGet(telloHost, "land"); + } + }, { + key: "up", + value: function up(args) { + text = util.format("fly up %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "down", + value: function down(args) { + text = util.format("fly down %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "left", + value: function left(args) { + text = util.format("fly left %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "right", + value: function right(args) { + text = util.format("fly right %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "forward", + value: function forward(args) { + text = util.format("fly forward %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "backward", + value: function backward(args) { + text = util.format("fly backward %d cm", args); + this.HttpGet(telloHost, text); + } + }, { + key: "cw", + value: function cw(args) { + text = util.format("rotate %d degree clockwise", args); + this.HttpGet(telloHost, text); + } + }, { + key: "ccw", + value: function ccw(args) { + text = util.format("rotate %d degree counter clockwise", args); + this.HttpGet(telloHost, text); + } + /** + * Write log. + * @param {object} args - the block arguments. + * @property {number} TEXT - the text. + */ + + }, { + key: "writeLog", + value: function writeLog(args) { + var text = Cast.toString(args.TEXT); + log.log(text); + } + /** + * Get the browser. + * @return {number} - the user agent. + */ + + }, { + key: "getBrowser", + value: function getBrowser() { + return navigator.userAgent; + } + }]); + + return Scratch3Tello; +}(); + +module.exports = Scratch3Tello; + +/***/ }), + /***/ "./node_modules/scratch-vm/src/extensions/scratch3_text2speech/index.js": /*!******************************************************************************!*\ !*** ./node_modules/scratch-vm/src/extensions/scratch3_text2speech/index.js ***! @@ -294235,6 +294604,762 @@ Stream.prototype.pipe = function(dest, options) { }; +/***/ }), + +/***/ "./node_modules/stream-http/index.js": +/*!*******************************************!*\ + !*** ./node_modules/stream-http/index.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var ClientRequest = __webpack_require__(/*! ./lib/request */ "./node_modules/stream-http/lib/request.js") +var response = __webpack_require__(/*! ./lib/response */ "./node_modules/stream-http/lib/response.js") +var extend = __webpack_require__(/*! xtend */ "./node_modules/xtend/immutable.js") +var statusCodes = __webpack_require__(/*! builtin-status-codes */ "./node_modules/builtin-status-codes/browser.js") +var url = __webpack_require__(/*! url */ "./node_modules/url/url.js") + +var http = exports + +http.request = function (opts, cb) { + if (typeof opts === 'string') + opts = url.parse(opts) + else + opts = extend(opts) + + // Normally, the page is loaded from http or https, so not specifying a protocol + // will result in a (valid) protocol-relative url. However, this won't work if + // the protocol is something else, like 'file:' + var defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : '' + + var protocol = opts.protocol || defaultProtocol + var host = opts.hostname || opts.host + var port = opts.port + var path = opts.path || '/' + + // Necessary for IPv6 addresses + if (host && host.indexOf(':') !== -1) + host = '[' + host + ']' + + // This may be a relative url. The browser should always be able to interpret it correctly. + opts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path + opts.method = (opts.method || 'GET').toUpperCase() + opts.headers = opts.headers || {} + + // Also valid opts.auth, opts.mode + + var req = new ClientRequest(opts) + if (cb) + req.on('response', cb) + return req +} + +http.get = function get (opts, cb) { + var req = http.request(opts, cb) + req.end() + return req +} + +http.ClientRequest = ClientRequest +http.IncomingMessage = response.IncomingMessage + +http.Agent = function () {} +http.Agent.defaultMaxSockets = 4 + +http.globalAgent = new http.Agent() + +http.STATUS_CODES = statusCodes + +http.METHODS = [ + 'CHECKOUT', + 'CONNECT', + 'COPY', + 'DELETE', + 'GET', + 'HEAD', + 'LOCK', + 'M-SEARCH', + 'MERGE', + 'MKACTIVITY', + 'MKCOL', + 'MOVE', + 'NOTIFY', + 'OPTIONS', + 'PATCH', + 'POST', + 'PROPFIND', + 'PROPPATCH', + 'PURGE', + 'PUT', + 'REPORT', + 'SEARCH', + 'SUBSCRIBE', + 'TRACE', + 'UNLOCK', + 'UNSUBSCRIBE' +] +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./node_modules/stream-http/lib/capability.js": +/*!****************************************************!*\ + !*** ./node_modules/stream-http/lib/capability.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream) + +exports.writableStream = isFunction(global.WritableStream) + +exports.abortController = isFunction(global.AbortController) + +exports.blobConstructor = false +try { + new Blob([new ArrayBuffer(1)]) + exports.blobConstructor = true +} catch (e) {} + +// The xhr request to example.com may violate some restrictive CSP configurations, +// so if we're running in a browser that supports `fetch`, avoid calling getXHR() +// and assume support for certain features below. +var xhr +function getXHR () { + // Cache the xhr value + if (xhr !== undefined) return xhr + + if (global.XMLHttpRequest) { + xhr = new global.XMLHttpRequest() + // If XDomainRequest is available (ie only, where xhr might not work + // cross domain), use the page location. Otherwise use example.com + // Note: this doesn't actually make an http request. + try { + xhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com') + } catch(e) { + xhr = null + } + } else { + // Service workers don't have XHR + xhr = null + } + return xhr +} + +function checkTypeSupport (type) { + var xhr = getXHR() + if (!xhr) return false + try { + xhr.responseType = type + return xhr.responseType === type + } catch (e) {} + return false +} + +// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'. +// Safari 7.1 appears to have fixed this bug. +var haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined' +var haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice) + +// If fetch is supported, then arraybuffer will be supported too. Skip calling +// checkTypeSupport(), since that calls getXHR(). +exports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer')) + +// These next two tests unavoidably show warnings in Chrome. Since fetch will always +// be used if it's available, just return false for these to avoid the warnings. +exports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream') +exports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer && + checkTypeSupport('moz-chunked-arraybuffer') + +// If fetch is supported, then overrideMimeType will be supported too. Skip calling +// getXHR(). +exports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false) + +exports.vbArray = isFunction(global.VBArray) + +function isFunction (value) { + return typeof value === 'function' +} + +xhr = null // Help gc + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./node_modules/stream-http/lib/request.js": +/*!*************************************************!*\ + !*** ./node_modules/stream-http/lib/request.js ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var capability = __webpack_require__(/*! ./capability */ "./node_modules/stream-http/lib/capability.js") +var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js") +var response = __webpack_require__(/*! ./response */ "./node_modules/stream-http/lib/response.js") +var stream = __webpack_require__(/*! readable-stream */ "./node_modules/readable-stream/readable-browser.js") +var toArrayBuffer = __webpack_require__(/*! to-arraybuffer */ "./node_modules/to-arraybuffer/index.js") + +var IncomingMessage = response.IncomingMessage +var rStates = response.readyStates + +function decideMode (preferBinary, useFetch) { + if (capability.fetch && useFetch) { + return 'fetch' + } else if (capability.mozchunkedarraybuffer) { + return 'moz-chunked-arraybuffer' + } else if (capability.msstream) { + return 'ms-stream' + } else if (capability.arraybuffer && preferBinary) { + return 'arraybuffer' + } else if (capability.vbArray && preferBinary) { + return 'text:vbarray' + } else { + return 'text' + } +} + +var ClientRequest = module.exports = function (opts) { + var self = this + stream.Writable.call(self) + + self._opts = opts + self._body = [] + self._headers = {} + if (opts.auth) + self.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64')) + Object.keys(opts.headers).forEach(function (name) { + self.setHeader(name, opts.headers[name]) + }) + + var preferBinary + var useFetch = true + if (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) { + // If the use of XHR should be preferred. Not typically needed. + useFetch = false + preferBinary = true + } else if (opts.mode === 'prefer-streaming') { + // If streaming is a high priority but binary compatibility and + // the accuracy of the 'content-type' header aren't + preferBinary = false + } else if (opts.mode === 'allow-wrong-content-type') { + // If streaming is more important than preserving the 'content-type' header + preferBinary = !capability.overrideMimeType + } else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') { + // Use binary if text streaming may corrupt data or the content-type header, or for speed + preferBinary = true + } else { + throw new Error('Invalid value for opts.mode') + } + self._mode = decideMode(preferBinary, useFetch) + self._fetchTimer = null + + self.on('finish', function () { + self._onFinish() + }) +} + +inherits(ClientRequest, stream.Writable) + +ClientRequest.prototype.setHeader = function (name, value) { + var self = this + var lowerName = name.toLowerCase() + // This check is not necessary, but it prevents warnings from browsers about setting unsafe + // headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but + // http-browserify did it, so I will too. + if (unsafeHeaders.indexOf(lowerName) !== -1) + return + + self._headers[lowerName] = { + name: name, + value: value + } +} + +ClientRequest.prototype.getHeader = function (name) { + var header = this._headers[name.toLowerCase()] + if (header) + return header.value + return null +} + +ClientRequest.prototype.removeHeader = function (name) { + var self = this + delete self._headers[name.toLowerCase()] +} + +ClientRequest.prototype._onFinish = function () { + var self = this + + if (self._destroyed) + return + var opts = self._opts + + var headersObj = self._headers + var body = null + if (opts.method !== 'GET' && opts.method !== 'HEAD') { + if (capability.arraybuffer) { + body = toArrayBuffer(Buffer.concat(self._body)) + } else if (capability.blobConstructor) { + body = new global.Blob(self._body.map(function (buffer) { + return toArrayBuffer(buffer) + }), { + type: (headersObj['content-type'] || {}).value || '' + }) + } else { + // get utf8 string + body = Buffer.concat(self._body).toString() + } + } + + // create flattened list of headers + var headersList = [] + Object.keys(headersObj).forEach(function (keyName) { + var name = headersObj[keyName].name + var value = headersObj[keyName].value + if (Array.isArray(value)) { + value.forEach(function (v) { + headersList.push([name, v]) + }) + } else { + headersList.push([name, value]) + } + }) + + if (self._mode === 'fetch') { + var signal = null + var fetchTimer = null + if (capability.abortController) { + var controller = new AbortController() + signal = controller.signal + self._fetchAbortController = controller + + if ('requestTimeout' in opts && opts.requestTimeout !== 0) { + self._fetchTimer = global.setTimeout(function () { + self.emit('requestTimeout') + if (self._fetchAbortController) + self._fetchAbortController.abort() + }, opts.requestTimeout) + } + } + + global.fetch(self._opts.url, { + method: self._opts.method, + headers: headersList, + body: body || undefined, + mode: 'cors', + credentials: opts.withCredentials ? 'include' : 'same-origin', + signal: signal + }).then(function (response) { + self._fetchResponse = response + self._connect() + }, function (reason) { + global.clearTimeout(self._fetchTimer) + if (!self._destroyed) + self.emit('error', reason) + }) + } else { + var xhr = self._xhr = new global.XMLHttpRequest() + try { + xhr.open(self._opts.method, self._opts.url, true) + } catch (err) { + process.nextTick(function () { + self.emit('error', err) + }) + return + } + + // Can't set responseType on really old browsers + if ('responseType' in xhr) + xhr.responseType = self._mode.split(':')[0] + + if ('withCredentials' in xhr) + xhr.withCredentials = !!opts.withCredentials + + if (self._mode === 'text' && 'overrideMimeType' in xhr) + xhr.overrideMimeType('text/plain; charset=x-user-defined') + + if ('requestTimeout' in opts) { + xhr.timeout = opts.requestTimeout + xhr.ontimeout = function () { + self.emit('requestTimeout') + } + } + + headersList.forEach(function (header) { + xhr.setRequestHeader(header[0], header[1]) + }) + + self._response = null + xhr.onreadystatechange = function () { + switch (xhr.readyState) { + case rStates.LOADING: + case rStates.DONE: + self._onXHRProgress() + break + } + } + // Necessary for streaming in Firefox, since xhr.response is ONLY defined + // in onprogress, not in onreadystatechange with xhr.readyState = 3 + if (self._mode === 'moz-chunked-arraybuffer') { + xhr.onprogress = function () { + self._onXHRProgress() + } + } + + xhr.onerror = function () { + if (self._destroyed) + return + self.emit('error', new Error('XHR error')) + } + + try { + xhr.send(body) + } catch (err) { + process.nextTick(function () { + self.emit('error', err) + }) + return + } + } +} + +/** + * Checks if xhr.status is readable and non-zero, indicating no error. + * Even though the spec says it should be available in readyState 3, + * accessing it throws an exception in IE8 + */ +function statusValid (xhr) { + try { + var status = xhr.status + return (status !== null && status !== 0) + } catch (e) { + return false + } +} + +ClientRequest.prototype._onXHRProgress = function () { + var self = this + + if (!statusValid(self._xhr) || self._destroyed) + return + + if (!self._response) + self._connect() + + self._response._onXHRProgress() +} + +ClientRequest.prototype._connect = function () { + var self = this + + if (self._destroyed) + return + + self._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer) + self._response.on('error', function(err) { + self.emit('error', err) + }) + + self.emit('response', self._response) +} + +ClientRequest.prototype._write = function (chunk, encoding, cb) { + var self = this + + self._body.push(chunk) + cb() +} + +ClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () { + var self = this + self._destroyed = true + global.clearTimeout(self._fetchTimer) + if (self._response) + self._response._destroyed = true + if (self._xhr) + self._xhr.abort() + else if (self._fetchAbortController) + self._fetchAbortController.abort() +} + +ClientRequest.prototype.end = function (data, encoding, cb) { + var self = this + if (typeof data === 'function') { + cb = data + data = undefined + } + + stream.Writable.prototype.end.call(self, data, encoding, cb) +} + +ClientRequest.prototype.flushHeaders = function () {} +ClientRequest.prototype.setTimeout = function () {} +ClientRequest.prototype.setNoDelay = function () {} +ClientRequest.prototype.setSocketKeepAlive = function () {} + +// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method +var unsafeHeaders = [ + 'accept-charset', + 'accept-encoding', + 'access-control-request-headers', + 'access-control-request-method', + 'connection', + 'content-length', + 'cookie', + 'cookie2', + 'date', + 'dnt', + 'expect', + 'host', + 'keep-alive', + 'origin', + 'referer', + 'te', + 'trailer', + 'transfer-encoding', + 'upgrade', + 'via' +] + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ "./node_modules/buffer/index.js").Buffer, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"))) + +/***/ }), + +/***/ "./node_modules/stream-http/lib/response.js": +/*!**************************************************!*\ + !*** ./node_modules/stream-http/lib/response.js ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process, Buffer, global) {var capability = __webpack_require__(/*! ./capability */ "./node_modules/stream-http/lib/capability.js") +var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js") +var stream = __webpack_require__(/*! readable-stream */ "./node_modules/readable-stream/readable-browser.js") + +var rStates = exports.readyStates = { + UNSENT: 0, + OPENED: 1, + HEADERS_RECEIVED: 2, + LOADING: 3, + DONE: 4 +} + +var IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) { + var self = this + stream.Readable.call(self) + + self._mode = mode + self.headers = {} + self.rawHeaders = [] + self.trailers = {} + self.rawTrailers = [] + + // Fake the 'close' event, but only once 'end' fires + self.on('end', function () { + // The nextTick is necessary to prevent the 'request' module from causing an infinite loop + process.nextTick(function () { + self.emit('close') + }) + }) + + if (mode === 'fetch') { + self._fetchResponse = response + + self.url = response.url + self.statusCode = response.status + self.statusMessage = response.statusText + + response.headers.forEach(function (header, key){ + self.headers[key.toLowerCase()] = header + self.rawHeaders.push(key, header) + }) + + if (capability.writableStream) { + var writable = new WritableStream({ + write: function (chunk) { + return new Promise(function (resolve, reject) { + if (self._destroyed) { + reject() + } else if(self.push(new Buffer(chunk))) { + resolve() + } else { + self._resumeFetch = resolve + } + }) + }, + close: function () { + global.clearTimeout(fetchTimer) + if (!self._destroyed) + self.push(null) + }, + abort: function (err) { + if (!self._destroyed) + self.emit('error', err) + } + }) + + try { + response.body.pipeTo(writable).catch(function (err) { + global.clearTimeout(fetchTimer) + if (!self._destroyed) + self.emit('error', err) + }) + return + } catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this + } + // fallback for when writableStream or pipeTo aren't available + var reader = response.body.getReader() + function read () { + reader.read().then(function (result) { + if (self._destroyed) + return + if (result.done) { + global.clearTimeout(fetchTimer) + self.push(null) + return + } + self.push(new Buffer(result.value)) + read() + }).catch(function (err) { + global.clearTimeout(fetchTimer) + if (!self._destroyed) + self.emit('error', err) + }) + } + read() + } else { + self._xhr = xhr + self._pos = 0 + + self.url = xhr.responseURL + self.statusCode = xhr.status + self.statusMessage = xhr.statusText + var headers = xhr.getAllResponseHeaders().split(/\r?\n/) + headers.forEach(function (header) { + var matches = header.match(/^([^:]+):\s*(.*)/) + if (matches) { + var key = matches[1].toLowerCase() + if (key === 'set-cookie') { + if (self.headers[key] === undefined) { + self.headers[key] = [] + } + self.headers[key].push(matches[2]) + } else if (self.headers[key] !== undefined) { + self.headers[key] += ', ' + matches[2] + } else { + self.headers[key] = matches[2] + } + self.rawHeaders.push(matches[1], matches[2]) + } + }) + + self._charset = 'x-user-defined' + if (!capability.overrideMimeType) { + var mimeType = self.rawHeaders['mime-type'] + if (mimeType) { + var charsetMatch = mimeType.match(/;\s*charset=([^;])(;|$)/) + if (charsetMatch) { + self._charset = charsetMatch[1].toLowerCase() + } + } + if (!self._charset) + self._charset = 'utf-8' // best guess + } + } +} + +inherits(IncomingMessage, stream.Readable) + +IncomingMessage.prototype._read = function () { + var self = this + + var resolve = self._resumeFetch + if (resolve) { + self._resumeFetch = null + resolve() + } +} + +IncomingMessage.prototype._onXHRProgress = function () { + var self = this + + var xhr = self._xhr + + var response = null + switch (self._mode) { + case 'text:vbarray': // For IE9 + if (xhr.readyState !== rStates.DONE) + break + try { + // This fails in IE8 + response = new global.VBArray(xhr.responseBody).toArray() + } catch (e) {} + if (response !== null) { + self.push(new Buffer(response)) + break + } + // Falls through in IE8 + case 'text': + try { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4 + response = xhr.responseText + } catch (e) { + self._mode = 'text:vbarray' + break + } + if (response.length > self._pos) { + var newData = response.substr(self._pos) + if (self._charset === 'x-user-defined') { + var buffer = new Buffer(newData.length) + for (var i = 0; i < newData.length; i++) + buffer[i] = newData.charCodeAt(i) & 0xff + + self.push(buffer) + } else { + self.push(newData, self._charset) + } + self._pos = response.length + } + break + case 'arraybuffer': + if (xhr.readyState !== rStates.DONE || !xhr.response) + break + response = xhr.response + self.push(new Buffer(new Uint8Array(response))) + break + case 'moz-chunked-arraybuffer': // take whole + response = xhr.response + if (xhr.readyState !== rStates.LOADING || !response) + break + self.push(new Buffer(new Uint8Array(response))) + break + case 'ms-stream': + response = xhr.response + if (xhr.readyState !== rStates.LOADING) + break + var reader = new global.MSStreamReader() + reader.onprogress = function () { + if (reader.result.byteLength > self._pos) { + self.push(new Buffer(new Uint8Array(reader.result.slice(self._pos)))) + self._pos = reader.result.byteLength + } + } + reader.onload = function () { + self.push(null) + } + // reader.onerror = ??? // TODO: this + reader.readAsArrayBuffer(response) + break + } + + // The ms-stream case handles end separately in reader.onload() + if (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') { + self.push(null) + } +} + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../buffer/index.js */ "./node_modules/buffer/index.js").Buffer, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + /***/ }), /***/ "./node_modules/strict-uri-encode/index.js": @@ -299100,6 +300225,44 @@ length_base[28] = 258; module.exports = tinf_uncompress; +/***/ }), + +/***/ "./node_modules/to-arraybuffer/index.js": +/*!**********************************************!*\ + !*** ./node_modules/to-arraybuffer/index.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js").Buffer + +module.exports = function (buf) { + // If the buffer is backed by a Uint8Array, a faster version will work + if (buf instanceof Uint8Array) { + // If the buffer isn't a subarray, return the underlying ArrayBuffer + if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) { + return buf.buffer + } else if (typeof buf.buffer.slice === 'function') { + // Otherwise we need to get a proper copy + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength) + } + } + + if (Buffer.isBuffer(buf)) { + // This is the slow version that will work with any Buffer + // implementation (even in old browsers) + var arrayCopy = new Uint8Array(buf.length) + var len = buf.length + for (var i = 0; i < len; i++) { + arrayCopy[i] = buf[i] + } + return arrayCopy.buffer + } else { + throw new Error('Argument must be a Buffer') + } +} + + /***/ }), /***/ "./node_modules/to-style/index.js": @@ -310996,6 +312159,771 @@ function config (name) { /***/ }), +/***/ "./node_modules/util/node_modules/inherits/inherits_browser.js": +/*!*********************************************************************!*\ + !*** ./node_modules/util/node_modules/inherits/inherits_browser.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + + +/***/ }), + +/***/ "./node_modules/util/support/isBufferBrowser.js": +/*!******************************************************!*\ + !*** ./node_modules/util/support/isBufferBrowser.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} + +/***/ }), + +/***/ "./node_modules/util/util.js": +/*!***********************************!*\ + !*** ./node_modules/util/util.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || + function getOwnPropertyDescriptors(obj) { + var keys = Object.keys(obj); + var descriptors = {}; + for (var i = 0; i < keys.length; i++) { + descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); + } + return descriptors; + }; + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + if (typeof process !== 'undefined' && process.noDeprecation === true) { + return fn; + } + + // Allow for deprecating things in the process of starting up. + if (typeof process === 'undefined') { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ "./node_modules/util/support/isBufferBrowser.js"); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = __webpack_require__(/*! inherits */ "./node_modules/util/node_modules/inherits/inherits_browser.js"); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; + +exports.promisify = function promisify(original) { + if (typeof original !== 'function') + throw new TypeError('The "original" argument must be of type Function'); + + if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { + var fn = original[kCustomPromisifiedSymbol]; + if (typeof fn !== 'function') { + throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + } + Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return fn; + } + + function fn() { + var promiseResolve, promiseReject; + var promise = new Promise(function (resolve, reject) { + promiseResolve = resolve; + promiseReject = reject; + }); + + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + args.push(function (err, value) { + if (err) { + promiseReject(err); + } else { + promiseResolve(value); + } + }); + + try { + original.apply(this, args); + } catch (err) { + promiseReject(err); + } + + return promise; + } + + Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + + if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return Object.defineProperties( + fn, + getOwnPropertyDescriptors(original) + ); +} + +exports.promisify.custom = kCustomPromisifiedSymbol + +function callbackifyOnRejected(reason, cb) { + // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). + // Because `null` is a special error value in callbacks which means "no error + // occurred", we error-wrap so the callback consumer can distinguish between + // "the promise rejected with null" or "the promise fulfilled with undefined". + if (!reason) { + var newReason = new Error('Promise was rejected with a falsy value'); + newReason.reason = reason; + reason = newReason; + } + return cb(reason); +} + +function callbackify(original) { + if (typeof original !== 'function') { + throw new TypeError('The "original" argument must be of type Function'); + } + + // We DO NOT return the promise as it gives the user a false sense that + // the promise is actually somehow related to the callback's execution + // and that the callback throwing will reject the promise. + function callbackified() { + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + + var maybeCb = args.pop(); + if (typeof maybeCb !== 'function') { + throw new TypeError('The last argument must be of type Function'); + } + var self = this; + var cb = function() { + return maybeCb.apply(self, arguments); + }; + // In true node style we process the callback on `nextTick` with all the + // implications (stack, `uncaughtException`, `async_hooks`) + original.apply(this, args) + .then(function(ret) { process.nextTick(cb, null, ret) }, + function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) }); + } + + Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); + Object.defineProperties(callbackified, + getOwnPropertyDescriptors(original)); + return callbackified; +} +exports.callbackify = callbackify; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) + +/***/ }), + /***/ "./node_modules/warning/warning.js": /*!*****************************************!*\ !*** ./node_modules/warning/warning.js ***! @@ -340087,7 +342015,7 @@ var dropEveryOtherSample = function dropEveryOtherSample(buffer) { return { samples: newSamples, - sampleRate: buffer.rate / 2 + sampleRate: buffer.sampleRate / 2 }; }; @@ -348074,64 +350002,70 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/index.es.js"); -/* harmony import */ var _music_music_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./music/music.png */ "./src/lib/libraries/extensions/music/music.png"); -/* harmony import */ var _music_music_png__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_music_music_png__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _music_music_small_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./music/music-small.svg */ "./src/lib/libraries/extensions/music/music-small.svg"); -/* harmony import */ var _music_music_small_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_music_music_small_svg__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _pen_pen_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pen/pen.png */ "./src/lib/libraries/extensions/pen/pen.png"); -/* harmony import */ var _pen_pen_png__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_pen_pen_png__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pen/pen-small.svg */ "./src/lib/libraries/extensions/pen/pen-small.svg"); -/* harmony import */ var _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./videoSensing/video-sensing.png */ "./src/lib/libraries/extensions/videoSensing/video-sensing.png"); -/* harmony import */ var _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./videoSensing/video-sensing-small.svg */ "./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg"); -/* harmony import */ var _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./text2speech/text2speech.png */ "./src/lib/libraries/extensions/text2speech/text2speech.png"); -/* harmony import */ var _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./text2speech/text2speech-small.svg */ "./src/lib/libraries/extensions/text2speech/text2speech-small.svg"); -/* harmony import */ var _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _translate_translate_png__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./translate/translate.png */ "./src/lib/libraries/extensions/translate/translate.png"); -/* harmony import */ var _translate_translate_png__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_translate_translate_png__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./translate/translate-small.png */ "./src/lib/libraries/extensions/translate/translate-small.png"); -/* harmony import */ var _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_translate_translate_small_png__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./makeymakey/makeymakey.png */ "./src/lib/libraries/extensions/makeymakey/makeymakey.png"); -/* harmony import */ var _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./makeymakey/makeymakey-small.svg */ "./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg"); -/* harmony import */ var _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./microbit/microbit.png */ "./src/lib/libraries/extensions/microbit/microbit.png"); -/* harmony import */ var _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_png__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./microbit/microbit-small.svg */ "./src/lib/libraries/extensions/microbit/microbit-small.svg"); -/* harmony import */ var _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./microbit/microbit-illustration.svg */ "./src/lib/libraries/extensions/microbit/microbit-illustration.svg"); -/* harmony import */ var _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ev3/ev3.png */ "./src/lib/libraries/extensions/ev3/ev3.png"); -/* harmony import */ var _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_png__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ev3/ev3-small.svg */ "./src/lib/libraries/extensions/ev3/ev3-small.svg"); -/* harmony import */ var _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ev3/ev3-hub-illustration.svg */ "./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg"); -/* harmony import */ var _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./wedo2/wedo.png */ "./src/lib/libraries/extensions/wedo2/wedo.png"); -/* harmony import */ var _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./wedo2/wedo-small.svg */ "./src/lib/libraries/extensions/wedo2/wedo-small.svg"); -/* harmony import */ var _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wedo2/wedo-illustration.svg */ "./src/lib/libraries/extensions/wedo2/wedo-illustration.svg"); -/* harmony import */ var _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./wedo2/wedo-button-illustration.svg */ "./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg"); -/* harmony import */ var _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _boost_boost_png__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./boost/boost.png */ "./src/lib/libraries/extensions/boost/boost.png"); -/* harmony import */ var _boost_boost_png__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_png__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./boost/boost-small.svg */ "./src/lib/libraries/extensions/boost/boost-small.svg"); -/* harmony import */ var _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./boost/boost-illustration.svg */ "./src/lib/libraries/extensions/boost/boost-illustration.svg"); -/* harmony import */ var _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./boost/boost-button-illustration.svg */ "./src/lib/libraries/extensions/boost/boost-button-illustration.svg"); -/* harmony import */ var _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./gdxfor/gdxfor.png */ "./src/lib/libraries/extensions/gdxfor/gdxfor.png"); -/* harmony import */ var _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./gdxfor/gdxfor-small.svg */ "./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg"); -/* harmony import */ var _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_29__); -/* harmony import */ var _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./gdxfor/gdxfor-illustration.svg */ "./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg"); -/* harmony import */ var _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var _tello_TelloController_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tello/TelloController.png */ "./src/lib/libraries/extensions/tello/TelloController.png"); +/* harmony import */ var _tello_TelloController_png__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_tello_TelloController_png__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _tello_TelloControllerSmall_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tello/TelloControllerSmall.png */ "./src/lib/libraries/extensions/tello/TelloControllerSmall.png"); +/* harmony import */ var _tello_TelloControllerSmall_png__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_tello_TelloControllerSmall_png__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _music_music_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./music/music.png */ "./src/lib/libraries/extensions/music/music.png"); +/* harmony import */ var _music_music_png__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_music_music_png__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _music_music_small_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./music/music-small.svg */ "./src/lib/libraries/extensions/music/music-small.svg"); +/* harmony import */ var _music_music_small_svg__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_music_music_small_svg__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _pen_pen_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pen/pen.png */ "./src/lib/libraries/extensions/pen/pen.png"); +/* harmony import */ var _pen_pen_png__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_pen_pen_png__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./pen/pen-small.svg */ "./src/lib/libraries/extensions/pen/pen-small.svg"); +/* harmony import */ var _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./videoSensing/video-sensing.png */ "./src/lib/libraries/extensions/videoSensing/video-sensing.png"); +/* harmony import */ var _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./videoSensing/video-sensing-small.svg */ "./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg"); +/* harmony import */ var _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./text2speech/text2speech.png */ "./src/lib/libraries/extensions/text2speech/text2speech.png"); +/* harmony import */ var _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./text2speech/text2speech-small.svg */ "./src/lib/libraries/extensions/text2speech/text2speech-small.svg"); +/* harmony import */ var _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _translate_translate_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./translate/translate.png */ "./src/lib/libraries/extensions/translate/translate.png"); +/* harmony import */ var _translate_translate_png__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_translate_translate_png__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./translate/translate-small.png */ "./src/lib/libraries/extensions/translate/translate-small.png"); +/* harmony import */ var _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_translate_translate_small_png__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./makeymakey/makeymakey.png */ "./src/lib/libraries/extensions/makeymakey/makeymakey.png"); +/* harmony import */ var _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./makeymakey/makeymakey-small.svg */ "./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg"); +/* harmony import */ var _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./microbit/microbit.png */ "./src/lib/libraries/extensions/microbit/microbit.png"); +/* harmony import */ var _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_png__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./microbit/microbit-small.svg */ "./src/lib/libraries/extensions/microbit/microbit-small.svg"); +/* harmony import */ var _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./microbit/microbit-illustration.svg */ "./src/lib/libraries/extensions/microbit/microbit-illustration.svg"); +/* harmony import */ var _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ev3/ev3.png */ "./src/lib/libraries/extensions/ev3/ev3.png"); +/* harmony import */ var _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_png__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./ev3/ev3-small.svg */ "./src/lib/libraries/extensions/ev3/ev3-small.svg"); +/* harmony import */ var _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ev3/ev3-hub-illustration.svg */ "./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg"); +/* harmony import */ var _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./wedo2/wedo.png */ "./src/lib/libraries/extensions/wedo2/wedo.png"); +/* harmony import */ var _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./wedo2/wedo-small.svg */ "./src/lib/libraries/extensions/wedo2/wedo-small.svg"); +/* harmony import */ var _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./wedo2/wedo-illustration.svg */ "./src/lib/libraries/extensions/wedo2/wedo-illustration.svg"); +/* harmony import */ var _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./wedo2/wedo-button-illustration.svg */ "./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg"); +/* harmony import */ var _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _boost_boost_png__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./boost/boost.png */ "./src/lib/libraries/extensions/boost/boost.png"); +/* harmony import */ var _boost_boost_png__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_png__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./boost/boost-small.svg */ "./src/lib/libraries/extensions/boost/boost-small.svg"); +/* harmony import */ var _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./boost/boost-illustration.svg */ "./src/lib/libraries/extensions/boost/boost-illustration.svg"); +/* harmony import */ var _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_28__); +/* harmony import */ var _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./boost/boost-button-illustration.svg */ "./src/lib/libraries/extensions/boost/boost-button-illustration.svg"); +/* harmony import */ var _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_29__); +/* harmony import */ var _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./gdxfor/gdxfor.png */ "./src/lib/libraries/extensions/gdxfor/gdxfor.png"); +/* harmony import */ var _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./gdxfor/gdxfor-small.svg */ "./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg"); +/* harmony import */ var _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_31__); +/* harmony import */ var _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./gdxfor/gdxfor-illustration.svg */ "./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg"); +/* harmony import */ var _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_32__); + + @@ -348170,13 +350104,26 @@ __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ([{ + name: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { + defaultMessage: "Tello Controller", + id: "gui.extension.tello.name" + }), + extensionId: 'tello', + iconURL: _tello_TelloController_png__WEBPACK_IMPORTED_MODULE_2___default.a, + insetIconURL: _tello_TelloControllerSmall_png__WEBPACK_IMPORTED_MODULE_3___default.a, + description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { + defaultMessage: "Tello", + id: "gui.extension.tello.description" + }), + featured: true +}, { name: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Music", id: "gui.extension.music.name" }), extensionId: 'music', - iconURL: _music_music_png__WEBPACK_IMPORTED_MODULE_2___default.a, - insetIconURL: _music_music_small_svg__WEBPACK_IMPORTED_MODULE_3___default.a, + iconURL: _music_music_png__WEBPACK_IMPORTED_MODULE_4___default.a, + insetIconURL: _music_music_small_svg__WEBPACK_IMPORTED_MODULE_5___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Play instruments and drums.", id: "gui.extension.music.description" @@ -348188,8 +350135,8 @@ __webpack_require__.r(__webpack_exports__); id: "gui.extension.pen.name" }), extensionId: 'pen', - iconURL: _pen_pen_png__WEBPACK_IMPORTED_MODULE_4___default.a, - insetIconURL: _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_5___default.a, + iconURL: _pen_pen_png__WEBPACK_IMPORTED_MODULE_6___default.a, + insetIconURL: _pen_pen_small_svg__WEBPACK_IMPORTED_MODULE_7___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Draw with your sprites.", id: "gui.extension.pen.description" @@ -348201,8 +350148,8 @@ __webpack_require__.r(__webpack_exports__); id: "gui.extension.videosensing.name" }), extensionId: 'videoSensing', - iconURL: _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_6___default.a, - insetIconURL: _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_7___default.a, + iconURL: _videoSensing_video_sensing_png__WEBPACK_IMPORTED_MODULE_8___default.a, + insetIconURL: _videoSensing_video_sensing_small_svg__WEBPACK_IMPORTED_MODULE_9___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Sense motion with the camera.", id: "gui.extension.videosensing.description" @@ -348215,8 +350162,8 @@ __webpack_require__.r(__webpack_exports__); }), extensionId: 'text2speech', collaborator: 'Amazon Web Services', - iconURL: _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_8___default.a, - insetIconURL: _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_9___default.a, + iconURL: _text2speech_text2speech_png__WEBPACK_IMPORTED_MODULE_10___default.a, + insetIconURL: _text2speech_text2speech_small_svg__WEBPACK_IMPORTED_MODULE_11___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Make your projects talk.", id: "gui.extension.text2speech.description" @@ -348230,8 +350177,8 @@ __webpack_require__.r(__webpack_exports__); }), extensionId: 'translate', collaborator: 'Google', - iconURL: _translate_translate_png__WEBPACK_IMPORTED_MODULE_10___default.a, - insetIconURL: _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_11___default.a, + iconURL: _translate_translate_png__WEBPACK_IMPORTED_MODULE_12___default.a, + insetIconURL: _translate_translate_small_png__WEBPACK_IMPORTED_MODULE_13___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Translate text into many languages.", id: "gui.extension.translate.description" @@ -348242,8 +350189,8 @@ __webpack_require__.r(__webpack_exports__); name: 'Makey Makey', extensionId: 'makeymakey', collaborator: 'JoyLabz', - iconURL: _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_12___default.a, - insetIconURL: _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_13___default.a, + iconURL: _makeymakey_makeymakey_png__WEBPACK_IMPORTED_MODULE_14___default.a, + insetIconURL: _makeymakey_makeymakey_small_svg__WEBPACK_IMPORTED_MODULE_15___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Make anything into a key.", id: "gui.extension.makeymakey.description" @@ -348253,8 +350200,8 @@ __webpack_require__.r(__webpack_exports__); name: 'micro:bit', extensionId: 'microbit', collaborator: 'micro:bit', - iconURL: _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_14___default.a, - insetIconURL: _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_15___default.a, + iconURL: _microbit_microbit_png__WEBPACK_IMPORTED_MODULE_16___default.a, + insetIconURL: _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_17___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connect your projects with the world.", id: "gui.extension.microbit.description" @@ -348265,8 +350212,8 @@ __webpack_require__.r(__webpack_exports__); internetConnectionRequired: true, launchPeripheralConnectionFlow: true, useAutoScan: false, - connectionIconURL: _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_16___default.a, - connectionSmallIconURL: _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_15___default.a, + connectionIconURL: _microbit_microbit_illustration_svg__WEBPACK_IMPORTED_MODULE_18___default.a, + connectionSmallIconURL: _microbit_microbit_small_svg__WEBPACK_IMPORTED_MODULE_17___default.a, connectingMessage: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connecting", id: "gui.extension.microbit.connectingMessage" @@ -348276,8 +350223,8 @@ __webpack_require__.r(__webpack_exports__); name: 'LEGO MINDSTORMS EV3', extensionId: 'ev3', collaborator: 'LEGO', - iconURL: _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_17___default.a, - insetIconURL: _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_18___default.a, + iconURL: _ev3_ev3_png__WEBPACK_IMPORTED_MODULE_19___default.a, + insetIconURL: _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_20___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Build interactive robots and more.", id: "gui.extension.ev3.description" @@ -348288,8 +350235,8 @@ __webpack_require__.r(__webpack_exports__); internetConnectionRequired: true, launchPeripheralConnectionFlow: true, useAutoScan: false, - connectionIconURL: _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_19___default.a, - connectionSmallIconURL: _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_18___default.a, + connectionIconURL: _ev3_ev3_hub_illustration_svg__WEBPACK_IMPORTED_MODULE_21___default.a, + connectionSmallIconURL: _ev3_ev3_small_svg__WEBPACK_IMPORTED_MODULE_20___default.a, connectingMessage: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connecting. Make sure the pin on your EV3 is set to 1234.", id: "gui.extension.ev3.connectingMessage" @@ -348299,8 +350246,8 @@ __webpack_require__.r(__webpack_exports__); name: 'LEGO BOOST', extensionId: 'boost', collaborator: 'LEGO', - iconURL: _boost_boost_png__WEBPACK_IMPORTED_MODULE_24___default.a, - insetIconURL: _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_25___default.a, + iconURL: _boost_boost_png__WEBPACK_IMPORTED_MODULE_26___default.a, + insetIconURL: _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_27___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Bring robotic creations to life.", id: "gui.extension.boost.description" @@ -348311,9 +350258,9 @@ __webpack_require__.r(__webpack_exports__); internetConnectionRequired: true, launchPeripheralConnectionFlow: true, useAutoScan: true, - connectionIconURL: _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_26___default.a, - connectionSmallIconURL: _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_25___default.a, - connectionTipIconURL: _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_27___default.a, + connectionIconURL: _boost_boost_illustration_svg__WEBPACK_IMPORTED_MODULE_28___default.a, + connectionSmallIconURL: _boost_boost_small_svg__WEBPACK_IMPORTED_MODULE_27___default.a, + connectionTipIconURL: _boost_boost_button_illustration_svg__WEBPACK_IMPORTED_MODULE_29___default.a, connectingMessage: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connecting", id: "gui.extension.boost.connectingMessage" @@ -348323,8 +350270,8 @@ __webpack_require__.r(__webpack_exports__); name: 'LEGO Education WeDo 2.0', extensionId: 'wedo2', collaborator: 'LEGO', - iconURL: _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_20___default.a, - insetIconURL: _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_21___default.a, + iconURL: _wedo2_wedo_png__WEBPACK_IMPORTED_MODULE_22___default.a, + insetIconURL: _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_23___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Build with motors and sensors.", id: "gui.extension.wedo2.description" @@ -348335,9 +350282,9 @@ __webpack_require__.r(__webpack_exports__); internetConnectionRequired: true, launchPeripheralConnectionFlow: true, useAutoScan: true, - connectionIconURL: _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_22___default.a, - connectionSmallIconURL: _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_21___default.a, - connectionTipIconURL: _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_23___default.a, + connectionIconURL: _wedo2_wedo_illustration_svg__WEBPACK_IMPORTED_MODULE_24___default.a, + connectionSmallIconURL: _wedo2_wedo_small_svg__WEBPACK_IMPORTED_MODULE_23___default.a, + connectionTipIconURL: _wedo2_wedo_button_illustration_svg__WEBPACK_IMPORTED_MODULE_25___default.a, connectingMessage: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connecting", id: "gui.extension.wedo2.connectingMessage" @@ -348347,8 +350294,8 @@ __webpack_require__.r(__webpack_exports__); name: 'Go Direct Force & Acceleration', extensionId: 'gdxfor', collaborator: 'Vernier', - iconURL: _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_28___default.a, - insetIconURL: _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_29___default.a, + iconURL: _gdxfor_gdxfor_png__WEBPACK_IMPORTED_MODULE_30___default.a, + insetIconURL: _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_31___default.a, description: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Sense push, pull, motion, and spin.", id: "gui.extension.gdxfor.description" @@ -348359,8 +350306,8 @@ __webpack_require__.r(__webpack_exports__); internetConnectionRequired: true, launchPeripheralConnectionFlow: true, useAutoScan: false, - connectionIconURL: _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_30___default.a, - connectionSmallIconURL: _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_29___default.a, + connectionIconURL: _gdxfor_gdxfor_illustration_svg__WEBPACK_IMPORTED_MODULE_32___default.a, + connectionSmallIconURL: _gdxfor_gdxfor_small_svg__WEBPACK_IMPORTED_MODULE_31___default.a, connectingMessage: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Connecting", id: "gui.extension.gdxfor.connectingMessage" @@ -348469,6 +350416,28 @@ module.exports = __webpack_require__.p + "static/assets/7679e8aa3b5a6b745823e00a /***/ }), +/***/ "./src/lib/libraries/extensions/tello/TelloController.png": +/*!****************************************************************!*\ + !*** ./src/lib/libraries/extensions/tello/TelloController.png ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__.p + "static/assets/ccc1fadf5ea9985c50559515924bfc5d.png"; + +/***/ }), + +/***/ "./src/lib/libraries/extensions/tello/TelloControllerSmall.png": +/*!*********************************************************************!*\ + !*** ./src/lib/libraries/extensions/tello/TelloControllerSmall.png ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__.p + "static/assets/564bbd1c4e9f1dafe89d27d0be35b779.png"; + +/***/ }), + /***/ "./src/lib/libraries/extensions/text2speech/text2speech-small.svg": /*!************************************************************************!*\ !*** ./src/lib/libraries/extensions/text2speech/text2speech-small.svg ***! @@ -351360,6 +353329,13 @@ var TitledHOC = function TitledHOC(WrappedComponent) { value: function componentDidUpdate(prevProps) { if (this.props.projectTitle !== prevProps.projectTitle) { this.handleReceivedProjectTitle(this.props.projectTitle); + } // if project is a new default project, and has loaded, + + + if (this.props.isShowingWithoutId && prevProps.isAnyCreatingNewState) { + // reset title to default + var defaultProjectTitle = this.handleReceivedProjectTitle(); + this.props.onUpdateProjectTitle(defaultProjectTitle); } // if the projectTitle hasn't changed, but the reduxProjectTitle // HAS changed, we need to report that change to the projectTitle's owner @@ -351378,18 +353354,20 @@ var TitledHOC = function TitledHOC(WrappedComponent) { } this.props.onChangedProjectTitle(newTitle); + return newTitle; } }, { key: "render", value: function render() { var _this$props = this.props, intl = _this$props.intl, + isAnyCreatingNewState = _this$props.isAnyCreatingNewState, isShowingWithoutId = _this$props.isShowingWithoutId, onChangedProjectTitle = _this$props.onChangedProjectTitle, onUpdateProjectTitle = _this$props.onUpdateProjectTitle, projectTitle = _this$props.projectTitle, reduxProjectTitle = _this$props.reduxProjectTitle, - componentProps = _objectWithoutProperties(_this$props, ["intl", "isShowingWithoutId", "onChangedProjectTitle", "onUpdateProjectTitle", "projectTitle", "reduxProjectTitle"]); + componentProps = _objectWithoutProperties(_this$props, ["intl", "isAnyCreatingNewState", "isShowingWithoutId", "onChangedProjectTitle", "onUpdateProjectTitle", "projectTitle", "reduxProjectTitle"]); return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, componentProps); } @@ -351400,6 +353378,7 @@ var TitledHOC = function TitledHOC(WrappedComponent) { TitledComponent.propTypes = { intl: react_intl__WEBPACK_IMPORTED_MODULE_3__["intlShape"], + isAnyCreatingNewState: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, isShowingWithoutId: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, onChangedProjectTitle: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func, onUpdateProjectTitle: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func, @@ -351413,6 +353392,7 @@ var TitledHOC = function TitledHOC(WrappedComponent) { var mapStateToProps = function mapStateToProps(state) { var loadingState = state.scratchGui.projectState.loadingState; return { + isAnyCreatingNewState: Object(_reducers_project_state__WEBPACK_IMPORTED_MODULE_4__["getIsAnyCreatingNewState"])(loadingState), isShowingWithoutId: Object(_reducers_project_state__WEBPACK_IMPORTED_MODULE_4__["getIsShowingWithoutId"])(loadingState), reduxProjectTitle: state.scratchGui.projectTitle }; diff --git a/lib.min.js.map b/lib.min.js.map index 5a8cb4acc..a0711f09a 100644 --- a/lib.min.js.map +++ b/lib.min.js.map @@ -1 +1 @@ -{"version":3,"file":"lib.min.js","sources":["webpack://GUI/webpack/bootstrap","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/1-snare.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/10-wood-block.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/11-cowbell.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/12-triangle.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/13-bongo.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/14-conga.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/15-cabasa.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/16-guiro.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/17-vibraslap.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/18-cuica.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/2-bass-drum.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/3-side-stick.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/4-crash-cymbal.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/5-open-hi-hat.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/6-closed-hi-hat.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/7-tambourine.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/8-hand-clap.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/drums/9-claves.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/108.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/24.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/72.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/84.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/1-piano/96.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/10-clarinet/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/10-clarinet/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/11-saxophone/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/11-saxophone/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/11-saxophone/84.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/12-flute/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/12-flute/72.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/13-wooden-flute/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/13-wooden-flute/72.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/14-bassoon/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/14-bassoon/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/14-bassoon/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/15-choir/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/15-choir/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/15-choir/72.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/16-vibraphone/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/16-vibraphone/72.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/17-music-box/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/18-steel-drum/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/19-marimba/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/2-electric-piano/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/20-synth-lead/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/21-synth-pad/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/3-organ/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/4-guitar/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/5-electric-guitar/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/6-bass/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/6-bass/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/7-pizzicato/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/8-cello/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/8-cello/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/8-cello/60.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/9-trombone/36.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/9-trombone/48.mp3","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/assets/instruments/9-trombone/60.mp3","webpack://GUI/../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js","webpack://GUI/./node_modules/scratch-vm/src/extension-support/extension-worker.js","webpack://GUI/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://GUI/./node_modules/@scratch/paper/dist/paper-full.js","webpack://GUI/./node_modules/acorn/dist/acorn.mjs","webpack://GUI/./node_modules/scratch-storage/src/builtins/defaultBitmap.png","webpack://GUI/./node_modules/scratch-storage/src/builtins/defaultSound.wav","webpack://GUI/./node_modules/scratch-storage/src/builtins/defaultVector.svg","webpack://GUI/./src/lib/default-project/83a9787d4cb6f3b7632b4ddfebf74367.wav","webpack://GUI/./src/lib/default-project/83c36d806dc92327b9e7049a565c6bff.wav","webpack://GUI/./node_modules/arraybuffer-loader/lib/to-array-buffer.js","webpack://GUI/./node_modules/audio-context/index.js","webpack://GUI/./node_modules/babel-runtime/core-js/get-iterator.js","webpack://GUI/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/assign.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/create.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/keys.js","webpack://GUI/./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack://GUI/./node_modules/babel-runtime/core-js/promise.js","webpack://GUI/./node_modules/babel-runtime/core-js/symbol.js","webpack://GUI/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://GUI/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://GUI/./node_modules/babel-runtime/helpers/createClass.js","webpack://GUI/./node_modules/babel-runtime/helpers/defineProperty.js","webpack://GUI/./node_modules/babel-runtime/helpers/extends.js","webpack://GUI/./node_modules/babel-runtime/helpers/inherits.js","webpack://GUI/./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack://GUI/./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack://GUI/./node_modules/babel-runtime/helpers/slicedToArray.js","webpack://GUI/./node_modules/babel-runtime/helpers/typeof.js","webpack://GUI/./node_modules/base64-js/index.js","webpack://GUI/./node_modules/scratch-render-fonts/src/Grand9K-Pixel.ttf","webpack://GUI/./node_modules/scratch-render-fonts/src/Griffy-Regular.ttf","webpack://GUI/./node_modules/scratch-render-fonts/src/NotoSans-Medium.ttf","webpack://GUI/./node_modules/scratch-render-fonts/src/Scratch.ttf","webpack://GUI/./node_modules/scratch-render-fonts/src/SourceSerifPro-Regular.otf","webpack://GUI/./node_modules/scratch-render-fonts/src/handlee-regular.ttf","webpack://GUI/./node_modules/scratch-render-fonts/src/knewave.ttf","webpack://GUI/./src/lib/backpack/sound-thumbnail.jpg","webpack://GUI/./node_modules/bowser/src/bowser.js","webpack://GUI/./node_modules/buffer/index.js","webpack://GUI/./node_modules/classnames/index.js","webpack://GUI/./node_modules/computed-style-to-inline-style/dist/index.js","webpack://GUI/./node_modules/core-js/fn/array/includes.js","webpack://GUI/./node_modules/core-js/fn/promise/finally.js","webpack://GUI/./node_modules/core-js/library/fn/get-iterator.js","webpack://GUI/./node_modules/core-js/library/fn/is-iterable.js","webpack://GUI/./node_modules/core-js/library/fn/object/assign.js","webpack://GUI/./node_modules/core-js/library/fn/object/create.js","webpack://GUI/./node_modules/core-js/library/fn/object/define-property.js","webpack://GUI/./node_modules/core-js/library/fn/object/get-own-property-descriptor.js","webpack://GUI/./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack://GUI/./node_modules/core-js/library/fn/object/keys.js","webpack://GUI/./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack://GUI/./node_modules/core-js/library/fn/promise.js","webpack://GUI/./node_modules/core-js/library/fn/symbol/index.js","webpack://GUI/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://GUI/./node_modules/core-js/library/modules/_a-function.js","webpack://GUI/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://GUI/./node_modules/core-js/library/modules/_an-instance.js","webpack://GUI/./node_modules/core-js/library/modules/_an-object.js","webpack://GUI/./node_modules/core-js/library/modules/_array-includes.js","webpack://GUI/./node_modules/core-js/library/modules/_classof.js","webpack://GUI/./node_modules/core-js/library/modules/_cof.js","webpack://GUI/./node_modules/core-js/library/modules/_core.js","webpack://GUI/./node_modules/core-js/library/modules/_ctx.js","webpack://GUI/./node_modules/core-js/library/modules/_defined.js","webpack://GUI/./node_modules/core-js/library/modules/_descriptors.js","webpack://GUI/./node_modules/core-js/library/modules/_dom-create.js","webpack://GUI/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://GUI/./node_modules/core-js/library/modules/_enum-keys.js","webpack://GUI/./node_modules/core-js/library/modules/_export.js","webpack://GUI/./node_modules/core-js/library/modules/_fails.js","webpack://GUI/./node_modules/core-js/library/modules/_for-of.js","webpack://GUI/./node_modules/core-js/library/modules/_global.js","webpack://GUI/./node_modules/core-js/library/modules/_has.js","webpack://GUI/./node_modules/core-js/library/modules/_hide.js","webpack://GUI/./node_modules/core-js/library/modules/_html.js","webpack://GUI/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://GUI/./node_modules/core-js/library/modules/_invoke.js","webpack://GUI/./node_modules/core-js/library/modules/_iobject.js","webpack://GUI/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://GUI/./node_modules/core-js/library/modules/_is-array.js","webpack://GUI/./node_modules/core-js/library/modules/_is-object.js","webpack://GUI/./node_modules/core-js/library/modules/_iter-call.js","webpack://GUI/./node_modules/core-js/library/modules/_iter-create.js","webpack://GUI/./node_modules/core-js/library/modules/_iter-define.js","webpack://GUI/./node_modules/core-js/library/modules/_iter-detect.js","webpack://GUI/./node_modules/core-js/library/modules/_iter-step.js","webpack://GUI/./node_modules/core-js/library/modules/_iterators.js","webpack://GUI/./node_modules/core-js/library/modules/_library.js","webpack://GUI/./node_modules/core-js/library/modules/_meta.js","webpack://GUI/./node_modules/core-js/library/modules/_microtask.js","webpack://GUI/./node_modules/core-js/library/modules/_new-promise-capability.js","webpack://GUI/./node_modules/core-js/library/modules/_object-assign.js","webpack://GUI/./node_modules/core-js/library/modules/_object-create.js","webpack://GUI/./node_modules/core-js/library/modules/_object-dp.js","webpack://GUI/./node_modules/core-js/library/modules/_object-dps.js","webpack://GUI/./node_modules/core-js/library/modules/_object-gopd.js","webpack://GUI/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://GUI/./node_modules/core-js/library/modules/_object-gopn.js","webpack://GUI/./node_modules/core-js/library/modules/_object-gops.js","webpack://GUI/./node_modules/core-js/library/modules/_object-gpo.js","webpack://GUI/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://GUI/./node_modules/core-js/library/modules/_object-keys.js","webpack://GUI/./node_modules/core-js/library/modules/_object-pie.js","webpack://GUI/./node_modules/core-js/library/modules/_object-sap.js","webpack://GUI/./node_modules/core-js/library/modules/_perform.js","webpack://GUI/./node_modules/core-js/library/modules/_promise-resolve.js","webpack://GUI/./node_modules/core-js/library/modules/_property-desc.js","webpack://GUI/./node_modules/core-js/library/modules/_redefine-all.js","webpack://GUI/./node_modules/core-js/library/modules/_redefine.js","webpack://GUI/./node_modules/core-js/library/modules/_set-proto.js","webpack://GUI/./node_modules/core-js/library/modules/_set-species.js","webpack://GUI/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://GUI/./node_modules/core-js/library/modules/_shared-key.js","webpack://GUI/./node_modules/core-js/library/modules/_shared.js","webpack://GUI/./node_modules/core-js/library/modules/_species-constructor.js","webpack://GUI/./node_modules/core-js/library/modules/_string-at.js","webpack://GUI/./node_modules/core-js/library/modules/_task.js","webpack://GUI/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://GUI/./node_modules/core-js/library/modules/_to-integer.js","webpack://GUI/./node_modules/core-js/library/modules/_to-iobject.js","webpack://GUI/./node_modules/core-js/library/modules/_to-length.js","webpack://GUI/./node_modules/core-js/library/modules/_to-object.js","webpack://GUI/./node_modules/core-js/library/modules/_to-primitive.js","webpack://GUI/./node_modules/core-js/library/modules/_uid.js","webpack://GUI/./node_modules/core-js/library/modules/_user-agent.js","webpack://GUI/./node_modules/core-js/library/modules/_wks-define.js","webpack://GUI/./node_modules/core-js/library/modules/_wks-ext.js","webpack://GUI/./node_modules/core-js/library/modules/_wks.js","webpack://GUI/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://GUI/./node_modules/core-js/library/modules/core.get-iterator.js","webpack://GUI/./node_modules/core-js/library/modules/core.is-iterable.js","webpack://GUI/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.create.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.keys.js","webpack://GUI/./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack://GUI/./node_modules/core-js/library/modules/es6.promise.js","webpack://GUI/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://GUI/./node_modules/core-js/library/modules/es6.symbol.js","webpack://GUI/./node_modules/core-js/library/modules/es7.promise.finally.js","webpack://GUI/./node_modules/core-js/library/modules/es7.promise.try.js","webpack://GUI/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://GUI/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://GUI/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://GUI/./node_modules/core-js/modules/_a-function.js","webpack://GUI/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://GUI/./node_modules/core-js/modules/_an-instance.js","webpack://GUI/./node_modules/core-js/modules/_an-object.js","webpack://GUI/./node_modules/core-js/modules/_array-includes.js","webpack://GUI/./node_modules/core-js/modules/_classof.js","webpack://GUI/./node_modules/core-js/modules/_cof.js","webpack://GUI/./node_modules/core-js/modules/_core.js","webpack://GUI/./node_modules/core-js/modules/_ctx.js","webpack://GUI/./node_modules/core-js/modules/_defined.js","webpack://GUI/./node_modules/core-js/modules/_descriptors.js","webpack://GUI/./node_modules/core-js/modules/_dom-create.js","webpack://GUI/./node_modules/core-js/modules/_export.js","webpack://GUI/./node_modules/core-js/modules/_fails.js","webpack://GUI/./node_modules/core-js/modules/_for-of.js","webpack://GUI/./node_modules/core-js/modules/_global.js","webpack://GUI/./node_modules/core-js/modules/_has.js","webpack://GUI/./node_modules/core-js/modules/_hide.js","webpack://GUI/./node_modules/core-js/modules/_html.js","webpack://GUI/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://GUI/./node_modules/core-js/modules/_invoke.js","webpack://GUI/./node_modules/core-js/modules/_iobject.js","webpack://GUI/./node_modules/core-js/modules/_is-array-iter.js","webpack://GUI/./node_modules/core-js/modules/_is-object.js","webpack://GUI/./node_modules/core-js/modules/_iter-call.js","webpack://GUI/./node_modules/core-js/modules/_iter-detect.js","webpack://GUI/./node_modules/core-js/modules/_iterators.js","webpack://GUI/./node_modules/core-js/modules/_library.js","webpack://GUI/./node_modules/core-js/modules/_microtask.js","webpack://GUI/./node_modules/core-js/modules/_new-promise-capability.js","webpack://GUI/./node_modules/core-js/modules/_object-dp.js","webpack://GUI/./node_modules/core-js/modules/_perform.js","webpack://GUI/./node_modules/core-js/modules/_promise-resolve.js","webpack://GUI/./node_modules/core-js/modules/_property-desc.js","webpack://GUI/./node_modules/core-js/modules/_redefine-all.js","webpack://GUI/./node_modules/core-js/modules/_redefine.js","webpack://GUI/./node_modules/core-js/modules/_set-species.js","webpack://GUI/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://GUI/./node_modules/core-js/modules/_shared.js","webpack://GUI/./node_modules/core-js/modules/_species-constructor.js","webpack://GUI/./node_modules/core-js/modules/_task.js","webpack://GUI/./node_modules/core-js/modules/_to-absolute-index.js","webpack://GUI/./node_modules/core-js/modules/_to-integer.js","webpack://GUI/./node_modules/core-js/modules/_to-iobject.js","webpack://GUI/./node_modules/core-js/modules/_to-length.js","webpack://GUI/./node_modules/core-js/modules/_to-primitive.js","webpack://GUI/./node_modules/core-js/modules/_uid.js","webpack://GUI/./node_modules/core-js/modules/_user-agent.js","webpack://GUI/./node_modules/core-js/modules/_wks.js","webpack://GUI/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://GUI/./node_modules/core-js/modules/es6.promise.js","webpack://GUI/./node_modules/core-js/modules/es7.array.includes.js","webpack://GUI/./node_modules/core-js/modules/es7.promise.finally.js","webpack://GUI/./node_modules/core-util-is/lib/util.js","webpack://GUI/./node_modules/react-tabs/style/react-tabs.css","webpack://GUI/./node_modules/scratch-paint/src/components/button-group/button-group.css","webpack://GUI/./node_modules/scratch-paint/src/components/button/button.css","webpack://GUI/./node_modules/scratch-paint/src/components/color-button/color-button.css","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/color-picker.css","webpack://GUI/./node_modules/scratch-paint/src/components/dropdown/dropdown.css","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/fixed-tools.css","webpack://GUI/./node_modules/scratch-paint/src/components/font-dropdown/font-dropdown.css","webpack://GUI/./node_modules/scratch-paint/src/components/forms/input.css","webpack://GUI/./node_modules/scratch-paint/src/components/forms/label.css","webpack://GUI/./node_modules/scratch-paint/src/components/forms/slider.css","webpack://GUI/./node_modules/scratch-paint/src/components/input-group/input-group.css","webpack://GUI/./node_modules/scratch-paint/src/components/labeled-icon-button/labeled-icon-button.css","webpack://GUI/./node_modules/scratch-paint/src/components/loupe/loupe.css","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/mode-tools.css","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/paint-editor.css","webpack://GUI/./node_modules/scratch-paint/src/components/scrollable-canvas/scrollable-canvas.css","webpack://GUI/./node_modules/scratch-paint/src/components/tool-select-base/tool-select-base.css","webpack://GUI/./node_modules/scratch-paint/src/containers/paper-canvas.css","webpack://GUI/./src/components/action-menu/action-menu.css","webpack://GUI/./src/components/alerts/alert.css","webpack://GUI/./src/components/alerts/alerts.css","webpack://GUI/./src/components/alerts/inline-message.css","webpack://GUI/./src/components/asset-panel/asset-panel.css","webpack://GUI/./src/components/asset-panel/selector.css","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.css","webpack://GUI/./src/components/backpack/backpack.css","webpack://GUI/./src/components/blocks/blocks.css","webpack://GUI/./src/components/box/box.css","webpack://GUI/./src/components/browser-modal/browser-modal.css","webpack://GUI/./src/components/button/button.css","webpack://GUI/./src/components/camera-modal/camera-modal.css","webpack://GUI/./src/components/cards/card.css","webpack://GUI/./src/components/close-button/close-button.css","webpack://GUI/./src/components/coming-soon/coming-soon.css","webpack://GUI/./src/components/connection-modal/connection-modal.css","webpack://GUI/./src/components/context-menu/context-menu.css","webpack://GUI/./src/components/controls/controls.css","webpack://GUI/./src/components/crash-message/crash-message.css","webpack://GUI/./src/components/custom-procedures/custom-procedures.css","webpack://GUI/./src/components/delete-button/delete-button.css","webpack://GUI/./src/components/direction-picker/dial.css","webpack://GUI/./src/components/direction-picker/direction-picker.css","webpack://GUI/./src/components/divider/divider.css","webpack://GUI/./src/components/drag-layer/drag-layer.css","webpack://GUI/./src/components/filter/filter.css","webpack://GUI/./src/components/forms/input.css","webpack://GUI/./src/components/forms/label.css","webpack://GUI/./src/components/green-flag/green-flag.css","webpack://GUI/./src/components/gui/gui.css","webpack://GUI/./src/components/icon-button/icon-button.css","webpack://GUI/./src/components/language-selector/language-selector.css","webpack://GUI/./src/components/library-item/library-item.css","webpack://GUI/./src/components/library/library.css","webpack://GUI/./src/components/loader/loader.css","webpack://GUI/./src/components/loupe/loupe.css","webpack://GUI/./src/components/menu-bar/account-nav.css","webpack://GUI/./src/components/menu-bar/author-info.css","webpack://GUI/./src/components/menu-bar/community-button.css","webpack://GUI/./src/components/menu-bar/login-dropdown.css","webpack://GUI/./src/components/menu-bar/menu-bar.css","webpack://GUI/./src/components/menu-bar/project-title-input.css","webpack://GUI/./src/components/menu-bar/save-status.css","webpack://GUI/./src/components/menu-bar/share-button.css","webpack://GUI/./src/components/menu-bar/user-avatar.css","webpack://GUI/./src/components/menu/menu.css","webpack://GUI/./src/components/meter/meter.css","webpack://GUI/./src/components/mic-indicator/mic-indicator.css","webpack://GUI/./src/components/modal/modal.css","webpack://GUI/./src/components/monitor-list/monitor-list.css","webpack://GUI/./src/components/monitor/monitor.css","webpack://GUI/./src/components/play-button/play-button.css","webpack://GUI/./src/components/prompt/prompt.css","webpack://GUI/./src/components/question/question.css","webpack://GUI/./src/components/record-modal/record-modal.css","webpack://GUI/./src/components/slider-prompt/slider-prompt.css","webpack://GUI/./src/components/sound-editor/sound-editor.css","webpack://GUI/./src/components/spinner/spinner.css","webpack://GUI/./src/components/sprite-info/sprite-info.css","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.css","webpack://GUI/./src/components/sprite-selector/sprite-selector.css","webpack://GUI/./src/components/stage-header/stage-header.css","webpack://GUI/./src/components/stage-selector/stage-selector.css","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.css","webpack://GUI/./src/components/stage/stage.css","webpack://GUI/./src/components/stop-all/stop-all.css","webpack://GUI/./src/components/tag-button/tag-button.css","webpack://GUI/./src/components/target-pane/target-pane.css","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.css","webpack://GUI/./src/components/turbo-mode/turbo-mode.css","webpack://GUI/./src/components/watermark/watermark.css","webpack://GUI/./src/components/waveform/waveform.css","webpack://GUI/./src/components/webgl-modal/webgl-modal.css","webpack://GUI/./node_modules/css-loader/lib/css-base.js","webpack://GUI/./node_modules/css-loader/lib/url/escape.js","webpack://GUI/./node_modules/css-vendor/lib/camelize.js","webpack://GUI/./node_modules/css-vendor/lib/index.js","webpack://GUI/./node_modules/css-vendor/lib/prefix.js","webpack://GUI/./node_modules/css-vendor/lib/supported-property.js","webpack://GUI/./node_modules/css-vendor/lib/supported-value.js","webpack://GUI/./node_modules/debug/src/browser.js","webpack://GUI/./node_modules/debug/src/debug.js","webpack://GUI/./node_modules/decode-uri-component/index.js","webpack://GUI/./node_modules/define-properties/index.js","webpack://GUI/./node_modules/dom-helpers/util/inDOM.js","webpack://GUI/./node_modules/dom-helpers/util/scrollbarSize.js","webpack://GUI/./node_modules/es-abstract/GetIntrinsic.js","webpack://GUI/./node_modules/es-abstract/es5.js","webpack://GUI/./node_modules/es-abstract/helpers/assertRecord.js","webpack://GUI/./node_modules/es-abstract/helpers/callBind.js","webpack://GUI/./node_modules/es-abstract/helpers/callBound.js","webpack://GUI/./node_modules/es-abstract/helpers/isFinite.js","webpack://GUI/./node_modules/es-abstract/helpers/isNaN.js","webpack://GUI/./node_modules/es-abstract/helpers/isPrefixOf.js","webpack://GUI/./node_modules/es-abstract/helpers/isPropertyDescriptor.js","webpack://GUI/./node_modules/es-abstract/helpers/mod.js","webpack://GUI/./node_modules/es-abstract/helpers/sign.js","webpack://GUI/./node_modules/es-to-primitive/es5.js","webpack://GUI/./node_modules/es-to-primitive/helpers/isPrimitive.js","webpack://GUI/./node_modules/es6-object-assign/auto.js","webpack://GUI/./node_modules/es6-object-assign/index.js","webpack://GUI/./node_modules/events/events.js","webpack://GUI/./node_modules/exenv/index.js","webpack://GUI/./node_modules/fbjs/lib/EventListener.js","webpack://GUI/./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack://GUI/./node_modules/fbjs/lib/camelize.js","webpack://GUI/./node_modules/fbjs/lib/camelizeStyleName.js","webpack://GUI/./node_modules/fbjs/lib/containsNode.js","webpack://GUI/./node_modules/fbjs/lib/emptyFunction.js","webpack://GUI/./node_modules/fbjs/lib/emptyObject.js","webpack://GUI/./node_modules/fbjs/lib/focusNode.js","webpack://GUI/./node_modules/fbjs/lib/getActiveElement.js","webpack://GUI/./node_modules/fbjs/lib/hyphenate.js","webpack://GUI/./node_modules/fbjs/lib/hyphenateStyleName.js","webpack://GUI/./node_modules/fbjs/lib/invariant.js","webpack://GUI/./node_modules/fbjs/lib/isNode.js","webpack://GUI/./node_modules/fbjs/lib/isTextNode.js","webpack://GUI/./node_modules/fbjs/lib/shallowEqual.js","webpack://GUI/./node_modules/fbjs/lib/warning.js","webpack://GUI/./node_modules/for-each/index.js","webpack://GUI/./node_modules/function-bind/implementation.js","webpack://GUI/./node_modules/function-bind/index.js","webpack://GUI/./node_modules/get-float-time-domain-data/lib/get-float-time-domain-data.js","webpack://GUI/./node_modules/get-user-media-promise/lib/get-user-media-promise.js","webpack://GUI/./node_modules/global/window.js","webpack://GUI/./node_modules/has-symbols/index.js","webpack://GUI/./node_modules/has-symbols/shams.js","webpack://GUI/./node_modules/has/src/index.js","webpack://GUI/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://GUI/./node_modules/hull.js/src/convex.js","webpack://GUI/./node_modules/hull.js/src/format.js","webpack://GUI/./node_modules/hull.js/src/grid.js","webpack://GUI/./node_modules/hull.js/src/hull.js","webpack://GUI/./node_modules/hull.js/src/intersect.js","webpack://GUI/./node_modules/ieee754/index.js","webpack://GUI/./node_modules/grapheme-breaker/src/GraphemeBreaker.js","webpack://GUI/./node_modules/linebreak/src/linebreaker.js","webpack://GUI/./node_modules/immutable/dist/immutable.js","webpack://GUI/./node_modules/scratch-blocks/msg/messages.js","webpack://GUI/./node_modules/scratch-blocks/msg/scratch_msgs.js","webpack://GUI/./node_modules/scratch-blocks/blocks_compressed.js","webpack://GUI/./node_modules/scratch-blocks/blocks_compressed_vertical.js","webpack://GUI/./node_modules/scratch-blocks/blockly_compressed_vertical.js","webpack://GUI/./node_modules/inherits/inherits_browser.js","webpack://GUI/./node_modules/intl-format-cache/lib/index.js","webpack://GUI/./node_modules/intl-messageformat-parser/index.js","webpack://GUI/./node_modules/intl-messageformat-parser/lib/parser.js","webpack://GUI/./node_modules/intl-messageformat/index.js","webpack://GUI/./node_modules/intl-messageformat/lib/compiler.js","webpack://GUI/./node_modules/intl-messageformat/lib/core.js","webpack://GUI/./node_modules/intl-messageformat/lib/en.js","webpack://GUI/./node_modules/intl-messageformat/lib/es5.js","webpack://GUI/./node_modules/intl-messageformat/lib/main.js","webpack://GUI/./node_modules/intl-messageformat/lib/utils.js","webpack://GUI/./node_modules/intl-relativeformat/index.js","webpack://GUI/./node_modules/intl-relativeformat/lib/core.js","webpack://GUI/./node_modules/intl-relativeformat/lib/diff.js","webpack://GUI/./node_modules/intl-relativeformat/lib/en.js","webpack://GUI/./node_modules/intl-relativeformat/lib/es5.js","webpack://GUI/./node_modules/intl-relativeformat/lib/main.js","webpack://GUI/./node_modules/intl/index.js","webpack://GUI/./node_modules/intl/lib/core.js","webpack://GUI/./node_modules/invariant/browser.js","webpack://GUI/./node_modules/is-callable/index.js","webpack://GUI/./node_modules/is-function/index.js","webpack://GUI/./node_modules/is-in-browser/dist/module.js","webpack://GUI/./node_modules/isarray/index.js","webpack://GUI/./node_modules/js-base64/base64.js","webpack://GUI/./node_modules/js-md5/src/md5.js","webpack://GUI/./node_modules/keymirror/index.js","webpack://GUI/./node_modules/linebreak/node_modules/base64-js/lib/b64.js","webpack://GUI/./node_modules/linebreak/src/classes.js","webpack://GUI/./node_modules/linebreak/src/pairs.js","webpack://GUI/./node_modules/lodash-es/_Symbol.js","webpack://GUI/./node_modules/lodash-es/_baseGetTag.js","webpack://GUI/./node_modules/lodash-es/_freeGlobal.js","webpack://GUI/./node_modules/lodash-es/_getPrototype.js","webpack://GUI/./node_modules/lodash-es/_getRawTag.js","webpack://GUI/./node_modules/lodash-es/_objectToString.js","webpack://GUI/./node_modules/lodash-es/_overArg.js","webpack://GUI/./node_modules/lodash-es/_root.js","webpack://GUI/./node_modules/lodash-es/isObjectLike.js","webpack://GUI/./node_modules/lodash-es/isPlainObject.js","webpack://GUI/./node_modules/lodash._getnative/index.js","webpack://GUI/./node_modules/lodash.bindall/index.js","webpack://GUI/./node_modules/lodash.debounce/index.js","webpack://GUI/./node_modules/lodash.defaultsdeep/index.js","webpack://GUI/./node_modules/lodash.omit/index.js","webpack://GUI/./node_modules/lodash.throttle/index.js","webpack://GUI/./node_modules/microee/index.js","webpack://GUI/./node_modules/minilog/lib/common/filter.js","webpack://GUI/./node_modules/minilog/lib/common/minilog.js","webpack://GUI/./node_modules/minilog/lib/common/transform.js","webpack://GUI/./node_modules/minilog/lib/web/array.js","webpack://GUI/./node_modules/minilog/lib/web/console.js","webpack://GUI/./node_modules/minilog/lib/web/formatters/color.js","webpack://GUI/./node_modules/minilog/lib/web/formatters/minilog.js","webpack://GUI/./node_modules/minilog/lib/web/formatters/util.js","webpack://GUI/./node_modules/minilog/lib/web/index.js","webpack://GUI/./node_modules/minilog/lib/web/jquery_simple.js","webpack://GUI/./node_modules/minilog/lib/web/localstorage.js","webpack://GUI/./node_modules/ms/index.js","webpack://GUI/./node_modules/nets/index.js","webpack://GUI/./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack://GUI/./node_modules/object-assign/index.js","webpack://GUI/./node_modules/object-keys/implementation.js","webpack://GUI/./node_modules/object-keys/index.js","webpack://GUI/./node_modules/object-keys/isArguments.js","webpack://GUI/./node_modules/omggif/omggif.js","webpack://GUI/./node_modules/papaparse/papaparse.min.js","webpack://GUI/./node_modules/parse-color/index.js","webpack://GUI/./node_modules/parse-color/node_modules/color-convert/conversions.js","webpack://GUI/./node_modules/parse-color/node_modules/color-convert/index.js","webpack://GUI/./node_modules/parse-headers/parse-headers.js","webpack://GUI/./node_modules/process-nextick-args/index.js","webpack://GUI/./node_modules/process/browser.js","webpack://GUI/./node_modules/prop-types/checkPropTypes.js","webpack://GUI/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://GUI/./node_modules/prop-types/index.js","webpack://GUI/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://GUI/./node_modules/query-string/index.js","webpack://GUI/./node_modules/querystring-es3/decode.js","webpack://GUI/./node_modules/querystring-es3/encode.js","webpack://GUI/./node_modules/querystring-es3/index.js","webpack://GUI/./node_modules/scratch-render/src/shaders/sprite.frag","webpack://GUI/./node_modules/scratch-render/src/shaders/sprite.vert","webpack://GUI/./src/lib/default-project/b7853f557e4426412e64bb3da6531a99.svg","webpack://GUI/./src/lib/default-project/cd21514d0531fdffb22204e0ec5ed84a.svg","webpack://GUI/./src/lib/default-project/e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg","webpack://GUI/./node_modules/react-contextmenu/es6/AbstractMenu.js","webpack://GUI/./node_modules/react-contextmenu/es6/ContextMenu.js","webpack://GUI/./node_modules/react-contextmenu/es6/ContextMenuTrigger.js","webpack://GUI/./node_modules/react-contextmenu/es6/MenuItem.js","webpack://GUI/./node_modules/react-contextmenu/es6/SubMenu.js","webpack://GUI/./node_modules/react-contextmenu/es6/actions.js","webpack://GUI/./node_modules/react-contextmenu/es6/connectMenu.js","webpack://GUI/./node_modules/react-contextmenu/es6/globalEventListener.js","webpack://GUI/./node_modules/react-contextmenu/es6/helpers.js","webpack://GUI/./node_modules/react-contextmenu/es6/index.js","webpack://GUI/./node_modules/react-dom/cjs/react-dom.development.js","webpack://GUI/./node_modules/react-dom/index.js","webpack://GUI/./node_modules/react-draggable/dist/react-draggable.js","webpack://GUI/./node_modules/react-ga/dist/react-ga.js","webpack://GUI/./node_modules/react-intl/lib/index.es.js","webpack://GUI/./node_modules/react-intl/locale-data/am.js","webpack://GUI/./node_modules/react-intl/locale-data/ar.js","webpack://GUI/./node_modules/react-intl/locale-data/az.js","webpack://GUI/./node_modules/react-intl/locale-data/be.js","webpack://GUI/./node_modules/react-intl/locale-data/bg.js","webpack://GUI/./node_modules/react-intl/locale-data/ca.js","webpack://GUI/./node_modules/react-intl/locale-data/ckb.js","webpack://GUI/./node_modules/react-intl/locale-data/cs.js","webpack://GUI/./node_modules/react-intl/locale-data/cy.js","webpack://GUI/./node_modules/react-intl/locale-data/da.js","webpack://GUI/./node_modules/react-intl/locale-data/de.js","webpack://GUI/./node_modules/react-intl/locale-data/el.js","webpack://GUI/./node_modules/react-intl/locale-data/en.js","webpack://GUI/./node_modules/react-intl/locale-data/es.js","webpack://GUI/./node_modules/react-intl/locale-data/et.js","webpack://GUI/./node_modules/react-intl/locale-data/eu.js","webpack://GUI/./node_modules/react-intl/locale-data/fa.js","webpack://GUI/./node_modules/react-intl/locale-data/fi.js","webpack://GUI/./node_modules/react-intl/locale-data/fr.js","webpack://GUI/./node_modules/react-intl/locale-data/ga.js","webpack://GUI/./node_modules/react-intl/locale-data/gd.js","webpack://GUI/./node_modules/react-intl/locale-data/gl.js","webpack://GUI/./node_modules/react-intl/locale-data/he.js","webpack://GUI/./node_modules/react-intl/locale-data/hr.js","webpack://GUI/./node_modules/react-intl/locale-data/hu.js","webpack://GUI/./node_modules/react-intl/locale-data/id.js","webpack://GUI/./node_modules/react-intl/locale-data/is.js","webpack://GUI/./node_modules/react-intl/locale-data/it.js","webpack://GUI/./node_modules/react-intl/locale-data/ja.js","webpack://GUI/./node_modules/react-intl/locale-data/ka.js","webpack://GUI/./node_modules/react-intl/locale-data/km.js","webpack://GUI/./node_modules/react-intl/locale-data/ko.js","webpack://GUI/./node_modules/react-intl/locale-data/lt.js","webpack://GUI/./node_modules/react-intl/locale-data/lv.js","webpack://GUI/./node_modules/react-intl/locale-data/mi.js","webpack://GUI/./node_modules/react-intl/locale-data/nb.js","webpack://GUI/./node_modules/react-intl/locale-data/nl.js","webpack://GUI/./node_modules/react-intl/locale-data/nn.js","webpack://GUI/./node_modules/react-intl/locale-data/pl.js","webpack://GUI/./node_modules/react-intl/locale-data/pt.js","webpack://GUI/./node_modules/react-intl/locale-data/ro.js","webpack://GUI/./node_modules/react-intl/locale-data/ru.js","webpack://GUI/./node_modules/react-intl/locale-data/sk.js","webpack://GUI/./node_modules/react-intl/locale-data/sl.js","webpack://GUI/./node_modules/react-intl/locale-data/sr.js","webpack://GUI/./node_modules/react-intl/locale-data/sv.js","webpack://GUI/./node_modules/react-intl/locale-data/sw.js","webpack://GUI/./node_modules/react-intl/locale-data/th.js","webpack://GUI/./node_modules/react-intl/locale-data/tr.js","webpack://GUI/./node_modules/react-intl/locale-data/uk.js","webpack://GUI/./node_modules/react-intl/locale-data/uz.js","webpack://GUI/./node_modules/react-intl/locale-data/vi.js","webpack://GUI/./node_modules/react-intl/locale-data/zh.js","webpack://GUI/./node_modules/react-intl/locale-data/zu.js","webpack://GUI/./node_modules/react-is/cjs/react-is.development.js","webpack://GUI/./node_modules/react-is/index.js","webpack://GUI/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://GUI/./node_modules/react-modal/lib/components/Modal.js","webpack://GUI/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://GUI/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://GUI/./node_modules/react-modal/lib/helpers/classList.js","webpack://GUI/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://GUI/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://GUI/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://GUI/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://GUI/./node_modules/react-modal/lib/index.js","webpack://GUI/./node_modules/react-popover/build/index.js","webpack://GUI/./node_modules/react-popover/build/layout.js","webpack://GUI/./node_modules/react-popover/build/on-resize.js","webpack://GUI/./node_modules/react-popover/build/platform.js","webpack://GUI/./node_modules/react-popover/build/tip.js","webpack://GUI/./node_modules/react-popover/build/utils.js","webpack://GUI/./node_modules/react-popover/index.js","webpack://GUI/./node_modules/react-popover/node_modules/lodash.debounce/index.js","webpack://GUI/./node_modules/react-popover/node_modules/lodash.throttle/index.js","webpack://GUI/./node_modules/react-redux/es/components/Provider.js","webpack://GUI/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://GUI/./node_modules/react-redux/es/connect/connect.js","webpack://GUI/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://GUI/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://GUI/./node_modules/react-redux/es/connect/mergeProps.js","webpack://GUI/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://GUI/./node_modules/react-redux/es/connect/verifySubselectors.js","webpack://GUI/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://GUI/./node_modules/react-redux/es/index.js","webpack://GUI/./node_modules/react-redux/es/utils/PropTypes.js","webpack://GUI/./node_modules/react-redux/es/utils/Subscription.js","webpack://GUI/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://GUI/./node_modules/react-redux/es/utils/verifyPlainObject.js","webpack://GUI/./node_modules/react-redux/es/utils/warning.js","webpack://GUI/./node_modules/react-redux/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://GUI/./node_modules/react-responsive/dist/react-responsive.js","webpack://GUI/./node_modules/react-style-proptype/src/css-properties.js","webpack://GUI/./node_modules/react-style-proptype/src/index.js","webpack://GUI/./node_modules/react-tabs/esm/components/Tab.js","webpack://GUI/./node_modules/react-tabs/esm/components/TabList.js","webpack://GUI/./node_modules/react-tabs/esm/components/TabPanel.js","webpack://GUI/./node_modules/react-tabs/esm/components/Tabs.js","webpack://GUI/./node_modules/react-tabs/esm/components/UncontrolledTabs.js","webpack://GUI/./node_modules/react-tabs/esm/helpers/childrenDeepMap.js","webpack://GUI/./node_modules/react-tabs/esm/helpers/count.js","webpack://GUI/./node_modules/react-tabs/esm/helpers/elementTypes.js","webpack://GUI/./node_modules/react-tabs/esm/helpers/propTypes.js","webpack://GUI/./node_modules/react-tabs/esm/helpers/uuid.js","webpack://GUI/./node_modules/react-tabs/esm/index.js","webpack://GUI/./node_modules/react-tabs/style/react-tabs.css?f800","webpack://GUI/./node_modules/react-tooltip/dist/constant.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/customEvent.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/getEffect.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/isCapture.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/staticMethods.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/trackRemoval.js","webpack://GUI/./node_modules/react-tooltip/dist/decorators/windowListener.js","webpack://GUI/./node_modules/react-tooltip/dist/index.js","webpack://GUI/./node_modules/react-tooltip/dist/style.js","webpack://GUI/./node_modules/react-tooltip/dist/utils/aria.js","webpack://GUI/./node_modules/react-tooltip/dist/utils/getPosition.js","webpack://GUI/./node_modules/react-tooltip/dist/utils/getTipContent.js","webpack://GUI/./node_modules/react-tooltip/dist/utils/nodeListToArray.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ArrowKeyStepper/ArrowKeyStepper.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ArrowKeyStepper/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ArrowKeyStepper/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/AutoSizer/AutoSizer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/AutoSizer/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/CellMeasurer/CellMeasurer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/CellMeasurer/CellMeasurerCache.js","webpack://GUI/./node_modules/react-virtualized/dist/es/CellMeasurer/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/CellMeasurer/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/Collection.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/CollectionView.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/Section.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/SectionManager.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Collection/utils/calculateSizeAndPositionData.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ColumnSizer/ColumnSizer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ColumnSizer/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/Grid.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/accessibilityOverscanIndicesGetter.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/defaultCellRangeRenderer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/defaultOverscanIndicesGetter.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/utils/CellSizeAndPositionManager.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/utils/maxElementSize.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Grid/utils/updateScrollIndexHelper.js","webpack://GUI/./node_modules/react-virtualized/dist/es/InfiniteLoader/InfiniteLoader.js","webpack://GUI/./node_modules/react-virtualized/dist/es/InfiniteLoader/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/List/List.js","webpack://GUI/./node_modules/react-virtualized/dist/es/List/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/List/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Masonry/Masonry.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Masonry/PositionCache.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Masonry/createCellPositioner.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Masonry/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/MultiGrid/CellMeasurerCacheDecorator.js","webpack://GUI/./node_modules/react-virtualized/dist/es/MultiGrid/MultiGrid.js","webpack://GUI/./node_modules/react-virtualized/dist/es/MultiGrid/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ScrollSync/ScrollSync.js","webpack://GUI/./node_modules/react-virtualized/dist/es/ScrollSync/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/Column.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/SortDirection.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/SortIndicator.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/Table.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/createMultiSort.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/defaultCellDataGetter.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/defaultCellRenderer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/defaultHeaderRenderer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/defaultHeaderRowRenderer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/defaultRowRenderer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/Table/types.js","webpack://GUI/./node_modules/react-virtualized/dist/es/WindowScroller/WindowScroller.js","webpack://GUI/./node_modules/react-virtualized/dist/es/WindowScroller/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/WindowScroller/utils/dimensions.js","webpack://GUI/./node_modules/react-virtualized/dist/es/WindowScroller/utils/onScroll.js","webpack://GUI/./node_modules/react-virtualized/dist/es/index.js","webpack://GUI/./node_modules/react-virtualized/dist/es/utils/animationFrame.js","webpack://GUI/./node_modules/react-virtualized/dist/es/utils/createCallbackMemoizer.js","webpack://GUI/./node_modules/react-virtualized/dist/es/utils/getUpdatedOffsetForIndex.js","webpack://GUI/./node_modules/react-virtualized/dist/es/utils/requestAnimationTimeout.js","webpack://GUI/./node_modules/react-virtualized/dist/es/vendor/binarySearchBounds.js","webpack://GUI/./node_modules/react-virtualized/dist/es/vendor/detectElementResize.js","webpack://GUI/./node_modules/react-virtualized/dist/es/vendor/intervalTree.js","webpack://GUI/./node_modules/react/cjs/react.development.js","webpack://GUI/./node_modules/react/index.js","webpack://GUI/./node_modules/readable-stream/duplex-browser.js","webpack://GUI/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://GUI/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://GUI/./node_modules/readable-stream/lib/_stream_readable.js","webpack://GUI/./node_modules/readable-stream/lib/_stream_transform.js","webpack://GUI/./node_modules/readable-stream/lib/_stream_writable.js","webpack://GUI/./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://GUI/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://GUI/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://GUI/./node_modules/readable-stream/passthrough.js","webpack://GUI/./node_modules/readable-stream/readable-browser.js","webpack://GUI/./node_modules/readable-stream/transform.js","webpack://GUI/./node_modules/readable-stream/writable-browser.js","webpack://GUI/./node_modules/redux-throttle/build/index.js","webpack://GUI/./node_modules/redux/es/applyMiddleware.js","webpack://GUI/./node_modules/redux/es/bindActionCreators.js","webpack://GUI/./node_modules/redux/es/combineReducers.js","webpack://GUI/./node_modules/redux/es/compose.js","webpack://GUI/./node_modules/redux/es/createStore.js","webpack://GUI/./node_modules/redux/es/index.js","webpack://GUI/./node_modules/redux/es/utils/warning.js","webpack://GUI/./node_modules/safe-buffer/index.js","webpack://GUI/./node_modules/scratch-audio/src/ADPCMSoundDecoder.js","webpack://GUI/./node_modules/scratch-audio/src/ArrayBufferStream.js","webpack://GUI/./node_modules/scratch-audio/src/AudioEngine.js","webpack://GUI/./node_modules/scratch-audio/src/Loudness.js","webpack://GUI/./node_modules/scratch-audio/src/SoundBank.js","webpack://GUI/./node_modules/scratch-audio/src/SoundPlayer.js","webpack://GUI/./node_modules/scratch-audio/src/StartAudioContext.js","webpack://GUI/./node_modules/scratch-audio/src/effects/Effect.js","webpack://GUI/./node_modules/scratch-audio/src/effects/EffectChain.js","webpack://GUI/./node_modules/scratch-audio/src/effects/PanEffect.js","webpack://GUI/./node_modules/scratch-audio/src/effects/PitchEffect.js","webpack://GUI/./node_modules/scratch-audio/src/effects/VolumeEffect.js","webpack://GUI/./node_modules/scratch-audio/src/index.js","webpack://GUI/./node_modules/scratch-audio/src/log.js","webpack://GUI/./node_modules/scratch-audio/src/uid.js","webpack://GUI/./node_modules/scratch-blocks/shim/blockly_compressed_vertical-blocks_compressed.js","webpack://GUI/./node_modules/scratch-blocks/shim/blockly_compressed_vertical.Blockly.js","webpack://GUI/./node_modules/scratch-blocks/shim/blockly_compressed_vertical.goog.js","webpack://GUI/./node_modules/scratch-blocks/shim/blockly_compressed_vertical.js","webpack://GUI/./node_modules/scratch-blocks/shim/blocks_compressed_vertical-blockly_compressed_vertical-messages.js","webpack://GUI/./node_modules/scratch-blocks/shim/blocks_compressed_vertical.js","webpack://GUI/./node_modules/scratch-blocks/shim/vertical.js","webpack://GUI/./node_modules/scratch-l10n/locales/editor-msgs.js","webpack://GUI/./node_modules/scratch-l10n/src/index.js","webpack://GUI/./node_modules/scratch-l10n/src/supported-locales.js","webpack://GUI/./node_modules/scratch-paint/node_modules/classnames/index.js","webpack://GUI/./node_modules/scratch-paint/src/components/bit-brush-mode/bit-brush-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-brush-mode/brush.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-eraser-mode/bit-eraser-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-eraser-mode/eraser.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-fill-mode/bit-fill-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-fill-mode/fill.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-line-mode/bit-line-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-line-mode/line.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-oval-mode/bit-oval-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-oval-mode/oval-outlined.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-oval-mode/oval.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-rect-mode/bit-rect-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle-outlined.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-rect-mode/rectangle.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-select-mode/bit-select-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-select-mode/marquee.svg","webpack://GUI/./node_modules/scratch-paint/src/components/bit-text-mode/bit-text-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/bit-text-mode/text.svg","webpack://GUI/./node_modules/scratch-paint/src/components/box/box.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/brush-mode/brush-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/brush-mode/brush.svg","webpack://GUI/./node_modules/scratch-paint/src/components/button-group/button-group.css?9d8f","webpack://GUI/./node_modules/scratch-paint/src/components/button-group/button-group.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/button/button.css?2f4b","webpack://GUI/./node_modules/scratch-paint/src/components/button/button.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/color-button/color-button.css?2df0","webpack://GUI/./node_modules/scratch-paint/src/components/color-button/color-button.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/color-button/mixed-fill.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-button/no-fill.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/color-picker.css?b338","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/color-picker.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/eye-dropper.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/fill-horz-gradient-enabled.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/fill-radial-enabled.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/fill-solid-enabled.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/fill-vert-gradient-enabled.svg","webpack://GUI/./node_modules/scratch-paint/src/components/color-picker/icons/swap.svg","webpack://GUI/./node_modules/scratch-paint/src/components/dropdown/dropdown-caret.svg","webpack://GUI/./node_modules/scratch-paint/src/components/dropdown/dropdown.css?b75a","webpack://GUI/./node_modules/scratch-paint/src/components/dropdown/dropdown.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/eraser-mode/eraser-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/eraser-mode/eraser.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fill-color-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/fill-mode/fill-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/fill-mode/fill.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/fixed-tools.css?3f5a","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/fixed-tools.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/group.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/redo.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/send-back.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/send-backward.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/send-forward.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/send-front.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/undo.svg","webpack://GUI/./node_modules/scratch-paint/src/components/fixed-tools/icons/ungroup.svg","webpack://GUI/./node_modules/scratch-paint/src/components/font-dropdown/font-dropdown.css?9579","webpack://GUI/./node_modules/scratch-paint/src/components/font-dropdown/font-dropdown.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/forms/buffered-input-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/forms/input.css?abf3","webpack://GUI/./node_modules/scratch-paint/src/components/forms/input.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/forms/label.css?9f1f","webpack://GUI/./node_modules/scratch-paint/src/components/forms/label.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/forms/live-input-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/forms/slider.css?1de8","webpack://GUI/./node_modules/scratch-paint/src/components/forms/slider.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/input-group/input-group.css?34c7","webpack://GUI/./node_modules/scratch-paint/src/components/input-group/input-group.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/labeled-icon-button/labeled-icon-button.css?6391","webpack://GUI/./node_modules/scratch-paint/src/components/labeled-icon-button/labeled-icon-button.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/line-mode/line-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/line-mode/line.svg","webpack://GUI/./node_modules/scratch-paint/src/components/loupe/loupe.css?409e","webpack://GUI/./node_modules/scratch-paint/src/components/loupe/loupe.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/copy.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/curved-point.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/delete.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/flip-horizontal.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/flip-vertical.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/paste.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/icons/straight-point.svg","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/mode-tools.css?5266","webpack://GUI/./node_modules/scratch-paint/src/components/mode-tools/mode-tools.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/oval-mode/oval-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/oval-mode/oval.svg","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/icons/bitmap.svg","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-in.svg","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-out.svg","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/icons/zoom-reset.svg","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/paint-editor.css?56ce","webpack://GUI/./node_modules/scratch-paint/src/components/paint-editor/paint-editor.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/rect-mode/rect-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/rect-mode/rectangle.svg","webpack://GUI/./node_modules/scratch-paint/src/components/reshape-mode/reshape-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/reshape-mode/reshape.svg","webpack://GUI/./node_modules/scratch-paint/src/components/scrollable-canvas/scrollable-canvas.css?3434","webpack://GUI/./node_modules/scratch-paint/src/components/scrollable-canvas/scrollable-canvas.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/select-mode/select-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/select-mode/select.svg","webpack://GUI/./node_modules/scratch-paint/src/components/stroke-color-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/stroke-width-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/text-mode/text-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/components/text-mode/text.svg","webpack://GUI/./node_modules/scratch-paint/src/components/tool-select-base/tool-select-base.css?a3f5","webpack://GUI/./node_modules/scratch-paint/src/components/tool-select-base/tool-select-base.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-brush-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-eraser-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-fill-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-line-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-oval-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-rect-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/bit-select-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/brush-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/color-picker.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/eraser-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/fill-color-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/fill-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/fixed-tools.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/font-dropdown.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/line-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/mode-tools.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/oval-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/paint-editor.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/paper-canvas.css?42e7","webpack://GUI/./node_modules/scratch-paint/src/containers/paper-canvas.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/rect-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/reshape-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/scrollable-canvas.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/select-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/stroke-color-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/stroke-width-indicator.jsx","webpack://GUI/./node_modules/scratch-paint/src/containers/text-mode.jsx","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/brush-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/fill-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/line-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/oval-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/rect-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bit-tools/select-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/bitmap.js","webpack://GUI/./node_modules/scratch-paint/src/helper/blob-tools/blob.js","webpack://GUI/./node_modules/scratch-paint/src/helper/blob-tools/broad-brush-helper.js","webpack://GUI/./node_modules/scratch-paint/src/helper/blob-tools/segment-brush-helper.js","webpack://GUI/./node_modules/scratch-paint/src/helper/compound-path.js","webpack://GUI/./node_modules/scratch-paint/src/helper/group.js","webpack://GUI/./node_modules/scratch-paint/src/helper/guides.js","webpack://GUI/./node_modules/scratch-paint/src/helper/hover.js","webpack://GUI/./node_modules/scratch-paint/src/helper/item.js","webpack://GUI/./node_modules/scratch-paint/src/helper/layer.js","webpack://GUI/./node_modules/scratch-paint/src/helper/math.js","webpack://GUI/./node_modules/scratch-paint/src/helper/order.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/bounding-box-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/handle-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/move-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/nudge-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/point-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/reshape-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/rotate-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/scale-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/select-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection-tools/selection-box-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/selection.js","webpack://GUI/./node_modules/scratch-paint/src/helper/snapping.js","webpack://GUI/./node_modules/scratch-paint/src/helper/style-path.js","webpack://GUI/./node_modules/scratch-paint/src/helper/tools/eye-dropper.js","webpack://GUI/./node_modules/scratch-paint/src/helper/tools/fill-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/tools/oval-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/tools/rect-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/tools/text-tool.js","webpack://GUI/./node_modules/scratch-paint/src/helper/undo.js","webpack://GUI/./node_modules/scratch-paint/src/helper/view.js","webpack://GUI/./node_modules/scratch-paint/src/hocs/copy-paste-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/hocs/keyboard-shortcuts-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/hocs/selection-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/hocs/undo-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/hocs/update-image-hoc.jsx","webpack://GUI/./node_modules/scratch-paint/src/index.js","webpack://GUI/./node_modules/scratch-paint/src/lib/cursors.js","webpack://GUI/./node_modules/scratch-paint/src/lib/fonts.js","webpack://GUI/./node_modules/scratch-paint/src/lib/format.js","webpack://GUI/./node_modules/scratch-paint/src/lib/gradient-types.js","webpack://GUI/./node_modules/scratch-paint/src/lib/hide-label.js","webpack://GUI/./node_modules/scratch-paint/src/lib/layout-constants.js","webpack://GUI/./node_modules/scratch-paint/src/lib/messages.js","webpack://GUI/./node_modules/scratch-paint/src/lib/modes.js","webpack://GUI/./node_modules/scratch-paint/src/lib/touch-utils.js","webpack://GUI/./node_modules/scratch-paint/src/log/log.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/bit-brush-size.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/bit-eraser-size.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/brush-mode.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/clipboard.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/color-index.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/color.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/cursor.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/eraser-mode.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/eye-dropper.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/fill-bitmap-shapes.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/fill-color-2.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/fill-color.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/fill-mode-gradient-type.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/fill-mode.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/font.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/format.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/hover.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/layout.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/modals.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/modes.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/scratch-paint-reducer.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/selected-items.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/selection-gradient-type.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/stroke-color.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/stroke-width.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/text-edit-target.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/undo.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/view-bounds.js","webpack://GUI/./node_modules/scratch-paint/src/reducers/zoom-levels.js","webpack://GUI/./node_modules/scratch-render-fonts/src/index.js","webpack://GUI/./node_modules/scratch-render/src/BitmapSkin.js","webpack://GUI/./node_modules/scratch-render/src/Drawable.js","webpack://GUI/./node_modules/scratch-render/src/EffectTransform.js","webpack://GUI/./node_modules/scratch-render/src/PenSkin.js","webpack://GUI/./node_modules/scratch-render/src/Rectangle.js","webpack://GUI/./node_modules/scratch-render/src/RenderConstants.js","webpack://GUI/./node_modules/scratch-render/src/RenderWebGL.js","webpack://GUI/./node_modules/scratch-render/src/SVGSkin.js","webpack://GUI/./node_modules/scratch-render/src/ShaderManager.js","webpack://GUI/./node_modules/scratch-render/src/Silhouette.js","webpack://GUI/./node_modules/scratch-render/src/Skin.js","webpack://GUI/./node_modules/scratch-render/src/TextBubbleSkin.js","webpack://GUI/./node_modules/scratch-render/src/index.js","webpack://GUI/./node_modules/scratch-render/src/util/canvas-measurement-provider.js","webpack://GUI/./node_modules/scratch-render/src/util/log.js","webpack://GUI/./node_modules/scratch-render/src/util/text-wrapper.js","webpack://GUI/./node_modules/scratch-storage/node_modules/base64-js/index.js","webpack://GUI/./node_modules/scratch-storage/src/Asset.js","webpack://GUI/./node_modules/scratch-storage/src/AssetType.js","webpack://GUI/./node_modules/scratch-storage/src/BuiltinHelper.js","webpack://GUI/./node_modules/scratch-storage/src/DataFormat.js","webpack://GUI/./node_modules/scratch-storage/src/FetchTool.js","webpack://GUI/./node_modules/scratch-storage/src/FetchWorkerTool.js","webpack://GUI/./node_modules/scratch-storage/src/Helper.js","webpack://GUI/./node_modules/scratch-storage/src/NetsTool.js","webpack://GUI/./node_modules/scratch-storage/src/ProxyTool.js","webpack://GUI/./node_modules/scratch-storage/src/ScratchStorage.js","webpack://GUI/./node_modules/scratch-storage/src/WebHelper.js","webpack://GUI/./node_modules/scratch-storage/src/index.js","webpack://GUI/./node_modules/scratch-storage/src/log.js","webpack://GUI/./node_modules/scratch-svg-renderer/node_modules/base64-js/index.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/bitmap-adapter.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/fixup-svg-string.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/font-converter.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/font-inliner.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/index.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/svg-element.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/svg-renderer.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/transform-applier.js","webpack://GUI/./node_modules/scratch-svg-renderer/src/util/log.js","webpack://GUI/./node_modules/scratch-vm/node_modules/@vernier/godirect/dist/godirect.min.umd.js","webpack://GUI/./node_modules/scratch-vm/node_modules/atob/browser-atob.js","webpack://GUI/./node_modules/scratch-vm/node_modules/btoa/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/canvas-toBlob/canvas-toBlob.js","webpack://GUI/./node_modules/scratch-vm/node_modules/decode-html/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/dom-serializer/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/dom-serializer/node_modules/domelementtype/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domelementtype/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domhandler/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domhandler/lib/element.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domhandler/lib/node.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/helpers.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/legacy.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/manipulation.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/querying.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/stringify.js","webpack://GUI/./node_modules/scratch-vm/node_modules/domutils/lib/traversal.js","webpack://GUI/./node_modules/scratch-vm/node_modules/entities/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/entities/lib/decode.js","webpack://GUI/./node_modules/scratch-vm/node_modules/entities/lib/decode_codepoint.js","webpack://GUI/./node_modules/scratch-vm/node_modules/entities/lib/encode.js","webpack://GUI/./node_modules/scratch-vm/node_modules/fast-deep-equal/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/fast-json-stable-stringify/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/for-each/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message-interpret/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message-interpret/node_modules/format-message-formats/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message-interpret/node_modules/lookup-closest-locale/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message-interpret/plurals.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message/node_modules/format-message-formats/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message/node_modules/format-message-parse/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/format-message/node_modules/lookup-closest-locale/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/global/window.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/CollectingHandler.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/FeedHandler.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/Parser.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/ProxyHandler.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/Stream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/Tokenizer.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/WritableStream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/htmlparser2/lib/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/immediate/lib/browser.js","webpack://GUI/./node_modules/scratch-vm/node_modules/immutable/dist/immutable.js","webpack://GUI/./node_modules/scratch-vm/node_modules/inherits/inherits_browser.js","webpack://GUI/./node_modules/scratch-vm/node_modules/is-function/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/js-md5/src/md5.js","webpack://GUI/./node_modules/scratch-vm/node_modules/json-schema-traverse/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/base64.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/compressedObject.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/compressions.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/crc32.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/defaults.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/external.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/flate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/generate/ZipFileWorker.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/generate/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/load.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/nodejsUtils.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/object.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/readable-stream-browser.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/ArrayReader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/DataReader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/NodeBufferReader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/StringReader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/Uint8ArrayReader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/reader/readerFor.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/signature.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/ConvertWorker.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/Crc32Probe.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/DataLengthProbe.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/DataWorker.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/GenericWorker.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/stream/StreamHelper.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/support.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/utf8.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/utils.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/zipEntries.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/zipEntry.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/lib/zipObject.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/fn/set-immediate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_a-function.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_an-object.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_cof.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_core.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_ctx.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_descriptors.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_dom-create.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_export.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_fails.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_global.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_hide.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_html.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_invoke.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_is-object.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_object-dp.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_property-desc.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_task.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/_to-primitive.js","webpack://GUI/./node_modules/scratch-vm/node_modules/jszip/node_modules/core-js/library/modules/web.immediate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/lie/lib/browser.js","webpack://GUI/./node_modules/scratch-vm/node_modules/microee/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/common/filter.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/common/minilog.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/common/transform.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/array.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/console.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/formatters/color.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/formatters/minilog.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/formatters/util.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/jquery_simple.js","webpack://GUI/./node_modules/scratch-vm/node_modules/minilog/lib/web/localstorage.js","webpack://GUI/./node_modules/scratch-vm/node_modules/nets/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/deflate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/inflate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/utils/common.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/utils/strings.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/adler32.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/constants.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/crc32.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/deflate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/gzheader.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/inffast.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/inflate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/inftrees.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/messages.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/trees.js","webpack://GUI/./node_modules/scratch-vm/node_modules/pako/lib/zlib/zstream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/parse-headers/parse-headers.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/lib/parse.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/lib/unpack.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/lib/unzip.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/lib/validate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/ajv.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/cache.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/async.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/error_classes.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/formats.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/resolve.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/rules.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/schema_obj.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/ucs2length.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/compile/util.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/data.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/_limit.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/_limitItems.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/_limitLength.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/_limitProperties.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/allOf.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/anyOf.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/comment.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/const.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/contains.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/custom.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/dependencies.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/enum.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/format.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/if.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/items.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/multipleOf.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/not.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/oneOf.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/pattern.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/properties.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/propertyNames.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/ref.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/required.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/uniqueItems.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/dotjs/validate.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/ajv/lib/keyword.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-parser/node_modules/pify/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/adler32.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/byte-packets.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/byte-primitives.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/byte-stream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/crc32.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/deflate-packets.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/deflate-stream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/png-chunk-stream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/png-file.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/png-packets.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/proxy-stream.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/squeak-image.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/squeak-sound.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/wav-file.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/coders/wav-packets.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/sb1-file-packets.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/sb1-file.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/byte-primitives.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/byte-take-iterator.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/field-iterator.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/field-object.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/fields.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/ids.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/reference-fixer.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/type-iterator.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/squeak/types.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/to-sb2/fake-zip.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/to-sb2/json-generator.js","webpack://GUI/./node_modules/scratch-vm/node_modules/scratch-sb1-converter/src/util/assert.js","webpack://GUI/./node_modules/scratch-vm/node_modules/text-encoding/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/text-encoding/lib/encoding-indexes.js","webpack://GUI/./node_modules/scratch-vm/node_modules/text-encoding/lib/encoding.js","webpack://GUI/./node_modules/scratch-vm/node_modules/trim/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/xhr/index.js","webpack://GUI/./node_modules/scratch-vm/node_modules/xtend/immutable.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_control.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_core_example.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_data.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_event.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_looks.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_motion.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_operators.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_procedures.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_sensing.js","webpack://GUI/./node_modules/scratch-vm/src/blocks/scratch3_sound.js","webpack://GUI/./node_modules/scratch-vm/src/dispatch/central-dispatch.js","webpack://GUI/./node_modules/scratch-vm/src/dispatch/shared-dispatch.js","webpack://GUI/./node_modules/scratch-vm/src/engine/adapter.js","webpack://GUI/./node_modules/scratch-vm/src/engine/block-utility.js","webpack://GUI/./node_modules/scratch-vm/src/engine/blocks-execute-cache.js","webpack://GUI/./node_modules/scratch-vm/src/engine/blocks-runtime-cache.js","webpack://GUI/./node_modules/scratch-vm/src/engine/blocks.js","webpack://GUI/./node_modules/scratch-vm/src/engine/comment.js","webpack://GUI/./node_modules/scratch-vm/src/engine/execute.js","webpack://GUI/./node_modules/scratch-vm/src/engine/monitor-record.js","webpack://GUI/./node_modules/scratch-vm/src/engine/mutation-adapter.js","webpack://GUI/./node_modules/scratch-vm/src/engine/profiler.js","webpack://GUI/./node_modules/scratch-vm/src/engine/runtime.js","webpack://GUI/./node_modules/scratch-vm/src/engine/scratch-blocks-constants.js","webpack://GUI/./node_modules/scratch-vm/src/engine/sequencer.js","webpack://GUI/./node_modules/scratch-vm/src/engine/stage-layering.js","webpack://GUI/./node_modules/scratch-vm/src/engine/target.js","webpack://GUI/./node_modules/scratch-vm/src/engine/thread.js","webpack://GUI/./node_modules/scratch-vm/src/engine/variable.js","webpack://GUI/./node_modules/scratch-vm/src/extension-support/argument-type.js","webpack://GUI/./node_modules/scratch-vm/src/extension-support/block-type.js","webpack://GUI/./node_modules/scratch-vm/src/extension-support/extension-manager.js","webpack://GUI/./node_modules/scratch-vm/src/extension-support/target-type.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_boost/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_ev3/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_gdx_for/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_gdx_for/scratch-link-device-adapter.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_makeymakey/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_microbit/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_music/manifest.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_pen/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_text2speech/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_translate/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_video_sensing/index.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_video_sensing/library.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_video_sensing/math.js","webpack://GUI/./node_modules/scratch-vm/src/extensions/scratch3_wedo2/index.js","webpack://GUI/./node_modules/scratch-vm/src/import/load-costume.js","webpack://GUI/./node_modules/scratch-vm/src/import/load-sound.js","webpack://GUI/./node_modules/scratch-vm/src/index.js","webpack://GUI/./node_modules/scratch-vm/src/io/ble.js","webpack://GUI/./node_modules/scratch-vm/src/io/bt.js","webpack://GUI/./node_modules/scratch-vm/src/io/clock.js","webpack://GUI/./node_modules/scratch-vm/src/io/cloud.js","webpack://GUI/./node_modules/scratch-vm/src/io/keyboard.js","webpack://GUI/./node_modules/scratch-vm/src/io/mouse.js","webpack://GUI/./node_modules/scratch-vm/src/io/mouseWheel.js","webpack://GUI/./node_modules/scratch-vm/src/io/userData.js","webpack://GUI/./node_modules/scratch-vm/src/io/video.js","webpack://GUI/./node_modules/scratch-vm/src/serialization/deserialize-assets.js","webpack://GUI/./node_modules/scratch-vm/src/serialization/sb2.js","webpack://GUI/./node_modules/scratch-vm/src/serialization/sb2_specmap.js","webpack://GUI/./node_modules/scratch-vm/src/serialization/sb3.js","webpack://GUI/./node_modules/scratch-vm/src/serialization/serialize-assets.js","webpack://GUI/./node_modules/scratch-vm/src/sprites/rendered-target.js","webpack://GUI/./node_modules/scratch-vm/src/sprites/sprite.js","webpack://GUI/./node_modules/scratch-vm/src/util/base64-util.js","webpack://GUI/./node_modules/scratch-vm/src/util/cast.js","webpack://GUI/./node_modules/scratch-vm/src/util/clone.js","webpack://GUI/./node_modules/scratch-vm/src/util/color.js","webpack://GUI/./node_modules/scratch-vm/src/util/get-monitor-id.js","webpack://GUI/./node_modules/scratch-vm/src/util/jsonrpc.js","webpack://GUI/./node_modules/scratch-vm/src/util/log.js","webpack://GUI/./node_modules/scratch-vm/src/util/math-util.js","webpack://GUI/./node_modules/scratch-vm/src/util/maybe-format-message.js","webpack://GUI/./node_modules/scratch-vm/src/util/new-block-ids.js","webpack://GUI/./node_modules/scratch-vm/src/util/rateLimiter.js","webpack://GUI/./node_modules/scratch-vm/src/util/scratch-link-websocket.js","webpack://GUI/./node_modules/scratch-vm/src/util/string-util.js","webpack://GUI/./node_modules/scratch-vm/src/util/timer.js","webpack://GUI/./node_modules/scratch-vm/src/util/uid.js","webpack://GUI/./node_modules/scratch-vm/src/util/variable-util.js","webpack://GUI/./node_modules/scratch-vm/src/util/xml-escape.js","webpack://GUI/./node_modules/scratch-vm/src/virtual-machine.js","webpack://GUI/./node_modules/setimmediate/setImmediate.js","webpack://GUI/./node_modules/startaudiocontext/StartAudioContext.js","webpack://GUI/./node_modules/stream-browserify/index.js","webpack://GUI/./node_modules/strict-uri-encode/index.js","webpack://GUI/./node_modules/string.prototype.trim/implementation.js","webpack://GUI/./node_modules/string.prototype.trim/index.js","webpack://GUI/./node_modules/string.prototype.trim/polyfill.js","webpack://GUI/./node_modules/string.prototype.trim/shim.js","webpack://GUI/./node_modules/string_decoder/lib/string_decoder.js","webpack://GUI/./node_modules/style-loader/lib/addStyles.js","webpack://GUI/./node_modules/style-loader/lib/urls.js","webpack://GUI/./node_modules/symbol-observable/es/index.js","webpack://GUI/./node_modules/symbol-observable/es/ponyfill.js","webpack://GUI/./node_modules/text-encoding/index.js","webpack://GUI/./node_modules/text-encoding/lib/encoding-indexes.js","webpack://GUI/./node_modules/text-encoding/lib/encoding.js","webpack://GUI/./node_modules/timers-browserify/main.js","webpack://GUI/./node_modules/tiny-inflate/index.js","webpack://GUI/./node_modules/to-style/index.js","webpack://GUI/./node_modules/to-style/src/cssPrefix.js","webpack://GUI/./node_modules/to-style/src/cssUnitless.js","webpack://GUI/./node_modules/to-style/src/hasOwn.js","webpack://GUI/./node_modules/to-style/src/isFunction.js","webpack://GUI/./node_modules/to-style/src/isObject.js","webpack://GUI/./node_modules/to-style/src/prefixInfo.js","webpack://GUI/./node_modules/to-style/src/prefixProperties.js","webpack://GUI/./node_modules/to-style/src/prefixer.js","webpack://GUI/./node_modules/to-style/src/stringUtils/camelize.js","webpack://GUI/./node_modules/to-style/src/stringUtils/hyphenRe.js","webpack://GUI/./node_modules/to-style/src/stringUtils/hyphenate.js","webpack://GUI/./node_modules/to-style/src/stringUtils/separate.js","webpack://GUI/./node_modules/to-style/src/stringUtils/toLowerFirst.js","webpack://GUI/./node_modules/to-style/src/stringUtils/toUpperFirst.js","webpack://GUI/./node_modules/to-style/src/toStyleObject.js","webpack://GUI/./node_modules/to-style/src/toStyleString.js","webpack://GUI/./node_modules/transformation-matrix/build-umd/transformation-matrix.min.js","webpack://GUI/./node_modules/twgl.js/dist/4.x/twgl-full.js","webpack://GUI/./node_modules/unicode-trie/index.js","webpack://GUI/./node_modules/url/url.js","webpack://GUI/./node_modules/url/util.js","webpack://GUI/./node_modules/util-deprecate/browser.js","webpack://GUI/./node_modules/warning/warning.js","webpack://GUI/./node_modules/wav-encoder/index.js","webpack://GUI/(webpack)/buildin/amd-define.js","webpack://GUI/(webpack)/buildin/amd-options.js","webpack://GUI/(webpack)/buildin/global.js","webpack://GUI/(webpack)/buildin/harmony-module.js","webpack://GUI/(webpack)/buildin/module.js","webpack://GUI/./node_modules/scratch-storage/src/FetchWorkerTool.worker.js","webpack://GUI/./node_modules/worker-loader/dist/workers/InlineWorker.js","webpack://GUI/./node_modules/xhr/index.js","webpack://GUI/./node_modules/xhr/node_modules/global/window.js","webpack://GUI/./node_modules/xtend/immutable.js","webpack://GUI/./src/components/action-menu/action-menu.css?bdb9","webpack://GUI/./src/components/action-menu/action-menu.jsx","webpack://GUI/./src/components/action-menu/icon--backdrop.svg","webpack://GUI/./src/components/action-menu/icon--camera.svg","webpack://GUI/./src/components/action-menu/icon--file-upload.svg","webpack://GUI/./src/components/action-menu/icon--paint.svg","webpack://GUI/./src/components/action-menu/icon--search.svg","webpack://GUI/./src/components/action-menu/icon--sprite.svg","webpack://GUI/./src/components/action-menu/icon--surprise.svg","webpack://GUI/./src/components/alerts/alert.css?d79a","webpack://GUI/./src/components/alerts/alert.jsx","webpack://GUI/./src/components/alerts/alerts.css?d97e","webpack://GUI/./src/components/alerts/alerts.jsx","webpack://GUI/./src/components/alerts/inline-message.css?7847","webpack://GUI/./src/components/alerts/inline-message.jsx","webpack://GUI/./src/components/asset-panel/asset-panel.css?b9e6","webpack://GUI/./src/components/asset-panel/asset-panel.jsx","webpack://GUI/./src/components/asset-panel/icon--add-backdrop-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-costume-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-sound-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-sound-record.svg","webpack://GUI/./src/components/asset-panel/icon--sound-rtl.svg","webpack://GUI/./src/components/asset-panel/icon--sound.svg","webpack://GUI/./src/components/asset-panel/selector.css?7bea","webpack://GUI/./src/components/asset-panel/selector.jsx","webpack://GUI/./src/components/asset-panel/sortable-asset.jsx","webpack://GUI/./src/components/audio-trimmer/audio-selector.jsx","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.css?ece8","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.jsx","webpack://GUI/./src/components/audio-trimmer/icon--handle.svg","webpack://GUI/./src/components/audio-trimmer/playhead.jsx","webpack://GUI/./src/components/audio-trimmer/selection-handle.jsx","webpack://GUI/./src/components/backpack/backpack.css?c811","webpack://GUI/./src/components/backpack/backpack.jsx","webpack://GUI/./src/components/blocks/blocks.css?cc3d","webpack://GUI/./src/components/blocks/blocks.jsx","webpack://GUI/./src/components/box/box.css?476f","webpack://GUI/./src/components/box/box.jsx","webpack://GUI/./src/components/browser-modal/browser-modal.css?e794","webpack://GUI/./src/components/browser-modal/browser-modal.jsx","webpack://GUI/./src/components/browser-modal/unsupported-browser.svg","webpack://GUI/./src/components/button/button.css?9cd9","webpack://GUI/./src/components/button/button.jsx","webpack://GUI/./src/components/camera-modal/camera-modal.css?2837","webpack://GUI/./src/components/camera-modal/camera-modal.jsx","webpack://GUI/./src/components/camera-modal/icon--back.svg","webpack://GUI/./src/components/cards/card.css?1463","webpack://GUI/./src/components/cards/cards.jsx","webpack://GUI/./src/components/cards/icon--close.svg","webpack://GUI/./src/components/cards/icon--expand.svg","webpack://GUI/./src/components/cards/icon--next.svg","webpack://GUI/./src/components/cards/icon--prev.svg","webpack://GUI/./src/components/cards/icon--shrink.svg","webpack://GUI/./src/components/close-button/close-button.css?ca11","webpack://GUI/./src/components/close-button/close-button.jsx","webpack://GUI/./src/components/close-button/icon--close-orange.svg","webpack://GUI/./src/components/close-button/icon--close.svg","webpack://GUI/./src/components/coming-soon/aww-cat.png","webpack://GUI/./src/components/coming-soon/coming-soon.css?6f03","webpack://GUI/./src/components/coming-soon/coming-soon.jsx","webpack://GUI/./src/components/coming-soon/cool-cat.png","webpack://GUI/./src/components/connection-modal/auto-scanning-step.jsx","webpack://GUI/./src/components/connection-modal/connected-step.jsx","webpack://GUI/./src/components/connection-modal/connecting-step.jsx","webpack://GUI/./src/components/connection-modal/connection-modal.css?b43b","webpack://GUI/./src/components/connection-modal/connection-modal.jsx","webpack://GUI/./src/components/connection-modal/dots.jsx","webpack://GUI/./src/components/connection-modal/error-step.jsx","webpack://GUI/./src/components/connection-modal/icons/back.svg","webpack://GUI/./src/components/connection-modal/icons/bluetooth-white.svg","webpack://GUI/./src/components/connection-modal/icons/bluetooth.svg","webpack://GUI/./src/components/connection-modal/icons/help.svg","webpack://GUI/./src/components/connection-modal/icons/refresh.svg","webpack://GUI/./src/components/connection-modal/icons/scratchlink.svg","webpack://GUI/./src/components/connection-modal/icons/searching.png","webpack://GUI/./src/components/connection-modal/peripheral-tile.jsx","webpack://GUI/./src/components/connection-modal/scanning-step.jsx","webpack://GUI/./src/components/connection-modal/unavailable-step.jsx","webpack://GUI/./src/components/context-menu/context-menu.css?e836","webpack://GUI/./src/components/context-menu/context-menu.jsx","webpack://GUI/./src/components/controls/controls.css?e8e1","webpack://GUI/./src/components/controls/controls.jsx","webpack://GUI/./src/components/crash-message/crash-message.css?bf1f","webpack://GUI/./src/components/crash-message/crash-message.jsx","webpack://GUI/./src/components/crash-message/reload.svg","webpack://GUI/./src/components/custom-procedures/custom-procedures.css?7a6f","webpack://GUI/./src/components/custom-procedures/custom-procedures.jsx","webpack://GUI/./src/components/custom-procedures/icon--boolean-input.svg","webpack://GUI/./src/components/custom-procedures/icon--label.svg","webpack://GUI/./src/components/custom-procedures/icon--text-input.svg","webpack://GUI/./src/components/delete-button/delete-button.css?d6f1","webpack://GUI/./src/components/delete-button/delete-button.jsx","webpack://GUI/./src/components/delete-button/icon--delete.svg","webpack://GUI/./src/components/direction-picker/dial.css?1d90","webpack://GUI/./src/components/direction-picker/dial.jsx","webpack://GUI/./src/components/direction-picker/direction-picker.css?36be","webpack://GUI/./src/components/direction-picker/direction-picker.jsx","webpack://GUI/./src/components/direction-picker/icon--all-around.svg","webpack://GUI/./src/components/direction-picker/icon--dial.svg","webpack://GUI/./src/components/direction-picker/icon--dont-rotate.svg","webpack://GUI/./src/components/direction-picker/icon--handle.svg","webpack://GUI/./src/components/direction-picker/icon--left-right.svg","webpack://GUI/./src/components/divider/divider.css?a745","webpack://GUI/./src/components/divider/divider.jsx","webpack://GUI/./src/components/drag-layer/drag-layer.css?3de6","webpack://GUI/./src/components/drag-layer/drag-layer.jsx","webpack://GUI/./src/components/filter/filter.css?78e6","webpack://GUI/./src/components/filter/filter.jsx","webpack://GUI/./src/components/filter/icon--filter.svg","webpack://GUI/./src/components/filter/icon--x.svg","webpack://GUI/./src/components/forms/buffered-input-hoc.jsx","webpack://GUI/./src/components/forms/input.css?97cf","webpack://GUI/./src/components/forms/input.jsx","webpack://GUI/./src/components/forms/label.css?d07d","webpack://GUI/./src/components/forms/label.jsx","webpack://GUI/./src/components/green-flag/green-flag.css?edb5","webpack://GUI/./src/components/green-flag/green-flag.jsx","webpack://GUI/./src/components/green-flag/icon--green-flag.svg","webpack://GUI/./src/components/gui/gui.css?7e88","webpack://GUI/./src/components/gui/gui.jsx","webpack://GUI/./src/components/gui/icon--code.svg","webpack://GUI/./src/components/gui/icon--costumes.svg","webpack://GUI/./src/components/gui/icon--extensions.svg","webpack://GUI/./src/components/gui/icon--sounds.svg","webpack://GUI/./src/components/icon-button/icon-button.css?df91","webpack://GUI/./src/components/icon-button/icon-button.jsx","webpack://GUI/./src/components/language-selector/language-icon.svg","webpack://GUI/./src/components/language-selector/language-selector.css?a1e1","webpack://GUI/./src/components/language-selector/language-selector.jsx","webpack://GUI/./src/components/library-item/bluetooth.svg","webpack://GUI/./src/components/library-item/internet-connection.svg","webpack://GUI/./src/components/library-item/lib-icon--sound-rtl.svg","webpack://GUI/./src/components/library-item/lib-icon--sound.svg","webpack://GUI/./src/components/library-item/library-item.css?f982","webpack://GUI/./src/components/library-item/library-item.jsx","webpack://GUI/./src/components/library/library.css?a5aa","webpack://GUI/./src/components/library/library.jsx","webpack://GUI/./src/components/loader/bottom-block.svg","webpack://GUI/./src/components/loader/loader.css?b840","webpack://GUI/./src/components/loader/loader.jsx","webpack://GUI/./src/components/loader/middle-block.svg","webpack://GUI/./src/components/loader/top-block.svg","webpack://GUI/./src/components/loupe/loupe.css?75a2","webpack://GUI/./src/components/loupe/loupe.jsx","webpack://GUI/./src/components/menu-bar/account-nav.css?d5e9","webpack://GUI/./src/components/menu-bar/account-nav.jsx","webpack://GUI/./src/components/menu-bar/author-info.css?d741","webpack://GUI/./src/components/menu-bar/author-info.jsx","webpack://GUI/./src/components/menu-bar/community-button.css?1901","webpack://GUI/./src/components/menu-bar/community-button.jsx","webpack://GUI/./src/components/menu-bar/dropdown-caret.svg","webpack://GUI/./src/components/menu-bar/icon--mystuff.png","webpack://GUI/./src/components/menu-bar/icon--profile.png","webpack://GUI/./src/components/menu-bar/icon--remix.svg","webpack://GUI/./src/components/menu-bar/icon--see-community.svg","webpack://GUI/./src/components/menu-bar/login-dropdown.css?63f7","webpack://GUI/./src/components/menu-bar/login-dropdown.jsx","webpack://GUI/./src/components/menu-bar/menu-bar-menu.jsx","webpack://GUI/./src/components/menu-bar/menu-bar.css?6d88","webpack://GUI/./src/components/menu-bar/menu-bar.jsx","webpack://GUI/./src/components/menu-bar/project-title-input.css?deeb","webpack://GUI/./src/components/menu-bar/project-title-input.jsx","webpack://GUI/./src/components/menu-bar/save-status.css?2a69","webpack://GUI/./src/components/menu-bar/save-status.jsx","webpack://GUI/./src/components/menu-bar/scratch-logo.svg","webpack://GUI/./src/components/menu-bar/share-button.css?024b","webpack://GUI/./src/components/menu-bar/share-button.jsx","webpack://GUI/./src/components/menu-bar/user-avatar.css?daa7","webpack://GUI/./src/components/menu-bar/user-avatar.jsx","webpack://GUI/./src/components/menu/menu.css?fded","webpack://GUI/./src/components/menu/menu.jsx","webpack://GUI/./src/components/meter/meter.css?8842","webpack://GUI/./src/components/meter/meter.jsx","webpack://GUI/./src/components/mic-indicator/mic-indicator.css?601e","webpack://GUI/./src/components/mic-indicator/mic-indicator.jsx","webpack://GUI/./src/components/mic-indicator/mic-indicator.svg","webpack://GUI/./src/components/modal/modal.css?6c48","webpack://GUI/./src/components/modal/modal.jsx","webpack://GUI/./src/components/monitor-list/monitor-list.css?51ed","webpack://GUI/./src/components/monitor-list/monitor-list.jsx","webpack://GUI/./src/components/monitor/default-monitor.jsx","webpack://GUI/./src/components/monitor/large-monitor.jsx","webpack://GUI/./src/components/monitor/list-monitor-scroller.jsx","webpack://GUI/./src/components/monitor/list-monitor.jsx","webpack://GUI/./src/components/monitor/monitor.css?e42e","webpack://GUI/./src/components/monitor/monitor.jsx","webpack://GUI/./src/components/monitor/slider-monitor.jsx","webpack://GUI/./src/components/play-button/icon--play.svg","webpack://GUI/./src/components/play-button/icon--stop.svg","webpack://GUI/./src/components/play-button/play-button.css?3af6","webpack://GUI/./src/components/play-button/play-button.jsx","webpack://GUI/./src/components/prompt/prompt.css?f64c","webpack://GUI/./src/components/prompt/prompt.jsx","webpack://GUI/./src/components/question/icon--enter.svg","webpack://GUI/./src/components/question/question.css?6320","webpack://GUI/./src/components/question/question.jsx","webpack://GUI/./src/components/record-modal/icon--back.svg","webpack://GUI/./src/components/record-modal/icon--play.svg","webpack://GUI/./src/components/record-modal/icon--stop-playback.svg","webpack://GUI/./src/components/record-modal/icon--stop-recording.svg","webpack://GUI/./src/components/record-modal/playback-step.jsx","webpack://GUI/./src/components/record-modal/record-modal.css?ac67","webpack://GUI/./src/components/record-modal/record-modal.jsx","webpack://GUI/./src/components/record-modal/recording-step.jsx","webpack://GUI/./src/components/slider-prompt/slider-prompt.css?1e1e","webpack://GUI/./src/components/slider-prompt/slider-prompt.jsx","webpack://GUI/./src/components/sound-editor/icon--copy-to-new.svg","webpack://GUI/./src/components/sound-editor/icon--copy.svg","webpack://GUI/./src/components/sound-editor/icon--delete.svg","webpack://GUI/./src/components/sound-editor/icon--fade-in.svg","webpack://GUI/./src/components/sound-editor/icon--fade-out.svg","webpack://GUI/./src/components/sound-editor/icon--faster.svg","webpack://GUI/./src/components/sound-editor/icon--louder.svg","webpack://GUI/./src/components/sound-editor/icon--mute.svg","webpack://GUI/./src/components/sound-editor/icon--paste.svg","webpack://GUI/./src/components/sound-editor/icon--play.svg","webpack://GUI/./src/components/sound-editor/icon--redo.svg","webpack://GUI/./src/components/sound-editor/icon--reverse.svg","webpack://GUI/./src/components/sound-editor/icon--robot.svg","webpack://GUI/./src/components/sound-editor/icon--slower.svg","webpack://GUI/./src/components/sound-editor/icon--softer.svg","webpack://GUI/./src/components/sound-editor/icon--stop.svg","webpack://GUI/./src/components/sound-editor/icon--undo.svg","webpack://GUI/./src/components/sound-editor/sound-editor.css?5a86","webpack://GUI/./src/components/sound-editor/sound-editor.jsx","webpack://GUI/./src/components/spinner/spinner.css?1a2a","webpack://GUI/./src/components/spinner/spinner.jsx","webpack://GUI/./src/components/sprite-info/icon--hide.svg","webpack://GUI/./src/components/sprite-info/icon--show.svg","webpack://GUI/./src/components/sprite-info/icon--x.svg","webpack://GUI/./src/components/sprite-info/icon--y.svg","webpack://GUI/./src/components/sprite-info/sprite-info.css?cb1e","webpack://GUI/./src/components/sprite-info/sprite-info.jsx","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.css?eba5","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.jsx","webpack://GUI/./src/components/sprite-selector/sprite-list.jsx","webpack://GUI/./src/components/sprite-selector/sprite-selector.css?2d9e","webpack://GUI/./src/components/sprite-selector/sprite-selector.jsx","webpack://GUI/./src/components/stage-header/icon--fullscreen.svg","webpack://GUI/./src/components/stage-header/icon--large-stage.svg","webpack://GUI/./src/components/stage-header/icon--small-stage.svg","webpack://GUI/./src/components/stage-header/icon--unfullscreen.svg","webpack://GUI/./src/components/stage-header/stage-header.css?0f2f","webpack://GUI/./src/components/stage-header/stage-header.jsx","webpack://GUI/./src/components/stage-selector/stage-selector.css?eaeb","webpack://GUI/./src/components/stage-selector/stage-selector.jsx","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.css?c1cb","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.jsx","webpack://GUI/./src/components/stage/stage.css?84f0","webpack://GUI/./src/components/stage/stage.jsx","webpack://GUI/./src/components/stop-all/icon--stop-all.svg","webpack://GUI/./src/components/stop-all/stop-all.css?457f","webpack://GUI/./src/components/stop-all/stop-all.jsx","webpack://GUI/./src/components/tag-button/tag-button.css?c590","webpack://GUI/./src/components/tag-button/tag-button.jsx","webpack://GUI/./src/components/target-pane/target-pane.css?1197","webpack://GUI/./src/components/target-pane/target-pane.jsx","webpack://GUI/./src/components/telemetry-modal/telemetry-modal-header.png","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.css?efde","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.jsx","webpack://GUI/./src/components/turbo-mode/icon--turbo.svg","webpack://GUI/./src/components/turbo-mode/turbo-mode.css?82a6","webpack://GUI/./src/components/turbo-mode/turbo-mode.jsx","webpack://GUI/./src/components/watermark/watermark.css?5339","webpack://GUI/./src/components/watermark/watermark.jsx","webpack://GUI/./src/components/waveform/waveform.css?c57a","webpack://GUI/./src/components/waveform/waveform.jsx","webpack://GUI/./src/components/webgl-modal/unsupported.png","webpack://GUI/./src/components/webgl-modal/webgl-modal.css?2fac","webpack://GUI/./src/components/webgl-modal/webgl-modal.jsx","webpack://GUI/./src/containers/account-nav.jsx","webpack://GUI/./src/containers/alert.jsx","webpack://GUI/./src/containers/alerts.jsx","webpack://GUI/./src/containers/audio-selector.jsx","webpack://GUI/./src/containers/audio-trimmer.jsx","webpack://GUI/./src/containers/auto-scanning-step.jsx","webpack://GUI/./src/containers/backdrop-library.jsx","webpack://GUI/./src/containers/backpack.jsx","webpack://GUI/./src/containers/blocks.jsx","webpack://GUI/./src/containers/camera-modal.jsx","webpack://GUI/./src/containers/cards.jsx","webpack://GUI/./src/containers/connection-modal.jsx","webpack://GUI/./src/containers/controls.jsx","webpack://GUI/./src/containers/costume-library.jsx","webpack://GUI/./src/containers/costume-tab.jsx","webpack://GUI/./src/containers/custom-procedures.jsx","webpack://GUI/./src/containers/deletion-restorer.jsx","webpack://GUI/./src/containers/direction-picker.jsx","webpack://GUI/./src/containers/dom-element-renderer.jsx","webpack://GUI/./src/containers/drag-layer.jsx","webpack://GUI/./src/containers/error-boundary.jsx","webpack://GUI/./src/containers/extension-library.jsx","webpack://GUI/./src/containers/green-flag-overlay.jsx","webpack://GUI/./src/containers/gui.jsx","webpack://GUI/./src/containers/inline-messages.jsx","webpack://GUI/./src/containers/language-selector.jsx","webpack://GUI/./src/containers/library-item.jsx","webpack://GUI/./src/containers/list-monitor.jsx","webpack://GUI/./src/containers/menu-bar-hoc.jsx","webpack://GUI/./src/containers/menu-item.jsx","webpack://GUI/./src/containers/menu.jsx","webpack://GUI/./src/containers/modal.jsx","webpack://GUI/./src/containers/monitor-list.jsx","webpack://GUI/./src/containers/monitor.jsx","webpack://GUI/./src/containers/paint-editor-wrapper.jsx","webpack://GUI/./src/containers/play-button.jsx","webpack://GUI/./src/containers/playback-step.jsx","webpack://GUI/./src/containers/project-watcher.jsx","webpack://GUI/./src/containers/prompt.jsx","webpack://GUI/./src/containers/question.jsx","webpack://GUI/./src/containers/record-modal.jsx","webpack://GUI/./src/containers/recording-step.jsx","webpack://GUI/./src/containers/sb-file-uploader.jsx","webpack://GUI/./src/containers/sb3-downloader.jsx","webpack://GUI/./src/containers/scanning-step.jsx","webpack://GUI/./src/containers/slider-monitor.jsx","webpack://GUI/./src/containers/slider-prompt.jsx","webpack://GUI/./src/containers/sound-editor.jsx","webpack://GUI/./src/containers/sound-library.jsx","webpack://GUI/./src/containers/sound-tab.jsx","webpack://GUI/./src/containers/sprite-info.jsx","webpack://GUI/./src/containers/sprite-library.jsx","webpack://GUI/./src/containers/sprite-selector-item.jsx","webpack://GUI/./src/containers/stage-header.jsx","webpack://GUI/./src/containers/stage-selector.jsx","webpack://GUI/./src/containers/stage-wrapper.jsx","webpack://GUI/./src/containers/stage.jsx","webpack://GUI/./src/containers/tag-button.jsx","webpack://GUI/./src/containers/target-highlight.jsx","webpack://GUI/./src/containers/target-pane.jsx","webpack://GUI/./src/containers/tips-library.jsx","webpack://GUI/./src/containers/turbo-mode.jsx","webpack://GUI/./src/containers/watermark.jsx","webpack://GUI/./src/containers/webgl-modal.jsx","webpack://GUI/./src/lib/alerts/index.jsx","webpack://GUI/./src/lib/analytics.js","webpack://GUI/./src/lib/app-state-hoc.jsx","webpack://GUI/./src/lib/assets/icon--back.svg","webpack://GUI/./src/lib/assets/icon--help.svg","webpack://GUI/./src/lib/assets/icon--success.svg","webpack://GUI/./src/lib/assets/icon--tutorials.svg","webpack://GUI/./src/lib/audio/audio-buffer-player.js","webpack://GUI/./src/lib/audio/audio-effects.js","webpack://GUI/./src/lib/audio/audio-recorder.js","webpack://GUI/./src/lib/audio/audio-util.js","webpack://GUI/./src/lib/audio/effects/echo-effect.js","webpack://GUI/./src/lib/audio/effects/fade-effect.js","webpack://GUI/./src/lib/audio/effects/mute-effect.js","webpack://GUI/./src/lib/audio/effects/robot-effect.js","webpack://GUI/./src/lib/audio/effects/volume-effect.js","webpack://GUI/./src/lib/audio/shared-audio-context.js","webpack://GUI/./src/lib/backpack-api.js","webpack://GUI/./src/lib/backpack/block-to-image.js","webpack://GUI/./src/lib/backpack/code-payload.js","webpack://GUI/./src/lib/backpack/costume-payload.js","webpack://GUI/./src/lib/backpack/jpeg-thumbnail.js","webpack://GUI/./src/lib/backpack/sound-payload.js","webpack://GUI/./src/lib/backpack/sprite-payload.js","webpack://GUI/./src/lib/blocks.js","webpack://GUI/./src/lib/cloud-manager-hoc.jsx","webpack://GUI/./src/lib/cloud-provider.js","webpack://GUI/./src/lib/collect-metadata.js","webpack://GUI/./src/lib/connected-intl-provider.jsx","webpack://GUI/./src/lib/data-uri-to-blob.js","webpack://GUI/./src/lib/default-project/index.js","webpack://GUI/./src/lib/default-project/project-data.js","webpack://GUI/./src/lib/define-dynamic-block.js","webpack://GUI/./src/lib/detect-locale.js","webpack://GUI/./src/lib/download-blob.js","webpack://GUI/./src/lib/drag-constants.js","webpack://GUI/./src/lib/drag-recognizer.js","webpack://GUI/./src/lib/drag-utils.js","webpack://GUI/./src/lib/drop-area-hoc.jsx","webpack://GUI/./src/lib/empty-assets.js","webpack://GUI/./src/lib/error-boundary-hoc.jsx","webpack://GUI/./src/lib/file-uploader.js","webpack://GUI/./src/lib/font-loader-hoc.jsx","webpack://GUI/./src/lib/get-costume-url.js","webpack://GUI/./src/lib/gif-decoder.js","webpack://GUI/./src/lib/hash-parser-hoc.jsx","webpack://GUI/./src/lib/import-csv.js","webpack://GUI/./src/lib/isScratchDesktop.js","webpack://GUI/./src/lib/layout-constants.js","webpack://GUI/./src/lib/libraries/backdrop-tags.js","webpack://GUI/./src/lib/libraries/decks/en-steps.js","webpack://GUI/./src/lib/libraries/decks/index.jsx","webpack://GUI/./src/lib/libraries/decks/steps/add-backdrop.en.png","webpack://GUI/./src/lib/libraries/decks/steps/add-effects.en.png","webpack://GUI/./src/lib/libraries/decks/steps/add-sprite.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/add-variable.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-add-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-change-color.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-jump.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-move.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-pick-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-pick-sprite.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-say-something.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/animate-char-talk.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/change-size.en.png","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-add-backdrop.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-add-sprite1.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-add-sprite2.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-change-score.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-move-randomly.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-play-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-right-left.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/chase-game-up-down.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-collect.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-glide.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-pick-sprite.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-say.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-score.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/cn-show-character.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-01-say-something.en.png","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-02-animate.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-03-select-different-character.png","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-04-use-minus-sign.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-05-grow-shrink.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-06-select-another-different-character.png","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-07-jump.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-08-change-scenes.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-09-glide-around.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-10-change-costumes.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/code-cartoon-11-choose-more-characters.en.jpg","webpack://GUI/./src/lib/libraries/decks/steps/fly-choose-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-choose-character.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-choose-scenery.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-flying-heart.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-keep-score.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-make-interactive.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-move-scenery.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-object-to-collect.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-say-something.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/fly-select-flyer.en.jpg","webpack://GUI/./src/lib/libraries/decks/steps/fly-switch-costume.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/glide-around-back-and-forth.en.png","webpack://GUI/./src/lib/libraries/decks/steps/glide-around-point.en.png","webpack://GUI/./src/lib/libraries/decks/steps/hide-show.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-change-costumes.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-choose-another-backdrop.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-choose-another-sprite.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-choose-any-sprite.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-choose-backdrop.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-choose-sound.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-click-green-flag.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-fly-around.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-glide-to-point.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-grow-shrink.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-left-right.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-record-a-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/imagine-switch-backdrops.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/imagine-type-what-you-want.en.png","webpack://GUI/./src/lib/libraries/decks/steps/imagine-up-down.en.png","webpack://GUI/./src/lib/libraries/decks/steps/intro-move.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/intro-say-hello.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/move-arrow-keys-left-right.en.png","webpack://GUI/./src/lib/libraries/decks/steps/move-arrow-keys-up-down.en.png","webpack://GUI/./src/lib/libraries/decks/steps/music-make-beat.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/music-make-beatbox.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/music-make-song.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/music-pick-instrument.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/music-play-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-change-color.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-grow.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-pick-letter.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-pick-letter2.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-play-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/name-spin.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pong-add-a-paddle.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pong-add-backdrop.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-add-ball-sprite.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-add-code-to-ball.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-add-line.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pong-bounce-around.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pong-choose-score.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-game-over.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-insert-change-score.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-move-the-paddle.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pong-reset-score.en.png","webpack://GUI/./src/lib/libraries/decks/steps/pong-select-ball.png","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-change-color.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-change-score.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-pick-sprite.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-play-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-random-position.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/pop-game-reset-score.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/record-a-sound-choose-sound.en.png","webpack://GUI/./src/lib/libraries/decks/steps/record-a-sound-click-record.en.png","webpack://GUI/./src/lib/libraries/decks/steps/record-a-sound-play-your-sound.en.png","webpack://GUI/./src/lib/libraries/decks/steps/record-a-sound-press-record-button.en.png","webpack://GUI/./src/lib/libraries/decks/steps/record-a-sound-sounds-tab.en.png","webpack://GUI/./src/lib/libraries/decks/steps/speech-add-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-add-sprite.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-change-color.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-grow-shrink.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-move-around.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-say-something.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-set-voice.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-song.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/speech-spin.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/spin-point-in-direction.en.png","webpack://GUI/./src/lib/libraries/decks/steps/spin-turn.en.png","webpack://GUI/./src/lib/libraries/decks/steps/story-conversation.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-flip.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-hide-character.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-pick-backdrop.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-pick-backdrop2.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-pick-sprite.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-pick-sprite2.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-say-something.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-show-character.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/story-switch-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/switch-costumes.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-1-add-extension.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-12-dance-moves.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-2-choose-sprite.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-3-say-something.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-4-choose-backdrop.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-6-choose-another-sprite.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-7-move-around.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.en.png","webpack://GUI/./src/lib/libraries/decks/steps/talking-9-animate.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/video-add-extension.en.gif","webpack://GUI/./src/lib/libraries/decks/steps/video-animate.en.png","webpack://GUI/./src/lib/libraries/decks/steps/video-pet.en.png","webpack://GUI/./src/lib/libraries/decks/steps/video-pop.en.png","webpack://GUI/./src/lib/libraries/decks/thumbnails/add-backdrop.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/add-effects.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/add-sprite.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/animate-a-character.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/animate-a-name.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/animate-sprite.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/cartoon-network.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/change-size.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/chase-game.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/code-a-cartoon.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/getting-started.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/glide-around.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/hide-and-show.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/imagine.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/make-it-fly.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/make-music.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/move-arrow-keys.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/pong.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/pop-game.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/record-a-sound.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/spin.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/talking.png","webpack://GUI/./src/lib/libraries/decks/thumbnails/tell-a-story.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/text-to-speech.jpg","webpack://GUI/./src/lib/libraries/decks/thumbnails/video-sensing.jpg","webpack://GUI/./src/lib/libraries/decks/translate-image.js","webpack://GUI/./src/lib/libraries/decks/translate-video.js","webpack://GUI/./src/lib/libraries/extensions/boost/boost-button-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost-small.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost.png","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3-small.svg","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3.png","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor.png","webpack://GUI/./src/lib/libraries/extensions/index.jsx","webpack://GUI/./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg","webpack://GUI/./src/lib/libraries/extensions/makeymakey/makeymakey.png","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit-small.svg","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit.png","webpack://GUI/./src/lib/libraries/extensions/music/music-small.svg","webpack://GUI/./src/lib/libraries/extensions/music/music.png","webpack://GUI/./src/lib/libraries/extensions/pen/pen-small.svg","webpack://GUI/./src/lib/libraries/extensions/pen/pen.png","webpack://GUI/./src/lib/libraries/extensions/text2speech/text2speech-small.svg","webpack://GUI/./src/lib/libraries/extensions/text2speech/text2speech.png","webpack://GUI/./src/lib/libraries/extensions/translate/translate-small.png","webpack://GUI/./src/lib/libraries/extensions/translate/translate.png","webpack://GUI/./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg","webpack://GUI/./src/lib/libraries/extensions/videoSensing/video-sensing.png","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-small.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo.png","webpack://GUI/./src/lib/libraries/sound-tags.js","webpack://GUI/./src/lib/libraries/sprite-tags.js","webpack://GUI/./src/lib/libraries/tag-messages.js","webpack://GUI/./src/lib/libraries/tutorial-tags.js","webpack://GUI/./src/lib/locale-utils.js","webpack://GUI/./src/lib/localization-hoc.jsx","webpack://GUI/./src/lib/log.js","webpack://GUI/./src/lib/make-toolbox-xml.js","webpack://GUI/./src/lib/monitor-adapter.js","webpack://GUI/./src/lib/opcode-labels.js","webpack://GUI/./src/lib/project-fetcher-hoc.jsx","webpack://GUI/./src/lib/project-saver-hoc.jsx","webpack://GUI/./src/lib/query-parser-hoc.jsx","webpack://GUI/./src/lib/randomize-sprite-position.js","webpack://GUI/./src/lib/save-project-to-server.js","webpack://GUI/./src/lib/screen-utils.js","webpack://GUI/./src/lib/shared-messages.js","webpack://GUI/./src/lib/sortable-hoc.jsx","webpack://GUI/./src/lib/storage.js","webpack://GUI/./src/lib/supported-browser.js","webpack://GUI/./src/lib/throttled-property-hoc.jsx","webpack://GUI/./src/lib/titled-hoc.jsx","webpack://GUI/./src/lib/touch-utils.js","webpack://GUI/./src/lib/tutorial-from-url.js","webpack://GUI/./src/lib/variable-utils.js","webpack://GUI/./src/lib/video/camera.js","webpack://GUI/./src/lib/video/modal-video-manager.js","webpack://GUI/./src/lib/video/video-provider.js","webpack://GUI/./src/lib/vm-listener-hoc.jsx","webpack://GUI/./src/lib/vm-manager-hoc.jsx","webpack://GUI/./src/reducers/alerts.js","webpack://GUI/./src/reducers/asset-drag.js","webpack://GUI/./src/reducers/block-drag.js","webpack://GUI/./src/reducers/cards.js","webpack://GUI/./src/reducers/color-picker.js","webpack://GUI/./src/reducers/connection-modal.js","webpack://GUI/./src/reducers/custom-procedures.js","webpack://GUI/./src/reducers/editor-tab.js","webpack://GUI/./src/reducers/fonts-loaded.js","webpack://GUI/./src/reducers/gui.js","webpack://GUI/./src/reducers/hovered-target.js","webpack://GUI/./src/reducers/locales.js","webpack://GUI/./src/reducers/menus.js","webpack://GUI/./src/reducers/mic-indicator.js","webpack://GUI/./src/reducers/modals.js","webpack://GUI/./src/reducers/mode.js","webpack://GUI/./src/reducers/monitor-layout.js","webpack://GUI/./src/reducers/monitors.js","webpack://GUI/./src/reducers/project-changed.js","webpack://GUI/./src/reducers/project-state.js","webpack://GUI/./src/reducers/project-title.js","webpack://GUI/./src/reducers/restore-deletion.js","webpack://GUI/./src/reducers/stage-size.js","webpack://GUI/./src/reducers/targets.js","webpack://GUI/./src/reducers/timeout.js","webpack://GUI/./src/reducers/toolbox.js","webpack://GUI/./src/reducers/vm-status.js","webpack://GUI/./src/reducers/vm.js","webpack://GUI/../locale-data/index.js (ignored)","webpack://GUI/./lib/locales (ignored)","webpack://GUI/./lib/locales (ignored)?8a68","webpack://GUI/util (ignored)","webpack://GUI/util (ignored)?95ae","webpack://GUI/readable-stream (ignored)","webpack://GUI/./node/self.js (ignored)","webpack://GUI/./node/extend.js (ignored)"],"sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"lib.min\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"chunks/\" + ({\"es-steps\":\"es-steps\"}[chunkId]||chunkId) + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpGUI\"] = window[\"webpackJsonpGUI\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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OWA4ChwIGAS2BwMECNyomzt//qOLUialcQwDG4eBR8CakgboIf///daxQhJf//5qCwQLT7///+psPKVf/mL1e6v/+2DEAQAOuc9J4z6NYas26by5UnTMxgyB8BQAKUoNcNUkXxk0LJvXHss9TwM4/xBZgvLZgF/AEowG2FW3//tnW518SAKDm8t/xLAoBEiG2gsN2PJIfQTLg54NsQ0EGtcDigibUtX//7JImJSFdAFwgMQSLIq////8jj3//+cEE3////7Y3X/+ceszc5w5xeBwAH0ayUMtz376taxk3B5+PJKlDpE6JTamTIPYTIqpN/9tfrfEQDgvmn8VgQKH+FTZMIBFbjAfuzloegGgDmglBAKCEykj///6zg6wEQwsfLiaH////pnv//86Nb////+Sp/6Ve7zd1wxx+BgACgMUaHSnVxr/+2DECIANFbdN4b6NYgy56DzJ1fzpavPhb72FXH/0xEk3+YAKgD6ontq2//tr9b4ZIIG+v+JUKiNYYtxjQ+MkfrSMSHAQBCfQIKwGwBETZH///3RKwLAQYbLTt////5Z///6hcLf////lk/9aREzVsEMJwEABnL1jl57ppy9pDL4ROw7wZty6kj2TJkKLNEyYD4wPDRKBmpf+p1mtZZfrLdIJaByl9ZEm+sJODSSOG+0mBCdH61HSMCYAEegYAEIKbwSUrGrt//7uikXiGh/gAEgAUVhzTJf///91sTJb///0goBj7bf//+tsao3//nFqqqzHDKF4EAAriwVCVtj6UmVa+qr/+2DECoCORbdH4z6M4d826DhpUaS9JCr6Nd1t9XeJEONdRmMaCzMLuIibIv/1trfz9QRFC3fKn8IgBslgb9QuhPZX+tAzHQBEAN8Bx4BnyOw+3///qTHQADKAkUJ9BND////lA////mIjxv////zpL/SrzQVbhSYB8RSSIsS/q8OAxuk0jLwMVyWPoL8lADiamF+AMuBuaM0TpeRS/1tnT/luoJnC8vqJv+ERw2TgxahThaRt/TQL5AAuGBQMCXoD1DSAGal///UtSKJsRUDKhwW+jaPO3///75HHv//6ywIqr////9Eb/yo3cIiVBiC4CAAO8VPSHA8DwTFN+z8om7Y7zv//+2DEDYDQcc874eatIgo253g9VaT/x8xje14YTDP5cTgb/q+dqrLfUS7qCEaBtCaszFxIfWERESKhV4zwuEVf3Y+VQ98BoZAJaQGIw+ITEyZIpf/+zJIl0mg1EBK1AxAASBGKl2///9lKIeSP//9RTAOAxu2////+YCr/+cBneYhAo/AAZwlCw0ZHmYR3SHcmLddyX0lr//4gASHNVxwCBzYXKIibIpfqata3lvnCSqBqLAWCifYVT/hMQG8VebjAFX66zIhoN0wGg8BgVQAbFB4gEQUvIpN//0UE6ZcF+Bho8gKG8XAXzRNP///71C9T///uahQInn////+RgxfpN4dnkwf/+3DEAoCRobc55mau4da25/iM1dxQ+AQAPZiNtWvZNf7deZGH6KpZEVnKM9f+t1IfCjeeErEBQgoDIpAi6ki/dq1GaaSjhL8sElQBqKAcPHbOC57/CYmGGsYuNcZgbXrUs4SoTAIX2AwaPgGTGGhDtNjV2//60lpF4tCygMPEQCSqFtKx56v///ZctFv//+sjgbGzb////XxuDC+VSImJlAt8AiA5DVM4nnSO7UGL0WAYG+OTOWfN3KG4VSNZyh5zsBEkPt/9b5w/zhtg1AwUED9ZFv4TBwwzoxWWJeLwevWpMwHWBQAjAANFoBVmFvNHb//7uzpHRXgamIMVFFS/////JR///6iyKGX////+PxL/VQZ5iKMLQLgQADNVtpOi0+x9AeXUEsdkfRRMjXWkTIjLx1tF08Qw//tgxBMAD323PehmlCHINug8iVH894nTZFL21LW7zh/nErBg4GGnbjZf8JkhMyNEDUw6oXSK3poJlwXODYUFBIIfoH1GDnmC1f//UtVi+QADFsARSCTNE2////5ePf//5gF1Lf///63x+LbRMSFKFoNwKAAWQUH0C89160xAItDuiSRzi6pDsTQWIOgZh0AC8B7JAi6ZIq/1p1HH5xWXgZj9RE/4TQTUfImVyKhaEaP7JniTC9gIgIIMoAAQhpkir///opDmgEoQUSlZF/////Kbf//6Qmb/////ko5XiIilCUC4FAAAxgIhkC9FAWbcjIiGo1bZ8jQbrsmYDiAakjEPt/+9//tQxBQADX23QeC+jKGcNqh8OVG8Rx+cQxawoVfrKX8JgBFxqipMkH4BiIb36RiQIBYEGFQFpYA8QcJeRS///6zg/ggcjHmC1f///+Yv///nRZDf////ko6xVTVyFMLwIABIGcc48s5QQvBSpej5DKMVjzt5QDEj4l4A9hgogpeRSb/vUc9TYiYUX5V/hkwi5Gj1UJUOohPrUdJQLwHCAsJBfIPJsz///+gVwDAIOJmjt////6D///6h8/////yxR4iZpguR8BAANjH2dD0OOP/7YMQIAA5Ztz/hyq3hjbbo/IfRXCJQ6qwMJh6LRuz1mRAgtLZRfD0ANaC3Y6iZMkUl/75xuo9WE1B2v1En/DXBdcao2qg/wzAxPUtAzHQBEBDbAWEQCkZGgfZ///+kYkCAWEQKBYupf////LH///TFLP////+WGa5u72Q1xeBwCLSQgmqnpE/bEkj8dsInquJPTrI8TF6BFgWMiBSsi7f++pupsMnEx9Zh/F0KsU0bViSENE09SaBfHMBtkLcECYBh6XF////rMAajiCL/////dv//+Qn////84ypHd4ikCDD4EAAzjQ5mNZrsYwoUF6hkgOKxfZ27kwAw487AmEDy8OWIKf/7UMQUgE6NtzvkTq/hpDbn/GlRvHkUm1X6nzh7qLVYTyGk+ogv8MmBhxTR6rDHw+UVX3Y+SIW9gWBwEUEBhUHjLF1JFX///SLQNlA4WFtn////8pt///nBO7/////lg8kxEhTBii8BoHrmXbP/DwZDDaHcFFk2UDMudAnwbtN0C+IUA9QSmYLV/6n1HvPVhHRo/Jf+L4LzGqVqw4YuyE/WZENDA4ccAvAAPjjiNUkf//+tIsgVMgoBNm////+Yv///rHx/////ONU3iImDCnD/+2DEAwAN5bc76GawoeY25nQc1aT4DAAufJxZg713pM5CssIhEclubv73qbkIFCwzqLyI7A2kiRqk3/U+o95arCQXL/rIp/GsFAUNU/WKFEBy19Szg+wkARcQAoKB1bFSKrs////UQ8CAtEAzBP////5g///+oXK3////5w8ZNv0PQuAQADTCcxFROHN7sdlVRSeUpy3//jcjJgP59pBGicNoYmIKXkUkddK849UluslqwgGoXehzg5K3+OoKDIaqWaB8aP1JmBDwtyF1gMBmcDhoID3yobs///rrUkauAUEQoUyWPs/////JRv//9w2p////++WC0lh4iaULQXgUAB8CHM3/+2DEBoANIbc94b6Moeq25nQ6VbwKEt9YaWrkU4Z+0NYotvJoEwlAviyAMyCDpy4n/9StZ7rPYSEh4/kl/cNOFNQqDRAxuSfrQTLg54N4Q2kIaYG3BE2pav///RLAICgbEj////+7f//6x2f////1HjLRuxwDwEABZEmU/OmFLI7kUQhBA5W5Om1XlEEKFFMoAhCADwA40njVJvddBamrOlrnSrWDQ+Dl7PoiwP+PsKCYXpotQa4Wkbf2c8Vg2wBoUgGL0DJQcFAkWLqS1f//1Jj6ANIAFgAX0Fq////5Zb///OCk1f////nC1RRnZ4UJEPgIADXW5hoqYlHAsFysKGCidx7/+2DEDIBO+bc15FKv4aY25vyM1dxKyB/ygAYUSTLgEQ4AqENXEVLyKTal1PUy1nT3OmuDQWFF7c4Q/+L8KFh8nsUMKVG/+oxI4MIASAoGADaBrQBCDSeNUm///2c8GngwJFtn////9F///86Lmf////9RaNmB4dQpAuBscIyz6dNLOEopPysoa7CL/M/1vUrApONSVs0PUgUc8/0vqas63Oo4dUGBNusg38U8KAYjT2TYto3/rUdIwN0OaDYNCl0FRKx5///+tRMghEIbCkv////5x///+NFv////55V7YfwfBcBAARgMZKd6VmZB/qpkxrtjPDPmOVWPmICWt3CUEcAEGFT/+1DEE4AOLbc1oWqtIXQu6DwX0ayJGqTfXQaeRWWW51dyAgwMs/G8/4d8KAYfJarEjHgYX1oGZDAukHiAQTgNYAUWA3Qf///zApgOD4bGaJ/////ON///qGm/////88rzAVThrD8GgtGmEwLlMzbUpvmeV3Tirkh//bIKXrdC7hLRXk6+rbX/9tfr5GBlfUX/4uxMiNLVYiJNDa+6CZOCPhRgiqAUMmC////5sLgDxN////+m3//+smP//QpYCZmVC0E4HACUpZ/qSqZJaSJI//tgxAmADJ13P+m+niG0tua9HNaEYlY9Txsaq7Hw7DoGZIgNmFTPP+palqTNHdfrfF4GnN1mX8XY3zNNTdQ2QVRFZ17VtWMqQIYjYELIBROTyKX///1nAgADuX////+v///qJn//0EiuDwgQYXAYBFaKqr9nuwwUlBHlJZw6pfWXRJqxvRUAO4gOlJ41SR6+zLPXOvzpvUEAGBwabsO1/wvEQMRpCY5AauJL9ZwjQv2GFgCSQAVLxYidSRf///rJwCIODmO3////2f///juf////9Z43YAeECVF4CAA3BiWv+lmyA2UlBIokjE8XXR6iwANE+mTAXzAxXESIaXjFTfqWts6f//tAxBiADRF3NeHOreGOLuc8JFFM6z9QSYDleod/8LxGEdJaoSwUk/6zhHhqJNBvYIqkMUtOz///9IxD4woAT7f////Of//9Y8f/+SR2B4lQpg+BQAlBizv7PZWIBFod0PAxPF1TdZFgbWZRmMyBKcJkau3/rbW/WfqCIYQN6yh/EVJI6N5aghBBqB76ky4OWFgRUQKqwD2RE0H///+ozCYUdqv////1f//9RB3//5IuUWscg8D/+2DEAwAPfbctoOqtIdQ25fQc1aRAAWIEk+LKSQLlkQAyZ5ekVnLn//wSYpLb50YJHISBjEgxdSRfWuyU61Z0t9ZLuoIjANCWrMBSqf1BEHk8sbLoCMgxQQn0EzQnw6UCQhCBbgZDDg1ywdUv///sZgLBkFAGaJq////8zb///WPr/qX/1f+dPa/UJQL6OROBAALIIhfOMnwlOXXRK2uT17L//9wQDXqleGC3ZxSh6BGmS1L31LYzRpS35L1BMSF5fcYqH4SA5IHBUUkRHYNjAmHpXNSDA2DAJBUAxHgZkBwsknkUkf//92QC/gOBRq/////zv///UQVv/1N//509DgFuHIH/+2DEAoAO9bctoWqtIcOu5fwc1aTAIDClKPL7dGjO/c6zAme8kdjO9//qJkCe7UiaGIvWEyKqTe13SUt7qLfUS9QQioPonzozH8JAkVA4SNYiZEBsepallINQAkAQMBF0AbYB7pEjVJF///fykEg4KWRV/+/stv30T7at//8b////of51q+9QmqqzIEKFwEACk0wkbsylHoXzaHQmh5L6mf/vVWcCzlrmYwQcjgcqQYupI+66516jhb6i3UEIaBwAfqID/CQDEwLBI0w3JPjE1VLUZkYF+imDbACWBFQLZ52///6zICIEDsH/////zn///RHB/PWI+SUTZgAECEF4DALU1FL/+2DEBgANVXUx6GaUIdIupbQdVaSn/lIbbLCUDli+gv0iYAp97OUKBnIqFzBTOLV7aTLTdzh/qP4QjAoEfx6b8MlEWKRI1ieRH4xPVQMyKBjYO0BCMAHpIIm3///5qH7h4X/////U3//9Zwa+vhUyMC6PWXLRUMguAwGRhGM0svLKD+bLBBZuq+t6//xozHEKPCVoIRd2FrRETZF+lre7uosH+cNsGoMCgkfrGQ/hnoXkPolmSFmB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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAAhAABCwQAFBQUNDQ0XFxcgICAqKioyMjI6OjpFRUVNTU1XV1dfX19oaGhwcHB6enqCgoKMjIyUlJScnJylpaWtra21tbW9vb3FxcXNzc3V1dXd3d3l5eXr6+vx8fH29vb7+/v+/v7///8AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJASjQQAB4AAAQsHCnQwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uAxAAAAAAB/hQAACUevGr/PcSAe0i2iAiQpgRwnCoZBQiDUBgAQ0AAbvUNBsMFqmCIAFBiP4sAIbP5/JmbGClqQcASseMGR6J2YUgUjH3NcFf5zFMmjGklxOJgJhBAECgFDIIanbPIS1vOTQ/fNZjM5PRzaYGNGFx/5mV1YvKLF6saxJJkk/mkyeY4EJn9czcPuwppQWJZXty/RnUhmBiyZtFJjAZCSqMeE6QvI+8vr8scqSyKZ+ngYSBQiA5hsEkQpMEgdb9vDtutYpdXZ+L1LFj/MUh8KhYx0IjFYCMTBhP0xUCBGDwUI6erhYxo4v27Yr25frmGHLFcQgcaAQCCA8DgMAIihQnuleo2t/C9+/1r/xzzt6/uuYbzz1zD0iEWy3CSBeBkKG7DWhrEZsyx/2aOHVszsjgd/JXnZl8/Say///////////////////5fVn6SLzEsuWP/cqi6jwAABTNBIgEgko027Zz/+6DECAAcDZFp+bwADGg9bD81gADniUCgI80NCERGzovGY0JQWCQgMAR4PSNMRAYbAwJxW4SpIVBZasNPtRYjed228Vihir9UbJJfbt5P59aU3ZAzhFd04YpWfN3YDGr8mm4zStlglmjQ3wjNerVklBfpceXOZ4V+WMHLfytHKORVpTUlONNP9n7dPA2NqAYCZVGbWN6Uy25dxwyrXJu7zuuZv1FZ+3hyizsVcO03PpJVcx5h9ezWrWqatamuatz0Mye/GM56hmJdbllJveOOMVoc7/Of3Xcd/nvOGpnLt7EGi/9SkRHbbmBAJEZAAAAAAICLhx8Q4sDPeMB04wqB8wEJJCJxjZgma6AobZQYQJDYkKmV2oH5KmhlxI9YU3hpar5NeYVCXigSURNr8LYQsMwiGph2YeLxuvcU0kAqJKoaIylL1YF14JTzYL1Qdd7B2uMoTulrMmJEosGIsilzL3Tcxpj9551afiHd5H/svc6SonYkFlwaXbWnXtdrxu3LLFhxHXaC/dJGKK9XfFpMOzeFNatUEbzznO2H7p5/8IpnZiMGOfJ5ykmrd+mlNeifXdR/sO/DD+Tl1/7dqGJyNxu3Vl9S1VisVuS6JXccuVoZlELuV4nIorKZfvHlA+0RgX8/+xhz8+56w//////////n8+Xfxs0tzKtLsf6ylXbPqHg0QEUEACj/+7DEBQAjehNd+bwADKLBq/83gAECJCYbX/ThgZPE2YDcQ0+TCwUZeMGBHcjM9L0BpjZA1tkizhQFZEEArPF1B3IwlbPy5mS/rTZWV140yJwKz7M67DbK3nedrTORUUNunpnUuAR3mjakImMKa+twuDAE1a+K3HJvvxZnrEobvHViw5ROE4mEcbajtvO6Uoirj3tzLwU0zGpI+83ZsurS6mc+bfeVtntRCchybp6WSwxFqehgmdmvrclN2kmb3Z3N+4YkD8UtPqrL6aUNtA8NxZkrQ1OXFlTlRGd+KwDMyedhrOmxmotHaljGX0d2dnaKv3PCxT08CQzKJ6m7K7MUh+es67Jv////////////////////////////////////+/lups7GojbkhRQBhAAAAMiMNK6+40sxeI4kVDAc6cLTTMJIjAwsyMTMcKQMml/ZGIwSVqZoojAKiO0JQSKpBSRqzyNszeCY8vKA2mYx2gkbyWFV2bxuo1Bc7L30bPCqV5Cs7Bn0ZIDAgKpQEzUVhl8CSx/ZiPT7usrl0SZw/0NwwxBPh3m9l111aZ3pazSkjECKx8p2bNXbWBaeO2JuDZK/FJV+WwzAINGn32LU8/R3JhaoSpY89qGI1G95zN6dZS8ctoqfccnG2dm01xqTbPc+7lytZUEOq78sdeClkN5Eb1Sgxl9rLGXWq+dadoJ/O3/yiWQ/bn38nMIfl7SGtMmfRxIJctYzpNalMdqN+6X///////////////////n3/////////////////sZqlY/qQWJAJQIADAYKY03VtMsOC7pyge9hyQWhkYYLGDGBi//7sMQRACUGGWP5vAJEmMNrPzeAAJsYKHmJDhkCBTFUJiZUB0EqAotFmzBsxbyHZREYOdJdqNV9t0vJFMQ83tNfoGfI4FowCUMHGYGR2VLJmELrj5Zp2kJBgMRIPsTSHGW4vCqs6zpNycJxWzXV7rHfaWSfBuucBSKlluTD+4su1TXlqMwV5D653Kju4Zdmt2t/PGAuKq9j8qpnZdOOBJBGMeWkYyR+0DGVvdALi0UquQbfsRaXWoaa68T+Q57c5Y9dJKI4+8nfv6jL4agRhkmra3feqWb/9a7WlNmkmqkqaU/NLa1qvuvatT7TmUwqhieHavdSmFsXlX//////////////////6//////////////////sbwt/vC/LNN4AGAEZkAAAQQCAAYZ2YuBEQSaeLyQ7MLQrMBJgCYko4DSoWDzACKPBAHaRmCgQBkUP7FUVbBcdz2lDFhpLPkii+TcEL1yS+JsmZPLn1g5lT/l6Hca4ATIZiIlAIUISUxEBTOYFYSmqwcuhLEDlkJ7uhAzmPBOqosci8gdwIGxOUwa4cOySZuXYw8ckuy2XZ1WtMvMQEFG0XW5bvxiEupKKGXx3HDVxytamd62nRDEOOQ7D8Sic3esU28YacqFyXGl3nDufYhDNSSRml3MRR/JZYZxFM43D9yW4SK3De7lbHGpdv2qSx92tJ8LNuix5S1aKjn926sbvy/uDsORRSzlXPlzDLf//////////////7/X////////////////3s+6w5bzqpZ77gFg5QXACIAAIAAQlVJ4oIBjVwqImNkiSIqemCnRmxKBpd4TISMBCRm4ymmY8//uwxBgAJHnXZ/m8gkQWMuv/N5AABmAEIGLT9iEmEAaLIdaMRtEe1S1rbuPyDqQ60mQeFkE4zlr4XGW+FCV8tKgdCB4hploMYf4QvrsDMH3qkIxdNwbNdgz1Q08rI4ZSpS+WMEHIytZbldZSxH6bBiTwtpnB0Td6811kMUh5bESsS6XZUuDM5uQuK+zs7v7E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4QCIlylr8USrR/VBJP/X///////////////////////////////////hrVi0ZzHStsDACEDIAAABsAgUOCc8I8NaKQxwxDrF/JODCkuGYafGPBhw6KY8MmpHaRRgRYCBA0gTBRyNB40XNOM/BWtCAEb6A1OrWgQDCxeXcLyo3GElRl5ZxkLOC+csWJEAYRiBGODMAUaERSEAKh5goEOALjKamLhSFaFjsKYBQBAAqp4KB7wGKCbYnJn3IUaf9uK5Eex0CVeDAJcqTSsMZWCGQAw0Bf2Cb1WzLYKWEbRabrPU9rtgYTMAGjRSglDBoGZ21p/05do9NBaDlewwyMUIzFRsKhhecHEQyCMHoGRrSUk7Udd15Zp/ZhxZteVPLbEaku61LDVC9zTnan4xOrnalDyw673FsvrB0gfqmeB/kVqeUx2JP1LcMZmAu40j6yTGtNYRpixg4CWXEg9TRlTO2kF+kmHIWEbol+49SgjUaxww5r////////////99/////////////////+W1asiLvxACATAwAQICIAm05PzeikLARn4rA534WrowcBKh6YMIiIAIiQRnhUGASPptBC+0swAFOQZOZUD6pP/7oMQeAB/Nl1v5vIAMtLprfzmAAE1BEYnIW6aU5N+oyeDb7wIB01I9E1IwxTw48CwSDDVgMOsqEICh4IQgLRdU1gGbIWvYpfMv1LYAk7lYwa/MSfKzhfnazELD0thm4XQRNw8aWrd+GmvddeakECX+NzSYZtBVSegqH6dylVoHxjdDKaspdu1JH0qxeXzUUpKW3Yv01FNSShrQE6z/crU2N29WzgS/egS3q/rt/B2ozSyR4YnexuTNa/N/UkH4RJulbtTGU4d1vG61+OSxllLauZ6saznyFVu/6KpghigAABIpBJblt54cWPIcRGwQCQyZBhFBwUMKFUGB4xKhTAAiMaAsRg0wGJlLTAQVgEw6EDW5vBbM0NhkL1HMiQtps7BWAsCdtsUNIogEr7ZqZhBbNaYV0b1pNL1AzVnCSIJYBK7awqQriu9LqNCUFinFojPFZSu580VUTYMdFpSwSRaNzbqdMAQOTpCGrwa2157ZBKq8WfuPVbl+UyaPJ8PAkPHVpulDcNMDgNyUjoVAzAe2ajDcHJs0WGNnpEmPLngtHxdbgMziTEF35wfANFPQFqLxSvnA9PMU0ptS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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAAJAAAKFgAeHh4eHh4eHh4eHkNDQ0NDQ0NDQ0NDaGhoaGhoaGhoaGiHh4eHh4eHh4eHh6ampqampqampqamxcXFxcXFxcXFxcXk5OTk5OTk5OTk5PPz8/Pz8/Pz8/Pz//////////////8AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAeeQQAB4AAAChY2pBIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tgxAAAAjwDinQAACNdMq4/MPBAAAAAH/////////////////g+72pOAEACIMAGxYc1mvJ5fFzBlYYo4o4F5tKC6xg6cBEQSUwVOZPVb7PYLJgKoBbB1xy2mifJuIg0S2BzOScOtvOhXnRHVbXGLim3Igp1nMdRLkU5K2I9UD2sKclJMXiqV6Ney7mi5jzLl2/Yy7MqeRUAuSnwz2WJHm4N87hyvFc3KdRQZITlBiuDW9rveaQ2KaNqJqkaj5SsTahu1K4TX2/fw85VkGPEhYfSvZ82fRsyvWGJG3Bam16xV+GGBraHv4jZJHtO8pTWIM82YM+I1nkekA+eBraq/7dTMQAA//twxAMAD01za/2EAAo9sWw9lhllFZL/weY2gIFsqB2S8L1tzcm412knn9h25GrI8HRhRw8kTByzytHjJOcqRtV32vB3P7I/caWyVS1Y+r/tovtLTiYtO6iGhYNrjvlu/+Y5Xvsql6qYptZeuf1qtovqbW16qllZR6+lXJjipgmjUZ0VSm01XOU99upmAAABjbkwQWYDIqqOQGGmkitYZBiKaSyIKTj2JYJDtLQwTkkdHTosKy+hnsC6CiSCsGCyymLz8zpFP/phZIvplbLnmTaH1jse6xs85Zrfcfmuhu4DXLu6NdkXfXr+6Z818zcqZdsyrd6fJ1n/qTMn/PWUlXNz7fiLY40qt1VYnm5ZsJTm7k2rBEtmCCre3oMwAAAMTkvSDLgiGgNwBlBoTO1TSHWgslZ8JQ6EMv/7cMQQABIpn1vsMQtqFrHrPYMOLPDJWeGQBjtcwcl7UiHySG0bB8maAsScnKkytKvyQcWS6U6koOaV7XgWm26Qezo2qaKTLWy0c5oLUoVhShZp0erit1XiOJTbrq4vYqxzVNxQ8w1XyG0WHJJHDUvKa1KPQ4az6jKloG562g1YGSVkVMnQ867hkAQADWS7cS2sIDGnDK9wq4FaRWVSKo2zJ4xl24LlMPTWNWQ4iQkwWiSZTaRHZOkbFVc+qNgsLLeHki5Pml+/CKTUrLUZtRB1kAjq4YaXMFwMysQrKqLEtHIm+RSEqsyUrXxRpqeSht6kMzyDKvrDI3u5ebNZO9VVKSObGTHAzBhxp1We+URAAAATclvZBAZskiXpuxmgaHEQLMKOLGXTHmH0tD408GSBcwykMigowrH/+2DEFoAQAWdP7KRtajyzaL2EDu3rI4jRJJGg0xrEgYlRTXjSvXh6t2mpKljcXzhNVC4kZQVK9IG5WMjOMZubN0iolobMoUtvzf3a8bLLZzuRlSImz6TRSmC84KNFiCnGbBucqHZNoVuHcSAAAANyS8eJEQkjY0OggIxYHGcQZA3aXuo8MASmw1p8XZbVzmL2orPzUtm6GxTSy3umngektwoPHknOmnNTA01pa4abQcNgqxt1LaolpixcHdFS0WSo9jlgRqJaV2lZnq5vOMUYuM3ZlDNslOEDvZWFKqhWEHrD1lzISbg1IdchvZmZyQz6UzNfYKmjKompczAAEB23f8fkfm3/+2DEBoAQNUVF7Jhz6c4paD2UjbxjcEBKqRZ9vEvqBwoDkCpoaqO7Sv5Grs3EYzWpBVPqQ/FCXJEqmW5GH356ygt936XL4R+qMbl49NBEqyqhLJNIJFcjLzu6QEoFHZaW5rPOVvf0QRlnnHR6Nhy5GlUUTaqnmTb3BSDNabFN//s7ruc1fl3x5tvEw6KAAADsk/w27JIehT7xBDVDm7qd7KGR00KdERDRMD0xTpsTHVgCk7U2JqsxtazzN7kOfvq+WbeG9jaUfKNJSpQy/Os+0Jrmuyex7exFrVzXL8//kIxKm5f+RynUjfS837KxSz4YpJgY7ueiNmVxcSalVWiYcjAAAq//+2DEA4APHQs/7DDJIbiYJvTzDiz//4jjTy2Rs9acnmiDA6fpCBkD58EBgPjixUbKh+LvGKNA0okpqZpMYVMXFBJHkjiit3JycVIMRxtkF7kvFImuadu7SJ7RJlNmJWJ8vKUnVeeNrN1ryaz/db5n3adRFzIPnnTz3m2B5zza08wmrRuFtFb29SAACn1tsNGM1q4+ITBKXsTiGVxuFyQlIF5cVcto1tOBQMmNEon4a6bQaClAqKXLfKVhFqa9MBSSfNRaKmsw9BEDWoyo2QRpWOVy0DMgQODAOCVw9w0PKcOoYigVSNhoxra0i+r/jOxpIQkzDBRodUAAAue62si942l0kAz/+2DECAAPoTc156TOYdMl5r6eYAQiuClClJwrjzMBVrkrVcWOFxKegWDWqTmVGHoqUiaTCIr+kU5AravSYakmSdjJQLd83Gn2x3zckpGoPKPe4lp+FxbX239ty3pv5bt9d2b5eO316hfvSAsSkgDgSJMUggexAsCCBl30dLmcg1YkNWaHMCAE77bYyqVio09eqookcJCzj1K2EfZ8pptHIIiyBZo5GUPiTVanIFlaUk3k3GSV/+WedeGd4c+sP3tP72xmfq6pfbud3/umlbvVPuOzP+7dd3z2Q/8Tff+Hz/qx83cafp584U2PQsUfdRzDqKUpaXBB2u0Xzmcn0+21lgYSAAD/+yDEBwAOoLszuaeAAAAAP8OAAAR5x3T0AyyZfYuk5SlBcdTSjrdaAsotW5TvJUfo9nkhpEgM1lNczlSzYYkIXJcZlWSxga2bD59CmzCjHAybUCowxK7wtQaWzbsioiwGR97Ps4t/necxJIE1nkSFCoC+CA4yQ/4oOTPpTEFNRTMu//sQxAMDwAABpAAAACAAADSAAAAEOTguMlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=\")","module.exports = require(\"../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAAoAAAmfAAHBw8PFhYWHR0kJCQrKzAwMDc3PT09RERKSkpRUVZWVl5eY2NjampwcHB3d319fYSEiYmJkJCWlpadnaOjo6qqsLCwt7e8vLzDw8nJydDQ1tbW3d3k5OTr6/Hx8fj4/f39//8AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAdtQQAB4AAAJnx+hGrrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tgxAAAAjgDU7QAACMYo6grM5AAAAAAEAAAHAH/yhz///////h91AAAAAAAGCy7e21AGhyEVKZKTIUMCDAUISDqzI3hYlmaY5sOARAzAx4kAphAwkcCQBDSpmlAX4Zwgun1HlnZNblKLJjlsGd1TEKqg6gMLDAiQVMkswqeBAYGPRNsivDagoyGnmlxKAQkWbAzj/us8kHT40RCKJwq1pWyG71LhqKS+N1Kkv3rCWTVy1lR1GzyWFYzWNJykm4Ye6ZtU+ENfVbpCcqa9Zs75ADHLWE1GJz8O7t/3CaiepbGirwONM/C9vCe478qAABE/aSItD/EVhcKD4OGIQM7FAp5NdPk//twxAwBFCVnPH2KACIsoCd1obeEi7Y1oSewtHkQsAMJCQEUALGKyM0WRrl8QUIAKRKxBQyKQAOGJ+EpE6IShnAX9BtqHIEXHCN40EJSuaFAQCGOGVFDCkwN7OBQSJuJMpkyXloTFdFBklorWg2iaE6Qw4+lZaNdei3/zLchg8rZdbVUn9SX12rVai3rbQq6tfqUZPeQoQpbCqJoFgCCDGAAk/8CURlZ4OoO6LHEQk3waELmBwKoho0I5oSibs4UDNgdcFBlnLlj7iPs4UT+xuST8ZhmMw3I7FV9LuNDHJBPt5S8s08Snq9yVm6UkxGSRafnKtn8y9rB5DtKqkQgDlZJTrr/7/+onF5EYo1gIDZRNVOzUIuCBt48MNq9MWp7l+GdQpchYulTahkmQAAAAYeOZz4JBNCgyP/7YMQHgA81AT2spo2h6R8ntZZRfNwztYaok7DwXBWWsovGqrAA4oHg6CYOwPHQyjJURVtCmumhiDtT00TNmZChAORyGCRCcRJoDWng8JEh1IKddSOpV02+uPgiBE0E1M7N2///zpHlGs46TqPh4WOuFiKDP//6qXsQhz1k0htQMqYYAAAb3GAzxg9GQEomYKgCaCBgSClTWiaxx2DYoD0MR/I4mC6FtcfvrTopPlGN9tbA7q7Tt+cfWHSi87ZLjReGdAIcjXHOJ1Bz7PPrXRdSKD6qDlgnSSdr7rX1LUpbO/UtkkTpusfy8MNlqOuwUeaFUI////6a7Sce9wEEAAND/pemcv/7YMQFgI288z2tJm9hyR5ndaS1tPh40y0MekozAkgjG1lD5dTT1BpRCnsf6hLMgwKQ++Lq2SiFcgLpzZRoUMQ6YunJEixWOySwxNgjYUsXSL3T5c2Uo+i3oVHESQb////9ZkO5EVBuFUKNC1hXv/7v+nrCSAwwPiPyAAHL/GENAGoOFkbzEA7xhgxgAaMEErtZqvRgs0TmxkiCY8VsSEJRbJv6CoNtFD7CMhVMoCS4EzEpXieF4YUAXxgCmJw51JlUXc5Qa22xkGIewF2bKQZBTqoP//+jTJYgJmU7HOXSxdn///C+wXeJSCpu2MIAgAWr/Hc2CWzuJboaJbjzYjDdlGSHF//7YMQNAA4U8zuspa2hph5ndZS1tLO41iJCQJgwODeNMpsGpWtJ5h6qqU9RIOZSZFDaB+Is9saZF8FdL6ZfTN7KZObLqSRap0nZYuDnCbOhZF1dv//9Ee5KqULF1rX2JnKa10f/sOe1h088kb7IKgSALBxhq4yKQFknOClih9vBYGClms+Z67i/ahOSg8NsSXtkjs22gUWua0Wk7mmgVRQbf7ZnWqXFNgP5PL49DdFtjpop6BmaKZa1s6x+IQVU02////9MhqFksaBfZ///ZlNVaFws1NUEh3MTIBIAu/+AzxhSGG0FQTUUHSH4DjGUlrGyTwjh00CR6CClkxeaYjl+1ncSrv/7YMQXgA6o8Tvsskvh3x5nNZZBfH23IqZFEJTh0ntT3aMa7RpimEGhwTFhkmbTaigo6k/qmJGCpB2nUyl7LVofTT3TfsVUS+LmJKxwtOirUUqb/X7/779zJ0WG98CIAAEv/xtIgXMiVBqIEREpCI9W5S4YBeVZR0CmjkvoyaOGNTFxrZrBTYu1574fXvIsvhSh69Ptra0gCAN6Zm9lHFuqtF2fUzFIbYsB5dfWqhUpd0lLRpIO+ZGZRI2bTwu1Z06zA1y1sT+n6tzXWoaEmAEmbBQIWTQjIgAA1/+MsI1BDRKCSyEVNYeOYJgxJaT5sTdWQhYGyY/ATonIlVtjKt8bZhDfb//7QMQZAA0g8Tvspa2hjB3nfZNCJB1eSPEmtnX2ugiCPDKOmFVl2SRVOIKR3OVqUMok3fW36qq0mvRrbRNlpEJBfXR89//+33ZmbSsaWYgUICAAuf+NU8aKNjoFPjJxEEYKBZFv19LplcZZri7bu3YjKpBxe44eaLJVTui2xfMhv2a4rtjOsEg8bmzHX6q2rWmilZFaCkxtFCj9v///ubhsCdC375r/1f6vnxz1LcoX7Qwggk2///tgxAOADQDvOayxraGcHed9kzXs6moICFw18vSEHoJBQFq6gT3u0z6Cmpw2MD5YnLLx9dFe3czjke5DzU/XVbt3YiuYe69Vv9OieApwZD51kX6tFBkXb7zMbym3/6VJdbVLU/RoE0vnzkaNMVJ/u///mbN1aCVWlCEiFgLX/4FdmYQNvLlAzDDmMFu0jkuoZZ2qtGZPIu0sCQcNJIH6CesjaZIDLz9r23mS16c3jMWdBagODmaZ0/XZJkE5lvZ9ZmWjw9f/Vbv66qlHSQHF20CrX6/o/q/2+swTQus3iGYjMwQQ3/+N4sDBmyoyIsRlYizQMMycWCdxg7bOnFwYC5tgAMUJ//tQxBQADhjvOeylTaG3nea9kzYkdGgVV9dsnWbVlcfloHrsQUE2yzF08ngVQ1kF37VaYiTZzWYKoWgAZMpqo3t7rV0zWRupxKouklvKocrdpNJ//oYxrbyLA0ZePFYh0ExAAA79hQpQUSi3amwBRBy4KBERCKTuYMlgt/pp/KSaq1ottNSebW9rhyx8UyorXGMKW5fzlYgJIFGEYexLFwxLVKRdbIpXOtXrRWLElwUDu/1U6137bvezux46GGxWwifxZH///97rQiliVHmnNf/7YMQCAA4c7zntGa9hox3nPZM2HDIUE9//jkDzJAw49EjICnKCwVLpmaSTTXMdl160Vsv6eEBA6h43on/EVhPLqK9Mvy1a/ffBdIGQJ+HkpIKNi3U9SmcwXah3F0wCeo9P7/U6Oy71JraozHvNJDYvcRWK3dlHPq/7FJUhJdbDxNAy8RCKaEER9/8oIZIRo4QYVCRkWXR1QBnM+yll7db8HU7tT9qIR8GOJCXm2J1tOlfmVp5jOZmNtatwo02Qa/eyZ1A+n1qQytESp+r+paCrVOy6uk1I0WzCbKEnyDlJr3/p7/WZcsk7XG1YqZgkNDSL+//BcM1qtGgeDg59wsiIgTgqCf/7UMQNAAy47zvtGa9hnp3m/ZS1dBVtYBiFjC1BQc8UNRIAriTGpLG17hUkHKQzFnz6/bGRJoMYizQyNEH6qmSdjGzs/OniD//6+2vtqYuX1RjLpH1//+hQAyKxE0q0DljiplxMUNEr/4U9BxZhFhAKbBCCMOKVQVOxiVOsWBmxO4Gz+plEDaqIltBQ7GScSzWVdK3raRW7oXatZwRkGtKanH+o2SSdFk1PZo+kAj2X72Q9dattq6nUcNXdV3o///2J0IW0sgoCKheIVxMhAtH/+2DEA4BNYO0z7DGroZWVpn2TNeyfYQ3DP4h76aQGwsMtEt53Ngip0orNykgGa99IUtchs1W8W1cimFl9uXhBNmI00b0KaJw6ZhJgskSs1U9XrayLfSWVi8t6KlOtJSm9lutT7+5+cJOQKwBETzqb///+zqeTHueWB4eFJBMkSsYqYKxOV1YIKKmGEretxfaG8oWXKXCuSt2bWMJEkzwcgQYqbU5nQp32EszEtzD8dv0TwIQIo+iy9bbOoxM10WWzp1kYkkbkKLnFMQw1lDwoEnByLISae5X///9y11V1JXiWNENEivtrTfKGZgjx50VnuRcUyfxedRlrFZdEwAHz6Z9YeRH/+1DEEwAM3K017KWtYZSVpv2TPiSWBAKUBQnpmfyM3J1M5cl2OnLaKqZJABSMjZbIdNPakgtJ13fkYoutsrJxcgNM1TlxqLNahpR5O7//9pmyumKuJksy7kjEiTv/wycBsWjwl8OnWEdFgk6xdt1lTDr5S+xEYtXpJ9UMIMIrIFzLs5T7jEVt8Mqdr1TUUoGoKGVvpnXxil86ziHff+aV37Oku/ZtEjgzbYhRiQajP0////2MKVicWGovN3llFiEoS/9rTmqJfEJMsQ1VKYQK//tgxAqADaSvM+yZ8SHSnaX9pLXkj8Uak+NM9cituvYjPbuMe4/IFT51A0kSJFU04c1VB38fy24ySYPDp7mn+d0+LPK5vGvv/GNtTKcGVPxZQpQSQ1Z0HQTWokUjIkFddX/r6fKLsUXEYo4RypPDsiqIkUF/bGRLzRsw8gLCioTZC46Z7uLff5nSdcXgFuEqh2YscYQoFlET29jj9xrvS3WWZg0ymnGpLzEK0IUpru+x9FFE6m82QU7qoD4SgctBdBOitNmWqtSvp9anSY4D8aTEhoxMbXKa6//b/dobzYTNtSWHhBRBJJP+2w7oNa4LvGmUHv+7zwtClbSpO8/wbJoisFA0//tQxBGADXytMewZr2GrleZ9lLW0E0jmPOK1egmzpkUnqc2FQIvUs/bVlwGERJSet9J3mq1mV1s61qkxEagoJx5MTnjQcNTKHDHDmscx74y1dqL/71fo3IvzzQwgNm7xDGykTKX+1puoA+4v+z0UFgZ3mytAXVA7c2ewxsOFSVMF1iWYsx1U0/5GXJrPy/Ff3CKxucf8vFphXlE0O796RkpBO7qpqRQMEBhaRJdPOAQ5S23OcYNFHjYDXVIf/d/uRI0FUnw4NEZFFXd4RSIUgv/7YMQDgE0krzHsJauhjxWmNZS9tP9bDJUGzCZx5gzHHOZM4S42SNyDgBxoEgoKn80oiZOWtH3lN9PVZ3Kw43kM+699aIGCUzzUH1VJnUEjjpujQSoE42GCSQmlNUOMC7XODjGsmqnomFaevpijm92vaLNbuESkqbfW5pNzi1JrREU11gE07tV0obn2jOszyQh7nygyB6pRHJdQtBpvq6q6T+ZW1rFoJLP34xkaKYnY12f5kj/NfTHlxbG9f5tbLVdxCajaWn8RAWpYhj39c2n0kq/6v6bX9+6OMCZ4eHYyFNT/Wxuxskiwre01ryD6PzaOYylh7MGAu9Iea4ixVxSNWSPu+f/7UMQVAE204zHsPK3hnpVmPZY1dPbOdyzXiQJtNkX58O27fy79mMboicKHiSf55iDCIpBjuhUqVAYfUtLI9lL0kRZONcLBtb9VhknOcx17//sVwkdM3BtRszxBsRo2nzeJMnUiKZ6nXD0Bs1Tkbv6ipXDeEF0Jf52jx4flUbS3K9Wn1drFaPUG9YZW+60lWNBiBrSMXU/rrrWg9BKYVoG5E2B1pYXDj1HwYNg7QJr7qA+xFSdnr/7PrqFWuDJpBuoWZodFQibS+tsAhjtpAcn/+2DEB4AM1JMv7CWtoagVpfWTLex6uSxTRFTlFSGlUpQ6UJRDxZYMkg5cVzaiUJ31MVQHJz3RI9PcKS8K7p9ZwGAbj11f0pwECwSW0RH3PWVqWE7q1rIoz5IXZWGMi6r/0bfWgUWKDEsF1CBLm+8yaTa/tsIvx/oi0h669ioXfiFiA2fu+02kiLtylQGkWgEEqKXur7Sy9uzICxhf0k3Jt02aWBU58Wp/FPeuzbV1EvZVIn1ntNKUKKFG7YHWbCSlj1Dzqqd83RDBD/0SCGKdBhLHiRZg9VL/po0ml9ZGlqd4hAYxLnRao3l5cmMRgF5pFBceu8qx/JQQTbD5mM1BrlrLcGH/+1DEFwAM4NMtrBmxIbqV5fWHjbyln+Ufu8x3OqCZEAyulq3RNUDMzc8zrvmdN6kl6k9b9lmooVEAhUF3bELYuOsp/t/7N+WeMNjJ5xqa7fWSOOf22JtosGUsXbjbhdl/o8sZwWSso24MqJiXSE9E+nX0HFs6me6s+zSWnL6tyv9Njjum/mlJbHoRMurY1/8OjFhcp1GN3HEKOAQiGLDk0H6wkPhV4L0GdDRpPaPSpdliNJT0ZbSx7lqYUNK3/eeRMyf22HLWNcCQ1kvUuaq9//tgxAmADVStL6y0cWGolaX9hLV8E46zutNkTx8caHXd3Vf+USUNklpKW8k3Ubt5s9mLw2ua6S00TAT4NSCklIbtbVJ5LmZSmQMChMq9pJjWjA8sZtCI8dKvOsIGGIlWkPtkE/9dq1tJFBMUWaQ7uqopxyf2yJBJht0tBBVEIGaA/b/P614BwDEUpDNosI0TQyJZXGEoRtZJR93xJGuqQGZLZkIYozEOGU9e2yLrepFbbUl1qODy6BKFiVCy7mk1LKoctiGsIKaUKuJf/+vWtrXrVKkQ6E5f/++yVuf7WloBR0bWWEZa9zSn/xqPjG26thlMQvRqQW4lEeVavdbt8wvTt/mV//tQxBcADfWfMay0VqmmleY9kzXsd6CjBSjaTmdNqd1IhjHQ31N3QyU/0dRi70Rdkq688jSEuiPsRFrXI7EqyWS7uut2anT92/r/7++6HkOdVVEMhQjZK7O7QSLJr/rYEGkMhNG/jMuTEciU3AC7WtsuzicCYQYTLBEEpnBrnUddDUMxFicNupkNy+UvKAMJihdSPWndkFG92Z02ZaBtFz7CDGtFjIIGwqwSTaSSiTEpMkq6Evo//p0OzSmmFuJFaiZmd3gjVSz+2QBjPqUB7f/7YMQHgE2Awy/sPG3htBWl/aY1PAx5MM0kBMyduB5Uyxl7sIaqFqzlV1EVcPzrq1pPjPiWrjPSWb729cqRNetPmGRlN0x7f/nlnGNDt0mqlD2hy8BChQqDrnwKo8getpNwKiO91CH//9/a1HKlB4VeH0hWdnhUSt7hJswJI6IYvrLLFLTRlqDZmMAQK5EfHJSsNywvfptE9af7lFyA3f0ej3+4kcPqTa6cxNBBQjkukkiglZ6aS3Zb/dRmaGwbIRijrHjV2rnILlUxouNPNDa0Cez//trlzLlrDgfc144oZ2dnRTbe/tEDgzRqPIAAjt7KIOr3Jy6yx9pBCsrauq1Masfpy//7UMQTAA1ErS/svG3hrx2mPZM17L6la3xuf4i5teNtWTUie8/tr6p8vlYKu284x8dIpYJLnThFLBgfW9xjT3DW2HAAFYshwiieHf//TtGIvIAZyh7j4uAmE7w8NCGbl/+uoouBIzaFhURf+RXYjSzD4Mos3HZjEMIIASehiP5x2tsS0+HQwHdkVix+xnotlGYQQZyUVMN73UpaC12Zl1rR07+yC0/0nSVZ111McYd45wksdFfnHK++5NaipIcmNgBaQoo5FmVod0NopvrbBOz/+2DEBYAMpIEv7CXtoZWR5fWktbReAj0uVf8FXLMD50CabAmlSYXIQUySIMqIaURidmpPOxqeZ2ek+tkdfqf86ukQeyWmx5Mi6BcUTFGiWc3dUKQmQn3H1LQCmy8iaaoywd7aPp1oIsYBY4e6LOXN59u3rZf7bA92DiQQmpFTUP4P7DdudcaB6I+NGNLLqwPo2EZCv1j+va3WzjWxUSS07ux3wulQoEjN/7ongIKuCAfY5YkirxamZdrWEY0Cj3rbFnmnQuxyW39v+9kIiG8WhdYRIuVHd2Z4U1st/tsOQA6HhaB+GXspi9PSzeESX428tFdsQQqEk2+oH2JLsPjrK0N5uiD/+1DEGAAM8Hkv7KXtob20JbWnibxlR0la1bcnK/EKJofULUZCATJoATlhlhAupACRcZnHvLvuhpRYgKiuObXYSf//6W0BMSAmPBEm6+7b+yR3/WSAqIUSjjFFYnWj0ug2IW+QC+zjQPEY26GpI7Up2aRwnkxvN97zf4zbv9ya6ncNwt6v9Nb2MNpA0zI6xnNlIxSsdSHXv8q+9keyvLVXsvOyd1Z9EuszLqi221tb///f+zX6bNU2fVCVFDiIZ4d1S2f/W0zRzBTOptLRpqk2//tgxAoADUGZMeysTemgkCX1liz0Qyu5hNSF9676qGCZ8rD6caDJ1lq267Z2yWtOSVMKmZitByNnomo9jA36hb9+ZdtPahbXvRb3W5CbhibvR0Tp0d69uT/p//+9v+iX5WfWrIrKLOxQayB+f/ey6y/22HEUYRoC7VgyusmkBDQWCcBUqMIcX68kP3FiFc2U7F1KNbw9AduBVqjmNO91pxyoUmTOtaOEajE8J3UhgSCI1QpZFB4FluaRC4wPCpdr73XBMlVcn9v4CMvF4yUUw2IxRlV7f3+23Xf2iFJAmNhkaR2nQhMYKB9ep2HpPfWiU04Xoki15tew7fer1lMDlRk4Vx8w//tQxBiADNSXL60xp+GwlCW1pLW0LzG56Z5gtSJ0Tc0N7KapunudAjGMIhSBzbxKpRoNCgu9S9JBaz9FJJhg7///Y5xYJErGNmh72u39Wr3+tkOERMEAKCTNHFtyzKT2Kz6LYp4wkDyLoxu9bqayaCWxu6UnvfZfKrBDGDG+86igGEkz6SpogpTWZTsn2MRp0goKH3lwioqSuWSNsQYl2REPiY6l7FIS//+bimUaYBwVIFDSy3+tdlu/jmm+0kZwgAKDKua7cpbv2pHiztcr2f/7YMQMgA31nSutPE3h1rPlNZeJvHVcrWyOsuE22aSPJBg0+ll8uGvdZdYQy7VPWsfGZ8v97zOVKDZN1lmxfyuhUYxz/Uzns6PZFP/lP/fdmYh2fRXY2isU/X1ft/////329Uk1ZXUwdR7/WbbLbpYt7ZGzmAThGvlyzCqz6Y1+SiGZE29MwsqS0/juTHLDX1w1Rs/UbdtVv9dz3h3LHnw4RsqSaSVhcC1mrqBFveibo5EobzshFqjqyUqqlQ7O9tXqztYl7U9dZWsV1Mm/t/7//+3/dWqdlZ0MhpCgkfb9+pU/Tf+517/W2FUEFjCXbAcFfXPi2VAUEA/PKqTTzlOmhImNtf/7UMQRgE04eS2ssWPpk49lvYS9tMy86RNRe/npknmrF1nmZB018CEMkbQez6/VL3N3Xo8NcIU1/GXQmq3GUZfC1wp7fvNVVd7n9++1+e7//7k3fruVLc7yJmwFVZVaHU0svwhafeL9iDu2a05l2xSsxZvBw2dYwXIJuQZ3JzhUUDHv5W0gje6WlqudKqg3LJ25bcWbZcyLtWwmtLjuPLDhgVUErHLJqEqwMw4YU9MAjVySjnmqfFrAmqLFnjxAdNI3ZlWGRV13+skDhHQiA1D/+2DEB4AM9Zct7DBN6amP5b2GITwW1K1clUxT5dYPUiy6JzmD51YOey6izrUXqF66b+jklx3+Y7RqJ53v3Au5J1L7P/Kdkqfczuiumn7t3Wts9CWLMjfr7v++if9f//3377371dasyJmIotygcSszK8K673/WyCGY/dUDUmhNLh6arSuhcHyF0cVxbeNk7a4OCjbGt+zhXRQy0jv1wKrmX9Ws9Me+jg8FAWw5h2CiAO1xEUtgC06Ij4MCyWgMmq8NMhkIhNzHj7BO/ptH/6eVqZaEwqMDMqxlZmd5Vl23/1sDlFcCSooE8O408Butbc4SDebLCFysXVMrblmKlWbu7lVtQWT/+1DEFoAMlHsv7D2AIaeY5X2GDbxMzYpUvs8smWOSKEH2jbAOSKIDsTFL3DYJgmJguJGgqpR1xiLsSCDCm8+wjxRe/o/O8S34fBeXUiKqNCoTSf7WRnmYsl9o9XgbVTfcoJU+13Lo37xkdy8M2XuxuMfDGyxqLPkU/D1ozR9jbJ75ZpMMUKZp0zqll6zYyyyhsW1lheWDcAnlrQyBNyAwskH3G1toZagn0/93ap6g+SHpWln//oqS7W+6t36xxmHnmeevPK67guHcqxaduPZP//tgxAyADhWhKa0wTeGxtCX1hYm8bLR0dvJiDWogPk4tVbu1NH51isvSJkw97CK3W06psnorGJ3vbTvcQhEV/SZ0SlESr/7scoh21SpG1VPl+rf/SnRUtZfQzey/0X9pDox1ZBmHetjuFVn/W/t/+7td/7bTmRmRHJs0W5WtQ1dqU1aF5wS38ESy1JFcdTll0rQPqsNj+tIL087mBbbIo1+WA+axbp2eR1vU17ot2zldbaKyWSt7+tORDK56FvYqK1qUV+nvvp+tNOunXXWbdmYQjTHRiqQgpBJHJU2nfa20NnA1SdzYI1PQzPXM5ZUe6RdVkNcWkaYkVQw8Po9MY23Y+8z+//tQxBYADyWjJaw8TeG2sSU1lAm8bl8nvFxJWPumHK2t2ICzsvj95qPlJVMcsx7EkelNTy31VC0ka0OrXIcbOyy1dER7/V87PXyd7P3+qp/bR6tl6K5mc6mdB1Ygt/LUc/TdXrq45L7ZIzlWCXTrPVUsth7hFvtVndi18cYsh6afjCxWZemOIM3kxtAbmYmYHJcZGnqKhKGz2Wqp4q6L7X2u+zUdmyJLep0Kf9UKa7m6rZnr5anumy2sb6f1fN/71Z70dUsKHiQHgRgwc/6/ov/7YMQAAAzgnymsJQPhs7SlNYSJvDpLNlG3PtJGdRCqDylnaIYg4PHtsjNLPGyTqHItGrQy1PA+x0tA7qxuhsCFxXE/wWCZrs00j9z0kUnRBgTqCh+pNG1rAKEWTrwIPCQ8CCsEWtOC50BGIp5vd601bXpaVaZBtT/+ii56WXa3OX6yBh7giQNoXnhGTZpTjYmKWLTllRFCMx8rI2qhQIpPk9N2vhdSs4+TO3sk6xr/q8flmzr1TGVniWbZPJK272IqznVLLeVjnK7vRXZLvQp7Ijl6en////v6f9FqZbKdmNoskgqv9FfVUsr1kTc9rbZfkFhtQYy8zKbeVBLeZtZeS20iiv/7YMQOAA3poyespE3h1bOktZeJvGcMwtbGcu4d5Wp7r7n08k7Sj9l7Z9vZBQGjHqcvfJ2faqstL10Qqq4Jlq1Xa2TYrzkt7pV3TlZFo/f21dHV+b/TI/rM9/tl2OV1KV0FFHX9XVqlDZLNVI5Pa2kRSG+gdAUO0zRpDasvLqmyf3CbcvpJaLLGli61XMZrtW0G2a2eVaovYo3vv21iuyYMz2Xbbql6oQ7lJIiMTWmTQ7Z1bmU19pzKrJqZVS5ymtl2ShiEXX7e/1//fruu9US7qrt1Q0IYC+6ujXjRCnZJNp29vbG2c5WOkR6q9kMw9Zq09iv1jEVpI66gaeNszSyXeVhYn//7YMQTgA65nyetPE3hwo8lNZSstM+Z/fCUpClH1Hbtzr8e72Nmu8w4hnRFVu1fndrp2eqMve715yM1DK+oT/lMl7L/Uvvey79s1qf//suqtyup3o7Oh57lBgnKgUzerR7UTandrdrpJvrJGeEJqNstfdeylKAALLyF50ZRitgjP2YRSPkBMxOmSehf9utgViLul7MHOitNxBGRYZPip9pYMhQ6BziYueMCQVPVh8LPYCzQQYkfGXAM20opNYLiLzqat1vI6TD0pCRgRhcXd2b00Ix9dZMrfpbHvbG2bMMcMlBsachYTuEXpcoDZXJ5o0N20MChyrid1ubZVaOS+0+nUB2Q7f/7UMQYAA71oSetJG3hujPlvYSJfZH2314VL62Ok7rns1d58yPjy8OFCzJJXhtm9lct5kcPU80kt3L/h5ntZwr55///37///565/+c3lKqa6k7R5etILv6vUu1wojKjK8Oy6//22HkoD7Aa7oi/eH3ZdzMcCaFCkXXB8rFgCOpq2Pm8tDpylT8C9rbIHYTYh1cmqAxIa6ot3dKM1WZtGsyTibHIScdqXh2reSqOb7K692Q9ESypk7ld7on/8qf7O3TPpYzS2aKRCAkjqnLbLrb/+2DEAgBN3IEnrCWFob+c5LWUjbxt/bG0HwBC1xMOdhpYaHyr85Um9kLdBQCVEl1nXvW144HLXZiqb3Ag9Ag6sRX20L1K0sy6zW8Pg0eQPBgQGiIXQHYudOESJAIwRB1bBxd5o8/HNMOStCqHGNfpt+b9QEETQwcDwne35fv7Uq2R2Vy2+nqwAiwUcXETMaRQ2r9fdWJ1ObNlCJwwktFOL1VsTgnktx0WGB9mj8yN0zteP9MjZ5FXf/Cy/afCUmyLJJShqa2kR/6edT5jM0FobGMFjCQ0ROKtFb2T68riurX7y5BJYeSEhNW6La6nVaZ7bzbS6X6yRvCAaGka60uGUtSnGav/+0DECoAPlOsprCTJKNGCZPRkmAV0VbKICMVEB0lITQ5Q8gVJp1BtsGJkk2w+kd1qCZ2MsrIewUYJohaB9ENTMwm6ZmJlYfVtl+H2Kx9jLaIe4+7D5ulO7YsWoWR9gXgvSbUqIZ4TmEUkeQu1nJPf9f6sqKbSKmXKN1WkWpK5Lbtv9oABKgsdDEi0ayiyghRKBTBKWFFGkwZLLck2iilDiSVFKSKop5irCXUprbt3sxtMQU1FM//7EMQCg8AAAaQAAAAgAAA0gAAABC45OC4yqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAEzAAE6IAADBggLDRATFRgaHSAjJSksLzI0Nzo9P0JFR0pNUFNVWFtdYGJlaGptcHJ2eXt+gYOGiYuOkZOWmJueoaOmqKutsLK1t7q8vsLExsnLzdDS1NfZ297g4+Xn6uzu8PL09vn6/P4AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAZaQQAB4AABOiDBQ6EaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//swxAABAaADKmCAACGZEWadkwrMA4AAAagiQwtxv/7maBABJ9/F5kpRuCGXOBt2RgYNuyGBnpmqaisYwi9Yahl7lAFfxBKgAAKQrRSYXYyfLDCIP5DksllvWISUiTq6BAh973z/zvIIJxA6KsWCAZqLg+fqwCO51dhFpulH3tZ6Uf/5hD4jUtUAKfbgwuGzamkN2A80EJTRJWMj//twxAmDDzjHNG5lDSJRGOYNzSVsCkOPZjANGBRgAQ4YUAJo8AAAjpmRQcDEJhpgAs9naPwRsmCzxfJcxHsvAw+kf16JS5kzFLRFGnOKBo88aIIV/lTha45n5TX415+//vmZHuaqRSrEHF3FDrWRSsAsmclqfTLoXrTtrAV/20MtFk3r/TMRNNVt00ItDGgVDnGkQOCUx4OQqRTYIOPFNHlTIRgkZg6IVQXEAZCGEzhCUtkh2Fg4WBgAQHWEwnmUumLAZqL3iqTTI0RGoLLU03lS1cMtVBLpX5qTjPFHmVrtBGlOrmVb7vxrM+Ys2Gwo+aIAwXOAwDQ4qWLjBhFoqachRq5PU5ns9S05gKQ6t5MBb/awKBI8p9TF5dMqMIosI8TxJVGIAGZtIGkhJWa8oD4Jqwa1ASLASP/7YMQUgxAoxzJuaQfiGBPmDdyZpIHJDdBDBBUHn+BSNpqbgkBCA6FDM7snf+MutT3J8WcfhyJRBiyVhubcaFx+rLLxSDoWShXstC0ivbb1WvTrypNJHONw0DixQVW+9o1bL7EXe7R/6PTLjHoAV/tsMUxWMvtWM+TEMjhnMtQRMcQMMWwOCwaGBQdgIpBYOTIYGjHoHiIQ2TmEMNiHGycgZgrpnCxIcc+hMEFyBowvWsi3RPpBLwUlJSEf9FAhGx+ZaGryix+ur6lt31c9CDTwSILsgxrwYHDECAmaDiqi8vi5BzpjJ0Jq2//+iy199gAMB5UB3/a0yYWj15rOrN02mKDVIf/7cMQIgxB0zTJuZM0iA5imDdyNpOMzg4FIowOGRGJjFYXDBQbABRlwgGAwE4IGDNMdc4D/Az6w40wUSO0FhyoeLDJIN35ed2Gmsyanqh/LOkCFyi4Ejn5Wh7d4Z619x63FPtG4177r6+dpysMPx7qU4GajpNiGsSqcNNDK2iG/3//+1VPSwIgOb22QEZrYeZOo8aPBGZUAGYQiQLFeAAPFQ9AoiGBokDyQmMwoF7FyAYQ0iDkAPsIAhstUwWFUzGEgssCgUK2xd+B4o68PwxRgGlQBHEFRInVgsFDnYaVuZ6thUJSZjSXytPQolASYOkEb7MjEJjtTHSceih7t/v/6BVxWhJ4XKvUB//UQwLIQ0+mY0PTMy3GMyEHUweFIWiwKeCiQaAdmDyBoYaagbBCK+ocFgkRMVCj/+2DEGAMRSLcwbu0l4heT5c3dGWzRgJQ0tyLCAYVMpAwWYCBgkEQocmtXFAnAATB8wrUZaUOwIy7GtbmRWEwnXeQwZjFXITns5SrZqxlO9zyxvKb4GLqJD3iBbiIAeAHESZIr1MV///9NhKmfU0WAe/tDMJwqNz4MNrFyMMD2MfRlMVB4CAzMKwXEYuhxlAQcCJ5ydYcgOusWSiE4NDjyDwhKBipe1NBQwEBQwSFh5etm12mfGJX5BGqdKl+QuCtmht9K0CgsO5IIStSUeWrDTSzYyemQihEPyg8GFMJsVNuDEnFEoGEBK4aPe3///+0wwzACiyoB3+0QUHcyJzMy5Q0xaMf/+3DEB4NQ5LEwbuRtIgKV5g3NGWwxrC4xaE4SAowIBMwQEgxSAwUCkzTBgxGDsWGRIoFJGcabkp5nl+TIHUIAwsKHGDDOJTEKGg48h5/XOzorgxOQobDwGGBxSMICYVTbIiNiYnBnwzuizPcEMQiELBUcI6REQQXcTWWVYNcQaMFL///0eXmGAaICg4aBNzHY1PCJoZNhsslGbiEZeKRgEAGDhgY3Ipi8RmJ0GZfGh1K5ZCAzFATPhAwueUM5hkAcqQBpTmBAgwyQjUD2LZfFIfcWkqy3XqTRRR4SaSOVaYo45x0Ej5rM/v1j+n/X8bzmfVHh4pUzFcg9Rt5daHBVAoncv///XZiq2FjBCFYCb+0RWMzbuwynG4BRgY9AMYLCkqQEgGcx0MsiHmeBweCiJJ04TAiDOAQa//tgxBWDT/CtMG7pB+IAFOYN3Zj88MQkaGYYS4Jcp/C4IoUEQhCBiu8H/hqV141RtY5IEOMFB8MfZu8A1D8Y7Hoh39RydUO50d7reWdIgmsOsahS1EFCrB6rXqXmhwWSa///27dbBIgosB3mHQPmpssmvRkmh4jmQYHGG4pBAOmAgWmkj5mRKZsWniExsg6ZeBuIFAkWMw4sHs0FCxgwKn2kIo4SCBgoCIQVINs9i7Hoy0qfkNhHM9oaZGaOW9quIsraarQ7v3nNmXpt0y9MGCYYGjgXDLHxshWx1KE7kdv///1rVXWLpUJKA2/1EdI8Frzs7CNNJYy2OjK5CEh4IhIDjoZZ//tgxA2DEEibMG5lLOHtE2YN3Rj8BQWGBrIJGWAsRFODxGEaSBo7gyUzzAISpsyFVELgjTJdRJh5L9MKTYREguntf40domRyegVFEJOIaLJrsdv/yy81vNrGA6CE8EEiNbZ0m8UNkzRwClULQ4c0q4UXo///8wpRrQ0CiMB7+0QwlIox4vQwWLkw6OMyEBQxNDwFCgJBsa8McoUZXwa4AcqQY8I6JKDMKZL1nlIhUkWVGh6C7CUHTChEK0S3fzwfu4+9LytWrrRM2ONvVPy6lVFdGvtf201VLmDpDssXYH2mQKg25FArflGAXAbedjv//zni6b7KFroCf6yQxEGzx6zOIQQ3//tgxAaDD4CPLm5pJeHtEmYN3aS8i5DLB5MalIpCDjE4Sk1skZ6H9MG+vFuHAEAoqEDdHjYgDLEmYixNmiZQ6OGCpWEGgjkTtUEBkkExgyzdZEoHlSGK8r0kanbFkTlG1dQZuXO0nRU8xTUGmPctgQlnMrYADDsWKvo3/f6v/+9FUooWBm/tEMDhrM4KpMl0HM/gDMjRPIQwJogwQiMzIhg4KBU6cyMgLg5FbGIQEu6CQABWhjwQ08aB0IIUjeDAoWBkD3TtcEIuOqCdt8fqTcjIk2aF9KtqxZbuC+X7/951KcfHQxEDwipDp5orKL2abbFTf///62jkqIpnS6mEagL/7bDB//twxAKDEBSRMG7ox+H0mKXNzRj8kGDQCHjGE4DOseTFcEjEAAh4mQEBxqlZqjZh5J+Ywc9CMsXLkGPBA6WEiTKCkUiIUv5R0vCCh4QBL8N058iqOtdlmEOpyzRZQtdmpQgjJcDryZdBLd9fnIjkCABikJjVg4I4RIBiITDXNJ2CpoXehO9rKTaf///SB+gUaBN/bGYEAx5nVGbEWauQxsgMDTRBTBBg7NC6OqUM/nMJYNRFDKi6gcDMsBM4bF0QhAAYkPB17NWFRgkNLJCQdo/L72UNjKvZxp0wUikPuhsMXES65Yp3yMf3XhS7XsmY3362P337uS/LwsJKy7gzcOaiixsrr+j//pyaM9W6Av/tEGghMbaRMuAWMDRzMRgJMOANHzBhChgmJOJMkjP8+NVRZhGRoANKlf/7YMQVgw80mzBu6SXh+xKmDcylZMnROA5sY0Iq9K1uiX4jEICURGyX8BWRAFY1+1vmjKTE0kTjyxxXz02ni+pZGvvhGCDIfqzriJFCBmJXWGb1Fat3SRpU3///6o9qiZ0iZOA7f62GESQdAOxzkHmcU8atCxVFIKRhhEGCo2MWg8woFDRwmOz0IzYoTDiShpyHEcJdGqIuporQy7IqiSgIjvjjicgJkaCGY38c9CQPWGm0C6ycSPb283y/uc6uLpjSz3jCzng4I5BKh5JgDGMz1ZVtw9dzG//bZ9SGXT214sL1An/skGRUMqaeM6AQM5ijMKR+MPRTDxgNeiCCYZoYG4bhAf/7YMQRA5CwlS5u6SXhzpJlzc0kvK4ebMHHg4CYMSChB3jIY2M6KnUNmZkowADhGDL8Q1heEqMBDRdW7qMlg/EMSlJrZNXa6y8ya1NjXyd2uw/GAQVUEi88GiKxJmH3mEkKu1KtO5/X/b7JcUQVNMIBZSWhc27//p1gYUKZwP+mQBgb/DZqwMGTSuGVTHFiGAZB2ZW4d9AaJANVmvhwIEFgQxMK3YcZcNYSMZYXDBwMGAEB8C/mEzR0yWalrORLxWjmm6knGsepF70U24bcf8Ti2JQ2wEdrF3wxe9y7S84/svQz///1fI3EBotMqgL/rRDEpxOaaMzmoTZy4MSF8ymVTDQBMP/7YMQMA1AMlS5uaMsiAZJlzd2kvEhwAkExuDhwHGrR0ZagYsRIS4JILDh50wIshMmAVAj6shACDgpZtAY5+d8AEQssJVmY5wIBHB1dMZhIw6hZsrmEU+85j0aUga00A71j3iTuyCG3Aws+pjkvkWvaj//9lCGoGKmAxAJ9AV/MFQMMQKYMezAMQSrMwQtMORhBQqKlpkRsLSBgSWcSqGEKBdiICMGLTGDERCHGYAph4ArQXfcMgBgSHBgAhu1a9YIeLLNm26ukyaog1DW3dDG6IFaPsRnLy883CqbA8LlT0/fOIWZEUaPpOIcVWl6m9Ibvb///sK2nWRcSmCRGA3/tsHj4dv/7cMQDgxAQmS5uaMfh+BJlzd0gvNHpupImeTYNBoGF1xAcIDerQN3MXtEdwwCIHUVHxwOHFVhDmBjOEQgcTAX6aOIQI4TQjQUY93GBpdJ+VrjengSWaaoBwF0AgxcJIVcpv9v6ze03N5g0BizhiRIFkvDpK8IvqBJMikA02LSsX9H/f8jU5EMR8FBgeCjQZ/7YxoUTIKZzDkSjNAXzMQIzEwWQwsFURvkBijwq7P5OAgMO0uUSBgw8ZkWLFCqRTWGgKCjGl6hYQnigu1bXQpguPFRVfYeDkjQhgaono1kQVOIZW+GbuWmx5EGkAgbFQ4cOkSrSJO8QIVTBuHJ0sLkHTy2v/9P/662JrOGKBv/1EBJYN2YY1mMzWouC43MqEciH46HzF4FAgfAQgNHCgGZhljThkEaVTFD/+2DEFgMPIJMwbmTLYfySJc3NGLxcxpmwOnBGm5J+F+1dJgPPztPegXCetbm3JNigleqaxx9MUuHjNxr/5TuuCYjY0GiVASqWoygYUYTFkAsbFVyL2bEbf//199IBMUCRqQJ/7bCoFjgeANuEY1IVDUIYMcFEOtl+SbKaskYSAeQ4CJrjOqFAAOHg4IZsMaMW4I8BTZYSmWECUvUU3470Us8ipDHxqRoofXGK6LbxJ5jbfzMf7jdIAEAuCDC4hHsCwUInoqWWx3Om5GbsthiMW/vOehD/9SWFi0geAxt3//ZVBn/sEEQ4mFsrioVmL5ekA7GCAliX8w6Y2IwreGLtGdLBRyb/+2DEEYMPDLsubukF4ioTZQ3MmaR0Cugs2YQAYEEHVTEhUiVLXJd17ASGQnIoPv94PbDofnzCyNDHIfXBE0J+YEW9HYqJO7e1RxrxrrNX/xxyNgaLHR6yNy6ZR/aXhj///1WNrTJVmQoDIE+sbRgk5nxiIbpEJhF1HAiMYXKIlCzCo1MuEMymMzEZkNmkQUA5ksFsWA0AhXZ6e24wGaRIkIECjoAqMOOiIkFBsYs23zhmW1pPTa0sUA5AxTkiCR6BF32HlIgi0ltfrISf6ygZPHD4qOQCoXPwZKLGEA+RKjmGSEd5FpjeUt/T9d6+LlLFCVRoBgL9rIzAoGDLGcjDF465PMD/+3DECANQjIUsbu8hIfAT5Y3NILzHzWxMIwgUQmbmhixEYMJnNpQjqBZzSx48hMMBE41QikzgXsZM5yi4IGQ+RQbrlyMRuL7pL3Pt452N3YEwrU+WdHlhnurjy/y5b+tWhpgqADzjyDi0xKkERWlgkB8oMco9DSDK2scthbU4+n//66Xl2GDgUSBPzGwFOO702UVTgYmDM+NNYJdCJgZh6YA6FLJvbAVpGHGOwUCAIFXcBoQQ1MgFm0MmetNEgaU6P7ct4A6HgNHLP1ikFkGGJB5imH7waXZ49T3F6Wrkg6NV80Ok9U6kgJBUXJyUMiwqJa3kyTEk0Ij////rQ9qmOG1//6VVAv/tsBoqN4Us1CCBLKGHgAYnCAknxCEQC2NScMS/N1EMDAHgEOl0gwUMiDGChoiBiLss//tgxBmDUKWjLm5op+HdjuXN3SS80YIrchqtBTR9cL8WnJDY1qdVcLMMD5DB8MUTRXYQUpEI6kdiNGMx7nWp1fVytRlZmM5aLW+ytlSqyJa3Zrqlz7V0T///9P+q579Z5XKtUd+ZxoM3MJxoMaoCAw3GM44mTQbmBAUBp8xg8qNzXBVBT7LjElgVFbCXhHiMMhDCLAIS1JVF8GZjIBY6dbtZ8MCYG45H0xmIJ6ay3z0xCO1SswCEi8EA+AAsaeQSsyH0jQRYuPHvFjkwKsdniQvYmpv//+qp6IwT0HBxJQb/9RCoEnlgoSOGAzxiqmZIaE1sQnCoqBT8xh45RAxYEeis6L3E//tgxBMDDXB7MG3oxeIFs2XNzJy9Q8vek2ECi7LzMvcd1UG16K4h3+FoIB7XuO9Lk8nF8O1y26eb1HwKgBPGPasaZ2hZtxU1EU6ceMFDnMj/o///0LR7Xl8YoKf+2wwGYzOHfMbiszMewdKjIRCDyjVFKmJpLFXgRlGrqGSPeIAw4SKE2wCSQdT7XxBbKkJCr0w5Phw4agig8QOQ6VEUeFIZdZ0aImN1cgeezFGoWmsejpPSy7Ipl6NS+ipts7WQ/fpMrN00s826uq+z9G//bX/70861mP2ZHjyj+gJ9pIzGoNN7ao02NhbVmOjgZuLwCzGGOmEfDq007g/540d1Z64R0YYE//tgxBSDEOCNKm5pJeHiEmXNzSC8SDADNQaOVKLAkVFyMrRjKAJdhvM7YpDoFGUKcPPUiklDyyqByS7e9FJvbZey5fy7+EiYkC5wXJjAEgc9VghDwo88slGrD4uLtGOKI2LFU93XR+NulkUOA2JjP/37qQb/7RAUFDdMkDmgawDRqYJGHiMGFgYeMmlMKGZWe9EZNaAl7sDIMcCSIHKQIEm1vOPAEhSFVEmG8+WQfhQdWz21OLjRILi2YbBDupZWcqxVprcRI1CQ2eMKJth0kCp2DLwfIlhR5hxBbi5/O32f/+33vTSbMKUJ2JoB/aSMxGAgx5kExeBszBCcIM8whGxjYcBZ//twxAyDEECDKm7ox+IgkKUNzTC8uGBqAJkpZzYgKdhGdl4UFCAShPQEmIELqJiambR2NCMUiKgAaZenZZG3T5le2cuCOJAL+LouPhD9JiSUYm16wrSHmrcJWAqF2KUEVMXpTLuYcHCDH1FNjrNo3/Z6jjh4BQXCTypz/8tpAn1kbGDkdaEQG6ZkpNG7ykZ3PQOMmMcnRVm1DBXebikaV0bUNAJgw5jQiaIQ2MEEBwZKNGmnYmMkUfi27T8ukkKgbG8T+z0xpkJDVUYdelctpx86wuVpFmXioCp8yPewWaTQg6YagSw+sNgOsAuyQSe1ZZYWWHAY2//+gcl5BRNwoKFYYAv/9FUCf6yQwWOjH/IMbCYycuzLg8Mqk4HCwKBwxYDAwOAEJmcBMYZJBgMANYLiBgNYYDQAsP/7YMQZAxB5jSxuMFTqAjRlzc0cvMBgMoyyxpVKXUXamJDn5G4+BRaNz8rNU/sljGoc6HqY7Fa7dPffXZctWFQnUz0O0jmYqU0Xolkanza2d33Vdyt1v2rXb///p9v+yd0fF+AnLIQL/7RASMTQcPASxNEmQ0IQTFJIDIAsOFoYJCmANHaEGdbDwF9UKysOsZJAWBAoU4y7r8EKTaUseV/iNAnEcYY0xC84gPsLDDDxiIzmxAyRQeRPYrss5zFMPRbVZqM66Iqo63oyU1uzXm7NTOdNfoxlHf//////q3ftV1nKjnL5hZUG/6yQwqXTZUhM1ic18MjMJvMCkoeOAwJQEYSwAP/7YMQOgxBNnyxuJFSp27PlzcycvTBQ6Aw0MYhgHFGnRhEghKEFSIDGCQBBciay4aA1mKpJJzAqJhOq5qObNVE4iG4Vt0h2MAzkUx1lBNBooQPMiKZ3SX0qT/l1/VL37UWzaumkj7WT9E///dP3/sTIUslHMkyEKQG1IF/1ojhmErYYhGBosulETMMB4r2BiR1lIKmDIEzHWKTkMGS6QDrpUXfMFFaYDGMEeniXfKc/JA5DIuJs6uyFShwaQ8XDLEh6xh5xo6RU5z8zRDzlR//f6Zt1d6Ner7tS2zqndDTc2r/p/////+1frZ5++mxqKTYVAv+tjMMDA3jN8ETREI34YNOCg//7YMQJgw9cnyxt6Qfh0g3lzc08PCZAwsbI2PDjIij1gjZuQ5BGy4ooEYGpWgaBgzNHhd6XJKvCoBDWHcHXi2FzaXW5FkhGhLHOKs0FXdCg16RLuoYpUWNFFTZxyGjgOQALEzIUeUSXXSXQdNMJANo02iv/6f9WRqipQEQqDf/bYQhoxxTwwuZ6Cf4OPiA0COGTKnCIqFB5wRBo3bB3kQlIMsqfMHCS+T2m8n2EdiYFvVtdR25dZltnWfSO2tazuu5vGmn4oLA2HjaFCwBWguxLCI6MKFuKMNAJ55diD4w6qwVpmuWp1fQjuktguwCWgcTKBn2kkMEmY2FNBaBGi0oHTMxAE//7YMQJgxFFoSpuaKfhyxBljbyY/AxaGBgcYJyGIzDSRGYNW5NGBjAWAgUAXwQRGIDoAk4GERV9mdwGkI71+7QSFwcKa8ZGuApXDDKIDmHMJsIHKwRI4q42iPIVSkIh3ZZD0o+72PRaXQye7M3YjfeS6zeRyVZKLX/+/6/ap/RkNXd3KjbEvMLHEH/0gX7WBkAccXzGzABySWbyvGJloGiDAwgV4BiQJjP4YW7Gz4bQaFiWpggIdJYknjVfxw3VfxQOHcLV55nfxvZ57zAIooskiGRsce84bdlNWYUHniRzzdMsx6nE0aDERmsVMtahjxR2xP//+i7rSuPLrd//1wbv9bCEpv/7YMQDAw5MeS5uaeFhy5IlzbykvGAZyPDT+vzzPjSrStMMHSorJBqNw+MMqeByqwIOCLCaBaAAOcrTfjnQbyPG4tZxHYE451xf23Z/JIrt+sfU28VpTeoTFknjCowgPNMuTJqGzpp8GZEyhTgVG+B3yT6WSfp/++UOlR7lgssGgOFf/bYSHpxQUauFmwNxshGZyXhmIGEIJgcUYjQaCbvCKUYUUHgEDUFwMm7qrZLE36fF7FzyD9nCESUajL/xZXTDUKQytt+bJS9R1CWwv17tgJCrlLjaFDDZZ5NAzVS6pmRaIl0MSkt2/7/HjF0CcyhVwoXVAv2sjUJNB2oxYMDBZZNQkv/7YMQIAxBYwSpuaWXh0Y8lzbygvMyuTQdFMaYALEekgxQZcCbeMJGXRQnl81DQE3BRNFFirgVlstYYslQ/feHQuMyMRl1qOaiSpWWrIGpySEOo2hdPbWudubruVnz7Z65nndPPxpwLGxCHjgIzI2BO5zmHrUOX2im7s/7GDwXOvFVhomP//6wb/9bFiG84ZnAmaeUEV2YebixINVMxYWvM0AJ3OkoW9kSgDACyz6qlRRbSCpIvB7masjjHOjwoDVx6Hsu4h1hSoaeUJxI72UGjQAuPj2lYJSJQ2UELg3UAQjEAoRFqT7hKhgVzs2y29v6Lv6hpVpQAokTxRqoCfWOMGqx4XP/7YMQEAw+Ugyht6Mfh6ZLljcyY/CPX55DSA5UzRjZgDiQ16U0AQKhw+Gck2JdF/IpiAKAjAZZDGICIvLAzgq7TBS6TQhvfY5JYNv/nDJVBAUIA+hS8CL+1msD2fWnNAJdgK1Oa8iUB9fCUtrSFQCYcK91z1ujh9e3vWxXk3mDaR+2hRYAB3/p/SDf/ZYYZIhjiVGHQUaFDBlgjmSiCgcMhg3CgqmYjosedO40hZV4Fwhw8viNOg4X3pjK5VblcsjmL/MYGcL5zKcv6lRibcPWn1SyqiyLzkmv8/LL3FHBUhLMGBUDhwFrEkFOAqEl8fWYfk+siUJbvxnortFlDj8aaBgTqBv/7cMQAgw9hny5tGFaqLLKlDcyJfP/1tMKdOunOYJOROPqLNczEg4qTByMElhgyHNTKtU64EU+nSHEw5Uv0t7TvrDSjSnbEm4UN76aKRT5fyn3yBi3HNi8ZCt07fAh7+x2rUtKk2marGSulnV3clbvZ7Cz5Z0zvRnWyf/cy7f/0/t/rTRb7XMqkR2tCpDsTAn1kbMHnMzhVzGIIMZrczmfDHBfBxXDg6HEAxEFwwFmWgicO4DT4lCHHmUkb7C3gUa0N0HXXOhMR5VXj1vkYi7A5BKLdjuP6lFWVx2vj976HHeRTu4dkEuciohgZzMiEBqe+32dkRL2RyKqS/RGfQiPVi1ZZGeVe2+3r//r//7cr7akliCgAXL//9VUGf+0QwERMyrA5XMPLjfDgEFZXGF0BaIi2HEjgPGn/+2DEDwMOVMMubeSl4gCxJY28iPxijeuv5HxSAGcGhkwYPeqIuSsOvpuFXvnAxziKCbY0XCCghldoxiRiUEUkkyoZjq/R6pZLs5nVrjnIizVC4L6nSaCRVKwPJLYGP//+bdSofBsaLFiIF/1ogsQHLuhogQGYppASZGNjzEYGHgcUNAMR4QsmnQDqqRdKdYZmBvQUktVj8ndxbTBFE2R2udmoFdSTz1kzMyFDAAQcGMLQOcE4YzOCIYt7ebRU0V3RXezu963ZnRVq6Vs7fu7vdd7Oyb2rX/////8i3alkaruDKSIKhESP/6kG/62wxgmMV9xwVOFGjowE0kBFmoMATIQIw0H/+2DEDYNQXZMsbZhWodGQZY2spLxCoAZiKmMnixp1YZ+EkTCwsKgDJWPPjNP+5ywDSJz/lkPw9OUl9VL9lCzEmwSlzrjY2YDxG0j5c6wZDMQrtsmb+VCL9aNoj1efZiskm465XlzGZdNNfZO3/bzf65td76sEUeE4Lf+j0gT8knH8jBmoB3TZnh7uN3EDBqFkBwcWfZpu3DysdYC6IZCHloTIcY+/rhrRZypW3Of/RtE9lWDf/xGVbE2VmdOX6S/1NpLcUnVMCIkLvmalaV3lAaBdhga0eGyKReYXc5YeIIOsb+r+ShVKXRIQKhYLMF/71Qd/rRB0MMZyDBggytZOYCQKCBj/+2DECYMPZNMsbeUH4fiPZY28pLzeIwMw1DKPHDTTJN8AfFhTCkigE8EAApB6mhRDqiitypG6SD8Y5IXRv024W9hxAuWKkBqaFpx0PLCkrdre8yMWb77qV2iO/+/9EmImIOUu1A/CJkLvGCVqI///21PSQnaWixI6NC4TD4N/9thVOzG70yoTMBgjJGMwwgCVwAKIHwN0AHTMNNdMa4hbCUxSEIfQDDFboPaU8DbqqqXt3n8OsHxNg61GLGxRFogxCkW9WC2JS25MpMVBUVMiQRveeF0qBEy1CBXMnWHHvJjR4DU0HGlwg+cuLMMfrb9Vqiuw2aQHAw3+6tUC/WRsRLZxDSD/+3DEBIMQsZ8obZhWoiu0ZQ3Eipxqo1xFPPKTOjYSWhUmCpsAmAsBppRKYymkQZDijyORiwyoOshCU+eMlCwCo0hYzCWU+UDRBgF+jol07UBnkCMwYmwU1YUlnEpn62z7bOk5w1FOtkTq5zLdO5p36Tq5CMv32d3RWdNFfWv/T///9vStNFTmLaqKooM/o/oUoCfaSMw4GzGscLOGkRSYhKhlgaAIjGCwSIhmYjCZgELGRBqYLJoOB8CKHpiGFQGBjsGA4ttJF4vCKAhp6Fzd5vDYUHRDA02xW+0B1YR+BvxZjOCBvF0F0z4+NNULVKOy1RCn5Slk9L+7KsrK5Ge2jqSurdEbPvtrRF1//X+vuVEVPItKTnq6BWG//SoB/WRsyYYOndSiIOQBj3iY0o+DDowATBBYABQC//tgxA4DUJmhKG2gVuIDM+UNvJT8FhgRyYGSg5P2qoFwURkAjChYWBwNIYbmC6asJfFuk1ew3C2vyGE3C6eyDjB4bfHmSdzTTZxRhI5mdotP+HfdGTsi0mfS1XeRXY90RWXuZOvKiXQ+ujrXXr////+131pZy3a6FTcH/u+kC/AVSNY0zKxEotxAGgBCKA4QERpzmY6BGjtzAIA+1cS/S0HtAm1JIMGdVnztAQNQItM3eU38Y1IYOkcLsiyo5xEJDROdRVxUXsQxlC0MKMN1nV5jltY1WqnWQjI29D0edXU7NVpkvV1ZNuvsuv/////6/v517oczokggDn/d7DyqEADPtZIY//twxAMBELWfKu2kVKIPsyUNtIqcujGlaRi4AFkw7cgMxMlbQcPmMChkocRBRn4+ATIIJrzXHMMJEwQIvEmc2Z2KEcCl5luW6U2HQYJTkjD2dvIFJIRI1F7fb/4QyAiG0BIinq9kqnzPkpdL0ZUZnubSzoizKtNHfnkWlazfdP/v//190rlociTmsoN1UULjCQN//1A76yBueaaQCz4ZpMiBgNROk4QQMmOhI88gkRM1HTBUp4n9ael2msDnMoAEmm0gNhoBAUFAuDMLlvcgbJgDHsYnCFyRnUAkmhZRKnkC903biKEPK6/KdDEq90PTT3Ys3XbfNRHcqK+j3SpKrMnPVk/////6Xt6od5GeqFYiM2Otzf/q1roHfayQqr5lm6jWaeWHUBZmJsGAgUEgxQ6TQoyOJmHUPf/7YMQQAxDRoypt5KfiH5qkzbMO1C22WKhNgAwyA4lTlzHHghAClGMBs8tb5JIpDNuL4jGKg0OjQGD7wFYXHiIiog7oA+5C1sm5qbFqrM/oXad1dmc1RioezqV3MRkL02Ts5v+hW///1T6dWXSyOqFadkmuViqRxBf/3LAftkbMBaTVJ4FUZzCoYfEmYpwQmEQUPExixwYEOmdFIQJFDa97B0RiIaNMCgcApRtrIFzFUUQAkgYqnLeWHlsOng7lqa3GFCEgqeZHQ/4MVeKWen8vDf+ZqZ1ofx/zlzp/KdzCEFTLTbSAPwOBnDS8ICyFouf2W6OL7luHgV6D0AECpQc32001B//7cMQAgxCJoSptpLSiJbRkzbYKnH2ssfQ32QM0CjZy868XGSYmQQsJhgiDCFWIzAlBo6PGFM5rEAwPDB1TNdcCN4z9AWlMIwFTrtbw7oeiNuf9xMuWVJmaMQZbNJTcXVApmurSs7OzM6s7FNZkV3+70qhHTz0REdqPuRe0+vX+rdd9endvt76e3pZncxyUUajORyCrf/6KQJ7Y2jJjo1H/MCEzMgAzooNCHBZtBgoY2AGbjghHjGD8RqKNL+MeRfMaCwdVhBWxOEOs/JckKhoABFUalW2JBZChGZL6Ve+ji9agdNvuovnwXhihd2dpvTWWRlWxav1YrWqaxUuq2R0ot3RzqRE0Z3XXqzdr3S2326f///99E10RaVUsF01/ill6AftbbMRHQoooYkjGxZOFBMz0CAxGgYT/+3DEC4MTVZ8kbiRU4c4PZc28pLxGJgOZiA5ggUGHSWOFcBCulV6XOGQEZBBgQK1M4JV8MAAdDhgAGAILpbSW/gMqhsSCxzLdk0QzRL4eVJ0nSza7aFpVy963NQ6ugNWd5OZXY7ESd2VUatymnulGs1Vq96bl5USm89rKjtZqP/XS3zeyO2Rc6bKZEOKUyiAXbJbaXrtM7XlX/66CAcHJBuBmKMY+IkxgTakooYEEhw8baYwCPN4QMsULlC5kBxuditOquutUDo0GGxNa6aNnd+xOsIi86m7WP/CrtKT30PBuaccG5Igk8RF5UQFSQ7eHZhhtymIFG0JXC7d1kkUb6ZhTFoFQG5wPCw4QVQN9pIwuhmRy5nwGawRnaoRYDQhkCgMYIBmPEQJDzLRsGBgkjTTXUkgIEmhD//tgxBYDEUWfKG2wVOIstGUNvJT8KFrY5plK2y/qPo8FK3QHX0NjRlUdKpzpswUrIMd0Z7AndYmBdV67nRUzvXDLfMrXd5io7qQjlWybnVVfkexHoUyqVVM2zMrnRyM6pp26f/9/06r6rrfTfStVhyP/9oN+skhibOa9FmdhBrayaE2GHj4cgF5gKcKVjqZVVCmwctDLLgwALzn2qRAspd5mzRCFAKiBAqtsQ/B++Q9OPzYVhdxEXcOgELTi8YhjOHznDszF8zGIrFZ1nTUzq6rZKq2jolmc3r3Wqmc1cytqp0O7XIbdP3e/frub9Gtvbql41ikMw6lyMcVb//qVB3/tsAIe//twxAMDEC2XLG2kVKoMM+VNpIqUYDNF3zNjYNBTHw0aFRQLCwSYuIBQDMaCRQmbSy8pd8qgBn4ElbDMTbE3ZBOMAKEprVfWJaRBZqdf5So2mYnNtql056mYE7u9WWVxLncqGQ7Ii3dvMZyotzNnoVEopb2Y1N2fWi091RM/p/6el2/dU+7pRZ3d2M7UjIsSwO+1ljgH7CmwBBgc57s3pEMMluAuSB2lihsC4oYKEsnZUqoYI4Z44g7SxdvWjl4UlBADZzrvQJQCFqC2bPbOR0SLrw3UvHKhAg5KJS9FpnLBnIy7OW1ESxXIWqg5kmVbHZmWp3e5L6orz9V56/9e96P3Xf2edEd+WhLodmORXY4yGf1qA/1kjEKMYZemKj5nI4Pr5mY+PCoCBiwNgKDBI0Y4UtdJkCNqUv/7YMQSgRCxkShtpFaiIzSlXbyU/LRDBsi4FjxN3lg3JGRJJMlCl3XrNp58ZfYszt/PBs4sTumwekMn0upKmy+Vt/ZUqNfOrultdukz7LpdJ1fKkimVba1V7KWrupts/vT+31an/76s+RbpcijEARIPMd/b1pEC32trMXVjSIAxMONQSzWgQLDaZghEwAgbyRUaMGEUdKFYAZEkUDWQKmUFwl12rtgAoZdEVJcmeyvRivSU8nvizFIPHB4OAEihwVh4pDGiQoIDznNqdNdOjK3850dDWPd1q9BqlMlj1eRlmdDSu97eiZU1f13fa3rZ//7KzKmyOraTVd6jP/0aKhABX2txJv/7cMQDAxEBpSbtsFSh0Y8lTbykvBGNuwsYmzkB3CmZ8Rw0YMCGKjpKbiIKNFKwIhsBkaWoQImOBIaTkRXLGLpCNOBwiYCEAQSYlAvLw8uVYFmRfjrheKaUtIscvZbSvmW4oE56nNd3Ii1uuZ/Pumq3votDas7adnZnWu9nT5VTq87k/p06bJ9v/9lVVejGMZ5px/b/TYkGfaSswRFMIqzDAMzRONdNTKBN/wuMZQRsvF9zzPAD4sXKVEiI8LsGOVC3Yh5szYRkwlDBIruyL7YaVaPI4/dqRdVdXJXvl41WdyEbS1zXVgUapYxhLWikAWsICVECrMUqtuIYdu3+v+phjRSYAQRYCLf/89UG/aSMwRHNMGjPQox9jOXPjKiVK8kBwgub4GITplRYKKkTKCEdxIgFUQ30Hhr/+2DEFoEQJMMobekH4hwzZSm8lTTCoUrG4oBEgIAYAA60IyyfLKdl9q/EtUmDLCo2CRyLEbvqY0V2nzzE13NrHNz6e9fdDLqlmnCaUMHC6GIQFkveYDkINwij/176REyFXDTDnEkf9ceBABftJEYsIms0g0eg4COAVDGCMaOyYQKAUDRZYbNAczEhaqlS0TDMKU+oR4BckvgdZQkCPJhg7ywPdqO/SSu5FLBbUMMGBFzCbEFjDDRc5BKez2KerGKdqy0IV6PVjKhTGROrEbJuXXOzVo3RHK9nqzdc9VVe39PZf//tWabat4szxn+xvqQqEAFvtbYaA8cvyJGCbYD9oXEjyYL/+3DECgEQkHkq7T0yIhaQpM29MLzgi+RojBZU1gcwiJUUOpfkAIwKU7IFvGQWVwQMOjC4oI5HMlII0XImRWm/1Ncq9Rp+tbrMd3bXtcBEyAu4TEXOEQvMGwkVicXBgjA4gAIw24VCritYDQpTHGgTIm1pf8UQuzoDMUDB+5yFA6Gga/+qoC/WOIwpuNYTzKxk2lCOpFzPwEWVCoMwQEAtSEIbg6YZkTAIaAgAUMjiw9ahuqyGsTiHoFIkJIILNrH63QMqjR8qLuytuYT6Tt2N99Vl8bxuDL/nt+WUdWYWdGBxpK61xlwdFXFRQXeDSoqIyNbY3kY4A1Wb03+jvFq2F6hMGG68w/6HCAnVB32sjERoYxaDIoaMKm9lgOexYeaiWmMymEJQGGQQKHkj9oLmBAGUUHKONZWC//tgxBaBEBB5KG3ox+IWMuVdpArUU8qJ3EcQaRAQlxolXtPPIJXSSmy8a7rIk1H6klKN/5BdgQ4HQG1onB5+UQKrGHwKKJeCwQPi5lkybfWPINSftWNpRR/Rb3ZsgJWkCMaVE6VHv/64AP9rbDBozOwQ5CZ+KfYETHiI2m8iqbIeOCDKj0JJMYnFQDRAyIc7wFqVMy2oo0KjAACAoB3YBwxhiZpt377fqozACKehhJ6jFmVgte7etGmvn+rtLdHQ70ehnr60Y9Wd3ozGdwZHQzqq3kLTmLvzI/7of1Zv/1sptD3R3ZzkGBjgU6K/6xAA77SRmXsJnUaHC5gjUbYskAIDjNDm//twxAuBEOWfKO3kqaIlM+TpswrUlcRRbvnaWCHxYV6ksgx8y3TndL9ZrMT5WmIzRoMKFtedLuo7LrNHMVByj5hgkIDhAagqcERHYqi7Xej3R7Knub7lIj0qdL3ZGrZFpRUqrVMw+k7uWzO61VO0q+f6bbf16ef9KSmXsiOY6KPGfd/Ct4EAG9sbZkKmCKAWQjHgs61JMICCIvVAj6Z8PEoyYyAmEGLI3DFgUMIBZpDx5Zyy1uO+qiXpAgGMiTEW6891opL5yI1d+Y5MXA5AsYex5puM9JHWfHrdZKH5UNajsnoTtdVmVXeWjGI5yGKq6kZHUqqnrUle8jf/T//yaU5JSvopdbXPiTAvT+39KgMAACv2kjLYHzYBmQ6I076YFSDIghCIQeMOnFXg5poiUOlhdoFDBtgpaP/7YMQVARDlkylNYKmiLrRk6bMK1BWBwKpsoYF5CsBVbLolzF5K9S7D1pGKowFCIuBxzldg4OK1DDRNHLOj2+62VDOpLpZmKjD3SkrFUv6KrrSd3zOZWFPUl+9mVHq2v9fOzfvNp9bpozM41BiUPN//9QEAG9skJgyMYDcgoLNmFTuioBQAOIiQNLYmLmCCUzoBIiQSLngBACKAxkY4UiJMEl12arodIQiY6MgAMXTLdZOXHpbPTtFLZFkjLBTygmEroyWtsVZsMVLPd3naqS7HJ3sqWQmQqFdOroVmrY1J10ZEd7U1S1WWREQr/ZV/rX///+3VSsqI4X/nLymiAgAAG/ayMf/7cMQDgRAA6ylNYQsiIbLlNbMK1AVDmQh5ebMUcouZgARD0rBCANoTBgI1gU0QKHuiW6BBTps0ZsJpxZhqd5MEKCMoV1RfPMDgqIw5y2s+kLKUTeTTJMfwpCXH0v9VSRP99p1SDU+vUbHDLFoq2f31d8mLQKHRKQKYuAaNVqLdD1f5eABptp9yLx7f/+gAQAHfaSQkIh10CAgwRCFzoHBSyRomKgOUQQhGAQFmADj/zgwBmDhBKThmWuNCe6zB4qFQ4oAwcILpcTHTyw/Yr2q2emogfASvDng84vxTRP+O9wutKrZu2rld6JyJ2o+cqMZCLZbKSyrTZ6udWonf1XW3/96aPM7t81Z4t3Q5yHZxhGHGf7kdFQBAAAADfa20KK5g2CY0AgSNNbbg5maaYSJggUNKGhV480T/+3DEEQESNZ0lreRJ4jEQZOm9JLwBALIL2HEDWNNfQ+Zk00H1TsySeBLJnFiWaOTB7k4zeSPrTQmd/fM+T1LWFuEQekGodnEgKAGKJoyzq6VOdHyWUio7nREdmoiF97vaY+6MtZVOrlzFa1/3/+1PT+n0Ta71vV5mKak4zDX2oozADpD4GAG9skQUaTRB8zMAMjDDtBAHIReoGCDAjTFr2tHHBoqBxhsYyJFlZmkx4ACpUD1a1YG3IiAFKDR1NVpmdcAAEhpkfP74VStaJtg01JG6TKdrwUjHem9E0EEtWVU8DIkzRwKlhYCFCIQDqggXIiMMhRCAUUKDTb2ryLe5S3+o12thMPRgnBYA/btpS9AAYAAAAb6yRjBKaDSI2mpFhnSqZGBGKAEQMwgAx64lMiWsGBSIa1gR//tgxBQBEbCVJ63pJeILnWU1vIz8ADLDhlScQurazdaz7qGhUcMkQUSSScfVMMj5RtRj7e2pK1k/JjnOtsoruen83Z3Vy2WOARwSuQdWsAmcPEkC5HOHMkoOGSbVi6RI5imNFVspfoV2qFKUio02EpkkoIiA9/9yxdCQBQA79rIzBQw11BByIPUx0ZGCh4HHpjgOJBngaWIboEVVLPF/zFHNk0+w2fsmVraG8gNNBxAIBVhhz+QNKInUvXURmBAdCgCbCJX90DsFDsZ55S5/GuZERUpCnzVy/7GJliqTqRXGAjPFDDjRyldSvvVo6VUjhRAoLONiwAEhYSev/RUDAAAt7ZIz//twxAODEfGXJ00YdmI+s+TNvIl8I3jSZzPiTZCTOoh4APBQYISxIyQ6VEtJhC7L3DLWFzDQEjmkhABYcxd8k9iYYJIhCMT6ie+N5Gc6WX014fthNwhBqXg7lxgAWozndT8+HcyhG5F1jL6nO8qoTVTLP5E+XR+SmVIomXTy8yLLLhFP7pP/v5r//c+lc/JTmVhysgxCIWDf+18c/qB/1jkMDZDPJgVEBxDG3kmZHrMDAUxjOBJOADRICRDinYEhwoCABD0ULBKVT5s1Z2IzjCNJEVIxKkwd+BoEo4xRfnlzlB9yVyylpb+VWns8CBQbmYXuHM6kZbFnV0dpWSY/u57XzVUlmTkOyNr1leQq1stur7e31WvrIpUvZU2vUz6NswR0UE6qUOgwt9f/DCqg0AAAB//W2CGyZf/7cMQFgREpnyutJHSqIrOlKbwVNE4Cgpj6BioItUWqIC6+TCmyAUAlqAwiBTChIFADzsI4pltkgZ3l8iEOSDBwI1KGb+ZYSNKF5+cdeXhIfU6uyPxYogave6FvlbCn+OZc78hekciu6nUGTqEtOlPpNp3y0Tcz+pfpm1KZt/z/PL5L/P+5/kS2Ui1Q0jkpGxODwkSALf6SQlVzIoUtiZ8LnNgCBqmAhDmFGBkAzQEjBiE13BFhGwZiGfVgI60LrlLwSYMbxGVijtY5QLHZ6lprjsRhEc40JkUMIKCIgNfdxxrKjMWLTVDtxFkaudyMalGQ7mkXMZWlPe15HR75Fpsz0Sj0el92S//f//7XKdEdGyIdjJGlIo8+378nAwAAL/aSQwr0xkIz4g37UQzk9S/QCFsRNURHQQL/+3DEDoEQ1ZspTQRbYh0z5N28FWypiAU7sNF8RI8Cio+OLJqCZuSwoQigMULcL/cn/e+RQzfsWbGrPNU27shpsrGGMivVcnAMkrC5MiNUW3aYmzakEAGwmaJG56LcyCVsOcyzZBmN0f891+Xn3/9iIr03SQxcKkosgmEX/+xAgP9skYiAzY1IyIBNKFDuAZM9A8AAq4xqCRvEmMUEXoc4tUJkOujkIYGgAhxnqM5DMMsDhq8a1axdx5LeFWjVx7DQnQUFjCAuLjgIUxVEHKpEMjolyPZdP3pZDaVdM6GpNo1rpoyuVzVsLNZaFNra2/9GV9On6+m+qK2pyPZSJupMeyqP9kXSC/2kjMqOjM4lDAyECMHOQhCZeKBTTDNAwRDJWBtBL0OCFgMwkFFAI1QBBwSHAEVa8+qO//tgxBmBEkGdJm2kdKHujeVpvCS9AIExoIXu7M7gIUwcVIkD/LYECySYqOUaVJjSzzIADRyRYDl4GZqiHLxS3IjoJ0TtbNP0Www3bxVOTlyYuFwmOW9yI4h3/jn//t/S/hf//w8zv9xEheSHM8AGf1sR7BYCAPfa2wwBGAyoYiCgEaJw8ONnvBw4PMryUY91DFlrsIIgIQCZC6S9IsCTN0UUC4iCA8JtJ61mEiK5KpwjuTNeiKq1iMW2tiWGPQ/JVvU+W/VRTeU93/OinIVmIJPKkGML6ifo1O8l/y8v//q2/p//Ps3Z+1T1xJMpYn9NB3tkiMXHjBIYwAaMwZTGioIBldBY//twxAqDENWhJm2YVmIrNGTNvJT8JcUAkEMhDaCAtYF+yAFEIaChcHVSGokKNQis+QCYNGQcKr/hzDT5QmH8LVrXQ3Cy3TM9hrJ0ukGjVcFMja3dGNXvc2iMa5ns7LlIV3M5L3UuplmY50CkaSlNpb6tbv276k+3/+9focrVuz7oJP+hG2hYP+skZkpeKMYICzPRY6ohMGCF7CISTGOZcLIG8KBAXuhsUIBoAUkC8SGokw1Bc6BaGgCEMcBijl74/8bk1fV4hlmCmOBA4cP1BREctWYdK8oxkObdNBQ8kztVVZ70L2c76IyPbV1Z2IdbFS8rn2ItHRPyNZe2urVSif/1taRUvIinUthMzHHfZ1d9ShABf7WWGJimqcoEzeOjOwTDCIBDB6JodWHSQXBrNR+dAKgQUJQ0Af/7YMQTgREUdyjtYNBh+KHlDbwVbIhg48IYrnDBaoMEBBtDcj8zhCqRTNjKkmZzGTWuSY0RlT1AgTAh85FKGiEsdebFQCHg4tIAUDhCgBCE2XBgqBQ1ELj8gLpA2GENMpTeOTzRpbhcDJDRsw8HiAAAYd/9TdtIP+0sYEMzEW4t8ZiWnIgQCDHFFAlRYDJCOwGT0xFapwuQBrG+JqKHOKEqea4sohSCEhcjFGv/hDsVh69fqC05UK5AiIHER7gRBAwkw0qk66Gek5EsmXpQvuw+f7ObL6JPy2md3ckyoIRGReiul1tH/LpRpW8IRpwQAT9/9YoqB/1kiNAKPKNErqNJwIQCUP/7YMQIARAQ6yZtGHZh3A3lXawYvLUCxZDMxpdDMO3hYAtNuIQHByVBKc8CBkwkJWZGmtl0BUoQCVvuJ32/keOfKWLreUWw6n3I5Ps+6DSkiVUY/PJbD3Pn/76OeUzyRed0evuYi4VUDImHE4Qc5lEapq7WMFlp/Ha6BEYERUABz7/q1zbhAv9rago6EU8aJGUDje0DAEzCYaPgrAsLKDpyPLDSIgtcFIF5ISkrW9e9lKPQXCggaBG+bGGC6671/B+WA7LMhkKlRRooQLMOBW00CQhxoq2D6RVQskZeFUODwnMiCPFyppxVJsCi7m6BShFRP/y1hdoqk0a//qoL/a2wRsjSRv/7cMQEAxCRmSptGHSiJDIkjbMK1EA5q2xtyYNAKEhQapeYwKODSYawRUkjSyAwgEgiaqXcUxb2WuwgjIgBddocxf8FCTPqEYhmoFOpLmXR6TKNVyyzzI3neZeR5b5k25JLS9ypyZewxNZ/JXXzTzuZ17tl1JOfc5Mib//5z//9z6lfImLjEZSDWwPATEzPr/6At7W2jAQYhQDFgg0gdOtKgMlCRAABx2Ac1EgCEQpfldjBQgNMHD0izRhkxIMFAV5GIqBBAIYiEGDACTD62evNB7+Y0ldFjXwlSgSimJQhJLJVay028O21dY6dDo6I7u7perk3bZdd71Y8q3ke5bvVzq3f/X67f+n9dVrc3Sa1z6B5ktfV7NlvIuoH/a2UwL0yHVMs1r04SgWFFYQaFNcB3AwEAyS8LPX/+2DEDwMQtaMobWRn4gAxJQ2jCpTALRChgEVAY4GQIAZdCmVoCgoeXrW+7XOQmkn8LtYc2hhQcUMEURQ4AHJkM4a/8X5Hzn8OZeUJ8pEl8u5Iec809TOncZq8kLht20u8s5//rz//+f8zf0OHu5q/rp3g7I9OslxAr9PXeH/tZGCaJmCAcmNE8PwfSKFhowbZGYcaQkgYDQdYy45ZUcEsmNqKSIQnv+3ZpIqFEBBKBcDXbXQGB25w1D7JoJKQNd4jpxp+GKynpIzWu7dHlXz0MdJCK4li9CVqmiO61XOvm7ERkp75efXv2Z+np9k+noyvxgAESIRSWb/W7pi9MAAAL+2SMlH/+3DEBAEQuaEnTWBJ4gI0JQ2kipQnN0AqaSBzwvULhpICDTLhkgSKPY0RXKlYXQaxCvDlxkBcNZ7eJ6IoGtaSShTLqXtyjjNvc/uzrLV+Y6BCDgcQ5QYzrOsKdkdrZ7U37aXdWfse7uzXRKzqPVKzrVmqmox5SfsxldWrRurv/mR/r909mo7OU56qQQRrjP//j7wv9rYwYmNrRKyAZePiEVTGkACHLcMYBdIIlpcJzOgQCQhC1Ea0FAIvms5mcNInERRL1cLi64GTCKshVxmuhWzyje2kfrmoiKdzlvO5dfYm0h6z/vKh3WLOymIiNRgasRkHMhaZkquhT3e7UTvt3tvX/5tpt6ojrupi3zXDoz7dulUH/aSIwFI0x8ihnObnuPGQEjxkQLWdh/gucbeW8beIjDBexhuD//tgxBKDkKmlJm1gp+IRsuTNowrMUiZi/ZENp6O5Ak0mLzKIutf699uSWbWLO6MMOwEDqiYaPGi76EKrsJXuiWtZ0nWrymL3cisQsiOReQiIqSqsnaZzHZ4m70PRLKqdl1s3tb86f976W1yqitXQz+MoX/6K7JGVYxnvi7Dfij6HzKDx4SYwwuoOWChFmoYAWS4IVGjTR1Q7+UF0SkYmISxNAQGREDTwe3HcUl1Duzatsu7N0Wx+wyYIfTMRWyEBtR2ox2s3v97pnVLWuRHZWVTPdjtO7ktvc9HXZFe/S2yJ3/SmyfnvmO7ohWuyzUHMoyFxgC+Z/dGLUoAB/7WyGDQiJWGB//twxAWBEJ2XKO0kVKIdtGTNpA6UTNPjvkxgiRCTEiHNLNrREmKEDVmHAQMY0KYAEwZw0rlvNcYwmMIiSDSv4f/QhYI2pOhj6iyo0XtVR2K3eWMRLs6NPT0s1GzJ6K6FVaI6rlO7kFFuV0qRnLSUytd4d3VE3o7Ft9PvT/67q/qqzyHs7GVWYIxAEAf//xgP+skYJvmk1qFmFrnvbCqdJkVbvKKiGqAaCRCUqHbMKHMIWUGCNIOGl7kmmLumIgZgRZABS4cDPgRC4ePLq/wUJMpFEJ7FlGcANFNskmymfZYd4X8sPhn8uR9hRy+ilnxqvZIS9LNOXUl8vMoRlLDp///2/p///MuHloluQKh4cRqYLuJ9//qqQAHvrJWFGZBeM6CMmCPsqKilwjHECIEYQKVQwMBhg2Amgv/7cMQRARF5oybtDLliI7RkzaMOlAYYQFS/5iA4KEoNN+1tfKwA8ERcSTaXc3JrVT7GXe9wux+/ZUUQhqrQ0ANVluuRLTTWqftPq+Z3WtzVZOklyh6vJ8JlaEyt8Sub0/WWdj0Rrr397bJP+Tvsi2ZHSuRBpyK7HccG69fpoFgd9ZIyZidcoDmIC+HkQgVGvYxZ5EkSLEogBHwganuzwWNmBIFqSicYIGKAnXVheBUwFBJppqMoxtANxyCaMYh2gD5CpLh0nncbaf0lfzVIUel35Pp07Jzc9yzhlqSu+UrmVLq5a5tFYzineHyy7flD//L/Ly///+lv3KlSmoYrnB0pi1/3uZXoRQ/9razKLjG240cMkfEqYsyguKr6g0TQe8aKz9d5FE3DXwZ0EAy+kASxrSiow1Yiu33/+2DEGIMPxaMobWBnoh80JM2kipT7wELC1B/qUCAR2YQ6EDECayu29Z9/0/dvWf3PIjz+Lwtqku3eVRSynZpNIUeubkf1SpvP4XmX0/5/8/Jv/v+R/36usz3J3mcNoN/9doX+0kYgwGuXBCs3AM6J4wqMaLmUCIjl3x0SRGxowvKkBRoMhAkEZwEgjAABvUwm7rCCAcpNSyANcJUk35Ddl4FRiSG4M2vKDGsWc77G2EM07ylGIquY2cjj1ag0lJUb1K9VUma/qZVNZTBHbdqIio+jV/3/X9/o2jHylcurrqUNCHP+Yfx8jx4Lfa2sw4gARjBBjDuz3ABEVHkRhUSdCdxCBaj/+2DEDYEP3QkobSR0ohw0ZJ2kipSGEFVmyGCAizh0RIqhLBwBvZprrOi46rVrynnRflq2OffIothaEHyXd5dPI5tmk//Kel75Xdaecd5nd+YloYbPXllOZMdJzLCoBA6AErWIXvdFI9C22PtsQ9OgwKHSTAdBYc3WED9bI0Y+aBN4WGhXYdKOYISNTwLHTlLKrRGpIKWN3WiYUoaESQAwE3GgYOSIwJCtIQ5hhVEZNR3u5ih6AzBr3W42dxNlRIXqlH8lvkoREe8i8xcjNe+1EQjo07GeruzMxgQ5ys+eYjSmOGM7SSSVT37/6f/9PbJspWy0duexTx/6Ipa1iiArB+tjhMH/+3DEAoEP2G0kbeUl4gYM5R2sJPTWTJBkOCjLgc5sXLUjawSAVhoxKaBpI1YXNnAoyZyzRhrK+HUKsYGyZFAw0ENU12m7uEMhH4u/jklTs0MaRsIDDzYkFQG220RjDUwHwqWHj5ECE0AEusMxoYUHSAYGvcxaT3vfaGBRKm40ie+x+SK0lggthp27+Ia3NCD/2srKqsztZbRvS5r0xfEadGBWJIJqFgiRI1Vii6irIVmh2FkOwTYVoZ06bvEDVzMEdbnDUY6+cdqcQ8gejV8mNWBKQiCBA+0RixtEiLmBUdJjFAAuZMkRkFXtBhbWANS4nErDYnGnVuQCKEySmjy/qrcVCg4iwJvNvAIIf+td2lUAgAAf7Y2jChQ2UzAySTVB0gkGEgOZzC0cSKqcGuB2wW1BhhYj+Y/O//tgxBQBUMh/JU3hJ6IcM2SNowqcyGxLKFKULUeHVTfAkk/Uc2S9zJIkk3VP36XOYIdpBFp1yq1Grusc5pV70hEJng4ecylJgFBIgJLcETTgoOOChEKH0mhi1pXY5ei310djVGXqjg4s2CA8x7J3tKLWqkL+iHcYauJKgisapSBCQtjEoosLeuoTRwE1X8lYCDRmB5YBg4WMhgxKlw7KqicgKNoyI4M2z0TSHM6LTTWpahC5DpQeXlzObL/K3NdVpu5ysyM7Ovs5CMdpyoodj1qDYqMeMZa17nUqM23PZf2Sj9P/2//Z7oVGIqtO7opHhQEKKo+nelBdIxUAwAA/99bCRQZi//twxAUBkCmjK01gp6INIOTppI6UInOQpCeOCRQkaBqwsw3RVUaMLVTnpgSMPU9xNYhAiK1ZidPFhILA2DwnDESZ2d2erDAudStsxcq0c7mZuXcpuZVFSkNu8iq71OU7mdGIrIU+VrszzK7bdEJSjWJS9Vqlk7W/Vf3v7WRyM9ipmsNUhmQjC5//T1JwE0kYlBMUQMQIMxXMq2MGeGlxjXKBqtgjBpyCyxgat5iAhRBBgBdhUFF4Wm5r7aSBRSciVkLt9ZxDbEN2TUxtC27eKak3uThBeFDSVtFb/5ofNjP1Jwxn1vnk1+ZKn9OtlnC9cSbQCLgFFsbbmPl+pJNLRM2BA8GQ4XE4jT6NWqWM2KUP/aWsRuTHVS04CnCeAVSEyIzQUmBrDrBhhgFJE3ngDCYOXxkWOjA5Pf/7YMQUgQ/BpShtBFtiEqMk6aSOlFzGSQQ9RALYGruMc+3l21b3zlnmNJJO1s8d2cMP5utJZGSI35gOZmREhEIoSTT+CuFd6aGaYgwWN1WTxzoCnPjQP6JL6/syr2ZZFjITRDkY4WH/3+oAgX/aSMQUTALg4McZYYhqBXCFwhmI+IYIqCSAzABRKPFCAxRAtmwECECEDGICbFLwoKZQpY6f4oMQOqTcHyWDQLGFMow+k5e0WEntDZf5nEn8MFoUMm+cQiLeHP/qFzyjngy8m8y1Ms0tErKpaxeg8i2d6bxxlAXKWGCKTzg8/30dzkCqD+tjiCEE1FQGgg00ZOhAzBUZeJkZ2f/7cMQLARBQ7SRtpHSiFjRlKaSOjEALLRgGR8CDxDFHkIKgSQwkSJgoKAkDnlvNha6DgdraV7cO4IZ3jnNNe0w+NsoIuaJpQZnGWEa3kM3LO317/Vf/OehbXnpcElysLpPBJPYPepz3l4NBoZP7K//VQwFg28sISQlWDzLvqn0p1qIAE/2tsMUuNHFBTUSWEJQRLFPGSKoRqiWMGAho6gFeIDDQqQUgXWGARZt/39f2XIaxRajx6zfr5Nzd26UGBl4MGkKURKff7mR66cyYp3up6Gi3Ni+Z7dN8un9O2KKR6O4WqTasefenbOEXmXn//9a7eR/n/PeF6lI1Qkd85tSm8C/8p1ruD/2kjIEISTQwqMWKRMNMONAMIFVSZgTAsDAImARalYuIwMGMKDUDgUEFkgMLsfWK8Xj/+2DEGQMRfZUmbZh0ogqxpM2kCpRcEg9S96M8kBqElNeITYWQWaJ11cl9xxuxczKizjNec4RWw6URS5EUUDheuZn9Jp2m0zmSNXPLXkI3f9mQzUqc5f//++f/5/85nrFIjTbymD0BUTvsr2bG2Ron+skZj1RmryPpsYwVVmGZEzgzaMSAojshAoYzANHZhoEIgp0roiAgYcDka3oedaWjot5VLIJ5Ym1HkrFuyCoDkRyRY2BrtpIdLiCP7qp1ud6fKxNJ3c8zupkQ6zPVWJlQ5DKyXf0ubKm2jK5uv+s3Tbzf7vU0y1ViBybj4KA439L+ihP9ZIzQnwQ5HhgO4n9ACiIWimf/+2DECYMP9ZcmbQRbYgWNpE2spPQXolJGDAkCDAM5QvUACpAighA1BOJEg5GlGqtBPQYAbZOuNdxv1r+rV/f4bppJT2ca+PN8yy7ogu7w1kFTElGYlIfgSNkSSzyeuWv3XCLwnsyJlTbLM593nzT33ovdUzvrWjIjBoCFDft2U1dAP1jbJh/pqLpMiOjbMVUEBYTABTsxYLArTOBgphMMlc4pCD2y5ZkkoVD4ZQU0xzKw8mvUvg6uHXCzBkwxvuooztkqNxGapOKYQcgkI7B4jjxdYBSKtJ3JLDVCosdmyCCU33gZoJAEkNYMR3N8+V/pWnATjDUg0deSxqW2HK2uaAQWC/v/+3DEAQERLaMkbeRl4gihpN2sIPRkiJDUwVcQqMuNBcoEYIN+ni6NQAY4VKNQw5AnXa2KLGwMIwEZxI0aiIglUYAtAIFpyG7fb64sWOFqcoYQRsHUShgQkA0SiJqebkUy/Uof+57mMcLNJnKVWtNKTO+g5olSWEiZNPL7cjWGULnJ5e/0rcjQ5////3yPynL1y7TqMNHH/oqrqjGIF/7SVFUAJkhJi1Uy58SPD2UyT0OWHZCwiBB4USCZ8DWgl4chSIO6EOTZZXA9gRmh1Ohze/wzBE05bSHQgNk2po43qIsck9XW7V0kcRcvfEynUS5mm9xdTV/XETVdzMdpVpbL9d7Y1TxQgDrA6eCZUk/sEzif4qyiIFggYkJ5//9BOhP9pIxV4YGa2M1pIN7AJuCtAErPsGF18GRH//tgxA0D0IGXJm0gVOH7neTBrCD0GUBLkhkwAQlMJDhAAyQUtkq9pEPzIyJjydbnc4poiqJqaWUgMlGCRoEh7sxk9n3LPVr0YdqFVdbUQq7IyOQx7FkkRksvZ1S+kK6urJnRevTOr/7/XfVt6d/td0sjSPQqqqhojBsU/4YtjDB0DXNhIkcBmaQsYUuVsANLHkABCiJ5sPgLOsRATzA8oMKCCywuJvlyRiJFsH3Toc39nic9j3ujUcPAno6SBEPgdHE+kMjdNHz399zbV7Pz19TfUt6rxNPE3TTC7DjzAnQSNFYKQ8Ey1Iy0+zK8bYmn0pB0BPAwYAFP1fFHS9EP/aSQwYAx//twxAODECWdJm1gR6H6mmTNowqMTASCDW4+BkRHwFFMpLRTHHioTHwDhBwVTBFDeBJkBOAqSwSNPO/krRbcBOuF5ewAGGRFodhwpxIhHuhvnOex7qpLXWdpVISZKHU0py3dk3Mcl3ZW1OrZEup6ppVFPsZs69kV/q3ydr+XRrae1mMGyuVaOwxp36LhFtaJvtJGSRwBVRBNJGNSzCisiemKoJJGJAAQWBEBkhaJjBx4uJMZSDiRlxIiCS1h8lhku64amkOf1FFUjJxphYKIpQaSSzteVjs1urndNgbs7Nseyk2PPbswJiEG3GxKGegewWUHLzrFOAi6beM9K0KFRtIoKCwIDjAJk//pW0qpD+tkiFKJQVDARhY5/whhpJNAEuQ0oFoDATQJDODSzzHRI6JPzCgk4QE3AP/7YMQVgRFFpSRtJFSiDjPk6awJPARjrOY20YRiGUJhw3+mx5s0J9n5WqMFoJsNPZg1jU2Ujo9mlT1rQta5knLMmjERysyEVNTXfYrMxTNs5lRYJbuhJ27kQ31s9tzKr3T/+mW57MvQ205mKRRN/21tr2PIEAHf6yRgAma2MigDrxuERlIqTJhLIkDAzMu0dtA9IQtcgOkD0JAHIqYYKQtx3IacMhK4amkEfzGksclGHbEVqVIHm7DmYVYQe61yG6KrqYylZHVLaVLo2Yk88zO+msi+mlzkOuRyIpEzs1dDshO//v7J9Pp+qOzM5HUznmOMw7u9699KL/1kiNEeN6vDhI11D//7cMQGgw+YiyZtYMeiF7JkzawU9Kpioq5jLSmnAJAgMKaDyAULAzIEyhHEkEVWB1FWMCygVHh2FB3py9E2ZNutXryBue5x6erd5/2Jncvs+nvDow68gTm3FjUN2lBYWAQ8g82KEjL2hMVLKCRURjDjgKhiBTnnf6dAs6pLDIjBH/sviqA/9pJDITDDGyIWcMscUKF4qNZqRiEAiOFDGvhqQ4UWAKAspOsF3G0DXEsYtDrPlGX/UEernThosYejKRkCRDjhMTOiWtM0jNK70mVEujXch7XmMhio5T7OZ6+85mOmc6O0kppnRaTKRpDmoivR3///r91Oqno7GU6aqhLjlD4OiUO//au8rRP9pIxGqNdMdceqHdOGRhgJODMKiZkRCV5mUhkYMEfYKJHHggRjALkK1JYsxkz/+2DEFwMQeLUmbWELIic0ZI2jCpzA0VYEUHgHv0OMHClL7uE4kxxZam0fKbzpdppFMk/Md/Uc7PczVjWjg3cDqwwoPmhGWGNDTYUagOuFpsADBQdkyaulne+Bo1QjPsUJhYDAEPnP2+RsqF/tkiMGRLamGAGLpnQRGTik1400wBHgVJCokyLIwwRZi7R0oYccso0RAHEBYqjA2GBnMFQTnJEPt/2FlpgdrwMgoMHQbOVKam9bsSe0s+t9aKiN5DtQl3kMrENJUl54gtFaxlY5Yzs9SutU0YyO+yqYlDK3vfTda2f9/9SsuefXuVldY/922m8mlRf9ZIzDwTIRwKBCsA6SEw7/+2DECAOP1aUmbSRUod40JQ2kCpSUStGnRA4iEN00QooQtMABkIqNAxUv2ENC4RfFWmAouzJHdtVTxnHmk2yRV9N9YiGZLTpA2tNb7qhEZH+hj7tsZVVrUy891TS6MXdzp2Me51ZV/oRLXbJe+3+v92r2/VN0qjqc2zu6poV2ALPb3U6SMKsREoU2InJv0YJEj1sYqqdGCEIqmSQAwCgawYKBh40gyNFzFhEvWot0nWRrEcZdkiy8cJjBxvVkUoZU+XZbRKuloqKz5+l1yWIyMltLSRRGS3ed6IivXOxs1KPd2cvq7Zkt/9v/Sv7/2ezodHcr2+Y7im//9CoT+2SQWOG/OCz/+3DEBIMP2ZsmbQR7YfIbpQ2jCpQQ4IcJRBQCNfjUMAMfHCsPGWRAQejI4YFDjxxmpRWMeKQItmyhxsyomIqnhP9ty/uefcub7WlFbeG/3Y7T/l1RIJybZ7jW/hVn+KJGAiJqTPgtJjJiR2zh+TitWqLL/l/NZfeHmfzMjaRIqXTUd8MFIFW/1eikb/a2oCMjJuUiRrCByBQoJs5m1QGMGNDBcUICwMBo5MkLMAoeQhmKBcQhnROHZZksK4TDIP/OktaoVSCJ4cpHIo1Dw8beyLZ6U2s/ar+5nZTM+REYol0yPig2QPCIwkLg0TOAZal1OizrgbahCcDs14zN7hw5IGMAJ37ruqpAAn9skQJeGmABiYFOzhEzSCAN7C+VCeCpogEGJRJggYW/gOHmADLEA10CCiyecExN//tgxBiBEG2fJu0YVKICM2TNpIqUYNNpoqw8CdwGoouNf+9QBS4RfV3B6u9GQyoyoVCez2ZV3oqu0nrUnY6SnVrNRSTu7uyWqrqjkd7XV2Z9Vlr+T6af/619d0nW7PQsUB7/cHvqTYN/tJGOkDJOkwQq6DVZijAtuNMcRKAUtYUzqhNAuWwMeICMGIxYIDgAIAh73u5DzUEe14LCQP/Hm2nn5bNbHgoqifObZqdZlVI689R0DKV1pKdexV0M+51YGrOTYibv00RyonzGdNFfL09t/9f2t/7y2Z5q1R2vdFMUOYcL+m/0Vw/7ZIxlKFnZdgyz027QqIgFWM/GR8NBoLgmncQG//tgxA6DEBGfJm1kR6HntCUNoYq8J7P8NHBcJeZSuW0BS7QmyTSeylimaw8UwzIgYQIZmKjAZHDnFAzGcGxGWk09bX000uz2drNdLMUqqjLvuWrsz1LainVV1O0Pu2/tdXr//Wu//erUS9isWiPszwwtRX976Uz+gT/a2wRRTFFx4eNSzjGAqqKH4XppWjhMuuMJh0QgxWDApZ0tIYsJcDjbQ41GVF22WEYhL88qqqpj7LiQ1Tcy2if1JE7v31ykK+/5bnV7yuf+5H+xv1K13IbuCaBWrGXCLWmtiaKtWW/9Dev/7X7qclTudVVtyJQgW31KE/2kiModMbEoDcIDYDzKwits//twxAkDEH2TJm1kpeIFs6TNpIqU8giis2RgIGalyCJPliICCBSRcoDeM3Fp1a2yzrTFVVN1jyj/DwaJg4ajWcaEmKKERJxpstj0R6Vr6vY9yM9D5noc1HREpuNR0e7GVjq7q+iR7Mhjkd5WjbdlVns+1L+VN///7vchUuYex0Ai4B/9+yTSL/rJGZAcBv5WCAVs74s0shOIy9QOKEVlIAzShOswQGoDA40dVGDmqG5EnUZbrGk0lElYFiSXnDyjECTEPplILlai09acYXfZ6Fe5KEU9KtszI2ytotikzdtVWk+rI0s3UrEIZ6MyUzGLcmnpb1vf1vp/6Uo0jOk1rrhSizf6+99CqhAAAAAN/tZWSpiVOYMiYo4EOjEvmkmPnwWGQzAgjBGgaDRJZsKhBYWWVAxtQMiHKP/7YMQYARBY3SmtGFSh4p9lDaMOjMxCRp/sLYuxOJd9N45+h2VBYQpJo19mYLydHTzs7OSbM92k7M1XpyA5q1fNiRSG0te0EhIVIGj7KCtoq1g1wqw8AGsYnXx0eYLuQs6sUO/2+XxYX/a2MwbIzypAEZRGGnQY+SsIoqvwEQHQAJNA0WnZBZIJLQOmPMkGRIEuJnldxH0X6xCI/mctfrkMSeAozmUCo8rFCyHlIvuf02pFzdCp3t7c4eSdyhbPSPPWnNbthDwDNgE0NSdKuAxOnR/12ahdjxO1YULHQv/9dYAB/6yRjzoxhgvyatcZhaZSMAlhi8CqQgKlmDNpAKseEugcUP/7YMQSARBxpSbtYKtiC7MkjaMKnFTglgCICElxmPyp+FKosrpY8Nc+dvVb1ja2M42zRcoJHISptdJ0QjuqNOs7M6tdVsytW663uY1FdLu5TondnMYiojXKjKhWbO796UvT/5v/3vqhKVSzERGnY6B2/1dmkT+2SIxdkLU3dAXAB0zORBbKZ/KZIGZ08iGZ1kGCzFg6UKjRgQNCCKQCCohAKfZHSEIFdqQqgkO98O7pk9S+yoELxlbj4nuM7TjW78ydeR+WVX8rLqTvRyMqo6Kklp7rlnNosjsxmYrOGmtR3Si6o2vX/p/b3aTnmV3luygJUhN3kP0qD/tjbAMcIEBhY2b8y//7cMQGgRD1myRtYKth/xhk3aMOjLYzyoO2m8ImdCAK6ASoJbGcAQNrYAMWlC8U6wLMYBC24u+rAuZG5QeLZ9lFqmtUHAWxkHkQLGOgO4dYRzDHfNRV9WUzO+pUbnnU7rftlcxEpXIeZXU63N5uj6916v26L//u2/eW12KS07jJUcxTjyigeFOhurJLSYURWgN/tJEsc1rJKEzB48BgwAwW6GByBQCBpaiphFBhyCDTtFoxIMNAhpsYMSW4pn8tppPCoquyTc4aqBhHV2FpyATirDIeHCJOG/c//YvvNbk7RaSk7l2sCQLTCBqhOse144LKDwonEgcSaPAZ0d860hp84tgu5bWixIYe67dnyzG1EAAAAAn+skRYOGtYjTE1Q0ICgYcPgTSxzFBjIFigAZhEY0kjJeDggYT/+2DEFIFQOQcnrRh0YhIf5I2sDWxMcCeoChSzECM+iCHOHFElh5H+IUmfqXr5BQi+LQ3dETt8p/27xSy/OtE+2ER5R9l7Sf5D7lSIypwyzMyb2B0lFAZXsJHzrtbxRX3aOlSUOAQDAzP73P6sWD/oraM0FCB5szgPzC2MbGGyWmfJkCGGjJJDyIICwUmmJSUXPwU2wFhvXepErG+S3UAgTPsg1vLXFlrh1cBAmAiFmNHPVoWUpPmX8vlfedLYkNDY/KJqWSniimsS1LOlLjBU6qKg8DYxh00SY9Nz3NQX1XPIwE4VKjAqIAoLmiG77c7Ve1VX/ayMw5QzjJgRqC4qONCJB1z/+2DECQMPiZ8obWCnqgO0JQ2hivQZsAQxxQDQDsBL4KK/yEJfgWWOBQNDmNQeGGU5odXIw+X8yA4YHGDpxZkQgKZSK5FIOulUVnryFVuh+yOp3O9yqVcrKtFXJlM96IhG2ojIhEQz0uz7oyXQrp//+6pf/nrfoZ0zqtERDCBa1P9rbDBmxgSuABOzkBTEkwyqZ1WhiGRRwIYUcZMOiQ1NB4uuPCChETDRIgp50c0OcQXWyiUd5ErcuvxbQi0jDRKhu8rvKuv9I2KeUhT4c9ohFzMvIi7cvqW5R78W36thurbF9pZKRHGn6Gf2/VlbX99slVZO9WdVZ3sHjBDnR/f0KhP9ZIz/+3DEAgNP4aUmbJhUofMx5M2sFPRDuZF6P5qdFjsdlAapybsfOsNQEz2DXXT+lpakcGaCOkExg8wuCVOUmA46oFzyv+Df1DZvmRJZbMVrrSa/lWKhbVXMzu0iFMNVs12VHrWbc9tq0dWd86O61K7KCXaPRmKdLK3Z6/5fNuvk9k06om6qQEWzuaM8T2X/6pgT+jDEVUKBDKE64cwzkakEmgv0cNFU5jwc3lC2IBcSHENMeiNgKIqINGzS+aYq5gExh0HYOldwYxTmFCuHqFHKLnZSu7FXOzv6V6a7qVDrsTm0zI1nGHW0l/ShyUHHZcz023TdmRM1U/S9Er907LV/s8+JGAcSHgF/tcvrohf9pIwwgbkETCChsCBRpIpMsNafJ6jF0DxBQTOApx0YGhspF7QUpA1cMock//tgxBYDzzhdJm1gx6oJMaTBoYsslHA6lrA6HPyDaH3FZXNCjCZaiXAFbn4OIgi44OSZf7/ipb02MGdAPp6Q6xIai3U06dylqu/9uz///7v397/3/xeerKD8kwECQygFd//wGQjGtW6h2EPaGqkrNNFJGlZmQyxTFEDKgkI4uWASEIABiUMy4JBVijc38TklKYzAKbeFLq5hYzv7x7yO1rowY4Ob+dcii/Gt/Ne9kGhEjRyUkPS1CUpnIh/lHlk2J6WecXyyke2NPtjUrtbf7ZNOndG3ub7qRHGBUGEioRPf6GJxqxf9raywqNIEURNKAHg5hILOjAVmaBkUmIACHGCIUNI7//tgxBADj8mfKG1gqWH3sOTNoYsslYQUZPMxkXy3r7xpd0kUpaXS68DLKLoKOZBMIOQqnUzG+yvV0I1Z9u77KVp+dbqjFZqkSaR3aRHKPYpKVlTclyE2K2z58rq78l69VzN/q127r2lsVHo62HGKfb0eirSRlwDFJl+mSCHROGFmhgM14lTQinllhwAZ0wnJFS9hWABAYFQRAIR3hLuNbJALwo7Mol3/Obz7hyruravT92tTiIocmIrdfhSXjkftlSXnM0K9kLIvrMUtM87UYmpLdc5zszyvDpb9/ya36/T6f0aXohCWBBUWeLEATF//9NUT/WSMcUjDVWAVcmIUGbigZuZS//tgxAmBD6WfJm0YVKIGImUdrAz8qkqY4IgsWSNCACArqoB1RgQSY4aYoQXXljWMVbHCQLaXLd+TxHJ0d1xsvS6v5eNtWRnS8ztZlrJVWOyvpdLr+8xWO6nJbfWrHQ5Guj5Czpkb6/X91/7fN9ltqhzPuU5GMUNaqjAD/PL99qCn+0tZUemGBixMwKgHeTMqxKEYagBpDlVWBCg24RF1krFDAEcPOBqF35E/TsLuiKhjgT2vj17Vu3gVIyBArtWEzr3/KesOxJTqmbkZ+mcvW1B1c5z/Jf337M1oqnXVm+gozUxZ0wUOvSXRUw1A7T3uFGPhAoWYdHAkRBg2Iv+271oX/WSI//twxAIDDvkjJmyYVOILNCSNpIqU1izV4dQJANWs34RNorvNgMz1lAS7RwpiwjbqjIQxAMbZgkIDi3nf+qh1hxHtw6L/G9Km807HEzpIFNKdlfe21j7jtsQyldLldGan1d6Uzqv2cjUPbuiOyIb+7NIhe/BhRixXXepzl/RJalGWgY24sV/76aRf7Y4jIJDgiRoQCv52x4JIh48zG0xIoHUQCHWANKlRCgRCELgAEAMsYnwcfZOu1uaYjU0HGUUe9D8scrtVn0yRsMbi7U2Vs7GRFRWsQ5yJ/e+i9UdKZl9EW63yC1t7/RO1aVtvcFdbNst2SVGZKI7/9v7nXzZTGOpXqEPdOZuRYpjZOkAC/6yRCrACHy4Y1pHoIOUkX4zVAAmnGCu9CA10RZNpiSSaoc2NmETYkut6W//7YMQWgQ90ZSbtZGeiDzSk6awU9Fkxm9TXa3YwxAErhkXFkCDBQ1nRnAusyGxGHTB484cKCsMnJKTtApifSBUDQJHCjFiMHTs6KDz6nMhXoVls91Xi1OmSLESRv9rHxbL2pOkAGf7SRAVUaZYBRBiTpxBodgFuZrQx0oboBhCYo+sBbg1FVLNP8yjHzjU1xMCgIsBhpWhrFv/AVkMU4+KThMQM6KOLLeca7u7Loh1d2tRkShyuR1fI8hHIWVUWtaJc61nIqsqurL20d3RU6VT7m1262/307d+zo51cqpkLc8W/uJ7M/XWAAn+skQOTggIXZMCuNCBNUKCN4IxmSuOHv4lya//7YMQOgQ60ZSbtZMeh6JVkzawM/JhQFJ0ekYAxUHxhxZMMq96qqYj/p9OXh/R2mZ6bH7EDpsqaSEQLic40SOiCKCQDrWTqYJpsubwEPUsusqHmEFqJkwwdApgubxeOo/c7++gvE60gRaX0fi9A3+0kQhkhZ66hlDZu0hjigGzGahFRh1MkEys8+FQS5I1LsGggRHlCJjzSXJTCcRQVyM/+c53trglgjMwcB+iHJdVqltnYvPvDlKUisMVtMCyEmVhNZMkKMHuPJAzQXYSBkTH0gvdGvmP6FVdmhLVKMByZDQF9qtQvX6UT/aSIkvEAA0ccIpyZFWIFrHO8nqJkkoSAM22kwP/7YMQOgw8QayZs4NBh/rQkzawM/H5TeTAGQBOUzgVAmpNHoCwORo9Nbufwnbwju5uuaBupIyW2lra1T4TvCqDBMQQCZJTQgFg+MBJpmk00w0JhVT5YBGnSYshCBVKllla1f+0whRRpwTHW/xXZItFDN9bI18GtSJ4mkICXAy7QSjhTKUEAf16JDgfwKrFU32ygxZaE0DWU1eNNeQSRNLVrF3m5rVnHLDOHABGqFkZXj0pcvd/z/a5ZlXLS69184auDJIhQ1R1jdGp+5GDI5fI9VnD55oeR3/vP///Lv//5/ecZTVeQpVliSjB2/93Q1KogAADP9pIxQ4Z9GrAArZswJsYBNP/7cMQKAU/wZydNZQXiFjQk6awNPGcmRN8YxyIKCc2wQyFvk0E9gSGHpCIVKiRsggNXTSEnmV3NeBEcw+V6lSXIhykHGoHiUF45ECj1MFThABlBx02lRoOhBwiCYmeKHHKDzULE4CRQFQITNBJYrr+v8vSRfFQlFSgQBkSdP14okwBb/A14JNTMiwCcK2pq4jQjTsCJ4IBqTQyM77L0OupmhiVEHFwNOgkrUjukgWRpPtIx/3nv1qli1rdbL6WjsgTK7Y3KRcB5HKU/za2e56SMpfaH+2nkZ0149Smi1j9kdyOlZRZ5H+Zkd/OEnb/5///SPy/pUmyb/LLXKopfo8jCWf7ddBJT/aSMypQ0DJMoyyEBYQLIckR4yYMZME/RAHMehTCcRYiui4AKeAIGXEkDO3QS0cBLRpf/+2DEGYMQLZcmbQxXodwMZM2sGPSWPxitVxt3iNSoIHZCPMWUy7gi3z4ZZHvaZymZFLtpDY01f7/k/KRORH0yzyM5kanO2SsZ/YzKVqzfb//t893udHZ7tdTKCIEQbCVf6f1rf7SRAFaSB0FTOkjULTGSAcANMgYWC8hiSqczvDPvIpekAWbPQy/YYSBYDizTpOnO3CxrQBUfpC7bwiAzTzOxoABGdOrnhc0ONvIRqEA4FSQOn1hMWHAFwXItU0aWWXKGlcPVqey3l/Z7ed1kCJ14YSW/0JoqXTUTfaSMV9BFMjNoo71Tg+B2hu/DoieTtkqRowK/H1mJ1pvnM8iEoPk3jS3/+2DEFQMPPK0mbOBn4eKuZQ2sFPQdWUqaNzt/89bw5+vtMQEZdTTN7ny58Jlp04eZ5nxZtRAZC5FVNhOMALxURsMCMHDA2VGmyJa9R8b20p0VvX3iBS4gA5KOBUQs66GdNajjGmf7WyEIkQnF1GPMmZGGgRBzkKzzMMwASzICgGCI0iX8xAmAUyVANEeSOUiwC0mhvBe/wQiLK10KLDCSKjUcrKz2rdKtfa7pJQ0jd1JNqTu9XNMt7oNczVRWY9pTK7SE3Za3Smz///36WZfFRkeBwyHgoAS5t5P/ppUwAADf9rYzKCBbROCAFjuYNZQfBOAI5iJHuqMFMPknsmSuGhkCgDT/+2DEE4EO+aMpTOBHogU0ZOmkCpQCIDZnGdB1mEs1eO//gZXeO9ioHDsZKOjmZ1NNbRr+ursnu6Ormk2VaWZVMc/0T7ozsLQqyOrqlXQIadv/9f/u3//SpXeRWZZwysRCIJ/6PkCAFf9pIzEPhCtSTBUEzwAqiBLgZmQYoSYUUjAIhphTSFjqqmcJMIaiIKEwBoM3JUyWUKbPBe/YPDzRypCskoIJZLKlzFXopDkovRdpK2V8lzuzIraOjUWr2RGNvVSsSuxn0RpzkTWtbelCrT0Z9v/26yO9KT4R3dJjIRDmjeyr/Ys3/aSIlVGsFKjM2KN6ACIRNxMXTERAoUqfFCIcOBT/+2DEDwMP4Z8mbQxXofiy5M2TDpSHi5WWgwCrGgmTNagyl8VVF/qAvHnv4rY/8trjCwgpHCmFVDqepXLTMqWndEMjqD1enr91zMyLJT3iZEVZb+WxVEKHLyLo+x/tKtV0ru9NNft/+l6U3V3dmpMuFEP2a/3LE/2sjGmTEeXgbwprpBs4nIToGeyAq0siRMwTRKFvllKiXONjGKAwVvK8GL2XqpVBGv8O9f7sa2yBQikV8eJyz240FLDufPnZauWuhuSnnwSdh8vCSOsKoi3yl4pneXVpVpl5f+RTmfC//85Mvv/6XvsrXgXkv9IGUQH/3/jFKkAG/WxxGqajC9FE0Z8NAmz/+3DECAEQ4Ykk7RhUofi0pM2hirzFh3gxeAxyIwwQuwQnQSrQASNN1kpCKZEYEMz1zWRO0gyrckq8dXuIAXmMqNyzBCZA5IYjGnxjui13bVUkW7qsyqq+rnYnVLHZzGO0m/ejo1ZnZ2MyKitq8yEss7PJeb1XtfT9uS21TIrsww5QCcDgKf3tyZonjA/9pIzGQwIBSjACYxTMxo8BXTHyRCVL6r0JC5ChQicRTp10rAc5JAi53tgCOpyMjUUgimx8BGzM3344Pe9Mww8Pyd/I5oe5TJdfPJzhzZSm4tEutmfPiGfyMWWaWlxUIqc8nqsX7F/t/oX66L/SRrKhJCClMhZqKQb9G1WIdVUgAABf7ZIwYCbdjXQsye8IUfCTTgBJCArSYZJUUODzwcqusAIxgwoEImPOQC7q//tgxBcBTymdJ0zgp6HtsmTdpIqU/l0JVwHZy6Bl2QyksKsLoQUZylPd5uqo7v39d9fXlfszVVkq5Dz1d1OqIyH1mZDrW7+l0raxPT2/7/eubos5tpTojoejRUsd/0SakDf8OrAVfEiA1LRjNExDnhg6gYHIlK0iqXLmBh+Vq2NVZ2TLwMAQXwdOCkyWpJiQBTfwxK3bF3jCCQxNyimZ9qNWn6e51SsiG5WZlumhbJXtWTK0xaJd9uzMVsYu7NTd3bs3RLe7l3f/ou905H4lCGIOUOCMQCujt+ukwjv9pIwLcZD6g4d6J+HpyUOGv2PeAptGwsMiCBBaLMPacgEMEZHAMDp8//tgxBSDD32hJmyYVGIIM6SNowqUH6TQaSpvE6vPC0N36P6NuJJIMkEwpqtu10K70R1bqZSruzHMqMiM9D0LWZE7qhN5CJZLHmZ0cyWe7/0yLX//3N/snqvUkx7Oyo5SuwoMe/X3Vxov1rkZmyhqlStwQyRoNZNWaaw6RWwQITpBp8LMBgBeXo0BTIzQZ1gwnC2kPG1JNxPiAO5bFXHjEKPzEAeE4DEHRp2at70lV+jVI+cit6dFupC7/9t6UYygiNR3gSE7uZCFVCo31163Un23ZUfqbmRVO9UKjEOZEU5ggggmf3pnJt/VIAAAX/a2wz4FWRFExRo1ZAccy4ZjEUS8q/wD//tgxA2BD+WjKU1gZ6HxsuTNrAj8MRMJgxVt3XVjHklYRYcij0hWStNq83h/iULtesThgpmWbQjzIyLp8Pcomd/PyPyP9vm03PWkvY98gXySmlpvmslM2WEmT5L+UmhX9/L7+f/yz/+ZEh5oRlla6rjEzMRB//n9Vxv+0kZm4IWauIOIwusMrBLfmbVpVAJytYFyzUHlnmguIglBXyK4sdqb/vAoouxksQr81I7Pe4ZGONKHCHO6lZx33V93JkZ2t50lRbNcqoruRFdFV3SlVpJMmXS3arwTqk90RHme7f/9G7J/9re19StOi2BngRH/7k2JFEm1IAABT/ayMgbReEujRWBc//tgxAeBD7WRJ0ykVKHvC6TNrKD1B06iVZuTig4Q6WdIVwQqRMtndZ63kEo0+yINq70y+Ftsu6JzH4hRHmRc7K3pHLy42hqENpD1ZMxHWfTSpD0VrKpEsLXfdD0ZlVrOjOdke8h2N3ppdavz5PScvr7Z1T/v7M65S10eDeVeLOu+RYtav+0kYiFGnSIGgpIQmTXpQh0QUjHKHkxACFFzElXhk11wkdh4lDVPJqcmdNYFSlgMQr/4Op9u/SEnuYRApy4q44djwFcy3Rp0N1GVSKo4Zf7KsxOpXj/ptXvY5Ktg7Ai1/HX1/ft3+W/2f5oyyl+r6Pogtjzf///3f7//Sjf9pKyx//twxAKBEB2XJmykdGHxNGTpkwqMAaLLLBrc91zXVJxjbZNQ0KBKjMZkzmyg51GvL9nQy0FKrWaE9EcUcSWX1E8OeaZltVVbOkw/UUiPEu9en1bTyvomS+TOr7Wv5J2aZnvPCWWGRdN4UrTP5C9mplf7JnCPvO7FMs/PL/P/8r+Xp5aJKRmZmiBHHynp2aVP1GAHf6yRjGQLFNVEntEQoEDE3zaxMswYHZEZDIOpCJ4q4LNkO7bgYlpT5xJ4IHTfYzAH/4zcyZd554FKVSHFJdlu6klLv5FIqM01Xd7L1s9s760euvcIzpI4kxXo2pFPuh/WtfdjW/+7977a1eR2lMqs1zkYdEWwX/br7wHVIAABX/aSMgEGYWEJAkNmyHh1UovgyQSkQ4EWsBhcywgaLz7pL8pwEqHALP/7YMQVgU/poydNGFRiBDLk3ZCPbCHvj8GshXYwiC+98BmHzq6tKmTEO6oQRbRWI2h1VW7XodNpDuY1mIV7OjkdH37FYindHeuY9TNatt6XJI6M7/b9/T/ba3uxa3Y8q5FO5TXQBJ/6OlB7/GdmOjgQEybAuSJ0CaZxgmMwHGJ2DKpqRJDSKGVh0/B0QCgrQygmOsIX83OCLHPiVW129Ys8ws2r1az/cM7P9+x7eahcptitFSMZiwiZDSKiN5PIhFdhbMgGJsluVo2TNvwG+dB1Iv/z/8vvT5UnwklIckIUgGCIGEn7dGsUctVAC3+0kRoahaFmBqDnSgAzCdMyOzJbLXjQQP/7YMQNAQ8cxSbssFKiCLRk6aCLbFRNKJISijzMG5DzAQeoBZwgpv1AQQIcc4WbUzbx7380nrKxjkY7asV81GZ6reya1R9u5/KgeD6z4HFgIGxoQFVCRwUOXhZ5d59zpA8hDrMYe1bbKKiZEcEFoZ7PrrpTIAd/rJGYYmZlsUCjOkQAwMEIA04wEIGFm4SgAjTJCBojIY+w1qoWAiwdOiWQRDzKVFm3gy93k/Y/+5ays8rTcpy3Z5+XM8v20xJUiYT4TMjUyYt2WVbQI3AGRWWckKpuQ7O2SJAJR2/9/UmYfu//0V1Zz90WiOVArSFDGvv61C9ly8AP/7W1mAke5BQgaARxFP/7YMQHgQ5xoyjshFmh5bHk6ZwU9GGkNXEU4qKnypwOjhjoYrRxxlzMQMP6fEIpo63RabZo7f5uMVf+xZz1b1ypMWhmhxFGtbFzz7NJTwJ4DeDjpiM32CcOxEaaJHhKieigkjK5h59/zlRV/9V1yq71Kmch1njBn/6TADf9pIwtsVYyYsanKyztoDrzG/BQB5St4gSeMlCIPoVmugkGTETMhMrgVv1YGhRK93oRFlZXSkYYJNnUVulTs7bW+q3TKu2R2WslZZ1YstH6MXRFelGlsVSqbWkpldUSlXz0u/99PtSz/qxnyrclhCIAOEUdvVr60BAAAAAL/tJGDWgOgapZsxE7Z//7YMQJAQ9lmyesjFVh3bHlKZCLNJ4FZJkbCW6EDUxEWcELSpiOKjXwgYRKJ4PlEYKcFazJYj3Pg5HyCbyhXU8lIit4XoZJk08jkM55E2Upl9xmN7D69m6KklUV1MqXdplamUjaLY1pFv/+ncvXblT6HZV90pQMQNAh+3R0zJAB3+1thhmhRYgINiUFEmnY3wOqHtE01FCoKbhpEPIImsSG0KFQMdg6rJ3QXi5U1/Pot67zfe4b1SV8UVCZxQmP+Zf2r7aIiN5FTyJbYXOZVkZldGdSMVBOI1ZFNZSM55mfOf/XutiKqEUr22cEGg8YCgY//Q4qqiAAAP/2kqNO0RtmIOcph//7YMQHgQ/BmSdMmFRh/jRkjaGKvATiLyiCn5NUkcxwLhj5oY/OxBW9dagTEm9kESguB03HBlOP+fWZe+DdD7KQkpFHmpZF9LPdc1jklUx6LoamaMqlo16uVkzqjlKqrOiPqzr0qXWdmRlTt7+lus/0W3RdjSSrozusoyjBz+k7iykVEDt7ZIgCrEAtQYxwwyKs0UIHBDJNAcBLeplgIebAgTE5HE19PIGAgwk7r2wVFG6o9tiiVN3rE6wZYGwEBCMZTOr+d9bSCkX8zM755F/DJShzPrIkhwi9bZnkteX6ZMVNFm3tcm1Mt5lRqX/v9//1rouiKyXO5lBK6HCN2WM8KWaqQP/7YMQAgU9JlybssFKh2TBk6ZMKjAf/tJGlybskdMtcS2O6oegNMwLiCQSOaKZyPKVW4YWFgShCConRVYAbAvwF0rPS7fprdj4feSNddBTMCsff6HdCO1vKpFbdFOhXdTXi3ZpVrdLsZN9Lqj7ZUK1GYt1Ul73Qrz3/99X/XvRut51aVSnRg5cb+nWc12oMAX/xBgGfg8hKY1lDqcDLRF+YhqbCerETiYTAnIbUub5BKjc5c48crl6xnAmq3+FtHSYis6RJM2UzMRXVjyN87IZaXVFpmd1uzJOamyMsz0U7q7VwVXclmbVVbZy1P2RUtds99P/n/77UQspok+yPHri/+N6+6v/7cMQAAQ85oydMhFliBrMknZGK7DAAAW/2krCtRnMmqKBxTaMMg4m8M5w0TlTlqR40DiCyOMOKheRVFFRl9mvE3hTJduZu9+ks1s8Mbf1cvvXdhCC2Yt0wYZyZBFZIsWeHEYD5pPjU20yIwJulKBkmSVt9z15JlTrRTafn/03ejtqQ7nzqJGOCZjneL/+pB3/WSIwwDkagI2zDfSNEQPgNtwzlR0B7haU7AQyGH4fSzYjGwxBWP3AkjRiAB3Kb/wiN/HK7RxUKsEauwNkDkfOuTwqWkLNDbIknE5OPVKH+5L0iKKj/Fyhqy6UoljIGRSPaT3du7vf/1nae3r/2c9LHZwhJCuFNiR/RUtKsU4nDdXAABG+tkhMCZEA5PQ3RMzpoO5EVgdijJhBUGgBIqa46RBHeexIhj63/+2DEFAAPWPElTRh0YeayZSmRirQCIQl3hEI5E0e3XlNTnrZ5qHpHcA6jDqLSnyGfnlty9JO+f+V4fyFwlzbVkUtZWcSzfZkEoxqwiFHH49jmm0HUxZiW8PO/+LEh48ClhF6Ltnm1oIAANf/62wKXikKuTHVFmB88awMwYEopXoTIdOBNyuSNaceU6oVf9h+OxloDexqN96MUo1HMd9HRj0Vy8z+GXP992rWxeZ08pdqmTnW8kvusS9brVT+uZXa6nQ9su6uyEuZUZe3duS/XfTdVLdzMwMKshMUFYWBP//1qUAANb/aSM1I0EwkkBGDMfDQyMUyYjEYRUL2JRHUWNHwdFVH/+2DEEYAPsZMnTIxV4d80pTWQizTnVVMiOmfTxOUwEqZiUOu5vQcwjOKG1LHCh4UlQ8v2zzmZQik/vKzfSpJENSUkt+st1PaMTn9pHZeetbSZzzIsbLffX+n+6/J9kOzrVyIVFkeLB0SAU9+76qaBAAAAEv/tbWCEDbYNQUtSabpecIxENYNPgtXwkEVxCRdSLMpeaVDQ6z7cmiUrVVazLovzne9xy5urvdy7hshtNAU6U5TJd8k5y9uimIlIZlYiPGUuZTdoBINozAUYzwVKURTcZYeX5x//1yXal6JVmJchmQL//voqQAtvbJEBKDFTQcIpzLLNxki9NIAGIKFK7AxR6HH/+2DEDoEPoN0k7KRyYeEzZOmRipQw0PtdUuepIlJNScWiEiokPADIWN6G19c2ziDcEyIvs1kMjL/SM0ty/7ueRV82hz7ka5djm5ESAwEhMRAAdEz0mmNJ2kyoiF3iiEFF62/m7ERdQVCBUoKhrWxVwkXpqUkgBb/aysdcNYEyRTgBGvTwfEoDFmAQZQAnyhOOZhVa87ycK6UZWktvJ4ejulh39prf9FmsFxY+juElaFptpLetj/QtP8s7OzNpLIQx3Q1zpIcjrdEE0tfZGNI09Foy3sjd7shbK60J8vb6v2euxizs7UOgqFxH//pqMAAB//aWoWGMyIqrAMYiIO6cmJBtYZL/+2DEC4IPSaUnTIxV4dIy5N2RirwkGyFBAcSSllI7KtTppjl6ZPA+5BbU8/1Lh/iEDCQgkxIhDAadUkRIWebWfLtlnDz+R/iZlEhHW2k/LvdPOlwmOZHMyKIZw0WE95R5lrszrZ5P2JR1/++/t+c6s4O8yKJ/93rC9/tJECcU3wAaYDxsoGZezUogHu00ExxQAHgCxsldJXjxLGBws1J39j3Fhn9lWPeAJhhwouQ3QN20zbEl3y0+dO32znyW9ZXnl/GznSpryzTMiQ6TzLKRLc7b8emVtzk+f//0//Ns1uyWd31YELtCPo02t64QAAlt7ZIwbuQ1pUEr5h5GD3LwLgTciIP/+2DEDAGPlaMlTLBSYduy5KmRirxnRIEAzRJ2ebqmO0gtwW5fSRV4vZSdFRJJ1JjeZx5wrijClqVaPntVxdG9PRmoktl6I7ObOjKSnohyHZaorWjeEI6OaVKIhF95FK37d0b2TffXtl2UiGMRKedLIJsIp7rXG3U8qQBZIiIsy1Cbotcbih16oDzDrCEi1y/CEQ5mULHebomg/ZdhAWzifdqS0yRj7w8/uGxEeiKPciGsW/3hQ/4f7/Ln57H+c/aFnYT8KyzJGObrgjmdzbUZdtO5pdafHWla/6L9/9v6668iUV1q2wQ4Oh8N/Z2oNXaKQCtta3EBURryQcxMkACwU47EmnD/+2DECgAQfZsi7WRF4f0zpPWTDow1JgEjSpfUVQPKdg0Mr7TdaW1MHNrEzfSGJtH93Iq/2+iSiBQUyCQihgRCEY8qu+ual6EvZq/R79mboRwaO0p6OyM1CF0Z3pKeyXVdSvK96LPo9lId963Rtdk/331tzoz03dignMAehftiSkTKNng6IAAAAl/9rKxS4QOg5YH7G6ecqYk8I6DDIIg06yQg4CRYd+G4LmjKI6NbBMJTMYL1ceLRn9VcIEslJGyxL0O7xdEp/lHuc7C0ne/c5U8kKJJOUmiTsUqsLPMftzIvNT+vPuXzy4YbOnD7zL/7Oz//L+/ryzmRMR2HXpAzT//6iFX/+3DEAAARRYshrQxV6hKz5GmRiuwQAAAAC7WNskqgDeDOrQGRC6EwJkevmLXmePlsIsYA8RfQhnPLDlrVoLLa+iJLGtwHUCoCHJDTfwjOiXNmRABzMwbublsfMrYZdPmbX7y8LbW9TIs4eZmyrO9ig5/DlH9jfSD5Jq05PV6rodVd/06zs/t/sWVlaylBrOLpneG+v9DFuf6fU4DNVWuQAAT21sbRkTmFQONDqZ1RnIGGtmsWabAoGjCZDR3IDR0BsQQqgAIBKwEzIrfr1yQN33msXvz+rLr9wYarRah22KURz5l1vJXzPR8lWWnD7lBFNtjQjKGhAmYp07ZZKsrUWiUuds7Pprd0bv9P6/te1ad32dd5nphRgpQAQyO+VlT7hRZNACrdY2yaCWDUpgA4NLCBCEpSLWIY//tgxAqBEMGPIO0MVen6s+RpoIs0AMTmHAM4MIkNkuL3Por8iGNLTVJjqUEJa5JLQgCUkCyu16dGYTVjYNqRGSf706WWq5Znul/OMny9mppGSl3i3/uaNM1QQa2F6kVJUsi1kTXzuahnrRm9WZ+kv/2+lld2Z4w2+ka9nf6/ocuJG+4Hc70wAfa2OIwSsElQacM0NNCAK4RFPMiTAiQeIAEAKHDQIEzMVmCQN31NksVaYpUrS1H/4tGOd5+vvdo86XuUc7cUbQUSePKmPrIdFx2rBkYkSQBtDQVYSwoDaolDLsRDlCfU5QP5h7zn2M1229Euqto6t6rIrI5gqdlcZTgZdJxS//twxAAAD2GdJ6ygVKIUs2RdoYq8DAAAAj/+1saKhqtAEM3VRiAWsHtjALAK5ctVIVQBTAsbHW+UEgRIa25tFI5msvWhbVleOh+jBcxYD41T9LmJXXWZy+1il6ed7I+tjaLMh7cMTKjnKhivJVzIk6Pc6GV3nSZfdamPZf/6aSfqj2as3u7EI2SrMCFF2//pACtta5EYCMUMhI4JBDSKBUEDpwwyMEiQQF+ACgASkeSu0tVBO6zGCIM6stoaWJoZSqRQx3GDuJALiRJhlda4Z7nGJbM84T9zMu+hndIhyOiW5FNl8u7ZEazmfezoy5jEEZoSme/KtOr6t+7Wm1s6L/ey5HatNkaVjEMOcSETNWu3oGFzNNU0AAAArf2yRkL40Tc6qMOdAkEacgTzMoQLFNWRgXBuuhZImf/7YMQRgBBFnyWtYGXiJDQkNayMvNKJNedVA6Hb0VlU4gXDsmjfPEo4tWTN8M9IzLMPflSrLpc55f5Tj5kyP1+kzFCjH56nSJwegLpncviFE42tefsPy+XKXc87/w//uf/qk+2R+W5Njr9rAj3DCP9eiy7HDAAAAA3aRtkiXm0RAaMMxAdiOusDvzKlM44mmEiwLYbmLUnFUpBgKWKWqRUA3JqffYvI/Ujqf5iSYWMDNEgHHOBqgOa5miQ7adnkWX/fu0pZFFnI+3bp/GPhev2FZoZdKVC5lkmedIvpF5d+FynD/b//55uSRaVmXGJrxapYZShfbIE1n7hZYHQqQAbtbHEYcv/7cMQDgE/Q8SLsvG6iD7KkaZeOFIwggiMBUuqe9xEsFqAVuPMMFEMhrLhy7gKrFpltimhIGHaHMJmiloSsQf4PBhDjmeaAvjHfK+Ufl79hZd8js77HfP455DIw9y1Z2Ga+WFQxkKjAUOQ0YLOm0kRMKCHBJqNc8/UmWVCZZBk6oFQsDbefcyfHIbVesgAAntqI/yXMyjzRONq0x+FJBzYuIWbRxJZB6UWjf9VESFYs/40JT5xVYiBMSFGOzfdZMO1PRFGHQzSO5UtuEZkXT4ZJp52EWnG9JmTxJH7S6cIXnw2pGrqaob9OQ/Iu+RGXcrbmUhFl9Xy379T/z/7NamRbJDyPMOyQi04rpwnvOnKCtVAAAAG9/tJUBHwdMcrByPA2ExpKgURJoiEBPcqsGIMNBVWEIlskYkr/+2DEFAAOuaUnrIRZofWfpLWXjZzRa7EcpcsplLeQL/O8q4U2O/x53G7t2Mm3mdLcnKJtRwKMJEojXRZ8KRAJWggztMiMEnZ6U/OqmnBEOpfNZvf/XTu/Y/O5jcrsdQn/rFwgAAAIt9rJEYFBuxGIKaY4GbPCRWAGMByIEBU3JIDCeWGiAn4BQ9EEX1q0N+bobYdwvxjfRMajH4ZlACeaViqEs+nlSuXv+5lIX5Q7yEecLLIkY9roZQ9l4fwnUPA8JBVRgaXkxzB1/Xp9bd9p0uJggG2hhhVrrPrtIDRplCowAAABP7WxtCCsYM+apMLADHCDhIigiPDjCggw05oUUAhElhH/+2DEEgAQmNcjrSRUYhy0pCmRir30hCyYsCLsEQOBsYlt6EvGRvI4uuzcgeu7GF9qQetLlRWbuUis7WfnPVWfpkq6Vumdlyuj3cOFQwYeDJtpdzFMOCFUaLmh9VvN9eLqypkMgAgNCBRAfjAvMG1SljJ9rsckwAAVdpG2TBgOpk76zCBN5o8nBa0LUmciLUF0TCwEAw1jKUHwsEoSqUiPe69KJRJ1a2GQPD39FAZCAJx3LBqcEgzhGZG2d0V3MTsXCnz+0v3y3v59hW3QjPKFaub7v0n5TfIzWbH+aIbISyt0+5UPr7//qjP8stqslaGUTt/m1OGcu52Hea5JQCbrY20Dkzn/+3DEBAAQYaUg7IxV4f4gZGmkjlQwEQximGjMMmC3gIaNlYFJqjMKwcHK2mtJICIMtyYoZQNL7E3i3VCSu9+IrngMKOgLFh1IEF3hKeabc5m8y3yk4dLSn2dI/YEehl/xJNtLp5UvOPaZqdhlv71Fqd7761Tn9Pr/t7qh3+Yx8gI9yqxXHpjI9JJ7YlKmDo0wAAD9rZGgbBZ+XNM4dMimA1oScBA4xxNDgXWCiAcRkwCVqvLJIjF02gZ/K67oIIgMCd/ybotNYhSrzRlXuG6dueSFfyp5feQv8r8iJPf08yo6CjImSarbpmpE1Z4y4miYBmRkKjDouyyxNv/bGzwiCoeSBjJd4RkPYg4KIcbUtSAAAM2kbaMo7BLsaEGTGmMDBJ4pAEUIFeMAcGBEEw5mveEJmgJkECIk//tgxBSBEGmbIU1kReH9MuRNlIpMDStLuxlIiUN+4clHMwx4wzpK1jOufMMtFLUi7TfZZ/Lacv3da5LkUyFU01iqrJRqFcjM8pDFORGrtftNrTp079f+2qLZXO53XO6FQpgoPGnZ1M8YXkzQMGRzXdrY4Rpwz2iJoAAGIuN7FGIAGFXQ5ZagVgGFxJuAE6hJZYUeYGjZD8oyelLwWFZHunpIos07pcMCoGQ1LNP92ZDHqRLWqKI90eh920RXnc9lO5EUFdXRTiG1TpyMbaRKGqiqZURFnTR/alm/9Nd7L2u6IVoxUYG92Nq1i44i8UV7a1uIq1GywHGr3NGsmvGuTBEBDwYg//tgxAsBD3mRImykUmIZM6Q1oYr0s4AwSAmrgNE0OQBxbxLFgW1l7gLjFQoKXzbmWheMyuqg2auxKLTs/LlSjW1R11y2LB8hmsplaXXWxLFZpm2edCkRSc620OVqUZVWltSboy/P/s+6oNORnYIQVWTNiupGLtVioFUsUABXaRtkdiCikzKo0oowqMDFQ6CQnwClMCFT6BKghPCSKQCEAYkSwwFMkD4R9PZdZFF0X/j+uVLe705fcg2CQH8du13I00yJVWmU/P/JuwvzvnZDzhFe8LhNC0IfiXacrpWy6c4V/jsrvW27f+x0/13tW72NyNuh84pIQbaIGudi8eSKmp4gAAFb//twxAIBUHkJIU1kZeIUtKQdrJS9rG2THlibSYcmZYiZwacIiRYAAAwmkPkDRWgK6LumhwMEECQhZoWbg7dXbCUZmlQ5Md8KjCxZIQ1rDGfOHELOkSSf5Zn0tWbQkP7SQjhZ/8Iy6SU/JJQcY/VTUFVkwIINWaJhRa9bS+sKYYb7NiVFCQhCE2oSi2k73CQ+wWFQVk0FtqZtiY5kIihiwQcNOcfGpAKUZp4caoKWJDDqKDINIAiAkOKHrShZ7MsaZgCM7IYfof6LFZHlceowRCjDLyTqttbUSMLnyFu12tOVHXI7lbZq/SqKqnZ0nciGW4shzaERyNehd9p5k9/q76v/T8lnX1VHuinqogcW50fe92DFydsUaBtMMAAA66RtkdjmFSmWYmaGGTMGwVjzRm54ILmHjlXxrP/7YMQPgRAoWyFNYGXqAbOkKZMKjQT50IxgUVOalvE9uq22+TAZlLKbXiBZiRBrdhYgMJCLft3VqPixf+Wr+a3Wa1C3cl6fpXeycmwmK9TmMGbZ1gA8qYkd9o3vtrf+b+/4//f8llps3ECoDJrX759yP2qCu7t/BIFdrG2BAmYsJVMAKYN6C2YkCDrAj8ach4RsGeiVtO8W4BTJjCmaOlw5vbmKwK3mqxeW98nDJk5zvGWLmTPKINnK+3U5XIndznX3sb9js0k/CuRTEWlHcyKa86HUrH8+7Z8r6399dd0S3/vydJU5dHPZnFQh//+7ftz3GC0zmIrdMAAA26xtkxjjXyNlcP/7YMQGgRANByFMvHBh57KkTZGKvCDGtMcuNsKmE2gJHSBEKhm4okx9AOHVJNj0w8w5uUsgsgjpMFQtfYZSgQy0oZQbEn7y5IXw8miFHL693Or/98p/kcpJT4XSppsUzvS4R9KQcXUCZAiYKoF2ui9SpFBzp7TDsg8wFwuDCdsB55ZcpQLmwXPHfWuQmN0TJC0DZpQfr6/xGOJNDpSdoycYdafcYRwJlCEYCADxMHbr3XzUUa3F5N/BJmS6mLNwQQcWlz+6TyyJ+/5efrFT/Pp+jPFzJ+u/K/SusIveOhmj2E5+uip8I83W9Hv9f6bm//6eml3YyghrQV5uycVWogyMY5UwAP/7cMQBAQ+Y7SNM4GXiCCNkKZwMvQDttY2grcaz4a+bJBsin2mUGTxBSQAFB8UYAYj45hKMIWv0JJFZDnzNeKlbLIckX+LmZkRoWHBFnwof/mfFLK8WLnXhd6Z5oRmv8iszQ5Tiw/TpG+GPNi8JiYmNZPKSxLmkLtMZ6x9hsYeEiBUGVhI+Az1OtO8Uqe4mZIAN2kbaMMs7FGqm0GQsm6eReIWG0g2KkMTgcYp1AKBoAQASxYrDFcqk0shXC/37kPOhLoh9yDk6y/7llIVO9zfvGPh5/mnOcOkZZFtbFO0zKP1HvS8qZ6kSFDMyu4wL6+819dtbWv9Tfed6/yPNIEYhBWVo4cL3e9v6ZX/5qK5DnRkwAABbpG2QDyIFCxICvzYtMYMajEIZnFiTgsIZBhk0CzUULfDqLtH/+2DEE4EPwZshTIRZqeOgpF2RDqg2w9FO36bF72DKefij/6vct48ufhnhq7uvqkEsJ0ckdTavBBmvGscxUU3lFTC79GREdiAI5FhC2+jnttd3+3/26q2tLrY7szWMFL0C93fda21omuWO2r1Af///sxaTJjMg0RIFh8JdGm1imOQXTbkDAjNsgC0gFC4QYAx5M6iv51WYqqttD9j/fc15yODYxTtpLZqNmblr6uqtTdbZaPKn8s92zWoS5sTKbJHM94KNiyQsC4qBjkdYCbaF5Vv1alRqgEJAiWBI4qZ3oVUOQqTWkAAAXaxtowR0IrmFJDAkaRBJEmqFRgAmh2AoCCI2ZCL/+2DEEAEQaZkhTWRF4h4zY+msiL1yCwuABjV7BFr4SC/M3FFEnmcu5X7wQdWayBqhAwIlVZTO+8hne+y+9VPNrtnefk0SzEI79Cu6J1KjGKjI7nJzM5capXfZdNE6daunr7M2+T6uspgs1xgmDkgtz1mV1BZDXJrIAFtkSZMNGMzCCy8WTmAWBIke6QfHXjEFGBAMcHnFclAIhwipX5jDhxECSLlpt1F1pO/JMOgZquxWKYMOCJIjs6P7Z2sln0oerJq9N9VzJqS5lG2eY6lWZWoU887qU1jtXYtnSwJFmWVm9r+Vqf82joj3rRAriLbQKAP7tTbh0wK9pozcLWwGMAAB7a3/+3DEAoEQeZkjTOBn4e60JCmQizSOIL/Do5uPD4pnPEwJFElSO1GjMVDDHepF2HiwAmwW9GnosPxamrrIXEaLDlD/yq9h2/05HtCpcyfOnkXPzSfJDyvDQz+6ac6TF4XpcKE/eHWOVn0HMol0W0umWZd851iLIkzPv5X83Iv//8oZEdykziFnUgahMRtb1osLyvesgA3aRtkRBHY2dK4lUYrQZsRVDgQo0EEI3hgRr6rVgkdDDn2LAIpfjsW8LChjBl8P/Qf8hz/l7+fzmrn5jSt+F9fz9mK87g4oBsJZBkjCdoLJwBHTokioZCYDJS21Q1iy1XOM77L//eZnpIio7oqHcjHDt78gomNGtyaRlTQQAAALtY2yKKTbPDCQDeBDKjDhhCbtY4NVL/oVtyNG0eLdARAAYQQg//tgxBSBEF2jIa1kReIJM+QprAy8AIjF9OUNRt1MVpv5M4eLed9GzhHZ2zJX2NoVWVaWqqu9L7I/pk6VM1JXV1a7IiqZjmuzGvQuelX0pWn7u1M2ujf/dkQqZWYzIWhjIyoqjl5tih95iE3vEI4uQAbda20ZGKnmRChlCiKcEgTTRBMTlpL1V4bTk89FwxCVWEiajVAF6vTrRYUuR25Vn4SqZaIRksIrcsjld8rBtJd/0RbPORFlMgUK7r1l//Oc9jLp3Y9KuZ2RF6SUrZPPzvJl///9/OnPzyK6ZPqzMseEdhGaZOFBVt5zrLNQJU0HyKpAC20jbQItNfFCkKqGRSb7xEEl//twxAmBEFmhIOyYdGIFs2QpkwqMoZo5flGlcJlkFGUMoKDJQhBCA0coxYuZqKMPXe7FL/kdpDInR+0x8U/InysI/TknJP/myZZK5n1jnn3NjOrZ3St6pL5SXfRofv815j+Z/8/mVy/5zz//yO2UwpHHYk6xWGgREraAz9nMGGKGiqqVrEwO2lbaOJYx1gN0POGTiIoBYYMKAzg0UrVDJn2DQ0YQjAhK8iZNd0xIKlhm7QGmOHPf471d+v5lM3aIr92QlX0Z02Qr7I193jqh8xSMzMRK7KVbXQ+dyHHa6HMR5teukjW0St9fT7NX8lc5JGUx589kLgkMOQ4DHtgUcaPvoJF3ilUSAABbrG2Ta4MmQ1iQjMxTzsalowSJNoGKXLrNXBakjJgAUkXwF4HJI0XkFdJcbZfHH//7YMQZAU/g+yFMvG6h+7HkNawUvMRbz3PgiPPPz/M9yOFEvkVO0jb2mflPmRcyP09Gv5I71JnbVVRJQ22JwVLvKqE7qFjLqUpb2X2k1PBAWLBYIg8fDmscsDw8pjmw+oJrDEAdupjlgIRjKAFWCJYcQkRhMCCiJfdThU57sPkgkaETdWOPZVgzk0rzUUZ6yV96P/AMGOVWdhzHQQt+mrKdr20qqVO9FSrmVFIcllyInpI6NKemdqK0805Wo8Q93MilVjt1Ztd9Ldf/931Zm5GRDDmBlZUGLvJquFmH2mRQNjEAAd2sbZTOE4TXxMccxhD2KJiFAhI4dCS9Y2JZlbEFF6RJ9f/7YMQSAQ/JmyFMjFeiELRj3ayIuWNp7WIvIb0y09gDEn0nNbhrDC3zNIZ2kNk7lckcun95PZ+7N0ocKDeX2HeIc259jz6zz+Wn/euLXhlxJlfNOyUu0iven1/+nZL2XbKudaiCxC6rG1IZSHpgmlQbba3M0MkyTAEGgaQMqoMUAHoBkMHMl8S+Zak26RaGFlpgUwTCh1TrO/JpRQKUrHUxfeR78S1tkIxxi3crFMlZZ7KVtvbITat0lTOKW6p3tpS6VKz9UV1dnunIik2d1bIqr2VWdHf76IRtNv2Rquzks8qSKVVaYQX/dq6zp1PvQ/sEqtVxAABdrW2jC3TUqQIdM45AK//7cMQIgRC5nyFNDFXqJTRj6ayMvIMTCRhswGHIE2JAACY1fAMRLmlk3KYQl00+itTSij2LyfSx/iz/23Yh7uhfvDk6s4T2STlIz3yKm0bhfkSVlhev2l1coERc8jJXY8zIMedzTSERoxkV///9f/pMjSKcyFMpRaHNUpUEakN10p7T/n5+gPoELIQFtkbZEYc0J8wBQrUmSKBIoakTeMYUrABQAELMukebZ4IRBQhBYWpZcxOzbgll7hKyvvT62EubHFQqAhrZbLDLhFOkt9z5lCPcyhnn+3OrSKETJTOwjp3CZ71Zc3TxBIprLvxa5bRSayv5e/Lz/b/zz/P7zL1V4xLI5d62Ek/VcibLhgiQEqIQQANttbkSsgKuM2DM8MCwsHmh6rKwCpe6qhK0HLK/x8kSFEl2RQb/+2DEEwMPVFce7WBFwdyiZA2sDLz7K75LbKlKnawDsTG/L2uquDQOJdEqTcu2aDoNyDBVrWC88LhUuJEDGVLJw4wIKGCiLwyeclRMeraMGO1i39MQyJNTCigKLksTvQNYLUFhpQSgMUCIt0jbJiIBgQQ84ASMzJ0OpDzX1ECWfI5AFJhcTifkgEYRJ/iW1eM7v1YknY2Bc8NzPfFc/LhG7lGy8vkbRDMqRdhmf/f5P58+Et7CuZU5afI1vbVqudninJnsUQwXFTwJSp1vTfTu1baxjVOLIBR24ufpvhhelyEQoAAALbWxxEjRmPlfoASFYXiJsSQIZGXK+xghgGBf00hPDBX/+2DEEgEP3ZMjrLBwogIypCmRiqRKlAlIuPfXLwblcAhgmmVHZa/3VFtMufC+FM/JC9HM08/sibEeZne1DTkZrYdTFnmM9N/qQ+ywyLyf/57xT5Ni0bzhGpXX//////tJJu6k+isFWJD5ff4pMa8wYgbtY20CUT0MERZvRmwyNmlEDXxw1myPoNHMeZIB/yzhQsl4DlFYXHl9BHWAzq13/mf8D3IiPN4absRmHZlPfujTT9+FnId6z7LZXIq9HTWvo5V6WFUqOkadTOjjZ2Ru5mI/V6//qqeVvzVV0KZEKzuVXHQXELSCOzpLGGJCZIAKAgABXWRtkzPyRYZEMkQgHBfJPFH/+2DECgEPDZ0hTOCl4eUc5B2cFLyUcUxBKUqJM6B8FKW3CKKHkQGHv3J7MoUSdpij+U3+Azzv2nOTpdS10+v7u9691Wd6MuirPVy1sbJkMzVQjzyFLQrERotpWjvuukmm62b9rf+tf65rqV2VFHQONrqQLyjSrzHCqAu0rcJlSm7KZCZNIZ5B5DlAWQBU7vpXhRoKWVygIOABjp1kyxY8PyKVzTW3BX8/9L/grM+ro1llQrE0R3Rujbv609t2OW64y1zmSRrKyrUm5BjGg/Bgq2BaOGltPCw14xRnUIPa2l1JUMGyIUEYuYulr7ZUIhtVLkWDAAB9ttszQLAb4NQMs8RbGov/+3DECQEQxZsfTIR4yfo0pCmRiryPWl6jCIvugYDJhyixr7jxYMARwImhIfJ784bWFgJXLkS7/t//P+x29hWrUN7TrD20sHf9btIjcg0WBmBHbTgx2QZmsRYabnD2ylThlpVOfDP+HrMz8tPLUtZ/5f5T4dk0M1jl14oKgE01xyxjhX379ie0tREBu1rbIgyAMwrGYzBrOGKe1Eqjll3lT4ECYXlduiQhJAWkJmr3wg+UXVHpew5/6LnhM+mWZYMt0O8cvNULLsv/ChEZnyJnCIp0mGrmwPp5S+efM3azQ+xJWV+v7E2Xt0a6pVW/r/b+n2stVdKndKOruS6BtjEIqUhJRKhOsLoEQAAAG2yNMmRqCECZggglAQI3o1fRgYWYb6BhnI7so22IIMFSKcm4KrXEhUxGGJva//tgxBiDEI2JH61gReoRNKPNoI7dqq7FHl4CiulyqQEEDGXVqe8noi7vp7srT3uVWRZahzJRGYyMWU4Ox1Khd0Oh7W1Tt1oqdme/T3Szkkf/3ZVrSZVkGmwaZSsv99F9a2ec4NPR7RSO2yNsj1M1ykz48y4AonnJDiRIElgwPDCfQVLykiXPSWRAw1QFCePBWmQqX1lhX6W07c5z4G/eOOwDEE3jMOnCTz9RczkulKVsr51dJ96TWrJI5zpbqnDyppLnKUusfMz2+XKf9vnP6fp///C17aVPhs9DMRLHSOYdDvZIV3a3/Vx96iU9UArbI2ybM55RAwA5hzAJA7aNZUDGjGiu//twxAwBUKWbHuyEdyoQs2PpoYq9oMqkChM88gJEDlm4iTRESpZI4/E07JKo+4Ev/4pu5+XRgtTSJJPkoAdQG/IkoLLgPltprbqBDgKuaxFQiR2JBvFMdRnPjKSyE+xsh3Ip8/i/3PPL///5efVyypG/4dYJEJ/mvbh+m5OKz4e7k5kBtsAr8OFAJ8EizNL2thxNGgoLuUmqMEyooaFGhAJJiiaRAEUtWJfkNVicOLwcOUZaA8kyEGHuIWmRKfOT/TKlf8rbP/PI8lyMvW9l0+LFi06Raw5iWNLSV8yMnu5QuPTHRS0Z3P9X/QzatX+SrOY165JAgzAyk33x9Byn91frc+YzRdUCAAFbZG2RHBNOxMMBABYwq8igjQMGjB4bDDriAqVUSJDplUUED3wBQxz1NMKCPMNgdf/7YMQZARE5nR9NFHVqCrPkKZwMvM7gU/OAMpylO8UZVGOrb2a7aJsit0nkvmqxd+NbexFr/SDWzq7Jkse3qEb1oEC6X/Y3nxy5zOkX55/5v//+TeVV6f2daGlpI6kOBGfa3NX9EHCToJp2XkBIBdrG2jDaMMo0zCRsWfF5SYQXKhVdWMMTJQDVKQVKXIYXSoXM4oo1WWxea46dTnifM4cothELem3kn6ZnC/8vM8p1Czu55HYfZwiyU+rIqEgNdTnY5VfrdqBTsJ1ybzXbh/0yP/+FUl+/+f23XLIzTL3jOzWhAq9KCbblAkqqJyTBqhMAANtkbZMbSBKQyBcITGSJB4ENcP/7cMQKgVE1pR9NYKXp+Tgj6ZCO5WJLQuGsIM7RdK4PsDECMcbFnh0mWSGu+qw8oaG6FDl0HbYooYXEFnudLPWm1md1f9yIhKlKllTI7vMemZ1IQ1HfMU6isVK72nUkhiMrrkefdmc22f907LJZP/sjFV2u6O51QyKqHRbDH/X0c+fzg2fP6E6MgJAZbAS8QQgxgjMNxQO1GliFICgMMaCCWRR8vy9IFDGQGIM7S+fSEQzYZzE2gunW/5RvLn92RGcgkgRv9KC8D0qzb9ZIrgvG+XiLSRuyRm3i2tFVndpI19bI8zhnfPpfp91L0/59y/5TL2/gKs0FWtYZL//5+fgyJHQ23uNNGQIAAdukTZRHPYkwTx7I22BoMWTBo4EDfdOsErgyNrcEAoAuTWCCU5KSEZvsrNHGDOj/+2DEGIEQjZ0fTIxXqf264+mQiu1S85DNr+d1DToLpe1L7sbminlM/7DLORCNaZc2dOqjt8L+ZIbJ9tYaE3SHqbwmOuUr3y3OvkSy669yt7f2verTJSa6F1QIw6s3f5357N5t74q/OAQgJbI2yCfTUkMawFiGvATxIloSQaI15d46mYCJEdGg4cIGctHkHAS58olE2RzLDXjpsvta3/N4WhIEMY1zXWW5om9Ec5+ZtcVExBMjOEqRsyktITY63JBXCXSmhXpbdKNrT9asl/v3IiVWzdtyBTm1VSpq/VXTozNdEQ4IGwvtQALbI2wYKSasmOhR1OClgZ6ViJAChU1U6QpEoaP/+2DEDoEP4SUe7WBl4fqz5GmQjuTicErERJYKUCL8Ou+UxDLk1lpOhS/4j/M/45lMnl1/uRexf8KFmU8i0Ns4dWnRsuz8y48LZNPkhKLIKx2RM+FCH5dMVrLA+CiEqXT/7ryQaJw2kmUbtU4g4FT594XIig4LEyMFr7JIgzQyTxYAxajCTBWyNRbdApb0OgwUACFAcOIjJBw8pU1x75NQyhn1tusB2v+v3XcuJMYQeflmMiIxTuw945Kvo2WRVUj29RKu4Kn6VfhTqaHw6scjIgczIip/nmqzzPvOUv5Pz/Is/2PsPWnkJHcwjczyKnmZ9IleEFIQBtsjaJ0VEMhROPSm/Wb/+2DEB4EPyZ8e7Iy0agI6482QiuUIzfhQEZFTAZMDDzEgdeRgoVAYtIHCRpPuDonTNzkzGHgvd8MVInYmkF07qq8jX2szLS7Xz9l3O6vPVa7mVXVp3V393Fz5KXWrXITRyVUpjdWe3/W36f99jM603qnGFkYhCgzGu+2s7D71emsTvKIVtkbZAGhglDVIG/Mss1AKUcCHBEl1DiQ8wGkLIDLLIJ2srdTiT7kOobcWRMzgO//yHv8z1mwhojGQ48yhkumuhEbay+zFcCAslY7ESMZWSxUUzOBTVIvY6Y7GKex5kTdrVsevVvLb/mSqUNRSoY6mU7nKcHzmLX21a699eNbAaJr/+3DEAAEQAaEfTOCl6gW8I52sCL0CAADLZEmTNmNSMOCB2ASqD8E6RJZKNL5YghaAAB1IIChUOiwYsdPJCuihjFmUtZQ+ljng6M6F9HqkdyK7PfTtcy9k0Pa6EQtyxioXWjbN7HVlfq9GOYjzxXrIiNWjujLVXb7tVP6v9ffSbkOVDFQ7W0YgoT+bFvjtfthr6M9UCFBLW0mTEtw8gSkTAhRo6HjFmjCwsYaTBIJeAkk3bQywRDWUUGXugPsTT6MriDE3Dt92EbZ7s9VRNnebShHalybatvLrlu0k7ZF2+zmMq1Vsjqd1GbUrGa+qwu7p3dTG6tWTXZ1d/0XJyvJpKoynK9SnRgxwVvdcpyJ2U9TsV3eJRFVACtsjbIWjiM4VDBhThpyRMpXQgwBQkR1djJzNcvjAJVSg//tgxBEBUOHJHu1gRenjGyQpkIrkGTEQJNZRzzl/XFibaPph/gJ0YUIL0VEO8hKN1ypstPsp2OdUVWmdXnRVq7Ml1xSVe6TKOoJ3rwbETwqnxBynRndzvOX9K2omr//QzXoxXdVJIoGUqECQphL2ku1X5bYRolUm/OYDBbagg862QQOZCYVoU3LeCwwGATA4MAmMvAcBDACQLhiQq5WJz8zJWqSh833r/2RZc/m2JJixMSPgyd+caABqq9Tq5RBm7weRCYgHQrJuEYIjyhgYceMDY/GB0mifevsZVoqpUtYhKgAVExwNDULoVxGKmDwxwia9kAbbI0yHIGKuKlFGZyLC4b+i//tgxAkBD2GfHuzgReHlM2QdkIr8BoGWlK0ALFODRo0vC4ygSp061VWJyOd9rddtXYoO8ENZXaLZl2zql9uqIzkZeVLbdnm3XuqJWcgvVTT2IpVZXDoc6GIt72OshV/sjd0Q9P1/QmndHzNOZtVKaR9g9FSJFJ2sog7NqJeQUVusbZHMgvIATziWRtKWnZLyIUILVkPSZkeSflCQkAxQaOVRgOD6CJPztyn3u/yv/55cNgkuf/zrGmRlJEaUyQzeRo5kTOJSHNkwNMqJATab6hMYWRSOU4yKE8nyy/qUX/eieQjoWjzknVzAi6TWXuvCxccMBhQUUhUSAAFbpG2TCwF9meFG//twxAaBULWZH01gZeHonmPpkI7lXJmxGk15XJlAi2TNZ0XPOShp7+F00f2wL4UXqvnEs1OpprL6XObDJmM6EFJTSfX6uXM+NkZ8nkXP4rfDP5JlVhISklZmctjJyzZRJIlNUI02ekmZTuxWkfOd/5/+cjWSf/+xn5Kf9RqTUl8KQuCyjx+hPYbE+gcogQgbbDLJOqM9zx0oRjkQ0HEposKEH2i25mNO+/Y0AjwpcTMKova59d9WVzLcnTx72zzvN4Gg4VvXXEf/qbb7GXRPYTTuUhcpeJzpdx5iYLIBtIweSzYHA1lFZ/hcnv/q/an//+aEFcfR0o7k74EA5+Gf7Y3z73VdCu6tAgABW6Rtkl5ORJWA0BzwZIoGiGEEGHFnEqUfzKWQomyYJJ1gKwrG1+NngmYkNRsLof/7YMQYgRCx5R9MhHciArwj6ZWKDZf8j7zHWIozGTM399DRNsJEb7vKDAeFzdCZAczkKubT6SoC2alDJgTT3MgcNiPXqLb5/kif5/5m0tL///+lJTfU/lzDkXM+pZr8z35l6o+f60yI3GAwV1kaZCmJvjJDG+cStlLMUAqwQKhxUXcEBIBxkGIGo3KGjybcUuHzRD0CxOBQM1uQARQo7TRL3o0jq3LNblZEsyu8qPXo9UUlUdWaqE52UpanJYadE2XWpFd25ujTHV2r0sn+Wxv+93WjSscrFdnPI9iHJG2b27unTW7rSU4m86oQBlsiSBkVnjaahYdwD5g+1fI6mWSMcBTMSP/7YMQNAQ/1xRzshFfp+LPj9ZwIvJAzI0zHS2xcVTIIGbqHAOdBj7s/dlpboWv+lx/+8kOPwhRIi4T6Jx5fsFw5QRG0KcBEBE53TAY6KjKPSaGm5kEMmZRlM2oJzhIv37/6fVFc7tPyo8xCOiLlrdkQ7UcNHq70Iw+oYAIALrI2yalyXxjnGW+FKAjVIsHgLmh2XUEomqpdmZL+oXKoF6JahRPR6WzjxOw8dn/HfS3CumSzKRmb6I8ltuvcrdd6pZkMRUyIWzSdlOhnQg6w6mKVwSXnZYq+iGdFXpsr67O2kF9Hvu25PMjulzBWWotwxqsnpUJ3tYtgalALXWNsmAkEp4EFwv/7YMQGAQ6tnyDtYEXiATNkKZGKvcYNMQZC4wVEgKGnrwQpNE6d2kbkmH1IgxZKzteGIagOH4Av/4hjoVFUqMHP19Xut//T3tdLf5mdluai9HJKxXSxkdnLOLclJmMlJdEboS+xv/5rMv92fWmZ2XNbc8t3HH+ZpGAZ9zGhUxQgrtbG0DGDCnMCQHWobD1bBhCKXNLaKLPWZQ6B02jql2reu9dylmEG35LDkggO9/vchRHmVO3O/5l/w/88+ZsZz9jnaTHNxSlTjhmThgmBSyt3IRS9zawyrm+HRXnrncY27c1s3N1eVvt3TWYiZ816EMzh8YF/y3+6tE/Zle3d5QIAAd2sbv/7cMQDAQ7I/yFMhHciAjQj3ZCO5RJQTqPMM0SqB7ROcjUUChcAlBXknmTKkyT2JTLEnR4NkSuKLGG52FT0Ad/638z5fXAL7ZzUhS9TNutHznVcgVkUjhpS3tklO6zBmlWrQTTysVCxgeL2jXl3UrQsb5VL81NpB8FTajBlyuYxbeGAKidQUlkbaHNTAYMBg9CRogTOamSgDA5ZaUDxRnECRdRGdLdck8qgxCDoIwhpyYy8eHPs2P1+vMy2R/5U+ExUw/Ls98ydCSk5EXWE3K1ztosV4VrkR03rk7xCLuCIrv03r/S+3KlzLX8/at9bleooA7ykbEHEmqqOf+fuwo/LO3RE5m0iAAFdrI4TK5FzwKCc4pxLlxkE4XFGBBY1uKVxiJS9/05FDoklCl5DkIoJRK3qiUAb/6P/+2DEGYEPtQMhTIR3Ido0o6mcCL3v8tbmj3I6QAGj7THboVmS4IBVNZmYTnyyawY0xyKJZBzmgM3IcoYE8fF5wiNUESJKVeF5uSPd9bGyZJYLwMEQi0GOPS9VDbsaNMgYCWtpIqAHHGGMhbA0dzCEVTMywLMbWluo4auFrMkA6Ely0zS6lM2aV1YqzN9Xj1/k4zltIiutU7077mViff09V0Zaa0bqj9GDo15rqbKpDVdb7rdaf3Zd9P91sv//rXkI7IyEs5GMCQ4Yfe1V/pPRc0EwJ/oSKhAK22Nsmr4IkgVMDGw1cHeMAGTAIYBhHhTAAwgkZHErERnpX8lRC3yguSx52IL/+2DEFwEQWdUe7IxV6eGII+mcPJygir/iROjkfGyvIXlwyU+al97VOoz2/+tvreX2iRwR8WZ1SJ5EaoV0baajQ14iNv59qqZttfb2d9FemvTfs2tauQ6WCqRmIrGtZOie5WW50QeJWf48CFW2Rtg1chG0CmSbI1iA9hSgChApyEb+F0AUEObERGwsVgGMUQ80DNCV7SvouT+MOEwOEwgx8SvFCIlsC3NPaPGti0RKtGCM0kBgoWC5N88TBUgdCAUpBgTDAiZGb7VqQObb6NGwkNNvIoNEYomxqFnQIOY9gOPJ1RIQAV2tbZNEI0mQSIC3AkwWshIEFLQFto8yACHo+0y3Uz3/+2DEEQGO2YkhTKRQoeU85B2Qiv32bExJX8mEBEZEJAMX+xC9ymM9VNnkTf92arGXbe/OmU7B3sbOjMZmMzdOi1aiqZ9dnIc6lMyvKjTufZdej3t/J//br5eodIeDxB4e+vUqOeFhK9BBCNwmjGNojppOWBsoYcVDgHFiStZYwATl0PL2XRDTUGTKThE1Vkj4SuP5f++fhb4jHpxHJGCjdOsrzlM4CUZf73OzKyeFDIiGEtCCMikTJDA2ziM4ptGpCGnEeTIMc1FfWv9Sd0uyVfVaOjAlO3qRGdPTyU2RrOgJpBIAAVusbZEfZjoDCQCIOFYrPQhDhyJAWbi6gRgCiwUZWKz/+2DEEQEOnaMhTIRV4f46I52cCL2OKs5aEl3O24zK33lkc5/ikEDOBOeP/xamJ2pWG9Ji6NwPWsZhC0IhElVM6YkxIynFjBJjYwjTYz6L2t9/0/61ZXtdpTbOR2sZpilB6d2x5dS6UiKWtpIiAs+WQoeDKzmUH1kmBE0XEbEKGjoCahGdtETk7lO1V58v3OwDMWHUgd4+98bMUj7TtFIacrY5Vnea6eq//XNe6vmcyT9jVeqnR3KzO6K9N1MZKUXatzNa9f7rS+06/vusrVdHahTodmmDWYpXSp3raluhUo5R0E6SiCAKEArrI2yCDgamMBGe8cCId8igFiAgEdNZ6W4MIoT/+2DEDoEPtaEe7IxV6dijI+mQjqyDp00VAYPXW5Ka/JbLrjvSCALH+L7B78jDS9SfxWqeX5/5Z/29yLdPhfZodPr3tNu9v5HLchilB89DWXI2aGVXajNp+vXUie/2q+5+U42Wx0RxCAyX3994Ff7en7lOmkBAEClsjbBocEjwCPDQDlhFmhZBCos0YpWwEABGJqH07lfM4kSYKu7U1K5lpMngO3/gowNznKnZiP5vXf5I5VHM3MqmRPRZwzmyziOj66m7Ba6RnIGakaQgTDAwsiePT21zEC38baQlh5xAJGTykL2sL9oYFTEiQgQG2yNsgTRGQHQHOeDx2oKWjgYABBVqihj/+2DEDIFPfP0e7IR1ae+dI92TjkXCBRAuxWTvVBIF0ImsTn4CncmiTsAXv8KkaEYhTPDekvlRyPcN5eQ/c6lCFn/qI1MiSJd9xYMY1i0GmIixDGdDTs6M/v/2/6esv///q1CShUwrgLBiOB2nGag0P/6zfEDSTEyDt0FUTmfEtzgAF4RblS1IwwwhbdVJIxOQeIsJoL3W+pYlq+8jxjHWVkgJvj2DAT9LBsTZnsRl+ehKVkn/9v6U/bP+y9JTIFXljoLf4VQkBlvKaJrCSpEi3aHzS2tG/b+t0///vWe7/sv8pi8c6Et97fxz+88XvuTxJeqeEBAAAD21kbIxaAoB6UUlAWL/+2DECIEPDOUhrLxrIdyZ492QiuUZylCXaLIgJBhCJwPkBVYRvmQyp4WdSptI30cFVxr9DNxMco20OGekJb86RGZ/vz/sv6+XOnzMnJ4/CzOThBg1FhaG1DBdjgdBKo88+KDciObpN0t6tObHGxYaMSYUqPRF7Wtx5ZbzaklsjTBJGcbQXAN2obiAUKXAyWFRhktwgMEKKo+w8po9bLU4kJbavfNyv3GuR//+Zw3TW7Kqcu65Ul5OIuux7SLcI2ay2M7R6c8VaTe9ureYuhhy3c3ov8TyX7n81z/m///9//9sb3tMMw9N0Tp59n36b9eDTj26EwAB26RtkQCm2+ayJ1RmnMP/+2DECIEPtNMfTIR26eki4+mRDqQDggQBKEBpijOmAghAq16RLXcJezrKDrhc+CK2bIbsc7/95qzlanoTAtWvuRzSU5ezkinn9p2z6M5m2RMHTwq+upFm+sGDV9cyxCWnVTU95+9f79pP//9zGu9Y7xT6RAXG9z1vv7N64VcFHzLYEDtsjbAIwpzDMN0E8FjBJkQykMJBFrcQuAFgxYqQscXawhULW1WPnBExcaJWj+P+zYliORTHLrJp0+3uj6b2feG2cLsfbknCe6A80OPHrR2fBVEQoRF2cEqFARkKJFICOF0PZXf/UtKjRgWXFFKQkhHHhTPOO0KFRVEQDtsjbBl4Qoj/+3DEBIEPfRce7RR1IgQy4+mRir2JSZljwGQmZApVkJEQlRZmz8kAK4GicCK+cZdKRMtSAe6V0t1pdLBGX+ecgOtVds2ZevVXRW136zSffZuxOkhnH2rld65n68hqWlUuVTOkWpHKO88E02texCaiIv93rUSMBgcVKrGXOGpjyIhJEzRM68XaJA5bI2yBtgUSYTRjpn6CBw0A6FgMSMYJfIiAERiOdOulxFTrvbRAyD4DmdwJagvH/6iiGc/nIX8Kvt+X3uVL6n5T1Qzj5etjnlrMlh7K+uREeHvUYqA/ToI2e9pEVtdSKxnr1bXvy/rei2XvOR3ZqVFFHUw0j+fu07pijFP1u/YUYA7bI2wKqnU+bqYKaIujVDXsIwjFLJB6EvoSKOxF1MmtvUnkwRCiR0tNQOVZjmX///tgxBgBD/2lHuyMVenpM6QdlApNUg+N5x9vlO2fkxtn5l/OfTyLLuSWdz8gU2GpbmDRzKbEbHfz4RIyViNCYqakRTOb3myIx+9tSIn/bv9GLq0zszsVWIKvtuv/1+FHUatwXjAk21rbIzaKICAA2hQPKoKX6EIoCQAQ08loQjIoZMhgxej0M4ToyhimutxYJ/z6tD5dDURVU99W9FIzeZNVeRE0budOYxrmIO51d1Ju3Y2Mys7Cnoe3oY8r5tV0sjVT+t//0++Z1OtXu4NJ2dA0O6F5zlb818y7qXomR9VyWNJALbguoted6BjUjWJQUgaBtw7mBSAJrxMZRJvS1b6BiqCP//tgxBKBDykHHGyEd2IBtKPdkI7llJEpmywivBG//eO7NJpEMog8/ryM3eSMiUPJqsIDwgWZSNNSRFEEBz3LzK29Mh1EgzS82hBuKtsHbn6puq1hou0RhIsbDzgLc95ggUYZFnkFQCD70HdZG2TIGNNsFWnEoG5iVKF5VGHnAyu+joKhhgNVR983ukyezDKKXzs05dJH9f+Pd5U+KkaNRlSbnnYzLl8nIsmXZWKKsajZc2q6dUjWD7tg6RVwVSPNrV3+n2Ze2uZk///zN//zMsjzKGRcMstIdN6IGOi/7bM59Vz6jMSKZjjCAgACW6RpoZgCAAZMEAVoNOByUHnMbRJxkRaR//tgxA2BEGmjH01gRensoiQpko5skGZrpiy+IQrCrWjdAEHR2pTubL45vvi6ECCn6TZ/svdWms/VGoqVbY9as7Pc1FQOpDItoRkKxjMkrqduuxt5eYzbyTs5kR52/2TzpXu1nnPKxJzKQI6nUlTFI8wT5oOt5qHWmdmd/8mIQm2lchHXBEkajIFiPQZNgiPLmg4EgJjylBKSy60yuFxd7k0oehFLPzrWg4Fk3KRRw5tfQmqqzKS6q11b//qvc/U0jwER752pNEIts5tuG6L170XaDcGQcIB5p4mMFFPrLGEy7eu9TCipE6DgFCoPoaYsrqD6zUmdgMC1HAACXaxtmobokMB///tgxAYBTqUNIUw8aWH4u2PNoI7lhcUDqQqLBAMYxgPwWQaYFJoLZALcYo0jWSjddqKF+vX/Ges7t5anZDT2zPOFdfP9D/lPKSl+ezUqZe5uD/5b2mnxSTQi/550xeG5wBC88dRuqvjvfgm5Y8jWBVhAODCVEmaUapXLJE61S2wVUmeGhcaNUgkcDlwsCTDMUFDlLcE3mFCwuQsHhlirLVkK1vbAViXsgsSXn/nureuZTFkmQvfvBD/HTtuIyoB062Yn8OHusXOnOhKTNOgpIUXKnVi2luZuRFVn/9/5l57fmX/P/qFwuRz4ZB34GVbSK/8ynsc75d1DMBR6FUAS6yNsmMhm//tgxAQBUEmjHu1gZeHStCQpl5WdFMDh42AEkEGVAItgwZnMLra8kcMqV3Pt415lb/sgTjfLGkpWd9kn//xwox1U3hw+SofT+5n+ZmdLpczvkWeaFwia2a3jGgIlri2PjM18i6patpiX7kv+aXP4cs/M/LKc//Lnw/+eW8NXKVUJt6zjZMW2rrRJCwNkgEdIAl2pZEDjjiZrxgekEhKxigQUHBQksSqEZTWJegkadSFJwMtoX8rx41X/9HcxgZ3o5+VDLRy+3pd1vJs6smmj70Z7kUd9UdCaXV2uqFnVHcqUdz1IjapLWvb/+6slP/XtralK2dTVVxJPtv8HQufdatmbDUoC//twxACBDyWdH0yMVen+NKPdp4k1AAJbpG0Bl4QsooDuAXnKhyPZM8MoDossSqCoSClRprrs0iHoRyabp6dpVaSYf58GEJ26y+0POzua3y5zzPe/SbL/p/c5P+0s5tIrmQxHCVeIen02gYrMJtjMtpGo36//rX/7a9SVqyG5MgLPT5TuHe4h3rvqrMgSIW3SNskjYQHA5WZw+EgzADIwQCywVAII3w/hrg6XRlFsOdYT4P9xUkZhHuwr8/7jPWO9qThjndNPuujXQrp6JotTJa69KyI1H3neivOjlIxWKywbTHLUju7DFP52QsE0vXtn3Xp+nv1VLavPsZDlGOLF2CdpbfiIOpt3PTpfOJVXWxpkKwFlCKADlgAg0iFoBYgkWCGYDWCCoaCtdrLxuNPtLS7vRypBjIJVQf/7YMQWAA6hoR5shFfh5T0kaZGKvI/+eW9ZdMBgNXYoYNkXyfpDTP5JrBhWExm7mYjRHDOwqZmdmMljtHqfJRqqKZaUusmaf9fKjz3J7RzqxXd2KJIdaxQbA+wIUicSAAXt7ZIgKOaiI0cA1CNwBGJWIbCpJEXXbsIw35lz7R55J5sbJ/v2ZXD8docv9uKRGdpOz5mbT7/vlFss//7l3MrM/kTMpV6alw+72CihQiUHCe3i5pIynIZua/nvrLXratf79KNS3tpIVHq5yKcU/1/l++qtvrYdVSAK2yJsCOCJAC8JErBysCDkcRQaYIgChDSVOhGHU2tNxeWG4Qo6y+3E6spfmf/7YMQWgQ4tHR7tBHdh6rojjaCO/CUG/+93+96I7bOwmv6+1/m1NqEr8QwzRuTx3WFGZnXNnpkKV1gbalMxZEOeAzRqV2Yslf+mnY8RmQKWBh+/n0uncqHiSlsaSJUOmjQFQMQkDmkgEGFhoMCGXIjIVhahit48OhLRnOaFFUyXbn5TTNkYFE6Hn/n3uH9DIddnR5F/ItvgPAXlcih1ICbVDoDNiODmZqYFYCpZUUBDTInUr5Hf36v/Py/h5J7p2o1+GRRxlMCKH6M7v1jOecgZdzgYBA5dI2y7JuomMKZVZoMByxEYWiNYQCgNfLgCPAW3R3loVptiCqV2wTp8qQACjaVYcf/7YMQYgU+dCx7svKrp3qEjzZCO5HW65ERK+uqWKrtXfZWPof7s63PeZJFW57u7x6lmI5gVhiShxLtEZBtkw/nkzfd9rf9zj//9/zeGbtr8PicpF025bNfnnwyBPbGOiGLu0MKQZDC4htmAfUISGiCqeDpw5mBEFBGM1+Rug88vcZZbqyeAsZa3CL0NX/x/d/PuyS01zC2tCVZ2vGbswmZy7HSIayl7LlaRL/dHci8B6WrBhVyCxtiAmp8cF8Bafue1bhMsQLHOAgVNnnPasuGWYjtLA4AAATUQF21jcIiyEEAqSbhBnpiwwkwBgCg0SXhhTQQiMMn4bhxrzqMzb2R37EFQPP/7YMQWAQ7dnSDshFfh06Tj3ZCO7IKDX/ayyww0hTiAGZZb5Rqvy5ocClrJkTmcWa8iqHaSiAbHSmPAwEJBYSQBJUPjGlLzS+S/9HnteuRiUIUzI4yirMbWsmXa5VYbKwS6yNsKPg6kxiDfXH/2DlZQVGByRiCKdNILrI+Uj+Pi5rLW5rhhcd4+7XYVQ7/5Z+W89hRsbGZ9qpfy3/8kfROzeFXZTOpZBZgAs0lO53OGpIep2dlyodh0cLLc9eef+2pRJxM+PGDCIOU0pOueJ24oCwBYMSAAAe2sbaBnTdc/1A3A2BdEOKMtAUSUq0nKX+r2yqzuM8ubaNRNsMdxJ8qZMfnHV//7YMQYAQ7lmSFMPEzh5LRj3ZeJLLlS263RP1t019m8nOX0ZtXW9mMCVsrFSyGc5FRFYlzvspjotkd9V6GfOWreuv069m2ZFv8qolkMiEiDJA7TRUXYC7kjzj8NoO2yNshScZUAAhoFn4GAnRYlHAzxDBATgSoAnBuv0YX0yiPWA3Es1RkUVaua/+KSIIxLy0Tt/7Ut7u3Sn9J/ZC1OqsjqaYiu80gWrFDoVUS57M3MMrorruy7kPR9NLfp5vRKX5jEB6PQ4ShnYkSVVvCbxVAoygfEBpVW2NJExJTrOVGdMh4jmMaLKAFQzjwjFxS/QXNg6BoU3ymjkMkRog+CsH3YZANBv//7YMQXgQ+VhxxshFmpzzQj3ZCK/fvY4b33v2N95vFsad5Wck/NDwM4YhNG1qzAj7kMDPeWwhNEzC0JmHAyKQ3RzyQqwfX3vweymqtKcqWqDU/SXNJlZzjhPvvFDJ9YDSyUUC7bI0wYSxqthCpvAnmgMIo0BdEGmE06g6gQqCqbUVdSJqgchWCj7elrnwZdw/7fe5a/MhXBgk8uKfzzfz9vKdJIXUpjkTfHCK4IwINkyQhTTocsj3MkEyn+MFQp//X+irsZJCasoN7/91vPIfZFBmzF3lIKBBLdI2yBfkvDNENds5mCVV/B4kcRBwija+HDRag6Hm3Zvgz5gl+C+QU12A7mf//7YMQXAY9tox7shHch0xsj3ZeJLfc/t78SIt8EN85yd5s1S/v+RrNDuDhWdrtdyk4JYnmVI4eSiEXYzy3p8uUfLJdl/KF9p///l8vxf8iSUkSxycOyA3EiCR9iJo4Th9zR6EbYM1IxIDEZNLoHygVOAx1QhUIQ0COAcwMeZ6hBtCWG8WztsdPlEiGun4CpT3L0Wjvqn3bN0dtHXdfTcmj19GM7lVgbo494y2vihIvI7NvmCQ6PfjBvHec73no3v////5/+aHzPiDtNm8Texa7BKW+2X0uQ1UAO2yNsgosylxxgKAniOZp60wSeOKgUDBlgqFD8jYkPcEKC+TERsnVpM1O1X//7YMQWgQ8doR7svEzp5jxjqZCO/PHelNJ7KvSrUytX7LT9EuzehkSxis7sty3ziFeW7iXudUKZUVGW6qFVmq4JqWvR1Uyf9NP9tW7na6vNnZUYr6RyHdd4/rMg/+te56wAUlsaSBo7momYao2EB/jHVSbLekjQQ61JlQhITknpl6l1Jmp7OVIJJg2JhkMUPP+KWalmzvtZL1NfAGp4lXdZvs5f2xGmkRFCc5hIhDOStEkKEJGooj81Rgs+7/yK////nkv5VH6uxLlwGqEx2LL25HsXZ16RHH8EapdZGmQTmY7QgOOgkPwIDQwQ7YCxGnxpkyXyuJys6L2rCsIbaTZXn3g8Dv/7YMQVAQ8ZuR5s4KWp16Bj3ZCOrBLh94s+utOhWRVz/X/+rET2tfQstiU2ll1GmUwwqFQpdnZ1szsiu6td0Kczo1WX37U9Xt/rTPVjsrIzuZZzHVDueVCvdeN+bajy2fdXQEsFbpG2FrA98Klg+I6FwACRJAkUzjC8D8suYOpbZoWtNJV2sIxaTR/kOuzIZnv+Jnr8uM5a2RcCoajB3yNC3c0UlaKnyPDPBWLThLm5g2bUkFjAbLHgK9hI4ZW4249YcHlCn7HlkNDyVpYkc3cTKqDCy1r4DCttBBLtI2yVZAaWkwYDR2hoARp5ZE4jVRVlbokesWfuPy/TjNMU/JimxcFQ/P/7UMQVgU4wQSDs4WVhyTQkDZeVLJV5k469Vpcg5BXXCTaaSj22pL0rSJElwmLA2JRGLiUs0aRD5hBEVFCpoPNWtc9s9XJbn1HGuC4cFmCUG2aFLWVRyBl4fUH5dqIpjAIFlipKbZReEiPKiQKUQ2OcdALtWOUE2zcJwmhntECdFneoYNvwd7ql1bSdVopbac/siLs7/I+t39KMr1ZK1VGILSiTpI9Eqiq1Gdis9Z0a6OzXP7v/tW/1bov/d51uzOqTSjS3byrmNvLFZ1JdIAD/+2DEAQEPbQcdTQR3adSgpB2Qju0CS2NJAwRIyhQDUTakDlDhYKLKzDgxo2ViG4EQRDumFY6vSAVeP+k3B0GahLsO1Wq/9Bl+v5LLomQeRSkYJ/0NGlN/2/nM7bqjpA0IGbbrbRkhgidT7VpoD93Pp////vn+/7/fN5WcvmQCk/hBH3cjaVmZfhzzE4M7iFu1jcQoiYjYOCAcAKxbATLBQcSFL5tIW5Nqvk11x3HfNg6v6LKxAUWiNXX/S653++93dsOieH6yqUvb5wSARDk1NzJ9CNQEJgARFxe0e7Z7UQ17ucUW35T+WX4Y7v+/DZ/KrAr4KtjoZ/OPrcz62L+47+DaRVb/+3DEAIEPaQ8cbSxyKeG7Y92XiS3ZEkARPS5EQUixCacBCgcmESQyoAQAFkS5R5FPHJljuKMphp9zsfpW5spFyVeOedLOxfKzLyKlyP8Pn+nL/9h/mh5283pXyLRNG7DSq2SdVqquXLbg7jo1d4Z3fo///7e1//Xz7P/J9HU22E4bgra1B2M7SQ0mg0UU9hh26RtkyFzdYJEib05WjLMHlgwM0g0bQqgmgZUZpgmeyI0fZJ6tsdYMJF1/4hlatkXbvZfaQ100RqL/e2/suj1Wz5ST0VqsRB7ujY6Ml5iovIiMdXe5HRzf+9+6affRaXY1jXRlM5BkQjzPDJdrZq1nVlSaasaC0VqW2NJEGBjQlwYLHU4egEZQM2YNnFQcKXCzhkSlF+4wp80cVKWv9pKZ4m5uxW1/gZSl//tgxBiDD9GhHG1gRenbOuONkIr9K9FeqzqiIuyU0Vq+rUu0qIrrfsyWq791uQ0jBKIqKbO3BIzXO7NdbNXM1yr89kb+lDP+aRLVPQzGul31VGKHhVW/nr6KZLZNkdAcK7m3bZEkCWgKgiMAy+DSjLDwsGFIAIiNGo8hwS0lqSC6sV/W5omwXfgrbxto79Wv/02f5d5oi7efF/yk7Oj5yxobGZs0rEfLINIxzBREbGQiacaIQEcpOipxyX8/8vX/2L97KjKxlY7koCQiF7y3SWWvmcqkDDTECOpADtsjbIyuMQYMKJB1UBiyoWkRMSJSCWSwbYnbU15MMGiKokvYdt5WaJ1n//tgxBWBDvmjHu0EV+nOoGQpkI7k41h/zvP3/WeY9HLB/r5ZXKs8xS3SAyZzMwESTAI09G4UeNwc2dqYAZpsASskSKR0v+fTr2zV5pqugRWVSCJkBe+rqAGENzXm8ZMkIoYALrrG4RJcbUMAA3yzFGCiEGCJUqGsMYGpYqmy2X3WKvs0RfMC26GxATsyPef/F8fz50zaLJb+vsv0BnpopyskHx+pMVXjE2robZYtLNaEKCDHgUi0mYUPEzmgNy022PR+myQYbBs2TBSFdLWaiqVCykIAlZLY0mAa7MYjBRs1QIJYGGOKUGCPCppJ0+gIgJE9GZSCNogGgJ+Q1zbZ0WVCNxT9//tgxBeBD6WdHG08San7OiOpkIrks3fz6Reifo1O2y9NCo2vRdqfP62eru7MqE1WpGILY50MU1zOiNYgl0ViNMaursdWmX2vVU/6bejr6XWhAhjgmKCt/29mBKVlBiG1z8wHkAS2xpIEFpVKBTAOnMAsLNIwhBxAuj0sIrAoqptSQ2mA0d/VN1WyepPxVrb/b3/xnDV7nxTJ9s2oJyLOiyEoMm8jhkVFDMjJhMtX0R3KVmjykRFZFS5Vl6K99lrdT1q+mX/19OifZbvs7NCojHMdw7wdqqcl6o7eswsojEysMIQS7SNsiEqas0wYw5YfLBccGCRg+DBivWHNKpVfxWMK3w+l//tgxBGBD60RHu0cc2nKIePdl5Us2zdcNHJMHifgIU4acw+yor6MdnZv+y7a0rey88m/Yp8pa775sOSrmcIszcgqMSK7BbCzEmFKsjq3cstkPf/2dxn/5b36ebgtjtBloLqbcZf88u8xQDPk5g/ysFusjbBgwHLSCkTWlFWAaIUKAQ4yyV7o4OYoB68KsqCcFPQVju0Q71Eks6/AlZmIqd79ZPp/e9vQrLVcuykoxmHuvdVYyTlUzKhHi/zKfMMZYsh8gFqlBvAZMgXyE7/xQc1I8WSJiJ2bbUfE9gwCAkqfLUAS2yNsGDeJCGPFEV4nICMAJHDDgjJBGcSBQZNqgk8UYDMK//tgxBGBTrUjHu0ccaHnOqPdkIrl0uotyjFcOA0FUfH2Uwx37/zfd9vM+ytpc9LTydtsinvATXJKR7u2F1KotvaPDNiX/weW4bUfYlwsANQrA6W/5NaVlQsqBw6DCr3kTw7LMOrJtMwa3Q0XDciCxpuQEC5dYigIIQE/EWkqdKzMAxkSmzbqRWoxSjoc3SeCCMb3+/1/e8/Rn+2yVZTqteXPNwyzmx2EeImjIhiOKMtCqMTWxqzlCOd5mVGIrjEM2qrarotEp7Ppb//+6O7WK8ruyEMzstVdfReyI1sc1Pgk6oIS7RtslgqY4qIhhjSI2bYsPJDDBhII0JpaXjYmaRSKqRcl//tgxBGAD6WjHu0EV2HitCOdkI7tqTWGaUdJ144bgPWX/Ie65rpHqV3PJSlSHOX6nmOIvTlmeRQ2E4IyGLsTA1fZUciOwlHLmPBMqmkdUT9H3vWu/63p0tsVXRiGYIrmYEa4Ma+FmEYIvTnVNIFnIAkljSZAFoAVM91XQWQT1HtTFSEjk+HiQUfFUubtIxykSCZE4lqOVopJoYq4/8X5h+H7u8v9S/V8pRUQZLLJNi1t2dCKUhM0OZKgiLzkOalNub/lLT7lsf5w5ZOV+//f3pf0sjmaAlWOqZdGMlPE+D3mA/eX13KuopbpG2DDKQqUCwYzQUXMlnQxCKpQUZWHXwsRRtps//tgxA6BD0mhHm0EVynzPSOdk4pMvfVWBhzSGdRD7XH2hqH8v/5jH88+fnHn73dhzLtsivEDpDSEaNrCpHLDka6kMx1Ozw7DSEzu9zVxC1KR9VuS7NqRtNbo//7fVaPO1aVorICSz2fcRwq3/E6/lTaJCJbY0kBJwXSLzna4Z8oUXKJTGCNkJTpyGBJ2vhEniSHdhElMaGr03St3bqCBqYk637lsu7ehWq2n6OdVPQqa2vaqOrUezsVWuaiQSmLmVnkmcShFYqpNR3u91O62v39G6Uov9dN87b0yzO6kgzsYmhbSdEkWjbLZjsLqWJTADssiSAJnGXPkyAFYAeqFTIYcMOcM//tgxAsBT421HO0EV2nFs2ONkIr9gHVy1ovkzFg1lo6ZC+Vkryfq9Kcow9EDZb/6Pe+c8zEzlWv6C8tdzLkSgRZSQUkVYCRinkE5IUQ2dDCCvVajldEZSMZpXdvOutf///5c27rSRlkGsxUKpUJlvVA3HImWRUQyjca0ktrNmY0DgVUZupkOFiFFgR0gkpM5vi31lXcVbooa46I7MG2nOU0BP+/ONz/ln87fx4E3NNFy1VR/y7l+caSHmFGi8E4TQ5VMus1YjGPIkFSdkwjl/nn+WX/u1/JZmRHUpHIrAsimfc1rFjH6kC+dfT6SdtjaQARoyQoBGRRIGrSohckSSEpNUKcq//tgxAwADmmZHG0EV+ndNKRpkIrsCZujO6Zw0wmUM2VgaFRR6u9cJf7K7/1///+AEzMjYofKtd3MDLfyBrmbk1Y0Ap8AqnHQgHojgaReQwrUXzuhJf/1/7/0o5moroylOCxS4Nj3b+OJveGyCobSZekBALv7ZIQTCZlYJIGsDPPC7MEhdAqCQO6LMFHI5F4YZLFGmQc9165yxGpTzX/Tfv/5RUK2q4VF53tc6Kux87yATCzJo2iJk1s1tHhXqsCRTOdXrVUcSlmfZGREWf/T//X1Z3IxTKTeZzvVAY1WwlIPMixwUrF5CrdZG2BA7UBKokmlBpILm2HgU+KD2fNfRUHsXSY6//tgxA6ADuGbHm08S2njMyPdkI7dw9E3HhBLV01vE8iV1vP6a3f2vp986uhWX/VafrbplS1GLa5VIisZDPRBCld6oDShGqhaogRKk7yOSc6lrTe96dsiOn/t3v2pOrvXg3SqbqsZz67bek5aUtmTghbbI2yZhJptEBhxCm0UOLoXDxoyYuXNIiCntjDyJwSl5mvufRUOcFxCP81/wPl/LHW7RF29faf9fXLD69vV4qZsS+zVrUNTS5vFenLxndXs1h5WJufpmZI/J9//7+X/nfv//Y20MiU+uCJkDb/f3v+0/MT99a7EbgQTbWNsGKMGbCjAUIPgMKFCIcOEKAQiWhJgJeRN//tgxA6BTt0dHu0kcGHSHmPNkIrths29ym7qriWu896kZgNhTc/CFN9z4f5n1+TP7Oyzy//sn+2aefE/k9mSWGV8owkzNmTRzJ/7s1HbrwigwSFnz9yFpfWNZ27mjY6kVJVOeaNvZJjXojTDDADVLbDYkJQ0vBy430RwcebBK5jCMQepozP3ltOqpRD1Vrb93pjCGpDDeHf+lx7nl0c5h/NfzuvXopyMs2yQmhAKIhG1IgO7hJFSCQ3RQg4Hi8TLLW5rWNsuWwUv7XP//19vK+7isvf6KbtRNnz6HgLYpMyn3BTVQA7rIkyakRqMBh5kYn+EVAxKcDImeG3dzlbmfvhKnKVR//tgxBCBDrWfHuyEV+noM+PpkI7lgpgrwxvlzCC5VDm+f9/u/5/IvVnUyh/8pFpzDSJFMiKjOSbX1JmAQATKUiJWaAa3e6AsADwkPK9f5EL/IyS3RFtqilWHSQyAtFEnPp/vY2luM/M3NABLdI20AtR6gIQCMziOSNJqxWIDIPNMKZPW60ZcFSp3X1XTKfle5ZH5Hrv/Oax/u3mevXwVWpb0Un7vnHynCROhw0BrJki1i03DxtjZUKZSqfIVKOZfn6v/zPPzIp/v+5HzQ7KKfk+I1GKrUw9P/48VZty1OzD+xCCqAhLtY2wYGoWZQjOgIB+wgirMVFEdXj5MKp1jyBuSdMNx//tgxBCAD5XbHuyMVenYNGQplIoMZdsO50N2GoxO75/hyhod5zzh1Hudyl4UPf8zS1OG979OF0j7ID/qsxGst5npYErPDEBl3Im9YxL1IZmNdqCDrU99ZNEl+v9Ey92KqIqF3o7/lbs6OmjVf8NFrTiAQDdtY20ImUJwsCNjHKKqsPPGAGr1dbxsIdJrcDPCs6NPs4MC9YkNtk1b+BUQK3K6unWX+/TtvdiOayzO3pJdqTUHqZJDUKwVlRDsp+rHsiKdGM59D3s176W/fpfa3XrMet2uhaIIsqlKyxEH94TunUwEaQltcAACXaRtpSByoBVIzEj5CL7B0RBIEFL4kbCG7QVK//tgxA8BD6mNH0yUc2nlNGPdlIoV2wJ4RSCHDb2/QVpZSgCrYKzx9jo9P2d/6WZFbN+sy/f9CL3lOQ51SUbhEniOFGVMczODioi5akoIiYzvtcvu96n5F/k/el5z5fKHraYpiDClBk+H8eZf2Qy6EMWwVmphlukaZBjhutgYUATngMKEET5gkgplYVoihjcnoljppr2+M3c2+1EiGhFU/ze3ucx2TtZuzJrSuz/97KdEskrK7qLmezI6pKZJHNctjnRk1dMjut7n3ojomvTet/97tbp0o1E5TUvcrKxCoznGfQf7XxJVGnCubODghQIS2xpIAXAeRMEI2ZD8PCjgY+ZCoCeS//tgxAuBDs3ZHOycUmnSHePdl4ktCeVR5nTu0jKExJ6OtnYrbr0sFwaEKpiihllnY5CdV7PyJp6NpImzK5C+lEcn7IzJZIOzGndzWJClVGRqIrrvsWRrdNEa/7e1/9b9H1R5dnSdE2ydFqV0v3TYmZwjPbEoS7SNsmqMbCg6idxB5ikqycRJEWpTMbRhI8W1JnWLu6RLEVs72R42L2M/iWea7/Zl/be9tZX/VWvQ3edna7Xpd32VXKHckhTaitBR1WPzquHTvZVtsZyvXbfpub/+v+ffP0J0RizywNG+v3dq1Zl67q7FiMoCDu0jbQXbLchYo31zxKJVmvApMkEYO2y+mHuZ//tgxA4ADsmjHuyEV2HROaPdl4ktGnUWClMGsEbNa+1NW5vPX/a//5/pWuHV2R5I/ULLw3k87Pek2A6NISEQWAjYQplZqHUYe2UmVTMZkt6lpX/Xpr6z9HdBSs6o6vV2WRKq0PQVvzDBpYy0XNR70AyjSJshaUQGmWeBsD6EFGnaMBkhJgxhI0X89IyDE1nch+ICeFDX3qcpL+I0OV1JaRf/umyf36adFprM1kd3dlqu5Jju8m2ihlRiFIVTm2CbUOxLneu6r/r7Z+2zaW9t8y8pSlIc7snoZaXq7rdBTqpWtHlqYAAGS2NJAZxBNBiMGQCehZUiZwCKhU5QUfo0CfpZQmKD//tgxBCAjo2jHUy8SWnlvSOdoI6sSYjeJYgJ5JmBiUd7fh2qj/1sf0el7ZfevbfMtFe1r2eUhOfTTV2qxEWFeylRlcyAitQ6Vo7nozf1T7ar/X6+tjnot3RbULYO7+fSBYM84VcyDGSwQiTCHhvQCCcz6A5YcGnhYSJGxALQ2hayGvrDxhpyUMoZQ+0U7dqSqZnMMf8UBBp6z8prnoy/a2R5rJWMB8zRqUcLahkRl5UnSmVKly1zIoUn9+lp5Gp+2Rbayf5y///P8v9/tpT6p8eMHMXvL6HnnPLnnELLlY5BVgAIBmGtbiBsgFHSZNIs2RBGULChZVDg1aFsgcZ34W7qz6eK//tgxBGCDpWhIUyUc2HDtCPNjJR0Muudr5zNQNObHNY8yLTX/3f9O1s6Us1vM18uJayKX7vJWakpI975NlLHC525flbfM3b3/st2/mu3mv+XzvraZSu92TKZ458xIc6RgpS2dGOVRQNI2wZ9ANgK8dVgfgUIFlAo0Ag1zvIvBwoCuuUppK3fXVTdiYcHgpGwfHiD///31rSxeyrV05/ZEkZaqd2MRUR3eyM5jvOo4ofVCk3LRXHMWRUZWM1t9qkT/l7f9ulPujJmcqurNjD1FkqIqT4eZQHqwAAKXWRtkW3NzIwAzKkN48YEFpBZIDKLadxkDKo9SOirfOMvZVFvUgiZDSN///tgxBaADtGhH0ykUGHds+PpjQh94R6FamiNd0tq7dUt/v+V+z9XWlnXcljsYyFqrnJIAtdTJyzswlrsYqavKh3JsvuunZX/rkunbZm9XOmylVwV3OpKtCkQJGAxcQIAASXaRtg45JHiPgVmCw6ixWSCx8HC2Cvczxyoji2JRqWRFnEiwuVI7WASNlJuau6bS2rr2V5F/6fRVaqPJp6olGVzik1QxmENbLBnaUpgRWsdbtYpi3fUpFayba0fqf/122t63uqKyMO6L/WerfzDATc8IoNqjwAAGcokSZNXEUDC5Y1Gb60dJtDCcRwSDd5fT3Ndm2fpyzy3VePNynuyynAkNyeS//tgxBeAD33NHUycc2nrsmPdp4j13ZHfm7dP//712s1m/vmaKUllpP34j9uox827uuTRClMiaSRNyIsuXczXp+X5Zd1+885m/L55rp9j8MUmM6nJM3Ny3yvC0BISQlzQrysQ5dpG2QcNMqaHBRoA4HGJ6jSkFDhSgEAnBKjLQhiLoHMxqghiW01yvoi/Ap+I68ya6MlkXr27Mv2dnRqqz3dZDLNW6ssyMqIzmI7lYjDWqynoLRXRxTOpLFNeZ7/vp3TRbN67tXo/q1mKquDFty/fn6//iquQsC1N4o0ActsjSJkSAMMdJOMo0kyEEOtIKS3qc8RXMw+AM2lpAv6uqZb685Yb//tgxBQADsGbHOykUGnTsiPpoIr9aGF5/g9TZLk7v3/pN821uykeuVkSEW71crzIzqyXuQ8ru4hWVndCvWjqVbSHd5EXZj7eV7/0/bRs2y9E6GdtB2vehnH7dOdTw8eS6PNWUAQq0aRtkwiwABy7hkjgaPBIkaMAQcEClVmVrmXO/cVchPOXM6beFcmKaWXYnUw/7W99veAMir/6m/PxZfXKcpErNEaFFwCyoSDuShDZon0yYxDjQDUWdar+///Po+dJbsxAtRwVPOHW/W8H4m+Q7Wpu1I0eBHLbIkgFFDaMKFxDubaBXYdgzoB0UNZEtpy2t0DL0uHifhX73XgIKBBAAODx//tQxBaADoXNHOzgQ6m+HCPpowoMOR3Rmsi67L7qyf6+lfVTr3Ls+fP+KLd5O6SLd19Y0rF+Q05D+9L/36dW99nX7r3qiqjAmckioa7oyswyWIrWK0wvj4PBpgMIFAdt0jbAYPLeFCAwY4pGDhVPkcQorJRMFQkNs979t4sPJmItDk960T3CxB28W8HS76qyf3v5VT+nSXW1Ny02RFPSlard3YGCKhUXkwmCgNBscKvuHJUzl3suz/++5bRgWYRCkc1hM/uMIaoOJW5tABAeXf/7YMQCAQ7VoR9MhFVp0zxj3aSKDaRtkL3jiKXQGwACo4qxExBEl0zF2qkdp2sWzrwgto9W/yZuVNSaP1eeCyCpZ3kj55l7U+X+RgRyIW0oFStrOlZCuZwZMqT1PgirIMEO5HQ15qnVstFv7/1p+vvNMjrWzwbsqSupzgn77fX6eNrbVSPIUzQu3WNsEqduCEkmjCZMqmXZMGMGADE11MQaVKqR1V89ae2u+Y9ajQwizl76NKnm/2v0RLXbWmr/nq2h7FS0iKqlcjljodUOwPU5DsYrEYdpDDEQ6OeddGI/t/WXr//+2SrKZjEZEbCHrItV1K7ZLZEu5CPFvSoGdGEjbAao5v/7YMQEAA2c8R7sFHHhxaIj6aCOtKQ+B5Rlwi224j+MBZ8yKAF3OzQuUu6HI0r2zwSGhZRUaXDS1FE/1rSv//b+tpdp2du27ErzrwoSMCOdcjChgAIQMagu0FTxtMsLrhKq+aDRV39wkalCRPQFBI+jag6s4+5QmWsgICBUu0jbJhTBjRYEEg02LkAYVGgQKEICkhVuNehTq5uCvXJnDXZ3laxcypqC//g57Zfn/eD63LXxlVSc/CCQZKtyDNgRIZHdpCtjZzfExAEhMIIq1CWIcmBjX+Aj6Um0NBMaSHnnRKSjpWHlJWAT4oPqAGguW6RpgqyCTKAYG1FVpI8aUCZEgQ41VP/7YMQMgA1YOx9M4SNh27OkdZCKrPpY7BHaZkuKDwAEY7ipSURCH2ZNBtbmNTbYTb2pcZWktaNcDgYNtIiYqcUKCoseDZMJvnX1il1G5ojiyQrWhSf/wmxh9Lh5SSXohEUHkrwq0GSgAmBJRvbJEg0aRghFNg0biEYI0GMnqAL0We5SVcAR16W8lsueed+Oyulyj1Bf/+Ml/0VepNf5Tx9Sy4DumNTR0q5jwbmneVisFUqHMrs7KcxbLSzI52m3lLnp17NVm/9e+5GcjmTRmYSqODFH5VFhsmZN2xhMrRQ0Km2tbZKi6+QAMcaIwwIxx5ceALfqZnaTgu6jdGYS+VLlcy+DMv/7YMQTgA4RlyFMvEjh0zPjnaCKtYMOTbc9a0Rl2627P/yVpZTvbc+siPVdl3d+jIptTGRys2fKVSYNVVTGO0jtvq9Jf+z//rk557NV0M1bCyZYYo+eu5eJjTQoYcAAJu2yJIARaIhYCFmkBB61bZMyApwHBFUlPNo+7X5UyNckaguHor25c7qpUz/3hIldnyotF+/dzJP56JgkDlF2GzGRmQBCzoLTezqOAEIVmupmRmlRaV9bf9PWv/ReiLdEtndj1VSMDDa++O6aQMo2np1BpayVYBQmW2NJA0DQKkZgQaEYLbtFF4JdDnEBQ4rE8jleNwe6gLahip3Ak1KHDkyKx25v1f/7UMQYgA5h2x1MvEdpzZyj6aCOpSvTabv9XdObf1SqUyN/YyGstC3VFtZ6qtDleUimBHQvqiebr/r5L/9Ls6onkqZ3ZmQjGVGOj313RnWqHbBP1GViDxAALlwkbYBSwBMlLwCQKR62hpMNBYqiW07rxQ1YZeyKhjLNJ3t27u5STFf/C5OaPnJ00///73lzkp558HbzjGXXJYKxqNhggAFMOrCsPahC1uFW5HVnDPdb/5b/////5/ULwCiPVaYi6Kyz+vYBWn7XKjNqAAAuWiT/+2DEAoBOzZsfTLBJaasyZCmQirxtkxpASaPAmVCYxhdQaeFWF3I0AgGYPWgAwBFW0LHfbrkbZfYn1ooJlWWvf1///6pdFZ/o7KatrOQ6Way2Ks4NRhFDEg2ZVcQzLR1RqtdCStZGkm9SJqjr/8t+k7PVXQtlKdhaBFPf53+vkrNm/sJpLWgIj1w1BLAaIGDApYTtAgQ0eFyy3qX8gbO+z+0L5ttYdqk53Ca7Zwub/yxBMLMidf//rleySu3+5R5Boh94AlGOTkZpdkJM5OaTOOdro3pp/8tv/3szoyKjTqqIJHhBQM80iKAVC2BBYemEVUAINlukbYOpTJAGBOlDScRQGjj/+2DECYCORdMfTARVqdCzY+mgjq1AUByqy03ml7QazatW5EoG72ktUsq7d1/g1ee9cviy9uW/ijmBDeDNqxDPaGRIzomcRHNK2hnckGeTs7mRaozvRftpdbJShP/3uzOaWRfSyIp1eqTs5tPRGZbxGYVfDqgaFxtkx6MsESqQMydOGAGSCawqYWKj6hLjj1u5TNeZPD1htrXcrurvI5V57gDk+7NdHL///+VEPPboPnSd90Je0kJjLtm9yR8JyGVYIoQiUiW5FuX//PL+lL/885ly3S+Wkp8HaDsnA+P/7fTQZy59Kd+11SAANg2kbaAsIgDMVtzTSSGUmJAUlkCUU6p56cr/+2DEDgAOvaMfTIR1acMi4+mhDjSrKWuTkMw9R9t3r9J27l/g3f+nEu9XctJeo7yP/SEOyMJeUM7YZBzf4XbTa71mSy1TiExlmX9WFCvfuflPl/vn/oV4lO+aHCmFtD1CQQxHnum8Z6+BBL2r40zAiEy0SNsMZMmaGDRpA4aBFS0PGAAoZiwBxVOG4w/LGROnMwbKJ7oUEUdgTbtZ0Tt6////6p2ufONldjXf+fHSxjS9RK1s4dUx0JF9mK4NwhFkAYXk3WVNOgT7dS44E3GBUc8eupqGjRYDgYGS4oKwIgBcPm2kbZC0Q9cOgmyobZ4JWcwqLJLIrteaC2rB5Ez16p+Xt5T/+2DEEoBOnRMfTIR1acO0Y+mWCcx9s2+Ut+S2ubJTSRnnmUy6Biawn/9+vErLgNkXJ0oQxKyXhInr/HssS5TEOWOKFn7+yv5d/L7X973+rbu2u9eq4LaXa/1Fe8WqggR97n1bFSCQTLrDC8MpsugEeh+QNQQhAIKElMpc1drEDTbRHBjB0MVX2hshMCbbS+iLTpRV/1+1t+utLJpsi6orkZc1AqotaGMzWUQWOjkinM600kVLGN72Uq1/e52X6N6yKkqne1Fdynd3OIcK3SqboU5EXC4+ABQmUWRJAGEGwQNNGXKcgwiQIiQIWwJAKuhb7IIlSLzYl19JbIu01JTyvt3v+1T/+1DEF4AOoeEdTIR1acIzI+mXiO2h//+/n3nKkWkVcyBPHNH/NGhMtcrXc62q18ylTzaJXsUpGL/y/l/+VvpZef//kWU/SZy77M52sKo3885yy35lwjm73xilwAgm3aRtgRvgRoSFCjB8CgggWQJFCDhlIaUw+JrEoLytKBC43rJM8YE3Wdl0umvZN+jb0We/209XVmVbMpquhksiKyztRQTBSK7TcdCaoyeRyKj+htn9/TZ7v//6Ze6kndwUGN41/qJKPfzuqoOvtBowCBYL//tgxAIADUQ7HUzh5CHENCQppglkY0kBDqMLmeYRgnWWIAh9AQcD4B8LGjiwGSuR6yvcWcr3LwYcka0u5xR/53X0RdenQxoqWLHsUUcnSgsROkgTB8XeMFiY4NIB8YPuFksWr8t1+OrjirCRI0IVk7zIILKPtYsXOCcSuFoPdtY3EBB7rgwaEhzVgnYKCIUChActWwdxB9NWgoDxaTyPaf1taykpMrYZGuyad7aX/9du/b6enWV0v3QuqOjo5J2k0YjMV2Z0PYG07Ho4bOlWSvXW1Nrdu6NZOVTT0etEQ5TmJEnPoNNAs4KOeXTVENSeW6RtgyiDNGHSjqNOo5yShkRHF4Bk//tgxAwATckPH0yEdWHBNGP1kIqkRbrQGW0l9v3LlzYZytjWuYTVaS1/98+tf7/8zmDOX3nfQCEChMkyIkW46QI/f5uUMzKx4OcTIWFyGUaRIL9FKCv1axoBFLGNcRNxkoxaki5WLEw4AVLKADAClutMJYDLhZcPKBbrAxplC/JerLFWuLlVb10JY/LUcPw1NROIwRc56UEErs/5V/70ZndJE9+tWV2dXH3O+qopLLRginck5HLMZpld6kOfRFVOQ6Iu3/rWn9/2ZfZk3VDIqpRxcfetd2p5hZAs1VBkbo2sjZGWgFCosFpAGWXHIjRQd2UYlRW21l9R1oJmZxoNTiaZ0kLD//tQxBSADZ2lIUykUGG8NGPpl5Tlae/Xb/r/71r1stV9af8mQyoZpVlM5HZqQkUjqjsW0zq+rro7bZ6qpb32er/03/9OzFJbcyPVNnZ1Ud+Gus9Ew1iirhigKDS7CNMgKo1lC+YMvOsIAjixgiMHEMxcFcVjPHLicy2fyppo8gMNCk+99ERO8qfSQ/T//9/o9UrpU5mtJRWZrC5EZFRE9mY6bpatlal32RKNX+tf/p1W8r6LQxkcjVDpxJb/xpJ4PfdPjzELxk4QQCpRZEkDFv/7YMQEAA5B0R1MhFXprgdj6Yy8TJtmUARZg/AdRIhEgi9KX7mN82mW1zMRlDcn7sXrlyVQzcku+f1Kpwr/9H/5VzZo6QiR2wyOZhF2ZEXY+V2MkYZRgkXCQ2uSNL93+2rcv/rSRNZ0dtZmQjuhEZ0SpWrVEKyTGRVWNnp9LwYAQA6ALG2RXJK1Bc8COZEULUtERpCgxjPVxeJIBdS9aYCv81PLI/XrPPCrf//Yho408ZNjJ0RzwEHMCwwKNFA6wBsOFGgEqGhQaQgAZHIkKcw3yKy2UcoBBEmYBYQhcVdWMmUDxUKmhPefUMrRpB6MJY2guCZ7SoBbY6wRQlgoUKYeg6qd/P/7YMQNAA21lSFMsKypzjNj6ZYVlWgc8LgwVnIZV7dovAgWXZppv/L+v///t56yKxF0WxY6Y61lU1bMhDJRUlMa5VVrmI70ZKacy39fXf69m5kzXU7C6rlcyDUrQ4Z62vn+1HqaHNr27ZMhUu0jbIAUPVgv8NSm+MFk4FAzygiQUQTgU4paoXhXEHZ9vP0XKAcKfPtZtfui//+i//ddLsm+VHaUhnsUd1OYcUYhXOw5kRmNcshUoiFzlec7shcjomXt9P/+6aIt5EKpUWWKYIXffBBuIwdwddD1QjTVYKBaja1tkdqKpoKJBl4DYBBr3EA7M0IFuKsDHmhQICkcxYt6g0WHBf/7UMQUAAzpoSFMsKqhwLJjqZCKvZM3K/++3t0//6JaxH3NY1aonlp3qcynoiyKm5XSiU2upZKvy7fT9NKWX//tt3dGZnuqo7oNPUcq1hgQSACzRAAsAJaI0mTFQK3AwYxYDeDECKFwIESuLjuUzRjtSuyt44tIWOVec7hQ5XO/6nYP4Kf///bNT5S+2TI+H5CeYldBOYzAjMiQgFK0nFOjG5GRKobNVVn3pWntSr99NNynOrqCxGBF/xPj7x/TaHOyXmuqoFAaAaRtkCtmQ8H/+2DEBYBOFcEfTLxF6ck0Y+mQjqxDQlAbvCpIPcFMXkbAmyOLS1TQN7CgK2D95fMEFt1rna3///rbsn/vZts9KoyylUUhV+7k6vcJVTzFCNYqsVlmV3pdinR9Edak9q6Jqb/5sxVetmdEfocOdXc29LJ7D+PjZmGeVgoHBPKNBycRjjABpomuYCRRoskLhwACsgXs1bdxx3dmWRSm7nlqblcej1//7x///6VHy9V7ezUFooDbl3M9fmaPbwxFu4cZkqn5pK92KpLSm3cmy/Pv/Mo///3M/+3RGi79zNSJoDCdwKpY9wmafAgaIxkQEBoLZEkAAVKgkwY8FOA0QXvIj5dxm6v/+2DEDAANxPEdTQRVobu0JDWQirzmCsGY7jbbxm0na0393vPsUUfmef4fX+tX4NTyil0ihOS5gvI4qkSMjKM7tD2kcGaeEw2XEj1rET3mqNncxq2Ku98e8VDcStWCb2swKlo0ulIVQwQDxgrKQAJt2sbaJlTDEMLZNA8PUkyZ4GgLUQoctrTm629z2zFRz99x3Wpqlz/8yr/lrv/eV9oEl0f/pE5TJrXtqIATlkYWkFADZGyLEN88u/a3b1XYv96KVndZSshEdaucwFMcwhD1puZUOgwgqy8SEmDQDu2tbZNaIHRDIprvAeOGigolDcMuOFx4CLlATRO0PIym/VKR7KY8jIn/+1DEFYANSPUhTKxJYdUhI/WQjq3Z73TT7+TS/yJ78lkdtFvMyjkvR92RXOjmQ6O+ocvFQgUQSQeJgau4wnYn2+17TjS5EExj0VBipqbrC7FkzwcQApAAMt0jbJrbGg6lwZSJhhKaDySVivhgJ7XYajb27zkSt6anO61SUFJc3/nyzJbc1T+cc+Vf6MPkWmAd0AgmU39JsTOTJM4WULQd1UcE1g2Po/DeDV9d/j/+8rH/2+2+zAMInboAOfZOZ73Oy+/u0aH4EnE1ZApACV2F//tgxAMADrGhIaywSSG8PGPph4klsbSKB4ECywKfF3AgArDSOaQBiRsVAwvUSR7iJ5E7+k6OwMGbM+5kfqa/1//7N8jVWvIuzEZ0VZlIRzKZkMViNO53hiM85mdna6loidzl5y027tT+6d+9mZDrVFzTGIQp33IZShrV2KFYs09HxyhoyAwAZcJGmQvMKSLomTBgKCBDQx0axQhSDUxSeEbyKiPjVm3nLXMIBLtu2/p73Zf//0+uz6u+RDXoz7lmlV6lQEulWmSWCPXdnlexFrVE1MrI39GvVP9e70Jd0qqAmS8jUNKXJvW6vTd2nTJRHKHdhTFAFgokSRLCksETBmjHqxMk//tgxAiADv3lHU0Ucamrn2Q1lhVcWBBQOS4ZMpGRukvypXbq5Maa5AvOvAQAh41M8rV/2+n//+9aJMn3KFpLLnLerllTvqe3kjE1kOeUlOuVXuXNifPLv/z/5w//+XI86aaIRoQhd8rweDZApdsFyE2dUlPtLLSxiEBVFiExAEq7C1tkQCqnKkJwjg1oRkJ1CMJmqANqzRggi4TB+kSH3PzFyUCjOmrPZuXqb////r3ujomhp0rOrMV/qpaMqqLmtQRkCIs8SirzZNYXjatysh9Sk3tckYFhCgUIg6d4wCQI1zKjBEYtEdAWjCxtkZIM0odGNwET4EJS9hkdtEGH9ZA1GzkK//tgxA8BDamdH0ywTKGyM+O1nBQ9xscmw3p9NQ0gED7e3/dfr//7fak9c190KuRakd3BnbOrHOWMcjqiGI9G7Mbppqjs62u933r/L/aj2tZaIzWIxTxlVAaguutLhIWqN0XoBwgOBiiNJAExBA5UKdWEkwDSBx8otMRDddpC9bNdwHXnnzb6x1YcA4CjO/df9Gqmv//9n0tSn63bWyHY0+imoZ0Rl3RY1HopXREQtJG6NRmd3/7o1/9P6PRaf12qNcWOv/GylESqqWxglcfFGk0IGEBFUYSNsgUoDEiII1ig/cClMdFRleCwT7MAZL/ABhgKAiFlNn0RkiOz/G6f9v///ta///tQxBoADgWhH6ykTOm+suOpkArVbv93Rys51aberLRXZEcpCM4dR1d7uTLETHlaqd2eelujfv/T+yJrfU7PIjlRArmBoZ//H37dcu9KrV5KouADAA20iPfGowjWF5SAwlWIgQqKzQmFcRuC9aOs4kTpXFjFTv9oZVM3MP/PX/+P9/6onRt7tlNYx8pGczPFCWYUqO2l0ZpFOkqklTkmdf9/6yN9ZUZHsx2KrUojBjGHcEpcso7334EnaburRFk4MVHABgFkSQMutVIJGBCUB//7YMQHgQ1xAx1NPKkhyaHj9ZKONI0ACCIQnSlehfUqiJW4J5qZRtp4SeneN4QC3zLa///7f6e9vRy61fRDs8lFvp1q8TUryFMcp3eqxFS95MUOQxQrr15jviyEH+tSx4wPibGBwANAiXQ2BwQEh4XBAJCHbaRtgdTGS0RzcIBs5lJDwCSylCAh5lgmaUeEJhmxFpy5+HgED4xsVecml6U8i26f0f+tJ3+Zw573yeZcyqVme8djYpPrOrgypmdgYCiE8qInLWtBMk5t6fZpjUnjp08siDRVAx1I9QSioFEAq4scImyIQAC6BIkgXgMyMDiIm3A8YuQTQUrTBGAwEocujLICg//7UMQQgA0MOx2tYSThxTQjtZSJnU4Latk+dNkivn9Fpj/996a5MyMFUuFBs4soRNBEBOaAmtF2saVihxYXMxvXxjQD+4XKAVjQ6MEQZFkCuQexyjb3DCgfSgKiiIEBACltkaQMa464ktjaHMBhqBMaqVryCzysaTokE2AEWEwYCSJ19RCJy3/M/fro2//T79e2TqdVaS60ZD1LQw7mIs5EaRBcpeFuZnro97nrZS6Scmq/6bde/+37Xuq3ShkY0Of1Z8vcsMEo8yvUsxslUAj/+2DEAQANqaMhrKRM4bA7Y6mQir0QBd21rbJnVEC5oImayPsUKLKjznpwXWxMUhFQLE8EI81kOiLCxXPyrybGZPr//X+mmrbERTJVjq5ZHNdkofXw2R3eyKqtK+p3VnLr71KyJ9v/sif9vSjWVEQdZkRDoh1cVvvkaEqcG3jIu9AwAWBZEmCqoEcl8hWIxxxIMiNXeoQnm9zCmmybroxiHYbpr97X0Mlnq2X+/////R9//oJnaBmgTE6iLdzIe0mJKZMIzEYxXikiLBNb1Umyt16a6//7p2NrsqFSpBistEbvXV6vSYlnWDNc2ZVgwEpdbG2SREwFiQEzmw+oHFkwDKWPtQ7/+2DEDAAOUZ8fTIR1aaw546mAir0z5rtncFV5+NyC3e/6kxSzOP+uTy1+j63y+++SLuSvZgNXkV05NNkvYpu6GyHWXqnug+f5G5nubGWUMmPUuX/hz//O/x97MpVjk3CldMC6774UYElnVc74V/lQHAGlFjSQMWUqwsA3jNQgaEaQQAhLM3VYUxG3UeutQYPbbvb+mtyqa7/n5+5f//ff9coQfeebdh6E+IgiMzRhOmZEgMOqNsyMpW3JR9f/5m6//VWZn1WQlGMjKrs10bnVkd3XaiiCEQrilVUkOAkFQDWtwgwcZHLdmoAA1U7Ro1Y8SRmlbZG1k/QEZHVCWeXzqEqrf5n/+1DEFQANbZ8hrKRM4bcy4/WXlOV3///1//17TF/VrE3Vq5VszX0keNpnZ1MEYjspnte9EmTQ9iqft3uc/J/6UqSZ2dmr2MpGmCsiPY2WlngdCWiC42YWwAQbQJGmVQGSkZyR6kG26FhwgkKBmCN1VkwOBaqn4y2mGN/rEAkFCXHPYnn/////t9bv++1Gqh3oqkMRxRGcyniimZnlsUk92TZ6l6MmirIn+2vX73+3VNkqZCsQZ5LPV/A4j398WwzZFaojKjQ4CAVKNI2yDIgM//tgxAWADl3NH6ykTOmtsqO1lgllUMnmS4JvBQVOEkGTmVrnGQLsnqgYiiOA2n67QfG1a/P/0r///0+330tq6qcin5GkVnmcmelGGkRnQqOUroQhIJrHB9Sqp33t2+3dbm6+jalW61vZzAh5UUp6GJpaysXn7EEppqFq6k5AjAAKcFDSQMWQyG1WGA2bRhhFwELHpgp8QhaACOuW9NYQjhnOLpwVGtmU7/t///9//9exdabkOiKctZZkVVuZzIjEfO1oPO6y7Gkq2t+/v9GW7/ptU+hKX9SjQnvjrE+eWmEv+i3qiJGUYiooSAkhTASNspNhFAlMaqQ2qDAyI4LEpjJnzzPA//tgxA4ADj2fH6ykSyG6uWQ1kI69AByw4kRg+E0O31Hkav/L0r2r////t/1aa52WySrRkWdzXWRlICBlJZkdgiA1rR2WxrnOqkB6T6b6af5k2zrrdkZHXoxlcMQxdzi4kYOzsL1sHwYJIDzAdTKLeGsbiFKQAsnSYAAc+jOUDIgJPsQcpRZ+WoTUWxpnTkEtv7+1Syytv/f5Hy//3/zfZez/4ou44fTynq2IAmKmaZcjEu85Xi2dWJS+3Lsze/Oe/wjNckvQR1GkzsFu9BL8//9T8qYuDnnnHaooKFAFwDSNsjs4jRJSDZhOsIsuRFvMgIUNfxeTIYRnDvZzF8rPf7Mx6T1c//tQxBWADbWdH6yEVeG5NCQ1oArUP9cv///al59+d1tfZuUJVmrSl6kABM2EAgCSKgRBhGPFsUzOqJ+u+tEVvf6ZfQzMRGUm51mCAo4AmAOmKrnhKnjwpeWyUQqALI4hSOZ06YXOAuJoAhacaTpkrTZVLV9Nxz45VSnijZp2/r6leduf/7//5761T1u3vk1fPkIQzcMtAaMcOYxzWksjvZD5JWIluiyedV7fZM/6WVKWVHS1DFaYrhCVIHc77tDXCg0u4JQ3cKhRRUo0jbQEdP/7YMQFAA6Znx+tPElphQckKYekzGfgCigamm4GpXkyNkCSikVGLsPlHyH7dbOxKtE/1GZGaX/m70///q/o/Xv9kffWlFMXRWZFdZt0Y04VS8rlPVSsrB2Y5iKpKWZF9//VLLST/fVUi7bqyMgkhWEMxBTf6r/dflBR5/dgTKyNj1V3trG2SWDtjiTzw7ne4nM14fY82YqDIdmD2sgaHjz52qaFJyjt2K9G9W5L2XyK1LGKuLGRSHygu8YkgZDinCrgHB3NExcD8WV2dz6E0zZ42TCTgiHDxB20OjlHLyLSqGLJCgwkbZCpDIsvIeEifoEItM9TAXoaBYCgfcQ+wyFzn7LDIP/7UMQSAE2Z3x9MMKkhrTRj6ZYVJDDeft/67Wr///Jts+6qqW1VEMh5jPXZJZFVrFckhmMr2d2LzNi9dTPy7LrVe9qd/Rm3vPdmLZ1Yqikp3IyMmjfXqqUeht1EUm6XBGuAiNRtLEy5lxgOASUKCocRHa26FwmWweHzJSO1PpjxSCIxtLK92f2/////V/779HVpcjKzme6oxXc6C6uhS1Z6GM7OuqbSuqkNVEa+v/Ndf29iJrKZWW5rIW2Qg9dzwEplaR0HREgCGwQYCQFMBI3/+2DEA4AM1DsfrDEoYZ6ho7WQCtCyO1bIRJBmgP0MARDiQ0BI43BYLlOhdzIIkVbXVLlE9uuz3//ybS7pFoHj3MB5gcMCAIAiFSQUFwQMip4VDqggKEg3SYau7ex/ZqqUcLCIEXCdoGLCZLlDqzw2ZwAx6liCEIAuAC23EkTAp5E0hSJro8D3awbnMtvsyf5oPYx2OwG/mu95MUj7zWP/3////09Pk6961pmPeEqycjZWM6MUzJODR5c6FRpIuEogJbVyIr6Nx1mbgMcIzhSvUkLnxOcOsWPDI4ODFbDUkgnMNY2ybaR8rAgM/zTpWS2B21KyVj7iqzO23lp+7luFvxl0awv/+2DEFAAOzZ0frJRxocIh4/WijnQBgACPJ9ujf//W+m90pZZW+ci/MPTUP+alXjnnqUjbcwUKV6qpyw12OQHtlltyz/p+Reh3f///7YZH/dhHGK01IHBAd0wsdctNgvGLCgLRipkhKDCRto4bg1LwLjDbGTSAkegcmaIsZTRkKDDc7GMguxyggSm+r2OxEDiXX/+r/T///6dOhxiTT9W9qkSyO+RFcliuhCrJShEcMSXipVA4rcEt9hxKOgcsTiynrPAsFGgwHww7WaWaIuO4ZYs5ICPFBgokSQMdCQYMaeTHYYFArVGUEqJ8jZQz+X4QqmrOJYl3/2pQWKv/4qv/yL//+fP/+1DEGIANGZMdTARV6bAYZDWUlZUjlM8xfVtREMEEeTqCquVFO0FuIwublMzPSjMj9fp3/+n7IuldUUwhPAMgqbv7PA37GQz2pvb7DbEaaKc2FrbJmpAsEwwABQCvy5T+ylSpkUkXI6br9DLJGSDwmxLvLgwkm2+1Wp77///9NGqeX1ZFV0rEr6Vm+fnV0L5Yxj8GmmZ5jXV63b++3b/r6r3//3ZJ/rvA6VkZqIZby/sS+qP/2NTvolHGWgnABY3ECTpiiQNBilU24gwJBRi+//tgxAuADnnLIa0Adqm1NKP1lgldsCj6/DoP833Yev0MjkU9zWEzYpau//v////5fXvP4c7D75G7JOld50fhKdJZma5FfpfZrc9pui0g5Mf0y//PKHXn+dkiycZ7MzMzuTubkJbcTP8o//9+mDt5kwyYsQooFQASNsiF1dZiCDURSajwREP82Je0qYUExlI4olhugqu2Ui4MG6V//////fT2vZ2UqpSY1Blpdcpkd2QZzVryWOh0lRWcTVSgyI3O2na73vVLU+3r8vdbORSqfZUSoj/5c+2qlsd6YPCbEGjSSSnALY2wYaJmygkE3DjWTAQhFw7bZV+Q8yppX8ETZQlsecnN//tgxBMADnGjH6ykTOnEtGO1pgld4hGSt/l////+v7X6MSrUpnWRzuRZbuZCohmcymREDHKCUsxlZEerGo6mI1jlVkdDEr2a+1e//+nqehWl6oSlmKwPsr+//LHWnDFBWzqYyyiQRBRGkiYowZGEAhAZ2CSYOCEySlbosPQKVAeLOkFZ4ellHFnsoQI3fZX//7f///V7aZb7ZTq65dOpjWdqkU2zlo2xES6mV1ZERq2bXfr/VZ29Xe1aMRXR7OiHOc0DLKICBC89/pfr/oW0X24GJ1U1JIolwASNsmQ8X+QXORc15ESCYiSMzUadVmQdDmg4uI1QJbdVKIw+rX5P/////r0///tQxBiATc2jH6ykSyGxuyPplImds2/u3e7rW53Ox0Ozq8rVMJqlSAjpOsqI4xXax6HVXvv69aL3/1TRtrHV7KtzFZykKUMmAmuWMrHySFGVAjR1RdwFMaQAOq0iJkBoQKRKxtcixYm2Rib8eC6yETEM8rHnii3/X51b3////eemqX289ltVUmIVGs1HQxpEocxwYl5olzzMQhC3cyJykq23/T7Ub/v0uryGkczmq51viKvdJURPVr3R8KvjnD1lRNMqUbWttGUGHkI1BVIxg//7YMQIgA4VoyGshLXpurQjtZMJ1U8yKFuK71RPe3Rlf8fSU0Eaid3meNWmldXn+WX/uf//n/bzSMc5aHeJgSWoDgIBIhjEaTT3RI+oSoV+7T9VSzf6XKWmlXvpoizVKiSKVxd3IEFGnt7bv1wOtVg3ijc3UYIUmA2BZEmDGTCxBsHjcJHOLHj3iUi6FaIEfBYd/+OXFnaCAGbj8osIOv9v/////enSuj9m3YivOZXLXU6IclPuUhnJuxHZLMgg0yJ0c93v3d1JpdNbpX0/622Zmq6taWqAj+b/56dqp5AKconAlWm5aiZABa2yDLTJXQ7GimZqwGnIgIHRzQXaivJPtk9oIP/7YMQQgA2VoyGsmEzpwjLj9ZSJnW4EhZH5WiB5sfv///////tV10dy9WdnvzGQrWMireSZkZ7FLXKDIVDu89dFdpmV+1v/q36etm0o12bUx7lqUS/6+zsNX36fjUIaVIRiKJEujaRtkxKzdRBJ4C8E0XDHiUjWKKdM7XM60PdHz4yR2S7Wqozy2/po//777f0/++XX9UZzOW7Q7mzOpzSrUzvYZnrK88hlXRm3KZFa9nYrW9tXVNn/9Wba7Iqm2SVA5AVAjod7v3un6MvW22nQqnjXWyrMBI2yM0GToY2hiwBZlcocqFhESkJLJ1glTP9iERI2PmRLsopHgaK/OX736p/////7UMQZgA3lmx+spEzhtKAj9ZKONP/0L3d9eSu8xUOlDMOQ6cxLXRildSWlXM76XTI7VIlvp/IydP/UqXUqGqhDBGYwYghJ0oZXSxzQcTOidaYwqaUYAkbYMeZUYiLNNIPPVKLSjRTqt82qwjEt8h5/4hWhMC31IPDwAiTb///////X95943nbOPVMwsSdYo8kTqLHQxRqJctMGzgWAww6gyyf2HKLf4rnDbiBkVJsHiZDBDEC54sFg6eQISwbqkeccTuAFskIokaT4ICNrEhX/+2DECIANEQsjrJRzYb+0o/WTCZ2MwVihIWqZIBxWmNOh3r+wBhGL0hv1e1aEBhF8n///////p35S8rZeLSNb7mUHKaqW2IOJWZ+PwaAM4kDGIqQBboTqu0+1AXS4tWAQowbVwqp1QmC8xAa1BW0ipQNI2yWxNYoW/FxxMwuywYGAJaoA4U9jZ4R0GAx5BIav2YIEnZ+rt////6NTX6dNq6UVXVLIW9GIZJZWJUtDnIOrGRnJdWZ0NR2vfaayv0y/Rk2rb+pk6ojpn1S6gisWB/w373avFb5MDnThtW5pHFIABa3CY1aOgsqZlA6iIDUmy0xKEhwaVStPhzUAv9jffqiv0HL/+1DEFAANNSUhrIB04Z20pDWEidTdPMVcv/P/8yPy8/yK0toZmW+fybq+SfHeWRlciUylbPhVtIIK95YSWkqEJbX5R4iGSjXJCaSzzLpOxpKGY4g8WMKCrOJ24CxuAwbNMS5RryH+U3QvLC1sqYoSHbYn/IKd2Kk4JOfUFWRGWv9v6/////19NvXLuRUNelK5zsY6SKs5y0tPLlTSraNVaHJMrd9nZN+en/7a6O6s6lpeRlzj6fAJ9BpDjxCbdLVSRlAFjbCHImcIJmeoicED//tgxAkADQEbH6wUceG6suP1pgktSyWEW0iNFWTtfleM3CrU3BmF9YwSAQR79l/////7dXe5l6pfb3Zb3ypRjWDx66ySEZ0zBGlQnNblhSwhuoZoVFB/986xRJCwVJpKqeLaxUu0OvUhaZpUwxom0DWNshVEKlgCcOQFDtqNZQSQybGqwjgbA2fvJCIwtEi3w7eEzTU+U6///7/9f/alGd3ostdt8hZkHVsx5mMzXWztdFsyvPWZbmulZW3X/TlT96bJq1lMrKZxZVRxULO/3a97WoOnbTOaTUpgMyIq0AWNshbgXWskAgCqWhIlovugpu60BtCcq3TwPjehym7h3GpLJnff//tgxBWADfmjH6wAVqnbPGO1kI6l5/71/vom6/XbqdXdp2ZZL1gykqiF0VBR0Y8mhjnVFNHMpbI7up1tov9ir/Slkd1pS+k5yGJK6NGfXu5eTykUOy37gqthQRNoqwCyNIgIY1AQKkDwBNeXExyCip00G1g1lzvUViGJfMRSXdqZXJ+fiVTnvr////l/+CAyImRdzrTyjrKTFSZSuakbrHql2m9lUsjkfNP89KfC/zP//tyf8/7SkItfOGbRY0hwy3UknU9s/87LkpSd9f4FI6pFRRoyADWNtG+ZsgwcR1NRChhEoQgWIpjIWws6ldi/AepVai31sc4dEhV////+36ar6al5//tQxBoADn2fH6wIc6m7OaP1kAqdJf3b1UjbKwG7UrzcOS0z/oJOja1NWlE5vk9yeL/lr05+c8/yP5vHkhRCJgbFqyVRIUghzZTutwBf7pcIo62HdNhqtBUACRtkGYjSYOMKrAmChYnGQgrvQHK1rBs6jNuzEuVqOe/PHc1TTX9//Tq2rpazSmY+UkuZmMqormIUYEyHd1Z2BoxVccmc4NSuzXPqt/X/Zb/X86NZne1UHdd2M9zB3vexyy0VXtH5v2eevUlFEwYABIkwXJNtUv/7YMQGAA3N5R2sAHTpyZ0kNZQJrSzIA6pDIItoUMQIi1Vzv1FO2ms03JPFub1q7Kau//+/8vnYSr9V6Zkk3Mo9P3+kbU+GTK4uned7xNomV4XWp5/P/vonYf///nD7c071j45+9yxqUeEZ5cn3LztzSLTIJBxLbgqtReu2sjhMAIRkJ8AtMHXUimwVKbdWNtWZtDZxUUIkFTwtW1hwHQs1PLJL0xj7VFUY9P/9F1zEd+/9326rZGRSFd7Od5ARO2Qmzd5fGrs0F7CupoP+t35Xc//1+rMaew41L0q8qULe78sczeW8+1uXyTW1Ii9JdI2yCEEei7R+XnRgms0IZBVAqo9LSf/7YMQNgA9N5x+siHVpx6Cj9ZCOpGd0tnJ8qWZpZ7lzPGfjtLU/MyXhUluio7nEaf+39KbUp7WTrQ/3zjSiaVV9SWmCbTI/exUpv0di1hI6Eespf+X+//3/9/+F99W1jkZS6toyHPOZkb07c7LeXizQj4GqyhhjSllukbYFUhEiCiRocbVRyVrKAWPMBctTFpcE7xgfOnfmRXqazWltS538wRNaITtQjTvo8tf/4Us59OJXvFLV88j2VUUxrESzauTBXsHWJiZI2saUSw5LJRaLQ07+wvYI0IU8JC52ouGF263mC8cBlWk06g7LhY2yATyclA4quG+iDmrQyEpaklHmGrBy+f/7YMQPAE7Jox+shHVpxLKj9ZSJlXe/FTKM95vDtavS7/8tdyNE2///1bmaPKJXiAaYKrsrulXIMZn98GSmHcj7ZEik1JE/Mq8/5OeX5dIj/M/O3/2bJ0OcUSe2RwMfSmG31X754aNo3xULW0RUEUzTsuEALogKAAJgVkWSsUJBo65kWGIKUuGmFX4B4CAFdcnsS4gM7++1d6oxb1////1nZXdL1ejs+zu5kRiNOsLu9Sic9XRiqazJcEiEV6kRVrTrZ+i3R19uTt6H2fPZ4NNHD3/21TX3tzebgiI3YuotVWlW3YWtsmcYQMYAaRh9GkQ4XRYSnW/yh8BM2nOceQAvF0UahP/7UMQTAE2BoSGsJEzhkaDkNYCOrA+OVf0tRHu5dv//+X2rXNM2rLZyIW76WMibUMX0RIRUOzId2L3VWLS7vT2te//2+2r0I1ddXNM5kbB2XvQ1ikSqYwBAFpBsRSk2jAQHvMJQuM5IBYVqQISqW0vCHlTqOOXY1Kfyjdnkk/tq9cy/X7fb///+X/Pzau9GRGJxGhcz7c49STa5naTICyIcjjLCIUT2//nVZ4VcBgkJw1Aq8VMpEQxo/SZAguBjVbnHYzNRha3EDYwFeGANG1L/+2DECACOSZUhrQRV6a4zI/WQjrXGvIhxRfpbtLVHmOJDtGjNvbvWbcvneXKm6W/V5+lzP/f///+cnlM21bTZkbCZFPwHaIVOUAQwySiVGJSMxPyFwdWJe3Me33p6N7sVCOjOzoKnYEgwpKR+178c++cjf31xtpRRSEvRNkKxK6IAXDPEooBVaXBW0iM0ln7YmWX+RXt2vFeXcdXLNa7r+D/////y5NIvk92LSuZqDkRxwKtkdyDaMZsrqtJYsqWeiH/l5yfyZz/v/9z+vqc9lOHrcLBioMat/u3uHf9GxvXfAYy1ak7Rha20gOMydTQwGzUEZqcAJIww8GCOWhCHm0vR64r/+1DEEQCNmZ8hrLxFaZwz5DWQCt2ng1hzBe/v/2f//+3092TMz30RJVVaKpSqdTPNHI7+V7F6pKu5jIiVMi3bZWrf7fbfdtfq6a0lOKR1nQ4kcKK+/9GzdoJ+0+RpV23FHalLW2RGKAtBqMx3BsWXvahLWEQHsmR5Z67tnj8WcZNAveZfYxy3/65//6u6NZmZuwtt3kO53Y5a6klQ9j7Lu1CoiOUysrkRL+2/33b/9KeyVRDPNVy2oQMi/VX8bO3y/BpLbyQ9dEVaTlAEjbIh//tgxASAzcGlH6yEc+mnIyPRgI5thBIQO9OCgWfVrasDA13rQcRCaz2Afyd+3lOQL2ply0QS/a/////3z8fkdCiYMZ6zdNPSAERZojQq3ElYjY6z3GnnYay5T8vz8y17//5/fyOMZxOlVrmR9CYNP+e/06YqtrFdd6BMpttyGCJpij0bdguxEeHEOimCGMOM/aTftUroXI9SPLfrY/SmI9uv////+v9SlnqV5ys/bu51nlsu/c+PE9yZ0MdWjtuYKxHICdzqX/fX9Sf/++//8le47Ei7DYKQFvYt7//l6RyVEu7NmVcjNwAFjbJyGKciFkHQi5C34dLXsrL5QMucRQPa0NMW//tQxBCAC+A7IaywSuGVtGO1kAqdLnfbd9CQL///+eRJ45d4VEZQChIXCyw2WNJOgCJHuacCgRO5pDlfq+/JsMJJnXmAIBxodEjV21SSpegLAShRRRouAASJMGpEKoDqACMOp2AG6ggtriJMPqBtcc6cuuVb+NWb93X18ct//3/Xos71ojVm7sk5WV1V0s9lNaykdFDm767FdUoiTb7u+nVF//+uqtyou6WXOK9JRfVfs3k8WgW7nSpMNxFSAASJIHZS5xAk64Ab3sgQYUhGHP/7UMQLgIyhlR2sAFTpdSJkNZAOpHdln7SI39x+dV325fxtYWO4///7NulomxmLmc1URFLZkaXSVkMxFoaWrWpCoSx2atOY+/t/+X+is2ank6nWhBoEOS/6I8X1vutTq8lrCJVVoHLI2SiQ2DSoUbEYGmRJcQaHW4wBhqRKqkVp9z3LsEZX7mf5flh//f8yPPLzNXh9Pw6k8Qc0NestLJPY47GDJReEd7rTns96ZAxsWdCQeKnQa+KtNvPsOH4aWyqMotmSAASJMgTE6Ii6Zgr/+2DEB4ANcZsdrIBU6aww4/WQCp1gNAeNtl9WPNJka6WUMsywgTstZRFp6te3V/ff/9zM5EVrbfPaUr3ZbLXWp7TO4ZZakLFr2Ss15JUsqvLY7F9+ibJTut/dEuVJZokk53GYl31PDO5UU40U6VaqqoaTUjtoAFjbIUvFpkmBAgEWp43xQJlqsT7LCuq0yxTsvy4yhp1HXpLlz8uc/Ts+zK10fyv1R7KrqjsyM6hXGU5NDNC0Q8/PXKyjO6VkanT/auy/kXsjXnP2FlCCqdbRjv33H7bYPHCIGeiQ+nBDG3bQBI2wDQmu6G8rIzQPFULnSY4wBo7KX9xsNYs01JA3Y738yCP/+1DEFACM9RMfrARzoZ8747GACp3+v/////+sMr1XQgQBbTSNIhpnDLZ2hnc3P+7jmYdIcHE2jCbnDHYzGavQtpQegDw3cMU0o0JGnqi6xYDIeQDLijiac+w4yFANRObzvYefmKXQml64koGwGO9n2f2q09A34575vXP9ddKo1idfVq7XGVzu7MhCOkhFNJUxTWqRE6KVOhGYvu+aunfelP/6/dyujqQrTs5SWCJRtXdEbSyPI0xznsOoArWUxSRygASNsgG4GpA0Q8DxMBWt//tgxAmAjUGZH6yAVOGnMWO1gAqd/goQrcyCNqXqAwNPUTAq1i+633Nayw3//13TSzGTbRLvSZ0O8hF1OVAQiyI4pXIDcGwZX1OjdaJV0pS3t1296fWR069152amKlCAidC7OWUBMVOzLyAQcVLTckSZC9gpUCDOejVcaFkAlMhaTXcd7XWxnmI2aWXutyth2rnrX/176P19auRF5FO9J5KpKtSohXRUllS47grq67OzZzst1qq9Gsh6VN66bEXsMa5UYUdxLeWhzWtfTrPuEbgIpCaJ6XTHE5LQBI2yYo4tqaIAIiA4bTn9GEVZkcm6xlyIPvWWbU8rmXWvGEJACfz///////tQxBeADWmdH6yEceGrGuQ1kA6d/8veisjmiwQztua2zQocMz1TkEqZf/KdQ7CqH8t25/mXy3/P5/25/20zlf39Sb1bCEj9kcUYKm6WjMuAnLXkXMABa3EAVSoM2Eq0m6UTCQgECLTUJUpUi4Ff8pNhfiM9y7vXc8v/58/LmnOuUhF5jOZoZSEdpiQ7pVRn1r23f6tIXnGLZD8Lm29VVm8PD3f9Hq1oBwo5PFyA8Ci3u37OYh/+kgJuu9R0R0pSgASNsiEIS8CGDBFJVGJCXP/7UMQKAM0I5x+sAFTpjbPj0YAKnaTkS7cZPl9KLOldfmEptXt5d5zH///6u6F9ilIzo+l3ey1OrGKhBwh5LYcxkmD0o7RvaDDLSP+b/7/nf/b7ubFYRWqRJRiQ0ib+H2KoibHxNQWP+WRp2JyqagmYVKcKGRZNidSnWmrY2JlrLGCVqzuX6SAdXqmWOWWsv/on7ZtLy3WhKUdks7WaZFdCopqu6rsxrCarbU8yvd7+v9q6l1+/zd05dTHqV0UoYK+dOp/LiJ8VtKX2gSq5VyL/+2DEAYCNUeEhrIBUqaCz5HWQCpyWgDWtwmVUI4AAQUxCZzassLON0XjDEra68nKsB6qQHevXMam8cef//0/286XbVzVU6kITVCuRzshmqrPKrzoU0pLsZzd01sPYit3S6Tfae300677ovqm7B63g0+vrvSV91SjFdQSSSaa6O22SIwokHm5mQuFYl5s4AJDAy40SZuwGGcbkFY0b7yG9nZ7hl/f/21+Te1nba+2dbZjvRUcpCK1TmV0VBDkRmMjEKDQjsh9La6/p7SdadN1pRQaqy2KVGOgeAHHV4o5s4eGrATNNdLdSUoAEjbCgJkelAFph+GnzZVGrhJmFtTZTXyrv7f7/+1DEEACMKQUfrABU4aY0I/WACp3K53lfV3tXHH/73VN+y7NZj2JRbdUSfKqHK49bmQ5UdyQ5gOXg2MATwK8p7eQ+j7VQWNhJh+0CFQuTS9stFCoVS1Nx2NPRtkkGNIKDiHBI0mvH0NEa014LlymrrWpQ06pvch5j3D7mu///6tsk2tXmQquylSzojsZUah4cqOFOk5q0nUhnreytv6yr+q3odf7rejrayHdSK0Q7sGUNHK59NXUrYhxgJ3kfV1WUNxpygASJMAGUxVAhkIVH//tgxAgAjaWjHayAVOmBsuP1gAqdq1XywLgIQJyPzFGgNOs07m2atl5eVM+8r8w/69kr539rmZWIR86raxqKjGIdJinV3W71qXWV6qsrKiI7aFqaSlX0//WvlS1NjHedgWRyFEwE2lEgtBmvMbxp6AcDSWSJSWNsGXZ5mnsbblRBeu0KrURWj15HIkdikee3jLG1+ty79T+//Xy39Ls5M3PqvRGdXciJWV6gxmZ0Y7XQ8xURKrpYqaPXX/5D/+3r6o03KeISGCmerd/BE9vP2QOdpXRJHZIABY2yCTMhCqzsQS69r3JMLFRGnpYwCZzftOipUljy/nhU3n//+/y2d1W+/syT//tAxBkADPmXH6wAVOmSBeO1rCSMq1tVePJuSRiFOh0HWzKZZ0sVC1daWqxXN02T816en7ulmU6v2q1ANuRU/v/qG+oed3C0wtbGSxMpyAASJIAmAKqh0IKiDAwx6TA4jcw5TgKIgoYmYAdlYsDOnSYIL///17EFQZKEIbQZCbBYVJmGHChhAjaI0FCR+bIm3BGNHIjf3u6bU7ZZbQ8bNAYWlT0TTrQksPGSIAeoa9WVSSO3AAX/+2DEAwAM+aMhrABU6Z0yI7WQCp2twkgGVihQUob8pGGxGNCSpfWi0UcS5PQZbpoCgW/jnVzv////TL6TbMS5ncjHMjOr1fexSP2q7aHIc6rLqZ9tDs67Ee23L/b9r7e6pImjOdpEVSFKG5/u5+NuFrcDyxQmkccbbcoAEiTK6TWNQ6GVKYTwYS1NLlE5kEfh5wYOxirSaDUNUvbmUx97//9T1/XrvuYqpe/nNc9VI/rq8yWeqXfkWRr2d7U9bTUZa0d1+nepdMtkKYEdQcqDNB8n4H8UJbYdwxRHy6WQxtJSAARpMmK5qUJLQOE8O6rEKsVVXK2ZAVS1XCMpiNXq2NiJX///+1DEE4ANUDMdrDEooZqyI/WACp3/xMh9jblsBAcUMi4KBFJYMApBkippECEBc+KOMPHIJvmVAB7XsaprnaBcTJOJMAAsCYYDamueNCLoEFDawM4CgUJgZyyRmSAAWNsmjIk4oQCMHdJXFqQhCmQjlXfxpNPlVkOdLBlu/vGrvH9/9n2Xbn/RXyohFd2OjvVeW7zEEK1HKSIZ1LYyl76PO6lkXOqf9v/zTUV96JzIgrbbIgT/1VLtey5Ren4ebap0RyKSgACNsj0TG9bxjiNS//tQxAgADImlH6wAVSmPouP1gAqcY8p9H1abHYZa44rjX5qF9p4Ao7937mq3//psmvLs+6HyIipmIU6Ea5SOciKW8hCA0Y6qy0dt106Nvvtp/3T0dypqRm0QkVU6sG+5LluXrut3/V2aHLJInKABY2wYJPpAaDZ8kNuY8SoTIUvrO44jbWZuKUU9KJ6/vuf1f5/6U/V0+1LdGlRldWVA7S1SQpW22XuxT86AmNvNAqQWSDNtqE+uqu0UaDkyKuAZUkKsSmuScPNNPgBDR9WRy//7YMQBAMzQ/R+sgFThirzj0YAKnFtygASNsAhIEnJzERB4CrmZOgnQ7p6PE4DgS/COP/fqVJF3DtXdz8v//fvvZrPaqujndCuRjkWiK0iWFo7yRjXOAADUD6A0HsOLN7H4D/w2qAI4uPFCA88ZmTewXIJAYu14jIDJFW21aCtCgy5pngY0sgZuXdbo3GpHm4UucTiFNOanu3PmMq/8/+37frkR2uiPdzIp0juiKqW3vqrKm61WY9TPIjK9Cu7s2z6fXr///3qlFQ55mUVZdLLJay1Quhi0ZTqY8LSqlMtikoAFjbJyigLEtkXRJnmWQESiIPo/ShlTwPJnSR2zjPwN3Pme6v/7UMQUAI2V4R+sgFTpjbOkNYAKpH9//W+6XZr3qrWVWotFRaKS5VRS5le7ORjCCIyrUbIfc8tWfS67uv27N293fmVUz21ysEcIlyNvbstE7qj0ZnRiOIXEu67Jo9a3CZXkIGliP5qALEjSK6VinqztUrBKCH3am5+3Lvm/q4Z/z/qzo087OvVzapLdrAjKZmd0R3ySWVDqiEKxHPflc8pmdHf6FW7J09+n5H0o0t5qgwGxiMpfUDJVoZC+F7VXtLaAALHCe0jdw4BBAnKnxKz/+2DECYAM5Z0hrAB1KbC0o/WACpy3K137l7AlswLVkDuyqRROBvx7U7Y///nJ1Ok2SEblt19O/Q266R4WLZP0TpW06UnkZGpwz1u9P7596f///l9/aFflhXPIhVhX/odqnP+KoHMv1ou7JZHJQAJG2RIQqVCeCCB/1HIqSCQgaxKXiZ7JcZFCqSTTMu5h3PG/+v//t9Fd53kY62ejMzKDozIyFcHZbMDIysmR3RWYxiSou5Tvd7p5bl8n6dpbbqq0diMWyqrHM0Io3qLrHYYVIBEFwGMqtclrloAFjbANgKiCXhngnKMl02ZWNoUO3WyL5i8ulsCXYFiNNyt9W5Z//+taNPb/+0DEF4ANZaEfrIBU4Yy747WQCp2q39k6Or3c/vejFR2IZ9Cu4zncxkC2KqTkMrVlfW/2VOQ97W9f26tVFVHexESV2wxwqIx0hvGIYMWH2w/GZJHIwAI0kBHUhlWLIg4hezaCIFOloUrbpLXGzjT9y+niOr3cKmeX//7m+nXuknudmfdUpzav50ZSMys85D6F8jLRL1d/tf6/X+3rv0ZDrszus5FcUf87uW07GVCya7IUVsKqjf/7YMQAgI0tpR2sAHTplzKj9YAKnVkjToAEiTDZjldprKgW1NZWAQOL5NQpW6QA616Iw5ekUzzm/z5V/f/3/+yf99l+ucXP4vV6sm6sedORsmPBx/KMbN2SyKcKf3OdLv9p58L//5/S+/y9I9G71RIJgfd3VLlFhUDXuFffTrmkldjbIMOgSFhDvDulK5cLUzMNddR4GyS/CAonUiUfk17f49rfr/11XTRrN1301I1XWVFPcj75UO7qU552ujDO9HOnKyz7/7fan9rV3NRmZqrZ1ZA5g/qMh+vv37w3NXpk4jwH1ZHZI3KAAI2yDBmNCvSBJHKaQhFCpfQRm8DxS2njsetSC//7UMQQgIwRBx+sAHUhkLFjtYAOpbRc125jd///PvJLZkz8V7YmmOfJSguOpx7Xi1cSOkFh05la1O7ZcpokxuCFSSgwACaJRStA0mkmdiEGx8NGHscUljdsSYBwQUNZBasbAowrSjIm61njRIafjKOQzjO08h5c+nqVN6/4WhlKde5FUb+Z0unzQ7PpeahVvCWT0QyNTbSoX+f5cnfJft////7Ch/JFGe+OgWxG/l9uu1/plzdE5wnildkskoAFjTIDwtlBGaEAdpMFNhNZVB3/+1DEC4AM4NcfrABU6Yeg4/WACpxq0GRd3LkTfqZi/ZDz+Y519fz+j09qc2qmba5s1EEKo59DbcJ18qyzZKOWDd79XJX27/z//VNf/7fsXMnsLMLHmVxIwr6Xs/7qjMeDvIsDFI3VbHIABI2wAMDsm6KbC71YUoCArY5Ni2RpcZpYYgXKj+d5d+5zDf/7//PLWlK8vdlRWO7IxSIprrK74uREZIkgSEpYwp9dg2qqlf0vsFCiX0CJoDJAEUdS8MIjnBxCh7g9TUjjkgAEaTLc//tgxASADPWfHawAVOmQM6P1kAqcpAw1o5rEz1eiVCfzv7ghuclwl8LuWKSQ/vueWeuf/87Lf95uurSKrIcra0slmqyO+iamnqUinq2yGleV1sQ9/V7KsP/1RUmZ8qVIZ3OkrKDKAkP37P7F5nuKprhXySySWxyYACxtlFUyjW4BYU6CkQ3yZ0k+8Fx4IDv2pyKfIaSd/Xcd3t///6UNS9iXWjoZEq9NqGaedi3S7padHrF0ZmVrtIz79PvSn9H/2Z6VamxsZXVEmYdhdlSeHDQvEAkgcwDqcckjkoAEbTBeVBIhGIUBHUF31Q6pyPrWgCXw9do43njMWf19ypay//7/5V/a//tAxBaAjOklHawAVOmQPSP1kAqcjUom51qZCSOqs4PMRGoTaQKhIkrIhWsaYTs7s3efafLf3//53p9+QHXf9sqyYvVrNPOW5E+SqAerueSXSSyRpkQIg4pWlKgFnhCcVUwAQbNsIMjUisRWOYyKOVe/zPPH///+i69UQv0KnrQiVRpGOiXIt0Y6NqdjumTWqsQ71Zq/9/pf/T3PqskiVMxHIeVtnei7/ZXlNcr6qVjOzgmqssb/+2DEAQAMgaUfrABU6Y28Y7WACp3ksgAFjbKFpjm7wVGD/AJc0sMuiQVJU+1P8ajuEuiW+7/HmWv//2rrSruq0V+pzfacmzTakRpmV8hnJOCbPJI1eqqtP0v7LyP/R9lSdUkMl2spD1Y1Beh1Wv/6nFETd+2jjHFI5ZKABIkgDUUDK2SkYXBe5NtOuX5P85VLXdlyq1iat9325lV3//0/XdnXMZSzUzH2VmauuR2Op1eQjPBK62ZSujm5ty+n/p2/9f2T63ely50OqRN6Pd6ItdhzmqhVqquDNTVy1uSzAASNsloiUDOlKDtkMK0NXDyZXY1D0YyiUC8nZVP91+e7mtf/7G3/+0DEFQCMSP8frABU4ZYiY7WACpyp+VlZbXrUhlMShdGR6IyMkmeKKKNkYqL2QLHekhca58q4a0oQAIoBjB8QDwcBHG7yFChjGF0C5V1ySOOxJhA5YVDEwiD9pWtuqsv6TTL7QuWfHZFu7NT/dfjqvz//+tG1TdeZ0spqKZCMbRd3EWZiTvRyHnZKA2oIUAjZUMlAkoLxJQAgN/X3vPJMOBwHw6DTZE6KC5Ig6XPuNFQkNZZLI//7YMQBgIz9ix+sAFThljzj9ZAKnLYABY2yDxgYKaQMOYTF8WhrLRFi83EH/pcaCQfP4Sfv8uZ4f//7WbedKqxi+zIeoPfYhVVSoRgqBAVWOdLu6KcqzOl7kuqHO6M1vt6X6p/2+xnfkcwIcgc0cKY+4m2B1JAqKAba5LZLJI2wFwU7nfXmBxE6U8nMQHSiZfx25nUBv3h3Cj7v88c///9fRH3p2pq5rKRW0IoNBmeqT3ZzZDOymUrIhQFVaxUMWzOQ9PXP9dv9dv9VfI6SynVFM7T+2b0WmYiKqJMykBUKUkbrcgAEiTLLVxJ8DBg4LrqiWCYjM6ijl2r8olHcMbXd/jlh///7QMQSgIypBR2sAHTpgDMjsYAKnf/P7zyv3PL/qNoR6lywpaX35JtnYKUioKBv23wmcL5vtrmX3+3W+//+JSk4r8MAxpTR4w2zrFMM+dMwswftv/YacbclfWKADIZXmTyUKVqZm0qXUEsn5djG5Llhdnu6+5d7////7r02Wfmo3QjbnqpUrqXe73Q+98hqqhSIXWl9av0yF3b2+1q1qqLVWIHRSlEXGOK+rGZtrjrjhdEUieIq//tgxAAAS6QrHafB4iGQtGO1kAqdUljk0gAAiSAcB7NwQMAkBSB5klF1VMCRRNNGRTVovqocXDH////aJgfE44Igs0lRgVp8OXxYRMU1RMy+lxBL8MeYGinyQZMxcQLHIrCgLgcSh4wpC8JnzlwNQwVPJyORuQACJoNEtMlFyVTLfYUz6fmos/1PnRy3fa+X/+Pcv///XZaM7UarO7glKiFpTqhzklOinU97sskrNNShHZyMtEerd//1ZS/p9VXPXZSUVNUIRUDgl3SzR0907BHVgiSK6iqOVy2SgASJMsvBgYdWkIjqPM3ZW3WplFnKvZyGFZdr5fv9Y4/v//032K/1laiF//tAxBcADDGfH6wAVOmhM6Q1kA6dPVmNLrT90bqi+x0e70t1ztRL7+mul3T0ruqZVZrn0rcIjkcwGGHave18dbNdQjNDkpg2aS6yXWgAWxwoer9bZ4A0dKhvnJUamd00WpNS6DsPobn7/etf///+jf5cf3ZvM0t3enhDe0kJY/MnkJ51SI30RISGRd1t3QspENC/8/O2k///n+ZZfOk956WxQ8C3fTrv9X559by0saqeltktsoD/+1DEAoCL1Z0hqABU4XMzY7WACqUFrbQXUhbokQjhjwNzCBCsCvl4xMB7NFk6RN2OoN1r/+vv7kvs6sc18s+qWdjuxkJnd3ZbIhHKzIU7+Y6LvV0////9mJpd2bK5EmdGLEA0di1bw3aXSq4kgTuRUyySJMq2qbu5DQ/wt52nR4kH4Q/S8hp/O8q2Oa/WGt//qu5OUh27V2V2dmexsxDFS5SPTUzmMzsq3exLqn9WffXe71/3/MtVZDtsewcXMC8r5lXa9Hf9qbuQlLUtJlyS//tgxAIADKHlG4eAdOmOPOQ1kAqcAH1B7J87xHEiSiCnR63/oo4NlKu67lm1/necf//7P5n/l5U8vuR5m7Z0Shu58CO9U4/3nFW5GSuWevbkcz///n/LP8yyz52tZ5Qm9CM90kKiEZtaX9OK5uSW7SvfY6QMm7dZLbcABa3CMlEoDwNDBayPUHNia5rDKH8uzUq3f3e5v944f///3/aQ9msmaEe9iJVCVMrOVDkVGstGdGMRhjUYzpuy5LL31Vby0kf6fffs2yaTqyozHCtRl7MvK/tSD9KODpVS2NyygASNsjfJYgohCCUC5oWwd4yZ5A2NzZimXVKTLTalP6/+s3StSs1E//tAxBWADB3dH6iAVOmFMSR1gAqcR5zXojotnPd0RTIxlCAa30cxItznqVxTgvnqq/2m2K3/pTK/L9srCnGZH3tzZOR+qUd5FHe1JrptrgANZIl1qq0lKR5TCgSAWoSPO1Fp/CORbC9q9z/3vm///rb7oj7bVqzs+ivZGR8hlRZXY7EO5VW1NdyIk5GJZyOSXRNem1l/71V0siqzEGa+HAGaO6o5A/N1C4uPDip2yK2WgAWNskr/+1DEBICMcZsfp4B06XmzJDUwCp3ThTgygFMMJAIgxnmbIc/yxtGa418fVN4/5f/86lUsv4d7Je0u/2nf0q3exmqA8k+xetKd/ZHOkXlnPz/8uFL/l/6HtMuUyIVvToEshho8H8r529zEYhP2T2lo7ZbZdG4RGYgsSxiCMYzQqJbGROmJcIsg5cK6boI9To//Ktf9b6zWa1Fczs5T3ZjmRkLRDkyWOs55LkXJVyXRL6o6cnR0r//TZLSVQpVSMM9RI1wzdeyvtTc7E5WLLU3G//tQxAEAi9HLHaeAVOlmtCP1MAqkonKABIkgyErhE/MhYKVInVCzEZnmL0+6a/+a2//12/oUzOlJrqTc6+yZ2RtlRnRSJMaRZ2ZVZTiWdWQ+fu1f++yIidO3TprybKjByuxWUZGTuuk6XrBDKPyIJpm07JLJLG2RXEC+RQCZQ7IxCgMqTsqFs8iaGalK+pf6s2s6O8hnR3BsY1ZELc7skmdp0VKqyV3ozEOz1/sqe3SyJ27OvcrMsdboc6Sko7hCAJtMintU4aka24eqbrskdv/7UMQCAIvxlx+ngFTpUzPj8QAKnIAFjbJ/EAhLoNWOlKPifLUKZ/Xzyb1j//Gcf/3ZO1cnTaiPJYqO+7UC6oWVYIncxTtQUZDodXa7GKZ0YruqW6a9V///RX5KMTRARVIKYu2PRX06n0b+Vsbzq/5i5XI5b/qRdLpXAnDki2D+Q00MHL6Loo6T+y/3uvXYv+n6Mt5MiT2Y5rPdCg3lcl7ogL51a7Eqq6Nz/2qv/vza7shjOpUVtWOQQBE1RkwpImKit5FSKk624pQABI0y2nL/+1DEBQKMAaUdp4BzKVa0Y7UgCmWxG6AWD3dPEVfE7+3tb3tv//f//25ZSbuXx5SNy3pN0s971CahiHhjal6JFyDVq+RLea8bbpT/tfb56fwrnmZ08vRN4VmVUHh3bQJ+dxyzzqv8cDTGDYpBEkRWo/F8yBlB+5qZD5MnPm5tRa6n9f7W6SGQh9SKtWezWJIrnoustjvPTRClWrzZEPTTv///v6ZqtVSld0ecjvLsyMKUY4kM4/tinO747H6yi2SlTiSSkAAEiSAQkZYSAsZC//tAxAeACkATHaY8wGFEoiP08Aos5LEHQM8igzs///+0oxwsYcJUrGhrXOihocNGkyaBGAGrWxxgKjoAGot//8AplwdGnz5gGDjRgfWKkB7wAhiCCiQWF0o47YAABY2yoFPeGHo09aT89e+v5afWt/+3q+9EpNebzum0rI9+pzES8jK63bZhDBSCKAzuMD1K2LdW8f3JeIwECcCwABmnByyOqgPocI3mjapyyO2gAAWxsjsKnKz/+0DEBgAK0aMhpoBRYU2lI7TwCi08DWkZEghYvITiez/Vu6I1TVZmVWeWZ3PfBojFZsiyjkIxKuqsqqxzqSR3u1HRbWZf/zt/b/06znKju8xyhaFJG3roJ9gJRUmVKOJcbagAAEaTEB56D9Vs8rHferU+f953/8vq1HppU3ozFs+efOtkdUq9piq3eqqz2u6soyaO6TyXzc0r///u9ntXnnDN5TxWT9b/2UE3Sv0U0vWyKy42G//7UMQBgAqJ5R2lgFFhYjSjtNAOLYAABIkg81OkoA8dJ+jS/utnxf/vRLquVbJdjO8lCa22rR2KoM5rK6nlehDLIrnM1dndtf9enrT3/p9tjEdlqRKTrjJyXkM+czqd0RKlRBleDYmFhyAAAONMk9FJYWQ9XUbtptT7//z/Mv0JTzeURTuY2b1GVgyTjfpVU5t7ZkSk2653hTQ5L9aocLzy7P755f5m+RF2IRGSejtSU2bcbs0l2+bWzl/9P+wBIjYkAAAEjbLlcgED0e46/f7/+0DECIFKVcMfpABPqTMxo/RwCb2//+zfqTKjuiaI5fMRVYztcHIYhzHuSiFMsyFVHL0Q6HVmf/2o1Pt2RVS9KFyqzKropziAUPvy0bdhvO9wUFNijdpOQAAUuTZAypdiRmv6uSvVLfMRFvfZyMsqvsIlLIYqFdkIQ6sYp2VMpWYivRWpbyKf7r0N75/7MSdEwquCwrg2xv7HNda0o0MMsf1bamrAAAAkbYMtB3dCr/+n/09bwf/7MMQJAQjNGR9BAE3hE4FkNBAIBLJSpsT47oK2kdnKpiOzhXczw7NGPB0PFKwm717/peWK6UguIC5YuMN3G0kmCaLhgBxQecIIRwAAWtwiICDpb/////RZQ0gODC3EDSHBZCQ8wOxdBUesPChBIOhkcXMDQyYt2rSUWDP1PHJY96FQRWHj9KfknKEtanKqKAAAACRpjmv//bp11v/7IMQGg4kJ4x1AgE3ojoBlDAAABKYrcy7uZmMVxjsVxDke0joiWOqMUQ0lrv90d9LHvP+ljMt/9Lp3tZDP6qyspiqyu3pZsiSZNz7M7Fgpvtt///////8NSWRUIgaflQVqBqGizi2DLv//YdlQ19QdEoCXTEFNRTMuOTguMlVVVVX/+xDEBwPAAAH+AAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAByAAB0/gAEBwkLDhASFxocHyEjJiotLzI0Njg9P0JER0lLUFJVV1lbXWJkZmlrbW90dnh7fYCChoiKjI6Rk5WZnJ6goqWnq62vsrS2uL2+wcPFx8rO0NLU1tnb3+Lk5ujq7fHz9vf6/P8AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAUkQQAB4AAAdP4vyJp+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tgxAAAAvwBX7QAACLmqyd3OPAAAAGAAAAAHAEEAxhj//////+a4gB8P5Q4AJW+wkAEw0rHftr/6AHd4x8BTazfARPNJ1oOJpj4OiMAGJg10OGwsEwMBlAjDYDVPBbPFOeBCDRQK5OVYQw1D5H6uBzpFiRNzVdKBZEwZ50UzD0FwMRjgkJOdNb2dDxggMgprIulVHdJCDFesk7ueB59PVwc2l97hUNz9dqeM5VfO2CZwu2PoVI7i/tmD4TK+vA+rfOdRs9sxWFXwbdurk8P////1b/////Bt4VawbWhVrBBr//12LnlAEAAAAABXA6bZm7BZgkJZg0DYAA8MFsIBoaBItG7//tgxA8BD4T/Ob3VgCICn+c1xKqsDsRCBH3uutMbJZs4oJZEJAiAQgCKlA5AfEgeC50NECSy+zNMlklpeTi8rWXNjh1Sa6ffzxnoi7n4mX3Hnmtva+m8Xumptky2f/3z//8PS////8VUppRhMRhY4EQMDwAoAAKW3w0LzpCnDv2IgUARORHIWExgcAFAlhDFUPEWE/4W9juu3TxmJRKNRJnbxtqwGpSRgeH9JKt6yplgfIURkuXbaChAmHKiRMuuLR7rtrrlk7YZgxCoIBIk9u7W9b3zn7lnEYC9BLHymX//84fC0Shn+U1f//2JU5xw2PAAnQIAAAALvGJREBlMGtsbhJJi//twxAiBD4zXO07l4aIVGuc1zSS8hKKoFs3ylAhZMRIC2AMOfgIHZ1TmG0mUyWTDec8M2Fg4Uuo212sZY1NmDbfjvLSt8V63PWSBFm1eWD8a+c/cSHSvxWLiJ6trEinyjj0YKNTAs07xwbckAbuhhLUfz/W/09P////7LhItFDUgCAAAADjGJhCd9o5wAJhCmMADsysCjBFlEDQSQQFAyIsHicAJHy6Big0PrfZw978sahtVCBI49ayWNOW4wGAMLBMVvNoBOVJhIda3DJgRh4TX6uYjK0aJ880mF9pj1D9N0PZUqywTGoq5PLRzya8d+lZYm/8VZRNsL0U///dyjkNVTMgpSgBAAAAAACOMQBqZvSSZFhiYSAk10SPwqDQUsMTUgMOWDJYpAgxSFQZADR7W4kZHXzrNPP/7YMQZg4/U2Tuu6YXh7RsnTd0w/GAy3FdzpQKfS3IzBezaJuzZYP3qL3zgwZEgAhXgMbP/Sc7mztuNXrkzdtiaUmaztI4k7quWXXp6Z5l35maN91nPq6//////daVJoOBcYwPDIzki4yfDAsA+Qh8Y0AGFAZHANHLaGAKIpKCaAwihaYGHIgpYrKcxThorrKPDQlwVsJUNkhhuMNsmo8p7vbpDjjejeXia6quSFcDqarb6HO3ep7MHQe5tKu6/ads3anPU5LeB+c6ZYjcbfjnGm/9/////9HvEOlkDAAAAABxgMFDntINqAAwiAAoWAoCQYAygRGGzIjBCvEjWFDIxAAmcN//7YMQUgRB4yztOaWfh4ZqoNcywvOs1dbTUHmiqtd9GgdCUIYZQclbMKzUZDFL8dG8gA6I4zJpPMmDriSMIQvB0S1kI9yaVnP3VJ87/q2SlTY1LHJnCXZ1eSHL+Dy3ruGPCzv/qFLf///2bTdJYVlQxwAAgABwoJzCu9MeFEMDJVEQccxHEcZ5l7s/Q2C5InKFHV1gY+eW6vmXOa9SBJaKXCe8BjUajTb0dAyPEAqK5dSMh+bsKLpkmI89lNZa3nUiju7uOTO4xbpnL3jo/WZaWJ0P079JmHpvF+tOZGS//////03R++dcqAEAAAAAICA4GAj9mgPSoCBQENaZhpMXoOThGcf/7YMQOAQ9M1z+t5SfiKhsnad08vGUHcyOEwKEzxAEypRCEu8tZjSgo6G0BkjYgAExhl7xzDNLGeqZGuDAPlSY81FAcJCVMKEyHSdRpy3/baq//3yb2dzP9Kv5YMJQQtO///UED0xIjoTf///////fPNHUgYAAAHjCogGU8wGMQXCwOiELwcgxiQwQJOPRGBAOWju0DVTRjw4CZYCXkkBAInigApkNFxQeu9nTBwiKIiCMbLHo02RJpFHsx6H6fhxqhVG8nWSeQuSsbEbDgOU3de+Z5d/vNfyuWU8zNU7ZDn/7XErRd9TO///Djf+R5/LP/qILKb////+9GGIfbAEAAAAABCP/7cMQDgRCo2T2uZQvh/ZtnacwlrHxgoVm4dCaSDJWHRQnmIwQFROXwMeDhhwODYXNaPJsSprja46RRNszRGNwxpZUqWSIKboG3HRh4NsjstKuwNDOErjTbNGn5DM2btDG6d1KS5Dl+bIMkdiEqFfhHHl0qqMQVMH/iUuRgtA6v4RR63jDxexIzv//3////oCgBxQCAAAAcYwaFTjGDNdhMwkFiEtmQgYIg/EDK4xdoaHwgPI0OiAoOmblLIdwVO7wcgYStIRATWQaTINbCWCUbR7Law3R3uSChbOo9hUpKIFQIFRoNqMgjDqttoc957203Vkc/6eDWf9ecU3dEk//1f6W/0Z9JZ+lP////6epFiWSSBFAAAAAJTA4FEhkDPGNxUDAmMAkiVgRyTNHwUkqpYOdi4ZkqrQL/+2DEEwEPCNtBrmUl4iEbp2nMJazer4b9nLzJdvShYjo/bxvQUUpTJxR8CxcvKMFio4CyukZhdkioUFCez2r1862+F57MK58/vbfdPtR7DA7J3///6Tf/SVICFkgd//////8nvcxrQIAAADxgEKSdDkWpMXgYwEGAyImCAgk2DmOSgQBDkLD8SW5iIIiQGD/NnS7GCO8HATIGyFVGaCQRjBKyUyk1FIZW7L5qazk0MPyzyDZPLp1EOGmRGMIR8kc05RQRtwxm9/nntr9NiJR9m8Q6sk5MUrvz/+CjHXSYk93RZ9HM+tn//+lLeytxqQoEUAAAAAksDiAPmPM2YvE4sLBgVBD/+2DECoEOiNFBrmUl4hSZ53XNJTxFC1D7h9sMKDoek9wrIraClIYTPblCEw1lL7ZUxVWJ+A6JDkxaBxIDSxIgo4kBsoeRCJNRxWbC9EeiapxZltWpD//+7/tDjS0XxvPqaGeKT//wueQGl3L///////4220AQAAAE8YwqIDi1+NhhYKgUEmQxGDwEIhoiGWw4qYmfBYELvzDs2ICMbHBoUQg4qDAUuKHam6BJVVPYFTBAAGgyws8wSIWLcZlNO60kZLLKmRlyo8jHHSNiOnzz3SUabn/WYbf/5nUdJddrF5ptDkN/TRvPmUUB1v/72e////6iTxlQHkU1AwAAAAA8YwUIjdP/+3DEBYGQgNM7TmEtIfMbJ7XMpXTMNMBZWwdGBokAmBwmgBMoD0KA8RAAGDAaWwcPRYBnkTM2TCArLy66HcaUSpX6IxLnNhxQhFZgDrPHL+fICyEFCgIErBCjHlj8EGEZCQJMVGZBK/+wvp3CVR+cP4yuxNcohyMiF+5/7pEiZzciT///p////1LFksSQAEAK4xggamg/WZSD6FYjBoc/gCLUejHI+TSKBgIiEE7AnZwScVTtqSWj5ogKKoGFU2GUObWR9pDkTHtipmtVqfOzN0Dq1WrVLMvCir0InLCdVG++zlZnn6tPfBHiedOEH1SKW5SiOVO////8VDiLe2/6ddOn////tRhVCbEAUAAAAAADjCwfOTKcBZcCA4Ak0yiBBYHmJQKYmL6ARN8gMhMVjBJDZYdTqLws//tgxBcBEODbO65hDWG4m2h1zJi8dM9oJKwQXSOJXGpYhyOTlDCMbX51lN2FZR2CqzQ5a0G5L45QdHHgtFWLAmAiedwKwe457tr2Fx35CCHf+TMB+YZA///3yxUwUokXf/k/s///+5GPcTQIQC0MYAAJpAcRhgE14wQSDDAZLAnBQIHYDFCMHKfHlixshsRGJ1pHNLhx/3NWgzyKtJXuzroYC8CbMfHBRs5CzwoHG64D6Retm1ZTDStOtnU8b/+irkMcYR3/9g0F6rbu/4/5r6xs5zWf//////27CyoAQAAAAAADjGGAWcXepsQEhBmMADkBOwwAIC9JgI4hYCkAEKhuBQBq//tgxBQBEQjdO65lC+HNG2g1zKC85CxgubArbkgsvFQVFiKNgCcaPKeo2eqYejVQybSJt7SWJBHXkcGKwfGpZSRiP5RytGoexl4+SvKSB3/yL/i2GRdH0IU4YE5aFEEO3lRPh7d1FaG+j2W1f///9qErKJOjgBwAQiUByEImbqmZHCIQFFyEStTfOJAQfQ2UKkHBEgIYYFDo5G6j2ucsA0dM5jTfKdN0SUlpMNDwQAHCqGHOQKnCovFrlbOFxCsVE5zX2TI708ad+mNFUEbKOUwYc991/8B8fxiDQw7Fnf//////x6SiWKoAQAAAAAhbjGGRgbM8Ro8RCEMjpIMqAcQmxGVM//twxA4DEcTbO65p5eInnOdNzTC87lJAjIRWgPbDNAEkwAKYgnihwhpJ9KlOgqBIaYfEzQAY+UJmFsiEPLvHGaEqpWFrbYCJZ9vOuYK0/OyM4tUe+ZLwsyR8ZziBaaFA1mPD3mtZIKeVc286//+w+GiY0y/oOsKfEEzY/i9/TR////q6QAkJAABXjGAgIcNlhrgGGAQAIisYNA4iMlBc3GBHsmlAFcRjDGpk5BETY0kwos5iTzkDRhJ5risCO4KhrnHh68R+EtURomoENMPJYQqtGaFMbdh8ELkN8/il1ulOeY/Htvazy7+21PmZnF6dslTMr/mVgXCyADQoKOFfxHeimZIA+fZ2f///6sJyr63NBGAAAAAMJ4xgIHZhrIph8HIKAUQhUEG+CkQCPnDksDSeEYQfQirdov/7YMQUARGk5zuu6YXh1xtntbwZrIKhLKaCju6hIDR0YamUnAwJkBYFJKkxJNwjChMRl7jkY4ikmGpmZolhfOVh0V15ZHReWr+u9pjpj/JKplX61r21z5mdfXMPOTMrfmVrHzrHSfIZ7MzMwP/eLdDP///6FwOmA1NIACAAAorjAYOPyNBtWTuLfi28YWPSQz4gUdIix4yaFMKCBoDB8HoxRle5ozWhIcvbVfcKDwrRIhPc9kEv/PSqpTW6d8ZDct4KDFrNQWmiSmXSTRW6CDIw52/+I+J/93PoNjKPJp/vvB/+er/qj9X/////96B2KwBAAAAAAQOMVQuMdYkMNgkBwOioev/7YMQKgRAY2zuu6SXiAhsndc0svGKYBAE4RCTpjxkQmiIzI2QMekQcAotmFAuRezG2wiQZWdbi2IfBx8sA1RMjKhoVmpopmwDAmhXRCU4620I+LhtlN5+E5MyjDcnS2T/8meslD+1VWE0DEo5L+t8M///62ft77+v///9VshDcVAGAABA/GMFB83XaTUAPIikICiYCBRijJMVG0rMSZuKqw0SI2aIZgRDlOOVQVMlI8KPibbsrHZwBQRIBXU/oNiVAycqdo0LC0dzjzjckKiJQpG70LYemTM0mk0oe9qu6qv0VvNYtyWiaz0f9motN+yZWDR33TKSO3q///1elpqFLVQMAAP/7cMQBgRDw1zlOaYfh8BwntcykvAAAnGMBh03txzU4hMOBgLDkz8AgsJRYAHZTLPSeFZZXAMgCSCCGLspxsSasSgYECCIwJpEHWTBjkgBvtEIU1LUOSnDLHZ2suSFkwEhgC/AwTr3nHKrMW+verTapL49b0NN3ehvuff5/sq9q56Zg+ZmZmS+qMo/chb77f///tYou8g+wwXAEAABIfHMCiQzltDJocEQTGAAHNU0iTDJPbFYpFKQdj3pgtNoLNrBsGWXCVGmFOWnrF1FIfFl071QP8BAsfzzqibB1DDckRGCjYNuovGWOWQvhi+/ydP/qyctsVK8Nn707tb/5ddz1P/EcxAo5vEWn////+lUYWjFsFjTFAEAAAAAAJ4oGBByNaBmYMMgQCEoyYCxK4ZsEbm4CRAyDLF3/+2DEEYGRFO05rmll4gGdZyndMLwOcgVawkwQ5uNEX1ddZNsaJtzYs193AoCbKVgG5iUE4nCCTx+Nh2HBppUjDtMjU1J5WDog0jKDjVqlZK3XxC6M1sNzP5etlZYSdBc1b//qm1nf4N6SYuj/wslRNWa+/////rKVl3iYH8UCBuFJrBIjgYNR0TDB8CRQwgPMlraCVoyrdEiIkgQuEQlmLqMMc9OxecqUrVjXrEy7N1S2AWwgTrmXHYFa44ocmbvmcQ6+Gy+EpOTSHpnI8xz4/lTRnrfq/VlZhuf3mfbu/0zMw5i574A7G57dCXfvTi4EppnFf////V5nmQIAAACBvGMFDj//+2DEBQEPENs7TbF0ofObJzXWCpyLY7UAU+YCOBmeYCCF0CRcQnpoECW/AJGmrA4KbG2pAAS5WWKosaWetKfHg5wkDZYZKorntDiNsvdQvIN7srAmOo0rK4fSj7TuFC2jzJW2K3/P52WPau98uedf+8z//IoxJ65j7/////X9tscHokAEAAAAHFEYUGU8RGOATCQOiEDRZDgUDRgwApguM6lA0HooLYsAYJCdQUiCxqLUV5Nono2RdrclrLTlCOCnTNXQTCzzw9m9SoVDQcWDuFHUtlVKBsr8XdfOo1dN+1nvFBtPBkhChFENKckMKQvK/+F/xI9ewg////2+lGqDCgBAAAD/+2DEAgMPUNM7rmErYeGaZ03MpLwACS+MYOFJr/GmiAqTDccIJjEDEIpEAAMTEZyi05CRRs4lFUZnC71RhbqrDxpNZ6GbxWDW7qpTbzQI9+FvWLaQpRaxFvG5aNDQgsqophUaSi+Fnp7LW22azf8gqpPznOOqziyx/UPto1EDJP/Z/0f///vUopF5gAEFf4KhE29OzTIXMHA4qjsxUAgJTFT7tcooiGfStcVkZiKCNae1P9+2AXIfbs/UFSZBZ0KaC1hKUSU9RCSGChl6BREKhciTKlJU7Jsok0M3Jb6ldZWwhBjex14l14zlSLw9X/yFInZW/wnov/d///uVYWWgAuAoLwT/+2DEAIFPZNU7rmkl4dCbJ3G8pSxAAAAACS+MYBFhlr7GWxwYAEqCEiaAOSkxM4gYQAQ4IKMR6GAR7US8srvPCxZncRThY077Y4aSZdJT7xi5PR9JypkkYKCNKI6SEHMGz4NWyhjOorKrUq9f/+pfueq9pKoSlPLWU9wv/9diXgwyp/9pb////TZpUNJKAAAgAEkwwfuaEbAY+BAQaCLUxgQBwkAoZDIIRHKyNMAHrDgo5aTN2iQO4kYXKo9cdR3066Zb1ABTWJsoqmgUEw+zxEYNnKmQI/tld+kaaiOMa9/qGItqXNDPwj7LqPVZ/W3//BO/pDcSXtv/1dP///u6ey1i1QT/+3DEAIGPaNs5rukF4e+apzXNLLxAAAAACCOMFgxMKpTMLw/IhJGBCMCAHAipK84C1qAcbJGI9qBCRhQ8pYYrUn9HHOgtUSd1uGsXgiLT4KFguJhFYVs8Ns0+EglKKBea7CLCB89orIVPwUP1mGsmyEPFBcOxOIhpZ+Xf/8i1/p5P/2p9Kf///TOplIosuoAQBHjGEQscKjhsMHISwCODKYDMecM0GNbIWuGChEnItQsTRZBRtT7nSNqL5PDACi1E1WQrxfeGHgYNsFw7z6ThAlAgx5JRiUoJD6cwIiaWQ9NZJYqPse7//+uTjtIoKU1TVMwXlZer4p9/+YV/tPrsZ2f///QhTBiiwSQqAFAAAAABR4xAGDTeyM2BoaADjDzbCE5jiZhJa1RYoQEQ62IDrrpKZwEo/IYe//tgxBaBDqDVO65pJeHmmucpxhqUlSzXqgWMxRf0Bw7PEsip+bcz5uR9+pzKZ0DwIFiVFKVRjl/Y/2lBifVzpx6eZkkWu1Ez5rb7dHf/+cwh+2n+1////bQpUdQZAwABJHGMIDM2P4TRQfEheVRyZVAgqHWQChgVMmiOA8aOxggLMWHADBbqKz6cF4tt0aAtiYQof90KtG4FmIWvtL6ViKcX0QzteWxYp1ApSiZjaq2YFNaUpXhhmk4vDUvzZw5SB28vE/+fvrlu/VSt1////1bdzBe+0KUAQAAAAAAPjGAwScGmZrMEmDAsIyOYCBAwlC4Mytluw0zJAI9yMWEL8BCpYGHc//tgxBcBD9TXOa5pJeHeGqcp3SS8nOdKyuJ0HMXnA6e8LdydH5mKhdFIgfM+Jgo6RoQoFXiJTZ7K52/Vk8lPVG2U7ueSbjLHz34xCFP/9zld8yf9qWd/FWaLff///07hEWSQLOAYmAAJJ4xgOGBiFIRhuJBgcEooD4cZA0QQiNpEKgEvtKRr0SJUvCgCrJEV8S5lMErumn8d15kE0dStleCYU1RWGhYLLEsw+qhimWE51+av2G3PIIy3cczaSqmqormn2chiqsWarO1/ddr//9n/9iP///+A9FZVRYgqAwAAAAk8YHCk4+GQzImLQMYCAgs7TOQQHn/WooTWKYE+xhAIxBg7//tgxBOBj4jjOU5lJeIEtGc11IqsYOKOSpkUiY7g1Fu1dXMAOXHicSF4EkIB8UPU1ia0ml21yURKv3fOEE+le0w26bVqsuhrU1OlGy6DBXlrbC5Mf+f//vf7b/1Fmu23///T6IrNbViEwkAQBDjEgZmMEXmHoTkwaDAeGIAAiAIm2MRgCYIpWSgAHDkAQYgQRABGpufexaL0Kld9vXbhxi7+Q+5QoDeKw1VYhBdlRAdR0xK0RGaPIlckgYmn4yzvtyi+K5O0XvqttXHEaBi2IRtCl8v0fVP9nr+jP9////////pbXy6KQxS1CtUAQAAAABJcDGFQ8b2sRqcJA0AgEmGIQWY8//tgxAyBEDDhOa5pheHHmydpxLakARODhik+hJcWBQ9rEJ1QgUBy2B1Z9wZTLPh9lsmkTAJyHb54Phm59dXnyZ1bGdZBFtlhEafcXwXpHBZ+kxa8cqG3KdMMUcnEd3YHNpTnphilv5n7PXmcB8XZWVrsf/////s/fWMPD0ngMAASNxgIEDX9eM9BAvgOhYIZZgEAlxTFglL+omDgMKCuXpR/LbSVs6+Yfg2IteltE+D3NLe2FxkzaBm4pHTJOabKj5ZCsQuJLRR11Se5NbuXjq2+Lbef9ucetN1otNUemh/1jOKL3e3V9v///9fVQ0TKBEAAAAACV4xgYGJj3Ap+m5lwYjNg//tgxAqBD3jBOa7pgaHbleb1zTB0fcY1aOhDNwkwhI6SEB68KmnxIhLRIHLAuFCMMRSPpTUkoxA+Tysje3bv0KSHppchaar1hJqSS2xZqOfpPZvUotY6loW353mob0vfOdlX17UZfo7iUBfWdk6F6Ff//96tjSBuMFx4kAEAAAJ/FGgscsVIC25goNAGmaEUFSYCNhaynoAiZCcGrYOBoARYmuuH1DLkblQ5nJQEESwMgiNisOVtNmfdOICVEWXSe63dxDTlY3iepXX/l2u/S13X3m6xW3fpaJ/XpWpAdDwHCZL4tpUSenAb91X///7vQAtFAGAAAAAJX4oFDwwHnYLBgYDA//tgxAkBEATFN67pJeHRl+cpvKS8+KB2YnAIYg8Z8MYygXvBxYcME1MKEW6lvFNXUao7kCTbQ2jvK+kDJxw3KoscA1MmlhQhUXA2J10CE2yuPNisjtemoczbldr/HxuMp9eHkVZlm1fI0kNnPtssfpSsQQkE1jNwt7qP//9ufnSOKKWBgAET+MYgHn9451wCZaCFvRLgMQ5Ss2cYgGOEiBFcCEFCkv3Abymcl1oBh59YrDcIapL3itEw8MHXJyi0oJ7JBm3zzslBW3F6i2okDEJKSa3pQXVpjEpyhTM6yamWnK3LYK6vLL7NScVub///57PzRkCQ6MUAQAAAAAAfjCEKzKaG//tgxAaDj5SzN67lJeHys2cNxIqtTGkJR4VBAGQKN0xFn4PJp9EAJI8PZAoIMALrRRfq2ZDO6e2Iy1wXjgubaBRVgAGkNghEkOgDJyEdyIfbHC4lQrRnFlRiFX4+EPWR1hBVt3F+r3WWbbB0MHdqpwlFl2Ddlw7ap////MquAD3ixd4EevxjB4gNdZAz2GjAoLEJKEALHgELCEWM6aQ8Jx0MEQiLARViQ1VWrM9ga1hHWquq2CVrm20CoJirKyirSRZkJtkrT2wfEJMRTIVVriq9e31k55GezmxcH/fi9Ke3PNUyo3Lfe9zop7fv2kJXs3p29P///////1+69qHDqZAVAGAA//twxAGBECzzO65lheIFnibp3KS8AAAJX44EBhseAGhAEkIOCYDJMzcQIOdRaAlBMVFB4pBR1k861NEJHVze6Jy2JcWa3RwdQ5DzPn8rzpdLUSxGlgZPX7Mq/+1O34Ohj6Wstk9FVyZh3c27zUVcXMTM59BAJ47p3lIjpBrBmT5nDBZ0jmgRuZr/////e5vi50iD4GAABS+pgIHJi3IJiAFIFAdFcWRIw1VpHXkwYawJICY4GqMoL8P/D62qeSQy7EAumyt6Uz3Gnqw1sSFhCUXEhdEQA+RyaiiChGINSSlKWMK9ZWFbPGO3VRcor5SVZhr0TMUMcZ8oMt3OVuWVZpaX/0z/mKnqkTYXmnTOn///9jWKpQBwAAAAEleOJBwvYjZGDA4Kk4GdhobGjswYvVsWSQiyiIyHv//7YMQSAQ7Q2TutmPVh8JynNc0wNMz2mtyqcleOMAyeKQU6Ecl2YWoISp0VKJ8xDDe5EkiQJlp4cRZdvbvepucRh0ieXLWZsuZuKOgnRUIM3VTdHhQMGJ2FCozf9H///p0PNNCy3ELgRQAASpxiUTGSfQaxoZQ2KPTDAgsSMKOHYTrjyIhMJZF6WBsCbvCSWPo8KsL64tPhSVLWpry+Nm/0RoDrS55l87vdCOqP7ZdB2RUmbO4tl+78DbFX+jvamzzC96J1L1b81MzMzmnAa1m8y207VFnmmoRsT///X6GyRE4cUgBQAAAACCuMYSDpvedmpgiY5BAEFoCahhYRFoTApNZyjf/7YMQQgRFlozeuJLWh+B4m9cykvIVRIkEKhxuiarzUTd7des78/JHplbEqkNU4DcrB2lEJUHRKdYQ9ZRhQUh9GlKMkS2av9aqarLpY/p7OM7hJya8I3JKnai9+Hn/CMxYpOEP0x227joEM3/601///////5e6nOhkZNnudkGOAMAACUuKFw+bE2Jn8Lg4uCAABzxMgI3Cjo6ekaVIZigYtGXJJhoJbVwYHpMn4j9HSxVtYi4tttCSo23xgJ2EbShRE0sVHCoDqShclYT7mdypryk6P/lDPJVHj9SWhC1VNnBSTkUP5kNbHELP/9ytpUyzDWbXV////bMvfcOTVAGAAAAART//7YMQDgY9s5zmuZSNh2ZznNbYZ7IxgUQGhs8ZbDRgUGkPBzCkpJnCneijcjmWHFJhYVz3EitKWBonFAVUDYKFAlECFiVQOxbhpkQIkacjL5o6RmGEM6niRGysSolO5pdKo9P3eu8IXSeyitSJidynm3LOjWYMIHf//rvdDXQY////+pbSDDrSdQAoBfGLOHs2QLLCUEGDQykBIRUtGPMqlIkFEowl0FApU674EhRcZUlwf0NtWagwKwtOFiZ+JJaJ+5mjbNYYL9NeN6LmlLIPuPexS/88NGLSi28bjT3PpNp++SjSIWomgasiP//5i9LsWcS6f///UtpJhAjD8oA0IYAAAAP/7YMQCgQ1s2TuuZMXhvZmnNbYZ3BEvjAwOmAciYQGY6EUERQozVRQuOdKD0DCBZqaLTBWRQZ2IckVWVRmG52bksNQJJTTSmxhAlIiHbibbD7Fihn07b2edlZrZNU7bJTtHTe2iZmnS+f/6PJnf/8sz6KP////6talooSAMAQCVeMYSCHrMwuXDgQARUMpjIRAxEbMiM4QX5GSB2xgThhUsInieeqU4iH8lKgqFBHK9sKtsjEyEBYcqypOcar0DbV222jvp9xcWm+f3LpvmJkYOMmI5qv/0iNo5iX+6B7mWDrP//+t60LnAPmUAQAAAABF/jFgPGZdAY4DBgoDkAxAQaC6Chv/7YMQNAE6EuzmuZSXh4xgnMc0kvBm/LGEhyw1EAoMzZf0Ti8T5IpuBIzLuxxrssXvGSZlR8mrSLmYRTnDuUOKttyldWpFpnchV1VTzPm3KfTmlnGWllDTNOvPrxd9dVJMe4IMf////7BzCzB9TBwA4ABAAYwIFTVM1M4A0BFYQC8xgABEYMoREEliKOQ6WV4BQDJVqTsCR+fnae5RRudl7T48xeUEwtskrrLBeyqhPkNRtqw3sMxnFnLqe/FZoHI1W2IJ66rWtVJA0RuyHjNzgeQFjMIkwi0jqHqZtwB////tY8qJ1DjYAQAAAAAA7jAkHmyKGaHBZjABCABizcGACYEARg//7YMQOgxEE4TeuJfViBzRnDcMLJIoKphwMGA4kyShuGVY4nCYxG606/U7TOFbfiA0opVYrRyt4zhCKQQemwyO2iguKlkccirD3c+v97FQvwyOPnds9EbjClZyjty+QSKEHRHSKPupOjDwHIWBCGOt258q549n//+6We1KLyA8SgFFLjgEQGTs8YzDRgkLjggAyRCwJJQGYfHaeigo6FCgAF4IaeCxCYIs2Zl7IYtbrw6+K1s5ZUxzpb+pXavOretZBjD0kj8h34mvqczuzJoyqCoKatmPuM9JlHqf3NS3xNKSScdECSI5T///+lf3bWuv//////bRr6PKrtV60M2V0EwBAAP/7cMQBgA5Qqzmt5YMiGzRm9cYKrAAAWleMnCeaTFcUFwwRYF9RAKPFHdVBI8WQpESAFErhiSy2Vkhk8REg/kmIRgVXDy58DkPsKbkssGyidtUxW/SrXZWCC8EtLnLx0hfxvrMOzt36TVtsooEiVSwaKhoseLM6L9S/b///7KGixATuNoDHABAAAJf4wEE5ijumQy6YqHYqJgxFmFQoXSMhg99mtEgSIhSKhVkcbbgvazLYJmmtvBXhx0FeNJlNU8Lqq8Nj1ITwuPD5ff71llosyy9dfsTVn73zdZmOlaLYG/mCzJ0tb9NU0WtOz3yhTJKm+j61bVm3t9F9Pdv/////2/by+pjEznRXHVUAUAAAAElfjGIhR6XgceCAkGQiIsMx0qJgMMkUUSYQHRAiMEsWhRBiVeG6tl//+2DEFoEO0Mc3raTUYeMY5zXMpLz3GeCmqxBY70vxpArByNYWYbGBzcmRNHPXgATm3TnU+KK2ZvEtdqvPT9jIWJheY0Fa0CmDNW/j14kOMOTyyFf///qpoFSzdYPAIAQAgNP8YQBA0LRDKwMBwdLAbBx2AoyPh5rIZNhJRiKgVOZgwd53zlMjlcflEOSKO3G6R9jkkFopNIGGziAdaaR9lZPbmnrEpuRYowmuWY9G5XOMG2mq3YQbgqlNJezHexBVqMnG2Xoju/Syysp///q7qqQWGRYKgdUAYAAAABFfjGBBCaHxZlwLixWGB6QAQVVEnTy/WFHgiUonBAI6hsccGg5I4Yn/+2DEFoEPyLc3rmWF4cYW5qm0mozXNiWUGTamMQVbfGD9F05SicakSiD6RxWquZRWedrHLRzC1DOuxc49e85MFm7ZlHtjeaXnL7TInqdGXVJqDTJNDmClS2///FStaEnN7QsIT4gAgAAA+FDAM/DFOhAzLhQkKQNYDgSXMMfXku2QJPDyiAAVt2w8c56qSNxabbBWgy+jU6TZn1pReLTa5sEgebbHNCMpNMwdfPT1rmok+caTyjENnHr5q/oudcoqE3tKySn1mx8tO5ZS/2f//z9s5pF0WEkDAAAACvxgSIgZuASHACH0BAktSyJZcLFlSBWAm6FBAKoSchdUb4ZIikdjOIX/+2DEFoEPTaE3TjBP4diY5vW3oZyF88CgqDrayCpfrRdUx1BO+WRMQa9W3O5mbPV75pssu3RNVsc3q02xCcos5A7BZ2CiTjPZ3avU7be3VL1b+un//////p+v2JfWpZ3MCKAIAACn+MYMDnmv4LDTCRQEEwOaSYVDhowRUd5h7/DxqWTTBKw92h+yqN7jaw5OZ2lUy2wFH6GUwfjAZJYaTR1FDRQszPH1ZiyKOnlH8RqpxBTFQbJ4QuHykilOw5FLQTJ3Af3CrximkBdKULs//9S/XzocpKl1BFAAAAAKJ4xCEzN19MwhkxMFyEaIByqJiz5iEluARANLceFIEALIh5CXhN3/+1DEFgEOOLk3rjDNYccz5zXDCq040kmYiP0DcpKnkS+FxJs2dNlzFoFBrGGwNP8s1TK3VLRbYWUpcNZLPe65f3KzVc2cHO/6IJIku5Df//7UwuSTSl6wfOCMAQAAJO8cAhYz9GjKIIGgkFQwEHcwGFkHDFAuUVeAgA5MHCUHRBl09CbFSvYjEFyC7ptI5a2GOmjcwjLBLXX0ShUh+rIwbR/2LprVu48czMad5I1SwU2eDRWmxcMN////TT+pfp//////9uv38jOpZh5VAwAA//tgxAGBDbDHN03gyWIHtGa1wwscAFL8YCAR3u4BugrFoBJsJRFJk0ElUcKCEEykpbdVrsyp8oMrwBTTcAyGHJKyu5A0fkCZ6oyFAxrWhTBNm6j0KvnZueMn+ioeHnr7kKeTG1G4roSq3TrUQbfSjFL/T6ZH//2/qWgdEa1ioQBEAACK+2BAjMQ88xUKwcbxUZmRwAARG9hlABOK74qHxISgQFrZWc0qneicgOWzDC26uXDCfUkY/SyOGsbtL83jD+F/Omle1dhPTTKoIXeRhdJ+Eqr+nysPhb6U9M9RPJo4jLXQxx7IudG+6r1tqqekv26////v/7ZLMtn9GvIjbEBKAwAA//tgxAGBD8mZNU2ktSnTF6bpzJi8AEn/4ukfMnC4sY0KCqGFgAVFYwaeDIrFAUQk40IEA4+j9R1+Ld29JZ1/Y9uLLgn1vwEqQ01I4muFAeWQybfFImLqDOKRbp2oYbquRg/Y+CdarXjWC6upjHM27amDJ9vcpl+b8jtsx66q9U1X6///+3ulubZD+e5JBNHFhMAC0v/hkKGZa8ZCEQyJREGw48IwBwZ8RpevUVHSgUv21Z4YboZvsvzatJa01E2vx2XWSIJEo7SZFILTSnoCthNFJ2KQrUepEt2m73GSPNeZjziB5FujUpEZPePHN2uj1jgxFkjCbXi6tlH//7ZqI1nUkWMv//tgxAABTwjHN65lJaG6GObtthmkAFAAAAAaf4wMC5oOPmUAWYXBymJQnDKSBoB08MSTwLD6ngoO/634lGpLRyy0+Mfk1dAIiMgOjnVl0B6SBe0e6raVTQN7fm2WQNjFzk6c/V+LE/OmG3XloW5ecO2ohLKNrWfKj1zi5Nrr3pyEu93///5SgY0mKkybABABlrznr0FcYKPRgWDnkKCCbpiSSzRwSUj8YEnOA4Jh8hPH5WBmcHGvi2Irl0t63+LkWH0iYSmBPMDnh3Z42L0qHbH5SWT5Ljs97A5hAnTJu0GS1U2lrbkTVqCSHtMGyxxHT///nLZHOBI4ZA5eBFAAAAAZX4xg//tgxASATyjHNa5oxeH4s+axthW9ERGPNIY5FhjEBio6GAGXaMgABN5cY0HJFLrl02Wsta9G6CtOx2ckk9QUi/5uD9AITTmSkssLEmJ1uGoQgIV9WGJbCMxKSG6X8yyf/r5Ea1vp9rIFOi1ta0NKsaByjHo0XOC3///96RQqQUkQrAKFBMAQAAgASNBJ5ZoPmgCFCAeBVGMhYAATA19Xr4EJShGFhVzwuHs6le8dhCZQJ0ggDiZGCEhY91lmFuE+dQrdyHc7bmkNDTmnOnW7P6+LyMgxBiIZEcRYTEZxUTadh/KG2tVW1O3L1sxVdktuTvPb/////+lWbcpJ+Zklq60UYpUI//twxACBD4mbN64wTenfm+c1szKsQAAAABFfjAgQmAseYfG5h0Nl/yJXAULioAMKEhw1ECQPkwLEAIVOPo8rRro4ypBQJjQrgRHNRGsJd+gvSiKB+z09q3H3k6neXzVlDdp9H6ehnOyUKpylcEikEmMJjIU3mOQ7pTW3rVE0/WnX+3//////1snWtT0kUQl8wBwCAkvxy2R0T8HbwEDAuQhCcYiIgYjMlNVsNVJQ0oC1RrNjd+Fx2fh67F4Cls9SsXkryxOTE2Nh4LHjy6JPzyZtmMbDQZdztbDylr6fcm/tEtWtt976T8rP7EwjiWhjUUJyWQaBIaKb0poY6z///VuvMQGpRw3KqgRQAAASWlOOMBAyvOjKAeBAZGBKCgIYQwcUd0C208yQUiXFDarwTc9SXozGY89Ehv/7UMQYAA483zmuZMXh0pfnNcykbFNZ9NRXALWn1tLk6TstTbRaGi22kpJVqO+U+UU/n9/n0pnx2xvPjvGZ/yawUsAq/7kU1fXs2tfT///1kqwUH3Wm3ADgAEAgtvccGA8z/BzKQNMOgQLKh/htVGEEe5dxrCOpM0ICGHM5wg4HGA0uyNDjSMMoRJS6U0xb2yubdP7iAauckEZWonGGMwh5rHG4KRa3E9YVjBOSy0GooIExtB0oOC4dJZZC/u7NX///tkEGxBLsFoIhGgBwAAD/+2DEAgEPUMc1rjDPYcaX5vXNMCwAEn8KAQSa+k5oUDkRsQYEmKYUExhYBEScT1RZf0oHwsBmAr2eOEncRFkYwkwhrwHkIINYJuPQIXSsPl9bIeNsYsgLPN1I0k2OkjF2ft1hT1dndBrxInLBxbkLpCEV8roWqwm4VWAXLsabkNX//+2qpsy56ibBcAUAAFL8YChwydjDYmDKiSVYaICSgxoIcMkXWZWwoebihOKKA1GBdbXFKIpjDYxETBRWVaDbb5a508cXsyxqzsXJmP6G+d/5n/2WWMMRwwfK35WTHva+hXWVvf3wfDQrp9CxRFdIs32f//ZmtJ+xZycJ1QMAAACK/GT/+2DEA4GORLc3TeTF4doaJvXHmaxxPDQiMZBAUMExj4CShhcE+K0xVGVZh7oLDQPDu34gG/Ea087+MBXXheCJ1zSJrvMOcmPMGCZo0yrWvVkUzinKTzKV5Ilq1JtzCKMvstk4IByCAEDgS3orbWsPMxVt6HLG///7narFxqDrzAYwD/GCwZMBbExeVQCM0JwsrzColRuMPj6FtcFAIRC4tctF8ej5qju2FqSL1jVItRhIREZ/a33mypeo61HtuL7civD8Kxhd1jLLvNPrInd1maY5M3LUQ6DPEMS84XsnkBxEY+PIlRlGTm72///r71l1A08KtQhiAGAAAAARV4wBBDxKwJH/+2DEBwEQLZE3rZlVadqaZvXNGLyhwMAoiGSxi4gYOEmDJ7qJmlgOGi8dD6tA7bZoCtRnF5G7yPK+0CCIvMA0oIxtGJABLUrMiUsNTUJ3TGf10ipzdj+kXfvLs+SZmQjCMu1OQKsZiIBAIBJH4FcQYrDT//dPbm+jN///////enPfzbkTIki04AgAAKJ/woHDOuGMrBgwUDxgYgYJEgodDFWgv5X5KKKERehceD9xemw4+0hfebfp93LlTzS9LCjdORHFGrIxJA4ysv0gK50U27Fl05R5xcCinOY2ZS+u5Bm6HfP9un2mJJUA3fHjaXp2sukt3+/p37MGlIawNgEAcAAAABH/+2DEAwEOWNs5rmTF4eKz5zWzCq1PjGBAyaJlJlwGgInCATg4uCA4HemH3KWTEKCJQXIf1xYAoIjKZmnd+OzfaWIZwqlHsMo8qEQgDszy9lHp9WZs01klqT1l0z77nfM+m+WcxLh9VX+9sc9En/ydfCbPr+KWEVf//7a+cIkiagqgAYAAJM8ctmc50m1gYORF4jVIIw8w4CMaMltp8DAUk2IQOAXucaTV7lBQ00rl96mc229+h+HJ+NISOSDDDvTQaei+nfUNAmUR875dFCI/R/1Wt2NRNMTY6MmnmUKnLoYT/7rey/fov//////7pqpkK2zXdbmLOws2FRIAAACTf2MBiAz/+2DEBQAPUN83TjzLockb5zW8oLydvjG4wMNikcFAKTKbrPTGYrTKTVJAwRQI4WJZhqOI+XLKhEFnV7/RvkW/3NuA9zeXSJh2hzzFFzEaXLFITSBCHe5tcHImpNONmxkaoqKk4s3NRZDsWT/bTMrBYf0UWj3yeadX//1aqxQiZeoPAwDQ4AQAAgElJLjlYEeCQEYyIwwULkGQIGHHnck9Y0GOpQ4FyH9Yq/MnsVYhSvzEspZLKNo8i6pFFBmiENJAgKYuOFHg8gbiBLMrdjFnWi0plsquA/PWD5e4KGMSKcRzpUt/m/B471bxrFXf///Rc80KIsgmQQIJAAAQAAor8YZDphb/+2DEBoEOmN857mWBoeiXZrXDIqTPnXqZDYy8E7nKAJTBrbrKxEJjNRGW5K97dhWlPVzxKLR0eOiksTAth/K9XHls92mq1dWkErKWyuzBLtdr87uZnR3b6k/OtWnYZo3v5lrXdZZ7e63z7LtexVdTEm2Uf//o9a9QHOH0rAEAADK/FMFhA3xBDWICBIKIgcVnswqJNmQAShxFggOBRJkt6qNgkUhFXGGI7Rw8/bwxmbUTbW6nrTUKgoSCVVgrk3FUFuhvC0kkCCkufFXT7UZdiz72jhi5BQPW9qNCrwolJgih71LE97FIc5XUz//9T03YPhYShoUUAgAAAtP8YYCho/LGZAr/+2DEBwAPhZc3TjBN6e8dZzXMsGQBhCSi0FI4ucxAxmHlKkfSqDESCEJM+BMeEiy5XK4gHCwxSQlUbLeXwu+05RcuUxs2pRpiB9lcWHmLOXraKz3dJ3IozGRw6nKAhmAQpkHOCIoQUz4muqeu21GRqPf2n7L3t///////+X6qQG9mBgAwABAQDS/GMDB00XXTLATDiUKZiAAqliTJuUtokGSjFAJZ+EhMPLDrA6VKETti45QMCvCQDxvrS3Cx1fb1dZdDSZRNXvsVbxsUY2+1c+93+r9qfb+bf6ZtsTfzaZjEAdgGdjis4GsXkt6ZmZJ/kSbWXGvT///l9VGrbEcAQAAAEBn/+2DEAwEOaNs5rb0JYe0dZvXNGLxL/AkBO43zgwMxwIIBsImCEbAQQYSaOOSoEMCUAbSdmSqE0zRGOz05pmVudphKQR4duehFDRxVoZZr3MIG3eBBgWQlUdidIgbZ03tXdqpoy1NqFckxrWIlm8qzco3nch00ELqEf//VK90R1mRqQRQAAQv/gCLDIHyMajowGLxABA5qmSLmBFikVjhMNTcIhhIQrrOuQPPV3cmG3davDHKkcr3jyHD6pLFlnpgEkk+WXRK7Oz9DmQ68+NteYaWpm2XLfCV0WdXVd7lzW0+ennzP+6k4tKi5pjUXMM0raj//7zw9p5os4qThdQMAAACa+GD/+3DEA4APOY83TbBP6fcy5vXWFfzhEF9YmsmFiAINDLgEmDCsNACAzpbbGiYML1vuyyVSIxVrHTpDWrkQ2EyBgpURrG6SpOTh948VV+zBeWRmH2y9pfgo9tK9eEsOve5C9z8fc4jKQ4cUUqlGOwhlb/VZVk3//6f//////71+620VZwZgfbKsEUAAgABpfjCgWmHEAmIYXmDQGjIcGDoCigSFvzBEM3iIgTcIWAULAbCl8ymiOkFz2W4i+fBWQkctL4X+9OxrWMfmuwrTWC57tGpy9aNrVt+g2Kb6/1Y7zBjbmI0NGh4QQQTU5gW/y9Lddq+jnXX7V//////+vpT9nozCkTEFAEAAAAAJX4xg8LG6o8ajBQcAjAoWBzTNegSAN6JAtZDxpMCIxy484958L9eSS2CcIAmH//tgxBmDDnjHN65kxeH+s2bNxIqtClWUMlweIT5FMxMycSas1A4o6XQox4yPsxLzoWrNnSeb6Ns32p21Pp/9sQY4sRs+VmZaq4x///S6KqMnUsQl7qAAkv/hwQGt9UZ+CgsJSoERJzGDQMNBUxKFW5EwhUVUYSzW6mrKJBBkHTsShuvA7nStRCGM7onVz1q6HSAw2k1UephC+a4/8lcp7Jn+batUspqyvdjK/humL6NyBeE4LsJj7o3JT7bK11f2cybrOqbX/////+/b1RFIiK7XMoTaygBAAAAQG3v8YGEpovMmWAyTEMkHZiUADPUFD0CJMDY2/IgG4Sz3+ikN0suvUlx5//tQxBeDDqTHOa5hBeGjl2cNthmc4dlrJ5qfuEqKEFMeLljDCUjQQHFiggFy0HSTQVcpFqsXthLTD1UWFGlIZ5D0mBSzHfvvHkv9j3s85vo///dlr5lwxrgRAgASf4xZs9zLObBTFBAhNwEoCpa8Achw8RCys8uFASBgCGNAvjLF4XD4rJAbF5pfipajFxA7nnrymzLKRLtGNTJ7207+GXhmJUJUSx2JsTpiyqeVcLh1NBEd20K3NX1////jkTKy40oh6gRQAAAACV8MYBhgYf/7YMQGAQ9BnzeumFcpr5nnNbwgvDRgYHiMKBeFgHEjoMFgDAwfjQqoMqqKyr+W+4q8YjnSS+jvS16r9PLGayqL3qSLV/pac3BAJlxFDnU449QOnFM23n/Lufey+puXqbU3Ls3RmKmsZ5mBjoml/+1OTv////////+u/sm3JKVXscMMAFAIBK3GBwKfSthKSY2EAQOErk8YH3A+zZB6LoqjL6ugmszp33oqYYQhuUunaVv6Z/6h7lGczkgcKO4wjmFoyDmM5k2YRF5dJtuvHrjcQaZDw6MEdXp5dqxSAFxAFT36vY6js///7b7LWLoXAwAAAtpcYgEZljpmQw2JC0cGgCGJVv/7YMQLAQ1YzzlOYMXhs5lnNcwYvE6xwXDi73xWckZPL0s1Ily3EPj29afSZhfTCxqG/XJoPC+gT8vqVD9Qkghqcu2RybPPnkojDcmGu7Orzqb1Xd0eayX/LPI9mtT///67XImAPAY4uHwBAAAm/xjB4UNkUQ0WDi34BGhi8BnGA1Q3yg8WVXVqU/IFzuRSxO9jWpmwXq7/y2Oxa0pe1NvyJyZQUhjdJHk62717bNvfrjDz6eOuGnNMVVY2UYuAPfez2ZI8dz/Xui5Mr3///+asHruRMBRqAEAAAAASf4wADhtXPGmAoJAwhAgk7wNGDkTKlVtQCPoPBpouA5TBm0eO3lL8YP/7UMQXAU6YvzeuZMXhy5hm5dyYvMdV+J1t3rjc6EkBLxRRmXdIyTgxKy5Jh07QtAnrvL9zcO8dzs861HkdwsIS0n4nCwIhemRNtZOP3huopt///r+QjA+KpPCICABjA4OTJOFzGAJQ4Kx0KQMaQXVmAbU0oeRWQVho6NnZa8kh5Ir01GaOcwsQw8b/VThItGFyoLCGokcOcRIVwZ7S2kTdbSevM3BzVF3/3n1CEpQ6bgpv9acslvrNpK6NLVNZONd//+3KGyIVYkThYNHwxQD/+2DEAIENPMc7rbDNYayY5zXcpDTgAAAAWX+OLB55keDy8wAICqKYKEAUpIhMqj70KXqpLegZ1T4ejUqZ+alPDlGLQ7eo9HaZveOAvJHprY+iFwQwuUcbdmCRJO7vf/v+S23zVPiMlOjlJ9pu1s09/u1f////Yh828LAqYDgIgACZX/wFCoAQQAfDIdFJwnAAACQwgqZeRFDIC4181mgPxVGmTJYmLjgwFROD55m2avdQp+bWRg5G8y5JyNdSmEfXVmy6fv3m7G8nXhlRuUdg3WJ+FXkLPo2T/RZYQ/3f//3qY9SWnjw5DABAAAAQW5+MCg0/d5CVkBKRaUauDBhhXYBLWuj/+2DEDgEOBMc5rbzJYcAY5zXHmWyYAkiHAoDeRcFGLvu4a6MGGp10pj3WqogxBfThGijiueeEFyQos4nKHU/rVRmy0M2zMQOYVpp6bRME4MAlEMJ0qQ6HqT8IPQqx8qzV///1/beCg82AKAAGn+MQCEzZ6zJIfBwwEQWDkqShQMAhhIXZkwFLAIPsTNKGUx7bXcSO4JNnUDMWh+sEzTDf2pz6EiFkwNpbU0hBLKmkcxJNSBcmVvn7nrwl5OBWSfDAIxfc1KSq696mLvqerXmf///23C2euagLKgBQACAAEn+MYTExvLDGrw4IQeISMYIAocCwgUmJxWk8sOVAhNomsWXpNV7/+2DEFYCPyaM3rhhVYb8Y5vXMmLwciUqqTkMuVNXXvbq+UwBrVTllkwBelNT1kKKJzlPiAMRY1o6F7E7OtJrrqthJSBsHwVSY7Ec6IptejU7dL5mVva9FX6f///////W8t1V0cyvIIYAQAAAL8YGBo3HqjTwYVSKg0AR/EbMuOxhRsWKKpzqEA0cdughcepbEqsv6/b6+5Ufb3PA9xmcELpCzMghdfT0keWZJMMRk99iWI7ExVaIT8LZ7Kkw56F/WjPqzqdHepKZdmTW6v///rJ5CExR0BBgAUAAgEEp/jGCAamS8LmNQTly1lFBjGC+JBA+uBlNCqYuFibyMYzhd+HJXF4v/+2DEFoBOzL83ruUl4cgY5vHMmLzWddyKdmu3UqiRJy8X3BNJEbJzzewPNKD9KNbBr+9UjUE5oEDn3UGNbuNMqsJvbEkKYjF9Gg6VRxdHcd9t////Tsx45A8oJDji4AwAAAAoWC5xJmmyQGFAUBQqEJI1xCJ4BstJJgSqMoSX1Zeym+/c3Zs3pPErcPYtDo2oV4BK+7Ugmr2L2xREad1rTR6bVGXcLfkTsiGIAWFYrSoUYeXhSS96/ynWIbRmhaev6GTX//+pLqWhAkUJHxOCtQRgAAAAEV+MYBh0BJGMXCM4ZGVYCFAF0XONeYTGXuSgCsAQApMy6A4sH3mjoiB54hSB4YH/+1DEGgDOmMc3rukhockWptHMmLwpAynF6LcaQtqNiIxPZrQkbfs5zxe4sW6MmtglK7yM4YxHW9WbkjUShJuV/1E1oooec2LbDdXv///+YY4RMRAQeAGAAQBhICnD0aDsiCjEDBSCi4aURf04q12pBJbERKm7AIEdmEv7Ty2XUbtSSOQxB0oilMNOQTvUGSKQsh5y5ex9uVL9z9RX2f4W/dC6K13y6naBGtKwYedvZKEaEvc1iE2zE+mGP//9SEBk8LIJi5caFgBwAAAAGn+M//tgxAQBDnC1N67pgWHMGGapxhnsSheY+Qic9SZYQiCLrAIpN0KMW0gdWBToiEoJX4JJgeDw0ZLzoalCdDKIqWvldt+/azd+C00grX4KsqParjaJpazN/239R6mzf9y3N/R1uVuPrYTNb3xzdSgBNC0VQxkXFP//2fCWE1qTnhjwMAAU+BTC4sOAb41qIB0LjogAytFAWghABFWoNAGACYIFUDKoM6UqhKE4WOhOlAglICgqP05XIGUhusZLFqoMPyy7Ze8oJj95oqGud2fZWoNJ5doPr1h1LIAREO9EhqcMUmlbhdJpT9//////K83WtpE4hQDQAAAAk3+MDAsbjvRpYIF1//tgxAiADzy/N64w1KHQF2b13Ji8goRDBAFMDA0eExUHTAlY14jwFTrcV7X5sXb0ukruTMsf6XMlbJPQYrdp9WKuo6Hs25a7zPipU+2cRbyWbLNh9nXhUOdM2F01b2rCFg7FziKiofTpwOKa2sB8nb///97e5R86dMDg2JgAAMACAAAmvxjAwMzHeCzEwI1DSQHhIUy9hsignXieST6LKElkDvvDalMTlMxKI+7sRi75syo6aQb3J7NpWoadlax5IBNcm5pmuDou+3CiFXVTITqRyknxac0mu06DhcOZ9N8Za5rL46lP//91NsuNOhbk2i4DAgAAk/xigLnCjqJXNDkWmIkW//tgxAmATqmhN04kT6HUF2bx3TAsDQY5BhIVNVVwVQCogOAJTd6m+pTgqNoycNvoqUafYVVSlKPYfCMC2FElbIDxpbMWOsz3YxlqtlZBCupDSEKZHjjDmABxZ8UwT1u9PWq1/tbI/9r///////+r1RmvSymZKAmCEABAEHBUNjBOJjGWjaFRkGLhgKWQtMyddBC0gBt6rtoC0SBeQmFrCoUn6CtD2APyqXCsrftfPio9RmzkC9vGrt315dBKz+XwuO1rtG/ncpOV/ps1DCzTJtjIHA9qlzb5xsmtRuU9hn//6PWH1tQSFg6GDwjqAAgAAQAAAk/xjCgk/vZOwASspFCkDEQr//tgxAwADqzHN+3kxeHms+bpwwqtqcUhtIP+08dFjKYqjzFnblUvvTVXr1v/Gbrv0ENzSepFQVWg5V2k9irMxAgdG7dFO6rgtMxV3Tf5bG0vIJsCD0zMFxJE30nayqaSBSRR1J4qyFm///27LzJ9lglC4GAIEFOfjDojNJdkzSHzCQOJRODh4VQmrgFEdylfEAFlyTkigdy23f2KTNqkisHvhG3IydfgOVBAzCjlUSk1e0rnMeaWhJSZO/aFVME3LHF6+UQ8qJ0xswbJ5I0kTSeqkdmvps9v/rr3b7sv/////9f++q6oRujPYaUDAAAAmvxTBowNud40+JgoGUCJMpQQKhWC//tgxAyADwTHNU5lJSHYGOb1zBi83UeV2Fgd72JoDXnZbdI5IhGkTh3SYdGw0kWMzUW6ogOrIii6hiCDVWimMPUfLcr5Ol6dSNrIK5NSbapNsFny9rq3qVXngydlCoTsN5ignGCZ8XGiNv//+mq8cu0FRc0AIACQAAk/vgIDjcc2NOAIwaAAIBA40gag1M+waUyUsBVjSNZFAD738oeltNKJiLw7XfqC5dS8fqb7kE6TNRtJGLMIDVYl9Sa7aaumqjScXOZk45C1JuG65Qa8rP6DF6XlUuPMNo+72pv/9HTpRj0mgQE58sPKVQDQAQAAE38KYEB6Y0ymflosKFtAFKZVwOLN//tgxA0ADxjHNa7lgWG/FubpzJh86loKu0d0WkEDkGg+EYhLGLnReVDU0WCqnudHd7OXyHmlyHiG3rtb02ieJt0/vfb0v+4vWRNe5Z6a0dam8TG5qz5u1fnZl5ElLyDaRYQWuEblZ6Y///9HAIohz3CcXFgMAQAKT/GFg0cECZNcmLAlgInBIyBhmzQtZyd6iLJ3Ed+VQ7nJr256OVoNAJESNFAklm5LSEoGCjiBMr4DJUSOR2vq71kb8JPOzlfuZ7TUpA8QJJOnBMJkAvXU4vuR3WsFpti///pq2rUgT2EToUF1BGAAAAARXwwNDQxJlgw4EAHCSMgALEWYLgEYRA2AA3Yi//tgxBCBEAGjNa6YtWHBmOb1zKRsvxfJMAZeWCXSlUPRmMzUvjMxUkFC50RhihFgB+njnpuYIOVzd3SaIQIQshl+8LvcvXdpq2d8acqOy35JeLhqvEwd1YzMju+6bSdUv/9PT/////b/93pzM7I6odTMpRUAUEgRL8YwMFTdMTNQAsIIZIWHxDtaEgUweZgr0pNJaOw5bpuKDrUUYGRASEzIogwqim6jiFJeKSyNlnxX2isSJjCy684Gl27UVuq2XW2Ny6ON658lipnJM54fciLok6aebvNa3cz///xhuvlwsMFhygcAgACR/GEIbNZac+5sxBALswKAICLLzBq3SWvE1amT//tgxBAADgzHN05pIWHRGGb1xhncMMA0gQEg/R+gcIRtMjIRxAtBBvlHXFWlUku7YRcQ3/JSCbF5PdT1GmgUi3+tG5SheZDIfbz/Y5UT5STUtNkjajKOY6o///7/XShzlGWg20QACgAAAAFP8YAiI1BvjNogMABEhCY8NFQkQOMICBu6/o4q9Mlk7FJVkVsOcLRbHwuYLlQ6QNFmtuo9zi4Ph4LGDqj6U9ZuJ5e1vI4dtY/zJzLPNLFpcpmMu65aJYUYq2xDrHtODEucytn//o2Zo2i1D1DgmL0AUACAIBp/jAoIPv4AWkGPgRf0eYDCiQaEzExeIL0aQrUhw6Fw8YTEpMR6//tgxBWATmi3N62kzOHMNGbx0wqsIx1GXCDgJ0CgyXh7q9L+kQzTJ6g5h7d5pW0XCC1zUdstIz4zaNIEIOJsYmJC4MW0qlnOUJSyExzJx7TP//+5N6LRggCbzQoHgRQACAhQUDMwZgMwaDsWCxHgiFUKA4MAEYOANALUVZG+b97JAyi/H7F78Xjl8mj8O6sVRZ1nzeHhesUkMefZPSkkILj/ln97iYtaDLju24iUiqmzUqmPnMKyBqP/eifyaf3M9l5l///////81G7UsuiPcdUAQAAgAAp/bGEQQccNQOxyAMKhwMEI0BigQBhbXk66U0jSpct3IepoZn5Fk/kdfp6JA+ct//tgxBoAD7GjNa4ktWHdtGb1xAp0lmCINypCyuVPY9RdURNKzpAcXk5uFSl5x3cuKcP41LIqwSNYwSLMBRaED/W3YXIM5LW3bfub7eZNf+/X///+3t+tNd63bpdjj3AOAAAAATf4w6IDMfgMfB4oAg4JAUJxGHUEokPWAsmT0p07LrQ5iniFNjSQPVl7xlAZAmg0YNsdGobKpBUeRbuLjCzOijB7PBUdQ8pfK05g21JHIMELH2tNJt5vuOb/b0qjap66z9V//////9u3t1RtztVnQ85BjAIQAATT/GMFB02XRTRwPBQnWAKVyQODzXEhppiwVlq6w7aNc1BXcuT9WRQgeJ1G//tQxBeADWzHN05kw+HHmOa1zBi8EGQpddRqYey5OJp7AxI60iU8Ls5E9nxnhGD0ZXDR3LydfnovYQdv/8h0Ps0rt7dMWfd///u1JgYeiocCoAoADAADT+GBIVNrZU0qGwIFAqAxYrI9m0J26/r8pPQcjazFcFC3lPQ0sbzm37mpbD85Xhk0jEFaxBW6uTjPJw9g5eORrmfCyE7eJTaTHLXs5EUT9nhKXc6Kz9ssOjY4UcQndBpXT///7EUjLGrg2UGH6gFAAAACE5/8YBExnf/7YMQGAE7ZmTeuGLVptRkm8bywVDgGUQ8YMBohEIQLhkIOMYHDzlNDTKhCfzhdibe09emrUkESuJzshxnuBQAHv/O23KI3uM6dyGerT3WmjMmeRZDHx27oPUjeimhGfmk/Dn5IPb26/RaMW36yX/u9P9+/////Y2yrtdLqdhXMB0AAgA+jQfHJC5wDkIwPzcCAjCfoIjip8DwtBmMDRkslVGzuiqxwSzs4PzrD3tyY6Ur76i2LZ5yVzCy3QKrroIWfnK6uY5n/vOY0xRnydyJ2Giyeffi+UUcnFZB6VlIus39n//9PW5rmRkOUGwhQACACW3+MKCkR+EQEsxQBEQRuDBQMQv/7YMQMAA3QvzeuYMPhvJim9bYZXE9G3yYw4qlMDUr7SCkl0SkFqST0jDEgIcAYSedaDCa5robrQaa5oRiDq3SbVi08HTK7j5GIYdunpw5kjZCDizbAgbceXY6ofanw6m5Y3///1aapIVExIA0MEAAFKfjGEgh8EQBz5DNCUJKIVCwcCgEZiDPUlCKCj5cVtkitcJw8KFskTwtSJ4YmQb0iRUVbbpaCzVkLcu7r1L9vRcOUlM/JrGtOiSvkIQcvTo07aTFqGnUXIHouNIo///94oIHtWwgoaBRUlQZgCSAAE7+MSBozbtDyJkUAZEM4RChcaBmGJQS58GPI57thAlJyxlE0HP/7YMQVAA4wvzeuaSFh25hmtcykZOYWXDbZp+Nls3NlCFuKR+wMS8JeEZrJbOP9eoJSQSv+pMxYxBMpqCxMRJzmXxQAZo017UqtrsFWuWwq9X//+p70OkmtiANhEBwAEgABqfjGFA6bRvZpAIg4DgSIXfBAKNZrkw1YZRCFDX+A2cOBeJWaTQRJ0godBvtT2PjBss3ArB8qjOnDE5RUUSR0tDYPVV2mIzdJ9eMtktaFCkSu+tXDzctk5BT4WGKIT9rLTxwxb//+p49YtcAHhcVAQcOKAVABIBAjf4wNBprKemgQWMAhK4mIwXAivxoSOyGBIIoWHIiEN9lpC5dV1ahAxHlqzP/7UMQYgA2ovTeuMMmhyhhm9cYZZBI+KnYaxpVpVMb6pzN9EiLCUD4Xif2Ihg97abi2x7vfykP/yDjlO1ylJTE8dU5djQ////cq+QLHcYXLh8BwQlAEJKf/GAREZc0hk0NGDAShGTGYRg5xAgTOE77QBiBMVDmSDk8Rp17RfNTBkM1rCyAY+5jRKBCCkIIivVEUdRCFYlu7n//Z/ZdtNThubyUJIGPn7rZ+clDbGjQujbbHYUfp7bP/73z7knBEUSRg+AoB8IAAAFOf/DQIeO//+2DEBgANvL83raTM4b8yJvXEif3BJARHQMExpGHRAICTDAWHWDQ3ArAYqPAn2G1CqEuwKyQkLhlshN23zy6qeKVUnE7RN6n1/CUO/MqarHhFPx++QSwnQhPHuGHE0yzc0smlSG0wynZFFv/+j+hNilPDaA0eLhGBgoAAuP8YKB8R6kwQQzDQQHAWyoRgFDQwGEJErZS3mUM6jsIjh9AHzLAhPEqIM2LKpk/3LhC8tVjdpanFyDGZ3rabFz2NVa6mNKK6jlKc6UzkNUXUbgn19tXnSn/p7Lbb////////1q1WrBfRKz0CMMBAABt/DGFhh7CsD04lATFR0iYBCCpUkBDIACj/+2DEDwANaLc1rbDJYc4zZrXDCqV84HyU3TmCNYYIm0r6SIvQHlyQYtCHdJsyU3yrawtObqdQEqh6ljiBaacVToM+odPe727DOe/pYNvtttUEi7PYr//s9DFV2JDJ1oKHxcA0EAgEhtfDCMPGS+8Y8DigDXSYQjALGgECBBNtSiUyom0zjtVateNx2/EYu6cTeWIWKTCZKdhMvFHhiRniW0DzKcOUYWqDI7MfTYR2jC03xqI5w8glbO/9Pb6p/ZN2enXR//////+n+1WFZmZT3RpxI0GtAcCAQAAcv45hQmd3/nBBIKBxoBFlhAkheYGJxiBFbrb2NXfuP0LBOgCpojRkC4H/+2DEF4AO2aM3raSv4fU0ZrXEifxohnalUEvs0amrLwp0cZzq1kkGRjJ9Qn6WUtjpJSfuTqTRAeAokLaQi39ETXpybU8zkf9VXq3/////9E6WvKWzFst3IPUhxFAFQQUAQW5+MFwyasz5oUNlgGCoAJiqSBBE4wsCo6zVbUUZ9DjxQBLRAFkeoUJERFhAoawdDYlq+zhtHNHJc0piLFUoQyDZPG4q/MT2OwswxsGjlpNvYOGYWgUeEIIA/bPIVNrd7qySt66enolP////9fT0mNKtCAykrnRLCADAQSAAEn+KYFFBqTlGcREYaBYqFi7IjCytIQP27NbW09qwbrji2cF66jX/+1DEFYAONLU1rjDM4aqYZvW0mWRvlsp1AymGaWhM7V3Kc0Fm2dKKc0POzvhyRW1bNtZZTJz8761Q80gTtPEwIIiBwwL4+7zodEyywVXdM///6Kicqo1EqVCI6A8ECAAA4/xi1h6OwAygaOxAQApflAOCRopiKtbKA4OCoEiiZ2LVCOQ8kmE0h6BWFpaxLVEmhNKd1B5Nd5LOxHIuXRxNj4H3VO2RMC0GPKybqs4u207Fk7e1EDDRVZCWCf///4V2IELoaeMVAODAAAAkf/wA//tgxASBDgS9N65lIWHIF+apzKRsFpivtmlCYwDYScowaxpA0QoefhRR5HaloMIlwVjGRMKD60KMi80kinjmSzbJIQ9U5nIMfcFyqJGvDzi1aObyd9zmiVVRTk/y1qbnoZz7bHNTMvU0sa6gsTshZSrzH//q9t5KILlhRgOIATX/wOFxwweAq/DAFAJY+EFx2fmY2+TerIaCm+/8TfG1PDdAZBxoBzaGZduaD0TfJJHmu5KHmxiF1t4i+y9QnOv2ZLsD80O5JB9W1nfFJPYSjOC4CpU9i0aUWvWnESILr3s/1NZ4lilTlCgqSF1kxqoBcAIAAFJ/DCEMjFWHDDwIECiAKS4w//tgxAsAD42dNa6YVWnhMua1wwqsMAcwdAQAhM/TfvAp5ZkT65MTiGctq0UETMcjELgu3EuFm5s10bOYtRd8CHESABAZc5MKRLp4pkk8U+O3dzjLQ4OkbKIRqsvZV/ZH91slehr/a1eiU//////93/bqjkPQiu6kQqgyoBoAAAACL/GMKCE3nSTVAPLvgAPgoiGDgYUCckFsJfpTpSCi0TxuwiPZ38K7xSGL1pyO4R8WFJ9sVLZhRJKVPJicoZrhX3SBVs22W7eX3f4f2GIiEjY87YMc6P9uyu1d9N76X+0i+X01P//////0p7EVXKq0cdJg1QIQQACS+GC4bNjbU0aGwuDF//tgxAiBDoWPNU4kT+nRGGb1zSQ05ixoKgCcgLCp60+GxJQiMAvZDTssUIFTJqh4EEIqAdeS5OIWfcLSPR2a0C9YoOUonUke7nycGd+s0VyEpw9Xv1UORBDI5Dt5k760KntJs/on6f7/////9dPTXscyFYY3vKsqgCCElOf/GCxUaS2x2zxmgJYFB0EdDBgEwZ+CF20jVmrOeqBqsVEa6K4HQwCiBpRksmHoeoRkkhWaSy21kU0mVejUhcvPVoQhtEbiFdOToPYjcUOm1kacZjWmZz9toLuVY61lTInY76Youv//f+XFx4scCQJKANAAAABTf4xZg+nCBaIDksLEiNoIijgc//tgxAwBTljHN63hJSHXMubxxJY9LO+v95mSNKX6s2Lz4y0y4MDJKD+Dix6SlJY7xTJoGUklU9hooggQUpE8zfpK6+Qp7GqrY6rb6bWau9qGp0SufGrqDmte8i8qMz41LbaAw81///LaU5fAj0hMUCKFAowALzCf/MLFMw0JiwDA4pkoFpTDYJlTVGAq9TfmHGuX6Sjw2Nh88JSMOvMo7MxS1HyrLeKJdva9qH7xgWQThKvC9+ZSUPWVi2yjCa6CTKK97CLez7oM1PRfOdbX9WkW19G07///////pkdm6Oss0XS0YMoAYABAABp/jGJgx+zsA1IGBKOREtmFJFoH8cFTh62O//tgxA+BDhTBN63gxaG5GCbpxhmcs0guQODC4lSRm/dfeEQUIMAsLAW1OviICIm50ESVJkOBnnzJKWLKkLPsxkGc9mb6wHphu1SWF7UJf/lgFzF1xzPO233YeX///xR7VOWRjiQacBgAEn/8IxEZr8hk4NF3iwBR4rEgEWuLEpZTkqLtAS2vHJuLl5ZPr4U/LpSG1FEB7o1dHTdsTkjzH3kxa06KS3s7LI8qpQOWd5hO/r6LPklcmc82UOeaCBtk41sfirXtNv26m7Hf//vOokHGTAYTAFAAAAARX4xhgQmz7OaQCLARQQhAKCwgcYxEBXhWerO/KHeViJOIX6DEBGExI2XE//tQxBgADmWbN64kTanBGSbpzCRsAZjEfqGVn8viXkeYJGI7LIhznOopbuszyTrQqaHI4UcDEsQiLVraV97rTuz9Go7WXdZ/WT/////v91VE6UlvLWGblQGAIABN/jA0JmyrCaRCZZYZ6Ekd4IQf4Sd2kXZExBkLe0tMhPhpMlOLC7IFJHiPRFleDEJjdzvKYk5mCd9KWb5xjPYLyVWKHVks7pM5uo9sswiQas/yy12e7g8xbtoZQw92D8a97v//9hcWVLyTzClKAHAAABASf//7YMQDgA5gxzWu6QHh77Rm9bSWPGpgeHBkFHB1VgZJUVKQAEVmUMmYVrpTgQ4vcXuZYruCqrwYcpzwMCIQzgoDxpIWGED6HjXOIUuWckyzhBOc+nGcrW7rdwebKrsyY4ZYvYvjSUOYi8absUFW1pY9cX/cK/aiv///Qwm5SBUXFQBQACACEn+MPAh/7cLsACRwoCCy6YkRo1AEqYdAKL7bplvFAUEtrEMp6XgCKNg4sBdQkLmmFVuW00mKSJG606nzulG4Wy3NX/G9qshsZK6ivINZSr4L0WF2TmNZGqzQy9F/dnudESlDtqv30v///////17V1lZViaKh4gsIUAAgABNb/P/7YMQEAA5UyTeu6QHhzBkm9bYZnCAMzAaFTO0TGMiAkGBTBBw4uML3cTjQ9U+tR74DsvnRwmloyg4PB9g6AcJA6DknHVdjDUdg5IgRFR3jJhmL1aqP15SnNrJ0V5FEehqi48tNax60g7/RuFdh41N3ximW//6T4shzZgyJ0LAQA4AAAACS/GMPDD+to6sEMMDwuMBBeYGbGCiAiLnDa0kqq4vteF1TUe1D+rUJQgHQ+pj9aViZDqP49DhcpxWwopzJVylUe32V2w5PJfa/pt2brskt6eXq/+w1hXFR6WODgsI7jLXcKpd///tZSs6mZDDwwgMAQACb/GGA0aV5hmYMBgeTuP/7YMQJAA5YxzdOJMzhsxjnNcwYvFj+Iwk8ZgsVxhVidqhaf7pioDkSEVZAbBwCASVC6wbbFMli8vgUqLXk4kemM2CV1tZe1jQqV6aEQ1S5LPt3iXV0tlyDpz+WtkAPuam+lIoKrqbcr///nY1omCwbFHmgoBgBwQwAAEnuMYODpqG2maAqlAMA0OLxlkcpHDUvhln6cbBG6UTiPJKLVNL+y+DoBsP9TT1Nye08OYMRIkDii5Pt7HTq0+/19m+/Skv9519eHUW8lD3UakfaE3uOHR9Ha2588r///6rU6lbEgAHqAVAAAAAaf/whAZsaBmjQKn0ASSYJAhnqNcPK32Y8/6Uad//7UMQRAQ1ExzmuYMXhx5hmtdywLDXqrKozRVKLGvuilF6BL73bSKnci8RdFcOl/enT8gDadVtFzrWe15ePvuP89lVF/dPtP+6cOJXzSW+pfU1Ku9n///RR3BMEBwAgIAKXwpgmHBjJLh94DXhJGGqDDq0w1xI1nj2lBaAtwQNhIdHyk7VSNYsEqwRkstnrKm+OUyNC5Q2us5RhYyoR1/+g9mZt/rO1dRs9crF785R+zHNxpqP3YvTKU58Gq2Keisgmv7Xf//+pfaLUzYVSHgD/+2DEAIBOVMU3rmTF4eMYZvXdMCxAAAAQGn+MLBU4SCCa2mHwGXFIkQaQ4YWGlNGSxbAVgrhfZZ1Dbg3CzYsPjYgG5KIBicRxzDcRjZ8nDJeiCbTg5Wm0egSPLrT614gzWto6OVplSBkMW105Fb4u59yiD2Lr6ia15WxP//5cYSvzKHz4uLhCAAgAAKCAKzDaHTo2xA8HBA2BMEAGixpBcJetVBNlBphQ+NDsyuTJzQHTQpGQtPfQjo578666PlOP6ftUhbODzcirBW9d1m0e2deyF+q1fS1FzTFk8GRKH7t1nc2XD11CmBNLhtYtHqF3HlmUf//xu696RHNtCwNVAwAAEJL/+2DEAoGNoLc3TmTF4dEXZvXMsGT8UwiGDe0iNVgwwoFRUXAoOiqithwvOUUBpPK/QRqlgN+LMoi87SROX27cMN9K71ACkCFxJOZMcojB+lPmBJnySMS7KXcK1rM75Pa15O2xXWXRbluB4uuqyh4HX2KQebHMX///+/usnQBAH+MQBg13wjQwaKB2QXAcsVWL8mpSpjEiURjyrHKA89KaI+PyunCIeWCQFpq3c5UW9qjftHrtXrZXYC8czK238hR/A/+bZy1Wadl64jrmWx9o5cYT7XmgVEyDmWC6ydinosY2I////XgImbabe0EBEVDi1QBAAAAAEl+MYMFZq3ymdhGEAhP/+2DECYMPqZ83riC1YbAY5w20mdzweU5gEDjQIMEjh7igEjgMiw6AHhljK5HN0UzZptxd9oiyVsNFDMkGHO5ch7BQgmDbJuTAbC4QJCHjFR1HoixrSsKMietvvbjS9jxSEdHlw2tV0VNK9e2ZPNo3S3//////Xbv8yNsqs6SDABHP/gMBnwa4HO2JgkJEoIwcdXaKGL6OCSAzyppwlf7k5DdPR6Bx8QikXB8cYRhmTrkcYSowK7d6j6mlCvYtR8qPOJPfNhzWNh73dbCewQubxLh6qF9ZrYwa1yIkZM3Vv7+v//9S6heGA48EFQRQAQAACl9qYBh4YdUca2QCogqxAz4RnTH/+2DEDIAOZMM1rumBYdOWpvXNMGSiApKbcoJlQcoQmYpuAouOsKyzVQHSsiIIoK4+QGqxRSOjd5YPbHcdqS1jKy62r+uUo/e/zetGFea237HW6Jy83WIeuItpWsy9/gJc89N3t9jP/6//7EFlBA0AaAAAAAmvxjBQBOJlUOyJg8CmAgmoDApICk5i278tiHQSUCDTiHheBiQqtPtjUYrnTW5ojUuoVW8/jyt169qB2lX7KZpbPr9N5z8m9kFzm8o6uVux5n5Orr3fWqPgKN0oS5rZYwwo3xWj///hqpj0KFXEGh8AUAAAAFF/jCALTGqLzEELxGCwwBYYWBgkDRf4weCpu5T/+2DEEIMPWaM3rphVYasZZs3MmLwABVABGEZAFymX0FPMdpeTr/SB9a6z9NmnQMK9xlJE1iqBZfnnEzjw6j/anMLl321NHnL+/VNGI6QszV3zZT/Ypmt/y0WtHba30rtb////////r1p7O7RgRhiAUuBjB4gN6Wg1WGDDwPKoWDFiQUAZU8WUpG7ovFBrFHTXZEKOllkej8CQE/jdLDdKSDtS4yZRxjGUTKIRxIYoCINd01NrS/1ZSgsChOdsoxbft2doLdRUu/9Z3K7r4uv/////WZ9hhQAQpQBgAAAAAT8KCAkM74EMsgiDBjCwiGDwEsKMcROEAS1KCS0ihCKhoOZHKJP/+2DEFYEPIM01rukl4dUYpvXcmLzBO7tNGdOpKtLlgCHJQiZbWTfZRRlwuMmbUgyhplG3Xuc5V6vaxBUW37P2vuxyP2oLNt0hfG/ccvEpBis2aro7X4vr///avVPxCpsUJhcAQAAFv8YwQC8ypg8x2CcwEAIRBkChfELqVobNPrkggiVEYsFs6yhUppOyqLuzLX1m2LPtZ6IQUhn2RKzmffjmWUCVXrbLe5up+MHN2cYvSN854aXmTF5AjC73Cx6ZiZdLm2VqecHzRXb//1eLRVdlAAaHAGcVAFAAAAAJfAoKCZxB4gbLoNmAQcHM813zBBPRVapQi2EmNVDGW1jGcAX6XOL/+2DEFgENzMk3rmUl4eiY5vXdMDTwDAsAWHkdK/E1zL3ZBaBEUYXS8qkjookyl1I7VPU3Lhm+8jnlH7FS1quCcBmeTQo3stySZmR1DE4z//////QXRM1gjAAFF//GBYaGDkqGngGKABUaNzjFlAcyNWkTKZGn+VhhGA0vexSCqzS8/FbB+UxJIA3fPKKP+u3fdUnVrrDBy6VctYdr9cpd2mMfPWh7f+ZpFTN18sunS/WPdYqsib1qYjLwicOLxWhDj+5DSjSKV//T/sQi1InlWoUDAEAAkfxgUGTjZZFs6CQKKEExeBAsQ55tWv6RJJ3jxKHdlrDoDlMTpaWciLoz8CTLUo//+1DEGYAOWMk3TmTF4d+Y5vXdJDRLqYsWdabbKZNRKY8nSfi0mmkY8tBXr1/RB6P1M3D0Kibu78Y9t93OrgbfOoW4kizMtaSof//9di7RfDQL3qBIAYAAAAAp/jDoamNEbnHVmJIFSGbYMIzBnCxjVTA1GiUGgSXZLXMcuRA7iJESqk4qBQEACAbaTQNNRjJg2cJc2+bxAlFG6EJ7UlKpG7LrUUaWlmw+Qm61mscmrk4tq+ErRHi6Pa9DxVyJjUuv///uWtTR7YmccSCCAHAA//tgxAGADbjDOa5lhOHKmKb1x5lsYBBSn4xgkPG1JcaXBwQTSACizEStOwsESyYoMKgbFGRX0EOalh9kkUSm562LUIMm1idq2xTdjFD1WGrJ8cn6MbBr8HeyxeLp7aV/b0q1avcQ+WydpjhwtNrF0tvUJL9vcnmrf////XupNFQBAAAAAEn+KCAobR3RooNGKwKCBACmqYQDr9jIuUcWWVQKagfYtp4FzXRmYhO1MfCrVjOcbcTZ3AfSrF6C2CSJWqJIQByNcFtAkaiUjJ1mh+hT00tt0Z3acStdvvKMwd2Tw7vpXRbi/2rjL////83noTH1AEAAAAATX4xgwamn/yZwEoMC//tgxAkBDqC7N65kxeHBGGb1zJi8AMIBhYBmUqJDhe2oTNDoNEsRrS72Q0sFSHmVxujbZv5GolDcwiElkGczkCBAxanaUmkIfFqXyVZF/4xAUTuXlGGk2nlB8PI3vOKQC7k7hdTw9M5hMmvrkTn///ZcPYCDkpGMAGAIDL+GAQPODN8It5gIIgUdGPQGY5wOeMSZRdPQqgzxf6WrSl0oidLWgCigLWdqBJ978SBNVztGjmDFjTdW5Iklh2bRtDCyVOlFTNnv/8jZzHktkdIo2hbPXQk+Dq/aWVT////9JFfF7gOJDQaHh9UEQAAAAhJfjAELDBKMjLvAqGBIQJ9mLVIzmVQt//tgxA4BDvC3N67pgeHus2b1xIqkIGjqUrJx0DAK/b7xs9pqs0dic4kuL14/4uaM97u50QDFk85fa3YwvYy6NmJ9/lmtUcy69+1HqVosm16WZZjs4oq/oKkToU/ovHuE1soXetdn/9v/IzyQMfFzICAFABCJ/GAQZOGnsOuqCUgFICZxgESGAAEYcCz/JhqysnR8UyRHbSHozF6mEiZFDMltOBAMlskjBE5mLVEYiMtF6lOlKXSKMNztpNhqFed1m3m1bHybGMA2MUIjGc8x3lOPW16prZ+y6vWmzXos////////0/7ozoiNCxKqAFAAABARm4woITMXFN+bMiAEcEChDHhw//tgxAwDDhjJOa5pgWG9F2cNzKS8cwM6JjRESaW+ZeaAQELqDQ0U9OisYHhbFJyigaXu9CubpPUbtvKr00+ecgn8htW9Ndvk9+1iy1Nen/k+hss30F5dH7NL3ZvHJj2Voptxl2////+aI1KMKFwBC/xjBIaNfUI0GDBokEAtByEC1ZWEDyE3VBKJzx0eGWkw/agKzPfbqvJAUFrjeu1LsUjPFYJoizOtyk0XnPCNdRiS1qi70Dk82F+VeTVxxKvcYxhBtpEo0kmsNmUN9T+uhh3zDH///9AziN5UUWkAUAAABBt/jBYFGu6AaABhh0Eo4kzFMOCUMB5WI2MDQNZgx5MCHla4//tgxBQBDtzHOa4wzyHKGOb1zJi8Nlg5xHLg6UGwapAIDmwctufvMsa2QDFKrvdygbGOYFoyU4wo0rrkqwJrgmu/MapBngwtDTYgzCoIGIKU+WBXcrS8V703////SxzCT7EvKACAEAE/jGCBSZ3+plYSlUOAwQA5YkTglsEuwYhuVAH6C41hUMuir43YlBVLE5S2CLtdktFtMxLKqAn6tOErfaTIn5Sf+42bGdo2nCCnaXQ9O0Kb60FLnJmczoiI88dZsah+LtaP1f//+8okqLB95h71A7UDAACAUvxhoTP6hRNnMUFxGhBQFEajKjtOc4aSJRLwyi2Nn9LFLEi3alUM9l0R//tgxBcBDjzHN03kxeHjtCb11JY8X9BdmPCyOBITJxhR2GRTsYw8qTKRRjznlt3OrSY0id0k43GI8g7sqkJKvv/fTYldSXGnJdFf4sr//69Gqo6NJvEwlDwIgAAKf4wNCwwFgQRhwBg2C4YAInzAsKkNTCQIy9qRBABDepsLeZRF5bGJ+37bcyqokB8c1APo6qZXECSByc9uSE0gOGJecs+TNb793qCHYh33OMGmmu+E1CrWKfP6TBlVy1n9P7XX2X77fb/////p/tSmi99nnONdAFAAAAAJP/xhwOfTXgdJEg1so9vA4uMKCjFTRdSIpVCk+BGEM0Vhhx+z6MQ+HROXA4eL//tgxBmBDnizN62wbyHpsmbpxIqsJBRNrlbinvbcjOVGIS43o4C1H8XMhQMWkpHNQx1GQt6ej72hyQ400Oh6YaA2C6L0ULVdehG7/7v7HtEiZRCIZFAMCASn/iQOmhOGZZDokIgqMTIoAMChNS0EEV2EcyoDCIChcFuw6027UzckmUCx63hnP07Udk4ZRdSDEYw6zTVp5qyQcfCn0l5y6cqratvI+UqTrLkrK4OfSTo265yy0F9yBwTBG//39PrUn9m/////r9+3YpWsQWQGyqoDAAEQkzxjAoaNNT4ziCgcPCUXlmBGEWeCg4ZWhUVAIRABDVk7JKaEHsRXYLZKslTmFQYL//tQxBoBDnzbOU4wzyHImyc1zJi8B+Kyzo69J8XkX2X15uDDS09JLeWrC2L37KOBTJ6tue5R7HIyglTLOIqdJ8bP+blMXX/Xs6Xf//K2UR9J+1IhMADgEBt7fCgGNYwQzoCjB4NCgVDEodTp3mmLrFULECAsQQmVnfhvl/selbfzlu1M2aCQyoeE7qfmtQVkS5xp1a5aaSaKVwu6QZLDUohS7TNDDkWNvQ3TkpeKmK2GwlNdm80SCT/7/+n/7uyoIrgPHRyHGAMAAACb/GMECv/7YMQEgA8wwzdOZMXh+DRm9bMKrEyjyzHAhAogLkETRAwgYcb2UOI4odChkEhvkuaI2qbCnu5VocgvlO3CV0Adi5TaWRDp0OTiUHLYgmvTVy7PednwHPeSKZSCZAHQsqisQw8tMpoNeWNCChSpBIkh5i6OWlzmXI///ShSI8XNnwnSRLEABAAEAAEV+MNDZ8h6RoRkAiSmxmQCOEzsmYkaqQkDp3FYUDAVgyxaOQRKU00zyJTkpi0hZ9dylPUIx3oQUHNelMWa1or7ok+x7IW0tsJ2yeIaV9hRlvBhMhppezLdsErdle6OjG051LZqopl2Wyt///////vZFezL7WZ9LkhaCP/7cMQAgRERnzeuJFWqBTRm6bQKtGAAAAAIV4wqJjC/YMQEweRwqPDD4FMCjIOGBj4DIIUhmYDwcGAk7TTpidlOMXps32hmPRuStgaHYotHFno0oCojSkdTFlpJKRubTM9nOSUPOM5t1O8hcZN5DXzWu0StQSvLm6TdY2Ahn8BycfkoKCT//1//Xk1d6r//////+n7bqiuRkcrh3kAwAATn+BAqenmhqCJEhALDVuWTSxKIJ9h4EgMoIC6a0W9cqN43KScc+RSGN2KaCFOeFlvBp5THjQDKQNgjdRh1k2qtEVa90wqcOGoYVGrC40a8KMgXIC7yhEFSh4ihMPFjvFhcgBYgPhv/+XRNiP70b/p/////1rru5K+e13sxSC4QYANAAlufjkoScd/mV6LvwsDtCGcEMnEa9rP/+2DEDYAOFN85reUB4cEzZvWjCj2Vljwpf2kdmB4ampqXxE4aZmCiASu5lZvEKBMI4yYbmmu2ZV7kZMI0dwTQcmtErHSLTk7Fu9Cg00glVUWttajVCUOeY7q9KGU///sriVxFpqVYgLjBODmEVWkZrfvkbjPyAOiTgAoclCNHGARgQTuL2RBXqyqBs4Zs1q9iOoiUZKItX/at8/6+Vp256qpNJLmZBUWr1Tz+z1rzPNRrz62AZJ67tWzxRjFs7UMqO1tRn0/oqOX/tb/62/qn//60uzpmqpA7Mg1a6yXD/8AAABQamBT4BhAvEZHoK4CRCo244kPRX/KGDTf/bO/7Kkq1TEH/+xDEFQPE8BsnrD0iaAAANIAAAARNRTMuOTguMlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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i0x0OKi5b80tFU7wbEp/+RK/+CKVoEi5Tf/xOTyFoEoLrCGPhNMrphgMs8Q1tMCc////XMkqLCYBGA4X3Ep1TD6Nid2dVX////////////9JvdQqxwQAAAAIAA6wRgAGOgxs//uAZAeEdEVJ0Gt5QugfIVoNCMUhEjElP63lLWBchWgABIgU7SZKMGRJJjcuGTKPwcBgruUk9hxqESEvKh7hdslcW67AEo+QYyyQ0LdYcsqdupzBovyqZlHN2bYOpoYH6VopKHwg+RQUdTJw7ZSubodl1ZQi1+1ie/9xP/zX6cBokIGvNH/85YhhOoePOojmuDRRcLSS2F///9/qpJYEAAAAAAAAeaAUBF0DMr04t/////////////9H3ugTCgAAAIAd/yoCIFiBoioVQzAO0xcHSgEBSSEkOszADWre5BYRJlKZ3QfHhKBQxZ2EbWLSVaKN00VSg3MKAXYIg2eqTVohVIkLkxMrAm2RVL7qd+HKhpBsox/oQteAKorYD//oKNSnPwsbNf+xf/0J/WrCXPSJr1DM5KQNpnS4aCPQgg9CITUZ2XJ///6fkou8mulfQ06i4Zt8TJf/////////////um691eMCAAAACiD/+5BkA4R0p0rQa0leWCEBWfoIwiURgTNBreUp4GEB6BARJAw+BljX03DcTzVEDZoTUMQ22oSiID+KarKjOPiIM/pYAlZCWSAFVJqSEpKQSmhVqr1KCml7RFaLNEw+vybvUGOjVPTdaD6VYm1bpyKdN3GUiJ/uchZonavpq9Jb+u0XNulhvs7////Uv/FiH859In4jsaNPHw4uhBISURHuqJNAk2EiTCDFh////fvYEEg6AIAQAAAA/FUSDa47w674q27/////////////3oVWKFwPhgAAAAA+DkFMRkZtZUZCGmDmxik4aqANsQkQpbWfw60h4ymckrWvxQPLq2CEpPDtA4GNy1Mx1n0pm4m1i/Xr0cu50zR1NShzFEtYxzPT/jnaMZ2Ll3MQQo6XRatn/3fJqmekzP////znw+icRiDsv9Ipx6yLFBO3O1alvoLj1FU0Uz8fYY////R2uDVBCDxNRtwtDd5W3/////////////60otYqgFAgAAAAAAQBzHC8x8aaaRjhkAaFEgA8xkwQqMOHh8SRqUVMAZ136Uf/+4BkFIZ0qkxP+29MqB7hWfcA4gkSQTFB7T1yoGMDqBAjCEyKC2ifYIdKfNHYiDJlbLDiRkbqj4F+wxzHesbvd2OflsJtOHdkRqp4cSRkH9ydR3+OOgKGDBSSIjaF4ITf6tZOLFdY+b////5C/2LRjlImvRASZ/wXBxvD4H7/+uMmbs2GLQ7zjP//76snfPuIAAAAAPJ1A0vQYw3fFU/////////////+5TZZbWMNwDAAEB8NXpAqVHlSlH4MyGvRDehupUThVZVYEZyMmdOFQEJBZBDxqQsCRlBsmCdaxG8xk89wtBdtymJqx2RN3F/bPnFV8ZqMh7bzd6Ofp3Z55dwrZkbrG+dstpw/HzPVNcpLliD5Kz3//6Tsg2sZX/Afh0v3vaiQojHu5feYmwjj4oYJBoQR6Wnaf//syanMa0/BAA2Iy5D0XA7br//////////////9KLgF4oQAAAAAIA5mII7aUpoiokwYIf/7kGQJhOSqTE/reUroLeGZdwXnCxHVTUGtsPUgpodlzAecLOmM4ZqAHAJhQOcIAKITp8lDzjtjiUGymCzoA5Mkp5WBXdhjGPXre/botOv32dWdbppzOqgeRe1345KKz+mki8lrfaC882jSuxQU2UEuHSC8mXS8k2c9od//////BzEiv+/9IkGEhIFFYBkSDn/ED+qSxuj0DjvYvwc9Rz/X5U1YLUqgAABxQGs5c7tgiirxKU9ZHrkwnfAtiYZW3RO///0K/ysP0sFWXf/////5PP22cYAAFFAHmHAxCCptDKiVCQw9TMGwTKwNgRISGAE7sKJmHMKG8SJQQiD513wcl6qkofIa0nVhrz8sTriGTF8I04uL8aKdxHREmKZ5BFMC75yBbMwW4ts6X4FC2ptnWs0KrjoktKjAk////KBQI/uHHFB0HwlAoE4IhK9B5/BAqEZpprqkgW/5Qb//7uSNiy+AG2lF14KEoKruTOCfOCqQwzQUEsvuTZ///0amHQ4////////66u0EA+qAgCAAAAABJIPMgPQ6JTm7lGNKg//7gGQKBHRyUtB7TD1IHCDqCgAmAxHBLUHtsTKgaIOoIAMIFMmaYuP41iAUgfEGt9ohlqCOTkqPEyfCBgE81oYGsX1Aa97ky9SMrpQME1cJimx2j2ddsvZ5Ya/MVqzMv2jzHIYX1l2mdk+jWdity/1NcH6GNmGf+p59R4fdX1KiSeJhHLuJAdGX89xEImmsGkIl4vQeb/oSf//U+6FqwCAAAAAAHhksM7DPz6J9X/////////////9vVZAMAAAAEAeNEI8duwbERhC6YmlGJVQKdk+SQjMRGHfdwaaigQjUTJi926EycF1NKKol5nATXbP4LkAPVLoC4RwVo9vfsiuKCI+7EnZrEDCvnrPWJJb1W9LJLu8jBv//x6cUgu3vJnf////r1Z/qNNK7/1SQtBglBtUSB8eP//lXomrRuDY1Tc////va5CkhAOO1wPIJcZ6JxTv/////////////tVra8XrCggAAAAAADkwW//uQZAUE5IpLz+tsXSgogVmDAW8DEZUtQa0tN2CThmYM1Jykj4/w2DGXgZhyMYfzGbASe4IDTjAZjrSzHmdK9tEnxI+evMywI5TRkiG8JckzGo20kbmYoN0/iQmjUo6Io9RLFzqktVT7URNKmxj15mWsry89LHrcpFF7KMN7S6D6Xonf//8kvaRbSJZk6/hBQ8MkT6qJiH6a2MopJxypJI6bbRov////F6TagABwBEQYqBdY9sEPzpFRPI630LgS+5F////7lzCmf//////+7cVahr+OAAAQQH4IX8zE7yQ1Qc0gI1I4XqJRkpwyxNwHiMVQJgUOEoUmFUuJpx8juDgQiHX46v+1yUU0Tnlv1rAzMCeSWpJOUNVLMEjI4/lxqZ2Sh9pkV9JrJGz2lihTXqVck+oJZua1tO////+k74o4QvwzombDDCB4BzJD76yGljRIOlT4OzgoRNf///oks/8A8zDfukJ8GxUnQJx5yODjKlrtH////6iitRApb//////Z6eMqwwIAAAAAIB5mwQwFRYz9TMbIjHGMxnNNQAUf//uQZA2F5LtJz+t5SugkAYm6BYUJESEtQW2hOSCihmZMB5wkjAQANF0zmgDdY8jA5VTL9SmUHkxqJFRRcfKReUtoJppltsrTqjquDPROV34JtYlGlpaYQragTWl7Kz9T/tIlcI4QKWk16pprnSRiCJG1EMI/////////w9iSr/pG7qgRx4UgkhGbJH+UA0OzKwks2UeNBs5///qc0xFUwJAAAAAAHAr1JnYKI+0YehTRjYHxrur//////Xv//////cpeRRxgAExAPEQAqiOqDNTA1MwbFASWngQEJi4w3OCTDFNZ8qLAWTBlidMpDYvoqCj+VJEq2pyA4zfoXcktEz6x2DYvdq4ZjGWMC8EB2ToKUNETx7DlAQsKlQrcImUP9TRLUkECCY1//////7DxPynnsEZ0ofNi9IofRhrTDLy9JwbimsV///7G1qxd/wEhHb2oaCo3I4yQFEImJ4SYne/Tb///+3s75NaWl//////+lcqcExmAgBAAAAAAAAPEp5hza2DbRTpJDonzWCxu2UAQEFI8ipWBGKlJnREqBSgJ//uAZBWEhE1K0HtJPigoQamDAecJENUtQ+3lCeCih+c0oZzcQSw1A7Px0UqzkEq/s3IzTZP4oTLaFmeNFQ37lPtq14PRiZeTCxQ8cUkvnxp1Nq6b2X/Ru+FG48WmoS///+a0qPZAHhIcDA0LjMfGJEa7DwUFqmhOEsRRu////4R3n3gAD0B5OLyG2NWfBN6QFjqIXwD8dLyFCnq////2dEU9m7//////5lovAOAAACEguBkcgBm7mpjRj42YWoGETQOdnzJRw2oYCmRcNFmHl4kTkcnTdR+8n8RAV5hrUbuPRJKsFMRq+wi5Um4VR9rPIgnXIeFZQwgdnwK/AjeLFDCr/ySOMRROMEObxogg0RP4S9E////Ssk3xZLgoFKiRRtYdMnoU2MwigWDgf///7KaQAuQABwLqLMqD40OirFbg+JGPl4rCqKVk7bv/////3f////3/Rtphl9XDAgAAAAAorsXU3hwS5DJg8wL/+5BkCQYUjUtQa3lLWCMBqg0A4gkQhS1BrWVtIJQIJ/hTKIRUMByDKgRPMwMABX2rE2MxRJVfi8BGT2VHY9ukXOTKfSI02MLk7i2Bv+ylk+oCgtztVJaf8aIzgpzBX4sSrov6ackSnvddRiRg3/18qbXMRbM0j/6Ss5kzv//7+A5DJDv3+yFmkgwoUE4kYeHwdYEf6RXRxIQg76Ipf///ulRgsAAgAMUAAAB1JVCp9RZhm3xdQAXT3f////////////0Pz5JXGABAXAWACAWBHfUlbsBYDXkh/g6JYVmdZQ2zIwlRnVYkCEoW5Uxzt9xFSygjUrV3O6dOU/QIlxueEhsx5meMFEFyhK4Gty0OcklaaKupelNLI12cTN2/5ly3b1kx36ii8rV//KRzUOEh3//2vMQfQzGTpoYcKH2oHp/Ht3//9418Xy5VAAAAAAKAB8EqiHobjNavkmjwrAEMfbv////////////TepvJpeMCAACAAEheZoLovLZM0RhoAMGUTE600gF4AAc3wAXBHzJQMiEZWSBzFY014zAUimz/+4BkGIBkaEtQa2w9uB/hafoBIgkSIStBrbG4oH2GJ0wFlCyoKr1poYZVnUgSUYNHZtVpw6UVJZbtzkuHWe2TnnFmdB9semUlndSJovpRJNmUJN1Knp83woLTVIt+VB6BMgAeEA1e/6iUFBqUDZMsg8xz7hqUB42o1d///97h6QCAAAAAAH1H6EDdRJ/EGrxdT//////////////0YnoRxQAAAAADEHw4bAoik4QqIWFgClmDZZl4KwIgKDGimNL7MQQ0c44WBBy6J7jLR3V4dFYX9dQm3p6pDYWSrjC8tmjj9C40pn6L1EDk4DBtSfsLqSy7sy18dVp+nS88gTNU9eL6SZmQAW8soF9/QD4mi//WXWMi8Swm6/7EiUXHVIxb+x5A4O1OZm7///9VDKWtNDgaSC1AqLNNLyUtV8CYyn1f/////6//////+w5NPOIVkJAAAAAAAQibyNEYNQrObeEadGC45rD5PvZ4W//7gGQOBmSSS1B7W1p4IAFaCgBHARGNLUGt5SngcQVnjASIJKOFC0z24ABOYc/pKDBhHDK1jMhbKTiITSjuTafc9IY29lmYSB7L14U1p6b+saQhpPluREVME1RErMGnSRfF6idWVEg7Rz2owUMo1H59aht/6heQ53l9///8Dsrn4YyBo3Uze/2M/UGkelgOGzRHEb///+mwRQbAIAAAAAAeJoSDliQ0qu2Ts/////////////8nVbY9I3jABEHhAQXjaQbATmZAJhqUYtWGkgCZpUJzVoZXLAWOTKzzWh8qA7R7owDGyQUoP+JL4l+TxyC02BpNe80+9ceGFUdTFzIfnqYSvCAibqMsRn/UOtBV09n0s/8mCUPFJfvIGcr/00VlnQP8IZ///R8OVs97TO3CBc5Bh/6SHwytHYjBcxbP///6Vd5gyBxua2wPdqRXMfGxMh////////+3////7taEjSjCggAAAAAATjyD//uQZAUGZEdJ0GtpRbghIVoNBOIJEM0rQa0VOuCWhmZMBaQUajQttGQgpgiEYHqGOASe5ZUDkCzGtmJJqNchS3Ij6vXM0Aq023MiF8K6ltj4Bq7cZNeRTIEtpA+0imiL2MtYmGHztNU7E9an8I+1EOCUga5We/+G2W8QTUz3/8Q/KvGF//80HPilySKi0lCWEYQL9h9hZb6wVBFLv//3/lEqJQUAAAAAAAAd5BlBV3QZw2jYqj0f////////////7HNmruOAEA+00dHOieQ4aYaZ5YamAJ4CsGOqgAjZ46RjJSUVIQjVLqF1Q73DMiXgRGtzKLdvjwRKcelX1efXdhGWq9l1+l+fsZ17kJpOwSH3EyFiw6JEqFJGBiCoar9TxEMHwsCiNQ5xM7fQW/zg1Jb2C8bIyFkkDSv/Xa9sv9Qb3qIDn//9PWlFfAEeG+mFYndFaPC96cz6Jf5uU7ITv///19qf///////0ukywkibDAgAAAAgEPlA8i6jsaWomXjhkCSZPegrNR+BwUJqSvm1Ay0RDEPkgmwSIO6ESD5zw//uAZBiEZHtLT+tvTKgdwVoKAMUFETUtQe29MqCShWdoFhQkwGFYjxEBeOXLkhMxRlgYYo05sqFNWfW84VNIO3qSIjMNsc870Z9ClfCS6R2ojr9NrwlvtC124/9Umh///4b//5oJ3f/ESz7l+PG1xPnMz9LS5Sdk1rEZj///zwt0rYGAAAAAAA/IewQPQMyvTi0l/////////////t/7DsAgAAAAQA485lQOUfCihAAyUhbZMHA1GBgnFCqHW5ghTYO6BAAkRI/1IPO35EAkkFgtjdo2vzwVEoHmA8IItOjtTXiPzqpY1qZNbRNa80/Uv5MZQ8nzj9/iyVzDrVG8v3P0P7/9dn///X3/+7RHPDP0ibf56CCipUX72/4Z0hOmVV2TP///0UNGLzAA4y4l2wPPfAntAYlB+CyVmn///////rQlXd///9W2kq1DAFXiAgAAAABALiAGIANfBkSOYEAGHjpki2EdavAMCAP/+4BkDwZ0WkvQa2k9yB3A6goASQMRxSk/reUroGeFZ9QjCIQVUi1oyA4GgKKxgeUYGfUzYFhfSQaU5u0SXVHg8dWNPE2W9YBpB4hzvE2JDVfi0ctzj79mj/gy6zJBtN7/KJ1LEyppYRtWuo+CpOj38u38346ea84t/GhdRwqFMai5pcthQTkThHFRL///6/KlQgAAAAAAHhpVj30e3r0zy3f////////////+lfeU4wAAA5nAGnsws2E2MREzGyozCcDvprwhNjJUtrUCHXcRSViAoI1jnT9ghGirIzbGDBoSkyf2NX48RB7n1FcqPBkudeWZxUY2INw5Wii3TyWejPVFbumi0obVtB0cFPUJnZsGcPqtf2o7/0Lf//2a1tc11c//4/TaweIDghFf2/0Oe+f9sHf/+7tddPROpZHE1FqgwmV6vibb9H////////////791rkL4oAAAAAIJD4wDioNJgVmmKA5YTh3cP/7gGQLBkRXSlBraT44HmFaCgDiCRCBI0HtJPigjQVnHAScBCgJTgkDA4soip2OMq+4iWA5wYhNGZDt3AsCTNKkBsLl1SId7G2LZxxWS9JaZs0zlkqgIT3kL3yCCIY2KErnpj7Cy//02vJHU062En+ls4/sf7EZun9ggHSBMYQwxu2KxaIBuMikgG5oLm9gXSo1d///d8WoMhiAAAAAAPJPEJeotwjV4qT//////////////t0PcuAYABAHg5EXNdY8IsIxmqdGn9AvAqqKLzZQmIruNQoHjUIIQAQvmYaNKihHB0gViOShIrdRjD5VIBX5fnWnxG27DZsqacK2dd7CCnGiGaEtnj5yHf1dO3CLXZxAfsRhqgllRsuhgkepF//oMGjohLSg7+o61x0iHHVb6EVh////5lBDcwIEADgWgxPEITpG+JZGpDFsnO+6//////Wq16f/////7Vv5NcOCAAAACC0+u982emlF//uQZAcEdG1KUGtmVjggYVoNAEUFEtUtQa2luOBhBWgUA4gUxQSmPHZkbOJaqzwQGHFAqXEGGOqQ8IRODxpilM4YoW7sEgIRDlyeKwKcqP9FO32KybBtbUcmnypbka1wP8oBlqAwwSDbm6BGpIdwF8NMNIDEkwTfq2KQU4RFDZ//gFwD3P/kRNUJoJxcLT1H7qIgkXlHPp+g/cqDQT////WK7GAUAAAAAAAAdBbwAeobq+OxKTv/////////////3tvb7OcAAAAWpxACBQDJAIydpAJEIGMZ0wIBo/CEmNRK2VKYmHtKA2AB0JBxk0WDDBSqvQKHFYtqPoH9ur7X7DdJIu6YVVxerk1L31owNv8hMriqybVI1P5aY+CVIzWopWVYL52H9IVu6i6lT3jHSMSV50U//GkJs6OgXByFpiIoZBqL604un8WZwuNMB2DDTEd4jH///odsVGhRpQQWUQ0ASjYWT//////////////2vx6RgAAAAAAAARXDN0w0ITfMRaF2mVrZjkiDq9PgZETgxJWOXCzAPFc4VQt1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ahqO1hlDTvj04hUhBmfZyX/Dn2aFFqlsf+Oqv80W////88arRH5UTpukS1qImSHBOWat8OaqIELf///70MUuEAcCvQCtCk/bw70LloJsVghp5X/////W673//////7XCgzvIquOAAAAACQA+JfVCnBPAMNQFNMkNKiH5BMCGUg6nfZuR//uAZBAE9D9K0GtLPUgmwanKAWILEf0zQa2lduCEhWcABCgctuQ8ebQkMhzyGnUASr5ekqUI9YlA+3XRtCZ5UaFLDBAngqs6xBkiU0PJMZj0hefNFsodePHqm6pdKZvZFNySSorFvRlbxs3/9SwSgjf6AGhJFZoPHc8JJwZ4XlQAhdHxu///+z6yw9QQAAAAAcCyP/dEekUGyL1nQXicw0hPf////+nzGn/////+hGsiVN8cMAEgkHjQUBAtkRoZyZmRGVIZis2ETKAIMGw0eTiYIaGcBxQ09BCRMrJpMY8Fw/LGYFAtpsSASd0oY1KdgqdypATm2FRaaYCTGU0O994lUyAV1GWzEWfnc4XhceQovaBE7lI+LfqDT/8Gh/////0gShp7//SNehii+RyiyHS97XvOMppRWw4fwx//rxbWRpkU8DD6QOYgSdkHcbSS3r/////93D0U0f/////fNilS7G3igAAAAAAkHmP/+5BkBIRk0lDP63hLyCnB2ZcB5w0TlTNB7eFtYGeD6CgCiCSgskUVMQUBIIBJuCOMxkFQJCIxMIPGsrJEFmj28DKB58dKVH/EIphhhOeYccRFmrIyJ1IblT7ztPCLtR02rRG+8dSbTNWSfh5eJ0ib/6qL9cmvihffWxLxjth2AVY9as1Oof8Nmv///6UY9z1Zr7Pb2GdRBCZc4C7iE9DJoTfCIoJ8LRA93RW///kTv/0bkbeHyAAADgCXP+3GlAnXSntozLXwtswZypbHq++////Vimn///////Yv9S1KgHAQAAJAPBTEYaGqKGKIpjA8Z+fmRH4drsdMCBDiglLlYxoCgLG0EklhPLhQMeK3ZIMYKHYw6GOrzLlrctYxalvNysyGSqcVsoAU2rlqh2svuEUKcxY0c5ZESoEGYZ7hktrZVJEMt/5CZuPHJrf//5KMuR8/80XkEg7WSjUlyRhHcRkmktpMPk60UTUd6pMP+iavw1E//u2hfP2tSEIAB4ySGPBsOMt6ZL/////////////+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omZ+0LrJGzwuXfL57iVJhLKBAx///9z2tFJ8AiKYtXZFwZuV//////////////6aVYFwAAAAAAEACcSX2cy4M6jOwcyhUMPkAU6MxET/+4BkDgSkY0rQ+3hbOCBBqeoAxwESCS9BreEtYHUFZ8xRnJQSboGK0KBmTJYcDtmRnHrQzMHZ0D0CqBM6HJcViv3VgQNtJQI7HgAD+UogaadKjaZi1R+rKTiipYfhDSOt9aaRr/mTCGzwTv5XUL2es+8phjv/5bSpw1r/0US7l9mMnUSMUqZgX/ucS03j8Rv///9dIAAGAAAAfMNqBF8S8eajZXKjFP/////////r////2gRfHAAAAAC6RAhAn1NaFBpNElAyEJK2hFoqkBmw28DGjBIJiWBUaX6icHH98UjRVQULlD7oB9Uiqin+QBD0PzT/5yiy07Hspwq3pQ7CPManQtKqThf6A28ukj3/218gQHCN2f9TbjyndLZEzudE/9kn/TV///pRzNwJH1xWhB9pjgdD//khMmSq8f///5resy4YAB9QPVX6BHC59GyEl3f////////////YppjiKwsq4oAAAAAAQA6EBv/7kGQFDuTESs/reUtYIQD58wBpAxFhKUBt6SngcgVnjAGcBAQKocaCjmJhxghmYfqmZAKgwNCjmwFGpS008bKxqDyBcoYhqDjiMi94kaU55NInS2CCERklJKKe1bh3d2Otnu0kaxW2qF8hyyVNOgkydW8+mUR2NWf/ncfwOEu2hzwstq7dVMBl59Cz0kW/uh4KihSH/9hYUyAzgqaA5wRED0KswOz/f0jNkr///+EfwCJQAAAB6AcEG5ZjOw1eXkrV/////////////VqDQmUUiNyCAOqRH5R0RIjQDBSswqtATWnAWCM3KCAWjmm5iRtrBADDsDIoZDJeMaJTVFhPDQmhpWJtB7Wmq0tblzGIuNS5wjDSJYzTdYR+Rx0sf4xl7JYPFZbfare11kXh5/+jIlfxsqiImjf///6J1HljOhyqhiYIJmkhJCHUPk1CJGW//GP0iDrP///6FqoescDQHQCSUEkyPNQZyNt6P/////7vf//////XxW3jgAAAAAAgLhBVy18GigmyJG1HgKgT1lQgQCDwxHFI4xqOR+a6sv/7gGQTBkSJSdBrW0p4HmEqBwgmFRKVNUGt5S1ghIVnnAKcBAofW7Xi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gGAAAAAAAAABxIUFguMGiBIOGRQ+EP/7kGQLBHSXSdD7aV3IHkD6HQEFBRMtL0GtYY7gWoToYAEANNAYQBcC4KbmCKSFAExGnLQvUVRAWc3dfoCie6hYAIarO2hXnWL2kQHOPQyWrWELyoOOjMDH7ImdBDX9oXHtRFP9f7Vig/dphswc3WtORdD2owa6ufnD9ftqdIjkkzHfXKc/8tbTDI+IeOsbhlFm18mp35aeMgf////iGKOSBAAAAAAAAB9rkJVoC4U9yre7/////////////9Kl4YAAAggDtbVhhYavJr5sDRo4gfUXiKKziNFqp1HmCFFtmrBxdM2WDDNSgulVVSVv4m1LIkIHJ9SVnyF8Nv4IHwoRQ2oaosLiDkAypT2HMQ20jalWyfTO3tMvebzAuQJTlq9CoY/Ctf9ikzLR90zMzM2ouXIom3wkemlO1efr4B5EECGDmTkGlJ7b3bfypfSF07aK/f//9nemgICIoUegt45MZduv//////////////UqcIAAAAAAACABwEBKCwCaMOBBoYYvmMuoGqWriAMOCBU4UPDMa4FEkbIRsIgoZihh4//7gGQYh3VHStB7bH3IIYE6DQjIJRHVNUKN5S1gaoSoUIMJRDDmRYDGOzlsvTKKgyGJmWrSLU3Trym+QKHmFSBWNB1RK03dcjrFdu7Dd//UxQSKprTN+98pVmh1RhtowWmT1adv//53ilHjO/fQ0NZdkiWYTEs5YViAtNJ4uSuej9QhbQUWBlWwKTJhVo9FM6uexQVW7//1aNVClUEAAAAAAAAd3i6CEtSSZwdvQxiluv//////////////vXzQAYsDKVtyMtQxGDFUzFKct2sMIRo00lXUjKZbIhhLARLKHHRRvDKIjeRIEuC7LUoqayqceFzarGKOzY3QR6elVh61WwUVPSg17VjFqVt58faGZnPu0OfiDfCH1prVbwpn/Mf/+xBvqWNCisiqylG61VDH0FGpjhouBERSzEYLOSMLJB4WxJP/ps////3voYIldKwmbkzoRsFtv0/////////////9z+9dgYAAAAAA//uQZAMG5KxNUHtJXbgaoSoXAEIBEaUrQ+2xNmCdiGZMd5ScAAABzeGRUUoqM2CYobliZjiLq0oBkmfM0yNyzwOxbelYVGYCoPoy0zofCsSgCsBnWQ0jErIS7VqaQoQz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j96Zr3c43S0NG4wB4yRCpI2tDSoqJj+e9CTxk0oLRZ//Ug00j/9sHgigMA4xReMxASfKSawHLDYHSYgZGgcGJHJ1Jm5sencdVBJHSuZZ9f////SPUf+mg9NIIiKBB6C3CqSr3K7P///////////+rSu06pJYneeAAAAAAmAOAjBHxfJnSABiQKLYhtTEAdeoMHn4NP/7kGQPBFUSTVBrennoJoI6DQBFARDRLUftJRbgZYPobBCYDL9UNO7hFqK6yFgBrbosmM4Dl2ZUAvZm+DPuWwsND3KyBYN6kWIUKCtJt8mk/pUq6NlUvPikBscndnn9Z/SlPbwI2b7//kLTDBElIQVI/Sj3/2xDJqZ//xjNXtHx7TdkNbMjNv/4PaOc50XUp0zHswt0hKVOwf/w0dKciId/wd////clQ8AhgAC0AAADwOgVQoPhw+Kb6aFwGHUH/////////////45zmliIhgYAAACZIXNEHT3aMMrzEHDKtzBTwyu+xAQNIXZYyM11UWLziCIopPXFgMSkHqz0W9sRkN9NBa158IdltgTa+L90TY8sa16bPSlBmpJHfSR/lEc9SCivE5J///nrNHXcJXAjioi//h2VyW9rDhvr/5mxMdwlBgktrB0bV9B5QVGUd+UOf//6KCAIPKQErvWcGi5H3f////////////+7RJJygAAAAAAAQAHMTD7q+TNVwQCZn5cY8SDWVAANCDiRdb5ABGGaSApu6s5NZNJkxhgrYv/7gGQZBXUGU1B7aW3YIKE6HQUiJxINL0PN6WfgbASoEBEkDKkILP7pE2YbggdGHUutiGg+7KQ/JCu6bh07IHEWHxM442QylZBmncafwWUUPrOanatz//8GRRvuJpJexHVoWv//YVMhI6QBTfTnf9NNzoXcK4gjMF4HemmSI9nl4pICaVD2IxweDp2/+Tj3//leMwYAAAAAAAA6wzRu9sZxueIlrNdH////////////3fQpEk4AACBHUARFfBsxyYUBgFWAksCh5gpUOmdRMrY6dkiLWX+KpsDUn5eww5SxdSdc+ahhdnMWDFAS08avqGfEaR3jtWRJRdMC4tyeOhc9rn4LTVE9ydX6TNjDhiBoc0P8wQlT1TWlC9C////jVOk+vJa3+Q5qex5LXFaKy5O/8krktmoUnCYTVS4qd8Nf/+csvgAQWKqM58Q5SBrpZO//////////////5zfPKoFwEAAAAAIEAdBgoCH///uQZAcEZGpK0PtpPagsIfmXHecnEoUrQe21mSBlA6h0AJQENbADNQUxhEMLhAhoZ+W5N4AlcIIzLpsFCbkDpWpROPKYEH0krUdYv9dntNJSqEsRpnFV5LbQrsmMjCiQkeYERjaVRfoaaCupq/yF+jm5xqClTE+gRDWeVG1BsNn//U881qjVvQbHMJgRAiJDIQFjdAa47sKxgUiWQC7v///XxUgAAA+AmoStKFV2qXutSBJqICauI2jUShSX////V27GxVRTub/////8rtZijDIAAAAgA5Ec9XybMJBjKaEVg47JsRJohJjBCt9EGjOLAMJm1IB0MZICaAYKQcpmsoxxSMI5ZdCwKRBenSHgWGak5Twzk7kXtQeyKZGc6LbUcNj/JCzFvycbF41U5gSKCBupTDuDiHuB4aDGZuyb/7MdIBv/zNFlKDoFBJD2EqGA09MzlvhI24lL7R00////r2JiohAgAAA8dUDamwmdI2+z//////////////auo4IAAAAAQA7g2ICMxJTIxgyBdMDowUytKDgYbIk8kLDZzYWW//uAZBIEZKVK0GtpbbgcoToaBMUhEZEtQ62ldqB6hWecAZwEG+RVFqFmUtCxL9a0VgfJEly9tAOACF3yRdcupCA6GxCwvRJzYyY2iTOWUccojaLnceTf/+NKSMc4ZonbxPDc1JRNySEoxOC4afrdjokpb/4nZLFET9AkhAC+dDUPcYhvMy++ePNJ5CQJIof///sqvKhCAAAAAAPwSEJNBMOvj6v/////////////+3zKuMAAAQAB0V3KbCYEWJWGAl4Ekwg/VoHCEqEkAr5EFyle9QwFDzzHIWIhzdZ2E4qsNsTis+QhT2XM0Cf0oXSM8WOng3XG2ecVh7KEzZySym9mzv/qI8pl8Q7/3Wob0QCJq9+kZM//rkPB44xCk7/4Jpa1hrYBwkGobipmiIzHm54QM5oTJeW////1smJsgDjUDoBxF0KpA7Uvj8llaP///////o6v///9RGO9dYFwEAAAAAEgA8DTjDiWQGP/+5BkCARUq0rQ+0llyB8BGg0AZQcURS1B7aWXIFsD6FQCiBQfmaGGrFgJiLp1OC9AP6p8onHQyCUZySBUJLZ6HhCZ+YT8U/qYerlVe6WFxjbhYRcw2bLHokJB7B1/5/O0o2I8c6thJ/qGHekt7FsEf////ktIUYvQ10AwU/MzMzOlVMeDEnOiA9OzKET56fdRIQRn45utmAtGKGYFQ29eXByxSoOf///9AFBAAAAAAAHoYyNDcNwDPGvV9//////////////57WwQAAAEAAOQgCaEfMxIjDRsyNsMMkAFHL+FSowc5cZQA12ECFhl5KcAYfeVxjDhzK0n8x+5TqWxuPjorMxqHSYEv5jHITO+K+2B5+Fkl6NTMmwSPrw4nLorJEfLzUV5ukRT//P/5JEUhOQgk1YPCUp+ZmfmZSgRUPgAlx5TNvmxajmZaEnxLXLajAlFyNOegog3MSKfCc3Ae4nf//qRr0RY2cIhLUJtVMKOty/VT//////////////FlYBwAAAAAAAgAcBaBf2GDSAMyIVMIegvXAI8gctuAxr/+5BkD4c1G07Qe2l9yCHhKg0EaQMS8TtAjS33YHCE6CABlCxWIgATDd0trDw6SCUOyFxjExnObQYc7U+hHDVMkSk3dfZM2nuEZG0qcISckfyEJnYDLe2ojryaoWJLj6RTwHWEWf1Lf6Dn/8EjOSazExh5Q8P8ID/4gRP1ynIxjUp+YLvFO8mJcZp7sqvKtMmfFyXjCunJo5J2tIykjf/5VH//9lRK+cGwAMAgAAAAAd6K6VflHvxirsxZ5C/////////////1+MG78MABIi2kaCR4ZXM8cNG2F5i5RAnNs6ZKlce5UPakrUzhuOsVwjNEtRlDyW3YgoJLbgiFJdTb1F04bnQ8GofShexHDMrgeBmRVBBm3DBDJsrPPw3f/6TcU/4/gg7/Kiktp5ukWqjtLYv7ur8PwgKzo0GR0T1/CjZ+0weriSQuY/STUgnF6vXjzUFtakhCXaV1//l7r//9CaQCAAxHVFyOeBjVDJe3W5H////////////9XMqSwwAAAAADAA6XbMJSZsMCxAFCkxF1AUi1MLBhwgaowQAxner/+5BkEYV09krQa2t+SCDhOh0AZwUS4UtDzaW2oG0EqDgCoBQZIBNSEJOApJiLHAEj3tFUAywhtKeji5YGi9Eua2HAUzVlVI30NUeNllC5HD8A2vJojwXqntEdo+eqe//5Na//xDX/RIFGzEdjnTBof/VCe/kkEmsEoPA27r3/87s7NZyTI/okY1T+R8fsBuIb7t5I1VZPNf8EP/9Sdy5kDgAAAAAAAD71wg9SWFS9C0pbr/////////////9F6qTMGwAADg5SEASkcae9hUMITcknUA6xgqNGtj6dSCEz2xByK0okMUXIq8ocUP1RJPQdJriK0istOHhCNMxV5uaKuFSgSJ0JsCJB7xorL0sd24Wse52f9Zcapv1PQZRdKTol1pAj3KXXTN1i6MYeby6XCWf+ioTUcSBWFkFyQF80Kk3E2JMeTi0NDBEml4vJkfT/48j3/9/8sAQABI0K1JlQDjYx719P/////////////QNdM2GQAAAAAABgAdQJ8FHyGAUMTevzHYQ8WoQSkTsmGDvediKJY2SDhUS4QQy0eVT/+4BkFwR0vE3Q+0ldqB2g+hoARgMSZTdD7W1rYF4E6FARHJRWmTaezmI0BmfEItLmwz5IGpIAoWRrj0lAIfweItTAqoH5MzZGdRqanXg0JlEGOvwmmb3//kulDfID/qSBdXjxaqGRSUTrgf4ZX//MmoJ5kVDMdoraVAkk6WrDW9sUedf/jxfiX//I91SAyAAAAAAHg6FK7DfwpT3o9X/////////////3osTBQAAACQAeGaAsJWgbSiLWDftDLQB9EnyFBZ5hCYI6AEGgWAJkbyC0i4WwMWxGmVmU9I3pSD3aFA1JPcQV3LrqRIL3mcLghnoEQtzQjQd1TQlFasv9E766tEC66UK0v/+UaSPM/8qNSr/daJrUO713jetEf+0CNBE6oaAJgkCuyBUEWz46v2B8e/5t5tf///aHH4TooQeKQcZ4vCvL0+r//////////////lXjAAAAABAgHmBBKpH3MxEDBQsZRhBQA//7gGQLhDSeTFDraWXYGUE6EwCiBRIhMUPtbStgdARoUBEYDIae4kGDPCd4lgTWVMOYYUKDAY2u1LzDwiVW2fMUzghlEZ2gkS6oZOhdUriGApVRSaQNliJgjh1N+DSLShofz3PXxZys67Cyef+GXNTe5gz/+bQku/wh/+Hs64JlW0Lv5nV6/4OWUEwvPu5LKIEbOnvXk7oXY6U08///yJKoAAAAeWoXq+EPUej7v/////////////bOa4FwAAASQBzMkVKoOD1pmhZhohj+QR0Y+FQgDtphJlmjRoOK6pYKBoJlzVzDBFv+w2tzDqluVIIQxjkvYTDXZkKGYqn0MhvUwdMdIJ5/BX3dDn6cusj43/O+ktQt7I8xg0Ndae//pE//6Rn//xmpq0rG/Oe8KiqYdaEYjEIn8ha2JasK/xykyg9BQlNx///+iijABAEALFVLXjIfg0ct6fX/////////////9qnzC3CAAAAA//uQZAKHdJBKUPtbStghISoNAMcFEZkpQI3hLuBehOhUAogkAAEgAcDHkBL/GzDgL0cYmZtGUpIiOnTWqGXlQCMQtgEHQyVSwaE4m/RhYdfljC1w5V1X2pxL9VsnelFiWcbVmmRFvrmQ+7E4/pa+jbFG/7j9anfn1npRh+nvWQP8W1C3/9S3/ya///TFWkTETXTW9SVisOEwB1A0VEw0Oo/YYRb49ANDSMRf///vUL2MAoAAAAAAAA/QdyAehuFz5VrvTf////////////29iba0Z0AQS8SPJvDogoOGoNrQEavaDA83QKbM6ptpSTJq/x0kGkt8XKPj9xkhDUvzTkX6cUi99uPDzZ2mHE0C5tPmTrhSaesSf2eUUFaPoP7/HGX9U8RB4XosZ/uPjRzVmpab//pjf+U3+gtiqHFWDpmlUOTnOEkwGEAPAiNrRISaVxz+l6kek///+7pD6lJSFPQJPQHwhsamzVT/////////////196VglAAAAAAASQBwcgFgLKoMYC2iIMMLLzEocDR7tCIkM8KWmJbmmRosRuQ//uAZBUGJEFJUHtoPigcYPodAGIBEGElQ+2k9yB/BWcoBYgsIwwSanRfoxsGnrpVBYHudVzeoC2iMc2mRBNumvyqesyOcuuuKyDgfHDFTHKbnEI/0LkKcdlA1NgNoMb+hhz+d4mHV53T8oEOhkqDgzHRqcBwiD5EGf8qL////ssqxwFCAAEAAAAHoKoZqmwJrkeX//////////////6nCQAIEeHDKXzRzFyIAkppZUY0SD1M6QhEDYQ9t1kACaWM/rxDyXHbgYU4U7IVa8JW1KzKBCDOZk3ZOO7VtZE0Pqoy3VETajJ/Okgbt89dngjy1P1c5eieTP67cywXAR89+Lt/8aEYl//jwqLzhiOniSTz3URgegOfRDG5g6Kv///1+VCAAAcC526RLJgfLkWuqNiqMrR//////3s//////9HjleeAAAAAEiAuAgdczsGmC5kQWKqAglgUHMtGRk0MQb9Ypo6KUDsWVnJkeCb/+4BkFYREEknQ62k9yB2hWcoBYgsQ0SdB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aCUiPfzDCvgqYSSE///9f9j48MQAAAAAB5aC2qhnBzqL/b/////////////07czxwAAEWAegKc6UGXB4GLTAUQGRgKFmSjo2ZWKNPojTR0mGXzIQUmMoNkIsPU+cVURsQQ1yptY7FcHxVdUszvVRdsyXhFFvYYz+cCNGTmKgUQ/zysSS2g+c80JyLhcRST/zomIt/+Jsfa4tlRZFEdHSYWG5orMEYjjz8bC9x5UIiL///jTRi+TACOBeBqhrksGPQQJSgxkaND0f////1dLaq///////NzQ2XscAAAAACEAuzdrj/h64BQz/+4BkCAd0OEtQ60w9OBqA+hMAogUQkUtCjaD3IFyEKFQBHCTKIjE9AzY2ULBTwEF+LvNxlFkcsHSY8mpIqNHa0vUUVdhNspkM2KAw/aB0qU8xOUJsowPoXHGupEbczDbF/Y9Dy27nyo9FinvKmNjoPAsEIrEh6H/lBs3//NaOtKjqJUVhoEzkImzz9DGlhcEwpCQod+oMf/0fkwAAAB4rULegHhqqf//////////////WseoarngAeAoKbiaoMDRCYkCmMi4tEp5FgcM0F2oKyGETSmVOSjrSpZCAwihEvQ7Mel8yrV26iYrX2Pqsyo4YOxwnkNkm4qQKMd4yyCw9Y59pIvlRs05XKjf2ssSD7yhJTulQjVmf8Qv/KkHFcqOCSaWEstQ0vxHZR4gCI6REQM//yg3//91VayIuowuoE8Iychcv//////////////v0VcMAAAAASEAe5i94kZGTmLhBhB2BZcwoDVWFRf/7kGQNhLS3S1Drekn4HsEqAwBGAxOlLUGtpfdgbgSoYAEYDB8Q6ZycJ34o8db4gTjyB0JwOSymdKgCj3DC/JDiOiGWW2fJmTtKdbOc+QNG2onUdTt7uhI9YRvU3+X/53VmP6hn/4fXEKIPYgAULpoAvFJH+LTSDGritGLKIM9QzznsDo5d25xKJxLG6oFFMrFcKrI32uTw/Ue//9TDbRgAAAA8AoBJY4RnCEuVt6+3////////////6d7N4Ri+FAAAJAC6MbjsJBB01EGkph0qCntQgkIzSyiG0OZo0yDl9vCALNUAnqhJiIk/NKh0v1JeqrUlLhkwRNvomPUj422hI2cwMla5soZQI3UoIES5OiU////rrC430k+M7/9uPisVjcQx6lOAOvWJplwCG5iqzM5ADkwdyOi5Wu6QSMJCFUmm8kj6kOZoLannX7c0raFaULHF////cqTIuAKDoBK7Ec4MrsnO4pT/////////////0LKbBZXngAAAAAEADmJgBctRwyBVMgBCJqMeDCLSVhLanPACKIjCDNOIwkAekf/7kGQUjTU+StBraX44G2E6JwBHBRNZLUJNrfkgbgPoIACYDEJA7RfaJmBFMLxSWp87yF0fjA6Jr1dK0NDcjlb6ZXs3ldyG3CGCJkXkLA+3g1JwxJY4S+e///+0LPWRbSjfue/10wl6E7uTpy0lvzNf62bLGrWE2zIXIzylyhLutFCm40Jhan0hRphQ2XJdjo8GLDugEKQhEwFJA///9Da5eFiggAAADw1DDPGcI9S9Xcr//////////////tQASOAoBNFM/MAaJgVIMEkA5ibYZIgQer2bw2MyGpRpYiPDDA2nWGChZa2rIp/6iGsMVyQPUnLo+WglEilT6vlEqtFD7puRKxB2RiAXzAhTimo89or+gaV///jcvyPn87SB5NWvHkE11/w6cVrpktqIZlzIJUbtzmnnBJCbptxkP48ieO20lZmzQ1epzyL66L7exe4v///TrsrVIhAABDMWruV+RHjTxf1OT////////////6t+rUrjhAAAAANADixwtrAzgDMWBwozAmYMgAHvGgsDgyVxAFg3nGQmSDpMauCqqv/7kGQWBMUnS1Dra35INEKpQwMLDRQRK0OtnfqgsojlzAecNM2MPJb/GFLi3SpR2eoISsPwWUXhlF9w6fCCF1vrelB0gzUTXkCe1TXJZArnr3X4hAJ///6oPkhsmtfX0bjvXxRLnsnhlc7HCGHrwRQ9vg0iabw/kiO8l6dRI3C8HGmmQzlSn0YSMb8qF1IeRTSqjwVrn///+V23EjYA4AAO22yujCWz2Z0eDRcFKQ1NsLTwSTCitVb/yoaLgnVs960Pzotu///////////7E+30YcAAAkgDuo2SfKHcSRzJioxcwGrRuIoOmbGifKujZh4on1+l8zgQJYscBSAx+cUcXFnJESN5LkIhqizJhOan5TTUnZFEn6h7F3Xxkf++1v7o0GhEwfCAg3jwlP/4LQz/4nAZjwF05jX5v6+YZqMDKoaMD5CkF3JowbQ6VUuxb1Gea2jBjjjJmkicKo+BMiUGkejkPdIqxCdMy2////7U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9xibav/Wc6zIBa66kArY1s64q2BAhLBSI+2EeVJaoElIp5JDGSh1zY/+X7/K5Ov23d/Hw+fupXrm69f///Kka///4x+fzQbjm2p1l1DQ9V7waTRsuz46mOgrxpkynbotszMlTD2tkmjWYnJVFAz////3hAAAAAHlqFegHwGHRDPez/////////////9Tovk+amAARJP+lwM1gKSn2OERAyycKgShC95ICBwG9QDBKHvaq3kHALVqmfRcyDUO1hCnDFHGJp809pIlnERWEofOP/FoyBg6Nj4IQeDNDWzW/8df/1ZJDqWJSDDA4PDYbFFHSjZ9CR8cKmB7RKpqwIAAKBHMDqPYHrKPlfuT/uR////////////F6uuEAAAACIAOmoGAq0jSzsw8UCyyCZcIMVVjA//7kGQNhDUMTtDraX5IHAFaFxTCUxLZO0Ot5S7gd4VoUAKcFAAO404koR7eKIxQsGB5RmNycUkOcazgsf1EkoITGhgITOuvQ2GigJpWVaVQd+c5vI83wMFCcwdJT/rD/vfSJrbzTlwRP/9/0gz/9RBlpCAJT///qE0aMLuCQ4Aj1UNS6F7jn1CrvD6GWwkVD6Uik5mEyUlDMJjBcd4pT+E+12Gf//197WucgoAAAAA/JQKtBLBksZeE9bv////////////2/r7wAACKAHLUteGAEypsUsMBNzBIkMT1uDAyBR6lHQcxzdBoO6goBAatXM64Us72JMXqW0h8IIFSl0RdpREndhYyfXJiCDI+0qB83wJR05jKFmoKEOdz/UIYVdEm/5Tf/c5hfIZ+cI/wYCzQx///xHoKrIcsg+/ZCPRChBcX8MB1jQ08BiGGsiswI1iYRelnf//rNf//t2KAAAAGE9AodRcIiFC+PwJrej/////////////3OfRVc4AQAAAAAUQByIbe4cAjGmkxAIM3BSYxGqdOFAkEaqOJf41CKP/7gGQShKSRStD7bEWYFGFaCgDFBQ41LVftJPHgmAfmjAYUNDlZrpULAcavE/YJI97Xwp/b0MqxqonqcW1HVJRaqPjp0hWVahc+Xy1GfC/pMHvxOojF5TYxyAUlOQEPo1/yHmHkB/zYXOvmHb/+Vaxs3lCNf65INx4YEIPDYEIWPcKtYi26BXcGvAPr///9GkwAABA4AAAD12SGVDcBxWNNiEl3svx8IiMn3zwDlcNLBnPdAEeYGQIlQ0KkSHYsAcpQYUIvzNRyX/fZh3jG+jO8Dz9HST+UHb+6+WSNdtbP4trvVtg/eptJLQ0+SI4Kyv/+dsoFta1MeVaz//+hg6NpQdJN+XYmULlyzqhc3Ljp7vUbQOIDJ/wEwmzCC5FkulzcAFf4px2CerfEjhf////3+jvrY3//////4edMqmCAMAAAAAIkAeVMvlgOcTGhsxBuMBhgMYDQGTERWzrGT/C1ejLLCXQ+Z/Z8dfR6//twZBeAdHRL0Pt4S0gcgPoXAEkDD0UtVe3lI+BbA+hUARgkTugTOXtu/UaRMW9JpYTEhyeUxNPEkY/3jSXWQRXpGfjCtn+gawsyx0EpM1KX/6mqQJGTGXizf//////9E6cfSInd//ZRESic+oAx4KhUlz+OLLrfzxOK1vf///18c2AggEAAADxVSr/h70IoLcr7k/////////////7uG7fDIgAzAvbfThoCSLWjhxEp+Beg0cPsSkqBkIkzKjAKb682Jqd2XoctXI82bKpbAFjFlh2qJpyV1JdBtCKiPIt3SJ5d7drfop+yZD1pTJv//5taRExE9Z36SLjfUYn///fpM//7Qu8IfGakdpZOmt6X6+e2fcRbOhQskRFSi6L4Oq5fr/////////////+prtPrAgAAAFIgvv/7gGQEBDQtS1DrR05IGwC6GgAmAxGBK0OtpRbgeAfoUAKILJ/pRLZOlASACzEwf8IgzaKITQaCzA57AiSQOgQJnz60wEC/xYNjsvutWq2RGBZrx8JHndzoasd7NaiaIpQiUEobajRWGg3I5hKVEg6FWNN05jzRbmtk6EY8xf575zxPoLZRXhpjPVy0SG1yIdDCkcKm9+CBigCMo9////QvUCYAQAAAA8cjF+h6jtyvV//////////////fRxgAAVGQupUke2QAk46IGAn5gEKClNrRVIDACFwEO5iEakPDEvJkd9Z8wMC1dJAV1b0pZXPV0BLF70eTjm/RJKFdPKll0ZVGm2cxdPSyqhgwwWUU1yohR6WTbnxICf8yrwkFz//bhtALO/8VH//+zZTeLxWWcDQQomhMi+yFA0gsPxwkDkr///0bKWiwAAAAOiFAodU2AzY22nZoF/////////////0LvriiYqAwAAAC//uQZAMEJHdK0PtYS7geIVodACYDEs1LQe288eB7iGYMB5w0AUkD062FJOmrqEKs8IEMak59dhhQR8QbT1ZjTeAwNBoqDHpTs0piTR3SoOR2JYxK7JBwjNqZw0oqOZQoph/1gZOsd51JnMMbS5IxrWxpredIupBB+RE3/8KNFiDf57a7f6X30gYoia///3///8gRijlSQlHxI2KGja7e9YnhRbmUzDLvxB//py4CDAEAAAAAHqS0JcZ+fPZW6l6/////////////9etigAAABIA9bTfs8NyRzMAsyF6MInAxOTFJCswsqhtfpsIAPHrjEJSHH1K/hhYpK9hSkOrCB0P6AHwlbkpMid7qlVK39aVzzwJ5q1tFkiP9RHm7f5t/BZa8kLjE///6no3P2fWX6Gblit2rubUMJls95hBgu/8KAwSUDA6pMVA4BhjkhgQF0IDU2UYShg8Tnf/yg3///ZL8ACU4vkszFsvLmkihZqpiLcFujb46XYj///+q16WjqsOAAAAAEyAeSgqA1u4CnjKRsxxkMNoAMyQGBAU5oATM//uQZBAEdT5S0GtsPegfAPoaACUBE8UtQe2l9yBcA+iQARQUFQ8zi7BSG7A4csqhDXTCBlqUqY2mzyDUH41dFQtjkWgFGi1TktxfWK1kBDwuJXcbgjkviJMIkXSxe3D9JzEMGwGyJLB52zNex6vTE58KlD6E0qPZvpXET5QzIooR3M3O46Nr8kamzByZQycGpwpcGt9o+FaYlzMsDpY0dCQSf/6Ev/Qj2XOQXDIAAYAAAeGoW7uD4SZUt6qadf////////////c+clGCQAAAQABwcLonP6acDCTqaMAAo6KMhFoZKgoZwwiEaVcAJGlpAPmjACmDJCwXQF7CU2cqREKRS0cEVJ11UErXtnQXOi7Q7DAaeoDg6QWIpcwcI4icgUIeJFUQx//7TG+kn/////S2A4IRUTeyt4uLvab8GL4T6/0lUKMUwULf/SSyjf4L2AVC244hts+oTNv4RCqe5uzRv//X29SLUAQARc8eqYTa9fq//////////////ouRx4IAAAALIA6A5iq0jUTcx8SMUSzC5sShWHF0zpwAeA0H//uQZBCENQ5K0GtpfcggwTodACUDFLEvQ62l+OBzBOhQBAgsDa3oOjFai0A98tej5gpO6NZR1KLrjFoZ+DVbRonjr/CQnPUQPGkY0FxMuAoODRoy+wRobGkHFGkqETSaKx8fd/gAJ8LBrf////v8lmv+H1NvL+P/83pAiczNI5LRn0NN+7cnnK8FXz4IpPmQ7yKYw5/hx15LEEPjbi+Of//3fIBYCggAAAAAADwIgg7QXAovUfV9yP////////////+lK0k8sAAASgByIId5ZJlSorgAoo5OmDgKtIgGTMjCQIgmK8oGCWXihwaEGt+msYsENCuJvufdkJdJ+poYAigSvt3W0+8qfS5D0+773we3A+kARk0JyLYnGXoA8QDMMCqD+10e9Q5L+51nnaNv//9dHvUFKt31a0//Ep9J51z3usPokqIcu2ohxoUJ0pCBANFFl0cmddrikCqnKZefNrbATzAqf///+2iOAgIABO/AYrh/AxqjwHIa3f////////////3e+IFigAAAAAAARAHGhq61EipbMEaN3jMtBCW9//uQZAyFZVBLUPtMfagKYAueAAABFCkrQ82l9yBthKh0AZwcwQCj1JU8UzzyDRNG1YLvjciWyreEnTuU6drFsZIlj2oSlGbd4JHaCkDtQwtHIispfUHh2phGNJspbTpGF/IB07M9ZXTvsygRuNc7EVLEz067/xqlGtDP0U6/wxRv/63YYvpAZh63WWhWaRQcuIAsKGp0u7AV6HkuMNtQo6yOJPs6CZrxdz/QlLl/jxv///7W7wrwsAAAAAAAqKVqUAAAA5NRJ8zdUEYmYuiGIJgdbOUIQ418fXuVQAwfqAwFBohAgz2UprmKDbUris9rk2q+/iOiDHZmABIDhuMjcydnBgVqmiEBI4VCecBxK2naEmrxz/rIt6rEh/+VikdlRE1/+kEVSXOqz////5DWePHkAk53vpsHYodDFK9mLuTQ5RY1wVpUFxNOEXuVluSxgYo57GWpTWu4N3///1Uzj2gQMAAfXRxq5bEK1Fk97bv////////////cvWunsVEAABaV+AQX4zpW08UEzgsYoDqZPp1RHcAgi9kBLKAS5jYk//uAZBKAY6hK1PtYWfgl4hmnAWUNEkEjQ/WpACCFhWZOljAELG8qt3Uzz9RT85UoxWj7OrfUJOwsofSz6nrMagieeTpJBmt73/9+RAMug0OQNx3/91pHv+U////dSdNe31PhLb6aLTpwlW79j9SDw7rPmp0gAA4AAkG14Us1DrsQBdUD7gLp+UfK9/7v//////////6pyNebNMcgAAAAAAdYB9dRdUxxTABMG2IGJbIiRUUBh2lyJ02WsqgWXiNCHCB7GyA6yIlYX6mLJAzhuGph2C4P4iymK5UMjIdqSRMqRMnc8dZIumxiXSXLpFTxIymTXU9ZDiDG6YssbCH/+ymIif/6y6ak44yylUyLHI4CsUay8fH88Q4hhd6lEoSbql0c4Gv//9HuohI/wA/zvA8zaBHmQLMzBemCezU8j///+rNf///////6m6XjVWsgQAQSBDPf9tY48UABEOmLFgEFTVBYADhynKADcwf/+4BkD4AGV03Qbm8gkCJBSx/EGYIPCSMrvYWAIAAAP8OAAAQdOFDjBVARHRjiKCEQUGzYYMy5QNMCDJxAWsEgySIaTOWRwYZd9LChTmSFgpuyJSfruv1AAhAdJ9YGMQFaMcp2ELGf+RwIj0sKrEpbCZc8qwCdLQp6I0VI7Dw63uRrGo/w23SDKOd3+DYJS3Tf6qMKgpef/+eUpkm//UbpJbDVqId+MxlZ8NMynqX9wDJrvJqGn1Zsv12F/Ncfyz//g/Mons7t7n/9i2+vyzKyFyDwDOFQG2XbwAAAAAAABD9ywtC8sGRCjeg8NbepYCrltAcIAAJDv0bQrRpl0TBhTdcABMAy2KEpAMXKLTF4k6pGylQEBIfkR2jpOwbGxqdqEjY2Nj2bGxs53/KJqamp2nNa1E1OwkSjU1NTU7TjY9BsbGx5znO///hyRsbGxsbG1br/4a1v/x/7kjY2pxsbGx6+drag2NjY2apMQf/7EGQBD/AAAH+AAAAIAAAP8AAAAQAAAaQAAAAgAAA0gAAABE1FMy45OC4yqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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7SoDgf/7YMQBA41AYSpueyLhaorlzb7gXFsEwbGTC7nNyr84KkzDdElMh5L8zCiRzD2IAMI0UYw/QVjEBCEMFMDgzDDVhMBUGtg6k7gDHCORA32EhiI1JmMsMeJp8FztfGK2b0SgyR3pmxIp3v1c7j///7P+zxWYXo////9v+x/q0ARiUqYmRgdoNObDCAljeL2TnaQTO1OTLpAwcvpUHQxhBgCeSwCpDHwygDMILgGxqmgaHJRJayyF0YEuRmYiW5RQ01qtM8wo7MXI//+mt3u7///////4tSLubQOBEADJh4NtzA6u+DIVdMXwgQx/G4TQyH1MWcg0wgRqjDxCjMQIK8wtwZhxIf/7QMQWgwzARyZue0LhWYomDb7gXJJUOBzaMTLtlMjAsTL6yq+M+CBTMSSp0uQnc268V6ulAch5aCZlWBU///6iD//X//////UV/E3lLhwBwAjFJw2sfOowTfaYw1NgzL4s34SgzLUwyVKcwmJQwzJkw9DoCBQQloCuoQwI0sGiIYYizQKJwWos2gGOTvea5qpSW3/duHwY////RT////////1dCgOAEQDBFfDMZBzM+AjaBFTG//tgxAiDjfhTJG77QuGpCmTNz2hcjE6M+t9UzxkQjG9EuMiIU4wWBJTE5ALMEoGo1EkySUzJU8igyCs7oQLljY+jYSDMlzXEC24iCBcOXMazAUBylsTSYcgSBKODmgOpYKVGf////9ors+/2////wyjF6KogAYrQRy5qGj+eeFEJhIB3mYG2OZOBPhkCFGmMmGGYeYPRhzAvGHMCobROIVRhhBuS5x0ZsQAFNGNvmThkBweKgoutpbpcti7MLsfjLYILlb+u0zpp1d+Q3CRP///vqV/V//////+K3vZuA4FjBMBsMEwOAjDDGE0MTYLgwsB4zCjVBMX4PkySA8DgEU+o3BdC//tQxBODjJRTKm9vJmGnCeSNz3BMdMgB9A+WDSwskFzUbDLCPRExEAACETix7c0yFLG8a521Ow/NNO1btXoejJ63///vv87Smj+3elH////1P0QAAw3rzGOFOs2E7O8zFhJHMpKA8ydECwqS4cfsx3c4HVT4ZQFRmQkAUahw8MXEEyYGTIAAMQgswoiAhBixbKB2HBsvuIgCiOv9MOFP1EpexFpUDRKf8Z0///7MY7///////x9QtF1X7UUVBA/o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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAB1AAB+kgADBQcJCxASFBYYGh8gIyUnKi4wMzU3Oj5AQkRHSU5PUlNWWFxeYWNlZ2xucHJ0d3t9f4GDiIqMj5GTmJqcnqCip6mrra+ytrm7vsDCxsjKzc/R1tja3d/h5ujq7e/x9vj6/f8AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAXSQQAB4AAAfpLfEXesAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sgxAABAAAB/gAAACGDFSZpp520gAABA/AXCARZgRJjRYyOCHBnYJuz6EaQjeU6AstG+ygQxQM7HtjnpemYinUalOJZAvgEYc5YC7mAQhYYIh/u0+zKhPvs6///jcn//KgsLKIP6LiqT58EBCpajR4zOGG1pQAgP+GFFBQYaPmFi//7YMQGAw2crzRt5aniMLLmTbyptQyDGJppox8dSIAIaNLJiMx4R00y6igRvY0tSjyi9mgeG5A7SWSwJMrKWCcsllH42YoAUImtAYeNMgZ6z+eGACACrojeIk///JE0//nTM9Gos/XR2GmLw6baoIKW4S7nf9YA6X+zdwRPGVChpgQADoyCSHZskTDcXMycHMODjEh4zRCMlOw5MZtEk4H6hVluNxi6jrKmnuAMhNbIBW8ElhlkNaLBYCFNwZ3Gpsoe9Xzvphw2/yWcERt0rH/58k+qOb//UwkhiCl//19WRDz+853POOeeplVTbPXQ/0/////+/MWZZDVMObcuRvPGAQBWv//7YMQBgw4ApzZt5gnh0JVmzc01PBlLTOUUONDOC8QsRxxSFU8+ACNGAQqTnEKZ0AwKYVgGvjUDyuDHMrxRpL+PTDDWVIKr2kfHCAwBYVHDAAgoA78sUkqvA1j42LCKDcV4iwpEqN7///62xHb/+bXcvLIo1VWf///XQDKxr4uMHiQAZ38VpxiJJkwXMyhEwaTghbA4enOgyBB6HIwxRxaRnIwhXNqzhpTTpU/d5lMYdSJ0j4LnQSuUh2WUhiGERqAgDWc4iNhQAuP8zSGIECuGKLQFvMBbl4sziv//+tpmBRS8e/68JqjRm0zPijM9////dreil6oAT+0N+jBiKMRgMwiFjP/7cMQHAw/UpzBuYFZiA44mDa5oVAQvCDeDReeyGZl4kGHlsYbFxhkoGmgIACgYfEC5w4CwQ7aGkbYdGHEZgtBSiKKzIMJ+BcBiMADo1DkagNDg4emjlDG8DjEhF8VZI5RtjVpRIbZ1oNlvfBW///ysYoEDp73/3qF3NIf6Lf///b1UrFzAAo9ojFTO4jHFjNATAJhCQCaAih8IRGAlQZBCBngBi8hv4Bh4BvgYNADxkGCXNFAMNOC1hNZhq8WHIRhYKpuHGVRCYE2icEMTQhBUMGJkPgxWYYMlkmOukDAXyTTaCklK3IeF7+/XDX/1/cy5aGfSu69Usm////hqhV4w0SFD4aFqgAAAAMD4VYIRnTJOCtUZoSdDCY9Uh1oSgaOgotmMEBQqaOcbQOTYYAFgiflVu2NPbhf/+1DEGQEOiHE3TXNEYd+OJg3NZQwLaezxtgwe2gkITkMARBiAwQIoSiEaBhhKEZOHKHTVHBb9tbZjBLoxNvOPn/3Xf//6qb7q+SgX////8guxYbF0lFMACHtEIQeYdFIoKjUovMIhw1+FTMzmOuFc2OuTLLENrVN7dNg0OwMOUPcUeFiSgUAy9YWGHGdCWsqBQ5M2ZDQiJFxjXrD7zkoEjFMTeHFICzyTJf1b9ZiSvIBgz2TNFomPf90N//0/rfSOT5SyhN1yf//p/ykyPgzV//twxAADD3xtMG3rB+HzDWYNzeiUABH1EAAGY4kmTg5iJMZSInC5R79SH2hpnpmiYOjg7ocBYcAsdQQYMeTDn5l4kaa0v12L1tfLKBQGOCyYuMhh7qDgpqJRgExkU5higO+GCLPApIICkwz6GaVRsvQmlEFa2yPd63f/9y78UXuTMC8LJ36lf//7egiMQEGDUABj6hiEEGGkkCRmaJEBkhIH0CEYcSncBpq4sAV8ZrjBCM4gQ4h4S6Bxgts7cfaw/speAeABBROBjoBOoJAuVCxMm1HYDG8KGqeGYIAEutseNomBj9oZQtSqVgqMZFiqQ8VZbAlITE7//9L7bY9bzQqRCCG9Hztbv///6rtKAFHFEb0DGoFEw58AzAD+NdME07ZziwKMADQ0ELj9sxkQfESYIufIEXaXa//7YMQVgw84czBuawmh6o1mDc3o1DqPqVqYO+5asldpCVxdRr7ehxw0AY06QQ3h/8yMBdTgZkpkUbYBagGKQnTYzL6F7WWr3TDZAy3v0MnOf/549So7/9q+lm3///4zO3xgyIwAh7Q05RxHgQSGyyGY9YRwcUmTwCd2AhuoCZDaG8vRlLCY2VmPTpNShj1PkSE3W8qsSXOh45SgyEZlSgEDGTRpIBDEiCG0NHDdnKimTHDp0wSA5QMHQg4ICQCdLXYfYcBi9pM8mANkWtBb//Or0enRtyv9P////2i68lUAYegNWQx0JDFYuDowYVBAtgzTEfOoEs0U8MZuIbMgbTN2E1g2Dv/7YMQTAw84azBubwfhrAznDbzpLJAGgyAZNVjCfCezGU+kGoGWCVsAAGWBswMAMLChGoBYvMyHjWiQGwhoBEWgOego1WIiqWXEJmKkSS+wUI19OL6Ps+z//Ztrb9Sa//////FLbqs0YABA/0UaEaAOj54ZKYuohymdbGnGGZkaOYgbGAcOzn/iebaXpZaLKcug2z+wiXQPKYaXKmMpijQOxDgpFUKrirFMUBS8Lup/ly0aHgc2aTjiTnwW3WlchPiB///77l0bwLXTcl13T///+mq5gAAEPQGQAWYjhaYpAubEIcYhEqYEh6YpduZohuZNBsY2AwZsjaWB5M21O4gAQmJl9v/7YMQYgVBkgzDu6Uvh9BBmAc3k/F3jIFcKtUEqhazocFozp0jCYzQMyDsyi8MMEYs0MQw4Iyg0yp4CgysEUMx48gCZgl4WjXMmC46FqcsmbpRaf8AmFr//SF5fX61//////oubqoXBwgSIFQRjK3mGCmAAIdAtx3ccHuLBiRqamlGVNJohCYQOBgSYqJiILauoUPAMrbxujOJxSodBwMDBcIZUJOwjODOBsDABnleYYarAD9JrwsFUDEwzDCSxBQU812eY0qsp5elazr////bs3//0/xdJkijfL//////2tjsfDqoAD+wJyjDocjEUNzg9KDC0STIwOjE3HDIUSj8RMCB5mf/7YMQQARAsay5u70ZiEo6mHd3o1C6YTXnSCi+w0AIQhgKCaEoq01S5TN14HVhLQhcSGWgIpLdmcYGWNGuLvAd6GZ+KZ3qaM0btQjIPJSASDhSgYWBjy8Egk6FMlbQ4BA0Vin/p7n31zKcziltavep////+n02EAAj2hoSTCcUDC4QwdhJhcE5hWDBjBMxnwDhqKyYSUG5EgNkTBQ059IMYCxYioe3AhAp5o/rtkY4BYW9AMAgJEhIQkGZsmsQGjiHCgoNi14yBgWlmgMG+MBAoSGMHDCYgOjohUKIgYNclQFAS2fX51///+qv8ghj3jO9a8d////t2xR4lABA/FW2IX4ILGP/7YMQFAQ3UazhtcyTh6A0mHb7onHggUiAu5rkRnFgGYUBA4JzRQqMMB1IswsQ0JcqelrzPp+Rv9A7Go05KwbSpcFAAwBH4ssYpwETOVUyTwwEepMQJW0sm3JOBLV/2OOtLnTiC0p6JP//+v2leOHxeIu7////T6qikAAA9ATyGeGJnoWeWTGOspo5GYvbeaKBWCgECgVkIAkIEmKQAmOJiEAEg5+BCBgQC3S9jBEP2ZP9KmrDIUmViAmIgJlbIVHhII5DgyMY+6U0A83b4zI0ugFFQOfJABxwwBkDCZpYKFEIVTNTEMT//9en/0Sf//////20AAfUNO4EEwYIpoAzGIh2YsP/7YMQIgY8oazJubwfhzI0mab3g/EpkabmNSOfa+Gck5kYSZUgm3E5ho+ZcEEyUYGJqSVpRkUdXq5A0Dw82JChGIRj6EkCnAEBRVWNaHjI5w2dPM9VhhJnUosmQVFjoFJP6EZ92hIbGysKaUhiD//+hn62K/Xf////R+xtzIAPaGOhhqYoYwZHMNYIETHTU0x5NxazdFUxVhDOYz1FDsE6QLtGRgxdFZ7SK0BLOg4tQXHQdYEAhROiSmDI5eYx0pGm05iKM3GTDV0UmRDOSjY06EQE6ACFqNslXFBQSLaE1M///9FVX10+5/T/////dpaoAL5wJpIIM4jBRxcYGBTKZFCxgRf/7cMQKAxIg1S5uaPSiL5qlzc1RfNG7yWb+LRg1KmnQyOwMwCGAGrgwAgwGEoaDgAHAVdjG2yF8hCBl3gwECoHMKA1pJhEIGFEIbmOEzDPzzbqDFlzMiAfGDOphlhnwBgAKyErzCmC7bX0bUmUekOAVCVP9hEbqeafo3//p9t/1HBYAsJ7/TMXWXvv////v2LrtAA+oDZCYsCZhsimJhYYUI5kYRmEUwD3WaBX5h4Tg5ZgyCmkOma6CISAo5dsWGo4qXSZ7pgGlEVFFUFSyRVNmaAG1LF8DJTTQqzCrTcVTtkRJKYgeaocAkSRKXgVDLPIjZeUSCJyuGHJBEBlv4U/lkWz/X//1O39WiZDqA3BYyfAEwe//////fZlDKx8ADhwIgAhgE5GEhYCvYYmAxoEOm+MkddNxuwr/+3DEDYERrNUubm5rojwaZnXdFbRGJC8a0CwNgYqSHjYYhEDEwgqiqCFxpXmjO7Lao7AIVQfDjEtsVshhhIXmMfSjAVU5RNNqBjBCUFSxhYEYYLmFhgYDEwECgxwAFxAlcHMCAwtoGcYxww1NQ+UTNDW//r///1KMyeBvpEP6Ont/////0PIwAAACD2hhQHTAgLSAGDKkfQMDRgmHhg5pRlYTRg+JJieCJhwGJAK5jWExlyGRg+BgkkGQjSUD5tLxEGDqsWMOCIAKqoIVgIoZJKYJGYp8FRx11JuSwjUnDEmFABy4zBELiEE46BEQVdyqTLQsGfxiDZWvf4gGL3Vy/////1XcyjhYSPFXUb/p////78rvqSrAAAAAh8AyzhgKOKmZocsBRc0kjO+2M7QJDVJFMCFM5OI5//tgxBEBD2BrM03zRGG8Dmd1rmSMm4IngsYATA9QSTV6hGup4X7aCudNNHkGh0gnxAwonHnCVmNHGLwGZtnWaGDjmBYGQABh4CjxYSDhTgwczdfCCkAqdLObu12HP/9Wtd1JpjWtq//////2e2qgAAAQD8VQIywVjZ2EJYJkU8zVbTDg3M5jgwACBE+dagCYAKKumXsvnnChlOKO0r6xpyI8pQBQV0BwBmDmwEQmB3poqkYhd1JNJc2ymwNmU7QQL8aWvxwH8V/BMW/9Xnf//+v6nLN96uz////V5inAAAABQPwI2IgFIEhwq5BQUyH+zZYhNFD0KBUtgYJKZMYYVSHdnz7w//tAxBQBjKBzO01zJKFzDWh1neCUO/EP4vvF30mWUxgI5LKtkAiLNS8Jn6nAkaghoNGMQIBVjCxKt0fjAhA2/DJndh2XvDS//ap/////rOtnKuwAAAOZgJriKAntEIJYFOACClOMbGENTIAkcRxoQUmwNruEjh2URSWxvKWX3rV4xJnD9CMpN4o8ysaO+6P6g6rUrmW3s3o06TlQfOP9TX4k///////////t63KUUsAAAADHoCD/+3DEA4EQhHExTftkYgMQZinN5TRAYYYLQ6ZeXmNUJsUIYUKARhBhIGIABKYDIIZ8RkZleg+3NtCDJwkDKhUCxYPVXeZQdhLFn2eRAYFAUmJQuWg6RC6EAUs3guMMJDQlEwErNyGTHTIajiJZBAu2wOCG0QkqVo3tzX0upFdlr5/91v//ylWqzkSn//////d5xsAAAn9gRcctpDBjANCMSm6AwdjZoeNDiqVCwVPYHzCjM/dxNbUFsg4tHAZEsvXDIGApOs5y2grla2Y6JkgeLQAwgmcHB5hcYSwnSHwBBb6SBpCtIMWAw0AAGu8YbMw9N+eQvjkEvRIv+rY7//Xp8ad5D1/puRPJu63p//////Tq08AABj2BJCmOrpfY2kXM0tDpmkxQ48zFKMzCNgwiGYyuBYw2Hwac//tgxBMBECSDMO33ROIJEGYd3S18IFQ6oIsMvdFJqrXV6S+JQKhqgLMEaMQeRRDCgOcmFTGYXhTaDnJ0YhM8PWjNVCFsIaNUBFR40NLxNfVSUUUfY5Nvf///e//4tHFiGX/+j2qZ2No+7/////Oli8AAXFAbhmFQAmAoCCyGmESRBwSGwACnG4cGlBZmC43GFhSmEicHrhHzMERxkbRke39a8zdp4cUjCGLCDBlkbzBEjQCi6y0wVmO3gC4M6SUmNHPOGTBFsShIEJUvjDlE/0SVawcsYazYAhJixz5fX8BSN7JP//izqOpf//////etZfIKAEH1AhgZFCPGSYLmAiQGIYOG//tgxAkBD1R1Mm7rLSHajWZ13ejUEWyGhpMGgIpBQKh6DzGc4BUEzIUaVJl3AYYXEldPMiZCNBZaw5ck2agWJFx5yZsoZo0ZMQtIfNnlMkQA1DzFSKczsYLQGqKIjpQ36RQ9KFgI6KCtIa7/3b/ZYmd/po7e+Y8YMcgh1yFMAAAAY9oBgcCBkGFZgEFZh8GgXRQSTIwzw41kBQCyJmAseY7GZv5iwictnI4GPCgUYkp6tr2vlKevyXKUtUGBwFPEQkRIIbEkCngS7NgsIRRg3KJwGTmdIpYJnF90HCQEhwd50nWVSdJkzwWd/9fe339O23vWiuoAD+gJHcyEdJw+BswdPI23//twxAgBEEyDMG13YmIIkGZd3TW0Ec3JPM4SDEyyyHcAx03KuOYKNBa7EiAmwyyMNowPyEApaRQqyv52YcX2+5oAQZ8SmIhJjjQZfLGSlZphGZGgoPGKqI4KhxAXOVlGhgLhAKOzBQBGtOZMErAqnef////UpLf3fR4B3cvAh3cr//////2zcAAY4oayzBYCDBcADFcFQ4MzYUJTHTKzFgPzDMfTA0ajVMBzBIpzK8LDFMOgqCRigybzjhglJ4vwnULA1TwMUBm7Ez4ArQxyJZzZITaKRIccfWYh4N2g40DDBwBwrRLhg4kLCVxsmQ6l8lIAwCynD//+ADcH7//RJf/mGf/////rqoqAAAAAPwAwIDjDpMRBMbEYqKs4CHjazrOGgM1cYJTk5c6NAgDnwI4ssBgYPPqmyP/7YMQXgRAMgTNObyfiO5UmKd3FPK4iBF7pVsoRTRWrv86C6DBAExchMkHzBxQwVlMqgTAksx0bMnXyQA1cA0kKAF6hpBd5YFa6gLT2UtQAu9Y//////rshtOS3/u0f///////38ZgAAAfQGQBaBAbDgRMCQzECOmKQ5GRmDGSIWjA1EImgL4MHxDHRIyc7HAEvSVSMIJ03xgHXZDyowYAvYmKq8FKZhRkYwKDSyYCUmkGphcQYoZm5mRliUZmEGKEpoxUZeKmGgK/BoeLmg3MDCAB4DkQ5QLg2/8WQPP//WmPIuc2AAC3GH0+Ynv/////Rq/HFqgADwAQcAoEFEUCkwGHoCv/7cMQHgRL8rSpu8oniHZVmHc1FrKecADsbB3wLZYaCEeOAyY/KJn0VmmASZgGwAEJgILCgeBxDAgBa6LClD2GhCD3ZQkDoTBIADI8DmaYEFJj81GL06bLqxigajI0MIic1IZQQUzHwFMkgwDDkMSw0ElbwUJgCCgMcRC08O8AUSW/+YBiIhH//2FPAD2EGTNbLBx4Q////////d9ovAAMPYEn2MBxA4yQIzCQ9PWBkhUoK2hhoRAoJG3wAYnhYXIhrwGmBgYZYCBRLTxpcwpmMkaEm5BKFRVMgB2ZdgZxWYIsCvJgGZ23JnGJtQ4AEgxcIAIWDGeSsBFhwXVozhoA7CuP4pYA9nu1Wp0VoP//j5Ab4yhrb1kexvSIt76vs////79jKKoAAAAAABPQGYODJgsVNeFjuYQP/+2DECYFQCKczrmhNofYQZinNwXQgDcpmZOkABMmg0xIRB7LmeAoabDxvcUlUHBAtzV/NbzlzQ2brTfEFKwYTEQseVEgQ4E0CJDjEzIRyVoeioccableIjYARmnVIVjzF2F5MWTVQcYc9yDn///oIP//zBRYCIv2Wf2f/////6atCoAABACAMAAMnQYcCxiKAD6hMVW4xSGTOh+MBNA3WJiGtGPkB2xEARExQIHAyYDAacpYKR+SgL/rER1MLSDGhowQCWEAAMZaMgcXORRjVXExg0NbEwaVgICMYDSJXHAdSxKoSUbQrSTYfOSH0PAPw3r/9t/7Gcl/////9f95qwAAAAD//+3DEAoGPUIMxTmlNogYQZc3NqXywAAhYwOAmSmHRyYLkRlgqlZLCwRMLkcwW2DX4BNAyA1AHAgBixBCIo8Dcp7F+xeNIVW33RXMKLNKHAC4mSDyAy0pIo9YE15od1CA4CSJhIJjRZKeMUSJiohAGFEK5ZciupZByGOfO/+RgGkzR/9Duj21It/6tAEOBEqlEcAxqIuGJ2ccXC5mIAGlSAbYNhiUJGBQ8YbtJ5BubqNoGkUwAA0eHgESziQjX19JJjAUimYwBGCHZd4wokFrIWIyteME1wcviIlMnDAUvgwRLPGMAgYOLVLJNWL5MyLljo8kwOhl/uv+QFhCBpm//x/+Xd//////1X3KrAA4kCWQY2DBhETGY1iYjBBqkkGX7MYlABtldmBx+YlDph/DmQwSawFQGEJO6//tgxBaDkVyBLm5nbOIhECYNvmyEICAw8wRBQZarSFAh0JQYRiIAzcBPqQQBmZeIkw2YLC04cOOGeJBrBgaqMmMIJixIAmMOMB4iMHDU7hIOXSrWYSEKQAIi9mf////tUa6qo1EPo///6Pd/TR////6rUewN9jI04UKzm34xVNNXKzU+rCH2dRUGCSYQZG3QZ0IucCGmCA6TZgIbFhIXRsIgpJdbqA9u6TIQHBBuIQwx4HNRPjI54wU5MKbDNj4jiBgEFn0xAlMCGAarjBmUAg4FRpHIvUgMSeWFaxjhn+H//wEtZc0mGX//UgN1dax6P72d////9jsY9E/VAAv+ECgCYKcp//tgxASB0DihNm3qLWHGk+cRzUk8mAtgADKaGCHtdBvowAXMdPzVgIQQgCfgGiFuSYGIiKF6dMaZw7TWXBHQLFxQGICBhSI8REJUzLc4LI0CI2k4xg4AqzTEQ6CMDhgUIQY08SGL1hLh+YEmILDNgWBL/5KkWKAt//50c82JyA/7e6gzd1bquj////3togAAWiZEEgYCjPJLAqFMtE4w3wDRwwCpgCgZKNpkURhSxzRrotPUUURTrh6IzLNVIsndUZACE2wYww8FHQwsBtxrdZrERzk4scIkUOl8i3wJAMhFgCO4CWIqHGEMHeK87/0RmSwg//1h5QVsJEQ7//i1qgArOBGw//twxAKDD1yhOG5pqeIPkCaN3WT8BUPCAIgxDCAunFhoaRKALRhgMgmCwQd58YAUYMabsUISKVyyqZLScTretly1mvqkWCBAxc5kgJgxwVfGGMGzTm8cGDFg2UJIlMjGiksgCAQ3IQbMQScCCBzRPRhg2SN/k4YJL/+cBwhfC/R/tQ/Tu///////1gAX6iL9MFw/MCgcMzCRMJBGOAhDM5e5MkhjBe8y3Qwt0APCtWfRKIB6/W7reQplbRlZXTVXeAFASoCNKMCiMMKp8mpTG6UmfkmulG0aGXAm6KZb5jCGNIY4pligIdAnxt2GKqNyVZRf/////16ex+FQEJzv9as1dDzl00f///+iv9S0tsAAAACHAAFQaMfBtMGwKB0zGBSbHDA/m4lkm7YqmRAyCEUjT0JTB0PDFv/7YMQVAQ/YgTNO62sh7pAmTd1k/GDvskKUkUjG+KgGcoAaBdllithb4hIGGBmONmBBmWcmRBh04OYOEGIOgd2mUD5uIAZQNkAQY6LAAGIi4BEA6Al90fko1jM1Vhqy//7h///lvFu//7QAP7QEdhUdCUHTMAdjCJqjV4KjRDnjV0dDEcTG+zPPjUIww+F8KN4CODQZkiCZRx3WAqhQZeYw5tGkWtGHJJWmENGKtAkOYoyIaQCYG9rFJwCNMWImVQpL9r0CgYsUDRFAhADDKYawrV//e///qKVTryjP+tX+27o21201gAAAABfAQtIYxC5gYOGHD6YFxxhYCnffANdg2CZgYP/7cMQPgRCsqzVOaOviX5Ulze3RfOzMwbGTMHDjocmYBCELC2vtJUMljnuij0pmFgSOQ9GAwFea3zPyTdmQEFBpI2TULFBkIu4QkhANRgLNiSJepCCX00FNZwkWG5PdT8VvQB7f/4+Jbsg0Z/breLUXDF//////8btUsyAB5QFLzAGB/DAIjCHBOMDsgIxrwozBZQpMOAB8x1ghTAbCBMI8ARDmY4EG4woOQUHzAhAaC2JioAHBcGMHRkUFHgklGEjzCWho5QZhQSMNRDwCkFLg00GCPBs4eSAIQSlUAMOBhImCBhO0xYVLNBhOWUaTIaTTEIT9RmKcWm3+qpM8DVuBiVRqooHv9/rGrt//////b6VFVQAF8AIkYQDQcAyg0GB1Ye7CpyoUGuQWEnYlNoKAxjMQmWVH4Pn/+2DEEoEPHKk0bmmr4fWQJrXNHbSBBL4FQTztVZU/EadtDmpQg4OiAYXFmY0xR/GRAK6n3OiMYZIOKtCdsSEUA4OupuBAwYFo3ICFYgqCeltU1YHwdq9+sRJZ//iFBssmTjF/0d955NJgAAAF4AbADCYsDiAwUxOZT1o6NpzowaDzWQ8EbJNMAoxU2wglA6ZmEw4DgcNs5X8z4uO/MLUtVMl+rtDUlWGqBhagZd4YYuFFproRghZjVJmWRgiAcPNGNJRKLoGDKZP4qquFwERmc03P/+A4WfkQkPI+93///////9WrSxUAAcAJeYqNw4CmGQMYlu4DjxlndmFwGZQCJYPJyBr/+2DEDwEP7IEwbm5p4eMU5zXMtayJBB0cKcHNDpMYKAICUxAUFKBkwMm1DYXAG5IDl2CBGMzFk9wcCGXlJmYqbCdBCueKMGdGQ9ymJnZhoMZAZDIOvQgAwgEDNC+B/AvUBAAfECIfv8XAPP/q76////////+xMoAAAD/ApgEHgwSgUWggCEkLGmUZoGpoUQmcSWYSHRlEImDhUJF82AFQAAmcINQ42j+J8NwZM0FuSQKCAtoq8uk8JnkErpzKgpct6Ak0JIoWEXhz6KsCu2hYiGIZxGWHiTH/1DiPf/9ZfCqHmf16dKP/////92iTiipAAAF+oazAuHmTmJgQAMuZkJxljdD/+2DECoARSKcy7mpr4b6Up7W8xTzRPNiMILp4w8QjG5YNm8PutLkDUBIdnLL1oLCo3MsLNSpYohdBA4TTGAAGneGjMGUOm2IAUYp0CBYR5NOsMCNMoJLeizBhyZwkBLTAgKhPWcWzXv//+ouF83epv+uBJAKtmcq/awSVkbCyT+9x1n3/////ucMpAAAIAAxv4BIBGVibogozClCcoIGdyBtQcY4rhdGNAUCrs6Lcy1JlrD41ZdOXHUfi/QrDBUcyiFlhyhEmHIgxAzMBfMDSmGaKgF+AEOpN/G4RYR8N8SkQhJi5FPpsvi8A/QwiGV//1ECHl/+r/W3XgAAB/QGv8agITTX/+3DEBYGQtIMy7XdioksRJemu7FQQDAAyTW4LzNeGTIQGzQkLgQNQeZmFT5lIyCqYKhaLAND0oyYHYK0JtkzI7OtgMCFDMQkRmA0HDgOZguBwwAwQyYLDro01XLtgo8BggZwtF+VrR8QgJAAIYl8Uf1Cl3wjv////6uM6oJFJ+oCtNa++7VXV//////9zUUYAawI0TQyIgwh4+FsweE03EDk1sq81/Ek1eLgAAocgpARANbEzQL4xAhKCkaCBYzCClVo8KAYFJgBKMswIgUAiZpQmFAcRlxtqQCIwzBQMfkx1nAJwGbpppqZMFoBQc2GRA5loUZWPhUTEYivUeLACEJlFoWzYf////9eV2Of9/7uu1C1Dvoa0Xpr7av///14t/crAAAAAx6A5OBA/QTESZiABDU4JjQS+//twxAsBEMyBM07vJ+H/FCaNzSm0DMshjFb8aJj0l0xBGMfVD1q8BAoCAxGMEQOkeOAy7yAEe1/V8DQMYcPGKlocsmQhpmgoCBw1gVAw8Y2oiS+bHLEfYnKM2md+YwhhCmEQjOHRhYOAgcCjs0Cz//////5bxbv/+lZT6Bahf//////qtUABfgGoGBhIIQyYaIRKUgjgHL9UcYChsEyEorIqGKnYx8DjpJ2HAKNMhgOpeq92iYGl/fuKPSEvkZIQKEAugAio6QoQ9T6twEHP2jOcKLSB1UdQmrECwtsKWKRoNDl411RtBZkeef/8wwBYc//Kg3kwsFAG/0d9D99v//////T01YAAAAA3wEZCY1UIhx1mY7kNlPMY4fMxgdMugbGAlPJ0A1I8yU4C0wRUars2L9ORALeN4//7YMQZgxC4nzdNd0Rh3hQnTc0dfG2DCIgDBgkvMWIBBg07cyA04K81wwDkk6jLuAabRDXEPJl6JtwyqaKKrq/kKjCwzed////+SRmWUX/t38t////4oERpmEknvp/1q//////o+aUkACPgVhpg0fppAJNjIqMcgk0NDTNoLGoGADEauGphAsmwGjwtQceLJwttaqwzYpH+fZg7SkAQqLXYFkRhcQGSmbKNJMOWMaFSURSGgoNBI/L2UGTxVnh9Ur6r7b+Q///KC4DGyoAX+gCRJALeU//ernf//////qpVsAAAAAABw4yN4PUGFamGxM6NuAC3AF3zMAAvGPK9EZMwATSqbf/7YMQSgQ44qT2tZauhyJUnqbypfBFtTd7nroIXEo1E5KyZebT56y5BbAbBa+YphligDBJkZFByjhqJxZaS1hjBeQbAqidB8Rb+pi6+slf/DqL9jMz///d9v///9X2qSlxKEAANPgZwDAzpHAmYAoAhQWHUIxEaA0IXLOJHjAgYOENDV6EuF+uvBXYlavPtddqJERUqQ6DpYKGUICcAs6wUxHAskAmS96KLxpvM/c13WCLsaw/rRf//+CIBUnJFf/54GgPGOaW//+3/////+mNaIQBeIAAAAI38VgIFHwYQA0XLwG0CQWjjMAI3FBRQNUgMecMMMNo0S0HjsSY+/smhL4w3DP/7UMQYgQ8spztN6inhsRmn6ay1PMZSTRsQlsmJQEQMQOL+ArEF4JkxJlxZnhlYUHmCKBARTdeqDQL8XAMEUoOIWpP/H0KWGYJZv/+UAX54z//4pDns1/////mh8fgAAGteAtM0ABHMW/lRgP4Dk/TQFTAogo0MIUDCAJg98XIfFqsLZXWhDM8mSUygyWixC0DoBYNtRGCW2BAIPaBwpEgSCpCJdv8xB7muCxNi+tEev/qECG9qll9P/rGoEaGAPf/zA0JMTM+n/1UAALgRMQz/+3DEAwESbM80buqL4a6ZqGmsNXQREYLAWZFCsYNHMZVCOYXRuZqiOYwAUYMkwBmPMGwaOAbMnCSCIhQUBrOQadOeazLXgYA+IcHHgpjzKx1sGBWHNIGeGmiQHnAGNpAwUY8EFXRgTocAEAkLAFFAwMs5m0XQRw9Y///j8KPyyHyf1l9I0I4IAQeFf/84MQIV4FGRUNoxdA1b//////u6F0U4AAAmUDrCAFqIgBhEoUyMxO08PmGMYdGDCdSpSKIslgDUno7DN2M00bfqbbOrbko7K1bkblqDl1bjmFG8aKAlohKkRzh14ZQZkMchLieEu3/nEOscrfyKIu4gonL//1LDqAYLf///////9Y6AAAABpPxU5xomIrmhQsCVIZVBAXzgVERisTCIoGimZGwmAa2wICpM2cvF//tQxBWDTyDNPU5lqeGwlebNvJ20Bc+8MCuY+LqQ6lWg4yUITIexcA55zfIBjgFAExZGGDSJWGCEhFTjvEtBXAkYSYnJ/9EyZJ1sl/OAlQ3CXWu3/+5icPnfq6/7P////02rAHSE0AkwWCzxj4l9DuwU/kbPcOToRsw96Dc4y8+JwU0l5BAEHRsLYoLBuS2eMyJqVoiEFSEuQpIWUEVhvFGAyfFrjEoJqUm0aKIG6EEUjQxkCCTDWVAH5jKA5b8Zv//sqf//orOPkQjAeSGjKv/7cMQAAxMcsS5u6q2iH5YnDczNtAAJ7AGUCAUSwKxiugJgSshtyQJjp35h2QZnYUBhCCJr6FBiqh5kwIZhaYwBBUO1EAEMKKCJ6rigpRlnIEADzQqkAwcbsQYckcAubTUQEx24b+oc6sZhMEaDRSDUoSlsKhQAUNSCEAco0p0Ipg4o3Mthh3//MyfKjf/TUH7hlsEILA0YAiLAgIIA0XIKYH2GrWUcWsYwXoz8AgC78Cr7MCBwLgszqWjA5aCQUa0fhm0BEBnCghJjkYaO5VDBo4Xo+uA6khbx6XPeiVsPTSWWpiwQAmxozTz/sNcozkkFjqPMIAQAolISjYSEAMYmGktRCgzwKbt0YLe//38A4gbz/60iPEJwK3AJYEDQbPiygCCgioJTNmOf+pdP//////FayCbAAAD/+2DEAYAQsKs5TmmtoUaVavWXrTQAAPhEKTHowLeBFtBoVBYeN0kAiEBiM4BcKmVQiHDwoKRtUBly1sttIVB0j2hMOgZWBdQkHAJExwMuQQizWqjNEBCnJzYUYnCDKWohLtRbM0RaEsd5mnhBMtsxGGV3Rm3vPn8YYoIVupv48BxhcRZg+DEKhaf6ERZByZy//////1fQrwAgKEAL3gAOSO4uEbpqqZMeMRrfLgqyhvDSbxwSrUu0g3x4Fo+J4qcbIB4lEtB0F1fndZPKzCj1yYIOQRNL2V//A6CQa+PFf/+SjZEgQsTkj9XAAAAAAOBVtmVFANCTD1QqUZjJccJNAOqM3ND/+2DEDYGPUKk7TeFNoekVZ03MwazAlk5AaMXFTCgIzwVLcMmnrMCtBjaHCG3ncFl6qxcBXCMgOiW1MlAmRfkMSzcOOcOli7hs4ZtTOq4t1H5sEEvfawhq9/BMVhDUFo3/uAWCWB8FwCp/Uj7U///////cVrH4towCHE1DMQdMAHszwGjGcyMvhIysBjAohMaDUwYTxCAzR4VLtNBW28a76Z7lDm9fKJsWbkDri5tKFhC2xuHnidOGIMu0WTCyheMIcWUGCgpVZIEgeRkBySSIUaf/MxkT//+WBGgzo9GxFf/ubjPHKS/V////Z8U3oQAi/hWumClooBGogYjSzgAs2ebMNBj/+2DECwEP2Ks4bemtogMVZynNQXTT295B5OMADgxPPcMh0EddWeul49DgO01BokNg4YCSpWXFoYUCEJl+0eT4MTBkB5oYGiAiaIKuiE2OgF9uAosou3Vu8tb5lku7//WdEZLz//VE0DZDqSBJkke/7dcgtK9iv/////ap9S9AABQuBSgFmNgEYBB5hkMFUWmEhKYDrptMjmSzIUBww2CDBiIIXR1546AXo1hFtJVsipV8rgU7a4BhIIPhwsxYEWJglMBKCIQMbCEwhmFC4cuHHjkGXDJ5K/R0ZkQwcgPGLUSQh/6HRMmf/+OoPsNALiALBUb/q+O//////9NcqWWAAA4HAqD/+2DEAwEOzKk67mWrod+U5x3NNTwgwCNlCSI6hQSolmdDGcjC5koEFgQAo4mJyYdhRhsK7jbCn3WlMR5u8yosvhNcYRLMk0SYAiJHW5ICdVAgMUxMWbCkJNiDQgoDSgUeBgu4c8H8cw5QMRuun///QDCFyCCFqMEav/T0XW//////+mmxKAAAHAkgBIxAAGMXiVOUwEMDLnONlmA1ESwCADO0wbhB8gKtUv0elSMfVRm2PqJw2l6+r/EokaEBAZD5HQWWDzILQi7JqAgOCBBcwxEEixIinY5hQIWeBSA9gjQFKMOEjPf+mgh/9nDqPMHcR1t/V4z///////T6VfAAAAEA4Ab/+3DEA4EPAKc5TmWtogiVJyndSTy0ZKCoGK5i8jEo0MPgU26aDFgUA4TQ7GBCMDUmYCB5hMsMxS9ftvEdqJSS7Y0wJfQkY0Uv4+7pBARqqHyaYd5VKNgEVGNVAqmtOIh0W0LyUhzxkVLdwniXuohIOf7eszAFwEeCF//TB6EzCKkdH/vT6iAAAC/hWyA0KERDC4MRAJhmOJJgfDplWM5hcHQGAQ1FMeukUI2z1gqfQ6Nh8qgWevtDUpnlsOG4IOehQjLhIuZpEVszVHxEmO2FC4RdhgzAFNGaAAIArUlMnCALguEL6CEBMhqNv61D7LJr/941hHyBPnVf6LlvXVbHf/////13Eg4qUAAAAAAK+4qYJgp2UBAKcktDrQw/roPDLDogIwUfDsMwNgVQB16WbEVMWzxKLNoy//tgxBgBD4zLPa3mK6ITGWap3VF8y0/kqWcmQJGrdEY5IkbtVOW0AqwJgJD0FTVRHRjHZVqYWXrcgAwqAZI6D4hAb/84QqL//oUx3gtk2/+swPEDFwFR3+nRvd////+7VRQAAAFwAgLGiJMKQdMFgiBoDmfIyGfvcGaw6GjplmDQRmNghKvFyIjVBUG0RNJWJ0mqPkIwjePM/iyASIIgRkgQFUkpcqgxRMb7QYvQclqFWpmCpmIIGvmSQI2EVwDCUHQuQVuWvJUulT87//nCDI//yUGAsWaPTf/6QHOSEuKib7mlhcfVdAAAAAAf9AzEjBZAEQqEmCIQKZ1CJqWRmqAeYmKw//tgxA8BD6zJP65lq6ICGKbNzVF8UABkAAAUIhoJgFI+jSEOw8u2xDz6wCs6MQq0n4GQo5p7GAQXAB1xkLAxQRXgIhAAKABzjIkaJRsLaHIBGyEaFxv/TQb/50CmDfNCTHaC3lJFX/mZsB6j2b////////1ACDoCNxFRmoAYfBJAUTgIpORdUz2NzHZrCiQMwC0wW20lzH/UogiCo6n2ig/r6RtmbgrTcwaDhcQZdQCA7ymjPnWRA1oEHDFKjFrAuDQmjJE0olAOBmA6Cf1HqUhwpD1DV1f//+szC0Qia//9YtYK/QFxR5v/rPHv///////bm9bwAAAAxvhAsAwMdTDoXMki//tgxAgBEICrOU5qSeHnFKcNzTW0QZNpsEPGSMIaTDxmIpCqQOIHOc3OOfOHMBQpjsUbdSuu02XNLcqkQJCwFibQQQbXUmmaIaFwZgDgv1BSkqERkMBBpihQcPDnIXFqYA2Oh/w/IPoR4jxv9ZwMhpH//5mbiyQNLAVEkFf6eKVeir/////+wogAED4R6ACJhEATCgAJDKZhEBl2eGWBwY7OIjPBlYCGDF8XCNRApAILC1A4oplFImttZ78LIp1AhoUDlMdEoJFQXOdAILJDVBRRI00Qj0WwcdMQTRNEgkNo+rFispaQtXn//5wTJF//4+iyEyCEf/2e2t9Kez////+jqkAA//twxAEBDvinOO3qCeIhFOXNvU7ECgfCspMBHS4BlAOKFYOKzP3s04NOBVCB2FjZy4RzFhxZLOB4+WBb/l4WyR5ri42ivEND03FZgKeXwjuaHcXuMvlHGbqGHejyUaKLWCAIWGKYKKyAiQWCJYrEcVX/6Ri7f/zANWiRiSIf/7W6NP/////OVKJspAHAgCWiZMThxkbGAiiicqOnWAQiPzlEMyXAMaGhSxOQQzqzwID13CETARWJBSlzipSCQMSgSq4BAEizPC0z09ABSYQTmVExgZmbEVmy+JhpEBGIODmVUGyyGPFFxzDBTKGDKjQRuB3QwiBhmAE0oN2t//9boChgGjBaaJxPHP/+9X/////+u6kAcGgNTsVKzATCYcICGCkcVokyiFzLI7EIoNDmMyTPTH001FGAwP/7YMQTARDoqzJubkuh05SnNb0pfKHHiGK1mhKGjQYIABfKdTnp6mBDYBFjGjcxUiMMFDAxE0ENNvwDIBUxEhMDICwON8FS4z8EBJYCicuuk4I3AIsTuBWgBaIin1Or//+oMGh9gbzDMl87//8p/////+1LfcbjAAABA4AKg2aGtmPAxtwaCAsyQEOunAcZGHJxVFTdSQy55J0x/DtMVhE6nMZLKbEuoXXXOlm/pKHMQcMiGVRC3JpokNFDACWGDSgoQFlgOGrtGkKMAkMQ8QSRqH23Tnfi/nT4fRjzG//PA0FMBeGxL/XUnTfViQABIAAwIA6mJgYOrTDjO3YwQEhDGjNgIP/7YMQMgA3ApUOuYavh4RSndc0pfMECchAJjIBAgIG1Cdcagt9XZtWq8B13ljb2dSXQXbRPtJcbKYXGEhjSCLtDTPQZ0057V7w84sB25DTyDnyy9bqApxLDxZ/+snHhwlv/////////3ZCAAAAAAAAcCl2zC4cecyMFhCAjGYLN4uU5gATEo0b1GwwWKAMUM6OjLN87EOT0TcmSQFkpWyhVECjUO4syBoMnAHYbqBnpSBRkrEYYCZ0KFAYUFrtQVQlsdYfC1LpY4t/B2r35CJjt/+orAoEONmf/V6P/////6+YVgAAAAAAIfwivVAiACjAsQVXGQYVmIVemHAZgI7BkIDgEDP/7YMQRAQ+MqTmu6anhwxRnqby1dG/0cYbXSTM18N7HLk4siSUkXaTZABILDyzqJgwEUmcMIhqZokFwwYTRCMODBIdS1WhEJgYE+PhKDAB5AmRD/6xypf/yKAWYmIno3GRv/kk6aW3d13s///+j8ZAAAOlwMuwlGCQDNJEiAbBTUc45hrsZeShZIAKGYcZgt8wh0Zx46FQmHocfeeaiyrtl2xwscCTAZo+plDHAwZR5gJmKaJIDgqQLBER1K2B0okTAE7HANxcbp+tEyZ//oDOIAMpS3f/27P/////R+28PKsAAAAAS4FXaYzEJZUz8IjAQlBoYMOZwxyADJI8BIyB1DMBDgP/7YMQSAU8goTtOaauhzxPnZby1rPVCNcVCKAwVAwMwGcbZo9t+Xwd0YBjAQLA0AANJGNCAoibdsj6H1BQWDBKCxkDhsDCBKZX6/RwSckA2gnQK+Wf+gn/+kwPQtWgh/991Tv//////rh5YADIcMGLzCyIwdpAImZMGHcnx2gYcQGmKkZt5EYRYAZWCiaWAkiJeWB5qYbWQsWXk8SjqSAO5C5K0QGWZC5d5lKTBmsCgRG8BpSBQwB5E1pNF+xEh3BBlo0High/j4CFz//6goT8//vzGy3/////9d1jEKgAUuBECAEHQFBZpUfKBmMgGYU0JlYMmwyiDCWZ5BhitRDV03rpFcf/7YMQTgw9MoThuaaviLBTmDc2ptKQP9Lm/ky1lFGTR59CIUVSCghmDySBRUBRMSomXNmhIHRZmHJK6GTyQgRnkQ8zbo/pMBqL0aSqxMeGId/7+cEaRf/7OHYOJhL/0Iei9X//////9IAC4ARABhI5GMgmdAFBjIYGpAQboNZmExm7pwYRbZn8DmRXKLVg58OAgqCxCVRFtiYVhCZwNAlDEVVjJxgUqJhQ2MrBgcZWgmEBRqQqdgFmwrRiqQFwc4goARkVQky05BACDBxoiljCFbB44WSLBKPjWGnf9PAcJf/7mo5pcegkRUv////////+g3TUAL8ANKsw0czAYqNPrkKII0v/7cMQIgxDAgzBuZ2ziehXlzd1JtIGzc4vMOiY05PSrFzM4SMOO8IEhxlxhcCBsoiHLxg4NwA5QZHbU1yBldNAQTFBoOgGBj5kMAIzFzAwDCDCI0IENB7TKi80NqMEIzKWYxcFJg5DcIJBECouI3sBcwVCc////v/79PxP27vr5f///////9X9zrwAP6wjAgBjEIfjAkKzIUwBCahiMHJkxL5nKDJmynxgQhpg6FphKkpjOGpkMVRg6CSlJUABwImGp/IaqdhAtewgJp4hc6BlJm3aAs1MQzY0x+o72sxVEzYM1T07aUsWzBATNLCLAYgYiCFBYRCBoQ2ADC6Qjp///bUUAufJxLXf7VjljjKY1RSwGEASBA0Pg/WhrWHbZec/7P////+kshQAP4AlEjD0FgcKBpAMJgof/+3DECAMTZK8sbu6tocuVZ029NXzwQYRptZRmKIxpAf5gCfYcORjUcpoyMZpWD5gcDBkgoy5KwrAVTL3m2DqjV6kwYGMhDAYeREIkbg6g49OkeDQ2wQD5u6uAm4zsEFGowt3AtKYKpmQDLO0AKSxAFFUDia0wECyDLn/UsM4Lp7f/UYkGFGLpGgkBANSm8jyRNqWKX869+r/////7uzI0AAicCtHMAMS/xoIWCUwWpjg7oPFB8nCyyTL5hCMeUGeRAWoFgsTe1dlSGqZ33sYw6IyJKFjut+acAgCNQNAb8VgmMGFuAEBERhDiaocHA0fo1lEo6nAzWRUnN58/WJik3/1INqJgAvEv/f+in//////1aiAAAABU+EihhARGFQuYdGBgccGqRKaN0pqAbmuisCU6ZBDxgsIG//tgxBMBD/CjOU5lraHYFCeNzTU8awMY3N4JBTA2gObHZS8cBqfazBgkkyswgQIOjOTfghw5Pwl0adG5U2R7YyHgE8jYskmvZzD7KWFp1s3a8u/nw5RfHcUU0Ff/hvhwGjA2LP/o5H7Oj/////6AAkxxaxgUAJwEx0FQmazD5i7VhE/EBtMGFE8CAxB44ZE7MgucND2VPJD049zY3zkUDxhlBgCC0WNpuhcGXXFcZkhAttLLIIkAShxixIIAAkAvaBAVwQ4lIaRLR6UCSb5NJUYS3/1hURLB2yf///Ro/////52mxQAlxhCABiIdrDGQReYFVJuMZHDsAddEhgVkOocSLIgP//tgxBADEECpNm5praHCFCcN3MV0hiUEmxguEAAMNEgV5ELazU4CkTQYbYKOCkpTHAlBACeGBZugB1Jok0NrTMMMSxAWkRHjJIwakBoVSLLQEPdluCZEGr9o///oGIjKTf/xZA2nYkTJ3//5B7blbP///7/Q9RcAF3gBnpgQGAjAswREQGmuWBOMcZCMDQSMWzZGAqMSQFHBONCSC28Fm30XKtabk0da4CQKRHYt0scswCiDCXHNiBUyGDTFMuxAeG/iEU3zBHgMgBxRc2KiXE8ArQ1h0Uw//xXzZf/60ygThkTv/7axVYAAAAD9+AJQKZXEAGChnwTgBqi1EM7mo2YMzH8O//tgxA6BEBypN05qieHGFSdNvTU8AQOAZ4zsobSHLjGKIhwJXanTc3jh1/Yzt2Q4GgAEJYyyEmAga2ZkoaFsZPeAiI95MgEKS6PYJFCEcOj1hAKBXcGaDIwW9Bao6Myh/mY7SsZt/6jYugGxAYsLrmBh/4+Q5Nn32gDR8Cr5HT1m5uoSMt4PRTE8USlTsmcBDY4eXcDrJkrJfcIiO477EaNpMvmmGRZsKWwsoDi46IABgEQl4Ah2qMzIZSAk/BIZ0TWLzCBUoH8aGPxJgOMDcUDN/9klu3/6AGkEybmBIP/X3+z//////8i5agAl+BcTCiQRg5nR4YAYg9hMwvykXOfDzCg4//tgxA0DDuCzOm3mbWHsFecNvLbEHQoVJwcamVrSYQZbbhKwWn+bq1hQ56mCNNg4x1iBYdHGFjKJO0gSmN3snJMVoHKExzgLfcVBh7w9ASiSguhYRQD/6DJt//0EgTsFGIjrHGUCp/9rEM///////fHIADC4Fbwx8iMGEDMFkxI6B/Yb5nBueaouCMQMLLwaviRQaoQhYEdRxZlQNkioWwR93mIIpKBGFBCEpFZAIYIIA5WMcOQqLGYSgYFBzhCCYOaODrJNJNv+BIiHRHmCtgt5Z/qAlZHRb/9NO40ja8HQ3/s7///////c41KIACB4EujJLJQGaTCxVSgZUTBuiMwg4Ak9//tgxAwBD2S7OG5pqeHsF6ddvMV0TYMmGKDAQUEQk7r8PvbAUAKjYxMtBoEWYdISCdQQcQ5l1wigZxkYZgdh+JKzDjRw4JBTZExIEs0dBtnC5BbQkIiQMcOaWN/Mw+ksZt/+TQtZD9AcyL9RgA8xR67f//////VGwABGfiqOGUDikzjh4RSRl46a2mGRCAAGhCSm2h5koCnuaaqqyrKaEs/li378ZkdOy4RjmWSXoQGizzlCAs3wAqIDykVTlGMd1NAQ/MMcRea/wtdEYApBIAuuQj/6zQZtf/6kA9QkrnTzrv1B5AqD2rQvqfJv3K/////01YAAAAF9AHbkYVInIZdOI1QL//tgxAiBDUy/RU1hq6G+D+dNvIm0PgxKXZNGHGAJhhxIrB6yDTZKV27EMSWmmbMHai6qKbLowGqg/os9AWuYMAWbeNACw9MmchbsSMbhhglzYWxl/5wYZH/9MJkF/LiNn/rE2HVD////////9j0gD7cCq2glFCw2aKyGAjADuzCzsWNzgECPG1EJkQ0UYZlxuh0Dp1gZeWjj9FB0+59tY6epWauUOKMs8KwhcE9LRaMHzCIVcYVAU2VQVVS4TWd5XjrqxXGLNb7/+l+YKa+BSIST4SArNv///////yPQAGHtDGQxzARhEMHXCWCDSRwYyEXzR4kNUo8VJBn0YmIK4f8MUXxI//tgxBODTxxpMm1zQSHaDWZNzeVs0DuUy2IHGEQ0vxGESkEhqSLbFg+Y0ABIVKaIUFCJKIHUh6U5jYpvA50jT3OgFDAMCKKggG26OSbqA9yEkk7oXUL//646Xfv3dW72U/////77XADghABhVGEoeOwn0w62zipIM2dIGhgxIhDA5PB2yMV1Q1AcNsLETAsAKKJel2kOLYFlPsNASDpecwILDkh9ggtEicQDYYJmIm5rJWcgiIThrQw1Q0hTQDIkQQWBVEXUomOJvLANyk/Z8M///u/3M//////69Sl1AHA1EL0mITSYOKJlBxCjxMbkI1XJDhgFOJiwAwmLNRhOwdcGnbix//tgxBODjthnNG5vRqHjDOaNzeT8WGF5RGBTwVwyFNVL9nrJEkVgC97LhUgEEDdNwaGCMhndp6XAgPHJCDb0xBUzg4kng0cSAcoYdde7EocS7nT8/////0uQUZoT/////rdRMFeKIIwABj6ARYbwVZhxQmwggZXhJxwDndUBgRSdsCGVhJ5QacszlwxY+S9WaW3liBkHM3FAlsrMwQQBh+VipggIaagGLpxoAeaNJmknQgSTHSM7AwLAIRjauUuAwBCgsGgHRuFoXjDqqR0l//+1X/7/Tj////6O26HFAHHoDZcYHk8CgSNxwGRuN4ADBkImKAKGW2GBBEMj8whEwdxTLqSA//tgxBODD5hpMG7zRqJilSXNzUl8QnL3MIBxB7VVF2l/lxPmiCYYULLjfKjOYAIZMSZRSNqdBPw5cY2jU5C4DXTMXSEabGKZA4sOisJCgQaYMRAnDJBDFLEuGX//+hH9DFq//////b0Wi6gAP4wgsJzK6zMaF07A3jJlIPfFk3dCzkY1NWwIEgQihRghXnuQmjlhzVWEUIh00gELIFqUlcoAC39KygFimJNgXuKFzZDgqhPTEN/ZMxWOGgOKXMWbMMuOirNITMWLMMBGkYYrVVAgVCayQICqVt5Y//qWXzRtfqZMzKwhQLVhd4GDADuNIiAIDVmSdlXvepnZ/////+qWsaoA//uAxACDGTi1JG77hGHLFegNzM08D5AAwFA0zwG0xlLow4lMxM5w2GA8ybHEjC9CkMh4eMwHAnzlwbM28MyeYTNQiHg6HMUCkMMMKwBAHwQDAoLTHIUMUj6ShYSmBDqaGRJhocmHQ+aTPxgl7mhDaZPzJpxNm5z4aFM5hsoGVReaPBpr6ZGVA2ZJCpCMzIYeMKjUODKSQ6BBoPCMYhAHnd61l/7qNlLiQ5CP+3ve+63afG4FAAYUiJtsNmwRyAnU1VBOFgYYYCChFSl6EDTimYuTir//////7syItP5sAKcAeuIxgwEyaKgqig4dGL5caSBhi8XA0HnGGFLR8scJYcjAn+synsuy2OWvjZftaBclJOThQNrprhmQuaaZ0KmEqlBIU8jjRbvSPpoxK9NMdqX/LIwEm/+gYC0hccMuiHEqToJ4BiEf///////9nanxasAAAADKAHLImVqKkQ6lHWo2sLNVZQGeiguQipL/+2DEDgENPK1DTeTp4eyUZ03MtaxIkoP7jiimDyMhe1/ojCnp5LduSsEu9E5iDIi1YR0ZggOnEbheRnKfrtLUYnLlnUQWJGCcbCAZ/0HQGnN/+JgCBdqwVDP////////+hlAAUfArfGGhCYLAhl8YmCz8cTD5lykmRASZeFCFIQ4DBhcDFsYnIKWBddma3H9cl5H9bgz6efZ2Eagu2EMj2JsZnE8ApyEU1rwrkTno0qIDNCaKTCYlgOcNgn4l4yQ+Ef/UDjLUW/+ZhMgv5cRQeM//NSv//////XjiEugACf4SCAogk/zAhiBoQO3iI15lDCwMNekswYbDFAlEasMEwPEwshD/+2DEE4MPwIE2bmsLYh0QZk2u7EzpKtPlQuGEzX2aW27bomhcGZgIRIyssBQRksRNsNowGkB1CAKjgLQYc6rMFyyoDu7aJinLHFuWHbXHz8NYf//m0eRXXfCQFEAM/6s9JLbu+m/////+rQ0AD8QMSEnPdi1A5WcwPIs2fC40HhY14AE56YMnSj+xE0M4KXk8E1Ko2YADDArA48ItssM0+DHVU6EIOBA8ycuDkkDAQgQzDXQzJJNvujJAYxwwMrSzGhMZDCEYNyMx0eMKBk/B4FbuouDh9ywwvZDJvgxIP///3Fb9fl/+7p//r0f/////VSTqAAfoDakYgFaYEgGY8igYToT/+3DECINSkKswbumtomCVpc3dcWSbFgiaF4qahBGYPGmYHjyanjgYjluZWBGZrBIQBKEBQwTCjBgmcO4oakCYcimsYIQARQ5FFEwYLAjQ3bQzqA3jgd3G54m2PmpNmnrm3OGI/CMAIxKQwsSMENXaYIYOgU+pdYrvFEC+/pIJ//UxuIAEgKBTKwvZ9tVCv0X0f//////XaZAA6VRhoZgsARkEAJgUrI9DxtNS5puL5mecBhMQ5mQEhi8TocIN2/FUJEALApaRhA6RCKKyE+w4KYEEwoUDHLEDRsyCIAnRpQGyw6YYhBlorGo0EYlCA9Rh4Qgo3GgTCOCsIKQiBRgYCGBAg8xZNRdtVh6K9NrM1///3HL/v////7/lzjDwaqDNQnfmNwa31/c7VJKRMRcWXYAAAM8CtcMf//twxAQBD2y5OO5mC+HzlucdvUk8iAoEo0SwsqSQaGePgZNExowhpPmJA6YIJg0sYSpd9Llc7UWkZrPd5S+ndJm6kyMFNFBlYxhUBdQBdAZQFLrfGDDLbGSzOJEIIkY7A8q57J36fV5W87927+ovN/+7BowlBOpL1l80b08vbd//////xS8SNQgAAtwIsCKMKxzICIRQ5tQkfXxHhChxoeDQMBXjDmgdJNfaQEiQBE1xWDuy9C84GiEKVwMBwwyXaChEtAACgscOUIRQN2XKE5rA4gFhxcGsgQEbu/6XIm4QnDlyQI8TU9/1IJ//rTF6KiovDkF/dagR4C8/fX0//////6P6FWAAAAEA4FY0YoHhhcBAUbjgpM/Bcw3uTIAdMgEgVAoAOBcqbwAdynLh4C7kIV4/q3Zi3P/7YMQZgU+YtztOaanh1ZTnVb01dLlZmmouxVrCOJnDMBgoEYuIbwae4wFi48mRtEnxoxSCidEsh8SYRAToMQSwXks/8CjiK//WMcRaBUJ2mr1CfFH/T///////3QOhAD4GPkwOCTKRYwAEA3ac8olcKBGEABhmROYvAlEQ96pIplr1tNdOGJE3aMjIONJxOaRIx4W/JE7Ap1dhsYZhjJwZ5AOViEBADOjTRUVhJKhwamMMCpAaLOI2Wf9Y4T//8RkNaY/GgWx36dmrv//////3b2sGKgAgRxaIRj9mhEaQYOA46CKODQaMflwZDQyAQIpTNjzQAEmGmLzn6DB52yQlSxobcv/7UMQYAQ3IpzxuaUvh1hTnqazBrNNwTkHhICUtgBIkLSTHjTMIiYIHAUmDCgDGJmLtLVrack7FH+d+aate//+hn/+g6GzyAG4N///1e7/////6aAABwABneNwiMmOOS3C8oBAzqjj0BjyS0A4dzNUNO2fOSrdciJhmFu7k1JuUMP01Wy/gc4DUWCEOAMYPUUGUnGWFFyINHERgBEaB4kInohNphRQ5MR6TgZaHe3ToOsCIF5Iziv/kaW8ji1////////b9D2NtrgAiRxYwYeT/+2DEA4MN8Kc8beTtodoU503NCbTICTFx4GmRpYGYLYg59N1HBUjA1UKNg9FHIH1cmAWhPxuihzKGGfT6XKDAVHCwi6DUxRNBSx+RHEWdhwswVqtGL9oTwoKoKFw3DTI1DrzL+dPn//whFv/+gpIO4pFv//7V7FK//////qAAn/FUxEJJL+BkNHAYDl2YDkJlUWmdBCYGIpkghAQ8GFQ4aNK6LxWIZVbZbKpPQvxB7jw2VRBoDAhLJiGPOEjUJBiYcaSnoJgl8TQlbkEoCVs1Ii4gDolruUAdtTCRO93//9Tt//VjKHGPf/R669xDv/////VqAC/ACd4y4LDGoUONoEwGCDP/+3DECIMQMIMwbmmtohSQJg2/cIS4SOeHQTeRiReCIeHejeYrLBlAQmaGUYCDAyJJA8PFlmxqIyVkjLnfTGCgAqAzFLSgmZgKbgOd9SbyiaY0e8eZnsc8EMswoMOKMEKsx4oEJB5cYMWEEAisCQypocnO//5gAUAlL3d35fGf///////+sAD+gNHQzGeMQQzNNxI02dOMGRAQwBAmhWUkpuMMiUwCcTPwWMwQ0SCw8e0yl7oCWkubLWKXY6XgFQIYUFZEADIYTMHgEwCGgdDwYNjDhDB0+MAm4wUFggGGLxQYMARecoJr6F2i4sTYglSvwsvP87////+lfX6P9PZehPf//////q73fPUADgAJTUxaoTDwyN4MchBBsECni7oD/CcHiQiLRk4yAgxmbgSbHhwBEokFJ3L///tgxBcDD8CBMG5vLSIoFWZN3TW0YdTMVjaVKYa7Q4TXwZoXGKDJgoiBC4RJploUZvXmHj5xgQZcqGaSZugZsfaRakIgAQhegGNF6SgiWVBAY9/f/////NlNHSn//////////+wAZ/ANp5h8D4cMZpGFxg+Cpo6KIIpEzwDk0CIMwTDgxVE0wPFkxUAszQK8CA2oIn8NA3delFuG16QDDCcjWi54iDI3kD00kkbyHWKgC4DDhifg9yDAgBBGyHo7mYGmHOwCPLwgAVgpfK3Lsd55myGtklLb/9TR+HiAbYLM2cQ2il1nR//////92qgABdgAkA4wLQoBCybnFYYAJCc0gQa6//twxAsBEsyvKm7yq+HmFWdpvUF8GuY+gUbTj0l4cTg2ZAr2ZIE562mAYMgYiiosSMJgemCj4jypSFgSheYFBTxmCTiYRI5CBzSISMjiMUIZUxxuxNGURWYLQRmg1GKQmTBAyOpB4SBwFAgJDhUYwA6apQAkEZesRAGQ8z/3MC5//6J6UgagEDRhcKBWRYbMBMLt9sNQAADO8CuQZSVgAANHTQrLnGjxh9wY0LB6aYCvmcmAEdQVLP1RfJfzjpmK8kLgwy0+WRlpstKogREULTXERExMuPAToiIFaclTkZlGhAeKJ0P3ZlUfYFA0BQ2zZdmWH+s3esCIF5Iziv/0tZNhZCTn//Nf//////2NKoAABPcCv6YYahcJMjViGpAR0ZuBh3CeKHiA5A8Azw4Bojmknza46pEBWv/7YMQVAw7QqTrt6anh/BXmzc1RfNJnOrT79Qy3F6kjQgwEHFSkBc2IAcOtLNh2MKzExIkHSaNAAVe/Kqr9hSkYFgHUgjDjEHLrfjFIOr/9AzJd0UDAl/6tf///////BB7QA/cAI8YEKQXABpQggxnmNAKZNvZiAZm7B4YAA5M0AIpg9Mcp+34QXjg0QZip2nGjPtLVj70FgIKEg48jaOkRYiHIjJP0biXOBUZqUZjBC3jbnHhJhaOrF053iBRN+kgWUwA43+ilqWouF9//WiXgDIoUtk0gWSLkYMwe/6u2uoAAAADf4FR4MMhhigQ9wsiQMmTFFZCMcYNF4wFjCgTGEUYBR//7YMQSAw/IrztOZmvh7xXnTc0pfB8Okn1GSIWDnRVxKevhA6QqTwlowUHJhC4JMQFmkyAoDKfBnJwqAE4WhBBKrSssgFY8MGsrVI2NzKSj///MA+c0f/9MRkJMzkeSIIfAxyP933//////6re9JYAIP8ULAELlUvaZUGRgI2mggsbCoQK3wOXQEFBecLmo4wgyx0ICNMftOGFPosWTPmyOfTWX0JHRUwLBjFCA40asYCX4Q1PCgEREuiKjzTADCgC9qdifDrko6GkUYwuFgFH3/+ihOLGf/Qxn5gOgdf/mfbuFf1J////ukumAAAAAABK8CxIxaDYAgAIRDGA7MsAmMY4WMf/7YMQNARBEoTuu7mfhtJPnaby1dKAOMkGAaQJdjREAsQLCIqCPuorGVU2RNu6zfOI0tCocCEEphYGiEFQALghZcZGDOAk4YIEJaBNoCdgNEAzVDGoyITANoOeNQUubiNRKZp/yPEaJHv/rHUHYVcSf/6VGP/////+3YlsJYAAAp/gPYYqkJKmhmAhAzhg87OrH+QAGZKSGUihi8mdQY3sGFMSh6R3FpKvXjGXGX2mIQgJWgohAGZY5CE/hlGmI8ZqYJtL8moYiugeDl31WGaGAyRzA1haRahC2/zomKX/6wVgKc5f/3/dfcqoAI7gBfIXEKwgQ7S7hkIOmPMWZCE5mUbChQP/7YMQNAQ2IoTpuaanh6xPm3b1BrDD5lv5lyJymTiuJGXvj0iT6jDnqYOytW+LBQ4k8AKoJkg0gY58YcwdVaYyOCiaVSKZoDgqRTAShaEFMG0EhE8DmBZEP/Uggm//0Anw64Fd//aMgAEXGAXyY4LGBgxx6SMgwlgmaeoSVgN1Cq8ceUmTCwGujB4t+0zVFGbvQxtfyHy9kH3TEgAgDmCDmYCpkA0cYoCBjptyABhndvF7TXgDBjg4AUEAoRdkQgGlCQgnCbzMPhE5N1s1YhEJIFo5BDBD/qOiCCoqM///a+ugAFegNF0xGLjBAfMGJYwAMg6cERdOGhE7GcwoHgenzFI8CB//7YMQRgRC0nzJuaa2h2ZSnXb01PEI1EHA8oCCAUxeGUObMm3limjuBhQUCGlYAkmJLzTuwLRMkCMSoOxNNRHClAI/ioMtoDn4GAjQYxRRQwVHLHQlL8RVUthH//x2jCgZB40/9ZmC0mlxbRF7kaKqP/////2fXdAADtwKy0RG6ThqB6CDAzQGMkzDEQE6SUMBOzBQDCz2tF1QEBedN6AHcjrqqGyySz1tP4wZd1HRMGGCgExg8KI0jR4gKRiimYMyyVB8UDJRFxlYBNwFcoABvCxJFv+Vh5Nm/9bJDsGAMy4A/6/tS1P//////i2gAD+gJIIxoRAgJG+woYDUhoICG12MbWP/7cMQLgxE4pzBubovh+ZTnDc01fMxmKsgEfnWCOZaJJrYUYI+gURAyIjM4qE9x2OiADR6IQpRIUBUBRbcmcjGg1IZaYFIjUDgSphRZMyzllBZBBQWEfJMbDSOYYWtZXWFBMIGBYJcGH7Vj/+s6Myl2/1oGwGrzhhYZ0aLU8/Z8Ut///////6ABtfhXMMHhYBAkywHjAB4MPBMxndQUKTUJiAQBBwSEIcAZc6uBAKTNFlQA7rKpTAqo0M39jjOiUKjmXwDoA60M+LKjYwLEQwhHwUwKi8AiDUD1kkz9mDxLKupevPA67I9Lf8zP9aJkg//8T8AFIyh3mn/bxD1+3////9e+tEZVABm/FiIjajAQLvxF8MmVMOUc0aDzwJmBh/gwxQHmzjVVGERaJRB+n+a8yJb7BHOBQGD/+2DEGQMN7Gs6bXNEIiYQZc3dyTwi8RkyaDwBEhYYBuRhz4jLmsRhasGWTEHjVggcWVXV9ASz0l7dpR1Rl35RFvE4Y/hUPf/9BD/xiP////z9YAHFARKABhoFBhCBZlyOwBRwz/CMyiVE5VCILpKYXCkbpEmGTBvYYdmmBwGFgkwMTJiQlDncUwQSJxBcHVkFQpKwlHgKpGVhI0jg1KHokw7DNBYgJGGI0QkmGdtBiYQYO3IKjxEzAFBQHFBznBp4V4G4RgN/keGWJ6/R//7azZRv/////6eKWh4yAA+kAiBhOMQGCwBQKDDCNXwwMyKCN8REMnVwMIx8MLORlUNQCzpoQWP/+2DEFIOQfIMubu9Joh0P5g3NwXSQiaFCUSCE/1OA4DXNFAoBJkIBQsfmRmxmZmYeRmIoplIkducmRzoiMjrW81EVMgdMZHGAZlW48xByoUEsPZ67lRwUXoF3h3///+vK1iz27GM/xv9+Tr9FtEpR7A2SmAyShoa1F5iMrHPwQbh8wOQQjnZg0lnVSyY/Bx2hIFKEeDDAgggAJehzW+jwnWtxZawRKQmAEph4iaAZmMk4RQGPppxSsaYilA6hUaJOmypRiQSYWTAEhDgJhCNTHguCAHBYA/gB2QQ91l9Ph0BaI//G2NplF0ppv2VP9H///6u+WcSK1YAAAAA/oCS+MqDsweH/+4DEBoETbLsvTm5p4pQXpY3N1swTQB+MQl87uDzHcfMqE0xBdhG7zDcoxOFO2CB0wMfGzCCMwMQT4Q7NJj7SBoBEIAosYAGKAgZAEjYRABhTYZM/mkIYwSnBNYNSDTE0zRTMSWSaAIQAxEcMWNRIDAAcACQBVoGBI8AGGCyMYDZKiCnQIMRA+b7f/6qCaIDxgFLF4GWxtk4f/p5j//////+xAAG8AQyADABOMHhgCo8wm/xtRmDaKbnBB1jtmPGqcqTpk/hmJgMYePRhYAmGAcDggPBBcqpB4MIzNjQmkgEfJbJiEmmJiKDAYYrXZioimGhEYaDwHBBrZeGMyIb6mGIsoGGjb7gmiTSy4EkgYeg0tAwKCAJ5TAxUGAL28z2SofKabkYFz7H9v/9FVIpksBmJcBbET0HOMnHMyyqv//////3PXJkiyoAAAABE4ETkAos+piJIWJcGiRnx2LjZ2tsOBIQnmHY5vShCZP/7YMQSAQ8IuTlN6aviMJbl3c2JfL0EQF029V2zJasZcxCQ8y+1FElhg6mKBDhWJZslsDuhw25kyouQLoCSsVTixlkqMi205nnYzPo1TV7v/9RwRpF////HYANIukgbv+jkv//////2e3AALqAJBAYHIoWDJjAUmDIecaDBl0vHTSSbokYiOoCMJgKBn2ihwb6ZWCAqwHBABDAqGJzExO4SwRhocNDwKVmXmoAIOMkZBIuMIGzDxI02HNKLDWk82AbFm8qAQJETWDMw0ODBEQkxMjAQFQvKoEvNkyK7ef//QwV23//X6OUMR/3fUv//////6mhdNYAAAAA9gAV0YYGJEGxCOP/7gMQHgZFwqS1Obg2irpUkye7s1DBzbA85NxOgfU5iHCGEzWb6AJjwVmvQYa8vwGNBowCthPEDGKebhOtmAQ1CtSBAemDkZqSyAhMCk5hhGawHGIawISD024ymYA3UShwYOGdwRkAwUJBKFhCMDhACgAQGqypAFsbPO/vmZv/9JlF0WWGLADgkHWX3/zVljLbvADAEDAKCWCwFhgQA7mA0GKZFwKxg2JgGAuFMbWVeYBnaZQDaYUi8ZFhcaC2yYOACYcEkpIiiZeTNyHjQwcpagZwSJRAkrAiMY4mGJGRrYObU6GXhgiEzmzg6hDONJTUW8zmEMJljRiQxCxMrFDKkgyRkHAYxkoIhwCgogDQwoMdArff//5+lgVP/+9/r+///upPOyYfPFHA7PZip6NAbcZet8Ood/////931qsAAAACl+EbgZGUspASEjICy071tHkg3eMBiWARIYJhGAGtSgsDiRaZUcZjSJ9p+//tgxBeBDvipOU3lraHelWcpzUU87RSfdS4kOIijJsMUARliEM2kAtqCcVhQcCDnzDuBQhpxNfJRRURTxfd1FNKq3H9sf//GMQtf/6ATEKV5w//67mZr/R/////2pgAABM+FT3MGCNxhI2gQcGbheZox5sMUmOiaVCCZAuIwSQJ9X5gAalS3q7Yl5iQKA4q2r0w2KGg4Gh+ocKllAzqHwvnNipbUwoYMaCygsyXzKo8CimxQkL+CFguiRUHg6/+tP//WmnrSJg0/LKd0ezUKbP////99dcAAB/8CMsEQgDgLGEIPjIiGJYFmiEVGeoOBcVB0LweBMlOREDaIBFkzAsA1RMWX//tgxBeBEQSrNu7qieHllacp3TV0KHBJ1fiBTvyghNGiIARCLIwKtKhUz4Q1BUFFzCSUrw6SZEqYUGDb6Q4cHLmroBvUnhBI8ISkAJf/E8jF1r/6KgClAUNk8mdGcA05VMz+5G21DEf//////4pIAACZwAoaYPgWFgBMMQIMGQ1MzwOMtaAM3hSMdhZLAEmSwRAEOjHCjUHEQCI6vlNmQvYhbVhtPuOwWs5yzGCDDhjNER4mPSTEPjhBDPExJoTEAsZMuCNUwDCSCNCWniDpD2CxNwpBDEP/HcUv/9Qcot1GAEyN/9NepQBr9Q1OzBQ3BIHMhCQw++TeIGOD2kH504GEAYVD//tgxA6DEQytNG5sS+HuDaZNruxcAwpCojMOGxO/DCAiOV6EwcVANApiUpe9Sl0YYFAUVJzJRQCAxCrGDg5h4AYCFnSArEDElMFPJiBoY6EGaog0MDAkCg4mGi3kSL9OiJB0BUff9ZHKjlcv/orGWCHAQQ5nr/CqhX/f/////6VAAD2hpuGWsBU4bSWYBrWYOAEY5YmZkDiY4CQYFgATTMYPlOKmJ3DWGHQkAL+TOLcKmZetrYWGNpakgWKF6gpogKY6UAJVYKZWPmrH5nCMaMcmRgxgJgPT4IsUfkDF4AoCDAImBEvXmiNj7eYn//7dn/tRvtM/R///1f8qgAAOBQAzQxaG//tgxASBDqR1Mu5jTKGljiaNzO2cDCQLNgjAUtpzoQGOvybpCIQhDBJzNAhQGzMy+IjGSAMGhYxlEaRZaALMoEo/Qg1KwS/xkGOnEdQVJM0JWBEjR0Oh0S5r7Ao2MalIEBsRBsB5yQirWiqfVkaYYME3dxpIsz5KsytZs////9KUAAjgAITRCZ1KTYAkMROcjhJqgKnMRYDEuYiQIOcJhaJi16MyhFAaHbBQEeWd+QRluTztrN0aqxpUSwFAGoCYcVAkbMbzgNJmWnIqPF+iYCIkcAMhEHM4UtFjRL6BExZtvLk3hHZvD//+uoAAAAEA4EEQo2lYwYA+8sAE87ANDNH+MAgo//tgxA0BTkRpOU1zQyGzjSbNrmhczKkEMTcAOMWAc02ADNgTURU2VWZsyW81vG4X0jc4muCT6DDQTllRI0YAkFHQcEMJGZOucCCQUTNGEHiK0k/hpa67WFlQ2rmpRPW7///eeZuZq//////9lAA4mjOzDGCTIejBhePrBQ4mqCMOGjFyFCgamC5hpfH3RGLIIrBCtlc8qJpLNnwVwmlMNBTfJSwXJjww4xgyI08BMz/c3Qo2dcEgjiDi7ZuQ5osKK6aYwIQVRvQcTXWWp9YF8qAS///3lmizLJoAcDgBrJh5JdQ2lcwIM40sEMwTh8wmCM2VIKqEcSMmF2QCKgaAv6NG0zA7//tQxBWBjRxpOm13YmHCDOZdzWFsAZKRAkcfJKiBGVFzzBAUwAASeZY6RcAUiQsBC1QLBZZUsyYaEAw0CwIUAaDToMNh9bTpv07N6pP///QvcpcAoDLzGYAuNFI2yJCTqG2DudIlp38pmTACCQ2cvEZiFsG4BnVXGUIlskJTfF2VTLnt0xepiIOJmCVkz8w7kWIGfPBAk1Z0hUkcM+q4RuieRdJqwJGT5TkEIFNRGiCC6LI0sMcM////7bv//////6qRlQBPpAnLMES+MAgZM//7cMQGAxEQay5u80fh1g0mTd3hbLgqMA5EBUtmRXvGhYyGuhoI2OYSTQAcBq4QGvCuTB0iCkVqmDQElEPCpdbfF+FFRoYioES8MKD8x+CDBCDMBksVARhouGhRgcKEph8aGgKAlsCyQzVEB0hAiM8lkHHisYJMltiSl/7+E5/td7UqZ/9/Qi17n////9e+DtyABR8ADAAATC0UTAwHioK5g6pwC3Izviw0wDwx/GUvSaeAcYFhIHvBsqGYKINzWW65ECN3YYgzBjV6zaJGDxSYCvGBAxg4gYetmLiZmrUFg449DMXPTN8xvAtjroRvLlJRI/HAq7Q5kMpqpiSOkD///PX+jecsAAHwAEIg2lUFYz4iDDcgjfMKzQeWTRADTH4TBGSBiMHJiqiZyAeattEyoHGQgAk10A7/+2DEGQMPIGcybXdi4iaQJg3c7ZzfoOqywOqsmAiaOABho+YAaESYhNMMQVkGIQploCYsfGLRK4wgBGQUxlMMwAgKBl5SgqaVBcQdkiBkgjIQOf//ns4vUmPOGwAfqAlFDAAkBCC5iMGhgWQJw+E5nFnppSJ5peSZgUXBpmMZg01phKC5iOxZZMiWQ5LGCoFpi6PLlq9gEKhCppr1HNeehhgWAQ/N6BjWJw3cYM4BhEGDXOjWGAhgbqMEyMJCECMEBgC+pgQKquECyPrydghIPfP/96lkvPq/7+v7LGBb//////+zcgAP6ACgQcUmZYEexKQp6bIjcapQsatgYaNIIYJg4aT/+3DED4MQWIMwbXdDImcXZk2+7FTgKYTEaZtgKYSKYPB2iMjOzYRD1JMkUSTqLdrxbuY+mZ4AccKDSRqUYNKhHAxf40Uw6NUxwILIjFT01AA/KOYqKC40HSGQOcBQSwJkgCq72bgqOZ///9Asf793/Z1D3c8wVgw8ADe0BY5kzaYmAnRgABV8xRIIzFtIzCHQxnREwFDs5UsBBcc+FGWYKAFiQgBFjpaKSXqjMxx4GIoYmBIY8IGGI4qBGLhgqGF1DPQs3oVMprDJwg4IYBAuqsaxLISiwErCjyoGA1OIg1iQKJUvZDzv6///Vxr1nv/////rnXrQluM2jhvk7cLRsLWPajeWvee9chx1l/emnqT+igAd2AEDzEA9CIFzSQoABBoCmE4PxU5ADc1bhAorTFyaMYNgosZl//twxBMDFQS7Km7zZ+H4FmcN3cE8dpEwiAyAIRctcQAR2gMDFVgwGjoHEQZMOiAcGplwViIACxuMRhMyGHjGBJLD7C6bMoQcRg4yo9M9MTMQg1c1NAPzPQogAzNAlHJ/woJFuCsRfaZ//////yq95/9///f6tPqVFs8EPZyMm53wYsZkxA3GIMPSFtMHYqKsoo5pE036TAA7XADmCwpAYFDDsWwsSZlcCpjhAJiWFphcK5gQAAZ+GAkwsBmAlbSiIQbI/JcNymHvSpe3dfLNVhQgXYKPBYIKgoMwcKqJroWdEhO6ZaEmHBZIDChSjqsGggR7SIUCKNYLTjRD2///nA/EWA3EhImgwvg9Zxeh6rmeYCFyN1UAcygNvzASXMAiEyisAI5TuA+OaXQ5yQjMCWMImgxkfSIWLv/7YMQRg5FsqzBubEvhlA0nDa5kXDNCcgsKBgy09oYkMJNFlk3yIGUAugYcWUZWfGADC7jaXcxYTN4FDCoI8NAAYkZWhGGoBmK6Z0NGKHZjYKECQJAgwyflkygDhGKADq65/tN//+isYGLASATQkPI/7J1P/////+oU2io5o4AiBkHQXBHwXgginABkZTvxjoCGiUSMA4ySGDDSWAWBhdjJi7Yis9AdL2gNVVE+zaMDBppsLisRcAB4m2UHaiJ8TCPcMMqC5ZgSncMDQiJdDRgaXTDW3YcyBDWznU////pwyN0qAHHgAW0Y7HAYERLjsEG9abNnJvghmmIIYHEojARit9HlBf/7YMQRAw+AzTJubUviV5lmDd3VtBg0IWkFgNO4aJy1rRwwDZnMOWyR9A4lMZKCUHMIGDQ0gGkBiZSYWfmlihu1OZQkmChRgAwCrQcRhYCQBspmC0kXAQSxgSLprff9bf///7r/ZpGK4L4KAuyZSQBB9AiQCQKV5gIFJlkRRhMYhvQJJghh5jSEIAR0Li+ZtgSYfgeBotMlTnUHVeMFRMREQOIQMdAKAtYIAZPlQcKhRhhSYAAgoYFQMwgNI4cy5RMPXDn2w0JJISIwoqM6JTQTsLiJggUIhdKEKhDKCIjKoOLF0Ysfz1t/////7a1GZBQHkEFoCOINOU2oFzV/fvR/////1//7cMQAAxIYzzJubmviMJjmDd3RfABN4A1gDFwGMOjYysnTCUGOIFE1xVxeXmEWIFEGZaEBhlvi7wd1hFly+BgJ4rFO4Ewil4HCMGpQIwrDEg4YSFmAiivQQSm0FBi0IYsmE0qZ4JGMDasIcMG1BanwAEiAJbMm6XVBQ4gJRGRPtc/1X///vW6i6KDDUAbBA2Dl6l3mBMAgyFPDmGr///////+xvkAAPAAl8GBZFFUCzTMIDBNNjBcFzMieha+jB0vyIKTYYOzApazQAk+s9MgCyYdTPUqcNXRZksASNTCUiGwOsZKBoSQwjOBNSEmDEkAxhugcd68IRAAWC48Y0AmupgiBhJGWBEghCewcwQPdBrhYAHv3b2bv///pbKcxBCoBhRFX+gbGIO////////o2VoAAAAHEYAj/+3DEA4EQnM05TuWtof6Z56m80bTpguLZgYBplMHw6LxkiBAVh4xwCQCD0YEh8FxHMGiBMKQNMbgnCAPXrJn4WAcJCJpTXmEMRUTBBhklEyTdz6ONkAGnnG2A5RMwVVDoldF2zNlWBYivBLlAW8zjPg8rHufQr8NnNP//1EgeTrcuAPoGKfGOJmb1IeZl8dgmB5EgAAS/A3TGCMwESEbmYGDD28c2bH2BwEZwCCnSj0PkReaOiUUOOPRP/EGCUl1k6/VitDIlIyy0HhEpIyAMdpah0wEHD00g0vBLFPtCpYB8pyB7bPqr63voa6H///FLBmNaKkTVQQkwKkGURhV6I+RvhAeBChPmv//////+30rhyoAAAQAAOpAOsEQjxDMxuHC/4GKZhuLmTASYeQwyYTjrJdHc+/Ey//tgxBMADgTNQ65mZ+HTlme1zQl8qjD8xGJ2Ylq0Yyw5ZbUk0GMrUQQjUIgGIiwRwWTBHeHAARYcExJkoiODEihDCSQbo///6yKmqHfi9DlWq+tQoYLZP///////18fgAAAAAB95wDAAdMqiVKAmlJgQNgIjmXrGadBZjIiiwMNFA8SAkLOailcodFjyt8of9uT20bsFxVshgtl6YhUBlgACjpCAMiMAukKl1lP8vUVOpUO7E38YUuxbiqUDNbv//kV///qxlY02jgIIeRlmhUz/5i+AAAAAADgcCJqggLkIMNLl8gD5gADGrn0AxkaKsCigZYfhAeUBhvxa4wkMPi1MuJBa//tgxBiBDpxpOa5vB+IeDSYp3O2comnQKOALlK/QYEj4hP0NSANHiYoCTBQYKCJxKgMIIKiOsi6CoNERZQ3h0iEFgX2FStECR0A7///2b9SS3//////0ZVmAAAg9AaOBgmJhAGpgAegiB8wIEQxT2AdEwwWFkwPHQFGEYNkKYbBGaIjwW9Cwa5GPmOaxEQCEqI8iZSjKnDEXR/rmYQEJmV0IxUz4CAqQZJCntHhgK+YmFmElSVoNNDBwwDCBgAaXOEJSBhASA0qFJv5IjS1f/W1Brkxb9u7//////e9j2IMVwAAAAccQJAwEFEwAMjiS7MDBwzSETbcOO8DIzoBiQTGEBsYn//tgxBIBD+hnMU5vLSHtjSZpzO2ccZeo6AexGBSIzL7u0EDkBFxVSyIxEFZACh8AhRmIQ1cwkTHkMyBMM4OTHY0EmptDyVUIIaAK5UdNUMZdJgzD1ZQCDyy5MYI1E0m0ZDH/9/1//F/3+7////tdcmAAAYcANMgxkJiIRCaDMHg82OJRDPTfAbN7kMwQPGWGGFCBkmcLFyUSOCcDcUa2lC0adz9l9VBzTDARAY8FeTNVOIkApxmwiZdKm+i4dwgVAFA0x4VBQuZ4qGLBoOT0IyIAYkFg0OB1sAUAfKRygf//70////////7/KXIAL6MFdBgUeGMiOfCgwga54cAmSfua2Cp6//uAxAyDlEypKm5ubaK1FWTN3W2cybGJQ0YgHABdJqE6nSBkYMC5iYWSDRaRgiEseUiUUFgcAGDYxASAFQLXGckhjoAYUiGkhoUITePQ6EDPsZjSYsHKpkI0l8aOumfCJMzmREYkol8BwOIi1EEwEELLIx7/3X//daKRTLwW3A67AY2PsGwMSUNXkKAHNduxm04xDrswzV////+YVsIZoAYBswdIMqDgZIvGYMuebHiWYEdSNU0auwKYUDEaBCIZKGSaLkEaFH6Cg2DrxiX5WUEYYhBmiCCpABGzAxTGGDFzQuXMspGiAGlAeua5AnLJhyLObchnreYXAw7SOUfzMwMLe5powDQQz0RGTMAAoNJEFhYRIiUxceW9vn7x53/////1/46y++7L0HaJAaVsdAMOe4HM6ldOGnvCZlD2XiyRi7/+r///+/o2PI2gAAAAADP8AAwFDoQAhJs70Fa8x0SOWpjYwExOcKoQYUT/+2DEEIEPpKk5reotodiUZ2m8lbRhRKM5CTsSBSY0MS9ZpNNoxGUydB1SpRJJsHIS0hZAzwUBDjWEjgbUyikuZhCDkxfUzosyTwMDQymKPD0pHcWSShIiu+3/+gt///zgNvCpKD+gN8cw1BP9FNqNNkAAA7vwraGClQiADqCMcrzKgo1v2BVAaU2hcbMvCjAUJE04QIV4tdpanobkyWcjd5fTsxNEgHFiIlVhpkBUw6AAsyBQRh4xxT+GXksMcYSAxOZFESCGSZ1rzMFCkjJ/v+dy///oBGFyg6c/3/2+v/////7FLYOVgAAAAAAv3wiCMxMHhR6pSYfvnNBhn9WNmhlLIMD/+2DEDoEPrKE5reaNod4UZ2nNQTz5uiICh8OTDYxUv6j8SFr0k7RXChmSBccRAr+RbMBccHX2BlTIhBARxfGImaMKIJgBgwZ4SRtnKQLjrQXi/hESvwmLd+c7z02Q//+xkEzACpAvC4Bd/V/CRj/q/////2XYAACWcCigPCgdEQVM4HoEKsS3hgmKg0HlQpmABMfxOYBSCjh+hMWKwSqrFYLn2OTUalSwa02AgAAk3AA8nCjo1wg4q4LFDMmioTIqamQ8RGhMMixUVCJIiMhpB0IIYFoOuebQv//+dDFwg8nF3/8m7Z///////xiAAAABH8A2miAAhAIRj4dZhERoO+0wyjn/+3DEDAMRFKkzTu4NYj8VJg3dzaw1FB0wqIYGi4aHjGmKPA6aBiwCgMVKX0bZDg20AwK5SwKq4QFCooYChFhqMMABGiGFMBiSSYuemGEJyY4YYdHJiQGHwhUMCLwEFEwaSAxMCAVgwoGMgjAvAlCj3qdf//6KnRUgfR93otu7f/////+rUAD9YEnCYGhEYAgWbKkAFgwOSAnM0jNB4zmHY6hcHTOkNgqDoCAg0ILsAgAoOnY/kIYWJBZUBWKoZNFMEBguGApraMYIHGJRJi70NPZmr+aMkniBoEUjHTAwJHMdBAcWhA0gqQijERBYAuAGgQEYAuYBJFG7V2//91pDmCMwubJNlFx37e96jeuS//////lhtQAOwgCzAyBGYGgI5mABvGFQOYPNmGRYwUZjoJxgWCHDoSJg//twxBGBFcipJm9njKIQmWd1zNG0nBViAJcwTgUTJjHMC4ERgGOKn+NFAhFBIYi5ZEtCBBj2dMLg0w0ixCPAUQDRJoMcsY3UUTiCaMpmgy+pzF5MM6EMxcVAMsjOasMMDMIMxjAGGJQGSismEoBAo6HCYnAAbkQAzx1/O/+ty+WYf+//+/384EcIw4izK4GZx83G///6dN3////uen0N+yAAAAP3gUKBYGBoVDRlU9lVQAZ6GT/oaGGBkwZgUYmCwQARGAhgasMq1GXvBPsD43uoesrOUZW2BRi2TuIsBQgtqacSPxl7GC2NTAEoHPhZcwhVbyoE0IKArHXUwtqVJv//86LIt/2sT4IUANpnlrHMNS+l/5gHwBt5be63R//////0/UrAAAAABOAEigMIwqGzPaUMGtIwAP/7YMQKABAYyzdOao2hupkotc01PHzbaXBZ0DKeYKBJpApDiBHiYb7K0jJn8Yo1iRy/cdxkUiLoNiOEHTPMEMM4DMGAAxQ0TgKij5FQKrBzcQHDVhgYJKgtkQYDlBICROfxBC8JfiT///rIq//9AsDi1hhgWQJf/go+BFKvh1Q5liqAAACAAKLQO0kdErgGUAOWBwYrBIFgYiA4KLA4AjHBxEZQNOAfXe5VC98bqR2tIbUYfaC3jgtlxMTuskhotYZYukqNEkRmpoAnyZq7VIPc2G8aCVLX/003Q//qKHWJsN6H/1gjo3O////////czVXAAAABHeAFMBwgQyOlKzB0I6UJOv/7YMQKAQ6IqTtN5a1h/xVndc01tA2z+wkFaYjJjiTUxGBAwKbjANwTwYAUDvrHm/sxVyYeY2zEDFlnwcGZTCDQHUAP4GsNXAmMIDAMzHzGLVMEODpUYEpAvxLCYMgWr/4YwBfE7PGjf+sagmwiF2OAX8cj5igAAAKbgUOCJisGCgVMoGxkZpMTGWNUanEBn4KEI9MyhIwgaR4VmakCrYPHSoAU5L5t9Lbzusad5scPp7GKSF5hIADGhgyJgI5EgDohhQZlUJlT6UJk3BeFMEqhF+IInTY2097X+o///jOE5EsTb/9AOoeXYyN//7L///////+QgAAAAAAC/AhdsxkVyAHGSP/7cMQIARCUqTmubKviRpRmTc1RtDqDRqZrDhpPcGhgoaTHYWF5nobBcGhkMZuyCoUCgV5lfF/H7X/TW4CjKNxUB0RzDShBQxMbAoUYKHGAkZiyIcEDGABZqoEYIRhwKMnZgACEBSeisCKZc1aSkFHYv3//9QBf/8aAYOzsMP/pTbcf///////qSAJ7qGy0wIKjAYDN+mowSgRZBmjZ+Ejw4IYFaDXALHSaadIJnMqlAIBwoYApnJrrAoSphsBCXhwzgMQpw52YQCBAQUhGK+CcgwUwy+gxtkxDQ2gQHBSgqGeTAmlJES5TAQjyQoAlDVAoFWfb3/petEyZ/6rkyUAOgWBT+UD4sH/9tr0JjBbb0U6G////oYqNiEXVgAAAAAAy+AgYBRJPmBgGEWgwEV0dTH01HBGbvGr/+2DEDoEP3Ks3rmmtYdgVJym8nbQWMAQCzDxQHmca8HDMG8bg7UNsteuRShBE8CdwynWkEGy3Rjz5h9xUJhDQybI2a4u2cYa0omKGZPBVIQjAAkCDAVAKYLSBBgN4hr7Wb//5wAJoUums8/0Mu9Gj/////+nR0QAADX8CLZMGPRCGGkoIwSjxCI6k4EXOwXBCeGfgJkooHLR25a/LUm3aA/MogZR15XeaA7IiZItyhwQjA4ASeM1owZAUsquXJLXAo0zDygdKpN1VMWdQam0I18sBahe7/mp//+ceQG4O5kh/q0Y///////366TYAX+AJSgRDwGiU0edCUOhh1NhEI5KKjTr/+3DEDAESIM0wbmqNomGZ5h3dUbTBAJiNyj8wOmzU4LOUE5NM34MdIp8p7NJlxADYiX1U0BwkGCTUjjFxENDTlAChD0AjZm3DGHbCRcvOYNGX9Oo5LfBBQlJtZdMWAILggaUF1Af5/oUm//9bF4AyKDFpeYh5D11v9azA8K4MwH7haOQob/u//////u+QoAFX8CQSkQ9mCQAgZ4AABphWBhixTgKIcw9MQYA8zPBAxCCYSaIzpDsUAcHoiqFUAQEvyNCEOsXSfTqLjIYgYqATpngoCmg5CPVDUaTolze3TRLiJkZYyZoucEUhKfYmGtsXlVXFjZf5z1BHz5/qTT///piMhJmcfx2O9/dk2LwjIOAAjlAM1CwESaNGhQuECzf93/////G1IAAPeKHOgArEY4ZSgmCiZgI0//tgxAkBD0jPNO3qC+HmnKapvLWsc3rHaCh3ymCTEy04EeUdUEfYAIzIECLLQNTE5DrSZU7rhFxWsAEAFkaqaA4EhA4YOxBK2cxNBqhsiEAkDUEDiY0kc6aYywaITgPwyqe//Tt//+6KnRdH/9cjli0htp7/7+j7P////0ogAAE3oES2Bh4XTNJNB0JDkEwyNN+Ag03CwKNH5lKoFAo2kTSXDCVsvK1uifOGpC61HRqzGECMjS8WVLxCzAU7CpIk+Z7IOEMMWLCgTeL+pmKh1CvA4EuLUYf/TUyaDf/uSA5GMx7m//fRScxOHzXv5mX3//////+R0AA/YAZgDHgIZP8tBQU3//tgxAcAEMTjKm1idmFQHKc9lhWsRUwhI8003VgBAT2mCAmbAicJMIxJMVEQNjkONha0vldrJXwTOC4Ywg0HEYSELQgSKgAQGFqyW5poIgaCJBkjMFFWFxpLkLkZGXVeh82Vf//tRG0LsgiLf29wHwAMSFpgkIoZJ2X26tdDfv0Rdi0B1H//////etbVFLgIibGAD/+AEyw0DqmjEiOZD6mKKpeFiUTWFWLLJ4kxMoySTXWeXXrM40uKwJFouiEqaXPWnmhVDGOHR39FDoFUv/5RgsUIgCxlZFb7799H8RDrVUxBTUUzLjk4LjJVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//sQxBGDwAAB/gAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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XtZTs+S4G3ZH7f2o//////7qJaK1gwABQAAAHAr/+2DEBACPnKc7reXtYamU6H2tvWysLFnZDLQyAfMQLjMxkmHRoHJFwzhJTAYscRmjxW0xuWEoQLWAjNd9ZN+UM6xMgsaGh8Q6gQJfxn0DoUPorAJB93bbGETo1uWEtMcyW0vmk7sZ0pmqxG2QtHnjIjFGxkLnxjdcYLRz7FGb/6PJf//////1oCDHAAAGKggB48nqgiOS1A1I0jsL64HdYZLCZpoTXTSa5JiVPRJ9YqIUT6lumK1fy3kwqgxBggpY5AiEwHWIHynjcaRHTIZVwhFaq+f//r21y4+ioU80j9mlVHz//I9xy+JR/////////+vkVYKCASAAAB8KyVylojAuUDP/+3DECADPwK87rmntoiig5xHNTawFkUwUoQEv1GBwBGNBAwFc5na1gYBxRubm0VMuekp1VZDqu/HJkLEHkcALCjDAX1IDR2jSuBlqIjeMuL1uvbgsSH39OTJ///U3nzao6n8OhSqukauiVOv//7Quh6Vx05r/o/0FCYJmv////u9V6YaAAgApGedAx0QR4cmLwoZmPwtGmkEoiNCDlMUQgIyDgAgVKCqVtHyZisNvFrNrkfluMlMChfcsBARFQGEwIgEGnHt3EMEDI0Lpegox83IIAGBBRef5EDYO8KOeHLDaQ3AxeiXWU+oqFdahN5E4bgUH//9r1qQ+rV6bUiNEcACpFLH2/////uoJiirQAAAAAPxGRvA65lsXJligiMPfIygJGPgoLmrQ+WaBAtM70MIELbF9W2qz//tgxBWAkh0HN05ujeILoScpt59MJMAzucDQu6xla+25iEYU5d83ODMeBliIYkUugeDB8iEn7ngQBquf9D5J2EUuv1H4p8AMYzao53WQobw1KL/36QZMO8xi5BhLJogx//67bf2ZfUu6591JnA0QD1pDANkf////2e47iAIA7EdR3Z8MdWrhhIeGQDeAskLKYgbF3Cocf42BhkyRx2CYSFQfKOtfkeMpDg+XOiDhVmhKEmnOoOoFCDAio7QuphEHhUKanGEs1cO1GTGwR+cv/4Nefn+YisPYx55DsN9AeU67Q2yFr/Iuy1i4GCQqf/+3b/e//jxIRRJ//////lKEggAgAAB///tgxAOAj2StPazzJOHdmif1vEG0i2V4xo9QUGipODb+FA23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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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RAJcOPtsIxghi0ESMMMJgVhor6EQ2jI3B8aksw3bDq1T84Nw//SV3//+6AHxF7KpCMfcimns///q7k463VRs6OhAJiABgyNoHtEKxGYDDBgITntI4YwBaYRqaaQXklz2KB6QVBAkkULAjhWDzYIEQPwek1pWjvjeao/wajs///9C6+6Rp4k10W6v///Od2XW1qBJglQA2imA9AYGIwEC46MDd9vO//tAxAkACThfMa5lY6FLC+W1zKB8vILCkLCAeDkjSLiDs0Q5DvGEyOLxulPiiTD0quRTq7rxsJZI/0yT///47nmdbSkn//////+xtCYHQA5EjxxIGYdCY6LBGTzIP6MXMREEqwVGiydwWDqSsu638QbE7tJPyb6Jo8spFsxR1yDi5A/0f1Ov/9P/+7MrtPvjH32NFbf//9V9z3MvWUDxpUYB0A4FaBBQXBcFzBQejoahThIiyYr/+0DECwBKFFUnTukjYViLpPXcGKwOVLBiBASTQuCBhBKtvVXTHidHFN2JuMThLjBN5R8yB9T///3GJwZHLeKAduxLvood////63Xsft6fWgGwDCiOARBsYGAUYUiafsrAAi7GgMObx9CkxGYeHL7JEdPCXx6Ly6HIEn3gFmMCUdIYtD8C9VX8Bv//9yir4yWAD1nomGMa2hK6mN////oqRcuxH+qlQFoEraXH9gbxhwJDwanaxf/7QMQIAApIXS2u5OPhNAnlNd0wZDC/qeRpYhAauFYyIOgoRgunchlkDTkCNmzr34xpgo+ephDFeNePEP/+1dtbLXPqRYlSCTmCNIr/v///2VzCVDTVIxA0ABhI8CsBA4KjBAIzCEijs+QTuogENW8YUXQKplAeH40W4aFQJ7ll1W1FCtozC/Zt8kk8sQ3ZvlCX//+1q6vs4///////QPUlLgKAFUHwAYwFwNGECQHCoUCpSheb//tAxAiACchVK67gxWFcCeT13TBkjAUWxwGBzhjVQipxOdHUEYnkrujF6WfqRMKIEUXjfmlIRtHbHJQ3//+1b9cWje69XrT////9tW8QDUHBx0gQAGtgcCtAhAXGAILmEhNHnVGnMMA4WCEQjGrUGVo1ejFKFyLitAghFxelMzpta9CWfzPYa/7Qsgucvd//5hrNC02uXGbXuIej////+LrzICLA1/XvaxVBAJAOBEQDA9AEKwH/+1DEBgALMF0jT20jYWIKZPXdJGyDBBAMNVERQbJygtBwePALJSVVGmaZrgYFVfHFDmKAp4oUCJCyncYpZsGv6RdNb9Ga//+ipKtohMTrdbEs3+j////xRybzBVV9yPTk0NYGAAyffArYJhyDJgyGRg4RJ5osxzBZeo2xNIdfpUdkSafgwgKSr25tWNACYh0jXgqzcRLdIMkC0ehi4P///a6m65i6BqWVkerrS3///+mljnMtCAto/K2LQcAE1nfArYIcRQ4DYIIw1BiU2MIE//tAxAqACrRNJ67pY2FACaU1zLRkEUqhAFcwccoVavIVsdp1itNHWPJb07nUbj2NToL6KwpZlv//9t6EmURyb0vKiwo0VRe+23///1UMTA1FZn/nHUATCC3vXjWMIoF7IDAIRM49I19QYEI7bbyklKBJ7KcUNfs8sPaabeqo2sQqzFzANhC6f/r9Xv3VAQUalw8Ik2sFvR7f//6pmZoVvKFBjP280iJQAYNZwIkCDhqYCVQSNPr/+0DECAAJ3FslruWjIWQLpHXcvGQtNzQChhggcOxwUpFiLMuBhS/pED2gv+6aKVGYUwriim45KxgyP//+vSmz9bOLJotv///+iKOcyTUoBj/019RBoALux4DSIBwtiAAjA8czmeOjrVRMAQwVGfUYZHxKWYApyzH7cU2ab//p0yxVJAmtYj6hpN/vvfl9Mf///R+19vsfF1JCzY/Fhfo///1qmybpNdFGotNbmSAlQgRmnPgVsP/7QMQEgAr0Tyfu6wIhLwolNdyobIeEsKgeYHCUdzI6dYoDhZi0iOxAUuC4yiOjL352rK/TpTmff/98aqiLxs8h7ur2pEKXv///cR2FB8JdAz5KrvpVd///empxuDBEy9RH63sCQB0b4AWMISIoHAQYFguePgyG3qgEjwwRnZUDXRnmrC38gemEDMTU/3klyKgDRKrv///pzORSNRLrocQMOqIEyv///68/qXFqGf0qYFxDo/gA//tQxAMACXBLJ67hRSF3iuR17UhsrQRQOQGCIoC0+waAaJ0mAI6BDjoBARQnzRXCV0Qm6jek5K//CoD51TSot///+9W86y+21SGZj////6/KBMoOJreJdv5GtAVAOD7gCJAGCSAIYDgCpgWguGhOcuc8cJDQyMla04ZCGLAyKlLJq0vPKHyN01/6hdBacqYpHAMKHadcwb//+paLdB23OhJbnWixwHo2m63///7eCj2m0har248iPXVhWgXDbgCthGDILgEKjAYYTh7ajvKwCP/7QMQLgAtsVSeu6gOhVYqlNdy8ZCHiKGTPVzDADGViIW69W43stf9/5H9k3UtGUqgdGqbB87///9tSxVCpyb0JVbEC4xw1glclP//81RYHaQ+bhkNi/+p1qCiAe37AGjCCBGGAVCwzFTTzTkEQYjYTfkjChQHdYRBPMwvGhuQ9DHKmb4U5Zo9u1/5ayvcfvv//9nF1Q0mgKDnC9HnlVzSP///0yqT4uth94d/s9bEwNlAUeZ8A//tAxAOACqBNLe7l4uFJiiW13TxkHsDHhLIQUEYhmotAHfWOAA4s0hGZjIIKKvwAbSAZ0UPOalV0XAMUZ0pIAWpKRi79719D8O///9ypIVURSi26oRkFne9jEq7f///9p7SVYV4Dt14H1gYKDYKgWYCBccVRKcAoXTLsCgkuI8Q8hnK6T87qChUSE6hM0+vbGPv8/InuP56cn//9baHK217ACkWGQnNSzJo3s///+xVLV0CNYur/+1DEAAAKUFMp7uni4WgLZTXcPJQgFFACRoc4FgCHgvCAMMEwVPd3qAbMaEGLGg4Il2r8DU4euUqblZEqyxkfP9QLZSQkYm5lv7O4n5k4VP3f//3/lcBpMNdLf////7E7GQ09eJ/+hARgOSmcaxtA4Bw4CgMIJ8sYY0QqMRqeyNoIwE4UpV0CGeLlDzLfTvWFzlP96+T6Os/i7zF+BzTK/f+FAf//oY1/zwrI0MTbMsTTR/OZz///QctFRrxqge/+ikBiAqmjxrGEAg2AwGmC//tAxAcACnhbKa7lYyFpi6T13KRkIXHlpfgd5JEywQNfClZgAzSbWHg6gpBokURRuNnpLG5PJzf4fKZLTS/1T3//Wzd623pafOMefN++p2z///6lzAfDajDYhIFQAZTfArbSkwqAhgQIZ3A5R4DphGQeZY0gUrPsBvrKCGB0wfJKMFE5LeSlIGv6gasVAY1Fn9onP///o1R73Cy2PQZXKbizDYuoRziyVX/R/t0oPhMWB4bZ9lX/+1DEAAAMOF0hTukjYVILpLXcpGSHAMCeBEQAcLxgIFYhJA6N301LIUDipgQg2aiIOdIg1l/goMYlVlazSo4Tnm0Y8pbZn2lyOXsm5B/+gDj///KNFKqA0piy4+wc9ajde9nu///9DRo/DDkkCR9Lehh9zBiIkQUIBhgPAjQJgWBYhBYZHkwXrwG7lQZBAXykaIRiHv5il89jYKBxhAZTVtFFm/02fHfwrqL/9EYd///LZLRIJNrsU0UIlvoT///6t66CKxWCRh3+ipVh1gKN//tQxAIAC1BTJ67pI2F3C2S13TxM18CxhGC4CEIOgQbDcCIzqPjDiRhEtFsRCGDmV+ZJQNmozBqAOEz7TJELvlpIBz1mnAWQWjw9///qpsUMUMLLU90wvRA4oz3//+m+hlCXINiLEn+31PmiA00GJlwI0CPAWDAEMIxlPWWOOWFDghiwI0QIOJOAbPWMH6KuiSVKsVjqW8LeGFIu2ovSV/fVsabp4uf+/Z///n3MXqSqfe0molKkH3d9H///cO1k54SFC6rXWbKrFSAqASVTwP/7UMQDAArYTyWu4SThbwtk9d0kbK0CGAeRAWYeAQf+EYPGCUAcYCp1oDBxYcPcoKgpiA0Da0G14N4kI7fq75arcCSIMyzf//6UloVOt3HmIqSxmgr3////6dTCTg5Vy9qtAshWbgGQJrdfArYRkCCRhQG5hSMh4K/ZzRhb0eZF7apCDEg05KU63M3Xe5VGJRJpdpIRso54+EEvYajyD+ydn///pJ2wMulbkOwBcLs0f//+jS8EhKbELBQiAyHp3L6lIFABSSXAiQJhyCJgCGD/+1DEBwALwF8jruWDIUgKpKncJJwEQkz66AyswqMJAmWNFRVErDltVBDFzgoFptUeReU3IW2CbGwnsBdGd1B22HXTq53f//19N2ok1W+rmt76zzP//7ndjRUeOKlxMAHadsZxi8MC1I4EaBMjQMMEQ/MFDEPCrRMRgiLNmCyq7BCXo9KU1lgIUsCSMbiFc9C1xx2zYkQbGBT/oaf//6Wp/sS8+rb9diKv//9CNmaQkJiFzf5bb4+AYV3SXgD6iES/Hg6JA8/acB89VgCrElKU//tAxAyACexPMa5l4qFgieV13LBshFBYJGAJMmrFQcloyegVvEy2RNeVl8an5T6ee///+mphyRcSCjexyybkbNP///tZZFHCwiVDLAgBdU/A+kDMVwFMFQeMDBlOYkAPANHIBIq3QcVVUWN3U371I1tTgkGUKy/KXC1d/04ZWqhzgGYHf/9SUXZnoHWirS8+u2lGkcbJv1f//5G+KhyZELVA8NVB0CvufAD2yBhqGAWIyYanl5n/+0DECQAJ0E8vrmXioVOJpXXMrGxwIgjIEmkBVHBKZcwsRRxTBTU1onzZ1rwHL6ctem2oc0X///7Vxtr1MUvZqE2NYQ0CP6P//qQdxiEpLMFIJQD7H6ANIGJPYAA4wOHzYtwPvExAgKWFgp0qHk0HaibVRwG8iheQA41Vkj0t8oIzdSngNmf///ryqSzFdEXsNLPUVKmB4j///3XT5N7grMCMv/6tSmLwFuH8B9IGPJdd65Tj0f/7QMQHgAmATSuuYWThRQnlNc0sZFMsBQIC41QHWkBIEm7e9U8HDcDwei1N8f6p77Gm8rlgOQ5//8t7c5ZGXM72WNtGMvaYs///nvvlofSHxCxjYgTj9gCyNCRybgKhE7K5j8owEoLzFUFdVRJkuGawM/RBBc8v/+2a21cmlqAs3////RA6Xrjw0PQCqcNLeHhyrtsp///TUYNNBK8kbd+/S/rqgm4WwHwA9gYCDRfcEBg7gYzh//swxAkACOBPLa5pQ2EkiiX9zBykCEwwsIfNmCYCTONxPSRU88p9E//zmIwH7///+97HyY5rHuDNsaYc9dmbpv////stuMB8JBpAOFNJYA/AHtESiTAAoBPKh0HI9KAN2CyNfReRgwvKDNAkSSsDN//1qACS///+WxR8VQBE2x1LkK5NoCuHGP//2ePkzTBaJhQKVSBgRqBuABG0//tAxAQACZhPJ67kQ2FAiiR13UB0zVZ4EAM7iWYjpUKA4JMVkxhUOqqs9WWN1eQp//+6Ag7f////XVUcLNACgsUesbEjmy/DFif55v9NQiDELBZorMf0J7ewA1FTATgWJAxwLACYFikej3qdsYDgocaQpiyHIOD6tpmLOhE/nKHxc7H/9VYNpk8h//+QarWInRqXf7raGuZ0f//+mXbbMWEDpD78zS4MrioARkXAbgCIghwApgD/+1DEBgAM0aEhr2ZDoTkJpXXcnGxgGGA4EKZHiHR3Ol4i5Kd1OMgICruAyFUceAVaIo3VzM//eRrwB4NCrb//////+1W7X7de6r69Nuj+pP2///////V/VVfqUttnUkpBOZJGSDtcw5TsMkBRhMGWJu3th6ANYGnoVQPFQyCkumL0KCkqhYBf4ZCGQ71VDODqZ/EsB01tX/49QAo7///1bSSDYhvoOAdLirlEC3Dulr////rQfai4xCrf/VauQEIW3+4GzjbcyQBgqJ5rnTRj//tQxAkAi32fKa7gQ+FjiiS13LxcG3BU5dCStLDhW7CesnvNGa/Z/n7bu63OynQp6gyJ//////3TbR2V1+3/2++1m6a1TZb7fd2X///te/933pYhWqrSKpFQUc/93zaAtAe/jQKBMGgGYECYeEXydhCdZfALHoOKgHvJBGEgtlmJsqMb2QMuYWEu9eiTSGl2Xz4AuMt////p61Nn0HCrFpEvIfFtn///vJPYLqKtAQNhbs7EvKcQqkA4FdP/wImCECukgYMhafawoDiHQsMqUv/7YMQMAAuYWyWu4gWh4LRkNe00bCENy/Z/S+csT6ajah1ll/me5iVLd66SDj+Fpqx9hgloDffrN3f//o6v9aZRrRQm8sulI9Yb///7LcyVQHJsQe3bLtZ0IIDIDr13EiQIYFGCgEjA0ATNPIR8bekw4xhGLtWQmmQWUlskB8eiXslJeeZSSVADoJCip0TNzgGaXm8FcIz/////de2pltVut1r3WrU/W1SC7Vt9q1Oq9tV7Pf/////9r3dS1Oy7oOirXd3STTObDyaCE0KkkFXPIwBCAo7VwGiQGBbF3TApBONFUN85YQvSChYOVusQgDTJX4rtMe+I1GDhyf9HCXvDYRnsM//7MMQZgAvUXyGvaSNhbYnktdyofKkg8AKP//Cxj///3bOKho6nqGqX00qs2N//9nRcq1p5BIL8Y7AyQNRNuFTSBkAWtg4FbBARnhcBDAoPTqBhD8NQHFmTJAdgmDDeoGliqWGNtgzSHkz1qA1xaZWgOChr0FfyX//3RR6j5u56ylYbofuaeBC1aH2u///0BcvWukfF397UDvXFK//7UMQAAAxhmy3uAFipXbKldcALFEBXUFeFj8Aa0QoYQoCxkLG+ZWYzGgAAoVDxVArJQoEwgERmUF/2gRtJVcLdXtv/9C53OfHJS3Zzf+r9xgG+f///+7Ub9U5Weilo932L3m22Xbf//////+urnrIRGRFc7iC0jGL0DNn6ANJGEI8ZAg6MTFluGCOQgwcBRbKRpSFobGbSb+EfahzH/3BsBSb/1a7IcsKD+tvz/////5Pbav5nv0T0fU1WT+3v///+///1s3V6OsQFloP//Qr/+1DEAAAK9FElruXi4WiLZPXdNGxBQgPTP4CtAmMIFEIGggZDWiAz6mCoogUYjBQ6ITLUfIBO3nOarBq3ywKt1v23X9Xp/4DlfREEA9///0C9PodJkzZpQA6fpb///5tyIs55wup/Z1OtYmlTBtLdwl4FjaHjSMCAKMEw1OUUQOKHDgBlyocsQHo3pBWsVrPlK4w1EomuyS0f5QDnVAjxi/UHMJf//XptDTQ82ktC7gwWa1x1/c4/o//O/73qc0+uJwqS3/+2YDgFgGnAraQY//tQxASACxhdJa7po2F3MqT11onkVYcGwCEw9CHgnOlYMwwcOBqwIzqvv3Ww1YpRNotJv/oGRuaj+ESkl1DCmyP//3K6FKtQhQ8Svcu4SRLqMnyNjf//6gmVkS1CnCN/3/SOok4BkPKNpxq2GZCgsYUB6YOiAc3t+YagUX5DAiIQBvId1nX2DpAtt2q36Tofv63Ltg3Lepv///6a/170RWazelFptbbZrkzpe31WqL///////rMXS5iJ6AxEOFHf6166UEghRICrQB9RDG4BJP/7QMQGgAnETy/uZaLherRl/caJ5CAIC6Yiqgg/HSF+FgS6Mgpn5HQYmPjUkajEHT4ggjRr47F45kf///UrI6u50JniiY+bsI7f///SbKizzsXPjRUNsBQAM8BXoA9ohkUAGFx2YCJx3CCmNAYXTMCCILheKJSpZ9j6GcCSpVR1Ijxt+GgCWr6A4hlViSpf//////9Z773JsvvtTZ1/VO2m3ZL1f//////97IZmefV0Q1mQtRpg//tQxACAChRPK67lY2FiCaU1zDSkcG3j+ADWCBgZAoJTBsDjm8MB/JNg8Tw7HEhPKCsoUmi69hvoSbEio/3Q790nXEAFTf///yDMTG7CEXAbVsa/8rpZ///S4wgaLBGPPFyQoLwLAI8D0DaRsVCJh0aAg+n1JIZCEIGBxuOnHCSW5WPPBpEiycHFx5nv/5ORSDfDf//+0q0OKUpBV0q4UEeKmh0hcOIVw2oAIT/9/13AVhJ6CgEOgsIv/3J21WHgLuB+ANYGDg8KhcKFAwtJTP/7QMQJAAncTyuuZaNhRzRk9cyoZAiL7ihgjHihImjF9ZCU8kveKjRNf/86sxBWS8c///6Ni88ldKhZoaNzqioKIztLHt///empxUWqKEQyNAxDwCuA7AFbCHgcyws0cjlB+goiGeKt2KkjaTV7JTvOalP/8scRgSG////////ntSze0/m+3pds6uh9H9O///////02TVEutT+aarz2aX/009VaQ9Fv3HwG0gSrn+JRc6a/AUQt//tAxAkACdhNKa2lrGE0ieW9t7TkNyXHkJAEpJRWfVofoWbGBeEbf/5eYnhtp///oS+TlH1UFJRowVMLMUSLxItoAIt///3r9DDbTCDjf9yfoQHgDN4APwB7RBoTW0OB5yr8ZSUl5FYFhno2TU9jMq42Xlg+BbCK//O0QWCTv//+uxNQWer1NHvH7hZYokWcT///oU5cX4SsKJIA///TYuS24H4A1kYkMk0wYKDnxbMhBovGAyL/+0DEC4AJxE8rrj2lYWGz5f3FCb1NYBkkdMwhAzxpTGkkgsf/mE6CiLoEJ///9ibG0PCMXCRY0LuImWJ8zV9P//3rIJfCewGDnb/HqBQiq8AGoA+to0hw4AIpnPwaJEtqAGE4QDK6TpMDKKnVVkbc51//diMJqRF///////+/Zul9UPkIhk62NbbunR9f7VN///6/XVUnOjMqu5iuQynI57vMLbWgfRYAdgfWBmUQSBgsRAA9s//7QMQIgAhEUyuuYOMhWTRlNcAp1HieLQicJENoCwpM3mnotE3//+OvCTGv//1rZpynvfYtqXkq6dyk////0BBElDQ5IhSw9LcAPgBpAxI5AAEgEUHq9SZRCAOAJepOWy8C5ZLLE0mgT2H8ioAWJZy//////9f60pRZ1Nk9ucrouc2/Svf0p/////831o72Xop8nZphq1VCX//MoSpg6x0AfgbSRhuYhUBAfmY0GG465i0rSs30//swxAyAiewfKaz3ACEJMmY9wAn9VJT0Kqds1/xoSf//+9qLhiEXsebKRVwNMtGmRtJWl7gEQGVC3b9m3ijSy1iNoTCLw4oU/pV9Sg7w7uAB9tQcqiQGjAQMaT8AEwqgsYASy1GkCBamE6YpFu9//yc+lvom/TzJzb9LOll0yze////7dL96vX6rC+VfRYH+3+AAAPrYN3igxYDJ//swxAcACDQfL6zzACEphaW9jmAEuWrHFa7AqFBxdbCSsNPg3bADgcMP/////KfigarLNFhlh3G3a41Gm7/Jfvw+zOlw+TcTQgC7gbwAAAf22Cf0A4WCR4Kkg8DbiyCqVdj8sE5ceOivPi2znwU5MH////03U5tIIk6r9NzCKneLOlUCvYp3//1IC4nSaCpAm4TvYEiDZ4AAAB7R//tAxASAiVQtL+1zAGEbNGX9wAo0SuuUHS6Z4lfAZXjQIN8VQItJVAkdHMqKvPZgNwKSPOVIv////r4uK2v26mtqS0pH/EX//1ode0geCMKqJhNwQBtyAcMLG4B7RBozpdJ0nmBuLG1OMwkDx4BNmIAGlVusoZP1bEmkfMv/+mT1Km01i3bary0uiI7On2T//////6uv1qnu6Jlu0SpARlB3gAAA/tECEkYAAYjBh6kpmTwYLAX/+0DEDAAKUaMt7gBRYUWFJTWOYARV6wb5rwFgDYiSPUs1GHrc+/j//9mtXMZFl9n/oj73+qzVVla7VrZNG/////oZNmRkpqlXPfahWIlgBgWibAfgbSRn0IVIIg+eodgRV3lWoDpOj8Jfo21WXV2+yUdrBH8TkP/+vqQNuUycti7DCnCXcZocgTQ640zFpH0f6y7RpYDoQG0CEQBQkFn/1UJCI6BOBIkCViyQgmIQyN/4XOrOMP/7UMQKgIvwTyGu6gOhkztj8dgKHYPEIpOl5UPTAEJTOrpd6Do+8CsT5PVB3/68AwJE7///dRuOCi9Uida1Z0USSVScnmv3//+9wEvZEjDYEUgKkhL0POSTA+zExsXBkhQApgaqRF+IwSEQrmcVQAAMRkAkqEro+0QwiAuxWYxKLclfKIyaSyb/9SkgsKHab///////+n5dOVduz/la5VR7J0330Vvq33//7/vvJakq6UKEKUy0W6uyPtn3WnRXox2QaXnVYvi+wH4A1tgOYir/+0DEBYBKnaMtrZxPITeJpb3MnGQAiAgNu9zJigtWIgKBIkjsTB9qGVY2m2oBkN//8+UAHT////////9L/v0Ztelh0ZSOnne27P+XPu6W+39PpT/ro1s57K7hDuco7qBw6G0AHwAAxvMAAowCGTj6oPMVBQ01w7RTdBdAdVstxtFwiBkh//tHACv///R5dZKLEIzaxKxjCQ5hxqPTa5H6P75t8XgacBIOHz//tWF7LfvuBtJGCv/7YMQEgAtdpSmuZEUhtzRj9dmJ5RWHBMwgCAn6jyoHgOciplhrMKgKP8V6k5D3Xpk0f53F1cjeHI3/////9uv+lldK7kfXarURWujo29bnX96T1dv3////b+tER8lXvWyIqA/9H9RAYRUGvADRJMYQAMEALMPxWPu4DMYQSDgVHgOYbWSXRKmbLjcuxuNlVvwwgJq7A3kGIjNZ0DRAgqf///////2v61StHIaxq3kpT1+jo3//6/////oQ6uyGWlksr3HMDLIwDfw69dxaT+TN4fW3imDTZdfuBq2EAhvMAw6ChMmh0NGxKIwEBoyJeIQWJy+kWzG5SyFpxIv9AZcaTKG+Nv/7MMQYAAuUTyWu5gNhQInlvcwobF5eYpgL6R7//+pzGxXRr6WybYwWFUEUk7Jb//9Gx51UKCsPAoISnZsbvIpdUwCou7QEegf2iAIvBUtgQuHLpCdkKZiAyx4orOs/J3k6YGmpDCh4v681shwUP///sWxMWTU7MqTTPXIrFAMtYyVs///aga+TShoSB8kor/+iIECMoHYFjSREG//7UMQFAAxpkyOu6UNhZTRldcaJ5JEDhiCCZ+aYAnPIiBpQYOKUI6TL0VcW5X5qLt4WR//4gsCP//////1prSb7Ldts5EWxm3et8z2V2vRrab7///9v+rPtYxGznY49DZSAAZX97thIegMKLh4HaBQdsB8B9YIZPCph0gGEC6ewaAKHK1gUFVjURVAanHKV6W8woXNZD//Maw8K//////6fXV1a+9mq0xCkc2yl7f/dlX9v/////70q5mPRUMyXMqSCGYhwRjB6omA2wG4H1gj/+1DEBAALBZ0rrmVDaUYJ5TXMlGxnMNAwbhYsGD5KDOB0kcUVvihYDatymZDQOQy18mP//0oAWJT3//////z39rJ1Su9T3vTSiPozVrvu9rO+v/////tomqK05UZHSzV1ZTFlSkCwG3A9AGkDDC2AgIYLApyV8HSGj4Y4qrLpIOlh8FLkadGlgrJx3/+eMAdRM///+0uKbAys9Lj7nsJNRWkTbJR+7//62ueLLURdB5ANgA3//02BYDfAegfSCAMcWCCgqfI1kRK1NJFTmwqi//swxAyACmGjK6zs4aEbhOV1vDxEoxymZ1GOvhIz//+0oDpQCQAv/////9k9k9dPp0ev0TW3Z19ujej2//////0T77sp7XMVD6MRkf+j6ENiduAOB9ZGNJ0uUoONMB+TQSiXUQjIWPlEjhsJzFfHf/goDJn//106ReeOuWxrRpoKllJfc4fW/Ls/d/9/9ZMoQOTBf//Qg/Z84AAH//tAxAMAiamjLa2AUWENhKX9rbwU9thq4ErKSAxzQyY8FIpsosYNxaj8rf2Ran4P73//0Sltpr+1Dr+3bXWr+iVRN3WqGndl1dd///5P/W+TZn0STYkjmJqN//oYChzhgAPraPrjBBiEBA9WLC7yIHqkJOcg2olyZJtdKtN/////59fnyWybQDQaKhuKZ1rq6uv//XIprJizwkMSsAg9dWA3dohwAAAfUU9UyaJdB+zMUJq4gez/+zDECwAIrCcv7O3gYTk0JbXACiw6kkEAAszJEf6j0NFap/////Xa/W5EQsLYCB0MI3OSsYx3//+1a7ZEJhlRBKiBQlRf9/wAAP7bBJlAQHgEEHAXCZXBAOCIkBmOOMxJvbMbUxkWUAwi9v//r/dv30o3uh7WujP2rZrPWvutD9tPdf0///2bTVETJtGKuxyKijJAN1ZlgAAA+lH/+0DEBICJ+aMr7gBRYSUz5f3ACjUFlcBQUFA+aYphh4FqBJWvVE4CZw6U+sFB9NEHsvXuf/7v//3Iqf/020R1IbrqTmo8vf/////772UtKszh2MYhGO6WhU//qYHhnhnAPqKZnBQADJAEjBUTCo8HASm8obcaIXjo68PQJHZZB2f//ubft2aj/LoyqtpKafX+5tqf/////7ZJ7GlVFugdUUcMJXBAaGhmcAAAHtsO5RQgXBprmf/7MMQIgAlkJy3scyAhK7QldcAJ9HHvagkLLl1IvA5ngO/Mr7p/kk/l/////6amqkiDB0WSF6ErnBdi6HNe579XXrVtMXZYTAes6WSD6QvQ/n8AAAPrBCZfGAwWKAg51KTEgEVjQGIZtYiqQE467XYV+Xf9/310+z77s7vdibkltbNVacv///////97psl3zo9HQhEVXBH/q+mh/P/7QMQBAIkZoy2uAK+hETPl/cAJ/PYAAAf22A5hFkEGzpauDCeswEgFXDtu2j/Gow0S13//+nXmbS37daort9bpq2i6s9EVW/ZP6/////YzIVDUeh3ZFWVWUhARgKXWAAA+uo8rhoBwKcwIJMLWziwZKAUzhRVAhhUYTIP/9vk7qZLqmtNZL7UbclLNvZT/9bf/+v36+vfSl9SJL86nCstgWHF4AAAAHttGlUYSAKMxxULmRQAg//swxAsAiSmZL+4AT+EqtGX9sAn8ahEw1v44vW9TUsjw/37ffZ9P0V2Tvb2q+l2p7M/q3/////TlaZyumqOYxlPKUYSGW//6GBZcHcAD66mxgYNDEEJ6TEZYGpXCwwYOCSJrzN+1mkUff/v6fM+RHVFarOqsdmeial6lTVP/JR///9P6XzvQ+Vq5jikUMzKRyGErUHhzcAAAAB9r//swxASACDAfL+3lIuEiNGW1sAn0AFjIYplHJw58zF5QqI/rqDIaclkaL1/////1ddJSpziWtIVYp8XtCzEFhQi7/6kW7srO2zTRxmFoN+dwAAB/bYDkoVACAHNWtjHB8KgDOWEPqk8wXlrXcP/+1f9fs6Jqll6pMZ6Mhk7utGfZlvT/ft//t1v/bW2+nadUVmRyWmMFYEhDcAAA//swxAMBCRmTL+2AT+kPMWW1sAm9AB9tSZ7Ag2SCRmlKAAhbI4CVNNgY9TT9LI//+T6rZtbrult0oqarajXfkR5svZHtZ+jf/6fenS90zEtd3QQUGkMCZwn0AA/tEAWOFhQGi57MUZ+Gl8AEBp4R1j7n2cG7Uf/Xmtqravuq36oidEVfXRtFVH1XVFf2//////71tJreHaFTzF2F//tQxAAAif2jK64ATeFLtGV1zIhkgH34AAAH1tgkbhYFg4EE6xIhI0MBCkOBa9JkWB9+Zh57P/2p31RbUpXem6MZj2psiuy2036Jdk0bp/0/9f16ot6OjNsquZDsplIdCi//69NC21A/1lhkUGGEgeAQkc/W50hJ8l0oBauMiolalrY7P/oxP///////2b+iX9r5b9HJs4tUdFVKPa3Vfb/n6bX/b9fb+yuX7qzJQ6HIQ58rgH//oVBXVnYIkAD+2s0UwDMFjc0TqMYQxCFK2v/7MMQMAAkcOy3s7OFhPwblvczATKKPiXnQrdN3WxT8//AwBpX///+vTQ64g58iuRKssShSFHCc4qOs0Xfd/+tgESswUEKgUIjO1SOB/aIPHowWHTAhAOJL85BFBzGYAI4oAJ4OzhmyiZIGSd/UKcIOPfEBP//98rNWDmizmGlhQuyuo+xlj7mf//r6a7UAkKBUicFwuqDgrdwOB//7UMQDAAtNlymuNE8hgbOkNcgJvNJGZvCQYRTCYKG/kPIJGAwuAysDZrbTyx1vOAnao7fS//rAc6n/////ptuuzInRWR/odtGtss8klVyshnPu3ZXrX3////6/VV1RrHpQhmGGcBA7/UwIBIABwLEkTIoTMEkAwovT/2aMSBNB4sikNSlUBq15dh2Fskl///zoGZkaf////8iuv+zKs7sypd3lJrK9Ky+xunRbO10S33T//p7//93psuhD0Ipwhi+lbNDmixoehKKB1CgADgD/+1DEAwAKrZsnrgCtIVgz5LXGiTyyBmVwGIw6YAJxqSGmJAsXLLqI9vwVAKuP77coPOSDEHf/////7dcifTNq9mM2iZquXZ0rss6+lHa3////9Pa1amqyGsiMpSWGuAxnuy3EzCoEAA3AtbaEmeiqYDDxytVERfY4jmnjgo2Gvpf//14JIasCsAr//////q+iJX7b+yo1lTVU+n9ez2s9y0W/RU///0/++9HksZM6uQ5HOkEQ/1dp6IkVQrRYAE4AaJIDC2AcAgIk0DTSJAw0//tAxAqAi9WfH6qAWKk8M2T1oAmkEQvwQEplUIAGG/Uk3///qqC54nTILfgtGN//Sqq10O60vPVWPY8y7J7evX/7f////+urOx11R0NUM1lDKt3s/bPm3gRzFTyPIyQ6uUADRhka9RoQFzb/jDDS22L88WW91jKlk5UdW//////7OpnbbMVlbslci2erEoZ1tP/2TS//////9LtlZS6IU6IVmVrGDKk3/qXFhWhaQEhogAAAAP7/+zDEBACJUY8t7YBN6P8zZf2wCf3bQ6TIAEcDjgjMEACw5eRHtiCwKrZBaZFB/9f0+taM07Iuil9Oq+7sTe1K2/VNv/X//l9SMk07lLVJKo48oWFHRIqGBYd3AAD7CBIeMACR5S5g5/RoDANSxpat7UOc/L///9Xc2pkvea2h2T6nc2y0+iyk//////+z68lNkMl5VDsF6nBYlpD/+zDEAgCIHBsv7eniIQeDZb2tsBQAAAAfbQ4MQFhNpp5SoPiSIEB4FuBcJ81Yya//////0oH6EIekBi+ipYFeWgQS0HLG8430/0qLrtsbAbBIwJDOwAAe2w7JAxQFDI8W1Ay0paXSRhbEtEHMQY/////+y02wk2ceHQY6C7SKkHCqBSVoMWo//zS0bUKgYFDR8MCeUFh2gAAAAP//+zDEBACI5B8t7eXiYQuD5b28PERbDRQdDIqiJqnMci6QzWVzH+hRWbeocgP////6X3u7VB82I2iiniFLQPFxUY0qaXTenO//90mWQWLHCy0iiROoK7PIAAfWsOnhQFJAYyj5BllHRzFS2RFCtbC0lb/////xXqHLoPhtlgQDQ54qUFzZ9aSCBpG01sqs/+j6jyHsERoWgv+4AAD/+0DEAoCI4BctrO8AIR0xZb2wCf0H+thXOvoZBzoeQ/xRQSHTokap2DA4j////79+o6PMk0mgzLHiBtg8OiAay0wogYde6hf9CafYHKj6TQYIraMIlxVgV3WHAA9toOqlzqqHvXplgInWuhy24N2ahYjzuRCi/6U+ffZdaO6dV+iqd+5+ql3a2j7KldzL/12S39LNf1Mm6qwqc3zi5Gqi/X8AAAf22Bi3ZYoOcHQQKRaTCk2kNP/7MMQLgYixiy2uAE+pELNlvcAJ/ftrvtzD0uTRf/996Lv/kZ1dq/0rTJW9Tqz66LZGSvo/T///v9v7U1n2hWKzD6aUBYdvqKLG/janFhaNHFINGFXT2vOkNF9dxx//XoqIq0oezNIs6s7u0i72Zq8jZG0on////9W7eWxFTO06IcEUxkIHkR3CfbAAAAf62FKJMFHo4SEQOsv1X//7MMQKAcjcGS2tcyAg8wLlka28DEZf+dGmaZ/////+kXIISy9yhg9yz4pDyEKNrlGpIOkW11Mo/sVRX4qw0PUcEIKnjv/q14b9guGDQg4BnmLBpAqXGKRRIE4h5hV//////oVPjYXl4ZpXHrreEBUBAUcQhpLv//ZVTSLiAukiTNioYMqDfTAAAAf2iDa5uqDRzcudqSKpIE0lzf/7IMQLgYi4GSutbyAg2YLl9ay8RHhXhZZ////90JrdwEhAaULA82OoJCYPvFjouseOZPGkBv//5qMlxrnNCwIOPSR7D/37WC+toispwvxiQphItiZeFb/////+9KVpYtp4Vf/WyBiTz4LXhhB13///ughBYcYcHP/31VCHiHAAAAD/+zDEA4DJKY8v7YBN6QSDZfmssEz/bUOYkEJCCGEQJiB8Qhsca3DDjDQfTZ///69dGz2JruqulnLd1rR1K8lzM0jXm6JtTXP////7/rrdDlsgN80U4YSYGh3kAAAkGggFRJ98h9olrAuCxA3Pw+1z/////0U2JNJFGILMJLVLgQICEV7q0C4sASz933V9K6SZpl4saPXEBEqiffD/+0DEAYCJZBkrrW8AYQw0ZbWwCbwAAAf22CaoMDgQCP+IRKYRHHoF+3Yglm9Gf////+67ZpkhUQkTJhyhWloHFhgABETsQxaYuI/Pf3u7hWl4w8ZUtQABEKq//pTQf9wAPraGWRECiEAPjVRYib0SDn5ZcmXNc1rn/7dX9dW6v9rIzO5HsrIl9pDtl+//T///0/3eufdcOiIdlBK91dCj1WA4d3AAAAAfWw0MTMNMBAQm8WBuSv/7MMQKgQicHy3t4eJhJjQldbAJvKYDBQySos4qI9WZo/////+hqlXKeJoI5xTvnyRFGBgsuKvo//1KUkJB4IqWoQAYKYTagAfW2B2cDTURIB2GiZIRITwQBPG4kTkOV9uMm/9X/RP2V/d6qS3RGeQ2zo6PqiO631U290/t9P/96p+jWbW7uaR8hyoFd0UqUChUUAAAAP7bB5tCQf/7QMQGgIoxoyvuAE3hC4Mlta3oBMMBg07WRgw9pQGLQGEBibWDX5zD/20o+murJISju16Pbeo15KXR1SyurGru9tKqnRNmqv///0WxuxblVEWjOzHMqq84LiavgAfWs/5sz7QAGZ/TkcImEAggC2zyL7b3p3////9XSupw1YVFj9SihRhJECkzEIk3nTSl2L1/zf/7bgCuFz///TVgZzOAAAAA/11B00IyMgLjAJ0EHw6ChYEW//swxAyAibWjLe2ATeEUguV9vOBEzQN1czV///19P6s27Mm7SdGZGMrVvRn3s6ovMjcyfVrei+v7/pltU52ZtcFVzNEHKwk6ECIBw6sAAHtDDpN8hYDO/eAeWsw3lLwRshmniY////9tT4xbltniJezfAawg8sBUwgLk0Pj3CL//9VBG0i5CibBGoGP/6rFQV4QAAAAAH1EE5whB//swxAaAiF2LLe0AT+jmAuX1ljyMCg0+xEHRVYmIqDJ0JGtQ/////WyNTbch0OZXZrZVbeq0ta/lRLIhv//////+vujeDL/woBwJV79wAPtoJ9JoiggTcXmdmjQHDEjiP/////9jrkqYbVtJj2C5JbCgGLQzUlzAzpp/Z+ui2s6swLkS6odt/+AAB/aGNa4OGQhwBokaIyKhcqQL//swxAuAiOglK61h4iEMhOX9pgDcan68eCmWEf///+45IVPDhkuCgoQjXRrVuBqgNtaCAsWRMM///95iOGsB8JmEt//7mGYZ4mAD7aj8NWIZChv47ZMwABFdJ4UqR17pKR+CpQf/////TnGurIoFbKMsULhMEUrYzkldH0tlKPbeMlpILJPHgDVgaHd2cAAA/11DQJPpYhzRUDog//tAxAmAih2XLe2AUWkvs+W9sAo1oB2KI/rpl8v/Putb/P///+rbrt2TsxhN0YiK7ApD1s7oqtTRUSjb/STItv/W9Hb/+jbHQiIhGU7CgrhezhCgzu8TQB7bDQwJW1W45VpNDAEFVRNBfe1cwir3++DFG5Li3z3s+112s5EW8tH9m01e7IqXT0bQ9NXu339f+lv/2ysu9mOY0xkVYNgpUGh2mZAAAP9dDlLWUVQU1aSM8D0AQVr/+zDEC4CJ9Cct7O3gYSayZb2wCfVmGumoewtRXZM5HkxQR7///+rrvLHmVYAQ17EEBMMOWOh2wkQXxUibdPIzWj1wOecxTBMMWCIqPJKEO7u4AH11JqMu+Qgg7YmBHhAFtIYy8L9NDn/y/Xd/19Ke/Wei9K0vorIRLGU8l7Pf7Peuuh3bbz9v9lb+2vyGYqkbU6DvCujDFUCHeAD/+0DEAgCJQZ0t7YBN4RUDJXW8vEQAAAD/YQHOToCoCavSGXm4MAF7puOu2FFLP///9i+9Pr1X3ZmQiGZDdEQpXqjUqRM1W2Z/////++l2y9CrM9Eel1Ha///owuvwAHtrNpDJ5Lw6KhOIJS9UJ95Qaqw/////61bW2wOkOCBhyhLHBkBDFmHNFS08xQCc7FaEdGz8o+upo4NrWCQEd/q6lWBnaAAAAAD/Ww10DcBnZ07ECm9Phf/7MMQKgIj1oy3tgE3hKrKltbAJ/Admkr6u+9///99u1F6eytOpnQ7uzkK91cj2bREW5drIWm26/r////9aHqrUSk+rI6EQPg/9wAPrqcCCpXPod0XjQ5Ay6WLwxeiGPf///o910y37/odFTMr3fKrq+7OhFVNdNc1t+y0+rtemfmdC6mZaER3KtDoEBE2EGf/6VVBoZnAAAcD+2//7UMQEgIplmSvtgE0hX7QlfVALFA3UARlVuE58MikAI0BKcU7ntZkMn/9To3/////685GpVDL7q6u+1qIrS7sXQqySL0XRzq3nV///9W/T50JSqIQ8xDSlwaQ4z//GuCM7wAAGttA0eGgHAoL8gasGQBQhJoXIPgWovhvQgsPb////1B8C2/9lsbvrRtFZ59WSt3pV0lMkh0VNzLbZ3v7/0/6umZ5tGVLM8xTFOzOxzkOFd/yP7qNbIAAOBa2yHjRggaKgR69GaeOBACyKTyj/+zDEDIGKpRMjrYINIQey5X2gCW1d8FZZf9agsKWn//////Z7aqnbXW21Gu9raS3QuvSa2t3ZbNnXG4DWv+3/seUUZIGz7xzj4l+pdEBZ0WegQ7NrbAVvbIm6brAQFy3z0sqiNHZ7qVH///////+nb97W2NTbTVKmN5raEai0Rt+3/bav/SydESc1dGZ2Uqjvy8BghmdwAAAA/13/+zDEBIGI8Z8t7QBN6RMC5XWssEQDUyh6iginmcMIA5iV2KlrXf//brNV88x+rIkyMymMq6HVndJEas3XstrbetrWW7VJ2///v977mqhXSqKKKnw+29thuwipFVzhvD3HDgDMIX4XHf////r6pNTQOp6TxpDgiUMExA0SEmpEJVDBQyeWxLHwr+SJes/gRBUXgccfAyiv+pVAhlf/+0DEAYCJ1aEr7QBN4SK0JXVACiwAAAAA/1sIgz7MNOgLDUJMHgWXYci////1zzdzPr6yP1oQzLUplKRHdz1Z3qjI86vaRa6vf9u3/6/6ZTEdFap6psoIzKCMwMU//+5Vet2/A9tgKAg/oTMAKzwbBQypktB0mvqRb/+n+iHXdql5k6IhC12QjZVV5pjIrX2fpV7P/7/32/p977XvdmimPMghijH/v1fjFThlVgAAAAAfXVcUwP/7EMQGA8edmyvpAE/oAAA/wAAABDWhYyIG5ommh/t81e83fdfNRZTdMqcqOqOh3XVHa/voz////63Z2cKqOjpoilhhXdJMQU1FMy45OC4yqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQxBEDwAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAB1AABb+wAFCAoNEBUXGRseICUnKSwuMDU3OTs+QEVHSkxOUFVYWVxeYWVnamxucHR2eXt9gIWGiYuNkZOVmJqcoKOlp6mrr7Gztri6v8HCxcbIzc/R09bX293f4OLk6evt8PL09/n7/f4AAABQTEFNRTMuOThyBLkAAAAAAAAAADQgJAZMQQAB4AAAW/sWzum7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAAAUwDf9QAACKNJi0/NPIIAADQ8AAAAADzkvVwzC6A5DAgZhUe1apTPAA1gcAAkKDYi8TF0F9oPgJIWiBXdXDWEvFOGDvA1cbCpSKWNEnqLA/p00A034LAE02qvD9kc1W4Iewv423Jr0aCEvX2nFD4UZiYihS83iEIORH+r+HYGthih7eqAnio1au1hUqNkfRDkkxdyGjKulqbpea8Smo0VgYkNZ48zfWr2uVaw11EpqJ///3FqSsP///5XTvCSAAAAAAACMHRyybWhv/7YMQGgA9xcVH9qgAhqy4pvaTKlIcyK2gyIw4mqQeaSzGJPU5duCqKNEcYO5kWyDGQ9AYRKPQ4TyJOmI8mRPJLMjZ0jRza6kLakTIvEyGDQ9YnjiC0baKNaKKOcWh6KLHjMdIdQ2S6SKLdTm55qKLVJdaKKP6SSSSSKP//////+iXzdaYCABAgAIgQHMsVEYVY5lwwgFBVmYoKP60qV5L5eaYazbd58q1So2t6P0tmWwgwLCWbjJNHl3SOi6KZ9VCUMpoEh0ad/zIvJQhNZedGtv/6Jue9M6yJgGrSEt/8Yw9////////////F2DyqSVBQASMAEGAByJGTKGgIxMkLajReYv/7YMQLAAyxcU3tpbSibq5mdezU7BAAayRQUVWBm8FoS6fi0TfCXMPilyU1oOc8w4vmvpkUpCejMJbF/TIsVIZAOqz/+VgaRamvW3/60DFvvjMCbZv/qSb///////////9IYo8RAAAAAABxaGYKgELYxQAEUAmEYBpABYMpuGDoEgZ7ZhhCRBjig6I9xCMUuki4mvXWgUsTLlDgatrdwMRBEDeMyDL4KAAgBIJiRgYOAwYMEemoloFAEFwI7UBXQ9UlzoamIWIK36yOBIfg4OkwbpqWef/1LV9yAkwbmQf4DIYEKJOGaqkvrV6H6ql/6//V/////9TXRGXImgr5W3XVGAABBP/7YMQCAA/hczuu7kfhuy4ndcZCjAACfAgQMzdgYCIkHCQ5gICRlHBBssFQCIy6ZgRUgKbGYAPyVrT/MKf18E15fJpC/0CAIOOUnWX0tBH2QPWq13p8rDRIIbjWacHqMqQ1v84DSQ0lSa62//Woc8ifUQ0li2buF1Avygt2f/rv/b//////////SHJBdrP9yDyAAAAACj+EHExywuFgQF0IjDQZNf5E+8CRIVqHjIyL2S8KBpXU7MLC1nOEYMxvbi7dwUETUKQe97KwlCPUqno7atQhMR9LRqomit/4Q4opt7f/0hwEv7vi8DfTZP9/1Kt/1fVr////////0i4GZTACIDIQ4P/7YMQDAA6ZcTlO4qdhpZfndZ60vEIhjSfFAAJARHQIHBNMO/pMnBzIUK0G8C7Lw2dMF9Wy5M/kBqvlG4m7joAFAYDXiVE0GIzl0wJwWYOwum5QFJE9OrFrUg3/WF6RPn2//QMyHF5upJkDIPubf7/qX17f/////////VuiMcO4M+izpGAAECATFXAoK0gQ0hjZ3LSGTeZfUCbKh+YMAMBACMBQpS1hIUBt52ANacfKRmC4DRdnkNWJksqZKjI5WOlqOBvjMFxUgwn55MvzUqHP/8HkMreyf/rrHwZPooY1h6N29Xr///////rnRioYAAIQAsecCnM8DI9j80uTmo3VXj7IUP/7UMQLgU0QuzuscaXhlhdndd00/FhYFgAVBiSgVsgiCDbM5e6S6xAw1ooTALtxdMYz8WftYITMaBzuaEw8XWMZ+kQjf/ng/h5bzpb/1LH4njDDsfnTV0xVC8H/s6qv//////MuIpjAIEyxggIggBJE0UA4lAMlEYwg04xtFgdFo/g4bA8jUKbNAVecz2RLspVfoW/RVPnQi3JqW2pYohMyM+gP+ThhjZZiF1Cnf+pwGqEZvZL/6ZQEnET9GtExd/kFLf//////S9W5KnAABBD/+2DEAgAM2Kk5ruoH4XmXZ3WeNLwJ0lwKYBh2NAKQgCYGAoXLMEgqM858NtBEM2LMCBADARgF1igt32ywxB92ZEkE40OZi0uQlH+jwd25ZxeiC5iLEkOIix/5QFaAtI/8U8SU9//+gTJr8P9Jb67//////9DytCTwAAxwM5rwKQpTZrkHgusYzETXeFPUBkiDas4jEyT1Khg+bYJqkxmC/fuS0uJqnXKZjFzzXsmc3D0VEoLQmGJfN1eSRt/1glQnLf//WkXzf68zBGPxv3//////3dqUVXQCBTgF7ZwAYeS10cGErcqhCpLCvdmNw2igKCQABgLNAY4XWeRs8Rfa3XSo07X/+0DEFwBLpL83rXWl4XOXZz3dQPQPMCZ4xIyADWU7qqj+FwRFoTD0rFt6YXgLuh/nQJqF8+3/9IchH9J8QhKmnZEdVRKAAAMkANtAaFUBlmDAkFS/hgWD5llEJsSG5lAhcAwaVKmEJLw6v+vA0OQwAALNKlM157VonlRT3Kqc4LCUVlIxMhlSv6hLBpf9YdUNIPe3/9Mmjb76Q7+zSu4VlBAABQwFF9QEQ0wYEGgbISZPeY12m//7UMQKgAzAvy+s9aXhew9mdexU7A+JDQMHgwABACDmQgqxIt6xZuLjNcptEwDWpfIrD0F7jMgQ2a018hIjQMGS4cZ8/GOUfUCWNm/4+hlPf+30X/oo3UMMbs/sci4d//////0aqFgABRQJaPqGMgVOMYBQE4FBKIADwaCYYKiKBiHg6BY64zY8v2rokRcZHE5reQ8jT/WYCgMOJA0KFiLMZaxRikVh3mCJOnlNxFDv/nA30n/+m3TFI3UxXuT/////1MUtWAAEGAKvFAZjVaj/+1DEBYAMXH8xrXtkIYiPZfXdnPwhk05hIwFFmQmGGKi0ZCgQhko2YOBmLHAGDmToZt66FiQV8iIasUd7NkynRxAbewwx+C61aEXs/zvZc/8Ylcx///8+/vbHIh1f6v/VyZtVP//////fFXsUoAAMKAo+JAjC8JlylADBwmBwDgIYDVk8j8AGjPwkEiYUdBGJM/CgS0+PrndWrmYkBz0arQtniU5yYRKrNNY1JWaTL2iTQdEdWzjgKHeo04RgwO/1O/7qyK5v2Zuij////+94//tQxACACmx7M6z1ZeFlDGV17OzkAAcYBWjigKII4mekcC5bY0LTMHRzkYTxIJknzAUPi2DqigGT0Ia5A9XRgCB0smasAuO2QHFrDvaspjYEGk9j4KR8/9Maf/k7XCpNd//d2//7YuGAAEKAn8GAA4DtpIXAcHAKyACgQhJmA47WIA2TGuMwAXnIwCYA0RCYhb8JkVZhope9Lj9dqIqyk5tPXq9TNuimcCNCgeT6rQzzeeEXmbMufOV/63f6/qLYoggABBQAva0AgCZ2AAhhxv/7YMQHgA18gSmte2QhkZBltZ7ohJlihw+ZjNMLmiOFua4ZGOEBksmYsJsdCqe7LE4xM6hZggoi2zlgT8PWqgNokpv1amXSIii0ahnX97R43OxV/5+PyP7su+9//nMP5OYGf299u+5HdJbP0N////9j1mAACBgAcaAEingIMNDOh4U8yjW5ND/kBgGECxQY+jBNwhowUCmavDKq7sGHFLhb+GZqVs/D58i597B0UwLrySnn8nrle9a12f3/858ry53VcufO6rO/0bYqxqjn7//////1+KJqUAAGFAB/9AYQBrWgQA4BApBCYCh4Y9bgbRi0DgWVGNKXzXcQuO4yNTqM/mVFZP/7QMQXAAvwgzOu5Sfhm5MmNa9khG1iJtYjroBMl/v6xvMF3Va3r4k+k25n2v54mPf/iMADdp+UB/+5LX++n//////3/UIVQAAxgGb+IALM3wCqMwzAZGmAnGDahsYfAPBkolkzSQEhnXMEtPF35XnjMAhSD1gWXMxiTpg+e/z85dpq7vwfLtY0sQuU0xRzl2X7/8eav///Qtay/n/uG3fv8/8iIDb0peO//dclNVQABBQtdxgA//tgxAQAC8ibNa5lqeGUE2X1nuiE0uwhWEBRHMwgCDXN2P2BwBC8s+DMi+zhgw1m7KIDj2eyIOEMmtxi1EAiy//3tyVrmEDQmB6SxXcSAH8NRwibhHGUtP/JofzykmxHhdvUeJQW/+HeiqNWAAFEAS98ABojLFNE43nS1RuRmgdfnXAgk0oqgzAzhEGfICKF/LtgV1Ks2YYnD7iSO/Mw+acDa/8u4OLWpJumrxOVQDLZztaXQvGZ7////+rqxLedXn6iLu8//9n0m+gdYxn6JJUMAAYIAGfQBP7MjoAhAAuQgFCIE0wH0lzC8B9FDE1DTAHhFaTNERhZU2kJuzwJai0twvzb//swxBoAC/ybL69k5+FkDmY13KT0+HEFj3Ovakjr0j5ESTxwWmqJoikqPxuT6DZ//qEIFR/+t+vbX//////+niowAAYgAb/sCX9TmAwMGDobiAADBMLzLDIzccWTcOAAhl3lyXlHJaGAMLOcpKg8CuXLakfiYCrnvxbtMeNup9p4+seWdrFzvlVTb/+v/SqzSlFf/V////+7HjgQ//tQxAEACfh1O+zwxeFlkCZ13Cz0AAY3BScDgWB5cEIBI7HCI4zcMCuaiwEXIVQqxmPKCPcxWLX/qwRA9qJ1qXBBT/16LpwtJnF5RIiQ5BMapD8oUYuIHf//9HT//////r+k4AgQcBPD0Bt/DRgMCIBCxBCAQsMbLeNQRKMg1rGS6Y7/AlUCNxjU39MyS5HpO/7cKcDLw/SbVhAJF1VSI7qq3QO5nLflYdx78M1oZ/+vrFe7//////d/IoVVJQAQBggCZwKAHEdgCgaYBBEXnP/7QMQJgAoEfzPu4OfhV4xmNZ7khAgaGLOCGagoHGZbMyMUGa+Q3hlunJB9OED0uiH2ROHSFtP//6+Da3JY5zD42J4UCcUjr/+oPSK///x2rVYsQAKMG3wLAgyN7Qy83AEIzmQM70EOGgKOEELhiDoZChsHAMfay4cOZyg0Ap1yMHuwlxbPn/Bcw1Rg9Z+b1ehmH7y//naeo/P////0DRQnRd//////6SABMAHAQARCXaAgYwwR//tQxAcADDhzJU37RCGFjmU1v2SEMHGjNIUxnWHTOKCzNmGFQ5o+RgCw8FMvASAZNYry1/jlxYHnZ2dj7XDKGp79wTFr7BoZtRKW07Yoa//+gfD7m6Tnbrz9r3f/+v5B1///////ZqUoQAAUMATisAjQu8YWIDAT0QEBhcCYTS6ZiahVm1IZhRywiQKcJg3rdaK0GT9bibmlK51Sdxi4BNvfuru4qyxI6We5AHf//gJSp+Mt0kNX8q3f/+qKb9MwhTE//////fo9NSoQAAUYJv/7YMQCgAvIZSms90QhlBAk9a9ohLiNArohZrBHWSCnD7VNrnZPRwzOMUMQUMDvCxdsAsVVqj7nwLxnhYa0jbO5ZfGTBQN39ynSqClMcfaei+EBSL//7tFO3Szlf//q+vpK3ua5f9///+36nvk7AgABBwKeA0AHG3KQEmBJGGLmh6GKIpkZX4SxoAZaoylMdGobAU9BTNXwi9A+5m10iXnC3GZZFxCJ5//jQK1RqKPrH4KfbWrHP3HPu/jz/w3/6uw/b2j//7FnOuL2enx////t/opqDAAEGEk4oAFLEBGHABYAlTHajDdT+MTAJY9/Moz5otsvcqpdWNvXWzqHiM7Kpm5yyP/7QMQYgAv0gymtewQhbI/l9Z40tMCv/+4kwNSqH1exikxlcCz2f/tsEoln59+gnP//zTQk+7v/T6xv////////0t9xqACw4V34kCKxYoGDkWBMeE2G400faAQCHYXAIiGQqAF9oqtuyC3OY1gwHX2Qw1DtQ2DH+KBiXzI0KRPE4JZLUH4YA9NTJio186Iqr+r/+1i7qKEKVo/////orjQEDxhP/+AEy6GQKEYiqNwArMfaNNQg//tAxAuACxx/L6z15KFtj+V13DzM7MEwCUpAIMLAE1BxRi7oGNioNWKhTPbNCo/8TaQPXJXqujwyR03z/zONpjkdu3HOf/21QzL/N7r3PfPf///////UIAAEMDrxmAUoo6IgEAoNiICDAMSTHjrTOsaTZAtob3oqkMK4+nKmdroS9jIbH+Jxp/HrrZasU6vgq5wOCJfG5EQUs8j/FJZ//8PNM/2rViwun9Xb//////9ZCmoMAAX/+2DEAYAM2IEnrunmoWWQJXWetLQYPfiNAQPFy/AYD4QABhOCpqQwZ3aE5thhgBwFtjA99CqD2pU454axgOKjio6swUW/mbZsjmYDUTTKvIcmViZndsKeA4OMk7IgbT//8R9owz//I5BVQQEg/CS6EWVnP////qakYAg48KbiwAsTh4zhTfeLgmbMZbWMbmiEHBygUYABeXnXUtRvoZd6zhwkAOjb/GzNHww9VAEQ6QDNGajLqMz6w2wdrUzI1v6x6nrf/VdY7RYWX///////ruTVFxAgGAg98B9Q2+miqeMTIdxiwLx4YZBkFQLQ3REb5BFVRGrT7GhpTOrsb+KJ1v53ksj/+zDEGQAKZGMz7PXkoUCM5n2ePJRzwXNVV2ozygx4PypViCx7//rZz79NzxSSpvR//////vebkBAcBBX0D2htu/hihmg0XDNCQzPeDowcMOgsCgMKBZgRCwUb09Gs7vkNvb6fELZQ//5uE9HNtn7Gu1XeuP1+PNzf//9tH/XR6P/////qxZU1AB4YTb/SBMugUiGEpR4o8CTMNGz/+1DECoALRG0trPWFYYqOJHWvaIQGRocG5fchDpBAqqiKs+dr0nMgoAl8QDrVVAemZmAhjwUlC9EOkBgaOxedEkM0SiVkYn/+jVJ2/6bi3TsSj////25qhYsGAAGIAlw0QE+31C4owR0ClDJczDvZVMrAKMzI5MUz8wzARPEdPPwyKzl+AOTrcc6do5dRpk8/uFyS49hExUxyeflSz+6R+pm3+XbtHt//6fqbFrxXJv5/////wCzFcMC1FrkMAAMUBrgIAF2nrEQgEoRAWMHv//tAxAmAC2hxJa17JCFgjOX9jjC8MHxhUxhwsTeiMgQ54w61KAMHUJbeBJflNmAuveMP/QW7C+u/jhzBvPncNVK79btam72db///+1///+lHT//////Sq5FtT16awUAAAcJNucewKB7aChrCmAbWmpNmfpEZhYAFuAaMUMaQcAc/AMnq7kg4CLiuXSfWHr6aOsOdQcgI1Hc3prJrWeyFY7DHnP//WZca0M+67XV/////dFE2uQr/+2DEAAAMkIEnrunnIWYP5fXcLPwIAAQUBLiMAuNIk6QUAQOAUwnB40qn49bDwesCAMCNIjGqmAghXywkjpqj+mXCsVDqUrat1JFv3vV8HtjtH3GPTbFp/bopln//hNsf/wFZEwT//rt0jKSkRf/////6Rj1Lru2Y5UAgYdNvgUBJjvEIgHCoKJKiELDDjADNUSgoVj5gKle7yIUCMhZxJPmwEGD34fdzZ62wHL9Xr02mhKr1k1Jw6+lVkjplX/IDH/IDtZX//8U5BSmf/////6vpOAIHGYL40YSsUcAIMmBgXF9zAAMjHnLDVgTjzcyjNGEUmvirYdZY09lm5QVeSxlbm17/+0DEGQALrIMtruFnoY+PpTWetLRTtSr/rUqwDJasglat/204W//I6a/KwRHyr/u17W/rU8g6vT9n///+/RQtYgAAYaAX1bBWfIBJM0gBoM4iDRVIjvQGjC8BwCBYWFwVAhrYYAKhbDJmPU0AmBITtdeazT0haCOvZ0y8FXY1c46J5M3n5Ob836yaEWDhztdPfQ97d78UdrqG1ladv///38JU4ypUAAYdoPjWBF6nJC4DEdL4yf/7UMQIgAv4fy+sdaXhTQ/mdZ6srJMj4/NmArGgKUdBoSJUQcSgZYaPBEO4XA4EIPtuvIr+Cw1/XVmRPCRKHmxyooLSzEnFB/Ky3qJoTM8Inf9A5wyun2RcNi3ej93///17raHwABhWUuPqGnG8I4kOzqoEsJUmcKhygIcREtjj2p1vkwKBafWZfKyCCe2LgGzuroOIHt9FFMPUoehl/+e/5BAsX//9917Ha7G6uu7////TYPmGFliABhm0uPYGhE65iCG6+WUNO8yaiM2hDUz/+1DEDIAMZH8vrPVloXMP5TXdLOQUAItQBQpRNkAiAuB29d2BsI+DABruNC39hCoDWtKJsCQAyNhpZgxAQ0Zo2RyZX3//wO5dX/Uu040ZStOV3rRXdr9n///VJPQrz4YAAgLAHAbBb+LJIhgHIGmEIEGkzNHaoKB1QLCBSqOi2BAw4yZ3ZdDtO/6QzfHTZaTQPNnE0WkEE9ZsnCCVPMvg1WvmPqv5N7b//+jplO4tFTqx93////U7i8z/NRQABRIAuAwCme6QgJmHkChMwuYw//tQxAoADMR/J617BCGZj+U9r2SEmFFDF9CKBE1vnr4QNXwk5bkSZzKtSks45rTrV7CSMKv6mOYW2PWLOdi5QU83zCUfQ2Ofu9h/d//+tCjF///um8stK3f/////rQo0lN5NevxRlIIAAAKEKU+K2CveMBcKYg4BRJkpxhkoCGOcDscrJijmlcXeXWFHXbcRr8gpK5I7FmCl+L0BOWijW0/WNR6ZJ3eNjUEPNrmX7msb0zauzf97//cjVpX/+v0uY2xGtGjT////+hfN/tVZAP/7UMQBAAp4azGuZWchYg/lvdwo/AUZmPj0Bp5SEiC5MMCgFjRVNci0pmgdOjeQUJ2VRABIm03lUoRGReEBRSqqJtru2nVLJxsgO+y6vlGltB11Yf/6+ndZ3oEUsj/////7GUUOZFQQAIAMIZlcaAJp0RC4BBYGRCAQMDsyF1U0YFk00VhNMFbGgl+mzNvjfymjVO8y+XSPKClaMe1cblOyez27EM3zSzWMlC3oAYXF//yS/j302f/////2/XaGVRAABA6pOKwAnFAYAAQMBMD/+1DECAIMiIMnr2WHIXAP5PXdFPykAAKGBCDWYgyU5j+hHnZAZBxs9hQVcAo/XaJer4UZ1mSMmWmNmC051hrA0fqUSmydYZL/nIFlljTfbFkzMAD8lr/7YbamBHdhqv//////8Zo/d8WDGqc9jADrxYiB0HCMPAiBhuNnEsPAQEAXQEECxhICrSgYKZsyHmOcdDpMOutB1rDNyeap/2+qrM7IeHMPFN3FmEWKIv/UARxX+/t7O2xaVu//////6rVbeilXxdUMAAUWOPipAtbe//tQxAUAC2hxJ69hhyGlkCS17SzkIRADiEBYcAVBoNhg1J6GJ6EcIIpZHyqc6vlTQJEoClNmgE103u7mn0ufA6XgOsj/9G5gZsvvlWb0hpOv//qrrtSZvq+5X/f///T/3Wz7/r07ggABRaXOIkAx99C2ZgCAHGACAaYFQLhikokGSsEAbVCY0mZiQBRCm4oHmXlkriVpKBiFKYGbpkDpcs3pIOoE5RfIi2leeIMtQh12qZ/wmO8/KP6/t5z1VVp6HDThr///6fF+8ml+SZ6xOv/7UMQAAAyAgyOs9eVhWA/mPdeeHAgAAxaq+AgAPBOqhEJIhyR7Pm0cInuALg4hwSCYqOBVBZgLOHngq3LP0FQDsKpCI+XguU8f+jeooDg4Ujj6XeW3MsFIuLl/qBi3//BYJuWX///F1zR1//////9vUuF/oRmWqWoWAAAYV53vHsDaFKSqAgiBtRYUCMwbjMx2DNZTyF2n4c1kViD52H7FOSAFPxcYzIKTN73jPRGICVpBgOkt5bUC9+yN6DZ1f/anv20bKtXX////+pl1CBD/+1DEAIAMJG0nrXckIVsNZXWOvJwABRdvfakDC5WDARiS4MDGTimbHCm8Y0nAkYAho5lnWaLvg534pX+swXCL87vFTnGc+ll7CEUW6w7ORukcORcq0v++M/IvuTPCv/sps+c/3baL/////6sAqaTEAt7u03QKAAsN5+Bowm/niYhGNWgPMZnEETgkEBoXkKoboutyQZiyN9McpvJfGXAhEbOMV2JeGq4kCp8tFK31zNOda8J8///XvHrJr3p9o5/a+3ar///6qbLSqjE0BhYb//tAxAIACbBjLa7h5qFOjOU13DzM/4AQBNDiReUEggkaBQiMXqUNDQ6PiUegBFMdWJDCLF1WnnsOmeHbX2S/f8KMJyMjuU0aDYmjn3muuVs7////xq160/////+3uqEAANGs3ArAKr44MgKFgUGQFBAfGIvjGiQzGtpcc2ML9DPOpZRDlj8BycZ47HqQtmv/4oqXiomht8AvHxCruDJPc///+/6G+WT//////8exYp/1xqoIAAT/+2DEAYAMTG8nrumHoXAOZLWerKwbXXgNAqvhxTcHAAW3MGggM8ZGO1hCNaPAIkwVILgmtodZflQ91VBgmRxiR3t7Uf5IPnA0BMRyKcvqB6KudkcQoKh/rl/Vv///6Foetptjej9f///op3sSosaJmPXr8cIAAKIwl7EgCgeMhCQRaDgjmXNIaXPTgxGhbEIDg0ZAoBTWUeHvpIVDmFAWAQtE1SXKilqM9BBFenp0hf8mB8/CzLlf/+dX62f3/uesnss////rsuUbcF9ViN/DNVQABR9HONGEJLOyISBFCOgBTMxN3k0EFkvM9pgOBSFDmoIoQqmVmtxC1k4nsZhdkh+ZM0f/+zDEGgAKxGMrrPXk4Y4QpTXcIPzEvgT7jeqovjXgsTMNCVn//tUSKts0N6f+v////ZFoVQcIigADDaW/BsFOKPgQEACEoiAYwFD8x09U1tGc3OLIG34kFsxe97VY4Yle6cvbC3Ut3ZuULutXKXKs3dH6GLAsKQEkSTNHCgK0Fb4KRPyz75Lf8//6MxtdY+2rof/////F62f/Wgj/+2DEAIAMxIclrunnIaGQ5XXcpPwABhkGuIgApzL01AgCwgCDCsGTTR/z2sNTdDjBEDA6xAJggKCWPMBZPTzMMCh6GFzIlExpxi/ObZHhSbPuuClmhwu9kf1ix6S5L40f9hP7WNF8d/3fXxv3//////9/xpHnN+tZRBpBAw/bfGjCWu/RckwLAIvCYMhMZVRkcHhYLeoeAzVAW1oUCh5q3ampaBSYq6Uhmo3Nsqpv7ykgpmecg2lprjnx8xC3vlJKwqZ/6gAd8kUv8vWikWR7LAggKivR////X023VAQkkX/+uicAMBcHhScCgNWuJCI0L2KJkLxgRLhiWGQqC6fZfli79MT/+0DEEQAKeIEx7PVloYSP5f3cJPyexZMkiuup4yNxbERyIEAV2qotYbNfddnZnom0dpb9VI0r0hYvLf//0XJ7P//////3pFxAQBghkpwLA2pxACgaYMBIXnMCAoMaYwNNg0OaS2YEsmM75UDNrAOPLOVAqKcdV5IzSXWDf93Cpi0zGvlZT097lyNVf5ObgKGf7SLS//+q+tLEFperfTs////vTzB2Jyk1MBAYCYqkH1DYtArHh//7UMQHAAqsfzPuPMthaA+mPZ4srICEQDHiIUNsXTAYH0qyQMKdMY4D7Tr9etDBwwScHO3S8ksXd7Oa4H6qIW3ziW7zxxaa2uNYPX/5///2eV1zgmX3+j/////9RQQGAwDKlKPaG51KaaBoXiEAxszLPnODCUFCZPUKgxiD5CMCQIy+XRvdxEC+PhtOqP9q3NwDaR23sTmF65MS9Aqh1nHX/JoXP//uuTbo9he+oR+iv////0xt6jQABgayuLGCkE2MQAkDQvFAGCojmHH6mUb/+0DEDIAL7IUpruFnIWgQZj2ONLQ1mZyAA3jTxaCCUt6sNAkMdoEA8UN3xqB8tzXmgtAKuqO4j6750Uz1zX9f8EpwrA5/6utFEYkYRuXEiLdLfp////5fYv/9ZuQCAwapJOPaIs6Rgah5aXIPPzP01OlhUBCwtwFwyvGIJCwexGCKC5JWsTMtq5XpY9J3F0EYJ5ePFwlxwkKyVE2Ln/9jEerv/faR/ravf1jP///+hN9I0k9NFf/7UMQAAAsUXzHs8eShf44ktewk5DcwIAcViNAe0Rp79Aok1QgUCccxn6iHQQcTDBDgIgustPA9IQd6HNPah47W5ongmW5UpSRqJK4ST6zDjR618hwz//2M0ztvxvvY9Zqzt///9bLBthVAuAC4QAAoiafASBYm8RUADHAEhwBcZBqMChS4wZwnAbcvWD8o1rjAqW1Z4/c9Wfcp9VMmweLxDXSglIQD1KSVaQ+W9NdskzzXLI3////uuzCrx7qS/f///t77L6AqbFP0+pzlFAD/+1DEAQALtGkpruUnIXWNZTWOpLQHFKU+zYSn5QYFgKYIBIWzMFgwM56yN9hMOU8AjmFwOhNfLkvesCyukr1B7zxOsTkvZh+tMsQG2I6kHoagxzKrbVOkXf4q5nJ1gJ1OnaT+16cbV////u0rbLM/caAAKLS9xYwUIndBSj4ku0fOmi8FnEAWkQdjIAhcOiQBn5IQOyXNTV6WCgUGdZoFHnkXZxOoTocQxqsIvFVzRKE0DKqFm///ra9XSBYCQ0zCDar3df///X7L7zFLahgA//tgxAEAC8xxJ69hJyGFjmS1nuiEBA20uK0CkFAJYAoIQVyoAgOgzmAGk6YFQQoWkgMJ1Qct0tu2Z23sjXXpMxK5h8Lx7XWhEQAZlOeRCz/krmH4/YXsX//8Z2DulRBgDXGvFq9RL////pcpbJC/sb3iAACi9J8RIFZ7/mEAcLJjAHbqa/WadHiSbgsYYkYmeIhrkFyZFB8ajO44Oh8rEs3ybhWO6blmgaH3t3Ddy3+WFT5uT5fn+7Nrv//0F7qEZ4cgnR9vq///84iX2mKG9mMXrRAABRnN8IkCme7wCCmRKAQGaGMaMaMcsiMLCKQAEYBCGSgSsYlAKmLC8Y+/AF0dDGWl//swxBkADIBrJa115OFTjGT13Czk67/rB3DNKigZYtVIV2a475lOdZw+2Mf//f61dy60m4Qp4q9Un////Gbi6RcSr/X0HRcUAAUVLcCtgqFwQMguCA0FQLBgmGMfuGKg2GV5b8FkXUxd45NT3+/eQV5VX/8xEEZ5y5s3GT374Fwg3f/9Hro9BQDdOJ12Hd6H////6ZIXNgpr/TtU//tAxAAACbhjK+zxJWEuDGV1zCzUFCAAFiaJ+BYAkWoETrDBAMGdCxrWaHgAsBhWXvCgkRCdtuNPAF/HCsgdfuv//1XSSTVZPaYAd5C/jHA4Ov///6LPaguQkf////+3r8+8wgA4bT8exhIE4ymMWxQDGDhOaJ650gRjymqhXSyHdbBbPMX5CO6f/4jkOm6/BsC5ckem8lE7/9EaQ/imEVWqxXTYl/////0W2ajyaiYQMTg4X8D/+0DEA4BJdFUv7mDnISuK5b2eNKQewNV0lJQEIQum4IxWYC/JiUVmKQOALDc1ji7oQ739/Jf9o1P0KwPEgdCYK3CoPHf//69Vq9FT0bqGr93///7+9OZSVLkxAAE5Q+4HUKl4KEMkktoa85nyanPQuCggl4FwytF/GR3n/mKesJ4ykX+o2c4KBkgp1lwWv//2//IZgmxRptSep/L///7NPfcSUVosgA0b/gCtgoE3+YKGCL4nmv/7QMQIgAqMVyesceShRIrlNdw03BsLlH7Q4RChLQLDNBGaRcVpojTfI3913rMjuL/+Rgu8YsMefSSK3///0KoCt7D/ptm2WWb3mWXN///6uZxpeG/02WUGgMCj+8AWMJX8cIQHGQMR1EYXGF2EGPYlCnxoYOSl28zcNRHOxcEkm6tQc3QQksEMdN2QmRt///0o8MrFWyi6WKdA2XijF////3umQ6PSwwFaFQAANgaPgBZAlvzB//tQxAYACfRPK+7hZqF4jKR13STkc8wABRNMABAYpzIaeB4ZQpDgCigysbK4qIza5APak29UA7zAxxDAkWH4d1f///juirdvQ1rYx7HMUza3///R7FDTOLhEACCx/ixEBQqEsHQgCAXMNASNE0KPUAQNiJAI0GZB0U3dYGL0kRpMdqhk5HLDHCMPT58PnPJjCN//8C4rb/7upOm1jNaUvVLzn42nu///rPdrRdpJCx45vk05asayNAANP83A0YScUtQDG5aYxmqZMymbwBaPAv/7UMQMgAu0YymsdeShdw3lfZ68jMtsGhYhIOEIRPCd18AIU4I6a+lyKXN/qNK3QKIyPmib/pfC7Oxo0///P1NIsTpHEmrKPHbzjADVcaWj///676xd0SHfUKAAgCg0WcbSBrOgFMosEpPEE5gPf5iUI5AAysACsE4ahBk0fbhbORH6xIeMwBGM/FswBeuTJAhRLvv7z4ij9fLd7tiU/+n5um5EVtMrI9R6dpOS1n///3Q3SRtBIjUWABAGKHlo+sDc+nCwjP1OQA1MXInNNQv/+1DEDAAMEG0t7HcEIW4NJPXdGPxOSC2AFqoLFFl2X7sTP3E4IPZJG5qmijN//efbTN6fPmtfKr2dftuYnKW3zO1/+/3Y4peXLxcaLOf02b0///+6MZZSZFxOgDHAwABBbVPa0C1OXpwEwDpmDQXmcAlnSICgaIFAQzLGAcBLteackWGFQLhn4e6tbxzaZh+92oBaNIrXQmF3TmICkkeWtH/j6aCSU5BptSya96Q4r3/////1sNVtmBYQEAYIeO8aMJqcSMQM00EMTNqMeJKN//tQxAuATDhtK+z15WFujmU13Bj8dwsDgVYUDAfS/d5NytZeiRZUIyBNsfGWxGqkQNhzGdXbAgslLv/d/JnvIJ7McLy6kADv/7XDEHrkOJG0526LaO7////Yg0RqcKCEQAg4aFH5m9AOgCIgOIQBGA2MBdyMJBcBLUB4tRJpqbB3lbC51JysYBQq1JKGY6/H7peapmp282RrEWd2dIKf99YZ/6NT//SrLlFaE6Iuj///2/WLGoRqEpj/sSpYgAMe1vixhExbuGGKa0gFBNjQyf/7UMQKAAxccSms9yQhfI4ldcyk/PmQ3cDw1xy1YAuLvP+MAxd4MamvGinschzaOzVaf36W7TtFQYlcvpKnNyHndaz5Fu1v5VuSF///2XTNYlmXI3fqMf///O98u5bSCT/+6taqAAw2UnGkCJgVFVXBwVIgEYkApq9lgPuiU6R5DcmRKU0JO+7802qoIDl8Uq2K+msYz0/+fs1ncHssFBKigytEiHmnrZlMv//TexQq+2Od6QVfxZ+7Qv///pqzJJzUGDQCBhbGuK2ENGf0QkP/+1DEBoALtGEprHcCYVUMZj2ePJQl0QgIGpjTj5qAJZhAxEx2TAc1BM5j3QJT8pxCier0ERmaGDalNcw2yJd9/lbWdz+9/eNY0Fmmn//2+ojyCfVcVU72///+hemF5tQCgoz6v3HAAQBAk0lA+oiLUlEShl5rwEK5ibymiRSYGBRbQuG11oF3ioJDa+owYk//q73nVIcMr42a402TVtbxWyQcKhj//XVvuZuF9JT+9Hd///5p9MWSNeshMQAHG8T4rYShcXQGAIEwgFDDUIzN//tAxAqACzhxKa7kx+FojmU1nqy8pHzhMETcACgAX3GAYgsx7m1iE99dT8XpLUu7DViQ/cysM9YlUsyqxE/+rP3bjYZD//kMU/sYy30Xdbv///6ZPaLOb/QkUAAYfRvixhL/jQGNMthE0yaDLihjaUPBIEVHgIFKIbXkEUsePsz+i3mEriFupbZrZp6dJ4ihoSJlZq4+y93ZieqNZ8Lf/+ntrtVsINTXavdSKf//+nvzNR00OAD/+2DEAQALEG8x7uDHoZsOJHWepKwwFwh3Nx9RECcFDIMhQMltigPGBsBGHAXGeoKGhpA0Dp34yqX2eeoH720sY7cheWs/paLruIFvVUvoUf1Yl3f/6FUKYh7mMXE0CZG5f///9cZTbvwqsVDAAFFgL4iIBQE/AYGawgCPPK415jQ7iDAw9BMwHBEAC4Sgc4YYADfrog2NVoNCwIcD5VQlwTZ7rTp/yjvmpGqeqTq7T8ZSd//uQos1q9l2sZF2k5C/Rt///9u0XJsfZQtSJgKiz2oqEAAEFznwjQJMJ/TCo0VBIBGDAgmivBm/gug4KlkmA4aDADL1BoBQc38Vt7ggGATOFdf/+zDEGQCM9G0lrHWDoTYMpf2enLR/VW9Na1Kappyi+plO1yI6FkCBm0XBr//8XS5Jjc1zkNDnXroo///9YsLmSbSrTIfV+ttMaKCwAAA4QAtDaFNhQgGwpaA2MxGjMxxDUs4qQs27MHL7syqkl++rG7GL97v6FSxhaY6lvQAYVlv///6mUCiyKlMV7RsV1f//+2fkiqIKC9UQAA//+1DEAYALSGcnrHTlYUuMpLXcLOQ228CtgtSixMEfGPAD7mkA3nB4BgISAYAQyHIoA74L0gZVVwpPlVQhxYi7ep5ygNEsMuaqAj8SAKDH//6TsMvcyZWo1HsYKuEumqhDP//+qvroehCf9OODAAEV8/AiQK44CR1CoDBYBzAUSDH7cjWkWAMViRo+stkzMq16RWOSoSHRtj/9FDgf3v4VB4738AsFhL//6bhWwsj+1O7Rd////8zvvbE799OK9KoMAAMSKcSIgJdwAFQATAEA//tAxAgADHxlIa9lRyEnDGW9jjSkWBICJgIAqGGeigYvAQBvtmKOa0QJAXuz2lpO462qT3/oQ5IaPrHgwKehUKYBgQ3/+EVHrr3AktmRYyFcbvkko4z///TUnLPPsUNYe2EWXnRxw0OaKkAgro838DSRtDsL/EgJRj8DQIYGygECdG8cCy2lU2sw/AVWUUgMun/MktFzxVWIYc79ZImv//9130MmvdGN/yX//9O02TrsnE0Qgg7/+0DEAYAJEFcrrPFFITgKpPXcNNxYXgDUBt9SqZBQFI4ATmU/2bUE5fJ2QqCGkPy8X5UtqoOHv/6E5o1zR+EX///oiwreI6VuTLihRv////4ptm5Bp4XLvDaBACFRR+AK2is6hTcFQJQYCoXmKFmmZommyBZgynYKtxtoQ92N/Gl3/9yWHGStlDFCG///3fItkunsaLD4Vy1KXnG9v//u5p+5P+q2pdD1LAAVAH4ArYKWc2ywu//7QMQGgAlcVSescaUhSDLlNY4opGnQaymqoWfVB4GFBdQLi9N12FU/tzVPiy//OiUE0lq0g7n////d4S6kFnovvEbSBGvG0f///sfZKNZ/ZtsaKAA8APgNY2l/0yA0HCYiZVGgt0dxCxQCV8CIPpfrGaZAz+08pwxf/5UetSpYIf/////1r/7Xp9T++zG6smt/727//6f////+2Y+q+y5EFCjfNhAABBAPwIkAnHGhgKMnBwOQ//tAxAiCCmxlI616ZCFVjKR1nqisxDAiQiMG8HgEJw98BkIIjijC8NCIplq4pl///jPCq+TBBD3//1KU9VdiG5ix7htmuMJpb///+yx2FzQ9prqoMKWhYZgl4ESBRagACimAcFwTK6Mod0OAhYMGQPAIBmBgaFomns/s1t8wuq34nL/88xj0IDvgiAd///5D6AyUM0rRdepdjFWf//u4BsrbFByA4/3ssaGwEGIMgASUfwCNAkT/+1DEBIALTGMlrPXkoZ80ZX3HiXQU6p8OEEhzgIMxxyAaIAYOwqAIiEYsAAizlVbJPHhYDsS2ba///9JCfqM5SjjUP8fESn/hPn///+OeK2mWqOvMmL7N2z///6bWcTkixh7rd31kpAQA5tH/G0gZQCn9TSBADQDGDhSZr7Z1wPhwmVlC4YVIylRhmVN/IFI4b1/hD4/pTCNPNpPKCt5XZosUGPhwN////9PtX9KJr9s1b7+j9lavav/T////++n+jERLyUkRDIewNP/1RtUV//tQxACAC9RlKez15KFljKW9zDzMAAAFF4d4GjCRKlZIASsp+Fi0VvMwUEkvougmApPA+jKTSWVDvFQq9MKrU+l4Vxy8mfkvE80Zq1V9BguXgK09Kf//FaEYxrd7QY4fiq/l7P//9uoTLMjEzJAr/5d3STGAgUHD7UfSBpRSsuYYFB4IAxhkhmVtucXEpsEhICs1iowF3Uv7IdvsCsS2TyTm9n/v4t2wXOC8ng5u2YvCkkw0Pf/4VV5VDK/o1VylzEudV////3NMQnUcRjAQOf/7UMQCAAqwZzHsceShYw3mPcehbCmPsB9RCssDL8Ihq0E6zKAIK4yJAxVQqhFsamNVHGoxJv0CqdF67vXL5/87YRbtf61b3jxfHyqKz///rcEDGL0nU0kzTP1J7nf/+rp1Xw2L2LNzAwFwibOB9bFJ0xckEgxDEwOJjG1gNghIMCK+hEA2tq4sqN9mf5Hvzgj0loPvTvWZ8lbqiuzrVdGgUYIV3J3///MKpaLWn0iylq79jWdr///69oaFVOAKlRUAMDgHiXAe0Nocwn+SARj/+0DECAAK4Gkv7mGHIV2MJfWeMKxZAEDAP0MZCQxxLppqNSamrfAs27ev0tDoQdXXQKLcP++ghtR0s/VfPTEvLjvw+S//+Rk29vpIuc9Ch1Fk7X///2L1qvSC6l4ADx/bwPaIuKwBizQGMME7NDLMwOJBIIA6mYgCDDobYDPr4oYx/s3vFrkLqNzrGOJw+a1rI0/2bnzQqHCP/+WosLUNq6x1lhRX+sU///1uhpKxWYF2guqZgP/7YMQBAAypoyuuLFEhfY3lvY6wrA8bycDSBhwuZqJAYOEIOBxjAOmiX6eMAI8E1gx0RLIh1DhapnZpP9ftsPT4mADj0tUgWgMGSyJ1ibWO9YUjt77/////p5L66fr3qlHbMxC+9Jaeu1P//////9FbazJS73o2gM2AEAnKJn4/sDQudEhAIsraEWTCuHzI4MQaDiQJaZljQVYntV9OS/6ysVNGhb5wJEWbmUBjer0Pb3dp4VLkhYrWdKL/9NcVcMrFFsm6tSUTuzfYv///ZaYuFEjd7P//TUgwMAhJr/gfURRGJmAQZcIWCMvcxtdTTIZMKAwsoAfnK6KnbuRy3BIJVcMqnv/7MMQWgAtMbzHs8eRhWo2mPbeZZJsnsT/viif6g73nfc97co9Lv8Q/mb//p9ybRe5MGz692i1VSP///ZsMNDRQdQbIBgUFE38D62N9CmKjwuTCA8tCWYR+QGSAsCFUNaqkhgMx7n8u/IO2yB1Xvyvm/8mBVx2k4IQPOSSMM0q1///9bI1+8+xBpQcukrdRa/nP//6sdeLLliYAQP/7UMQBgAr4ay3u4Schcgwk9dws5CYImXgawNb8qEQDg0ElgQqDRihAhleEhymmEDBum2zQpz6an/axvBm6XJEjP/3yaxL67+8xYNtbSJ///Re7l2MCt0YTKDV6rSD0Xf//+xzWnHrUqF1AABhc5xq2CRAe8AyAYABQKgGYDB4ZK3kaTCccVlnzVhVZx00ZfGYnKeUgkHhectE2Na/1DkneWEkz/3ix//+96Wv5D9rDKXFH9q3r4c///5FD9Y1y2ud9ldqUZpU0ggwbbcCthEz/+1DEBIAMpaMnrPDloToI5PWuqKQcVKxQjEeCOQE4WvQfqQcVwqBx0YEoCdlBifj2XOTSWeUpvY5P+CgIjUbHOPEjfHQet//////95nPpRWrss1D9dlNU1tt6J6zL//////7/Ooipu583t2HW9C0+xCoDAow+AEaaEhTwjIoQISUEKQTCHJTJwVRUJBoDAEB0qai1eQyOQz0hAIGoqL/KAE6S7////6h1GnHUDdw/09VCx3/+pfVhyAhCKmv/ZOoUABWYfgDRhMWp0HDW1QAy//tAxAgAiZxVKaxxRWFBiqS1jjSs1NWbU4mKwEGEEgJCalLiJa9zqbtTCe+D/+UEEhOuMwi///2X2nCGuuI2NGpDGzG2bP///zIwk9r7F/+z0iAACoCtIqF0ySIQZOk2sNTV49CFCIOKGCIUpuv88E9IbmeFdgWP/xUJcmDiWnF0V///+bpPABCfh3PtPVo0VjO////eB7gou1LDT/Z3u5BD6kYwMUlZDcADYUeHji8UOyfpDEH/+zDECYAJGFUz7PClYTWKpbWeFKxIMYbBSd7bsFp2+mNRmLV8sGI+b/0F3DoW6FH/////b9SmNuXAwuldt3//q7gul2MUIiQGE7nWCLaBKB9YGUF1FN0JBas0IDKMUNZA4HAtQMRAJ0ldqP0uHeWb6V1//91cLeJjv//2fjkRdRkUVAR8iLC0tMJ0f///7mPsQExqQE7/9NVRgB3/+1DEAYALQaEnrjRQ4Wq0ZPWOqKxYfACRhCwWnVLkkQwFGKhSaDdYDQI8D19kIaUcYbDsX7Xs8xeXBD/ysNzQSWRRE/////////29GNom2iravXQ/eZfp//////+tpH72q9HCndEBf0WZzWkwBhScbgCthDxoio4VAqzDHzBuJzGQNx0DFYC+TTGgty5bxy5xi1ot/6jgsE5eVMCH///////1RlX/q52tr9X979a/7f//////07u6OedqhiMyMpyMRv6Zh39SLAAUVG4AiQJQ//tAxASACvBXI67hpqFANGU1zCjMDcpXIIQDQwAIRmO07mo4jmohdwx7TBZI0+QJnnTYOGj/4zhZGpLKQOhQEH///3VUTq1Kov9pePsSioX///qsWpiSKhgFFovTRyKr3VEBU0ABVgfAbNhKI2mgEwHbRGIMao+ixJCthDtjYlA65CWOZQPf/qAwKwoNoGA2/////5y/P60zmbr+ibdff/Tb3+tk///////TodX5n1cl/v66TAL/+0DEAQAKPFclrHTk4SEJZTXcCOQUNH4AjQJWeVNJUCVtMOjGqLDUELBIEWNAwF0i2XMslw6YiwDXb/0BeEoCSR6AuJf///HL4HPpl74u9RbEI2j///2eqGdIqq8j7MalRjSuKKgQGUCcAaMJEqPJ2igFKNlQFBDGRhcFhh+HLSQY++ck5jrljBYKp/+BAxTv///uhF72DXH/eyhqG1p2av///6LQq0FUnv/+5dUxgA2YbgCthP/7QMQEAAmkVSes8UVhXYqktZ68lItyxW8GAAUs3uDMPWO6CYDBNIcGBpTJ+2y3edqa2yOq3/lQ4Ik66j8n///q1YuW23V2DvXa193///7Kj+NYBQ0Am/f/zpSADuu3AoaBRinHPWaRDHIOZQjORgSHBOkeVA0T8KFAl7Ujm5vIwdJH3xr5ia//wpYGzDny8I9n/91H/7XjrEVoVUPYnez///txbDZckxJYpb76udUp8XU2MEAW//tQxAIACjhXLe5hZyFxjKT13DTkSJ+AFsERagFE4uShkYGGJi+4mzAmCxKqiMjXJC2LC5vHmlDpxerzEP9/7gNG8s9Ad3////upPSyAJjVbHI+3///Aca1J4mGgsNAoIJBRUhhU7//ithCQFTIgAAVBMgAIhDcKVWYiiSavAJgkdWhjin3McazR9uqr7U6EwEG+RQG4VJstMpn28zL74P//++IB7ajFpm5/apClGnpt///+aSLqmyGTf1r7NvUqLAIFN9/4rQRQAUPrERPSEP/7UMQIAAyIcSWu5adhi7Nk9caWTMBQZMkoTNvQpN4oABAWlHmKKP7l+F3lZOiepYvZ8yCt+gLEYM4QXH0jhPjRuLMcz64fSH//1NrdSh9SnB5VUsOONV2Gf/+r9YuKhTSxKVM6qdXyhBRghY/23ithIXy5qIsBh4KmMQUaMVgbmg4cF5CAVqpukwSBnkoI7vig0mafrfGEC+dB3Egw6oCgwP4WRtYWDf////9ntre//Tb3X7rzrT02s3//////7701TlksJR/oZf7rCVU2MFD/+1DEAYALIGMt7jxJoTwKZb3MLORFB6t/GsDQvfpPUGgQQAEwKNjGGcNZhYw0DUegFEuYpQOJWS1v8lDePLS6uFlx//gxItAeoT4UBdU///7KamKbJoa4VMdz9X///ZRZNtFgk4YwWK//6zYQMCgHnwAC0NGOUIvhQMKLiIOGE+cZaFBpeXHQcdZ5190uDf2f0zzRkvmJcBY//iIAiyKvQd////8Art5kCVoVixdpY6z///vvxc0txKs4UDA3F41AHtEJg5YWjMwoyxTy2NLz//tAxAsACohTL+ztpSF+CuR1jrycgPwGOgoJARgKdJ/2IwPKItnWI2x0+6zAWr+sPSCZezJ3//9VuYZdvvSbO6UKnpCtSLv//7No1NBtoNiqf/rLAADF24FjSJFp3UrggKVxumZqvmcPBGTBmjuFQ4QQPyi9q0W2IJiZQ53rI0Wmzn/g9xLK3TK68KN//+7VfmlroYBjpF1KhEO2C+pa3vYmt///61xVRMiXsJL/Vu2DzCUUAh3/+1DEAYALDE8lrPcEIZQMZHXctOTa3gWNAolUJKUVGSEAU3MG8lMdhNKqlQBkl6DQQdNbr32a7/KdQA2LXN7lEn5//pwXtpNavf//qWpDfoQNSvPRd7EKWixvR///+72ig4Ls0e+9ahVFZYABjn24ESRHgWhtIQAgOW4MDwnMtLNNtxJNwwCBGLahi0wvLJ7MgpdvSTFVUXrE8IJ7qIoNQyVO/UhjvEbKf//0fynsNOnkB+PLy1kw5g1VX+j0akayRgFw2hqqfGIjyC1pHsKK//tgxAAATSmTI660T2FqDKS1npysEAAGG23AjQKF8uHgBAQHJImD4FGgClHCIACQeIIBQOyQBXCTspll1NuoCoxEKGTiVb1Bd2peteFCJQOv/////r/LXTZuuStaE/nSXtyyXWn/////+/TT7u1aEBlg8kH3YZcoOoj1pVCCjAEDRrtxRoeAkOoqkQCjOBhdmxjeNQyC6B4OBWG2LLnvPpNUGGSfeQaDGh7+4lHmFp6N5w2Jf/6U7LMqkNTjR2WLmwu9bpgb////60Og0spDYfZX0URQmix4WhAABDt+AK0ClnSF2zMJAOcnGasJGvgWGC4ClwwQEiZSjJa5qm+O1j0VVrLj//swxBYACuhVJax15KFUCmU1nhistjd//yzQjJvmDtfQZW///6uObRWlBuEQ7fZ3dn///u7cPHYTKgI//xfZYlUhAZ7fAbSBDRUOrDA4VCUZ0Jo+znGg+UC5HcQhJbUVZl8PU9jume4XewUR///NgjmmhLv//1L6Ew/QwfA8gHzTXOba+5oGYj///9zIXPFVsKfo3ftqNAAQJ1eQ//tAxAMAiPg7Lexx5CEZhyX9jaycAPrAx4UfbAh+zwdeYky5gUPgmCEDreoA03SvcZ4sEXKzRbtzajE+7///6W6rWL6UdD5mx+l////5ez3ZkXIB3/+o1QBBXR4+oiJcvdxm6Ph/SaA8gs3DgRgA6Aui7DAZ4tXNYwZys55tD////+lFEXE7dwuIhMMWrrXoiiv//2r2zKWbyIuPEtVGQEBmeQAAH1sHgOBl2oAkVTCxYyq8BYf/+zDEDAAJxaMv7YBTYS+JZPWOHKQJDqqCZMBqbMgl2tf/FGb8fjPP7fQx+jOZdU1c9rusr1+pL9vL026dPt///7+1dqPuWqFdDMOKQwrMPwBYwmh1lZREhJcU8YD9Rh4SAkJlv0uJc51TkspdDjgGSJf/oIgkEz////9JV7hA+Q3HtSR69rBbU1v//+irS5AXFBcM//brUgAe8H7/+1DEAoEJ4EknrPGlIWE0ZPWOFKwAzYQ8FGGVluDJBPKgze4jhQQCAOpmIAcz523pr0l+oQVA76T/84LYd5n///zreYGr9MgMH5vUNDWy5H//56SzxYaPQ8eeDjv/6FSENwBowiJcZU5BAWJGJZlmMnAAiUCZRcVBzIHJiGcvu8p9sM//6AMBmL///////ejb529bkq/PopUtqZaMj7ta7/r/////6bfVKt6op6IlEIxYj3a1/4CVmYYewAAH1ohMF7qwSHFKYgGIFoZgAGod//swxAwAiO2XLa4AUWkMhWW1neCEGWN9Aj5Q1zeO8sWt//+v/uvcxdrNa/ZumarbMm+qp02f/////8i/+jIhjaiiqWQvMMa4D2iItRNQQs+lQYtJk36c2Hm4hcARhf1NRYeKa53t1yP///+pnzN12J+lu84In2JZn///+gT0AakOnwTMxD/+lVVQMHeAAAAe0Qms70CMnQJHspmQ//swxAoASCwrL+xvBCEfBWW9jmCEERw4dhSgqjg1ui0ZFQ8z/Fx/////32t1DWdXRUDs6p+Zo2///0odpiyxAfIi6KYILNAAAByjcWglHpSkC+MVRQ06DgiLchAlnalymEPWMt828v///+vFBbWZJbta0vJvca3uUKKjRQld///jlNPGwpeARIFkKjAEFWB8Ba2CRLlDMSUCjZLw//tQxAiAixmhJax0pWFuM2S1xooUwFmowgDIGgWimX4Vc1KgoohTb/skvf/EwDF3I3/////9+nerNbJTTV7vfI3ZpGz6rf5aX52/////7f270v5TWUhFHk3/Xa6oRgA3YVtJQus6ZZQCgkw4MDLPKOtCIDA9IcKBhd0Pthr1Les8VN8UP/KwDANGX//////+3fXzsqWWnWnp1Mvda+dWkJvolv/////9nbZ61eYqVnOCKiKr/qc9pOpNghyUfAUNhD0U62doBMcD4TPpLB9MCP/7QMQLgAnsSyWs8aVhW4nktZ6crBuX3JBIo08LeOvq3hustW+v/0AVs0YO///6v/MCs3Wgi9zaBfvWz///7ZpYsbLGw2VCf+lqZANSRaCBkw3AFbCIjrq6kbQqEYnZi/Cpo8E4GBpaIJBJUjyrasY54bqIcpAc3/ODQvlm///8ifVYQiPilCUI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sSffe4Oz///+7sve7qwgLm3cSgqz7rlX3//+v7ZC9Rg8KEf/9qpG//tAxACAibWZLe2AUWEFA+W1jeCEMCBVgAAA+tEIhKXtIZWygwENMWoThQEvguRLeUu44eGX/9Zsn//a3/Z30Zde76srV2pRFvpz9sr//////9V1o9ZjM7lrkRQQKH3f/1OsMfcD22Dx82as2asTDMqPBdGGkLQRfibSmuwpzxF////9YXep6Un/G3jXtUKWj2Hp6Pmq0///UwobRLBe9RMsLUcgQGeAAAAfUUaB4knKvp0RUCP/+0DECYAJraMv7YBRoUwx5PXFiVQMyjVQJH19mQw+y5pH3db/cB/ZrdWvuT1ojrKdmelim5LIrtdaev/////u/lRH5kMhTo5qyurY5CCgTYEDuAvAujaKAvTNLYQ2McBRgXSGRgoYJCpaNTRoQN2saO6eKH/9TvJ//////09m6WqyJIj/rVTWdUu5W1T6f3p78v/////9vVKUQYSkhOZ9f00qKYIkYHAFqTRQCn4h95AMBzDgwP/7UMQJgAvVmyOuNE3hYAkktZ4crMt1w5wHDCYBL/iALLmYemTGzjoWHv/+Vg7P//////verW0TqhGpRPatvoyJs+e/611/7W/+mvt6fy63ufVzUQyKcUOFPqvocps2VJuwIS0D4DWNorXZLCygkWOA6JmFIk5xEhWiGShRmDwuw881IcMPbWR//NBgkJeH//+Lad4zZCo1rLgKOffSh7WvgATuTmP//4NLalpkyMPCcN6thQs/jOh1LAIMsG4FjSREA8VdJmLShACZh7AZmkH/+1DEC4AMoZcjrrRQ4XkxZPXGiaSKEqHQqBC1HlblZxz3T3Etpx//WJkRqGRQfv/////pttptrRtDetTO85d0n9a2vp3l7d6L///r/1R57Gzu7KzmmEi0FQdb56zPWPSRJhlUAhVAfgCxhjwCp1HCEDs8GQmYA3pl8RoJGIIPvK5jv0RCRTdYg6f/zoUhBQfCif//////9mT6XRXoiLBUVVumj003k6utq9f////v/2WyIqnZVYTCI9R4inob3PXllXSGFIB+ANJGRB11rCa7//tQxAcACsWdKa20S2GBsuS1xonkOACFmia4P4zGAYs4MhbgkoIV31oBNDb/6hL2mwhP//////S1bdT8lF2pbtVT9W5Jz1qfe9bT/6P//1X6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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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///+qxF2IIILAVD9sN+K0J3FDzX0QHE5gBEYvXGfABioOW7EQQ7TSjElhXypO4x7zib/+1DEFYANURc5rb2t4Yci5rW9NNxfUZo1sXuvmD8LU39rW1jOMVJsjLzuW8IyvaoEqYCT7zeHr///geheTLv/+//r1vetke9SA7ACUI/////1rzyGMIQCRamPKI38++RyQ6aAGmbAJm4aUkA83QzJBDSn5OXFRFk8wlGRUgKDrLJND29ZTfadoGZ1UwdYhV0+feYNOgtx9aF///8ihNg8lwmJ/5mX3////159xjFZS////9N2quqCjsA2fbD/CreayvI2EJMjFDEDcwGpAySY//tgxAyADcUTOa29reHKImXprjSsCMM1RqZAzMx5BFitQJ8LKDYnX7emn5uAvn9YKOxLA1/i8sJ/RxzkcBjZh/FkrNpeRlnoOmJH9f///nQEyOdAvI2/EeI7/tb3//qcvgrz/////0tmicZwASt/phO+yoYCn66DTkx60yFFzPILMKApKwteFgGOggyI3DFICayOgEoF0zSsB5J6MiAIxnUOs6QV1KNh/PqLxBZADKLiy6tJymnODosqCpqu//76Xx8BYgNIe5FSbRVzEerf///1dbE0crv////qmE2DDIBhTSi+isubGokFnIUIBEoziwXJBiwZEBQK8bqG5XESyD2YsWjs//tAxBQADAkVOa0tsSGEomc1rbSkmUyw1fJYBbuD3C3q3tqGN3gu10nKzj5GYigpSakW///6gkxAov/6q/9tv/+m5fJdP///93W0yqQow+ASftgv4rQ2YJLm7VGLRg2sFKIucQhpEPg4LY0yMwqBaXKGqzCB4FZys/LgVy3UbMVVb9bpPCqF7PKRKemWWBcNVP///8J+XUEm/b9q1/67XdX6FmDSCdLOf////c9tKmOKQExfYP7/+1DEA4AL3RM5rS2xIXsW5nW9NPQLC6eHAWxM0DMlUMvqB5wx4EGg0BFhgRnNCZ1LJXMrWUhuaJDw8I1wzg/5Fv+DptbABiE4W7LazFlmQSN7v///1AuDyTM2//9H/X//rYmkq7////R1OYosxBCAGfFBcA2Ptq5x0ZGNGRlAaaDDg8pJm5dcVANiaAd9GRNHuhxGCtxYvMqkH7glLu1ysLV5SPv0Kkj9Yfy7VzZayK6iKEmMzM83///WDqGRDPairOVf/////7e9yU2CjUAN//tgxAIADKTRN629raGwmeXpzcDkbeD4Cuu5TKTZkAFCgojg3pBAGMCSYhgIEYAAMbMcUw4LYEwDwk2aX7U7upCFZ+EpuVw38fw9SyzskMbQ24iuxE0aLLH96ALE9d///+dDqOEuGTP+5ID0PdH//////X88hERAAJh/2BrGVRFQcZbWpIDDAorMjTM2OEzDgQuAIQtW0hAjOqADGTklgEIh2ap2A7lA+ohwaY1MtVmrzmdZaz1Q1lVPZJFMfyXl4Tmbr7/9f/gLYhxfPoV7stYrAp8ehdClfZ6Ff///rfYpo9WjjIBF67DTjO+3JP0x8YhJmzFGcVDcYOwScEYLpw4cMBQp//tAxBEAC5zRO61lpuGNomb1tpY8I2ePK5sINnMkwW92WaziGhovOoUAi5K1FNpRUmVlqiKE+M55v///BPCUWi/+ZEs/9dG27////9K7ES6FHQCR3qG+Fn4myA15REjEwE6MA3DMQQLCqUQYExJRcwCNaXcaNnqLK29kQ0dATZdbVG+9T00UUHESfZik0lufWgIlv///1gsxKTQy/70W1V6fp9OmQoCAA7///7n8oLoOQqMVgwn/+2DEAQALcRM5rW2lIaKipvW3tbQASN0g44rbyZ2z2pDamTPQDEZwBOAGC1BxgCf5pRkS4l1LYCe9ZuCtZkWKTDd16j/9SkKhAjR1u0u5x1pAq3////OAkpa5fb////29b6u4qAtL0f///66s+PQ4oAMH+43gtHL34IxEFOhnAiZWEj3KHG6AtJyAnUNFDyYQW6jPa+PT9P1iHKU+/lV46im+viA6khOO2ECbcY0sXPTzRHLOCxAHi5Ye///6gIMSiZr/6mrr6foP//1OTiWf///++naqpSohCIAIJx/SBMGXKDQEcDL5h8EGAhqYZwJmoNgkMVYRByIBKEmrVpjIC5CHMrH/+1DEFoAOQLstrm2noZ4XJfXHyexZTpE79yWE07oMCt9qjeyzzeZsswNVm4DlEWaHSgxkIzjQzlwGyaM7/2+r+RQH0OSXCSaj0pppvDKEMa80t3///3fVH5MiBgAAStf0BRuNCIHmikcHFAxGNTHEZM9hMwkAi6CV7MUGjFCcBQufUhAZMGm1xHzrtcXtwTs3wY1crH/+V+LCYGeHgPiNXM2erssHqQo6d9///XwESGnLNxmYJWIn10v//////XXxWiIIAAA3J9QHCmjjgoFq//tgxAcBDJy5L63ppyHIFyT13kjccCABlYAakuCbcHRAoIBAlubLDt1hro1MgDpdTcgX1yP7SeEjeZH5Ua/RqU8mhOyM6igk5KssYxBUNYQBdOGjf/rq/JgJYT4vkie1Vzm9B//////9PrtWARDyQM0C5boCEEzPNBDAcER0ODB6PDG8PCqHwgFA0FrmGRCYO35gMGqJFQLqWMVQIG6I3TdyABqCLnBvsYk6p/rWnWJ1Pso1eXtR5ZcDpWn///v5ZA1gMKlwcALquJknpMO/7bP///1+xMfcIXdZarsVDIADxANMKRS8uYcEN5h4BmEBwZNqxsAOGDwSKgUEBCWBcCGlIQBi//tQxBOADU0TK05hrKGxomVpwzaMk01R8mJWjKArm5mR6JcB51F5b/kgTmMS9SBLFBE5uO3W1wzn////zoDtHnNm/zMl3+3//1/Tckx7v3///++o0lCIXUkQAnaIUYTJnVSSExWEFYxAAzOqVB39DheiGVQMvpOASw40dGhs4KArTcLu8ywhVeOjwLtcuDUgMBr39ima7UsFPHi6BvRHdmbKMQkFTN///1gtBeTR/4fQ+fr1Pqfev1/QYXQvX///7/1OWA1iiwAtf7DyCyOXO//7YMQFgA0VEzetva2hsxdl9cw1jKbETBxoVTsA5ICIR0AV4CQJKhjJkCyjmrD4EQk2Srfkd3RBnV3hUXlRn/+GObMF94YQE88YnzGXNYs2WPgI6yB9///+dDsKzGT/5NJVv////rYmkq7////QjUdQXKsQIAABST8QNWJSkZBxmlLmCxIYZJZj6NmnQmAggXcFQOwFBoxEjAgZOKVTEUZVTsB3MD6i8BOoXLKj2rH81Ws1nACkHMyymth+xddAvgKRTSTV/7fvVKwNIlpcJJG5//9S+3////jTyGx59gKqIgYABE0Y9gcFsyJBExukBgmZKFGqNAnVCTBLQLg2lqCHPuD1xv/7UMQSgA21Ey+t6abhnyJl9ce1nIZIKYKfKQdrkR5PB3n6yCkijqrLp44tU8FMWIrPuscORaRNCQGqkP//qW2cARIc4zJdV1dX9qt9q0av/0GJAchz///+q68J6UEMUAAL5oOwOei4wBDSSHDgyBRsYUshk0IAwHpxhwFlQ6ASR3ls04B2POi0NHfXqdWBiV3BIP/poLmYbJ9R2tInZW6x8Coss+////UE2PW/30Fprr31ur/9n3cRwWl71////68RAIXEtUjgA8JCiCed/C7/+2DEBQAMKRUtTm2nIa2XZTXMSYy5u0oGFwOYKFRkGuGoA0YyHlnxEFQ8DQA4TUCFZ1VVigD3bTS3IhYokwKK1ZYv+m61IVB0QZbZjremCqPrQ///+EnL6kv/pf/rv//qckhzP////opn9oRAgAABHjAUYUvk64TpwGEj4AjiaLIYagRYHsDJBIwJAIbhFgYhFrwaRnjswFA6pDwmQ0KmbTMcZQRS+Qw2MjhdUiHrjRcxKiEZzU6jERo1m///6hOA7kzH78qbWHvxd3////qTbGBRADFSX1phisAJV3+6iMGXawI41FMPADACsxP7NEBzAQZ1UkkZFZTKnlB9OCRhZV5Kv7v/+1DEFoAMhLUzrb2s4b4XJenNNOSsmAOStqkNv6u8xALo51TRcf2SE8FsZjUAS7IkM+RX///rB1DYUf7EXl2oe5FzdnT////sYmkCJmgBtJ9YHNtyEQHM5I4OFBg0XmNJmZ1CJjAiOAcDWimUZzoELnFIQpMGpZ1gOMzPKNgJaeqEWikh6h3mpiakNbgQQSplFA2j5cRxaozBGim6DUv//5PBKielwnOGNvJOiahtlGli93///6ExqL2qRSIEAARW0PY0/zcyUWMEvzAgoOYj//tQxAoADUi5La3qRuGEoqc9rbSkXigfygxAjYBBrP2uHHyC2R8yAeyY6RAS7H89JUN/SqJKPxo3nTFRubUBBYqOpsp1jWuiIAIMaN//6ltQWARYXKL5uc3nH0hBh6467Q2KdDP/1/9HsHIQGCTASIt5RfxYbjjPzduDCmTAxDAJIHIxgQyYWFII55mYXZXDhxWVvEDUVXleYCSanqL/0WSJqVYj1/MMqrHwO7Kdf///hJDSi/19/etepbf29uim44xMzd1v///07w1i6mKKgP/7YMQBgA1lEzWt6achhSJmtb00bEz5IN+LRy92DfCkIMQQZGJ2xnQAY8aFwoMDV1bjkaB4lFYJU9WpVUuSKU0DMRlVRu6i8/61ozgbDso3yfnGmYNp5or///rAbY9TQvVevqv6dVV0FUV1V1JNVnmBpAN7X///t7m7I8FUsURABiXQfMV5oTCxsLDr5RRB1Mfwix9KscAO0/B2Rw8geeMMdSUFtqMSEmiGt6kP/Uuo0BZC0TkJ4cjUeTNQXUEE////KgqIcSZmr/+r07W//+tiaSrv//7eptSjdqwKPVVjDsBVbyjfC1405JshEZQBAw7MFoQMmmDhTNC3TCFOzGmFd803Rf/7UMQTAAvouTetsbBhuJcmNbe19Di5bWl3ICNpAAhX8I1X1IMpBCmGk7W+X9Z5ZUDbaff///qBTi4ma8WvWps8MJtdR0////+7mHC5axihkAIPaj6iMSWiMgRtLyYaRGGqZkXSayEgYIQCDICylPYxZiBxVDpVAk8YUcuufI50uOmn7h5Kf/9TxZVwy5hBgFNM3x77Oj4X2iAux6o+2TX//125WDCNJcJxlX5w3eufvX////6LoqxIVirD6mMIAAAokPYG+KHxAHjNAYsSmoj/+1DECYAL6LsvrepG4ZYiZnW2ljzRpBQUrQOiIcC57I00Da5B6Q65IMgFy8L55QdZRD33rNZxP6LSlpCkmde6eR5aUoVBmX//6/pgIkLjLP3nrPyDzdqf33////1bFG3D2KOgAVomPqJKofScNWYSgsMHSDBtoy0EMCEUYwwNmlDzCZlhdAm81Pk82P5EyQDYRolBjhDf9SkqI1o1tmDSa0yBb3v///5MBLDDF8upL+ifNaSr/9l+udwHAN7f///u5c9UsKhGjGABJL+QJ34o//tgxASADjETK03yBWGiImY1tpY8FQM/10MrGTEkgyDUjSgWAwDWHEQEsl7jVS0Di84qRxWBaXNNrclCoxNhl1Cs7pf19xKCTLNEHJtSyVdRHh0TqPN/99bvSyVA8D1ScGYRTos336C7uuqul777bosKyILWq////ojq1tFyKGAAx9GLmJ2ncwTYQ5UARiZ6SjZCLCalZKCRJnBupoLGDzzahd24vn4/DYmaAzOyxlJLL7/qTVMAWogJqLFRyKc68wA8VIH////WAFEZbH2/z7LZUZV6nX//VgiALv///6b7BcLlAspBisAExFfSBtsy1L422UzEYIMFEMw3WTJwVAoOaAnE//tQxA+ADKC7La5BrCGfFqZ1t7W8FgESAcyAy0yx8Amg6LsDtyxxDANxF1jzZZKf606w/o0mzflsqB/T//+vtcfAGMFWL49Uq72btFKyaNOj///3WMropSbDKGIIQDB/8PqJEWBI6mtLg0WGEkJjWSaqBmIASGiP7gryMMThoWVIS8pqspMdaa1lsflhx+cWsvde3/zKvq7MMF6V0ySl+Fj5hJeAmRyVtrX///4GUKwg+vEW1t6uZ+r///odQ5R0rAI+SMAjkn6QJ/milgaAuf/7YMQGgAzwuytNva7hohcltc3I5GIAIWKjcFgn5gUkBYGAAettHg0F2DGxqY4KxCdUDQxpJuspkJ+N8F7iUYJtfrRWgFchU+b5MLZgIhC///Vs64/goRLS4TmevXp9VxNI4lZoR///qrvtY4PtHpYYyAAFrI8gbd0yBkImhVEYBDYNIBhiyGWwsYQOmFgQyGsuGQcyfhLdvoSBKLFadX31iPuYCEjVEms4Qf+ZI6w/c86jeomMsH7id3v//+lrRB6EcXyfCpPTWpVTWW3fej///9nbHrFCjaOKgEVdqP+Np+oYNMGQUkmDKhgsEDmAwQy85fTBwj0uIhpbJWzGSIdM68zDkv/7QMQWgAtAuTmt5abhh5cl9be1lNnNL+us1cL4fZZ+Zkvk51E0Kxdv///WCTEFjT6VaTKPvbQx3///9yC7V2Emm0KGQAx1EHaJB8CMHB8MDpcMgDUQ8neAgrQFigM4S7Dh1wOQDjOgPO8DJ+VK03QBNPUJar/1M5gB2Iy1m1YyM40wBbWu////WE1N2P/reu63rShUlJu///ug0mHVDmtFRM4vYYxADO8Q+om36Zyc0WBBAFiM//tgxAkADWS7Ma29rOG/lqX1zTTcxX/NSBzDxBbpd5mCdplU+nevDIFZiOO75qm9JAUiL8DCL/1GQ7htOHQKclXOvkLMGUkFk9T///3kwEsJcXyRSjZ153qpDkb3NSgiV///vSsXrSowUQMCSw0hBEAELtPrRHeXyMggz6eTAoaAJJMTSMzOCTJCgEEEYlQFVYzmIIfPyVQzFUjcK3MCOYF8N1VIWrqQavzpIE1ElwA0hLIJoPDhqSHRIfwWBotm/7f/gZQrI2vqpi2ll9YBGkTMZd///odF5gR0C7GPQwQADGbg9okRbsSBYAijJB01MCKJAjZw4gwAKg25pyGhtCzx+yAQ//tQxBOADWC7L63ppuGsF2V1xkIU75mSwfMaCEmYg/n2WNpsYDB/1pJYPCmW2U3k8bDo7Adpoip///s9AnglRLS4SSKEWk/XQhbap72///+1EpOgykgGDxAiCgAAesDyBU0TEAMNDKkiJhh0rGLr4aRDxgoEqmBwJphUEmOXak7DA6CCYF0snWD+S5H5wAJ36FETRlH6PmS8xFlks6JpjxnT2Lf///+ooA2SI+L5B0r+pcSyiK2qYfRtq///+lj5ZUdYG6KLQAVfIJ8LD7IGHv/7UMQGAAtwtTWtbaUhdxamNb003HnVGdImIaGF2QCYDCQtIstRAThGjGA8FQK6THkYmmVNMwrVVmP/rQXWOVNlNlPKzyjMFYa3///qECKBXq0kbiij7e76qv//+O3osHggIVHoKGAEh42JqJchbuBp6TIpEaGbhw2OCRtKslBQ04h56g8okddWsrOAKvJxYtAJZ6xzJN+npp0gxGjK5ZnWWVBsnln3///8FrLoJdp46QVp9RkWXOf///1ZOuYA8SC7lWKLACztWPqI7zusiP3/+2DEBoAMGLkzrW2lIaYXJvW8tOypNOGMszMVvzRgEICnhSOHABWUxaJU7lDC2+PMD1qIyioFQjWMG38dhscIpLKUCnjJdB8hZ12Mw3j62///8qCKh6Nye79+lAt68y3///1s9hexzaKMLAFT/qN/9KVzM9M4Ngw4MLMzBJUFI5iAJqBCamL7GNgRFTq257CdZ7+q8JqE8TFsOJlIN1F51k1qYJ6U0FH8g5WWqLorHqDf//9QOouJmvaa1LwdU9RCqdkm869f//RfvIgNBAkXWKtVQogALGd/9okabGSBRgcCFBgy0JBUCJoYCOAoBF5WxpyGQqQkYNuQAreZRRRrTDWQJND/+1DEGQBPEaMvrbRR4ZAXJfWtxJxrP1CdoHBlt+taLkwARCkiZG+SzLF0MywrgGKWojDn//tV/H8CNE1LhUzt3r/VX0X9/Jsl8qL9P/////9f9+lCmIoYxmGGdiigAAN2CCUpCUGd3sYtSYmIY19GrhQMBS5yS8qSlMrqV8kOCBhmDhqKTym0oCgEaj9Rb/qqNogckHWV6x27EKomwvM3dX//+vARw3ovm5zZ9C4lqRqWz///6FWLEcIlwMQVaeWCikAAzxCaidaUyA4g1CDk//tQxAgADNUTMa3ppyF+oma1pTYsGGxiusZ8DGTGgkWIgEoYEeZoNKntaOlDcxaRuVvTEKrSqS0fTQdjoVE3nT+baj9ELg1v///g3C4mi/6TKtT7U3tX7etVVmM3HGMOO////WiKzAlMERdsFEYJQlbH+Fnn4e4TtB08iajT4neBxtKsLBH2YAcOQPDI3GFu5ezP4xLqYBc+3/qjMgOGTePdKlAntf///zoJGF9NCdf1Vf1vr31rr63p2XZhVBbtP//7orj9SXix0cZVQgxACP/7YMQCAAzhEy+ttLHhj5cltc1E1H1YlQmEWaydAcBBgBD0xn1NKAzEwptC7zRElTErNEGYWwx3U+xj50juPwORGoLBFJv1GRUOFKDbFY+dPYl2caZgtR9Rp///8Nkh3b6z7fSqvv//6sEQK7//+3yl0VF3gmJ1mkIGQARC17YG7TdSEDGg0GYRDwhJ5iKQmYQmYgIXIGQK7VMjVZhZ8OEJwgrm4kNaBXQI8Waljy9D/UlTD2TdSz2Q3KB5cSVBT//qt/ULOGkmaovZ67+Z3cg1jv///XHZcaEFBR5CBgAETWe2BwyvosB4IljBAkFJQKoBt3CCxNAKgbM0eDI2AONGnkAUpP/7UMQUgA4Foy2tvO+hw5cldb5InNvZig3WRyvBESn93W8M///+YNtZkAbD7i2WNdXbwmEpdTFvmzG3//v/qC8S2M/9EPez/uz7/fX0X3v///////7106zMyyD6EMQgAC1oeSO5LxAGHBTo0MGFmxiatGZwoAgS04HBV/ioAzIrFRtHKBqgPMulsP3yMNpGCCGdIgyi89vOJqoCCR5M4eaXc4WpZFGd2b//qbrcBEheZ03cRfTr3alCRKxmln//R7uiNFrwOVcAlt/+t2vM8Gr/+2DEAYAL6LkxTemm4aaXZfW3tYz4h7hKdgCw5xJsYmCmAEBiu0aQCAIOu9CQ+DAjvHB5lIWlJRIqCKYzMxfDClWdb/uyc6ExNkji820z1gsNv//9cmAoh3F8mhyjp6G0NFUsF3k2syf//77+pBihpdihEAEzSD6iYyd5ClcHkExwGDn4jRBYLVvGRB2k5DZ4IMJEfKIlLQc/k40WXAUp8p/+YudNSoCkNqnxwvK2RJwBrPz///+udABMEqgPRF6nMNubjkiiR9DGDze+x3//8jcqLFTZsLh0NiuCDwAQX6i7auUxFlRuZOYyAGDEJid2Z4AmJhTdUCCDC2TAIdgLAUaO1Uz/+1DEFQAM8Lszrb2toaKXJbXNNNwP4SxaEUmvlp1in//+JL1tQXyAkknxFP7MWUPoPR9R5v//+sHSX0D/2MHctUwKpeY8snLq///usxQwKKA5pCBkAMvJfWBy1rQoAzPh6FhoYLHZiKamWwiYoElYDg7OWRG6yEUp5R0DHDAohp2G08JuFapmIdRv/Uz0Qwpst8xye8mBYnlP//t1cqB6HEXzF9qoKJ0mHCtM1CH////1vWXHGGmEv//0KmKEAAxdEPaHKlOyUIMLkQsPGbhJ//tgxAoADXS7La2uFOHXFyW1yLWEpQSPvYYKJyCADZ+nIZCyBxg65IBqsuTjPP+vCK8pTiy+4F+Da9v8oumcAwamPM/ILyKZykJ77v///qWAvBlFGihYPWbTAmJNSMUNk0dCP///+7pKEf//SxBkAEdpP7ZHZT+JQeZrQRgkPmAx8YmjhnMGGEAaCQQOhN5kdzGahTFHUEmD4VF0Knj+ecaASA1nBFJq/1JoTgJ8ks6WvMWWNJusmhUjySDf61fqXx/A0iMlwkgzEqc7MgC6zWkzUPS2O2/+z+0ZuSgNgcVBE7VhikAAOpD6iUrhNcNMEESCo4IjC8GMhAgxpcAjREAqOce4//tAxBEADGC7L65ppuFuFya1p7WcIROm9esmCmSIVDK6kxZvpf+lU6xZo18va3WgHlr///+YAXowxfHu67eZCo1RMfMkLKVFH1f//70kFrVPEwSO0iRjioFp+yDf65Q5Ch+cC1YR4M6QG4AOXluy5kNMgNfUQgfqwXsawVf7XPlgDm38ED/1+JY7LbJuo/QBzv///+oCDEZjz9ossKKZeIcXIIrNjaCfR///7ytSXhUs9YMOQlD/+2DEAgAM7Lk1rW2lIc20ZrW2inT/sN8NZhp9TvHBJQYZuYfGg55MVAH9UCfBuI43spoGeN6o3BuVE0joGQUjVC0X/1LVYFeFoms9jEypM4O8EkPqRb///qA1nUDbbksDNa065NSnuau8d//9k3rLLFwwTAIxwjGwYWAmvXYb8aJMxXkZ+emIjxCimAU4CNzAARFBCetWJGNFhEHSFWavu22P9YwvQm4V6SMbXUg39aaBmAtmqSKOONpOdMdgK6UJs////OCBF5MxV/Kl00Vc/dXZ1dlTuU37bV/////7rsb595GkLV3UMhEBFaOKAFBv2PsIy1KoYAmE0GWJgMMbBGT/wFH/+1DEDIAM8LUxrSGwIZaXZjW3taQCgBCe8bcDLwg4pG0/FRx+XLAdlg27B6esbEjAYP9Z0ij2WmCZD2aE40qEEx8a4i3////gZQrEEapsVapg1pNj9qLBu5////3mJwwTISrmKMgCz24PqJYcMgAjRGEOKDFTwxa8A00CiVSotbRrbMda0VW4aQJdhnJ/+pHdmoklfVAahPt/9aNhBkpxsxxYMomhyGot//6vMwgR9LhkiQSw26dIiGPnm2f1////Utz3xYoLhUiqggrABNjY//tgxAMADKS5L62qD2GHM+b9poo9+ol1ljOzkUQyURAhgYr6GZBRiIiXbQspG2DsQeOnycImAiGAUxGOYfgbOqPf/TqAerlFxhUUmnBPrXf//26oC2IcbnzOThJ5UceFRVZxdL4+wYQ///+1WCrwoSFg2WcgQCkAGia2Df/TsunRNaHZQFQMmOKRgQXSrGQUuboaOYkBT7c6ZsKB/GY0WSADqTom//r6xKDap8n6muKb3///9YOAwc1/t2a66+2at1PRq5d2/+Wn////6d2tpbpoazIIKWIKgAhe39qJDTyrmOVMTIwIw4pMjzzWAMHCzP0tFsKGgmxDgFdFWjtVHx+vOqJB//tQxBeADGy7L629rKG/NGY1toqsGbHX/1OhOBtEpWb4+a2UdBXNv/32/IoJ6PU0JJaJYqHQKpAI1jTmzZVr////jaDChp0EA/RRSAYvpR7hXlUyWBNcThYsMDQzCs8yMDMMCC3iV7uusZkZFA9CFtw5UvL7/VaTWILZ3rmxFIKMG+pTZdCZl1zU2yXaNZodHwQ7GLv///bALENdOpT//39vWxj8n7WR7r/////6//bTknBGdikIqoMqQoQABFlXtok00UqhBjMaQDxkYyaEUv/7YMQLAA0EuS2t6abhvhaltbe13BpmHDE5EQWjqqGpyBiSG0nUSDI0Cs0yxM0BzJ1Deyh5/1qrMwPUPZoRSm6hwZW0zC/bf/1/6g5QykzXaxFInuRaqXIpsJ9rv//2XcgeDMbCQUYhBiAWP2/LRIy8QyGmrwhgYuYKgGTexsYQAh0GhBYB5Gi+ZPBg4FlCqJQIN1R9/taxCXh4V+DblhK7fR60XacCiNmTQyTxrPJGIXBBSO3//9ZJkuAOm1gy6u4nPKzCgOgr///E84qZKFgbDosHDxdlzNAnxP+2yQtLUwNPFUaDI4LDDMMMgAoCgNAWKAKo1IzEAR4nt7EyIG0HsQ+Ps//7UMQXAA41oy1OSFHhshdltbW1xNL4ntVIlD//V1jnrdZ7LmSp5ZKCkWn3/+6urtARIXms3XfZqV197JZNmzWNfqba7Vclarf/+30/931XflZrbqCnYdQbFCIADMq+tEpmosTO5AgdLmXAhoJERmgcFq3gwEhpGw0WqBwg476JmrwAHyK7jgAF4xdm/9exkCpEUx0gNEvyt5mCyPrb//p1+PgG4S4zH0+Z2lGkQUU65oHCVNydCP//9D1CJhQsYU42QEQIqkKMQQh7IPaJOy7/+2DEBQAOjZctrcxR6dCy5fW2ij1cp1RUGKhhCKZH2mzA5iIVGC5TGEPTEcFAa+yyHl7bXJ8jSTZw8LVCwIpf91njIMeNFqNUESKVnS25DQcA0WyP//WvuWARmGRMC4t1r//bsh03vVX+vVi12/////9U06pWdkUlklMyinoojEEgAZ00+1FjjKUdjbV0wcSJTUwrtMzCTBAZFAKgqAF1jQDYmM4Sxp+932l/MRuUNYLebNE5f/q0lgJcRB84apJBz8wI6x8C1uu/+//6QCZE7m7KvW0qymuRvI+fVdUdafd+9f/////+jI2xKYW5DI7i+VpaQoYABGzf9gjur6IA0yiaMaD/+2DECIEO2L0rremm4bOWpOnNtOzR5jNSPR97BTBDAQh2NogGz4A4xKyAAPCyebBsay1MuApSdYcBs3+tBdMHSU0KGUM4R1EmFyWmj/6vobXHwAvBdi+PUyRNpJy4deUMAMZbGRufGf///rB4KBIFhCLAIGnhAqf//6UyPChYwpx/xEEjOzLBwwMMjIx9dDT4SEgl4gcAwsUAzRcEwwDeBNorHY7aVv/dSjuDUAkD0rC4rS/1u1QgiTKTz+MQ+6ILBBaH//u9WmAWQZQYGVWSIoAT5ZxN2K8nVej///+lCCShEAP/6ittQYiABXcY1kdleCN5qkxGGwaYAGBhehGUAoY8mgD/+1DEDoAN7LsrrmmnoaIXZbW3zZzGgEwt89hUorNRh4iNUul2f8cv8gNKvLlUdiC/9XMRTHRzhDeOBo/GyyoJm603///4/gfxnQIh4+BzdK0hKoaSFmbhmq5ZYq//6v38m+lpwLnyqGEAATnaHtEnX+g47IJEnkyQWM/MhdAAxuDQMVBp5KQzm2DBhC1yE9LQXP4TFIacAnpbZOt/00F3Fapzptm+cdRTFLNb//7WzoKpFxG5fcozks2pt9w5APUOe5zv//9iFDTwukgoLlwu//tgxAAADZmlLa20UeG1F2W1zTTcYgyACHsXltkecVW46EvMlBDEjEynjNyCTGQJMsUAk9EZTH7svjDTRYe5xdnxqLKYOVqxIr/63zADQXEUnTlDONRClb//u/9YOobLP+r6X06LJn10fPfZNb7elqf//p+3f7L1JYiUsrkQzgv/qYgiADGentocCtaXiZ4MQsLAKPzBEbMWg0xAovgCibJXKOgyKz8HL7ZoYHgqeTiMmP4XN8bkP+rUoAfwfS06aFw+HEyjhAWRAd59an/9X/nQ5InKBs3IKRBxaHLIKKLycgsstxz///9Yoy5AhBaDCIAs/yj6iQwrKQgBj7SICQycVM4P//tQxAsADRiDL6218OGJD+Y1t7WcQkLAxgWoFAdRNeBkqsGAEPt1UIqUTSO1EAzLgTpOgJ2af+gn28SFzxLNbax8Q2iRdlud+K7+j5Elew0UQoQxphBom/iqX0///7r4hQInEBwZYHIMOABF7oPtq7LGEXTKVYwMhMLWjFKABUQGMQaFKy0bVTE09Cl8doJSFpP/ENo66Dcr5BbrS/16zICCCLPHSBkPOllQeK//0t813PiBTk2iAnOOU+skW/1p6+Lhzqc9BQ20G2IKgAT5J//7YMQDAE5doy2uaUbhvC+ltbgKPfaJCIWmgaMJYcORGQDBMKMUAgxJcChRgJ1f50C5WZkNOTDRk4BDGZZCMAO84KIv/05oBJHKCZjTF7GlAAZOpM//9L2zyMAeCGSDxjmRb/oZ+czPtzkS16tvZ0p//////ey61vpRjKok/1K//9MEDIAKXT8oXQ3504AGK4CMDPVIPIAURpVggClzPDHawIDH/eBSOXV1/H9nKAdEt2b/3QTuOl6LZXyPZRZEdF+eb/+rWu8wAEw+xuT711/vQ1yu7lLREYztbuRHKpmVvr////9/oXoj3Be7aNB9jk9CiAAIOJ92ByF/lonbGA0sGJIZlf/7UMQKAAzAuSutsawhkRcmtby03PKcEBhBFE0AzRkGTOc8HDJOBw9nwTjGc3UbgmWqNP/W+oLZY5yjWVn0zABkqY3f/r60f1A6jRM16CN72hhDlWOeB2Tozp///dFFb3PDImLhsu2nD8FVbeD/7RxmK8jUUEwcSGTsQSIKCzEMCBC45emfOogoKkzxPOs+E/x9IaJFBZpUiC//VqMAlhaG6BTw4tZ+YCLer///asOSMlA25XfCc0QWHSJc4tpsBdF3//d/afcsNoMFVYOKABD/+2DEAgAOWIMtrbWUobU0Zj22ibzPL/bYxFlRAAmPOhmQaaqkmdKImNmSBAIAhCAt3QYMtag4EhtnhEBzfXA/G7CpXEF3Z92QH/6memBtKaSlZK/qcjwFcEEWOu6m71XkYZOEkVIs1sm3lR63bnGgiXdV7f+0POCabWqBYSCUGAp//7jCAcwATD30fYWcbGkoZAnmbAhnKcYxKAqeDjVQ4tDF2EmFpKIpeJwCEmuI3oEeZCQasbaab/r1j8CkBnPGRL46uswI6ZIA5VT7/////r2JqqO6E99knLWiaTK9F6//////tp09shVq5iBqqzqHggqACX7Y9ojyrCIhnDpRjoiYAeH/+2DECgAOVaMtrbRVYbQyZXW5Cj2D/hkwMYSKl+0WZI1M0YlKxV7IbIg6rxxP+OWuRNYfvKp5ArC4begmqgF2VUlmmcLWKg301q//9S7oSeFTC5mhINQrdbr+yX70/Lvv////////+p2tVjs+Uro6FQGcExgwAAX2x7BHlhTandAJoACZEZGfqQakA4rLziMEly2DEcwMDI28KTVDeWv8lKy4J6T11o6XpM9xT2rTyeacLalieGUat//+qpYBmgwUTdt9ln1a+tmVXzbfbKmlqf//////97HOzkmJPQZ19UqDBoEEWVj2iPgu1VY5MpNJEjKkEyO9A2SLBTdxEBKPKGmb0Yn/+1DEEgAOYZ8trbRR6a8zZfW5CnUMw0tmGucXR8iMpMLFs//69ZkBNCTYioPHLnHWPgSE8o+///bvGgAdBdi+O02ZKtfJRK7q6NMklyXOzVSqNbsi//////v9PpWjWVLzFDnYgwqBEG1Q+ojauUyE1pIFlAEpoE1zIQEwIILoFv3ldc0wMHh9zGZrMqXmd/qPSbE6J/Sy2r/qTVNRAYiCZ09kGzjUhbn///brqBchwoFx9lujsiWTRPueq3rTRN+3en///////R7UTSRpo1Qi//tgxAAADZi3K63ppyG5FyX1vTTcYwYAKFsnlgbsJ+joIZXEgAsM1HTPl0HoYGUFwEyWqjAA3fwMMO/AJMEmrKwn0iAZj4HKRdhlt/1M8zAM5qkYlDHLmRGSOgUBA5+y9f/6gdI3zWskIDTwrUk+Hdjz4sNUpn///TswkAgI4iscbYoxADHmo+tjqtgJAEy1cCoqYabGQVgZTBy0QiCQHL18mLpiQF+qpQIJ0YfTIyjIMrVC+v/r1mwJkTs8ZF3HNmA6GYzBIUp8///7LbJgJYS4vl0Kha0YULAoTeytagqtp0ddVU5yf//+1CiwNrWRYoaADO8Q9tj5SNPQ4RHBySWEAw38//tgxAqADZGjLa20UeGgluW1t7WcMkCC56gYwASpf5mxWUF87EiYNrZup6BFIyJPBb3qJj/9BNCwN5S5q8ldM8tQi3X//+1dlAD0EqXGWyv+Y/3dYN23+iTaF5+m/l//p///3r/OjOd2qx1UeCBEApXOd22P4wRxjmwIOUwMYGZpQ+IBwGtMEAWSfgVogcAIWUAtMaOMf9FxdvCNZ3gjf+kz1iDs6j7y9nSyXQTg2WUP+rv/wrzee7GpEFphg1rRySyGqJoFHb87/cv1T41Sblig1h9VYXCEBEQ99h//3NdaATsDh5gYJCYOqJUQcma+WmY0+pl36vW2WxQ8lyOHJFWovgse//tQxBgADOmPN+00Uem8M6W1toqtUP/X3DmJpKP5IvOtIgSU8tN///+oEkLxuYq//7N+/OrI19n63Xtr+nt//+n+q1Yt2NswKvWBTJiCQEMvxe22QAvFO42ldMFECqZgz/MZDTAgJFBPtKGBhbAKCpszSlv7vsT/cE0dWOpx2vyI3/qTQohNiCio/j9nWUkFy21f9X/WG0KzKf7396o15NmlX5H7/O1uyfW3//T6azM/pOzTyMx1MymYfFVjCAARTSe2CMlX0QAZlEIY8Gmdjf/7YMQKAA5suSutva6h8rQk6cgKrJnziGn5jwEWoEYG0VPQzuGDACG3gIgtvsXD1YUtOXQWau8jxf/UcRdR0DWPF1JZNZYsyGkbgymil/X67Vo/rDkjJQNg2/5Mlao1YIH5lPX//66u4o0VEA84Vh0FD//9kZAEeWCRtvJAYwDjKCtDA4YREhkqMGrwkUAVoxdWLoMmJUiGDV/oJKBnHcmJ6x7C8JUhbe3dFAOr/Wpay8DfRDzTx9VkNHo6QwRm6z7///r1EMIg6b96rTlQlH1sjzqQ67Z67K7+6d/////95fWh2OpjNYwpGzCDEv+rRQvI4CLox5A3FT0EYHNXmgweBREJDP/7YMQKAA3ouylOakdhoRcltbe1jBtQMQBIEh1djw2DGXnKljVNoC8x41S8ZJ3con6pKiPz9ZKof9F2oBnRbRdN5G50toJh9lzzf/+zanATAXkcNIUFZUWRjxLY6chOn7X///0L58WBOpZYM/rtf0IgwgAJWlf1tjNXeeQ5wDBzqYoAGZsAaCAYjCoCgilyBQ7RI4K8wRnSxRf+VOsuBBI5C/9XOgp5cc6aPH7QPvCcKr/X+9X5mFCOEuGR1dJrVpcKVsIIuGAyMXd6m/Y/7UyFQ9YfMFgPUcWCjEAImWf2iQQsVhxxpOZiDGPG5j9KbUBhx8MgKDDYlKTT4UaEUKKGSsxJPv/7UMQWAA2guy2tvazh5DOk9caKdBMfD8cNPt//XrOiJL7FZQx9yp1lQOs+s2fr/s/65MAF0L8bj3rDI2mktGDYfHv2HasyE//+vRcWgkAp4CFXmxoaQYiACG7WcYbev8KAE1QhiYSCotMAXMwyEzBQQBQAAQXXCnWacBJEY16MzSAlF5OveoKoqpNAU0qws0kf9qFQEqJRZ0gNHpnHUTwTo/PN/X2q/qAyigme/Vmt9HS93Lp/kf0/t//////tXuZjWzEMLYjlcoY//7uh6FD/+2DEAIANdLcx7TGwYY6PpbWtxJyAQwAzK/wTbVrCiajxl54MaG7cmclh6cHFEvCUCqivAztBdEzeU4j1lMDktKLkAUV/iWb/UpF1D6A7w8mxEILLGnKjznQsUFP///6yRKM9qyFjzLWsLruHsYll9C1f/ttTFGKiWLrKjg44zRhgAIP4/7a0fVgiqBNPsAKEy8QyaeAWcLEoqCIdZ9eJhquGCJPFAKg5HHnCEOOI1aoi6KTf1oLuI5JOcPZSyUPLQHGPf88qtuuQPVF0bzZCJVqChlmthmdtd/7/+QxZBA/AB1WCjQBQXSD66uY3NLQ2Q9Ei0VNgbmAAEMFEQSBjAI9D9mP/+1DEEIANsaMvrbRN4a0XJbW1tczE5WHkAQYAij8Uw8WMyAidEreowf/rfQCsdltk3Ih5RPC/H55v/+tP/7JokhGz67KiacjM33T61r2//+n+y/dvVJFZHZnQxnMiuN/+liikAM95D22SBzGznLhQOdzHhoytgEuwx8FBoOWUrKOASaVJNqOM1cuE+hHLXICEbFr/6tRwDPKJ9BAwKI/aj1ARDV///7zocsSs0LlgxzHvSFtRWHaSElG6XKW1/R/trOtnCLyBM60KmhC1gogA//tgxAGADaC7K62+TOGWl2W1vTTcBQ1f9lbHX2a6dESESIYUVmX2JuwCNDT/pDN2SpNfhw4lVRUP/GHR+ma4YwkMT6b/1oLuFwo20FE+pIgeo8xSEF3Wk/+pfrfo4CJC4yJtKGWKGWh8QxlXTAVUUd7vR0P/62w8JECQ8oj/6oINACxu57aI7C8U0jZ08wcKJDMKc5goOYokDhCXScEBnaFkyuDo01NE2B34zn6Ia3qFp/6LtUH5JZ1LLmZsonhRH5q3/+v9QcoZSZr8yNQKKCJbt0Em80z///RJmCRZjCQiBoRgqmMGQCzrmPaIzWHktTTaAUtNOXNRjBecHEE5BGFaqjoa//tQxBAATIzFLa00T6F2j6W1rcCcvsj5E9pRk9AJxWTS1xoC6XiJ/9S6i6BRw4D6Ru8LvnWXCqtf//+nctnJPHjFYdIIWhbrWDFW7l///zMXUKoF5Uc40FWwUVgBCdsNMZ+QAjPawgwZdAZROBGMNEKiQIBX7XiYOoiwiQYaoVyioceiV0HE+oVmv/0E7i0p1oZcyPLcwGmP/5fLNNBZFOIzycUj1LjS4wUOPq///oRGaUGySx4CowyAVX8o+tjBUbFFzWzwysfMCUgrjGEAhv/7YMQMgA04uy+t5UehuzOltbaKPSpoRpAwYys1rR597F9p5Ut5oHd1Hv1Qqx2v2LZ3+pqNQBwdYqWxXxJLoPwNNLN///zAWAaDx+5cItDAlUlZgYdp1vJC9nvp//9GuqJXiy6gYYogACPtY9ojeuk1w5ARDD0wgSMpXBLsARGW7RCtM+AEcuSuxlm2c65/yYfWYCAbC2/9S8xC5FBzpQaODK3WYB5em///1c6ACYJUwJStlKT2qybJUqKyKturq60P39GWn//////3lJW1n7lKUMFeSkIIAAiOlnIHGHlRWO5KzLwAxwpM7ywGMixchzQQNkUxN1hxYpf5ZMOfeW56hmWxJv/7UMQYAA2ZgymttFHhq5altb003ArKF3/90E7iSm+2X9ecCXdav+r0/6wU0vsf/Kn/1pe1VsiFui6tzul//////b9n+dRligsWPjz4F/K7N6YMKwAx/aLaIzV/l4mzJAOSAawhTpMDAxAKEgAGFtWZWd4+LI4pH2KHFhZ1DMaUQzPWJ2l/rRSacBKF5FRfxwMsmJnB3gTQ8ssb///qE+HkDvSEVHLR+XWH7WIe9bIxn//4tqtHUjQ4BzRA9YOIwDH98Prq1xuqsxo6JVSGnXn/+2DECYANgH0vrR30YZccpXW2imSishs8DGETB0Gk6tgzuhckrlCtFbFpn6mpB1uiRHMuAHFn/0XhhHkVseR9vnnrr08NsEJEIf/311lBMZXjzChxVwQSxLsYq1+tan1r+37sETLhp9gcGkFizWKKADB819ZWulbRUBTF3gVGTFTgyyoCPYmNSEGHAGnZiYivjRTDy+CsCoM2T4YXITUL4bqFQ40Xb/Z6YfX+QMqegLf/6+sn6z2S/om0idHggKe05tZlmvq6O//1JjAFDNoQFGf/vYKNwEzdqPqI2aNrINWOxYlJTwZyAAAA01AOQLKqMrNCkWbkzGlCaCfczPDdF8y0Pv7/+1DEGIANkaMvreVHobu0ZXW4CjyKP/11OAIB+Wo0LbRGJyhGAYWQs3//RPKAuA0Oe67P51kU11qaeet1X17V/9f//////9trV6mudUy08nggYACLzg9tjZmgs3OdGActmMEBm74BxAFC6GZaisi8YlMJUTaUjTe23z45Hlpy4LMbPf+peiOc1ZvlyolHWRgYxSm7//9l7IwF4Mokyelv9HyqVVnk2Rmk9Ond/t+7pr//+lP/N7sZF7lQ5BI6fWpCiEAJTpByBt7aVKdcQFCY//tgxAgADJS3Ka29rOGzM2X1tp30YYRmb35ygGTES7yzyykvTcXEOLVUNBH1fET8pGLSGHDT8jf+kz4hT9SWX9LOBHTof//+sdpRQPZQU2gpUKJSpgCwo3///TRyqVirhILhg2gaP//fVBR6CYNbf9bXIf1eRqJ2YSHDBeMYaS5hA4HBAYDIiPGaMXjwu3kNNXZIPdY11sIrkb/160gdB9vKD0Ki+BRDyjFv/v/oUAEAMPG6M0ynah2jVMnVNW6tr/73qun////+vdrW2RPms1UkQQT//fVjCAAMe6D2CL1aUjqZg2Bx6ZmNmXRJvYCY0AFtEG2wpkGVxzZI7NpR1+NA9Efy//tQxBcADfmPK63IUenIM+V1tQp1ScoClGxvLV/qXUTIXDCSG/jvqM2WYCQ5s///+6gEwF5GCDspS27FfbWSqL/pvyd///////q7J6qVz6VdxyRpEqDGDCoAoLF+2WMkZ+SAhiTiBjgyswMwlgd5FYsh0FAVy2kmJqY0MxZjJQBUODN9Y4z+AzAImVb/ojPUKpvy2L2QjBCW3/rnf6gSgpMJulbL2pdbsqTSHWl6u/Sirp2fezt11/9vv0n7nozpLZAs6qDIQgVpYo7AOXto+//7YMQDgA2Vmy+ttFMpqrLltbaKLWryt0WDNNODFQsKHgrfEoIYOMiwGLAskgcwwpHg+KLLW9jefLPGo5+yaC+9Y80v+vmQtSO3kPGc85PCUQV//+vvy2M26dHKpbyJu1asZa3JoX7Xp//7ef/pe3smiehzpOZzmYLcnBhSAmd5R7RGgv85BwAeDlkwomMlbA7IMZBQaBl9qZRwxJ2VsrqywNdkyzuOTC1ZgHI5C/9k1UA2kflDIp46J4F1eff//63/e7u1VQi3d0VEpqjXa09SXb9V1/////0/0qyMtTolzmaHHM9VgoiBDa9Y+1ruPa1o9I0DRjJEzM4RdKUBmFiIE0Zrp//7YMQPgA2Zoy+tNFHhzRaltbfBnBWY8JlyyYR/Ht9x8PoF8HSq7/+kz4N82S8h5WfU4itD///zon450DTs9/aknVpJp5Fdm9COxEZSVfIWy/////96tffIdyVoqVcERxX/rgozBTXeo9ti3XKZia4gDRAFzcsaZVARAIFrC7a6FtmoHosNoxMigaqhZXwmMZgBlT1qNNX/XrI4LmB3nlINHYyzFnKYIhBR3//7O9lBYiIuTARkIWqJoW9jK2vFxgAFmLvWVF//dPdaCcUYQDcTQGTCgs+DCsBVfXC7atcZiokZ2SOkDLuTMYQ1GAlBcBCenao0Y/QzCbiCnqbFbn5QFOZkQP/7UMQXgA5dnS+tNFOp1DOldbUKZFIaocR5/9T5MBHh4JqL+SzLL46nRwAk7rLz///9Q4h5Jo/07ySy9CVenzq4V37o+j03ZbJ//7/Sai/b0Ms+jKdbFULXBhAAWfG/7bE1UliqBmKtgyMmLlhmEMHbRMKJ+IcY2zExdTFiF+l8IEq19ofNRydqCDAImUDNf+nKgPia6HY40gFKOF81v+WifTqylbQ9EoVtLvRXVJE1lq5lVXdPs928uc////+vsuypa5jkUtCXCkBZ///Qgg//+2DEAQAMmH0treWnYbSQZXW0tdRAFEtn9tinofT0NYQxYNHSgd0CACAL5hiptN2cs0tR5OQKzLd1bhP6poRKzEU3qOP/19wQkht5Tx8d3Dwc/J0pJHksIveVUcakRaxME3NIn2LRXGrE3+n/aLLcNW1qj7RI4H4IIABBuqNbY9rLGDnIiwQlmJCRl7wBtwxUDC4GX8uJvGPQjCJlAhGZPBrOIxzVACZ6ER/7O1QxlfNMZjY6OANs+s2f/R2yzDpkQuCwmJ2iIKiwsBh56LiJFDsV/7fU7eDg9BA4AwC8GAbCv//VgwrAKX0g9ti3XWayfokRSDDGzO8w9yNJmdgEAocy057/+1DEEAAM6LstrTVv4buzpXW5CjysWI2lOnvWXgscrZRfCtQxR/9XWJ+a6eQ8iH1GYTppo3//qv9MD4bsNKHqjZV5F7WPpFyIslRKm3q6/29HJohIQoHgVhQSAOijMAITRf2SMsUBR2NnTzFxIkRyHnGQUECwsCIDlSLLNWWxIvdSNMe5faF1Y+3TQE/Pkt/60Nx5JNjppk7nHxRWp/9G1vXbARIXmt0VNoLa60e18+ldNr+rs/P9P///7//zIrq3NiSlXizBA0z/9SqDBkAM//tgxAIADOy5K621TqGOEGY9panUbp+2xqRXkm6ZQyCRiZCbmUQIO3wgIUEHQNuKhhiMoplDMrTzWwrUx9PyoLBsOf/dsHjKlsfaFlKAXupz+3/T8oBMFMeS6RZ80idiIqBgYnCKiASKzwAF8l/7f2LVcVSwwWehyjAMgAKFrcPtq0BuafhiLICcGrUGUnBoIoOqzDAVr7+mJVoWzzZVPosDvZiXoD2B2uSX/05CBOLNjcRLoQB8hUB7JXf9Wzu0l1AAGUIZAMVWltzlta7f/+xFd4SMwmCIOihEK4MOwFBfGPta01pCi5opwY2MhZMHbBGQCqoljwMeZWZEo8PFFtttZst7//tQxBSADOh/L63lRyGtm+W1pqns1SEdUhBN8n/9TNwFSNijZd6lqB9//aPi5VgPCwUhEooioUPgsZiw1wPRcAC66P/2Y5qB8TkgGKzh8gSDv/pooaALe8n+tiTMWdw/BEWWgAoaHUGwAgOreIQkuUSMtmdK6m3TSiJUzqLVj4CcGryP/6LtUHxJltkrlRQpgBfO//618gBYBocfojvS/q27FosdBYpElQvFMsiYzJT/r9FQ0LrWWeUPgIv//1pjCoAyeSj6iQ4/LOj6jTggDf/7YMQIgA8dny2tQFVhqhdmfay05BIzO5w1yTJkyxEIaMuU5ZkmKwpfL2fYabzsASepPo62ubIX/1dY4zV1IZBmkqicMRGR5RVb//1bJuA8EWdt0lKM8zlehEe9EZkdnahrkY5Cau+QqmX/////X+6JeW1MwOg7nKYQP//YwuEOBGq/+D/6p4uU0k5DAOWCsMh/r5BiBZgyyS2Ddzk1SDgSDVwXKqzs1DMyx2ACEbZH/9fcJyR2OEvj7nWmQX09f///asOSMlA2b16WAc1Ufe00JRIDyCLhKZR/0fqjjTCs8s2dAxccgbWDCQAR3yD7CQIz1R4zccZHGNTmWyhJcHEFAAKBQ//7YMQOgAyZny+tNE+pzjSldaaKnIs+AOpiUzHGrJLFrjMqO4BIGtZb/63agKhotSWTsnn2OB7TWr///3U/VLW6NNI2+zUer53R9Mpe3Rv/////77fbzKjKuyAkzowoAEWun1tgkFKoBF0xegcKmjUGo1B9oiYDgRGWG3ZM/FHjMiWQt3uTzc1Bk7UgNuOuYjd/6l1GIGeHg+3GK0xLVEmE0zVv+3T/3qyG71f/RD3mLRXSlFbojPzslff2//s/+l7735iA3RHIqEOxzswP+/qVYo2ADG6nFojHJOgwbAlhhaFTYRdANAh0RQfYEzph5jB+LC8UT+Y7qfgXuFac3Sse7+R3/v/7UMQaAQ11myutqFThujSk6bUJ9KY9wkr8pkYfnjwBE6Xf+/2///vyWO6PZ3PQlzVSdUd3Y1/UxP/////f8+1O6oxzSEw5QOIv/+1cZnqWsgcJdxH87kmByOYcIGd3BxgQYiClzwIAZIdjKpRE6ZKoJHzy4DUwfhoRDAAg2Bw3/q7UCgJmn4xyAUyAFZ6/+T//65pPK1a2Rtj1MSiVq+box7nnRf/////ReqkRqpcqoRrIzhDtcL99tHSqY4qAUO0f+tjVpc5J8gwtkMs5M/b/+1DECgAMWH8trT1MobAQpTW9NORF4I8iXegmbk+pxQo0NciMGvBfDh30m0UPDHh9/6cwLZao8xlkA6jhMo/hB8uVVD9bhVIhNgtE6S40uWM9hGtKkWf9W3pJMQWHGUjBIwgqBjMBJbubSRssTlTKN1UTBwQYJRn/MIBxAWHgoGBMEWWdD2JJ3kf5b0tvpJdWRTyyQAbxviJ/9NBdIT0/Wjk25+mTATk2lr/r6qjbXM0kEouDT2CqkG7HFBb4m0dtP38LYQBQFD62lzxL+x2m//tgxAAADJB9La09rCGPj+V1p7WUgwjAKP0g9sqzW5KomgoBx0zaUzHcJPgoomAMjVDVOgr8aU2sZarYPOTXQOBSI46f+t84HRBvH6snHmgqmnP6w4UdIHwGnXUsaSehTxWHqHrFjKkf/2rVIyhNB8UGh8UEqAdEIRg4ZATRmn1takG5p2GCymeCGzRGovBtIeANUTbdt9TSwRY6lh7jbgvBLW7e50FmKqmt/6tRUCyFA/4cutCozCkPCrvivrc84dlLTWbpvPkwaF2kgxPPYfKO0fu+q5lj5lQtYRL1gYqABD7o0gaaqegyAm0rhgoGOFAi+DAwgGiKhYkCzS7zGkcaH4cJ//tQxBOADdWdKa20T6GDNGW1pon0QFtkDUSnRPrMQlnun/6TPOhMV/n5gLQzGIEVQmz///0XUqFcnZ6mm3R6Nd1ROr5X0rVVT7/////9v8mtioi0Ox0WwkHDv/zcGFQCitq/tFU9F2sHwIhkUAJDO8AegMiBLniEBTMKMlUXdSqJzkghVmx1WTAnB6st/9fUHMLW8fdR65D//11901R/MbR+/Xrdvfe/7V6f//////ra0jEYk6MZHewMhjsMioMKQHFvJ/ba4jauUe8OCvxoj//7YMQJAA2doS2tKFFh1TLlNbaKdJm54utJk6M6DEBNdFwZMdkS+WrZTidOEQA3MJwRnYnf+h+wNTfGWPxyVAEZv/90e2f97dKMWt+yGdURGXdm9j+hW2V0t/r///Xvre6M5yhAZxFqsu5DiBnf/9bFGYAZPkHkkY67S0TckwSNBGfjPiYEDjAYgALxrCKLmgQYsFu4+KhGtsuz1BlquYAtye//uz0giS1Xj3zzLJgVrzZ//+6t1GIVMLmXCUZc+zEUnXpSt3ujqV/Uh3Vensuv///+t/7U2ZGzvZGUsKBmAl+1ifdVgwxADHtf1tjJGEpvGWrohFjGT0xqBCLsygQMEBFTt//7YMQPgA6plyuttFHhvLRldaaKPFUaKkQ06UwAx3L219Q0NOCs2Ql/9aqzIHQQ26hqye0zDnbf+yK6367OAWIa7qZTqp8+WyPsdLO5OiFexJNpNDK7KvrX/Wvf+rUf0tnOq7NKHYeIlf/6IMIQCjdX5bYny3ZAsA3hEPM2WNNYI5REQUUFAL70RqWpMchS+Go5X1/eoqPIE8cb1K/9S1UQVolE/Ev0WmgiNf9X9X6hxDyWjX/o3WRaVbcitdDldu1L79apXf/0+n/vyq2p1MTkRiEVGUxhP/2dSmKNwAQvd/bI5jppuGlJYcQhcuGM4EggVD0H1D2FK3mLHYsDwIn9CUiuOP/7UMQVAA5RlSutwE+puTRldbaKLHSPLYWJ9v+pJnnQyU1SWbpqUfjHkKiK8LPPrNj/+qTuys1++q3d3pd2UhW0MREbunerJZlvyrb/T///9rptR3z1q51Z3sIXZxYwZASNvf1ljUXkZGb2QGghJlBIY/AAq4BQWreWosL6MWWGdS1KZ17s8xLmWSIG42Rv/XrH4HKHGeGsTB6GYls6Lbb+i9kt2fotE2Z0b3dfZ87lf/t01r03/+l/9//uqomc+lllY5UJcEUEUJ//rmOKgDH/+2DEAgAPKaEprbRTodE0ZTW5CjxuntZIt2FMpOWBBqQMoOzKW8W8SY/RXLdMyaaUUxEWwpOxPO7TMR/kTk2i+HdLG3/0E1UBxaz2XGrPudDcQUv+v/Ut+cDkCUJl9JlM+jmLnVd1eSViNqW3udqJVH920///v99daOpjWR5KpQ4hGd2hyv/v7uWYgzAKR6g9kjiLRSWNxRzEQYULxD4mBAZKIFYEBgZiENmZRIYHw4+y3r1pdXyPPLJgNXG9m/9K+Nd60cm9OsmAyHmz//9u1wCcBgHDyalpovN0rXVlczhjsjIxJa2fOzroTM7dH9///9/2e3V5FdCSkZtnOGpiBAAAeRj/+2DEAwAOxZsnrb1M4aYxZX2mimVSNpQuknaZ86Dw6YqTmVXZvYCEAimiHduKDRhFwj0uU+K2tB+/LX/YbUXGAUGnf6pUiAGC2W8KR1GDoPwASyVv//+oXI1MO/pVZRFNM0VVSzVr2S1msyO139bf9P+n7/zMy5ls1J92PnFBEGd27s70GEApAAoT8Y1tjNI+k4BLZnBhuzhqqgnSFkidhKDdOHTXryhDFmMudjYXt+4Bn6gugtaSc9/6k0KIVx5PyHlTzQOHf///vTol/JVSSV3PdlKT12ROdlWevqlv//7f/zXuuhkqoN0sWw+EpYKMgCg+59JGnyoohzOvaMqZEFgLdxj/+1DECwAM9H0prW2lYZaPpbWnqYQYQDRVOISBY8lWY8kiQe/CH8apJ1gvZPLVsFkvX/1GSL1iboP5AxoPrHcJmPDu9O/sFkqHqUtSkzryws9RrcdQzvYn//5xKbp4DuIpCIBP/9lDHFYAR31HtscyNvoeIuJZTIUDL9AeQMWBL3iMJPM+MZEWs9GmgELCKzR2UA4S1FP/qmcAyItuq0CoOReBWmP9lKw4oJDRawqkUoMMpF9RugUcLXDL72//QgI6hR5IAhAVSDp///oVYgpA//tgxAGADmGdKa20UeGsFqW9rbS0DK8mtlbqNq/RyIGJIwCITL10FfJMVCMBGAZ9ooaOCERhB6iqhGWDs/MCGgZiBtn//ZNCwfkF0/mTuYBKKp/6/q/qHYSjp77VV5CnZmV2I6sY6O6ypr7bIsyL7onzJ//d/2/3RWRDNlO60mMOH3f7azBQhQA1O6we2xqMNM9OYqFjgypFakwQBCg8AAJB9Ihn5izOhXFI6p6SV0xu6eCRXS4EWXlv/q8HWaSafxxvlizIKu60v//28AsgyilCx0OtSATtgxlZlhmQTeTIbf+39KYyopGFhCFiX//rg4jATesv+trQGetGNHFC6AysMyHc//tgxAqADnmjLa00UeG7EKV9p7WUJFgoYoIWjXi1Qw25PqMzDm2vWr6h8ZR8BImuUv/WrSGAOsk+UHqqKwmTTVv/3vfzoW0TlAtXpVHSxV01Mys5Gd1S9e10buqPtqx//////Oa6pW5NiIREFnMRgYdP/6UCAUQAkGeX+2xM1kSdoJqGKUm7nGmfEcoSWJKCIDDbumzQlYxpJgjY7kHNaiKmoRQub7//TQsHYoJ+Q6kGTMAKKqff1VvuEwsqKMwIKtNLHgQgkrOJSxyMV+c6N3bWtwgFiMQC4WMDT4JAif/+rqVij8BQb2D2iNmn1kHxyLIiPQRUgGDiQTSTIQdGZfZihmn3//tQxBEAC+kDLaztRaGkseV1tQotYU6x+fYLvlBIK5ADU+3/RFeaAeJj+JlCNpQIv//+/2uzzfq2zoyWqiUd1b0lyNLST///b1DqqEJNjIgARCCikAkTt/2yLcchh5uJAZOBmIEhjcMBpwxEHCoCWowX0YYlJrSlP5m92+5W6FouA42Sf+pi3Caf8nxLZFImt/+2yrQ6XdNCFVfc+uuUktF0OdLzOjJtJS3Vqf///97fox7UOe9hcgvVAOqDiMAxX2fW2Ktg93QPkJvhnlZoYf/7YMQKAA49iyutNFMhszOl/baJ9YvJJi7EwqCVWcw2YQmQSdTpRG7TOD+q8HaL4W9LI3/o+FYk3UqsZz0fBR039bdOvfdXm9TL3RXvZlLqRmsR6z52UzNZkd9H+/r/92p/dmWq1dmq7sgpgaeFxGCf/9zAwQYAaHtqPtqpYiC3Iz8jMRDAsciOLCAURiCJKKTgM/MCUVL6SVNSKJ8ItjHLEy4F2Xln/q50OWYv1DfosxeDfTWr///19mlsvdHe71bZLnY2uhXR92o5f2Uqe1Lf6U/et67J+pdHKpVQgJ0NYopATG1f9ojQZUvEyZIJhwwslMUhwVHmJAhbxNtpKqRiTwmtVv/7UMQSgA31pSutqFFhtrSlfaaJ9J3Oq0ipfUSaOB1sTP/XnAWhabwsfIQmZv9evW7I1aaZ0O/OS+Qtgb2MpVu1FtV7pVGsVGT////9GutOhmZsquxhaorsCMyGII//UYQCmACY/2/WhtAgNRoKUzODjgljSNB+ENIEGBUWueQm7LlBSebDB7GgLdWRU1D+FzfG1L/rdpgDEaI+N9aeNASFKff/VqXb2/fszpMzWpmo500S6HPrUpellnm//////VPT1TKzPq5nkZA3//pVQFD/+2DEAQEMxH0t7O1FYbGyZTWtnLyCACQZ9B9bFmt0VnPPgwSSxgIKADCQ4MoDk1dMrMQNU15YxukmLLEfiSTEZABWeq/+i0YAmJpfomMHlwTnP+LvJKDPFxw1jlAsLCI0PFQ5Eudc/0pf+3psVBJQiGpUD5BgjDYOQcUvqDSRlYB32QH8RgcSZ6UY7OAKwMZCQaAp7ZKrGHKCdUVVnW5QSBc2NuPyf6y3N/sv/8w+4Gl/l8FC6DUABkNb///dNKr/o1GaabWyWaiO0163om1Ub6///+j/0b6trWqPs5UEiDgZ//rSpYOKgFzPr/ra8jiv8C4YHFGwRmbZjaEaNoNjAR9oSaP/+2DED4AOeYEtrTRTIamPpTWttKQQVhrbcVOKa86P09E/dQzGH5//0aCagihCZN6lVDQfjMFVz7//0fo7qlf7s8rI2qFVEZ7tpMju7bvI56l09/+v/Vf+tHnZSGmYGJjoqBBcJAYEG/+uDDYApb17WRpmuE0k8zYDVBHdEOmYgBiocXALvgAEX2YVEl64pBKhJxYW7JhasuBtLx1/84mVEJhFno+n6hzMpJ5uKc584/f2JAC1kxdbkHAEI2BfmrO8Xrd//N8OIaxJVCBMKDwdf//OCipjCoBs/2/W2tpAKsxkqWIxQw83MUgwVFmKARbAvmwFnxjTgjVGZhvSScBy5ELUEwv/+1DEGAAOiZ8rrbRPoa60JTWmifQWxf/9ajJFIOSfQSfIzdIoASBooxX//ov/mrKtSvV7M6UnHrqzHZSXMzJ0r6MXVtv//p73qlN7M6ueqS3YigBlQGP/+hjjEAMfyjWCL1bslODbxkB5q1hpnRTeDIggECIC6c6ckeTGJOzCWpuF6qGhkCsL++L6v+u1QYFt636w7AlXksf////61fo2ZF0lMxUnZ781UKy37yf////1e3XfozsgSxzHOxkarHBCF//8B4cPgUjf6Pra0GfY//tgxAWADamXLa20T6mdD6T1vKjcAaAkhxSISogiggmKoKnmVQV4mlmJF7L4oxqRzcFtzJlmA4l1Jf+palF0TogH/E1ehZwkSaz3//0myMlKox1IxCbT0VHqZUc+n9OSt2Sz/fX//p/e3VKoZGcqXMkZosOgcMbYojAMF6e0kb5RRs5s5QDlsxoKMhgAc6AYtG8wCoeZkCPh4KWraY+pMAs7CMKEIghbJP/s+FX8iyo5KhY/7qR3dmxaATgs2LNMAMMpYVKrcgVU7b/WvzdhkWAghYKiQIgZoCHMo7P+hTBwhQAWT+T62yBaZmJHaUSABkw2SOEr6usRkU2pDaJPC3BjUlOC//tQxBMADJR/K+zg5uHLMuT1pQpkGg8HIKwA3xb/69Bo7eNcVlsaunTxZP2F2sHhdp4u15RBkqxwDGIcxoqx4iupb/V9xwPhNjBIfHgoaFwbKf9SVGgN0/+1kjpJkqhDjlxGAIS4UrhilEBriAagg0wTN2bk00KlvpzWsI/IK5IA9y1vnn572BCZ/d1EksygXbdvPkJ3pO6EZiLZj7Ls732qzWKdEsf5D77O2t/bfX6/tf/svSjZETZz3OHQBi5LfqvX3Gp1ChKLhHJd/I21jv/7UMQEgI58/SOsrG3g6ISktBw8FAISQRshWsYyG4mlw0xMkHC2iU5GMSk4HW0EGrRWzYCWpr4n7buieJwQd03tR9GnGIMvnqSPq03Q1qGenmwFV51V3+ua1EOZdybpHkZg1h5SUIY6N6B9XUU9uKjWNQLlxOEw8RIc+nbS1JUubbq7BRAJGXtT5fZCcAlL7I542vT9UhClukEcexM//EX53//+IpU7BV3/////qedEMFYdER4NQ3/+IkxBTUUzLjk4LjKqqqqqqqqqqqqqqqr/+xDECwPAAAH+AAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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5bA7gu9H///9MytGW20sb//////iXWLgAsqmqvEElgAAEg4mFahUddIIAJXREwXzWGRlh9YDrQqHuD/ySqXVlZ0qIOzKU6u////3T2jMTJQABlQmd//7MMQCgAeASSvu5SMhAwkktd0cbI4A2YAW8gnMEBAN7sbO4hMcynjDDTAdQWSw0zK8JQbc1P/UJL/61M2kYJ0f///TXnmxYZsxnewASBuBzgCIgIqLCGDoan9fXHHEl+DHhwUISLXOyT7DP34kcGRUrOFn+piCcNjt3///97lWbWDP/V////u+C2eLrgA5LYBuBagAj4xcODA/Kv/7IMQHgAf4RyeugXBg8IjmfcwcnDkMJAiAMFAQX7cBShHegrocW7vVLJFlfxx7NRlR//+xOjFVRONf///////+pM8lP7iA4d2aQCgAfAOAVepFHrTgRHZKE9yDKN+3MIVT325Qo8NjJENv/9S5f////Un2QDFqjIMDv/////225ZP/+yDEAABHtEknruRDYKAE5XXcvEQARx3AXgWsAJgopGAQWnughBuKvkmW3g6UixEo02K7DUvpQMR/+DQCod///meYt7CGqg3d/////+hdw7VRWQrZbgOAAoMzEEgscmnKc4CGo82M1qE9rRhVN3F1d34v////Zfp7P1IBRO2AcACs//sgxAOAh0xDJ67oo2DKiGT10DIMAO6rcDA1OfHMOkRQBIop9dtqunsHmiteWz7v/8PBn////pCpPZvFntcgV//////s4sj9QFjqtAgABaBNEVDw29iEwbFAAASptAdSyjhObbHbj0Wzvbp7YpQP////uv/////////tIHeHd3AAAP/7IMQDgIbkKTPt6YJgyITmfbywXB8A3LkgwEmqewEiiEMo6uweyEBVWwDAomrET+jP////r/Eka7S2pbf/////86mxlZA7tLxAB6A2HrbEQQY18mX0WXRkhuYoA5bCIBUEVm4/////6n+sXd/zP/////9V6SOEaiL9fgAAB8IFEHr/+yDEBQCF4CUvrmmCYNsGZj22HNwEYFNXx465VBxLNGgRyWAzbFgYy3H////3/+hP//9n////6L1pIFdndwoPaGAgCHxAAHqZJkgEj+oI24gJAVgumNNoj+wO/////9z1GHdrkdA6m5yT/////5hXohBXh4aIAAAfUOBHsZue64FD//sgxAiABtwzM+2w6mDaheY9tgic2kwiOxRp71smyOAXLFt7qTht//////dochNSUIqq/////+pSaxhASszu8AAB/YGivFmgH/E5EUvmGMZoejpmgVRgxfqG////9uxYvbf0DVLW1TarO/////2VaXG6Qlm2AAAH1ATauSqY4iHw+v/7EMQIAIXoJS+uZMJgswSmfbykTJWF+7NsAbJGB1nL////6/up2GO280n//////q7GNYdMFdnhwAPQIzJgyRp1iYDwV1NBbbLDsoCpY0ln//////Z1ez//////XUNTA5ICJGMXb8CJ//swxAOAB+hbJahwoKD9C2Q1wCmUAAcCMRGGDq83MThBBK9VVCEaAjVb+omKMJh8f/8PAiv//6OmH+mhHXqt2JZ///1fQ+1KH0+rraPAaCYAt+AZICCVZBALzg3AHAygU8csz7jTfJLAiR8Nig+L//AdD5P//2du7s1Xb1pfVuVd///4tdTAJREO9VjqArclGA4AqQKI0tGAcYTj//sgxAeAhsg1J64kRODJBqY9oBmM5iQQII1C6BgGo2Nsv+IgYf/nf//+ymr/o9Flfd///73WNi75D/77BCGVnAJD2h1rib5pfBu0qAhucQzryapuC54G4CCv////r97XY3vXV6wJX3f///61SdDKQZiJkAAAAAPxV2yuADcSTMZZ8f/7EMQJgIXIHzntYSJgxgQmfawkREf+khG9GSN///////6/v33OuY3////drSfZckgV1d3kA+oimmErOi6D3vIPiifWVZRNLhxv////9P6Qlp1VuM9hH2f///GZdxJ0moi2Q2+/AAAA//sgxAMAxkAlMaXpIGCzhSY5p5yM9oYWNooepSPBGPkiMSOjXUQMIn/////6GXQhKNev7sth+uz///+n3xUgpZ0wZ2aGkALfPc7R4wAlWX6TZG3u+BBmqLP/////0AON/Zr0s2uN////6vpOsD1QZmCIgAAAH1EOIDUlCSAkFgYil//7EMQKAAXgJzPs6OBgw4Tl/ayYRNQuuVL//////skoc+9T/tbuH///9bNFaGO3FCB2RleAAAD+wNnsJgo6p08QGWhZc7r+d5SLu////+v2trbQt5rFPv7P////CPe8+pQRZ0AIcAAA//sgxAOABagnMe0AyGDGhOX1phhMHtDi999TlOENaZ2Zfn3CgpJ3////93aKfTj8yhWy9upP///R/RpRt13oAAH9gbQnmbEbeWChyYKxTIZ+xZMKl3////yX3yYmV2VuQuQs/p///99ZqulzETB3ZWeAAAAfUNFJ8o6YFxbF9gocT//7EMQKgIZgJTHspMQgvIPmPaSYhE/+HHo47/////b3Dr2opSRSzOSV5DW1jv///9JpCiF3Z2aAD2hpcwmCBBBLoRsKIZcQQhkBw3/////93XT3l1Lio7pqc/////WfTFsDKiF3VWgA//sgxAKAxlglMehkwKC1g+Y5jCAMAAAe2QGBWgs0dkB8cdGkvcmjVcoP/////13TNY3qc5X6WPs1rZ//7OxEuuXZrMHVocAAAhUNTR02JAhQraKEfnG//////RsucZZrvtNF12xi2f///rxqq6SyzNUn7UAAAAD2CBwdmzvYHm20Ef/7EMQIgYVMETGk5SBgjgHmNLy8BLwue//////xZGZ5OMViG/6v////vFbFziHM/De0MLFFk8hQaK08PFf/////9Llq1Vb+b6bH9////6k16dRPfUAAAAD2iQE+6kwO6QEPq05/74n///tQxAsABhgTMbWgACJvGSs/NwDY/////2db9GxeSRtIrQ0tu///2MoW03HhQXW3EP0QCEEEFIHIeioNAEAAAwofAw4akujd4XVSciPQwMDAcxMWRB/7Wa7WG5OjLkOHO47xCgasFBENIL4YIACwbLC+45pkXi98AMBtgGMACsLhzFTmJAfxxidBzCcHGmXTIvE0Yl3+mybmBcNCZMi8TRiXS78HwICAPjgawV+UDB/KCIKgqIgqd/lw+CADB8EATK2cGhL//0//hIGqTEFNRf/7EMQCA8AAAf4cAAAgAAA0gAAABDMuOTguMqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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///+91RXq/5hF7afShwCgIwRnAD7CNmmW5AR+VgzSHjEshsYEI0ORERlGktpBnMMVadL2mV/arh+mX/qJNm/sDd/DL/////9Zf+VPRfPVabVpq1E2an///////plVrqtnZFIxR0nBACgGcDSNwnBn5k50f/7YMQHAAvFoymtvEthrTRk9cwc/DEZkAeZG8h4yTAyQxErPsrQHs4dmwpX55HNNzZdfBoft4odylZr29CC//////6vkZum33p6+jKrI9cqWT225uv////9//fR90W90KSgdP0VEQIAMCX8VsKQV30MfB0AAQYG5gGImNAauQYuZZSayglc/jxKvmZ52e+1WTfm8ffYWlz16FV7mySMr0BeSxEbU80n/////W9Fm6e398zsdSczI01bdtK//////12Vap2XZupr3dnUl0d31lUKAgIAYAe4iQMgpZGCmkAQQYFIZi6emlQqW8SQASRT5kgwFo1uXlAKTsBFY40T68UovkPk8//7QMQaAQzAcSOuPO7hbQxk9beVbKN5TXuUIypagsV4BvwOGf/9Gglit1XuGxlSarf//+u9ZSLgIkgIoDKXqymdZU0VQk4aQoID31jCb2RP6aIBExyRIwKZSlWToLAgYGQyuYaxaWKssWnSn1yzaMXNHWT9K+kqEa426jsXNgJnj3/oW31qboeZex4UQp0c9tpPYj///XakcJxQPtFnHRT/+mprCgGgTcDWCQdx6jQSdTswEwMI//tAxAmACqxjLa3hpyFlieU1vDzMhgVDCUQaUpU/e0nbemyvJcisMdi6WVjyx2AKSI0A7WQPFJvJRHGB///7NArI520ln/pR///1qtPjWk0kRKAQIZZ9RNBAEAT4GjDis0xsxg6EAeIjoG9BiAMxkkGfBVVUIYgtQRWMT1R15suvzV9iyV2YQ69+FtThGbAT//+l84bFWOC/I0puc6Z1Hccn//+Ldi1oeMgoSJAP/b42BwIAYBX/+1DEAoAL8QMnrbytIVcNZbWdKKzArbVFixoGJKAMygiMpjgGSF+0ng49eC+KgkCbSAoWaO0b5ZtHyXvfMI1Nt5zZ5dB/4CFECv////8v76bac+1K+RtF01iqP1BRmw/L/1/dYiuLEntaAK+hX/l0uGCcCXx/YJJrD7nLkRNnIuZWWJvSIEoEPLoajKCOBcmwXaeFP18PRyYBUsThx1DR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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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xGgDDLnIN/ZCQ2tRlzBHEJOSnYwiODQskA2wNYuI086ToJmNOgtdQKfEgIy4USWHKLAQKLERGDf+QPQymMtUjktj0glWtVbH53t5SCk/8/1//9iz//1fiikcPv9V3sb////4tWoD//tQxACDS3BTJm9zIuF5CuTN7mRcgBIAxQ3KjIm1OM9QCYxUhODERgMNt8yimDN1SMhrU22YjXxyM8gkqECzQQeEUglgGytJEQJdBxLThTdI3eL5SjO5n+qL8tX6oMun7P///mNP09bv////92/Qgz8GNubCYbkX5mYCvGKeHibET5pkzmJRSHBw2onDkwMM/J8WGRjTGPYPKFolfHioCqVqrGry5gUPv87kMapJPz/1S//7lD/T7iL6Xt///8q6fZr3O62IYj////Tyi66cAf/7UMQBAwt8VSZvcyLhbggkze3kXBAAxf4RTaSqhM004swpBgDWqTMWGMxa3TLU/NXi8NFZvkBlBINCgzQAAcj6mwWTMwdiC8XUjLSL7/x6G62dHV/fNfnzHVMBf///c+1rN1ghb//////8UQyr2X/2pAGBM5GY61jRmjoDGEYNCa3RHMdZn1yawTGdFJ+QkcYgGvBIAiED5hIkoZIeshHFpyZDhsTisjbd2605NfboKv/Oq/00dY9sCPZvelfp5NvoR////ktydn31v/tSAMn/+1DEAoMKoD0mb28C4UcIJM3tsHRgr051VrjQuJ7MW8PY+heNStTRgY7n+NFrji2E5IvM+JQYQOjDzJWdANotGWPdAV3LsYh7DsbDGr9QeX/+7Qevr73o/IlbUTqaDP////2/7v+LGADKUTkNbm4cy9g/hIeEw9TMp2TcDg7GhNmyTUuApJjNR9UpaBw1MmAGCgqJ75xauNQnI1itWpOGVzyIt/Dn/Z/d0WvWQbiX//////r09jEf8RgAwzJCjWQFqNakXUxjwLD8SI5WPMeu//swxAyCCeBBJm9vIqD7B6Vd7bBsjXJkQRQW6zN+PVczg1O01H7kz1oHW36jUWtTMQ7Vysz3df84r//Td09RhLsx/////+iPlOrrFwAKAAYhLBxldR9GSMHgYuACQDLDMYsxpUNqfjcz00WINwAUMQEkoT2HPy7a9gODybUhWpkrHPXAsn////+hADf/QwAYpo4pk8LjmTYIQZCY//tAxAkCChg9Ju9sw6ErB6SN7uwMg5i0+Za4mmG4Ekg1ROugTEyNAiJTKNZc9oj8ui5jcYlTIQygckQsfq/m1/7e3/sm3gR7tv/////9tcyljGerDgBAAyg5zzduuLOK9LNon8NAwrM5i7Nk9Qt2mcrB9b4dSFBhkBpwwsEgpfbipYwPDcvndY9oKneWzNDP6f///o00V///////4mF1AAA/f+1gAwW4iTMWgoPQduMQIFMqojn/+0DEC4KKeD0nT3dgIUGG5Pa8kAQNc3i9MQfRDHnwLZtgMFBAyAMV9Go44Sy1xU9Djxu8fldazXnS1C/51X+2n1ITLOTya+Z//////+q6ptmkBTRgAy8kyzmlW+Mz4Z0wZR5DD4BAMEYLkiFdMIkKIwNwejC7AiMEwGMSAsEQBCSLmTlE6wvMvDCGUmioznPxH//b8nUhlqabKf/////9/deqAAh5v+7/AAAAAAAAAANJR2tm4f/7MMQJgAcEMVXZt4ABOYXk97xgBACPoXTVbTCwI0UiB2wDqUsHpWmAZFa8JEZMJGVDCGLhOZC2NV2AAAC6N+LQgDIYfINH4SsiuvMe0KQwXQajCtCPMF4OAKBRmDMBsYOoXpgsA3Fs1slACkTjMpnB6MlJfjz/5R3/7vfIWf/bvMf////9rdaqAAAF4HAA0ARhcsDGTA4sdeYB0P/7MMQJggg4KS2vc0BhGATk9d3gXACmhg2ZNM5pvx3hAHdmupHMMiz4QCW81RP3Zwsf0////+hzHaqd3//////SmuiwSgb/iNAG7JEHHX8m9xlG9JMm/7ZiT+JTJu0gawagFrOBETPQY1XXXdg/OzSmP12fpe3//7tGSsYKIRbler////6xe6hPqgAAAYBRxYkAZ+cm5xeSlmFucP/7MMQJAAqEJSW14AAgzITsuzZiQCYAQKBilgemEIGeYVgW5hEAUgQKgwcwZBGB0YGQGRMCot6G4ft+Qb+j/T/24c1XI9Crt2OuTSKJxb////bVy5p3yQE8V3//gAAAAAAAAAABtT0GAorJoym0qwGTgV4mgE5jDObYMDCacIRDyg2wCGEWCYgpwmoAAAOAb8CIgGQwiWdS7ghnqP/7MMQIgon0KSW94YAhFAUk9e7sBFVmFePAYNgEJgwB/mG8C+YQ4NhgRBbGEKAYAgFw4KEHAOQbZZdR1Rmf+DKv4e//+yXs2z7l/t/v////Wr7/UJQI0AZZyVRtAyAnHCNGpiJn9mRttCeA+HKjBlqeb4NGJkCAtUjeUcCv1S0tb+R/zX//+R1602uuVaz/////ojWNXwzsTQAABP/7MMQBggiEJyevb0JhBAVlde5oDIBvwAkCYlEwA88waEow5jMg8GOTRutOchlARDJ3J1b4VMD3NfbmVG4yqzwl/Ht/KO////xn93Qu9P////koGkv0C8DgDCAExIWHDK2deO8Rw9kRDbhFMpmc8l47Bg5JgxT4IWgaUkbN9giW34xX/+////v/8ApFpNhBCf//////MoUqAAAFoP/7QMQCAwioJymvc2AhHAUkje5sBA/ArQJjnjtmR8jaeEDp8Ffnr0ppr2cMgmiEBlyWYQhiEdLAQXZb7kOSmjwM/7P0v//0Y2d60q3N9zf2f///6dNq8OBEgDIloHNtKQk9jrTzGGPxOjSqc8DdMURTB3w19SDIMBPgsIIjaam5bz4UjP0M/p///u/vEiE2WJfMSK2////o6FsjmtvqAAAEgG/AjQBgQRImEE6AdaxgYvP2aOCU//swxAwCiXgpJ693YGE2hGSqvAAEZRFid9CmSjZgbGbYbmWCRM0gYAZPSwLTRa1g79C/53//9t+x7WyIXk9Kyy6+3///s++mYLCIgGfsemdMpyBnlChmJKSsYVQPpg8BTmIUB8YPYEhgHAqGDaA8CgQRGASk9FIMeW8kl+r/Lu//2VTVTfuTT0qT////2/1tuGEvanQltQAIh8r7//swxAKABqQrT9mygAk/BST3vGAEzAAAAAAAAAADe1N2zdrwBIpm0OqUyoQM7MDiB4HOJqROZUHg45hYcWt8ZsDLheDZgAAF0DfihoAxuIKjWyIkNBcDIyXQQBkNIwgQZzC4CQMGACswTAEDAnBfBACQOBCuMR22sXqJAT/0r/nP/2//vMCvIuRIP+v////39f0al9AAAAbAcACx//swxAOCCSApK69zQGEThOT17mQUhGJaqwZbDOh2yRHkDQbeBZkktn0LAMgVsQAuAVEMFJiyGu5b/0mV45+T///+iuhqVP2+RTbRqjv///r61qhbUz/pFoH/FqABkBnimaMvae0W569om0zmZfK5rQ7lCIPZUyqzVdQyCAXWqSqdoq4a/Wpn6X/63debdK+xXp//////9llbfo/R//tAxAADCTgjJa93QKEWhCSN7uwEAAAE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AcCtAmLYsmamLP/7QMQHAolQHyWvcwChULRkte0InCRpI/HjHeZzRRlk/mbhOIxCcpALA99Gpx2I1BF//9f/+tyWid9PU5CZmy62jXr///0pJxS8dMikDq/wpuVAEaBMpYzg2/zGTKsBPMfsD0HEKGCCDSe4SYEoAm5ITGgLXlg38nxk/////+7f///+83Snum2Shum2tUXp1u313X///////7X5t+ZVcxwbd1KED10AACcAcADSBGKEswYNpjZy//swxAgCyUAhK69zQCD4hCVR7eAMNDm9m4brWYNaAsAGFFYwtMGAYYaK97+Sn/pb///9dJEXCQg2kTFTtC0unFjFu////12texYDGf99qLwAYbqsxmQH2Hvkxs+ud2EgRJP0BEcWsRETHZY2JncXacd/0////tga53yFQrQ8ceCLSaaV0f//+rTItM7HKgAADKABwI0ib2swfJU8//swxAcCCRwhJa7zIGEuhKS17mAMeuURk2CCIwGSkOdwhwBGEKa4Yc8kw1SALEsBE7//6f//9qmmiTFMnAsLE9ybf//2/6vtvLljnkK9Si21Aw4FaBMc1yE0AGsQY4zqURORAEzMmTd8EMMdAEQyATgJQPa0+B3LgcQf0f6f/+VmGvDkWt1sG20SIlayX///9P1NQ4WZKv9dbKKK//tAxAACiaAnJa93IGD/hGX13egEAAAcoG4ADQJg7xFmSoHMcUmoawl0ZGhqYSEmBKRDGAHQsOLINAaK1mcopRFpUf/ub////+MS9oVQbH0IkpV2hf///+N0Rhwwr7sWyRCfge0Qz6m88Btw5oCO4ATtpjKx0RV7jIQvEveRMhiUilc4R/////pntdd5J+Zo2uatZSpil///9N6FjFpkxjAnAAANgGHAjQJm7IVG3yleZAwBRjL/+zDECgAKtCUlteAAIM0E6ns2EAEiFmD4CUYG4PpgAARGAmAwOAKg4C0FADJ5RV77MWgTM5/Z/mv/9nS5dxWxzFzhp7pr6f///oyU4FycbCbOWRWkU0EAfn7+92gAAAAAAAAAGyjIsLmMmjHTaDcSDTOTc4Y4NVPjRw0w8hOnEJViYIBTqCs4PLQAABXgcADRhGC+nsaOR+BgLBf/+0DECQIKCCcpveSAIS6FJLXeZAyGDiD2YUILoJBbEgUgUBSYA4AYMAMUtZtMOZep6akE6P1v////peKOZfpJKJPWrcl17P////oPOawc8PfZ41agAcCNIm/Y1nlxVHohoctZhq8aGDDefJ5hMGEcIhQEPGmc2bjZIRDk/v//zf//300XTK2GEsL+LmbFoVkf//8nSXi6LDAMU9VCryMAABwAYcWJAmKm6SaDDMZn1insGOcIBP/7MMQLggkUHyWvcwChIIPkte7oBBmg8mRReCQKZRgMxRdvS7rsuSATv+7/f/61fl5zZvQm+/eKOMDej///06t4mFxT/uy6gA34FaBMImCUxSi1DhU9DW0AzQPztbQO3EZUMMAJyPCELWaw1DRj/ub+j//xVyxLN7XLoYrjXVIV////8gAWR7jzdnqqmyJBAAAmAAAA9thoY7p5fP/7MMQGgglloy+ugE/hHgPkqe5oBNgCbkyEFYDGUFwhMGQCLhJ5K1r1bVnDzS3n/75v1mo2+t+/v9F39fb1Pb2//b//qvor2Lc1XWdjLIRnD//1eABwK0CZLiURrzp5gvCnCZmFvho555UQcKEnoAIIxM5WEf2Yd//9Lv/6LRAWSK2bM8fQrW/M4rL///+uhQsfPOtQve1vbY5CAP/7MMQAgIi4ISuvc0Bg+oPmNd1kBAAeAHAH0gRhWK5GLwLid1PoIcQGmJgsHjaYxAESJEAMvE+9hxMZ3/p///xdKsolDD1ezaYLveohc30///6rrm9Ttzv/qAAB3AH1sMhb+N1LQBr4+VMx3TJDB7aGicrFlBHLVnpZQZ/////9rKXVpziVi5Qmitj28lzC///u9mLQGXBpdQAADP/7QMQBggmQHyWu7wJhCAPlde5oBAABwKkCcHuSeiMebHAGbGjIU/xj4SbuTgYOEOg2A0lEdsMTlZv//6X//7xgokq9BKu1n2UJfTpaY///94ZMsEZJjCdPdc9vQRjvgBwANIGYfKo5lOILmkS2Ji05xwIMg8mCRJILFg6A9k6+FNl8O/7v///58Zaj46tTb6WJuA27//+my1qGIW4CkDKVAAAtAHAA0gZgIKRmBsU4czURrk5n//swxAqAiIAfK69zQCD7g+Y13eQEwHjXA5opmBCKVsTPf9O6LQSe/7v///t0VcslfrMX7y6iJ1Wf///+6oUKEANBj+gAAH8AfWwzqTs7/cA/IXMgfDtLLaHCInMqmoCt2WqDLFgB3////+hOp6FsRoPIS9FhxWvb/Z/9fpsequw0UCgAACFpAAAAA/GNVZw7rix5WiEkmGQUxoeD//sgxAyACE2hN+4AUeEMhCV17mgEzdUJCGzTYSyt+JfZ3///9eyLSj66G216f/J/////6en0XRD6IzXZ3PFAAALADgAaSIwQFZjIQBGOtncz6kD5IiUwc8OVjAUXHgi12avTRzl8N/6f///2zf69+aaaNRBfSle23///s+l4e/9+6v/7MMQAAAdcHzXu6wAhFgPkqd3gTAAAAngAAAAD4Uxne41OgIzDI+BE8BApgk7MmSLvR+dWNtLoXv//////9FV0XSKduT+n//+u3zhdBlEqABYAHFjQJtvb53hjpqYHIG04/ktNBWDTwMxUNGhhYQGQ4K5pqkd//9L//26pmK7Ht2ZlYQcld9vX///15bkibWubr1999QAAJgBwBv/7MMQDAIiMISmvc0Ag/wRm/d1gDBG0YhK7JlqH6m7yackJhmVghjG3EKNo4lsUsH7RSdiRUIe/0f//xWOd/tbW5v+f1J0r3f//kZyesGseg7/9QAAGj1QAPxjBiDzGNSj1vDLySiyYAUClMwCDA5REdWte7LatJImHv//////fTbuvbW1X2t///3uJJULMegeNDaoAAHcAAAD6iP/7MMQEAAnpozG10QAgt4Sq+zYAAGsg+nkpSGYgMmAZSGBgGmBwUDwPu2kinir5vlg4Yeee1////////////7d+b3SfZHZvRXptvnal1///////++nZHfu9nSdB0EOzf/wAAAAAAAAAAADrUlkBlCQTAJiw/LjWCYIXQNzByUbuZgpCIgazC9sHkVVBDdv+8AAAAAAAAAAAA6UqM//7EMQIgAYMJVHZsAAAuASp+zYAAJEjaRZMM3wLX0cwKmKjJz6qYIcGxlgsikxFPLysFsdgI7d/ugAAAAAAAAAAABxWqQ3k1eg0iMKDQyw2BAWbsUBBIGc40XjRVYJgfFdmagAALKAB//tAxAKCCrAfJb3gACEqA+U17mAMwK0CZJZkplTI3mPsLeYVoeJgghDmA+D4KAIGAaAKCQHSgCYSACV480glgwV//9L//6SzWyqST2Yo9MkdTXpv153//+6hdREm8mgO9GlQ11K4ABwBtGEYaa65lNGXnDwWa8TRokNGGSoMaLKDCiKIkBjjM2AzP/u//+mxtjE2WGnNa6tA0cp+3D3bnf//e2xiHiyA6lkVNq/3+i8AEq4AAAf/+zDEAwCH4B8tru8AYPiD5j3eZATWRmM3Jmw9yHFuRimGbEKCI4MCmYBUqOaFDNGyw1Fjv////9n6yizLt7nu8rkl1r1f//5/YKP6yhIAAABYAA+ohnYAZ3SNhwQTmdz8e1IMsBwqhqYCjzUrTyONZNf/////ULr2705Fcxx14ze0Nf///pcECRkVilUAACYAAAD2iGgmaGxdBir/+zDEB4II3B8vru8AYTw0ZXXtCGQ6c4KmpioENDkl2C/aXrLnuYBH6jv/////I1Zy/Q5wwwsG6JBzmITLf//+2FhkTiIKi4qDBv//2OgDgAaQMwD1PDJiIqMScDUw3QOTfwjOMAySWaKBhMDV457xOpTs///7////////9V779vUnVXpXd60RLddF0b//////b92ZPszopnK28oz/+0DEAAAJnZsvroBRaS4EJLXt4BQAAH7gAAf2iGX8BG0kzGRwoGTQbGOAFAgFgUGhd9S5DRMF1mRtcgD95a5///pt12bXb/7K8xfRW9X5llvRf//////rautF11MuRA6vjAAAGUADgVoExnUrTMeTjPIpTy7cGmphakaQSEQKCEmMIKW6zdYN3VHhr//zf/+PGUJDl28qtg+UMe4A5a///+ur1JYk+LxtmW0q/fUAACagcADRhP/7MMQEAomUJSmvcyBhAoSlNe3oBGFyuOZOxL51ETGGGICrcYfFB6DGAUCREylvSxlsPRCFS2sa/o////JMMJ4rWpzNo9qhyU3f///9DHhCBRg88LLb7f9MfNgLGEYaCHJlEnyGqxR1X6ax4aEkGiRgGBAoGCpmLcZAy6GYdltUFf6P///71tR8dcQjBuu+2/NJ//9VP6ELJutVAP/7MMQAgAhEITHu70AhA4QltroABAAAaAAAAB9RDOwiDtcTz/hM51EOoVEYY0gVnqqyXTuvYth/aSVCb/////r5dqtJmg2gVUpB6K0KX0////ol5KkPAAA3AAAD6wM1S+Y0dq8yXHMFI4YkiaKgIND6VQITtLoNCgWu0yZ7////9W7yHHeowravYmnV///9bZHQLj93/+pCC7r/oP/7MMQCgAgMJVH5wABA8YTqfzYAQAAAAAAAAAAAAAAc0uUgEShabI3nfCIEG4meoGAhngZCEQmkh6aPBQ8DLbS+hgmnP//////////////9bAGPnz4AAAAAAAAAAAAAHBsdSWBI79ZDgsRHg8EG8JYOCgjoCB85QNFmRVmLQcAaB2v/////////////qQA4e6zwAAAAAAAAAAAAB//7MMQHgAfIJVH5wBIBOgRlN7wABADhzhMZAk0qTAglDWmEIBNIEAFF0SciYBnQjBQLpfU4cIYW3TL////////////6wAAJsBwALGEYQKn5jXBMmM6EoYS4WRhRgAmAqAaJA0w6KgCg4BpGtfxc5r0vltkV/3f////cznzR1w59hE12vXo///9SXPeElqINEX//sQAAbwAAAPqIY//7MMQEgAgkHzGu6yAhHAPltd5oBFRWbmxUYJMfq2ZMRnmgrlKdNRcDU4GadDMUOf////9WtbppV2pq0hxhfoU2tp3///6h4uqLwEI1gAAXAAAD+2M1SVw95Tk6EGQV0gP1MWRA2VeSLac6sNRd7ZoHd////3dkY3UWKXuw0fcxyZ2MfcGCiTf/9n9LZsmxQ4Rl7RGqAAAlAHAGsf/7MMQDgok0Hymvb0AhAgPlNe3kDIRiAKBGFOYifi5n4Vxks4FMjYAxYQOGioJFFxGfwNFH/9///1cVbuU5SnbM4tKi5JycWv5H///6wo+keMYd/2MZr12ADRtGEGo4Zbx2h8JIcLZiaWYcancgOhg4ZHFINmmS67Tv+////82eAio9yfC3GKYhmzYzR///f2rpOtYc/+X3VQAAJ//7MMQBgIfoHy2ubyAg9oPmPd1gDAAAB9YGbNhB760HjHgq6G1AaloKoIgEQUI2JPI0aUXQh/////M/M5ZWx9Itcmou16/Yd///212WmVGlh0AARKIAA+ohkTRprtOJhIZ1K4mpMUhDIl9EGkzAgECINModox//////Iodtz5AwlZvs6LhK7///r1bGHWMWABM+4AAA9ohijw4tFP/7MMQGgAh0Iy+u7wBhHQTltd3oBJ8aMbylAKHChWaGkISQrAy/E84amsVpOB53////9ibe1q22BYgJ9aF2tHIFm3///b+QaNTbeLAAAX4AAD+0MzOlM6rrA3wGOyIzorjMwQgypmSAk0lRvMsuWS5/4TW63////o2JP2JZaWJ4qTVEo9vWiTTen///07xAuImKKwAgfuAAAPrYaP/7QMQEgAkYHy+u7wBhOwSlNe5oBAMAdpsyfcBnXnpowYYeUg5hlgmWla7zFlqtCfkcHn/////5HrMoFHvFBgyG6MeoXLek0L9vt7eq7eNtg4EjyrwAAFgBwANIEYaCjRg9EnnMT6asbB4JJjXo6CZOXEFh6UDbPpJZp1bev9P///2LuEcL2G1DiBlKHi9yLgbAQjORt3///oYbXFgmomE3f/6VAAEBWIAAAB7RDG3LDdqjDrmC//swxAkAiLQlL+7p4GEdhOY9zeAErvOmTEakAqAGQjYhghLESBDLplV4EDv////5xaRSRZ7Vsc042qL6TfZ///Yz2CgsQFmAmAAIi8yAfYQ1GFDlBqOMDjTUI9mBHxI5cBOheasdIzRnEY3YdyHw1/////X00lkzz1HEiXnGg282paloNf//7NIVVJoCxMAIAACv4AAH9ohl7v5v//tAxAYACbAlLa7vAGElBCU17mgEFjJjqSdgkgrcMgMzSeH2LqmT6XAqVuMpvUtKS////+nHIWufheyJmip0+1aHzrj8KDXrX//rrox9ptww4VCYsCDwASNgBwBtGEYSKiJh6CbHT0QbfCAyZNVHNeNEY8SCmMApAMVQdoHCnf+j///oqbrRCc6sWYseUW11vR///+jreaHHlqXJ//TsoQAApwAAB/YIZ7O6d8zMLsJwxsdkQBX/+yDECwCIqCEtru9AIPMEJn3MPFSYQSSGR+RqVy0F7H6xs////+qR3Kc4iXGO99BQ+hNNtnZ///z7K5giXKOJGQ27+kAACFpAA+wpqyrH67+JRkyqSzFIAvCFMSLol2CbPyUN7BN//////6ES2px9hIUyQyi0X2///+LYsoWUpJEA//swxACCiDQfL67vQCEEA+X93WQEAG4AAAD2iGHmtGWRynrppjkMA0oBHizpFVTZPdW5330gSLu/////3RXSp1fp0ja09AbPkSn//+jZSTDIXUTUZLwAAH1EMY7GNxKQMe+OZbN18wzxMdERVFnSkG3aLAjEP/////rF/QbkiDypYuVELWTVD+j//+0xh1igywOmRYi0agAApwAA//tAxAKACKWlL64AT+FCBGU17mgEAPbYbLVZ1JIjUgNJjgWUwqBzDoBZEgUrSsVZ7ozdfvf//69P3vQtf3fqR7/++j////f/6OrdW0pqRMrITC//9QAAG4A4AGjbMQ9MsyPjyzP5ZOHCM9RQ0BE34MEhxkSUChIG461X+kMn//u///9sqPW1wcckRAFNblRSDPqYjIq2//q1WsFCSSoDgI8kb/7fTQAA9QBwALGGYMSXJgfEOHL/+zDECACKPZkpr3BBaQAEJjXd5AR0sa3K5loKmMAKBkFVGAImYhWyFDBTaUik///b/////////ad79dC1RWfr366Pvbv9P/////p/QjolVcxHQ6Ry4B4AAO4A+whlgf5yGsB0wWZYsAttroGuUqYG3VVrysygmQ9//////umHgZSzVqXvaTbsCI2NN1///+ziwmDyhKYQAAA3AAD/+zDEAoJIxCMvru8gIPSEJfXdsCQA9thm9BxxPAoaQmNupuuOsGjNVSsUyf15X/aBA17f/////vNRyHOyqRXsW8uwZHo+9gsoh+yv9r2pFFPIuU88Cl4AAA5htoRpQGZ6qOZewGjAChwcroQo1r9alDoWpFDv////17bmJTSZ7iXfIIbUxNSk////dueBQCICgseqAIBlAAAH1gb/+zDEBACIOB0tru8gIRGy5fXACfVk7ZhvNcRkiYcwam5KaoR2gqGKEo5pzPq6cNhz////61fqJzQ5eyHl563VXZ///9bHUSiEmRZpz/+wABHYAe0Q2PIzpUjNCAUHUIHLswWCAcN0+0Hi2CakTYdar8///pp77UT19VPfN93R/0V+97a//////0p+y6K2/MyIMh3VABAVV4AAAB7/+0DEBACIGCEv7u8AITu0Jj3QCjTBDIfMTZKQzdSU5oKJaCmBOy80eWEo+hw1pPVarwH/////3q27JImx1XmfovR//9mZ30DwXU8HknAAAEniAD7amD1JmMq6GSYpGGoqkQ4mBQFAIJmEInJFIlsXTqfmlikWy1l//7bTaeblmkWWz5Nuqq/2ZFWxF0//+T7//fO+1tjGmM5ZkdAiAAD2AAAA+ohqUUZ3ecRlcDIIJAcAEwOBwv/7IMQMgAiAHy+10AAg8ISqPzYCACC5v1AU1VYmDNLg6uO/////9SVIHJK2MY8shwbwhZxEzf///ou9o0JGlh0ADLq/8AAAAAAAAAAAAAcA99hVUMoQkzTGi1+jOkI3xDN7EAcvGigYYFBwVIUL51RmRf////////////RVAABtAHD/+0DEAoCLhZ0pveEAIQmEZf3dvAwA0cZhRIhGUEEcYwYBxh0g6GAUDEYAoGhgGgNgoABCWFAAGEvw+rO+5d///7///////+x0fZdT9Ot3TsqLd9fSV9V//q+nb///+u1E+33ojnegMBs//sWAAAgsgAfUQyNh42WjgzpIGzUMiQaOAIYpQFQjJD00ZzYxtNP////+5XKZ0LLZpHGRZNHvIWp///qc6wvKJUJBQoE1ABB3AAAH1v/7QMQDgAmJly2uAE+pXzMlNe2ILIhtnnnUueZ+D5qcLmUweYTFxdIEgVLdazOmOs+jEkv4f/9//Rn/ZvVXfbumyvSbWj2ntd31/////f/SrLLfKhFVWjhsXAAACgAcADSBmG6nCZEhbp8IudU1GtiRhKIBRBLxGwWBUIHyb9mMt///2////////2rXst+52p6O9WWrMl6PqrXs1+j////+v7fdrMjPKhFe5AShR/V/t5gANbgA//tAxAIACkGjL7XRACEGhGn/OABAAAD6iGfk1mcrnGZoDGA5AjQ4AgLhCBghAJB8aAJJha6Aulo/////////////v/M/72Ut+1L0OXvdaft/b/////+7FVpXkoVSaKitV0x0QC+e+/AAAAAAAAAAAAAA4N9jwweAzvwtMDhQxaCUAhmdEmIRgZtNgQJTMgkCgJXN4QBbRMGmf/////////////AKAAJ3AAAA9thm5Ixqu+5jCDT/+zDECICI7B8vvdAAIQgD5fXd5ARjIFZiKAZgMDxgIBLHSgCkOMFNswqL2m/////6Bas1amPIzOj0i798IUV/V/9WupKIcC7iwWKgBATAD6iFTGDYhHDwyUNAzDgMRw0gwaEr1kzUZE9U5Tv/////7LKxVrihUkUQH1iz0UttuFC4af//+/pw0h6d44J1AAA+AAAH9khli+RsRKD/+zDEBwKJDB8tru2A4Ri0Zf3ACfxtykcwTALQCxAJDiC6gSXAKnwjkAhP////6dD+sjyw9D4wUsGq0yYq7exzmq//q3qahoZFlsGGyQCASwAB7bTT/bOofcyoJzKY3MGgkChwBBhwVgVrrXwarMx127XKt2siyVc2fq/2sq7Im2n1RNO3v////+++7rozorO9SoRvhkUAFT8AAAf/+0DEAwCJQaMvroBPoS0zZbXQCfX2iGJuSmrishynGCwtAoojA0EAEHAUAALgMsI5SfC7ZRUmrX/9H/utF0fV/Lb/7yU5v99dMn//////r+TY6h0SfBWUZQAALwB7BDHSkzW2WDD0RjEwkzCwGjAMECgLWYparCsUcxrD/TNv//rf/PO5ZHoj/qhSf7oXSt+nXXWv//////r1Z0sZkPY8uhAaBRUAAu8AAAD6iGbQsHUITn0C5//7MMQIgIhIHy+u7wBhFARl/roABA6caMNioceArxQ8QBNZX40iNxgI/////8U91cLGCxHngfRaKFWbNX//+9jBtSdqhCVAAACaAAPaIaBVMZ4wWYwiGEGCYfhOVAGEg5TcWmtxS6lfppk9IOf////9dhpJTIV6RecaVjVIePa85Ju//+r7WNn0tQSVUw3a78AAAAAAAAAAAAAAHP/7MMQIAAgkJVH5wABA9QRp/zYAQNKloxeBAdRi/5zYPAojE1xMOBI1YKjCI/GlqZ1AjFMVr4gIdQj///////////////UgDcVteAAAAAAAAAAAAABwZuqiACPJZRYDBDALEhrBOX6O8HBpHNGByI9bS8mbYBwGe/////////////+9agMHyK2QAAAAAAAAAAAABxz+s8yIDNdNAv/7MMQMAAfUJU/5sBBBSbRld7ogBAqF/4EhJqgUEGpSWmFAhzCEFStlVlzdwz3////////////1E//8sAABdwOABrIzL31zS45zSsXDEMgCY7x4GiIOGuM7LpKjdZHpiU9zml//9v///////+jbafdbNWtCVyvyIyPr622yaN/9//0+np+voqI9Fdroc4kAAfgAAAf2CGXUvm68tP/7MMQHAIh4Hy2u6yAhIbLltdAJ9Sr4+m8RyGiCCxUXVEEgSgNgCXz+3/////u3bbkipxo1E8hqoqNtON0j0f//9a6/FGBEBGwoTAAA+AHtEM/j0O6TTNAgVMswSMWgBBwBgITZUn0rtesUYOrmRc///2/Wqp7Mvs6e737Nu+ul5NEVrtp//////dv+dmLrULhiS9UAAGgAAAf2iP/7MMQEAMjgHS2u7yAhCjJl0dAJ/WTGRGSbvm9mpySsM7szIyS7yYKyGUvYz2PHf////06Re888MmzfYEClxs6Tl1ig0JKRp//0Wd0XS+sGnjBKJAAEPwAYa2cbLO0EHUYnimLE8AAJBQWLnLdJytCkEBrr5n//W7170+9MnLvuj0a7S77PuyX///////Rm78tHIGY2aNUAAAJoAP/7MMQCgIk0Iy/ubwAg+YPmNczgDAAAH1ENKtA49KDgCQwJIPzjNEHgXqtlqa+nkaVcldrX////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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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2u8ujuuptfrV0ZNr5mX9v////9n9+3naigkqWQUmVQAAAIAA/tH/+zDEBIEHwaUt6YBU4Oo0JLUwCPwLSI3AHVU9////X/29/cjL1ojonTVXR7rs/qutSJWVjlbf//////7O6o1rIiMVWVToXQF/6hKwB+BWmsdYHVA72Vrt/b/////+yKz9Tf2f7V8t1uzf+v+77//////3nZTM6o5F3UqFFPZnuioo65qVUbFAAA4GsYQbxF4hh0r//3f/+erTvav/+xDEC4EF+AsnouDAIOc0ZLUwCPxO/NQs4sdfa1WoCUD////tqax8DPPBT/xQRQAcC1sLIcAW82v3ai/////0+7bVsrtTSv/X23UrHNk20ZUfpv//////9frR69jvoqoDpubXZhvctf/7IMQAAQZBozGogE/gvQFk9AwEBB9gAAAAAPtbjrAAyKl////u21tP+7zZH9X1VnbTMdNESn///1/Zurm1rXOimOVWRSKHGcAAHFbCaIBMgKf////d/4u8AphG7vSx8ghBJIx/Sa///1tSMQ0Q4uoHGd33ynqVO2AAAAAA+tjTMA//+yDEBYEGFZ0vqIBP6OezZKkQCPxG6lf/2n0Xe09fVu7qa+XdfNaR737f2///1r/9t6oll3emjWKMseAOBa0FmoPJ7+7////+v3rp9L1TTe9NL00nc6f20/v9/////+bX32zvLnoRoYeCCLjySmw6lSGLeQVbUAAAAAf22NKQCrNq//sgxAaBxqWjLaiATeCwAWWQF4QE///+3e+9pant1t1vPNT63qRbNe6LbzdP1//v/v+m91esjqrnI7KhgS1ABtfA1A//////pItdLYZVrzy3BYuetcZWtdRFlqq//6dRWONzRoUB0iRLKloAAAAAB/YGpyMBt1D//+/S3o28yNt2W//7EMQMAYZhjSuoAE3gwbRl9RAJ/Jl1fexPry1tnr9/////9ffv3qbqg7CxRE7/6F4APqKjMwGU///2vp0tNVC1MnqcjOd027Wq72qfV/////++t7NT3mdlXoc4xykIILVXAAAAAAe2//sgxAOBhcgLK6C8QCCxgWW0F4QESPkHgJf/////1Vf3djHsZUKrrzCqWs3kNn/4ytJBpVyTyViEXBEFFYAPaIWQWN//////pQ1KC6p9CrhhY0+ByyiwVe4QtC8x///47ZGJDr2BiASaGAAAAAAH9omVhMP///0900/W7VRj8rsqbf/7EMQMgYZtCS2mgE3gqTDl9NAJ/UdTUZnVEUcoFgIdZ//9NZlSUqfMGhMgue/9Y+AHttzgFyh///Z6Iq/t207/pbsVtFl20b/3////r/dKorGiDmI2g3ZEpX4AAAAAB/bItwQT//////sQxAcBhjAJLaC8ACCqgWV0BYQE//xmqgKvilvqIgJbgjUEEg4An3izG//+v62kiUTAw0DN//6BKANJHIQX/////Kc9e+HFoAnmcI8vPpQiyxWvv/MdXvsYJHOQUDRVH/60qhgAAAD/+yDEAgOG3aMrpoBN4KwxpcygCfwAB9bJmQSP//9fp/v2071LayqrHb6VXlat0mXqq9v////pv7XK6uyuUrIjOiuTUGv/uyn1tyoMf//670ZfvmvepTO9UdvXS7u/t/vybf//zfX9XqfUjI49zjxV///TGAAAAAAA+olAB//////1//sgxAeBBZQLL6AkACDZgWV0FoQEdz91TXh1YuPBBVIspLJlTA0z//+9rYWVIoSEwkxC1AAAH1lauFk//////i5tiEXLsLCIVLGHKMgFJoYam2qWeXretHZUzY7/GF8oIhEESZk2v//qH4AAAAAA+2uoHG////b+x1fd9rM6v26a7P/7EMQMgYXpozGlAE/gowFltAMABMuuxi9PP///T//6Ix3QqndjqyOyEoGFAA9tjAP//////exxT24otErx4dc1g1aU39lv9fVrxUgxBIRONDxYGBgAAAAAAPqLY1//////u8ip7Fv0//sQxAoBBWwLL6AkACCusKV0cAm9vIKDqpNM5SqFf//7s89qnC4skmYMioPCgAAAfWScHP//3//7v1vr2s1XSqNOvz/zdenf/X///rTn3bu2DUcKUyKpmxQAAAAAAPsLBv/////+y6X/+xDECAHGIAsvoBQAILMzpdBwCf3JVqmyzHPBs4oUJnEiSQEtJRv//q0pF1nSDwqdONEwABQYADUMf/96utKta7tbRkZUpYy2Q9brvWj2st+v/////06XmXlfUhmUrHIUZZUQAAAAAP/7IMQCgYZdmSuhAE3oubPltCAJvQfW18P///Wq229q7t31mK111RivXQ+us5lWZGZH6/dq//v7//er8mm1zJQwy0ooAGtt4b///9v/au/tTPTurUtZa13q5SEQv337/T/9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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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iMkANeSsbEWqLgCIIWKVMBoEb4+g+npAS7IYbPFnbf53YYZXBjZFMp2HpiH+wy8WUizfBoNiHId////////////////+gAAAAABURb3gAAAAAAAwhGDsAQMxhA0NXDBxxMH0M5OlzAarMwmU3cejhacMJGU0GSDNwaMgDgwkDTGI1BQ/MslgzZgrSgMQCKsUvcgDPIjKyix6Cw7butPqRWUPBKEen5StUUf2BWvx7koYJPuZJW7S/dS+AP/7cMQAgBAQeS25zIACC47ldzmQAAAAAAbMa+oAAAAAAAM6zU7TQTOljEDaMQHA8+mjgJTMoBQ4+1jBNFOgp4068jFoZDkcaUL5lAfAk7mHhecSh0GExgS6Yo5VFIjQUKyoZDDgkLkr49Bz/NDj8akkQanQODdgW41F1ovDHWuMvi0n6+LBoCkEFf///////////37wAAAAAGQ4/qAAAAAAADGSiOrcUzN/jgndNbvw61hDJZEMIMc62ADoJePVuc1YhQoXjD4xB4gNPkMyUETMouBBpKWY2JoDHLSJWmMSmo0ginXrACFEQf1ld2ibFF16u/D0elzKn8UEZy+zsv8sXvGIY5OQ1trv////////////////8fUAAAAAAAABFYO/gAAAAAAAwAXzftpM2083XtTJXJNMVcz/+2DEEIAQTHMt+cyAAgqOZXc7kADEDDTpcNKps5chjYp9McgIxSTkRDeROBzgMjBox8QwwdS81YzrRQFg9IOJeOgUGT0fxFldMfX42VszsMEEIK1Vbmvxpr/Xccl2cuqluZf7B0wz////////////6f/+qn/9IAAAAAFKkt+AAAAAAABh4CBnWsRgkVBmI6Zks+xljRJiiogc4JpQSIYkZgcihhQiBiKChgCEgKUUwRAYxpLUxWEgRjDAAVOHUDFuB2aZYQoiWrM0OXAslDVq7rO2/zXk6X1+yrxnH07F2vd/y7tL/+puux3///////////9f/6lf/+oAAAAABGvW/gAAAAD/+2DEBgAO+HUvucwAAhAPJfc7gAAAA0jCgeYBEEzkoEMjvMlhZtM5A6lnKB4ZiHhloUmSxaYdF5hwMmRggjoaNMplkGmZwtJOAaCYuHwQ2Lk4kFIaI39Yc1aFS1ynIUcVPhSLdathg5TQMf/FL7v/uxUAn////////////////6gCAAAAAI3NfhgA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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","module.exports = require(\"../../../../../../../../../scratch-vm/node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"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\")","'use strict'\n\nmodule.exports = function (base64Data) {\n var isBrowser = typeof window !== 'undefined' && typeof window.atob === 'function'\n var binary = isBrowser ? window.atob(base64Data) : Buffer.from(base64Data, 'base64').toString('binary')\n var bytes = new Uint8Array(binary.length)\n\n for (var i = 0; i < binary.length; ++i) {\n bytes[i] = binary.charCodeAt(i)\n }\n\n return bytes.buffer\n}\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"extension-worker.js\");\n};","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","/*!\n * Paper.js v0.11.8 - The Swiss Army Knife of Vector Graphics Scripting.\n * http://paperjs.org/\n *\n * Copyright (c) 2011 - 2016, Juerg Lehni & Jonathan Puckey\n * http://scratchdisk.com/ & http://jonathanpuckey.com/\n *\n * Distributed under the MIT license. See LICENSE file for details.\n *\n * All rights reserved.\n *\n * Date: Mon Jul 29 11:21:04 2019 -0400\n *\n ***\n *\n * Straps.js - Class inheritance library with support for bean-style accessors\n *\n * Copyright (c) 2006 - 2016 Juerg Lehni\n * http://scratchdisk.com/\n *\n * Distributed under the MIT license.\n *\n ***\n *\n * Acorn.js\n * http://marijnhaverbeke.nl/acorn/\n *\n * Acorn is a tiny, fast JavaScript parser written in JavaScript,\n * created by Marijn Haverbeke and released under an MIT license.\n *\n */\n\nvar paper = function(self, undefined) {\n\nself = self || require('./node/self.js');\nvar window = self.window ? self.window : self,\n\tdocument = self.document;\n\nvar Base = new function() {\n\tvar hidden = /^(statics|enumerable|beans|preserve)$/,\n\t\tarray = [],\n\t\tslice = array.slice,\n\t\tcreate = Object.create,\n\t\tdescribe = Object.getOwnPropertyDescriptor,\n\t\tdefine = Object.defineProperty,\n\n\t\tforEach = array.forEach || function(iter, bind) {\n\t\t\tfor (var i = 0, l = this.length; i < l; i++) {\n\t\t\t\titer.call(bind, this[i], i, this);\n\t\t\t}\n\t\t},\n\n\t\tforIn = function(iter, bind) {\n\t\t\tfor (var i in this) {\n\t\t\t\tif (this.hasOwnProperty(i))\n\t\t\t\t\titer.call(bind, this[i], i, this);\n\t\t\t}\n\t\t},\n\n\t\tset = Object.assign || function(dst) {\n\t\t\tfor (var i = 1, l = arguments.length; i < l; i++) {\n\t\t\t\tvar src = arguments[i];\n\t\t\t\tfor (var key in src) {\n\t\t\t\t\tif (src.hasOwnProperty(key))\n\t\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dst;\n\t\t},\n\n\t\teach = function(obj, iter, bind) {\n\t\t\tif (obj) {\n\t\t\t\tvar desc = describe(obj, 'length');\n\t\t\t\t(desc && typeof desc.value === 'number' ? forEach : forIn)\n\t\t\t\t\t.call(obj, iter, bind = bind || obj);\n\t\t\t}\n\t\t\treturn bind;\n\t\t};\n\n\tfunction inject(dest, src, enumerable, beans, preserve) {\n\t\tvar beansNames = {};\n\n\t\tfunction field(name, val) {\n\t\t\tval = val || (val = describe(src, name))\n\t\t\t\t\t&& (val.get ? val : val.value);\n\t\t\tif (typeof val === 'string' && val[0] === '#')\n\t\t\t\tval = dest[val.substring(1)] || val;\n\t\t\tvar isFunc = typeof val === 'function',\n\t\t\t\tres = val,\n\t\t\t\tprev = preserve || isFunc && !val.base\n\t\t\t\t\t\t? (val && val.get ? name in dest : dest[name])\n\t\t\t\t\t\t: null,\n\t\t\t\tbean;\n\t\t\tif (!preserve || !prev) {\n\t\t\t\tif (isFunc && prev)\n\t\t\t\t\tval.base = prev;\n\t\t\t\tif (isFunc && beans !== false\n\t\t\t\t\t\t&& (bean = name.match(/^([gs]et|is)(([A-Z])(.*))$/)))\n\t\t\t\t\tbeansNames[bean[3].toLowerCase() + bean[4]] = bean[2];\n\t\t\t\tif (!res || isFunc || !res.get || typeof res.get !== 'function'\n\t\t\t\t\t\t|| !Base.isPlainObject(res)) {\n\t\t\t\t\tres = { value: res, writable: true };\n\t\t\t\t}\n\t\t\t\tif ((describe(dest, name)\n\t\t\t\t\t\t|| { configurable: true }).configurable) {\n\t\t\t\t\tres.configurable = true;\n\t\t\t\t\tres.enumerable = enumerable != null ? enumerable : !bean;\n\t\t\t\t}\n\t\t\t\tdefine(dest, name, res);\n\t\t\t}\n\t\t}\n\t\tif (src) {\n\t\t\tfor (var name in src) {\n\t\t\t\tif (src.hasOwnProperty(name) && !hidden.test(name))\n\t\t\t\t\tfield(name);\n\t\t\t}\n\t\t\tfor (var name in beansNames) {\n\t\t\t\tvar part = beansNames[name],\n\t\t\t\t\tset = dest['set' + part],\n\t\t\t\t\tget = dest['get' + part] || set && dest['is' + part];\n\t\t\t\tif (get && (beans === true || get.length === 0))\n\t\t\t\t\tfield(name, { get: get, set: set });\n\t\t\t}\n\t\t}\n\t\treturn dest;\n\t}\n\n\tfunction Base() {\n\t\tfor (var i = 0, l = arguments.length; i < l; i++) {\n\t\t\tvar src = arguments[i];\n\t\t\tif (src)\n\t\t\t\tset(this, src);\n\t\t}\n\t\treturn this;\n\t}\n\n\treturn inject(Base, {\n\t\tinject: function(src) {\n\t\t\tif (src) {\n\t\t\t\tvar statics = src.statics === true ? src : src.statics,\n\t\t\t\t\tbeans = src.beans,\n\t\t\t\t\tpreserve = src.preserve;\n\t\t\t\tif (statics !== src)\n\t\t\t\t\tinject(this.prototype, src, src.enumerable, beans, preserve);\n\t\t\t\tinject(this, statics, null, beans, preserve);\n\t\t\t}\n\t\t\tfor (var i = 1, l = arguments.length; i < l; i++)\n\t\t\t\tthis.inject(arguments[i]);\n\t\t\treturn this;\n\t\t},\n\n\t\textend: function() {\n\t\t\tvar base = this,\n\t\t\t\tctor,\n\t\t\t\tproto;\n\t\t\tfor (var i = 0, obj, l = arguments.length;\n\t\t\t\t\ti < l && !(ctor && proto); i++) {\n\t\t\t\tobj = arguments[i];\n\t\t\t\tctor = ctor || obj.initialize;\n\t\t\t\tproto = proto || obj.prototype;\n\t\t\t}\n\t\t\tctor = ctor || function() {\n\t\t\t\tbase.apply(this, arguments);\n\t\t\t};\n\t\t\tproto = ctor.prototype = proto || create(this.prototype);\n\t\t\tdefine(proto, 'constructor',\n\t\t\t\t\t{ value: ctor, writable: true, configurable: true });\n\t\t\tinject(ctor, this);\n\t\t\tif (arguments.length)\n\t\t\t\tthis.inject.apply(ctor, arguments);\n\t\t\tctor.base = base;\n\t\t\treturn ctor;\n\t\t}\n\t}).inject({\n\t\tenumerable: false,\n\n\t\tinitialize: Base,\n\n\t\tset: Base,\n\n\t\tinject: function() {\n\t\t\tfor (var i = 0, l = arguments.length; i < l; i++) {\n\t\t\t\tvar src = arguments[i];\n\t\t\t\tif (src) {\n\t\t\t\t\tinject(this, src, src.enumerable, src.beans, src.preserve);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\textend: function() {\n\t\t\tvar res = create(this);\n\t\t\treturn res.inject.apply(res, arguments);\n\t\t},\n\n\t\teach: function(iter, bind) {\n\t\t\treturn each(this, iter, bind);\n\t\t},\n\n\t\tclone: function() {\n\t\t\treturn new this.constructor(this);\n\t\t},\n\n\t\tstatics: {\n\t\t\tset: set,\n\t\t\teach: each,\n\t\t\tcreate: create,\n\t\t\tdefine: define,\n\t\t\tdescribe: describe,\n\n\t\t\tclone: function(obj) {\n\t\t\t\treturn set(new obj.constructor(), obj);\n\t\t\t},\n\n\t\t\tisPlainObject: function(obj) {\n\t\t\t\tvar ctor = obj != null && obj.constructor;\n\t\t\t\treturn ctor && (ctor === Object || ctor === Base\n\t\t\t\t\t\t|| ctor.name === 'Object');\n\t\t\t},\n\n\t\t\tpick: function(a, b) {\n\t\t\t\treturn a !== undefined ? a : b;\n\t\t\t},\n\n\t\t\tslice: function(list, begin, end) {\n\t\t\t\treturn slice.call(list, begin, end);\n\t\t\t}\n\t\t}\n\t});\n};\n\nif (typeof module !== 'undefined')\n\tmodule.exports = Base;\n\nBase.inject({\n\tenumerable: false,\n\n\ttoString: function() {\n\t\treturn this._id != null\n\t\t\t? (this._class || 'Object') + (this._name\n\t\t\t\t? \" '\" + this._name + \"'\"\n\t\t\t\t: ' @' + this._id)\n\t\t\t: '{ ' + Base.each(this, function(value, key) {\n\t\t\t\tif (!/^_/.test(key)) {\n\t\t\t\t\tvar type = typeof value;\n\t\t\t\t\tthis.push(key + ': ' + (type === 'number'\n\t\t\t\t\t\t\t? Formatter.instance.number(value)\n\t\t\t\t\t\t\t: type === 'string' ? \"'\" + value + \"'\" : value));\n\t\t\t\t}\n\t\t\t}, []).join(', ') + ' }';\n\t},\n\n\tgetClassName: function() {\n\t\treturn this._class || '';\n\t},\n\n\timportJSON: function(json) {\n\t\treturn Base.importJSON(json, this);\n\t},\n\n\texportJSON: function(options) {\n\t\treturn Base.exportJSON(this, options);\n\t},\n\n\ttoJSON: function() {\n\t\treturn Base.serialize(this);\n\t},\n\n\tset: function(props, exclude) {\n\t\tif (props)\n\t\t\tBase.filter(this, props, exclude, this._prioritize);\n\t\treturn this;\n\t}\n}, {\n\nbeans: false,\nstatics: {\n\texports: {},\n\n\textend: function extend() {\n\t\tvar res = extend.base.apply(this, arguments),\n\t\t\tname = res.prototype._class;\n\t\tif (name && !Base.exports[name])\n\t\t\tBase.exports[name] = res;\n\t\treturn res;\n\t},\n\n\tequals: function(obj1, obj2) {\n\t\tif (obj1 === obj2)\n\t\t\treturn true;\n\t\tif (obj1 && obj1.equals)\n\t\t\treturn obj1.equals(obj2);\n\t\tif (obj2 && obj2.equals)\n\t\t\treturn obj2.equals(obj1);\n\t\tif (obj1 && obj2\n\t\t\t\t&& typeof obj1 === 'object' && typeof obj2 === 'object') {\n\t\t\tif (Array.isArray(obj1) && Array.isArray(obj2)) {\n\t\t\t\tvar length = obj1.length;\n\t\t\t\tif (length !== obj2.length)\n\t\t\t\t\treturn false;\n\t\t\t\twhile (length--) {\n\t\t\t\t\tif (!Base.equals(obj1[length], obj2[length]))\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar keys = Object.keys(obj1),\n\t\t\t\t\tlength = keys.length;\n\t\t\t\tif (length !== Object.keys(obj2).length)\n\t\t\t\t\treturn false;\n\t\t\t\twhile (length--) {\n\t\t\t\t\tvar key = keys[length];\n\t\t\t\t\tif (!(obj2.hasOwnProperty(key)\n\t\t\t\t\t\t\t&& Base.equals(obj1[key], obj2[key])))\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tread: function(list, start, options, amount) {\n\t\tif (this === Base) {\n\t\t\tvar value = this.peek(list, start);\n\t\t\tlist.__index++;\n\t\t\treturn value;\n\t\t}\n\t\tvar proto = this.prototype,\n\t\t\treadIndex = proto._readIndex,\n\t\t\tbegin = start || readIndex && list.__index || 0,\n\t\t\tlength = list.length,\n\t\t\tobj = list[begin];\n\t\tamount = amount || length - begin;\n\t\tif (obj instanceof this\n\t\t\t|| options && options.readNull && obj == null && amount <= 1) {\n\t\t\tif (readIndex)\n\t\t\t\tlist.__index = begin + 1;\n\t\t\treturn obj && options && options.clone ? obj.clone() : obj;\n\t\t}\n\t\tobj = Base.create(proto);\n\t\tif (readIndex)\n\t\t\tobj.__read = true;\n\t\tobj = obj.initialize.apply(obj, begin > 0 || begin + amount < length\n\t\t\t\t? Base.slice(list, begin, begin + amount)\n\t\t\t\t: list) || obj;\n\t\tif (readIndex) {\n\t\t\tlist.__index = begin + obj.__read;\n\t\t\tvar filtered = obj.__filtered;\n\t\t\tif (filtered) {\n\t\t\t\tlist.__filtered = filtered;\n\t\t\t\tobj.__filtered = undefined;\n\t\t\t}\n\t\t\tobj.__read = undefined;\n\t\t}\n\t\treturn obj;\n\t},\n\n\tpeek: function(list, start) {\n\t\treturn list[list.__index = start || list.__index || 0];\n\t},\n\n\tremain: function(list) {\n\t\treturn list.length - (list.__index || 0);\n\t},\n\n\treadList: function(list, start, options, amount) {\n\t\tvar res = [],\n\t\t\tentry,\n\t\t\tbegin = start || 0,\n\t\t\tend = amount ? begin + amount : list.length;\n\t\tfor (var i = begin; i < end; i++) {\n\t\t\tres.push(Array.isArray(entry = list[i])\n\t\t\t\t\t? this.read(entry, 0, options)\n\t\t\t\t\t: this.read(list, i, options, 1));\n\t\t}\n\t\treturn res;\n\t},\n\n\treadNamed: function(list, name, start, options, amount) {\n\t\tvar value = this.getNamed(list, name),\n\t\t\thasObject = value !== undefined;\n\t\tif (hasObject) {\n\t\t\tvar filtered = list.__filtered;\n\t\t\tif (!filtered) {\n\t\t\t\tfiltered = list.__filtered = Base.create(list[0]);\n\t\t\t\tfiltered.__unfiltered = list[0];\n\t\t\t}\n\t\t\tfiltered[name] = undefined;\n\t\t}\n\t\tvar l = hasObject ? [value] : list,\n\t\t\tres = this.read(l, start, options, amount);\n\t\treturn res;\n\t},\n\n\tgetNamed: function(list, name) {\n\t\tvar arg = list[0];\n\t\tif (list._hasObject === undefined)\n\t\t\tlist._hasObject = list.length === 1 && Base.isPlainObject(arg);\n\t\tif (list._hasObject)\n\t\t\treturn name ? arg[name] : list.__filtered || arg;\n\t},\n\n\thasNamed: function(list, name) {\n\t\treturn !!this.getNamed(list, name);\n\t},\n\n\tfilter: function(dest, source, exclude, prioritize) {\n\t\tvar processed;\n\n\t\tfunction handleKey(key) {\n\t\t\tif (!(exclude && key in exclude) &&\n\t\t\t\t!(processed && key in processed)) {\n\t\t\t\tvar value = source[key];\n\t\t\t\tif (value !== undefined)\n\t\t\t\t\tdest[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tif (prioritize) {\n\t\t\tvar keys = {};\n\t\t\tfor (var i = 0, key, l = prioritize.length; i < l; i++) {\n\t\t\t\tif ((key = prioritize[i]) in source) {\n\t\t\t\t\thandleKey(key);\n\t\t\t\t\tkeys[key] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocessed = keys;\n\t\t}\n\n\t\tObject.keys(source.__unfiltered || source).forEach(handleKey);\n\t\treturn dest;\n\t},\n\n\tisPlainValue: function(obj, asString) {\n\t\treturn Base.isPlainObject(obj) || Array.isArray(obj)\n\t\t\t\t|| asString && typeof obj === 'string';\n\t},\n\n\tserialize: function(obj, options, compact, dictionary) {\n\t\toptions = options || {};\n\n\t\tvar isRoot = !dictionary,\n\t\t\tres;\n\t\tif (isRoot) {\n\t\t\toptions.formatter = new Formatter(options.precision);\n\t\t\tdictionary = {\n\t\t\t\tlength: 0,\n\t\t\t\tdefinitions: {},\n\t\t\t\treferences: {},\n\t\t\t\tadd: function(item, create) {\n\t\t\t\t\tvar id = '#' + item._id,\n\t\t\t\t\t\tref = this.references[id];\n\t\t\t\t\tif (!ref) {\n\t\t\t\t\t\tthis.length++;\n\t\t\t\t\t\tvar res = create.call(item),\n\t\t\t\t\t\t\tname = item._class;\n\t\t\t\t\t\tif (name && res[0] !== name)\n\t\t\t\t\t\t\tres.unshift(name);\n\t\t\t\t\t\tthis.definitions[id] = res;\n\t\t\t\t\t\tref = this.references[id] = [id];\n\t\t\t\t\t}\n\t\t\t\t\treturn ref;\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tif (obj && obj._serialize) {\n\t\t\tres = obj._serialize(options, dictionary);\n\t\t\tvar name = obj._class;\n\t\t\tif (name && !obj._compactSerialize && (isRoot || !compact)\n\t\t\t\t\t&& res[0] !== name) {\n\t\t\t\tres.unshift(name);\n\t\t\t}\n\t\t} else if (Array.isArray(obj)) {\n\t\t\tres = [];\n\t\t\tfor (var i = 0, l = obj.length; i < l; i++)\n\t\t\t\tres[i] = Base.serialize(obj[i], options, compact, dictionary);\n\t\t} else if (Base.isPlainObject(obj)) {\n\t\t\tres = {};\n\t\t\tvar keys = Object.keys(obj);\n\t\t\tfor (var i = 0, l = keys.length; i < l; i++) {\n\t\t\t\tvar key = keys[i];\n\t\t\t\tres[key] = Base.serialize(obj[key], options, compact,\n\t\t\t\t\t\tdictionary);\n\t\t\t}\n\t\t} else if (typeof obj === 'number') {\n\t\t\tres = options.formatter.number(obj, options.precision);\n\t\t} else {\n\t\t\tres = obj;\n\t\t}\n\t\treturn isRoot && dictionary.length > 0\n\t\t\t\t? [['dictionary', dictionary.definitions], res]\n\t\t\t\t: res;\n\t},\n\n\tdeserialize: function(json, create, _data, _setDictionary, _isRoot) {\n\t\tvar res = json,\n\t\t\tisFirst = !_data,\n\t\t\thasDictionary = isFirst && json && json.length\n\t\t\t\t&& json[0][0] === 'dictionary';\n\t\t_data = _data || {};\n\t\tif (Array.isArray(json)) {\n\t\t\tvar type = json[0],\n\t\t\t\tisDictionary = type === 'dictionary';\n\t\t\tif (json.length == 1 && /^#/.test(type)) {\n\t\t\t\treturn _data.dictionary[type];\n\t\t\t}\n\t\t\ttype = Base.exports[type];\n\t\t\tres = [];\n\t\t\tfor (var i = type ? 1 : 0, l = json.length; i < l; i++) {\n\t\t\t\tres.push(Base.deserialize(json[i], create, _data,\n\t\t\t\t\t\tisDictionary, hasDictionary));\n\t\t\t}\n\t\t\tif (type) {\n\t\t\t\tvar args = res;\n\t\t\t\tif (create) {\n\t\t\t\t\tres = create(type, args, isFirst || _isRoot);\n\t\t\t\t} else {\n\t\t\t\t\tres = new type(args);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (Base.isPlainObject(json)) {\n\t\t\tres = {};\n\t\t\tif (_setDictionary)\n\t\t\t\t_data.dictionary = res;\n\t\t\tfor (var key in json)\n\t\t\t\tres[key] = Base.deserialize(json[key], create, _data);\n\t\t}\n\t\treturn hasDictionary ? res[1] : res;\n\t},\n\n\texportJSON: function(obj, options) {\n\t\tvar json = Base.serialize(obj, options);\n\t\treturn options && options.asString == false\n\t\t\t\t? json\n\t\t\t\t: JSON.stringify(json);\n\t},\n\n\timportJSON: function(json, target) {\n\t\treturn Base.deserialize(\n\t\t\t\ttypeof json === 'string' ? JSON.parse(json) : json,\n\t\t\t\tfunction(ctor, args, isRoot) {\n\t\t\t\t\tvar useTarget = isRoot && target\n\t\t\t\t\t\t\t&& target.constructor === ctor,\n\t\t\t\t\t\tobj = useTarget ? target\n\t\t\t\t\t\t\t: Base.create(ctor.prototype);\n\t\t\t\t\tif (args.length === 1 && obj instanceof Item\n\t\t\t\t\t\t\t&& (useTarget || !(obj instanceof Layer))) {\n\t\t\t\t\t\tvar arg = args[0];\n\t\t\t\t\t\tif (Base.isPlainObject(arg))\n\t\t\t\t\t\t\targ.insert = false;\n\t\t\t\t\t}\n\t\t\t\t\t(useTarget ? obj.set : ctor).apply(obj, args);\n\t\t\t\t\tif (useTarget)\n\t\t\t\t\t\ttarget = null;\n\t\t\t\t\treturn obj;\n\t\t\t\t});\n\t},\n\n\tpush: function(list, items) {\n\t\tvar itemsLength = items.length;\n\t\tif (itemsLength < 4096) {\n\t\t\tlist.push.apply(list, items);\n\t\t} else {\n\t\t\tvar startLength = list.length;\n\t\t\tlist.length += itemsLength;\n\t\t\tfor (var i = 0; i < itemsLength; i++) {\n\t\t\t\tlist[startLength + i] = items[i];\n\t\t\t}\n\t\t}\n\t\treturn list;\n\t},\n\n\tsplice: function(list, items, index, remove) {\n\t\tvar amount = items && items.length,\n\t\t\tappend = index === undefined;\n\t\tindex = append ? list.length : index;\n\t\tif (index > list.length)\n\t\t\tindex = list.length;\n\t\tfor (var i = 0; i < amount; i++)\n\t\t\titems[i]._index = index + i;\n\t\tif (append) {\n\t\t\tBase.push(list, items);\n\t\t\treturn [];\n\t\t} else {\n\t\t\tvar args = [index, remove];\n\t\t\tif (items)\n\t\t\t\tBase.push(args, items);\n\t\t\tvar removed = list.splice.apply(list, args);\n\t\t\tfor (var i = 0, l = removed.length; i < l; i++)\n\t\t\t\tremoved[i]._index = undefined;\n\t\t\tfor (var i = index + amount, l = list.length; i < l; i++)\n\t\t\t\tlist[i]._index = i;\n\t\t\treturn removed;\n\t\t}\n\t},\n\n\tcapitalize: function(str) {\n\t\treturn str.replace(/\\b[a-z]/g, function(match) {\n\t\t\treturn match.toUpperCase();\n\t\t});\n\t},\n\n\tcamelize: function(str) {\n\t\treturn str.replace(/-(.)/g, function(match, chr) {\n\t\t\treturn chr.toUpperCase();\n\t\t});\n\t},\n\n\thyphenate: function(str) {\n\t\treturn str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n\t}\n}});\n\nvar Emitter = {\n\ton: function(type, func) {\n\t\tif (typeof type !== 'string') {\n\t\t\tBase.each(type, function(value, key) {\n\t\t\t\tthis.on(key, value);\n\t\t\t}, this);\n\t\t} else {\n\t\t\tvar types = this._eventTypes,\n\t\t\t\tentry = types && types[type],\n\t\t\t\thandlers = this._callbacks = this._callbacks || {};\n\t\t\thandlers = handlers[type] = handlers[type] || [];\n\t\t\tif (handlers.indexOf(func) === -1) {\n\t\t\t\thandlers.push(func);\n\t\t\t\tif (entry && entry.install && handlers.length === 1)\n\t\t\t\t\tentry.install.call(this, type);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t},\n\n\toff: function(type, func) {\n\t\tif (typeof type !== 'string') {\n\t\t\tBase.each(type, function(value, key) {\n\t\t\t\tthis.off(key, value);\n\t\t\t}, this);\n\t\t\treturn;\n\t\t}\n\t\tvar types = this._eventTypes,\n\t\t\tentry = types && types[type],\n\t\t\thandlers = this._callbacks && this._callbacks[type],\n\t\t\tindex;\n\t\tif (handlers) {\n\t\t\tif (!func || (index = handlers.indexOf(func)) !== -1\n\t\t\t\t\t&& handlers.length === 1) {\n\t\t\t\tif (entry && entry.uninstall)\n\t\t\t\t\tentry.uninstall.call(this, type);\n\t\t\t\tdelete this._callbacks[type];\n\t\t\t} else if (index !== -1) {\n\t\t\t\thandlers.splice(index, 1);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t},\n\n\tonce: function(type, func) {\n\t\treturn this.on(type, function() {\n\t\t\tfunc.apply(this, arguments);\n\t\t\tthis.off(type, func);\n\t\t});\n\t},\n\n\temit: function(type, event) {\n\t\tvar handlers = this._callbacks && this._callbacks[type];\n\t\tif (!handlers)\n\t\t\treturn false;\n\t\tvar args = Base.slice(arguments, 1),\n\t\t\tsetTarget = event && event.target && !event.currentTarget;\n\t\thandlers = handlers.slice();\n\t\tif (setTarget)\n\t\t\tevent.currentTarget = this;\n\t\tfor (var i = 0, l = handlers.length; i < l; i++) {\n\t\t\tif (handlers[i].apply(this, args) == false) {\n\t\t\t\tif (event && event.stop)\n\t\t\t\t\tevent.stop();\n\t\t\t\tbreak;\n\t\t }\n\t\t}\n\t\tif (setTarget)\n\t\t\tdelete event.currentTarget;\n\t\treturn true;\n\t},\n\n\tresponds: function(type) {\n\t\treturn !!(this._callbacks && this._callbacks[type]);\n\t},\n\n\tattach: '#on',\n\tdetach: '#off',\n\tfire: '#emit',\n\n\t_installEvents: function(install) {\n\t\tvar types = this._eventTypes,\n\t\t\thandlers = this._callbacks,\n\t\t\tkey = install ? 'install' : 'uninstall';\n\t\tif (types) {\n\t\t\tfor (var type in handlers) {\n\t\t\t\tif (handlers[type].length > 0) {\n\t\t\t\t\tvar entry = types[type],\n\t\t\t\t\t\tfunc = entry && entry[key];\n\t\t\t\t\tif (func)\n\t\t\t\t\t\tfunc.call(this, type);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tstatics: {\n\t\tinject: function inject(src) {\n\t\t\tvar events = src._events;\n\t\t\tif (events) {\n\t\t\t\tvar types = {};\n\t\t\t\tBase.each(events, function(entry, key) {\n\t\t\t\t\tvar isString = typeof entry === 'string',\n\t\t\t\t\t\tname = isString ? entry : key,\n\t\t\t\t\t\tpart = Base.capitalize(name),\n\t\t\t\t\t\ttype = name.substring(2).toLowerCase();\n\t\t\t\t\ttypes[type] = isString ? {} : entry;\n\t\t\t\t\tname = '_' + name;\n\t\t\t\t\tsrc['get' + part] = function() {\n\t\t\t\t\t\treturn this[name];\n\t\t\t\t\t};\n\t\t\t\t\tsrc['set' + part] = function(func) {\n\t\t\t\t\t\tvar prev = this[name];\n\t\t\t\t\t\tif (prev)\n\t\t\t\t\t\t\tthis.off(type, prev);\n\t\t\t\t\t\tif (func)\n\t\t\t\t\t\t\tthis.on(type, func);\n\t\t\t\t\t\tthis[name] = func;\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tsrc._eventTypes = types;\n\t\t\t}\n\t\t\treturn inject.base.apply(this, arguments);\n\t\t}\n\t}\n};\n\nvar PaperScope = Base.extend({\n\t_class: 'PaperScope',\n\n\tinitialize: function PaperScope() {\n\t\tpaper = this;\n\t\tthis.settings = new Base({\n\t\t\tapplyMatrix: true,\n\t\t\tinsertItems: true,\n\t\t\thandleSize: 4,\n\t\t\thitTolerance: 0\n\t\t});\n\t\tthis.project = null;\n\t\tthis.projects = [];\n\t\tthis.tools = [];\n\t\tthis._id = PaperScope._id++;\n\t\tPaperScope._scopes[this._id] = this;\n\t\tvar proto = PaperScope.prototype;\n\t\tif (!this.support) {\n\t\t\tvar ctx = CanvasProvider.getContext(1, 1) || {};\n\t\t\tproto.support = {\n\t\t\t\tnativeDash: 'setLineDash' in ctx || 'mozDash' in ctx,\n\t\t\t\tnativeBlendModes: BlendMode.nativeModes\n\t\t\t};\n\t\t\tCanvasProvider.release(ctx);\n\t\t}\n\t\tif (!this.agent) {\n\t\t\tvar user = self.navigator.userAgent.toLowerCase(),\n\t\t\t\tos = (/(darwin|win|mac|linux|freebsd|sunos)/.exec(user)||[])[0],\n\t\t\t\tplatform = os === 'darwin' ? 'mac' : os,\n\t\t\t\tagent = proto.agent = proto.browser = { platform: platform };\n\t\t\tif (platform)\n\t\t\t\tagent[platform] = true;\n\t\t\tuser.replace(\n\t\t\t\t/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\\/?\\s*([.\\d]+)(?:.*version\\/([.\\d]+))?(?:.*rv\\:v?([.\\d]+))?/g,\n\t\t\t\tfunction(match, n, v1, v2, rv) {\n\t\t\t\t\tif (!agent.chrome) {\n\t\t\t\t\t\tvar v = n === 'opera' ? v2 :\n\t\t\t\t\t\t\t\t/^(node|trident)$/.test(n) ? rv : v1;\n\t\t\t\t\t\tagent.version = v;\n\t\t\t\t\t\tagent.versionNumber = parseFloat(v);\n\t\t\t\t\t\tn = n === 'trident' ? 'msie' : n;\n\t\t\t\t\t\tagent.name = n;\n\t\t\t\t\t\tagent[n] = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tif (agent.chrome)\n\t\t\t\tdelete agent.webkit;\n\t\t\tif (agent.atom)\n\t\t\t\tdelete agent.chrome;\n\t\t}\n\t},\n\n\tversion: \"0.11.8\",\n\n\tgetView: function() {\n\t\tvar project = this.project;\n\t\treturn project && project._view;\n\t},\n\n\tgetPaper: function() {\n\t\treturn this;\n\t},\n\n\texecute: function(code, options) {\n\t\t\tvar exports = paper.PaperScript.execute(code, this, options);\n\t\t\tView.updateFocus();\n\t\t\treturn exports;\n\t},\n\n\tinstall: function(scope) {\n\t\tvar that = this;\n\t\tBase.each(['project', 'view', 'tool'], function(key) {\n\t\t\tBase.define(scope, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: function() {\n\t\t\t\t\treturn that[key];\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tfor (var key in this)\n\t\t\tif (!/^_/.test(key) && this[key])\n\t\t\t\tscope[key] = this[key];\n\t},\n\n\tsetup: function(element) {\n\t\tpaper = this;\n\t\tthis.project = new Project(element);\n\t\treturn this;\n\t},\n\n\tcreateCanvas: function(width, height) {\n\t\treturn CanvasProvider.getCanvas(width, height);\n\t},\n\n\tactivate: function() {\n\t\tpaper = this;\n\t},\n\n\tclear: function() {\n\t\tvar projects = this.projects,\n\t\t\ttools = this.tools;\n\t\tfor (var i = projects.length - 1; i >= 0; i--)\n\t\t\tprojects[i].remove();\n\t\tfor (var i = tools.length - 1; i >= 0; i--)\n\t\t\ttools[i].remove();\n\t},\n\n\tremove: function() {\n\t\tthis.clear();\n\t\tdelete PaperScope._scopes[this._id];\n\t},\n\n\tstatics: new function() {\n\t\tfunction handleAttribute(name) {\n\t\t\tname += 'Attribute';\n\t\t\treturn function(el, attr) {\n\t\t\t\treturn el[name](attr) || el[name]('data-paper-' + attr);\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t_scopes: {},\n\t\t\t_id: 0,\n\n\t\t\tget: function(id) {\n\t\t\t\treturn this._scopes[id] || null;\n\t\t\t},\n\n\t\t\tgetAttribute: handleAttribute('get'),\n\t\t\thasAttribute: handleAttribute('has')\n\t\t};\n\t}\n});\n\nvar PaperScopeItem = Base.extend(Emitter, {\n\n\tinitialize: function(activate) {\n\t\tthis._scope = paper;\n\t\tthis._index = this._scope[this._list].push(this) - 1;\n\t\tif (activate || !this._scope[this._reference])\n\t\t\tthis.activate();\n\t},\n\n\tactivate: function() {\n\t\tif (!this._scope)\n\t\t\treturn false;\n\t\tvar prev = this._scope[this._reference];\n\t\tif (prev && prev !== this)\n\t\t\tprev.emit('deactivate');\n\t\tthis._scope[this._reference] = this;\n\t\tthis.emit('activate', prev);\n\t\treturn true;\n\t},\n\n\tisActive: function() {\n\t\treturn this._scope[this._reference] === this;\n\t},\n\n\tremove: function() {\n\t\tif (this._index == null)\n\t\t\treturn false;\n\t\tBase.splice(this._scope[this._list], null, this._index, 1);\n\t\tif (this._scope[this._reference] == this)\n\t\t\tthis._scope[this._reference] = null;\n\t\tthis._scope = null;\n\t\treturn true;\n\t},\n\n\tgetView: function() {\n\t\treturn this._scope.getView();\n\t}\n});\n\nvar Formatter = Base.extend({\n\tinitialize: function(precision) {\n\t\tthis.precision = Base.pick(precision, 5);\n\t\tthis.multiplier = Math.pow(10, this.precision);\n\t},\n\n\tnumber: function(val) {\n\t\treturn this.precision < 16\n\t\t\t\t? Math.round(val * this.multiplier) / this.multiplier : val;\n\t},\n\n\tpair: function(val1, val2, separator) {\n\t\treturn this.number(val1) + (separator || ',') + this.number(val2);\n\t},\n\n\tpoint: function(val, separator) {\n\t\treturn this.number(val.x) + (separator || ',') + this.number(val.y);\n\t},\n\n\tsize: function(val, separator) {\n\t\treturn this.number(val.width) + (separator || ',')\n\t\t\t\t+ this.number(val.height);\n\t},\n\n\trectangle: function(val, separator) {\n\t\treturn this.point(val, separator) + (separator || ',')\n\t\t\t\t+ this.size(val, separator);\n\t}\n});\n\nFormatter.instance = new Formatter();\n\nvar Numerical = new function() {\n\n\tvar abscissas = [\n\t\t[ 0.5773502691896257645091488],\n\t\t[0,0.7745966692414833770358531],\n\t\t[ 0.3399810435848562648026658,0.8611363115940525752239465],\n\t\t[0,0.5384693101056830910363144,0.9061798459386639927976269],\n\t\t[ 0.2386191860831969086305017,0.6612093864662645136613996,0.9324695142031520278123016],\n\t\t[0,0.4058451513773971669066064,0.7415311855993944398638648,0.9491079123427585245261897],\n\t\t[ 0.1834346424956498049394761,0.5255324099163289858177390,0.7966664774136267395915539,0.9602898564975362316835609],\n\t\t[0,0.3242534234038089290385380,0.6133714327005903973087020,0.8360311073266357942994298,0.9681602395076260898355762],\n\t\t[ 0.1488743389816312108848260,0.4333953941292471907992659,0.6794095682990244062343274,0.8650633666889845107320967,0.9739065285171717200779640],\n\t\t[0,0.2695431559523449723315320,0.5190961292068118159257257,0.7301520055740493240934163,0.8870625997680952990751578,0.9782286581460569928039380],\n\t\t[ 0.1252334085114689154724414,0.3678314989981801937526915,0.5873179542866174472967024,0.7699026741943046870368938,0.9041172563704748566784659,0.9815606342467192506905491],\n\t\t[0,0.2304583159551347940655281,0.4484927510364468528779129,0.6423493394403402206439846,0.8015780907333099127942065,0.9175983992229779652065478,0.9841830547185881494728294],\n\t\t[ 0.1080549487073436620662447,0.3191123689278897604356718,0.5152486363581540919652907,0.6872929048116854701480198,0.8272013150697649931897947,0.9284348836635735173363911,0.9862838086968123388415973],\n\t\t[0,0.2011940939974345223006283,0.3941513470775633698972074,0.5709721726085388475372267,0.7244177313601700474161861,0.8482065834104272162006483,0.9372733924007059043077589,0.9879925180204854284895657],\n\t\t[ 0.0950125098376374401853193,0.2816035507792589132304605,0.4580167776572273863424194,0.6178762444026437484466718,0.7554044083550030338951012,0.8656312023878317438804679,0.9445750230732325760779884,0.9894009349916499325961542]\n\t];\n\n\tvar weights = [\n\t\t[1],\n\t\t[0.8888888888888888888888889,0.5555555555555555555555556],\n\t\t[0.6521451548625461426269361,0.3478548451374538573730639],\n\t\t[0.5688888888888888888888889,0.4786286704993664680412915,0.2369268850561890875142640],\n\t\t[0.4679139345726910473898703,0.3607615730481386075698335,0.1713244923791703450402961],\n\t\t[0.4179591836734693877551020,0.3818300505051189449503698,0.2797053914892766679014678,0.1294849661688696932706114],\n\t\t[0.3626837833783619829651504,0.3137066458778872873379622,0.2223810344533744705443560,0.1012285362903762591525314],\n\t\t[0.3302393550012597631645251,0.3123470770400028400686304,0.2606106964029354623187429,0.1806481606948574040584720,0.0812743883615744119718922],\n\t\t[0.2955242247147528701738930,0.2692667193099963550912269,0.2190863625159820439955349,0.1494513491505805931457763,0.0666713443086881375935688],\n\t\t[0.2729250867779006307144835,0.2628045445102466621806889,0.2331937645919904799185237,0.1862902109277342514260976,0.1255803694649046246346943,0.0556685671161736664827537],\n\t\t[0.2491470458134027850005624,0.2334925365383548087608499,0.2031674267230659217490645,0.1600783285433462263346525,0.1069393259953184309602547,0.0471753363865118271946160],\n\t\t[0.2325515532308739101945895,0.2262831802628972384120902,0.2078160475368885023125232,0.1781459807619457382800467,0.1388735102197872384636018,0.0921214998377284479144218,0.0404840047653158795200216],\n\t\t[0.2152638534631577901958764,0.2051984637212956039659241,0.1855383974779378137417166,0.1572031671581935345696019,0.1215185706879031846894148,0.0801580871597602098056333,0.0351194603317518630318329],\n\t\t[0.2025782419255612728806202,0.1984314853271115764561183,0.1861610000155622110268006,0.1662692058169939335532009,0.1395706779261543144478048,0.1071592204671719350118695,0.0703660474881081247092674,0.0307532419961172683546284],\n\t\t[0.1894506104550684962853967,0.1826034150449235888667637,0.1691565193950025381893121,0.1495959888165767320815017,0.1246289712555338720524763,0.0951585116824927848099251,0.0622535239386478928628438,0.0271524594117540948517806]\n\t];\n\n\tvar abs = Math.abs,\n\t\tsqrt = Math.sqrt,\n\t\tpow = Math.pow,\n\t\tlog2 = Math.log2 || function(x) {\n\t\t\treturn Math.log(x) * Math.LOG2E;\n\t\t},\n\t\tEPSILON = 1e-12,\n\t\tMACHINE_EPSILON = 1.12e-16;\n\n\tfunction clamp(value, min, max) {\n\t\treturn value < min ? min : value > max ? max : value;\n\t}\n\n\tfunction getDiscriminant(a, b, c) {\n\t\tfunction split(v) {\n\t\t\tvar x = v * 134217729,\n\t\t\t\ty = v - x,\n\t\t\t\thi = y + x,\n\t\t\t\tlo = v - hi;\n\t\t\treturn [hi, lo];\n\t\t}\n\n\t\tvar D = b * b - a * c,\n\t\t\tE = b * b + a * c;\n\t\tif (abs(D) * 3 < E) {\n\t\t\tvar ad = split(a),\n\t\t\t\tbd = split(b),\n\t\t\t\tcd = split(c),\n\t\t\t\tp = b * b,\n\t\t\t\tdp = (bd[0] * bd[0] - p + 2 * bd[0] * bd[1]) + bd[1] * bd[1],\n\t\t\t\tq = a * c,\n\t\t\t\tdq = (ad[0] * cd[0] - q + ad[0] * cd[1] + ad[1] * cd[0])\n\t\t\t\t\t\t+ ad[1] * cd[1];\n\t\t\tD = (p - q) + (dp - dq);\n\t\t}\n\t\treturn D;\n\t}\n\n\tfunction getNormalizationFactor() {\n\t\tvar norm = Math.max.apply(Math, arguments);\n\t\treturn norm && (norm < 1e-8 || norm > 1e8)\n\t\t\t\t? pow(2, -Math.round(log2(norm)))\n\t\t\t\t: 0;\n\t}\n\n\treturn {\n\t\tEPSILON: EPSILON,\n\t\tMACHINE_EPSILON: MACHINE_EPSILON,\n\t\tCURVETIME_EPSILON: 1e-8,\n\t\tGEOMETRIC_EPSILON: 1e-7,\n\t\tTRIGONOMETRIC_EPSILON: 1e-8,\n\t\tKAPPA: 4 * (sqrt(2) - 1) / 3,\n\n\t\tisZero: function(val) {\n\t\t\treturn val >= -EPSILON && val <= EPSILON;\n\t\t},\n\n\t\tclamp: clamp,\n\n\t\tintegrate: function(f, a, b, n) {\n\t\t\tvar x = abscissas[n - 2],\n\t\t\t\tw = weights[n - 2],\n\t\t\t\tA = (b - a) * 0.5,\n\t\t\t\tB = A + a,\n\t\t\t\ti = 0,\n\t\t\t\tm = (n + 1) >> 1,\n\t\t\t\tsum = n & 1 ? w[i++] * f(B) : 0;\n\t\t\twhile (i < m) {\n\t\t\t\tvar Ax = A * x[i];\n\t\t\t\tsum += w[i++] * (f(B + Ax) + f(B - Ax));\n\t\t\t}\n\t\t\treturn A * sum;\n\t\t},\n\n\t\tfindRoot: function(f, df, x, a, b, n, tolerance) {\n\t\t\tfor (var i = 0; i < n; i++) {\n\t\t\t\tvar fx = f(x),\n\t\t\t\t\tdx = fx / df(x),\n\t\t\t\t\tnx = x - dx;\n\t\t\t\tif (abs(dx) < tolerance) {\n\t\t\t\t\tx = nx;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (fx > 0) {\n\t\t\t\t\tb = x;\n\t\t\t\t\tx = nx <= a ? (a + b) * 0.5 : nx;\n\t\t\t\t} else {\n\t\t\t\t\ta = x;\n\t\t\t\t\tx = nx >= b ? (a + b) * 0.5 : nx;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn clamp(x, a, b);\n\t\t},\n\n\t\tsolveQuadratic: function(a, b, c, roots, min, max) {\n\t\t\tvar x1, x2 = Infinity;\n\t\t\tif (abs(a) < EPSILON) {\n\t\t\t\tif (abs(b) < EPSILON)\n\t\t\t\t\treturn abs(c) < EPSILON ? -1 : 0;\n\t\t\t\tx1 = -c / b;\n\t\t\t} else {\n\t\t\t\tb *= -0.5;\n\t\t\t\tvar D = getDiscriminant(a, b, c);\n\t\t\t\tif (D && abs(D) < MACHINE_EPSILON) {\n\t\t\t\t\tvar f = getNormalizationFactor(abs(a), abs(b), abs(c));\n\t\t\t\t\tif (f) {\n\t\t\t\t\t\ta *= f;\n\t\t\t\t\t\tb *= f;\n\t\t\t\t\t\tc *= f;\n\t\t\t\t\t\tD = getDiscriminant(a, b, c);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (D >= -MACHINE_EPSILON) {\n\t\t\t\t\tvar Q = D < 0 ? 0 : sqrt(D),\n\t\t\t\t\t\tR = b + (b < 0 ? -Q : Q);\n\t\t\t\t\tif (R === 0) {\n\t\t\t\t\t\tx1 = c / a;\n\t\t\t\t\t\tx2 = -x1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tx1 = R / a;\n\t\t\t\t\t\tx2 = c / R;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar count = 0,\n\t\t\t\tboundless = min == null,\n\t\t\t\tminB = min - EPSILON,\n\t\t\t\tmaxB = max + EPSILON;\n\t\t\tif (isFinite(x1) && (boundless || x1 > minB && x1 < maxB))\n\t\t\t\troots[count++] = boundless ? x1 : clamp(x1, min, max);\n\t\t\tif (x2 !== x1\n\t\t\t\t\t&& isFinite(x2) && (boundless || x2 > minB && x2 < maxB))\n\t\t\t\troots[count++] = boundless ? x2 : clamp(x2, min, max);\n\t\t\treturn count;\n\t\t},\n\n\t\tsolveCubic: function(a, b, c, d, roots, min, max) {\n\t\t\tvar f = getNormalizationFactor(abs(a), abs(b), abs(c), abs(d)),\n\t\t\t\tx, b1, c2, qd, q;\n\t\t\tif (f) {\n\t\t\t\ta *= f;\n\t\t\t\tb *= f;\n\t\t\t\tc *= f;\n\t\t\t\td *= f;\n\t\t\t}\n\n\t\t\tfunction evaluate(x0) {\n\t\t\t\tx = x0;\n\t\t\t\tvar tmp = a * x;\n\t\t\t\tb1 = tmp + b;\n\t\t\t\tc2 = b1 * x + c;\n\t\t\t\tqd = (tmp + b1) * x + c2;\n\t\t\t\tq = c2 * x + d;\n\t\t\t}\n\n\t\t\tif (abs(a) < EPSILON) {\n\t\t\t\ta = b;\n\t\t\t\tb1 = c;\n\t\t\t\tc2 = d;\n\t\t\t\tx = Infinity;\n\t\t\t} else if (abs(d) < EPSILON) {\n\t\t\t\tb1 = b;\n\t\t\t\tc2 = c;\n\t\t\t\tx = 0;\n\t\t\t} else {\n\t\t\t\tevaluate(-(b / a) / 3);\n\t\t\t\tvar t = q / a,\n\t\t\t\t\tr = pow(abs(t), 1/3),\n\t\t\t\t\ts = t < 0 ? -1 : 1,\n\t\t\t\t\ttd = -qd / a,\n\t\t\t\t\trd = td > 0 ? 1.324717957244746 * Math.max(r, sqrt(td)) : r,\n\t\t\t\t\tx0 = x - s * rd;\n\t\t\t\tif (x0 !== x) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tevaluate(x0);\n\t\t\t\t\t\tx0 = qd === 0 ? x : x - q / qd / (1 + MACHINE_EPSILON);\n\t\t\t\t\t} while (s * x0 > s * x);\n\t\t\t\t\tif (abs(a) * x * x > abs(d / x)) {\n\t\t\t\t\t\tc2 = -d / x;\n\t\t\t\t\t\tb1 = (c2 - c) / x;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar count = Numerical.solveQuadratic(a, b1, c2, roots, min, max),\n\t\t\t\tboundless = min == null;\n\t\t\tif (isFinite(x) && (count === 0\n\t\t\t\t\t|| count > 0 && x !== roots[0] && x !== roots[1])\n\t\t\t\t\t&& (boundless || x > min - EPSILON && x < max + EPSILON))\n\t\t\t\troots[count++] = boundless ? x : clamp(x, min, max);\n\t\t\treturn count;\n\t\t}\n\t};\n};\n\nvar UID = {\n\t_id: 1,\n\t_pools: {},\n\n\tget: function(name) {\n\t\tif (name) {\n\t\t\tvar pool = this._pools[name];\n\t\t\tif (!pool)\n\t\t\t\tpool = this._pools[name] = { _id: 1 };\n\t\t\treturn pool._id++;\n\t\t} else {\n\t\t\treturn this._id++;\n\t\t}\n\t}\n};\n\nvar Point = Base.extend({\n\t_class: 'Point',\n\t_readIndex: true,\n\n\tinitialize: function Point(arg0, arg1) {\n\t\tvar type = typeof arg0,\n\t\t\treading = this.__read,\n\t\t\tread = 0;\n\t\tif (type === 'number') {\n\t\t\tvar hasY = typeof arg1 === 'number';\n\t\t\tthis._set(arg0, hasY ? arg1 : arg0);\n\t\t\tif (reading)\n\t\t\t\tread = hasY ? 2 : 1;\n\t\t} else if (type === 'undefined' || arg0 === null) {\n\t\t\tthis._set(0, 0);\n\t\t\tif (reading)\n\t\t\t\tread = arg0 === null ? 1 : 0;\n\t\t} else {\n\t\t\tvar obj = type === 'string' ? arg0.split(/[\\s,]+/) || [] : arg0;\n\t\t\tread = 1;\n\t\t\tif (Array.isArray(obj)) {\n\t\t\t\tthis._set(+obj[0], +(obj.length > 1 ? obj[1] : obj[0]));\n\t\t\t} else if ('x' in obj) {\n\t\t\t\tthis._set(obj.x || 0, obj.y || 0);\n\t\t\t} else if ('width' in obj) {\n\t\t\t\tthis._set(obj.width || 0, obj.height || 0);\n\t\t\t} else if ('angle' in obj) {\n\t\t\t\tthis._set(obj.length || 0, 0);\n\t\t\t\tthis.setAngle(obj.angle || 0);\n\t\t\t} else {\n\t\t\t\tthis._set(0, 0);\n\t\t\t\tread = 0;\n\t\t\t}\n\t\t}\n\t\tif (reading)\n\t\t\tthis.__read = read;\n\t\treturn this;\n\t},\n\n\tset: '#initialize',\n\n\t_set: function(x, y) {\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\treturn this;\n\t},\n\n\tequals: function(point) {\n\t\treturn this === point || point\n\t\t\t\t&& (this.x === point.x && this.y === point.y\n\t\t\t\t\t|| Array.isArray(point)\n\t\t\t\t\t\t&& this.x === point[0] && this.y === point[1])\n\t\t\t\t|| false;\n\t},\n\n\tclone: function() {\n\t\treturn new Point(this.x, this.y);\n\t},\n\n\ttoString: function() {\n\t\tvar f = Formatter.instance;\n\t\treturn '{ x: ' + f.number(this.x) + ', y: ' + f.number(this.y) + ' }';\n\t},\n\n\t_serialize: function(options) {\n\t\tvar f = options.formatter;\n\t\treturn [f.number(this.x), f.number(this.y)];\n\t},\n\n\tgetLength: function() {\n\t\treturn Math.sqrt(this.x * this.x + this.y * this.y);\n\t},\n\n\tsetLength: function(length) {\n\t\tif (this.isZero()) {\n\t\t\tvar angle = this._angle || 0;\n\t\t\tthis._set(\n\t\t\t\tMath.cos(angle) * length,\n\t\t\t\tMath.sin(angle) * length\n\t\t\t);\n\t\t} else {\n\t\t\tvar scale = length / this.getLength();\n\t\t\tif (Numerical.isZero(scale))\n\t\t\t\tthis.getAngle();\n\t\t\tthis._set(\n\t\t\t\tthis.x * scale,\n\t\t\t\tthis.y * scale\n\t\t\t);\n\t\t}\n\t},\n\tgetAngle: function() {\n\t\treturn this.getAngleInRadians.apply(this, arguments) * 180 / Math.PI;\n\t},\n\n\tsetAngle: function(angle) {\n\t\tthis.setAngleInRadians.call(this, angle * Math.PI / 180);\n\t},\n\n\tgetAngleInDegrees: '#getAngle',\n\tsetAngleInDegrees: '#setAngle',\n\n\tgetAngleInRadians: function() {\n\t\tif (!arguments.length) {\n\t\t\treturn this.isZero()\n\t\t\t\t\t? this._angle || 0\n\t\t\t\t\t: this._angle = Math.atan2(this.y, this.x);\n\t\t} else {\n\t\t\tvar point = Point.read(arguments),\n\t\t\t\tdiv = this.getLength() * point.getLength();\n\t\t\tif (Numerical.isZero(div)) {\n\t\t\t\treturn NaN;\n\t\t\t} else {\n\t\t\t\tvar a = this.dot(point) / div;\n\t\t\t\treturn Math.acos(a < -1 ? -1 : a > 1 ? 1 : a);\n\t\t\t}\n\t\t}\n\t},\n\n\tsetAngleInRadians: function(angle) {\n\t\tthis._angle = angle;\n\t\tif (!this.isZero()) {\n\t\t\tvar length = this.getLength();\n\t\t\tthis._set(\n\t\t\t\tMath.cos(angle) * length,\n\t\t\t\tMath.sin(angle) * length\n\t\t\t);\n\t\t}\n\t},\n\n\tgetQuadrant: function() {\n\t\treturn this.x >= 0 ? this.y >= 0 ? 1 : 4 : this.y >= 0 ? 2 : 3;\n\t}\n}, {\n\tbeans: false,\n\n\tgetDirectedAngle: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn Math.atan2(this.cross(point), this.dot(point)) * 180 / Math.PI;\n\t},\n\n\tgetDistance: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tx = point.x - this.x,\n\t\t\ty = point.y - this.y,\n\t\t\td = x * x + y * y,\n\t\t\tsquared = Base.read(arguments);\n\t\treturn squared ? d : Math.sqrt(d);\n\t},\n\n\tnormalize: function(length) {\n\t\tif (length === undefined)\n\t\t\tlength = 1;\n\t\tvar current = this.getLength(),\n\t\t\tscale = current !== 0 ? length / current : 0,\n\t\t\tpoint = new Point(this.x * scale, this.y * scale);\n\t\tif (scale >= 0)\n\t\t\tpoint._angle = this._angle;\n\t\treturn point;\n\t},\n\n\trotate: function(angle, center) {\n\t\tif (angle === 0)\n\t\t\treturn this.clone();\n\t\tangle = angle * Math.PI / 180;\n\t\tvar point = center ? this.subtract(center) : this,\n\t\t\tsin = Math.sin(angle),\n\t\t\tcos = Math.cos(angle);\n\t\tpoint = new Point(\n\t\t\tpoint.x * cos - point.y * sin,\n\t\t\tpoint.x * sin + point.y * cos\n\t\t);\n\t\treturn center ? point.add(center) : point;\n\t},\n\n\ttransform: function(matrix) {\n\t\treturn matrix ? matrix._transformPoint(this) : this;\n\t},\n\n\tadd: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn new Point(this.x + point.x, this.y + point.y);\n\t},\n\n\tsubtract: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn new Point(this.x - point.x, this.y - point.y);\n\t},\n\n\tmultiply: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn new Point(this.x * point.x, this.y * point.y);\n\t},\n\n\tdivide: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn new Point(this.x / point.x, this.y / point.y);\n\t},\n\n\tmodulo: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn new Point(this.x % point.x, this.y % point.y);\n\t},\n\n\tnegate: function() {\n\t\treturn new Point(-this.x, -this.y);\n\t},\n\n\tisInside: function() {\n\t\treturn Rectangle.read(arguments).contains(this);\n\t},\n\n\tisClose: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\ttolerance = Base.read(arguments);\n\t\treturn this.getDistance(point) <= tolerance;\n\t},\n\n\tisCollinear: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn Point.isCollinear(this.x, this.y, point.x, point.y);\n\t},\n\n\tisColinear: '#isCollinear',\n\n\tisOrthogonal: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn Point.isOrthogonal(this.x, this.y, point.x, point.y);\n\t},\n\n\tisZero: function() {\n\t\tvar isZero = Numerical.isZero;\n\t\treturn isZero(this.x) && isZero(this.y);\n\t},\n\n\tisNaN: function() {\n\t\treturn isNaN(this.x) || isNaN(this.y);\n\t},\n\n\tisInQuadrant: function(q) {\n\t\treturn this.x * (q > 1 && q < 4 ? -1 : 1) >= 0\n\t\t\t&& this.y * (q > 2 ? -1 : 1) >= 0;\n\t},\n\n\tdot: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn this.x * point.x + this.y * point.y;\n\t},\n\n\tcross: function() {\n\t\tvar point = Point.read(arguments);\n\t\treturn this.x * point.y - this.y * point.x;\n\t},\n\n\tproject: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tscale = point.isZero() ? 0 : this.dot(point) / point.dot(point);\n\t\treturn new Point(\n\t\t\tpoint.x * scale,\n\t\t\tpoint.y * scale\n\t\t);\n\t},\n\n\tstatics: {\n\t\tmin: function() {\n\t\t\tvar point1 = Point.read(arguments),\n\t\t\t\tpoint2 = Point.read(arguments);\n\t\t\treturn new Point(\n\t\t\t\tMath.min(point1.x, point2.x),\n\t\t\t\tMath.min(point1.y, point2.y)\n\t\t\t);\n\t\t},\n\n\t\tmax: function() {\n\t\t\tvar point1 = Point.read(arguments),\n\t\t\t\tpoint2 = Point.read(arguments);\n\t\t\treturn new Point(\n\t\t\t\tMath.max(point1.x, point2.x),\n\t\t\t\tMath.max(point1.y, point2.y)\n\t\t\t);\n\t\t},\n\n\t\trandom: function() {\n\t\t\treturn new Point(Math.random(), Math.random());\n\t\t},\n\n\t\tisCollinear: function(x1, y1, x2, y2) {\n\t\t\treturn Math.abs(x1 * y2 - y1 * x2)\n\t\t\t\t\t<= Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2))\n\t\t\t\t\t\t* 1e-8;\n\t\t},\n\n\t\tisOrthogonal: function(x1, y1, x2, y2) {\n\t\t\treturn Math.abs(x1 * x2 + y1 * y2)\n\t\t\t\t\t<= Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2))\n\t\t\t\t\t\t* 1e-8;\n\t\t}\n\t}\n}, Base.each(['round', 'ceil', 'floor', 'abs'], function(key) {\n\tvar op = Math[key];\n\tthis[key] = function() {\n\t\treturn new Point(op(this.x), op(this.y));\n\t};\n}, {}));\n\nvar LinkedPoint = Point.extend({\n\tinitialize: function Point(x, y, owner, setter) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._owner = owner;\n\t\tthis._setter = setter;\n\t},\n\n\t_set: function(x, y, _dontNotify) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tif (!_dontNotify)\n\t\t\tthis._owner[this._setter](this);\n\t\treturn this;\n\t},\n\n\tgetX: function() {\n\t\treturn this._x;\n\t},\n\n\tsetX: function(x) {\n\t\tthis._x = x;\n\t\tthis._owner[this._setter](this);\n\t},\n\n\tgetY: function() {\n\t\treturn this._y;\n\t},\n\n\tsetY: function(y) {\n\t\tthis._y = y;\n\t\tthis._owner[this._setter](this);\n\t},\n\n\tisSelected: function() {\n\t\treturn !!(this._owner._selection & this._getSelection());\n\t},\n\n\tsetSelected: function(selected) {\n\t\tthis._owner._changeSelection(this._getSelection(), selected);\n\t},\n\n\t_getSelection: function() {\n\t\treturn this._setter === 'setPosition' ? 4 : 0;\n\t}\n});\n\nvar Size = Base.extend({\n\t_class: 'Size',\n\t_readIndex: true,\n\n\tinitialize: function Size(arg0, arg1) {\n\t\tvar type = typeof arg0,\n\t\t\treading = this.__read,\n\t\t\tread = 0;\n\t\tif (type === 'number') {\n\t\t\tvar hasHeight = typeof arg1 === 'number';\n\t\t\tthis._set(arg0, hasHeight ? arg1 : arg0);\n\t\t\tif (reading)\n\t\t\t\tread = hasHeight ? 2 : 1;\n\t\t} else if (type === 'undefined' || arg0 === null) {\n\t\t\tthis._set(0, 0);\n\t\t\tif (reading)\n\t\t\t\tread = arg0 === null ? 1 : 0;\n\t\t} else {\n\t\t\tvar obj = type === 'string' ? arg0.split(/[\\s,]+/) || [] : arg0;\n\t\t\tread = 1;\n\t\t\tif (Array.isArray(obj)) {\n\t\t\t\tthis._set(+obj[0], +(obj.length > 1 ? obj[1] : obj[0]));\n\t\t\t} else if ('width' in obj) {\n\t\t\t\tthis._set(obj.width || 0, obj.height || 0);\n\t\t\t} else if ('x' in obj) {\n\t\t\t\tthis._set(obj.x || 0, obj.y || 0);\n\t\t\t} else {\n\t\t\t\tthis._set(0, 0);\n\t\t\t\tread = 0;\n\t\t\t}\n\t\t}\n\t\tif (reading)\n\t\t\tthis.__read = read;\n\t\treturn this;\n\t},\n\n\tset: '#initialize',\n\n\t_set: function(width, height) {\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\treturn this;\n\t},\n\n\tequals: function(size) {\n\t\treturn size === this || size && (this.width === size.width\n\t\t\t\t&& this.height === size.height\n\t\t\t\t|| Array.isArray(size) && this.width === size[0]\n\t\t\t\t\t&& this.height === size[1]) || false;\n\t},\n\n\tclone: function() {\n\t\treturn new Size(this.width, this.height);\n\t},\n\n\ttoString: function() {\n\t\tvar f = Formatter.instance;\n\t\treturn '{ width: ' + f.number(this.width)\n\t\t\t\t+ ', height: ' + f.number(this.height) + ' }';\n\t},\n\n\t_serialize: function(options) {\n\t\tvar f = options.formatter;\n\t\treturn [f.number(this.width),\n\t\t\t\tf.number(this.height)];\n\t},\n\n\tadd: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn new Size(this.width + size.width, this.height + size.height);\n\t},\n\n\tsubtract: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn new Size(this.width - size.width, this.height - size.height);\n\t},\n\n\tmultiply: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn new Size(this.width * size.width, this.height * size.height);\n\t},\n\n\tdivide: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn new Size(this.width / size.width, this.height / size.height);\n\t},\n\n\tmodulo: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn new Size(this.width % size.width, this.height % size.height);\n\t},\n\n\tnegate: function() {\n\t\treturn new Size(-this.width, -this.height);\n\t},\n\n\tisZero: function() {\n\t\tvar isZero = Numerical.isZero;\n\t\treturn isZero(this.width) && isZero(this.height);\n\t},\n\n\tisNaN: function() {\n\t\treturn isNaN(this.width) || isNaN(this.height);\n\t},\n\n\tstatics: {\n\t\tmin: function(size1, size2) {\n\t\t\treturn new Size(\n\t\t\t\tMath.min(size1.width, size2.width),\n\t\t\t\tMath.min(size1.height, size2.height));\n\t\t},\n\n\t\tmax: function(size1, size2) {\n\t\t\treturn new Size(\n\t\t\t\tMath.max(size1.width, size2.width),\n\t\t\t\tMath.max(size1.height, size2.height));\n\t\t},\n\n\t\trandom: function() {\n\t\t\treturn new Size(Math.random(), Math.random());\n\t\t}\n\t}\n}, Base.each(['round', 'ceil', 'floor', 'abs'], function(key) {\n\tvar op = Math[key];\n\tthis[key] = function() {\n\t\treturn new Size(op(this.width), op(this.height));\n\t};\n}, {}));\n\nvar LinkedSize = Size.extend({\n\tinitialize: function Size(width, height, owner, setter) {\n\t\tthis._width = width;\n\t\tthis._height = height;\n\t\tthis._owner = owner;\n\t\tthis._setter = setter;\n\t},\n\n\t_set: function(width, height, _dontNotify) {\n\t\tthis._width = width;\n\t\tthis._height = height;\n\t\tif (!_dontNotify)\n\t\t\tthis._owner[this._setter](this);\n\t\treturn this;\n\t},\n\n\tgetWidth: function() {\n\t\treturn this._width;\n\t},\n\n\tsetWidth: function(width) {\n\t\tthis._width = width;\n\t\tthis._owner[this._setter](this);\n\t},\n\n\tgetHeight: function() {\n\t\treturn this._height;\n\t},\n\n\tsetHeight: function(height) {\n\t\tthis._height = height;\n\t\tthis._owner[this._setter](this);\n\t}\n});\n\nvar Rectangle = Base.extend({\n\t_class: 'Rectangle',\n\t_readIndex: true,\n\tbeans: true,\n\n\tinitialize: function Rectangle(arg0, arg1, arg2, arg3) {\n\t\tvar type = typeof arg0,\n\t\t\tread;\n\t\tif (type === 'number') {\n\t\t\tthis._set(arg0, arg1, arg2, arg3);\n\t\t\tread = 4;\n\t\t} else if (type === 'undefined' || arg0 === null) {\n\t\t\tthis._set(0, 0, 0, 0);\n\t\t\tread = arg0 === null ? 1 : 0;\n\t\t} else if (arguments.length === 1) {\n\t\t\tif (Array.isArray(arg0)) {\n\t\t\t\tthis._set.apply(this, arg0);\n\t\t\t\tread = 1;\n\t\t\t} else if (arg0.x !== undefined || arg0.width !== undefined) {\n\t\t\t\tthis._set(arg0.x || 0, arg0.y || 0,\n\t\t\t\t\t\targ0.width || 0, arg0.height || 0);\n\t\t\t\tread = 1;\n\t\t\t} else if (arg0.from === undefined && arg0.to === undefined) {\n\t\t\t\tthis._set(0, 0, 0, 0);\n\t\t\t\tBase.filter(this, arg0);\n\t\t\t\tread = 1;\n\t\t\t}\n\t\t}\n\t\tif (read === undefined) {\n\t\t\tvar frm = Point.readNamed(arguments, 'from'),\n\t\t\t\tnext = Base.peek(arguments),\n\t\t\t\tx = frm.x,\n\t\t\t\ty = frm.y,\n\t\t\t\twidth,\n\t\t\t\theight;\n\t\t\tif (next && next.x !== undefined\n\t\t\t\t\t|| Base.hasNamed(arguments, 'to')) {\n\t\t\t\tvar to = Point.readNamed(arguments, 'to');\n\t\t\t\twidth = to.x - x;\n\t\t\t\theight = to.y - y;\n\t\t\t\tif (width < 0) {\n\t\t\t\t\tx = to.x;\n\t\t\t\t\twidth = -width;\n\t\t\t\t}\n\t\t\t\tif (height < 0) {\n\t\t\t\t\ty = to.y;\n\t\t\t\t\theight = -height;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar size = Size.read(arguments);\n\t\t\t\twidth = size.width;\n\t\t\t\theight = size.height;\n\t\t\t}\n\t\t\tthis._set(x, y, width, height);\n\t\t\tread = arguments.__index;\n\t\t\tvar filtered = arguments.__filtered;\n\t\t\tif (filtered)\n\t\t\t\tthis.__filtered = filtered;\n\t\t}\n\t\tif (this.__read)\n\t\t\tthis.__read = read;\n\t\treturn this;\n\t},\n\n\tset: '#initialize',\n\n\t_set: function(x, y, width, height) {\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\treturn this;\n\t},\n\n\tclone: function() {\n\t\treturn new Rectangle(this.x, this.y, this.width, this.height);\n\t},\n\n\tequals: function(rect) {\n\t\tvar rt = Base.isPlainValue(rect)\n\t\t\t\t? Rectangle.read(arguments)\n\t\t\t\t: rect;\n\t\treturn rt === this\n\t\t\t\t|| rt && this.x === rt.x && this.y === rt.y\n\t\t\t\t\t&& this.width === rt.width && this.height === rt.height\n\t\t\t\t|| false;\n\t},\n\n\ttoString: function() {\n\t\tvar f = Formatter.instance;\n\t\treturn '{ x: ' + f.number(this.x)\n\t\t\t\t+ ', y: ' + f.number(this.y)\n\t\t\t\t+ ', width: ' + f.number(this.width)\n\t\t\t\t+ ', height: ' + f.number(this.height)\n\t\t\t\t+ ' }';\n\t},\n\n\t_serialize: function(options) {\n\t\tvar f = options.formatter;\n\t\treturn [f.number(this.x),\n\t\t\t\tf.number(this.y),\n\t\t\t\tf.number(this.width),\n\t\t\t\tf.number(this.height)];\n\t},\n\n\tgetPoint: function(_dontLink) {\n\t\tvar ctor = _dontLink ? Point : LinkedPoint;\n\t\treturn new ctor(this.x, this.y, this, 'setPoint');\n\t},\n\n\tsetPoint: function() {\n\t\tvar point = Point.read(arguments);\n\t\tthis.x = point.x;\n\t\tthis.y = point.y;\n\t},\n\n\tgetSize: function(_dontLink) {\n\t\tvar ctor = _dontLink ? Size : LinkedSize;\n\t\treturn new ctor(this.width, this.height, this, 'setSize');\n\t},\n\n\t_fw: 1,\n\t_fh: 1,\n\n\tsetSize: function() {\n\t\tvar size = Size.read(arguments),\n\t\t\tsx = this._sx,\n\t\t\tsy = this._sy,\n\t\t\tw = size.width,\n\t\t\th = size.height;\n\t\tif (sx) {\n\t\t\tthis.x += (this.width - w) * sx;\n\t\t}\n\t\tif (sy) {\n\t\t\tthis.y += (this.height - h) * sy;\n\t\t}\n\t\tthis.width = w;\n\t\tthis.height = h;\n\t\tthis._fw = this._fh = 1;\n\t},\n\n\tgetLeft: function() {\n\t\treturn this.x;\n\t},\n\n\tsetLeft: function(left) {\n\t\tif (!this._fw) {\n\t\t\tvar amount = left - this.x;\n\t\t\tthis.width -= this._sx === 0.5 ? amount * 2 : amount;\n\t\t}\n\t\tthis.x = left;\n\t\tthis._sx = this._fw = 0;\n\t},\n\n\tgetTop: function() {\n\t\treturn this.y;\n\t},\n\n\tsetTop: function(top) {\n\t\tif (!this._fh) {\n\t\t\tvar amount = top - this.y;\n\t\t\tthis.height -= this._sy === 0.5 ? amount * 2 : amount;\n\t\t}\n\t\tthis.y = top;\n\t\tthis._sy = this._fh = 0;\n\t},\n\n\tgetRight: function() {\n\t\treturn this.x + this.width;\n\t},\n\n\tsetRight: function(right) {\n\t\tif (!this._fw) {\n\t\t\tvar amount = right - this.x;\n\t\t\tthis.width = this._sx === 0.5 ? amount * 2 : amount;\n\t\t}\n\t\tthis.x = right - this.width;\n\t\tthis._sx = 1;\n\t\tthis._fw = 0;\n\t},\n\n\tgetBottom: function() {\n\t\treturn this.y + this.height;\n\t},\n\n\tsetBottom: function(bottom) {\n\t\tif (!this._fh) {\n\t\t\tvar amount = bottom - this.y;\n\t\t\tthis.height = this._sy === 0.5 ? amount * 2 : amount;\n\t\t}\n\t\tthis.y = bottom - this.height;\n\t\tthis._sy = 1;\n\t\tthis._fh = 0;\n\t},\n\n\tgetCenterX: function() {\n\t\treturn this.x + this.width / 2;\n\t},\n\n\tsetCenterX: function(x) {\n\t\tif (this._fw || this._sx === 0.5) {\n\t\t\tthis.x = x - this.width / 2;\n\t\t} else {\n\t\t\tif (this._sx) {\n\t\t\t\tthis.x += (x - this.x) * 2 * this._sx;\n\t\t\t}\n\t\t\tthis.width = (x - this.x) * 2;\n\t\t}\n\t\tthis._sx = 0.5;\n\t\tthis._fw = 0;\n\t},\n\n\tgetCenterY: function() {\n\t\treturn this.y + this.height / 2;\n\t},\n\n\tsetCenterY: function(y) {\n\t\tif (this._fh || this._sy === 0.5) {\n\t\t\tthis.y = y - this.height / 2;\n\t\t} else {\n\t\t\tif (this._sy) {\n\t\t\t\tthis.y += (y - this.y) * 2 * this._sy;\n\t\t\t}\n\t\t\tthis.height = (y - this.y) * 2;\n\t\t}\n\t\tthis._sy = 0.5;\n\t\tthis._fh = 0;\n\t},\n\n\tgetCenter: function(_dontLink) {\n\t\tvar ctor = _dontLink ? Point : LinkedPoint;\n\t\treturn new ctor(this.getCenterX(), this.getCenterY(), this, 'setCenter');\n\t},\n\n\tsetCenter: function() {\n\t\tvar point = Point.read(arguments);\n\t\tthis.setCenterX(point.x);\n\t\tthis.setCenterY(point.y);\n\t\treturn this;\n\t},\n\n\tgetArea: function() {\n\t\treturn this.width * this.height;\n\t},\n\n\tisEmpty: function() {\n\t\treturn this.width === 0 || this.height === 0;\n\t},\n\n\tcontains: function(arg) {\n\t\treturn arg && arg.width !== undefined\n\t\t\t\t|| (Array.isArray(arg) ? arg : arguments).length === 4\n\t\t\t\t? this._containsRectangle(Rectangle.read(arguments))\n\t\t\t\t: this._containsPoint(Point.read(arguments));\n\t},\n\n\t_containsPoint: function(point) {\n\t\tvar x = point.x,\n\t\t\ty = point.y;\n\t\treturn x >= this.x && y >= this.y\n\t\t\t\t&& x <= this.x + this.width\n\t\t\t\t&& y <= this.y + this.height;\n\t},\n\n\t_containsRectangle: function(rect) {\n\t\tvar x = rect.x,\n\t\t\ty = rect.y;\n\t\treturn x >= this.x && y >= this.y\n\t\t\t\t&& x + rect.width <= this.x + this.width\n\t\t\t\t&& y + rect.height <= this.y + this.height;\n\t},\n\n\tintersects: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\tepsilon = Base.read(arguments) || 0;\n\t\treturn rect.x + rect.width > this.x - epsilon\n\t\t\t\t&& rect.y + rect.height > this.y - epsilon\n\t\t\t\t&& rect.x < this.x + this.width + epsilon\n\t\t\t\t&& rect.y < this.y + this.height + epsilon;\n\t},\n\n\tintersect: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\tx1 = Math.max(this.x, rect.x),\n\t\t\ty1 = Math.max(this.y, rect.y),\n\t\t\tx2 = Math.min(this.x + this.width, rect.x + rect.width),\n\t\t\ty2 = Math.min(this.y + this.height, rect.y + rect.height);\n\t\treturn new Rectangle(x1, y1, x2 - x1, y2 - y1);\n\t},\n\n\tunite: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\tx1 = Math.min(this.x, rect.x),\n\t\t\ty1 = Math.min(this.y, rect.y),\n\t\t\tx2 = Math.max(this.x + this.width, rect.x + rect.width),\n\t\t\ty2 = Math.max(this.y + this.height, rect.y + rect.height);\n\t\treturn new Rectangle(x1, y1, x2 - x1, y2 - y1);\n\t},\n\n\tinclude: function() {\n\t\tvar point = Point.read(arguments);\n\t\tvar x1 = Math.min(this.x, point.x),\n\t\t\ty1 = Math.min(this.y, point.y),\n\t\t\tx2 = Math.max(this.x + this.width, point.x),\n\t\t\ty2 = Math.max(this.y + this.height, point.y);\n\t\treturn new Rectangle(x1, y1, x2 - x1, y2 - y1);\n\t},\n\n\texpand: function() {\n\t\tvar amount = Size.read(arguments),\n\t\t\thor = amount.width,\n\t\t\tver = amount.height;\n\t\treturn new Rectangle(this.x - hor / 2, this.y - ver / 2,\n\t\t\t\tthis.width + hor, this.height + ver);\n\t},\n\n\tscale: function(hor, ver) {\n\t\treturn this.expand(this.width * hor - this.width,\n\t\t\t\tthis.height * (ver === undefined ? hor : ver) - this.height);\n\t}\n}, Base.each([\n\t\t['Top', 'Left'], ['Top', 'Right'],\n\t\t['Bottom', 'Left'], ['Bottom', 'Right'],\n\t\t['Left', 'Center'], ['Top', 'Center'],\n\t\t['Right', 'Center'], ['Bottom', 'Center']\n\t],\n\tfunction(parts, index) {\n\t\tvar part = parts.join(''),\n\t\t\txFirst = /^[RL]/.test(part);\n\t\tif (index >= 4)\n\t\t\tparts[1] += xFirst ? 'Y' : 'X';\n\t\tvar x = parts[xFirst ? 0 : 1],\n\t\t\ty = parts[xFirst ? 1 : 0],\n\t\t\tgetX = 'get' + x,\n\t\t\tgetY = 'get' + y,\n\t\t\tsetX = 'set' + x,\n\t\t\tsetY = 'set' + y,\n\t\t\tget = 'get' + part,\n\t\t\tset = 'set' + part;\n\t\tthis[get] = function(_dontLink) {\n\t\t\tvar ctor = _dontLink ? Point : LinkedPoint;\n\t\t\treturn new ctor(this[getX](), this[getY](), this, set);\n\t\t};\n\t\tthis[set] = function() {\n\t\t\tvar point = Point.read(arguments);\n\t\t\tthis[setX](point.x);\n\t\t\tthis[setY](point.y);\n\t\t};\n\t}, {\n\t\tbeans: true\n\t}\n));\n\nvar LinkedRectangle = Rectangle.extend({\n\tinitialize: function Rectangle(x, y, width, height, owner, setter) {\n\t\tthis._set(x, y, width, height, true);\n\t\tthis._owner = owner;\n\t\tthis._setter = setter;\n\t},\n\n\t_set: function(x, y, width, height, _dontNotify) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._width = width;\n\t\tthis._height = height;\n\t\tif (!_dontNotify)\n\t\t\tthis._owner[this._setter](this);\n\t\treturn this;\n\t}\n},\nnew function() {\n\tvar proto = Rectangle.prototype;\n\n\treturn Base.each(['x', 'y', 'width', 'height'], function(key) {\n\t\tvar part = Base.capitalize(key),\n\t\t\tinternal = '_' + key;\n\t\tthis['get' + part] = function() {\n\t\t\treturn this[internal];\n\t\t};\n\n\t\tthis['set' + part] = function(value) {\n\t\t\tthis[internal] = value;\n\t\t\tif (!this._dontNotify)\n\t\t\t\tthis._owner[this._setter](this);\n\t\t};\n\t}, Base.each(['Point', 'Size', 'Center',\n\t\t\t'Left', 'Top', 'Right', 'Bottom', 'CenterX', 'CenterY',\n\t\t\t'TopLeft', 'TopRight', 'BottomLeft', 'BottomRight',\n\t\t\t'LeftCenter', 'TopCenter', 'RightCenter', 'BottomCenter'],\n\t\tfunction(key) {\n\t\t\tvar name = 'set' + key;\n\t\t\tthis[name] = function() {\n\t\t\t\tthis._dontNotify = true;\n\t\t\t\tproto[name].apply(this, arguments);\n\t\t\t\tthis._dontNotify = false;\n\t\t\t\tthis._owner[this._setter](this);\n\t\t\t};\n\t\t}, {\n\t\t\tisSelected: function() {\n\t\t\t\treturn !!(this._owner._selection & 2);\n\t\t\t},\n\n\t\t\tsetSelected: function(selected) {\n\t\t\t\tvar owner = this._owner;\n\t\t\t\tif (owner._changeSelection) {\n\t\t\t\t\towner._changeSelection(2, selected);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t);\n});\n\nvar Matrix = Base.extend({\n\t_class: 'Matrix',\n\n\tinitialize: function Matrix(arg, _dontNotify) {\n\t\tvar count = arguments.length,\n\t\t\tok = true;\n\t\tif (count >= 6) {\n\t\t\tthis._set.apply(this, arguments);\n\t\t} else if (count === 1 || count === 2) {\n\t\t\tif (arg instanceof Matrix) {\n\t\t\t\tthis._set(arg._a, arg._b, arg._c, arg._d, arg._tx, arg._ty,\n\t\t\t\t\t\t_dontNotify);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tthis._set.apply(this,\n\t\t\t\t\t\t_dontNotify ? arg.concat([_dontNotify]) : arg);\n\t\t\t} else {\n\t\t\t\tok = false;\n\t\t\t}\n\t\t} else if (!count) {\n\t\t\tthis.reset();\n\t\t} else {\n\t\t\tok = false;\n\t\t}\n\t\tif (!ok) {\n\t\t\tthrow new Error('Unsupported matrix parameters');\n\t\t}\n\t\treturn this;\n\t},\n\n\tset: '#initialize',\n\n\t_set: function(a, b, c, d, tx, ty, _dontNotify) {\n\t\tthis._a = a;\n\t\tthis._b = b;\n\t\tthis._c = c;\n\t\tthis._d = d;\n\t\tthis._tx = tx;\n\t\tthis._ty = ty;\n\t\tif (!_dontNotify)\n\t\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\treturn Base.serialize(this.getValues(), options, true, dictionary);\n\t},\n\n\t_changed: function() {\n\t\tvar owner = this._owner;\n\t\tif (owner) {\n\t\t\tif (owner._applyMatrix) {\n\t\t\t\towner.transform(null, true);\n\t\t\t} else {\n\t\t\t\towner._changed(25);\n\t\t\t}\n\t\t}\n\t},\n\n\tclone: function() {\n\t\treturn new Matrix(this._a, this._b, this._c, this._d,\n\t\t\t\tthis._tx, this._ty);\n\t},\n\n\tequals: function(mx) {\n\t\treturn mx === this || mx && this._a === mx._a && this._b === mx._b\n\t\t\t\t&& this._c === mx._c && this._d === mx._d\n\t\t\t\t&& this._tx === mx._tx && this._ty === mx._ty;\n\t},\n\n\ttoString: function() {\n\t\tvar f = Formatter.instance;\n\t\treturn '[[' + [f.number(this._a), f.number(this._c),\n\t\t\t\t\tf.number(this._tx)].join(', ') + '], ['\n\t\t\t\t+ [f.number(this._b), f.number(this._d),\n\t\t\t\t\tf.number(this._ty)].join(', ') + ']]';\n\t},\n\n\treset: function(_dontNotify) {\n\t\tthis._a = this._d = 1;\n\t\tthis._b = this._c = this._tx = this._ty = 0;\n\t\tif (!_dontNotify)\n\t\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\tapply: function(recursively, _setApplyMatrix) {\n\t\tvar owner = this._owner;\n\t\tif (owner) {\n\t\t\towner.transform(null, true, Base.pick(recursively, true),\n\t\t\t\t\t_setApplyMatrix);\n\t\t\treturn this.isIdentity();\n\t\t}\n\t\treturn false;\n\t},\n\n\ttranslate: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tx = point.x,\n\t\t\ty = point.y;\n\t\tthis._tx += x * this._a + y * this._c;\n\t\tthis._ty += x * this._b + y * this._d;\n\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\tscale: function() {\n\t\tvar scale = Point.read(arguments),\n\t\t\tcenter = Point.read(arguments, 0, { readNull: true });\n\t\tif (center)\n\t\t\tthis.translate(center);\n\t\tthis._a *= scale.x;\n\t\tthis._b *= scale.x;\n\t\tthis._c *= scale.y;\n\t\tthis._d *= scale.y;\n\t\tif (center)\n\t\t\tthis.translate(center.negate());\n\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\trotate: function(angle ) {\n\t\tangle *= Math.PI / 180;\n\t\tvar center = Point.read(arguments, 1),\n\t\t\tx = center.x,\n\t\t\ty = center.y,\n\t\t\tcos = Math.cos(angle),\n\t\t\tsin = Math.sin(angle),\n\t\t\ttx = x - x * cos + y * sin,\n\t\t\tty = y - x * sin - y * cos,\n\t\t\ta = this._a,\n\t\t\tb = this._b,\n\t\t\tc = this._c,\n\t\t\td = this._d;\n\t\tthis._a = cos * a + sin * c;\n\t\tthis._b = cos * b + sin * d;\n\t\tthis._c = -sin * a + cos * c;\n\t\tthis._d = -sin * b + cos * d;\n\t\tthis._tx += tx * a + ty * c;\n\t\tthis._ty += tx * b + ty * d;\n\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\tshear: function() {\n\t\tvar shear = Point.read(arguments),\n\t\t\tcenter = Point.read(arguments, 0, { readNull: true });\n\t\tif (center)\n\t\t\tthis.translate(center);\n\t\tvar a = this._a,\n\t\t\tb = this._b;\n\t\tthis._a += shear.y * this._c;\n\t\tthis._b += shear.y * this._d;\n\t\tthis._c += shear.x * a;\n\t\tthis._d += shear.x * b;\n\t\tif (center)\n\t\t\tthis.translate(center.negate());\n\t\tthis._changed();\n\t\treturn this;\n\t},\n\n\tskew: function() {\n\t\tvar skew = Point.read(arguments),\n\t\t\tcenter = Point.read(arguments, 0, { readNull: true }),\n\t\t\ttoRadians = Math.PI / 180,\n\t\t\tshear = new Point(Math.tan(skew.x * toRadians),\n\t\t\t\tMath.tan(skew.y * toRadians));\n\t\treturn this.shear(shear, center);\n\t},\n\n\tappend: function(mx, _dontNotify) {\n\t\tif (mx) {\n\t\t\tvar a1 = this._a,\n\t\t\t\tb1 = this._b,\n\t\t\t\tc1 = this._c,\n\t\t\t\td1 = this._d,\n\t\t\t\ta2 = mx._a,\n\t\t\t\tb2 = mx._c,\n\t\t\t\tc2 = mx._b,\n\t\t\t\td2 = mx._d,\n\t\t\t\ttx2 = mx._tx,\n\t\t\t\tty2 = mx._ty;\n\t\t\tthis._a = a2 * a1 + c2 * c1;\n\t\t\tthis._c = b2 * a1 + d2 * c1;\n\t\t\tthis._b = a2 * b1 + c2 * d1;\n\t\t\tthis._d = b2 * b1 + d2 * d1;\n\t\t\tthis._tx += tx2 * a1 + ty2 * c1;\n\t\t\tthis._ty += tx2 * b1 + ty2 * d1;\n\t\t\tif (!_dontNotify)\n\t\t\t\tthis._changed();\n\t\t}\n\t\treturn this;\n\t},\n\n\tprepend: function(mx, _dontNotify) {\n\t\tif (mx) {\n\t\t\tvar a1 = this._a,\n\t\t\t\tb1 = this._b,\n\t\t\t\tc1 = this._c,\n\t\t\t\td1 = this._d,\n\t\t\t\ttx1 = this._tx,\n\t\t\t\tty1 = this._ty,\n\t\t\t\ta2 = mx._a,\n\t\t\t\tb2 = mx._c,\n\t\t\t\tc2 = mx._b,\n\t\t\t\td2 = mx._d,\n\t\t\t\ttx2 = mx._tx,\n\t\t\t\tty2 = mx._ty;\n\t\t\tthis._a = a2 * a1 + b2 * b1;\n\t\t\tthis._c = a2 * c1 + b2 * d1;\n\t\t\tthis._b = c2 * a1 + d2 * b1;\n\t\t\tthis._d = c2 * c1 + d2 * d1;\n\t\t\tthis._tx = a2 * tx1 + b2 * ty1 + tx2;\n\t\t\tthis._ty = c2 * tx1 + d2 * ty1 + ty2;\n\t\t\tif (!_dontNotify)\n\t\t\t\tthis._changed();\n\t\t}\n\t\treturn this;\n\t},\n\n\tappended: function(mx) {\n\t\treturn this.clone().append(mx);\n\t},\n\n\tprepended: function(mx) {\n\t\treturn this.clone().prepend(mx);\n\t},\n\n\tinvert: function() {\n\t\tvar a = this._a,\n\t\t\tb = this._b,\n\t\t\tc = this._c,\n\t\t\td = this._d,\n\t\t\ttx = this._tx,\n\t\t\tty = this._ty,\n\t\t\tdet = a * d - b * c,\n\t\t\tres = null;\n\t\tif (det && !isNaN(det) && isFinite(tx) && isFinite(ty)) {\n\t\t\tthis._a = d / det;\n\t\t\tthis._b = -b / det;\n\t\t\tthis._c = -c / det;\n\t\t\tthis._d = a / det;\n\t\t\tthis._tx = (c * ty - d * tx) / det;\n\t\t\tthis._ty = (b * tx - a * ty) / det;\n\t\t\tres = this;\n\t\t}\n\t\treturn res;\n\t},\n\n\tinverted: function() {\n\t\treturn this.clone().invert();\n\t},\n\n\tconcatenate: '#append',\n\tpreConcatenate: '#prepend',\n\tchain: '#appended',\n\n\t_shiftless: function() {\n\t\treturn new Matrix(this._a, this._b, this._c, this._d, 0, 0);\n\t},\n\n\t_orNullIfIdentity: function() {\n\t\treturn this.isIdentity() ? null : this;\n\t},\n\n\tisIdentity: function() {\n\t\treturn this._a === 1 && this._b === 0 && this._c === 0 && this._d === 1\n\t\t\t\t&& this._tx === 0 && this._ty === 0;\n\t},\n\n\tisInvertible: function() {\n\t\tvar det = this._a * this._d - this._c * this._b;\n\t\treturn det && !isNaN(det) && isFinite(this._tx) && isFinite(this._ty);\n\t},\n\n\tisSingular: function() {\n\t\treturn !this.isInvertible();\n\t},\n\n\ttransform: function( src, dst, count) {\n\t\treturn arguments.length < 3\n\t\t\t? this._transformPoint(Point.read(arguments))\n\t\t\t: this._transformCoordinates(src, dst, count);\n\t},\n\n\t_transformPoint: function(point, dest, _dontNotify) {\n\t\tvar x = point.x,\n\t\t\ty = point.y;\n\t\tif (!dest)\n\t\t\tdest = new Point();\n\t\treturn dest._set(\n\t\t\t\tx * this._a + y * this._c + this._tx,\n\t\t\t\tx * this._b + y * this._d + this._ty,\n\t\t\t\t_dontNotify);\n\t},\n\n\t_transformCoordinates: function(src, dst, count) {\n\t\tfor (var i = 0, max = 2 * count; i < max; i += 2) {\n\t\t\tvar x = src[i],\n\t\t\t\ty = src[i + 1];\n\t\t\tdst[i] = x * this._a + y * this._c + this._tx;\n\t\t\tdst[i + 1] = x * this._b + y * this._d + this._ty;\n\t\t}\n\t\treturn dst;\n\t},\n\n\t_transformCorners: function(rect) {\n\t\tvar x1 = rect.x,\n\t\t\ty1 = rect.y,\n\t\t\tx2 = x1 + rect.width,\n\t\t\ty2 = y1 + rect.height,\n\t\t\tcoords = [ x1, y1, x2, y1, x2, y2, x1, y2 ];\n\t\treturn this._transformCoordinates(coords, coords, 4);\n\t},\n\n\t_transformBounds: function(bounds, dest, _dontNotify) {\n\t\tvar coords = this._transformCorners(bounds),\n\t\t\tmin = coords.slice(0, 2),\n\t\t\tmax = min.slice();\n\t\tfor (var i = 2; i < 8; i++) {\n\t\t\tvar val = coords[i],\n\t\t\t\tj = i & 1;\n\t\t\tif (val < min[j]) {\n\t\t\t\tmin[j] = val;\n\t\t\t} else if (val > max[j]) {\n\t\t\t\tmax[j] = val;\n\t\t\t}\n\t\t}\n\t\tif (!dest)\n\t\t\tdest = new Rectangle();\n\t\treturn dest._set(min[0], min[1], max[0] - min[0], max[1] - min[1],\n\t\t\t\t_dontNotify);\n\t},\n\n\tinverseTransform: function() {\n\t\treturn this._inverseTransform(Point.read(arguments));\n\t},\n\n\t_inverseTransform: function(point, dest, _dontNotify) {\n\t\tvar a = this._a,\n\t\t\tb = this._b,\n\t\t\tc = this._c,\n\t\t\td = this._d,\n\t\t\ttx = this._tx,\n\t\t\tty = this._ty,\n\t\t\tdet = a * d - b * c,\n\t\t\tres = null;\n\t\tif (det && !isNaN(det) && isFinite(tx) && isFinite(ty)) {\n\t\t\tvar x = point.x - this._tx,\n\t\t\t\ty = point.y - this._ty;\n\t\t\tif (!dest)\n\t\t\t\tdest = new Point();\n\t\t\tres = dest._set(\n\t\t\t\t\t(x * d - y * c) / det,\n\t\t\t\t\t(y * a - x * b) / det,\n\t\t\t\t\t_dontNotify);\n\t\t}\n\t\treturn res;\n\t},\n\n\tdecompose: function() {\n\t\tvar a = this._a,\n\t\t\tb = this._b,\n\t\t\tc = this._c,\n\t\t\td = this._d,\n\t\t\tdet = a * d - b * c,\n\t\t\tsqrt = Math.sqrt,\n\t\t\tatan2 = Math.atan2,\n\t\t\tdegrees = 180 / Math.PI,\n\t\t\trotate,\n\t\t\tscale,\n\t\t\tskew;\n\t\tif (a !== 0 || b !== 0) {\n\t\t\tvar r = sqrt(a * a + b * b);\n\t\t\trotate = Math.acos(a / r) * (b > 0 ? 1 : -1);\n\t\t\tscale = [r, det / r];\n\t\t\tskew = [atan2(a * c + b * d, r * r), 0];\n\t\t} else if (c !== 0 || d !== 0) {\n\t\t\tvar s = sqrt(c * c + d * d);\n\t\t\trotate = Math.asin(c / s) * (d > 0 ? 1 : -1);\n\t\t\tscale = [det / s, s];\n\t\t\tskew = [0, atan2(a * c + b * d, s * s)];\n\t\t} else {\n\t\t\trotate = 0;\n\t\t\tskew = scale = [0, 0];\n\t\t}\n\t\treturn {\n\t\t\ttranslation: this.getTranslation(),\n\t\t\trotation: rotate * degrees,\n\t\t\tscaling: new Point(scale),\n\t\t\tskewing: new Point(skew[0] * degrees, skew[1] * degrees)\n\t\t};\n\t},\n\n\tgetValues: function() {\n\t\treturn [ this._a, this._b, this._c, this._d, this._tx, this._ty ];\n\t},\n\n\tgetTranslation: function() {\n\t\treturn new Point(this._tx, this._ty);\n\t},\n\n\tgetScaling: function() {\n\t\treturn this.decompose().scaling;\n\t},\n\n\tgetRotation: function() {\n\t\treturn this.decompose().rotation;\n\t},\n\n\tapplyToContext: function(ctx) {\n\t\tif (!this.isIdentity()) {\n\t\t\tctx.transform(this._a, this._b, this._c, this._d,\n\t\t\t\t\tthis._tx, this._ty);\n\t\t}\n\t}\n}, Base.each(['a', 'b', 'c', 'd', 'tx', 'ty'], function(key) {\n\tvar part = Base.capitalize(key),\n\t\tprop = '_' + key;\n\tthis['get' + part] = function() {\n\t\treturn this[prop];\n\t};\n\tthis['set' + part] = function(value) {\n\t\tthis[prop] = value;\n\t\tthis._changed();\n\t};\n}, {}));\n\nvar Line = Base.extend({\n\t_class: 'Line',\n\n\tinitialize: function Line(arg0, arg1, arg2, arg3, arg4) {\n\t\tvar asVector = false;\n\t\tif (arguments.length >= 4) {\n\t\t\tthis._px = arg0;\n\t\t\tthis._py = arg1;\n\t\t\tthis._vx = arg2;\n\t\t\tthis._vy = arg3;\n\t\t\tasVector = arg4;\n\t\t} else {\n\t\t\tthis._px = arg0.x;\n\t\t\tthis._py = arg0.y;\n\t\t\tthis._vx = arg1.x;\n\t\t\tthis._vy = arg1.y;\n\t\t\tasVector = arg2;\n\t\t}\n\t\tif (!asVector) {\n\t\t\tthis._vx -= this._px;\n\t\t\tthis._vy -= this._py;\n\t\t}\n\t},\n\n\tgetPoint: function() {\n\t\treturn new Point(this._px, this._py);\n\t},\n\n\tgetVector: function() {\n\t\treturn new Point(this._vx, this._vy);\n\t},\n\n\tgetLength: function() {\n\t\treturn this.getVector().getLength();\n\t},\n\n\tintersect: function(line, isInfinite) {\n\t\treturn Line.intersect(\n\t\t\t\tthis._px, this._py, this._vx, this._vy,\n\t\t\t\tline._px, line._py, line._vx, line._vy,\n\t\t\t\ttrue, isInfinite);\n\t},\n\n\tgetSide: function(point, isInfinite) {\n\t\treturn Line.getSide(\n\t\t\t\tthis._px, this._py, this._vx, this._vy,\n\t\t\t\tpoint.x, point.y, true, isInfinite);\n\t},\n\n\tgetDistance: function(point) {\n\t\treturn Math.abs(this.getSignedDistance(point));\n\t},\n\n\tgetSignedDistance: function(point) {\n\t\treturn Line.getSignedDistance(this._px, this._py, this._vx, this._vy,\n\t\t\t\tpoint.x, point.y, true);\n\t},\n\n\tisCollinear: function(line) {\n\t\treturn Point.isCollinear(this._vx, this._vy, line._vx, line._vy);\n\t},\n\n\tisOrthogonal: function(line) {\n\t\treturn Point.isOrthogonal(this._vx, this._vy, line._vx, line._vy);\n\t},\n\n\tstatics: {\n\t\tintersect: function(p1x, p1y, v1x, v1y, p2x, p2y, v2x, v2y, asVector,\n\t\t\t\tisInfinite) {\n\t\t\tif (!asVector) {\n\t\t\t\tv1x -= p1x;\n\t\t\t\tv1y -= p1y;\n\t\t\t\tv2x -= p2x;\n\t\t\t\tv2y -= p2y;\n\t\t\t}\n\t\t\tvar cross = v1x * v2y - v1y * v2x;\n\t\t\tif (!Numerical.isZero(cross)) {\n\t\t\t\tvar dx = p1x - p2x,\n\t\t\t\t\tdy = p1y - p2y,\n\t\t\t\t\tu1 = (v2x * dy - v2y * dx) / cross,\n\t\t\t\t\tu2 = (v1x * dy - v1y * dx) / cross,\n\t\t\t\t\tepsilon = 1e-12,\n\t\t\t\t\tuMin = -epsilon,\n\t\t\t\t\tuMax = 1 + epsilon;\n\t\t\t\tif (isInfinite\n\t\t\t\t\t\t|| uMin < u1 && u1 < uMax && uMin < u2 && u2 < uMax) {\n\t\t\t\t\tif (!isInfinite) {\n\t\t\t\t\t\tu1 = u1 <= 0 ? 0 : u1 >= 1 ? 1 : u1;\n\t\t\t\t\t}\n\t\t\t\t\treturn new Point(\n\t\t\t\t\t\t\tp1x + u1 * v1x,\n\t\t\t\t\t\t\tp1y + u1 * v1y);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tgetSide: function(px, py, vx, vy, x, y, asVector, isInfinite) {\n\t\t\tif (!asVector) {\n\t\t\t\tvx -= px;\n\t\t\t\tvy -= py;\n\t\t\t}\n\t\t\tvar v2x = x - px,\n\t\t\t\tv2y = y - py,\n\t\t\t\tccw = v2x * vy - v2y * vx;\n\t\t\tif (!isInfinite && Numerical.isZero(ccw)) {\n\t\t\t\tccw = (v2x * vx + v2x * vx) / (vx * vx + vy * vy);\n\t\t\t\tif (ccw >= 0 && ccw <= 1)\n\t\t\t\t\tccw = 0;\n\t\t\t}\n\t\t\treturn ccw < 0 ? -1 : ccw > 0 ? 1 : 0;\n\t\t},\n\n\t\tgetSignedDistance: function(px, py, vx, vy, x, y, asVector) {\n\t\t\tif (!asVector) {\n\t\t\t\tvx -= px;\n\t\t\t\tvy -= py;\n\t\t\t}\n\t\t\treturn vx === 0 ? vy > 0 ? x - px : px - x\n\t\t\t\t : vy === 0 ? vx < 0 ? y - py : py - y\n\t\t\t\t : ((x-px) * vy - (y-py) * vx) / Math.sqrt(vx * vx + vy * vy);\n\t\t},\n\n\t\tgetDistance: function(px, py, vx, vy, x, y, asVector) {\n\t\t\treturn Math.abs(\n\t\t\t\t\tLine.getSignedDistance(px, py, vx, vy, x, y, asVector));\n\t\t}\n\t}\n});\n\nvar Project = PaperScopeItem.extend({\n\t_class: 'Project',\n\t_list: 'projects',\n\t_reference: 'project',\n\t_compactSerialize: true,\n\n\tinitialize: function Project(element) {\n\t\tPaperScopeItem.call(this, true);\n\t\tthis._children = [];\n\t\tthis._namedChildren = {};\n\t\tthis._activeLayer = null;\n\t\tthis._currentStyle = new Style(null, null, this);\n\t\tthis._view = View.create(this,\n\t\t\t\telement || CanvasProvider.getCanvas(1, 1));\n\t\tthis._selectionItems = {};\n\t\tthis._selectionCount = 0;\n\t\tthis._updateVersion = 0;\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\treturn Base.serialize(this._children, options, true, dictionary);\n\t},\n\n\t_changed: function(flags, item) {\n\t\tif (flags & 1) {\n\t\t\tvar view = this._view;\n\t\t\tif (view) {\n\t\t\t\tview._needsUpdate = true;\n\t\t\t\tif (!view._requested && view._autoUpdate)\n\t\t\t\t\tview.requestUpdate();\n\t\t\t}\n\t\t}\n\t\tvar changes = this._changes;\n\t\tif (changes && item) {\n\t\t\tvar changesById = this._changesById,\n\t\t\t\tid = item._id,\n\t\t\t\tentry = changesById[id];\n\t\t\tif (entry) {\n\t\t\t\tentry.flags |= flags;\n\t\t\t} else {\n\t\t\t\tchanges.push(changesById[id] = { item: item, flags: flags });\n\t\t\t}\n\t\t}\n\t},\n\n\tclear: function() {\n\t\tvar children = this._children;\n\t\tfor (var i = children.length - 1; i >= 0; i--)\n\t\t\tchildren[i].remove();\n\t},\n\n\tisEmpty: function() {\n\t\treturn !this._children.length;\n\t},\n\n\tremove: function remove() {\n\t\tif (!remove.base.call(this))\n\t\t\treturn false;\n\t\tif (this._view)\n\t\t\tthis._view.remove();\n\t\treturn true;\n\t},\n\n\tgetView: function() {\n\t\treturn this._view;\n\t},\n\n\tgetCurrentStyle: function() {\n\t\treturn this._currentStyle;\n\t},\n\n\tsetCurrentStyle: function(style) {\n\t\tthis._currentStyle.set(style);\n\t},\n\n\tgetIndex: function() {\n\t\treturn this._index;\n\t},\n\n\tgetOptions: function() {\n\t\treturn this._scope.settings;\n\t},\n\n\tgetLayers: function() {\n\t\treturn this._children;\n\t},\n\n\tgetActiveLayer: function() {\n\t\treturn this._activeLayer || new Layer({ project: this, insert: true });\n\t},\n\n\tgetSymbolDefinitions: function() {\n\t\tvar definitions = [],\n\t\t\tids = {};\n\t\tthis.getItems({\n\t\t\tclass: SymbolItem,\n\t\t\tmatch: function(item) {\n\t\t\t\tvar definition = item._definition,\n\t\t\t\t\tid = definition._id;\n\t\t\t\tif (!ids[id]) {\n\t\t\t\t\tids[id] = true;\n\t\t\t\t\tdefinitions.push(definition);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\treturn definitions;\n\t},\n\n\tgetSymbols: 'getSymbolDefinitions',\n\n\tgetSelectedItems: function() {\n\t\tvar selectionItems = this._selectionItems,\n\t\t\titems = [];\n\t\tfor (var id in selectionItems) {\n\t\t\tvar item = selectionItems[id],\n\t\t\t\tselection = item._selection;\n\t\t\tif ((selection & 1) && item.isInserted()) {\n\t\t\t\titems.push(item);\n\t\t\t} else if (!selection) {\n\t\t\t\tthis._updateSelection(item);\n\t\t\t}\n\t\t}\n\t\treturn items;\n\t},\n\n\t_updateSelection: function(item) {\n\t\tvar id = item._id,\n\t\t\tselectionItems = this._selectionItems;\n\t\tif (item._selection) {\n\t\t\tif (selectionItems[id] !== item) {\n\t\t\t\tthis._selectionCount++;\n\t\t\t\tselectionItems[id] = item;\n\t\t\t}\n\t\t} else if (selectionItems[id] === item) {\n\t\t\tthis._selectionCount--;\n\t\t\tdelete selectionItems[id];\n\t\t}\n\t},\n\n\tselectAll: function() {\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\tchildren[i].setFullySelected(true);\n\t},\n\n\tdeselectAll: function() {\n\t\tvar selectionItems = this._selectionItems;\n\t\tfor (var i in selectionItems)\n\t\t\tselectionItems[i].setFullySelected(false);\n\t},\n\n\taddLayer: function(layer) {\n\t\treturn this.insertLayer(undefined, layer);\n\t},\n\n\tinsertLayer: function(index, layer) {\n\t\tif (layer instanceof Layer) {\n\t\t\tlayer._remove(false, true);\n\t\t\tBase.splice(this._children, [layer], index, 0);\n\t\t\tlayer._setProject(this, true);\n\t\t\tvar name = layer._name;\n\t\t\tif (name)\n\t\t\t\tlayer.setName(name);\n\t\t\tif (this._changes)\n\t\t\t\tlayer._changed(5);\n\t\t\tif (!this._activeLayer)\n\t\t\t\tthis._activeLayer = layer;\n\t\t} else {\n\t\t\tlayer = null;\n\t\t}\n\t\treturn layer;\n\t},\n\n\t_insertItem: function(index, item, _created) {\n\t\titem = this.insertLayer(index, item)\n\t\t\t\t|| (this._activeLayer || this._insertItem(undefined,\n\t\t\t\t\t\tnew Layer(Item.NO_INSERT), true))\n\t\t\t\t\t\t.insertChild(index, item);\n\t\tif (_created && item.activate)\n\t\t\titem.activate();\n\t\treturn item;\n\t},\n\n\tgetItems: function(options) {\n\t\treturn Item._getItems(this, options);\n\t},\n\n\tgetItem: function(options) {\n\t\treturn Item._getItems(this, options, null, null, true)[0] || null;\n\t},\n\n\timportJSON: function(json) {\n\t\tthis.activate();\n\t\tvar layer = this._activeLayer;\n\t\treturn Base.importJSON(json, layer && layer.isEmpty() && layer);\n\t},\n\n\tremoveOn: function(type) {\n\t\tvar sets = this._removeSets;\n\t\tif (sets) {\n\t\t\tif (type === 'mouseup')\n\t\t\t\tsets.mousedrag = null;\n\t\t\tvar set = sets[type];\n\t\t\tif (set) {\n\t\t\t\tfor (var id in set) {\n\t\t\t\t\tvar item = set[id];\n\t\t\t\t\tfor (var key in sets) {\n\t\t\t\t\t\tvar other = sets[key];\n\t\t\t\t\t\tif (other && other != set)\n\t\t\t\t\t\t\tdelete other[item._id];\n\t\t\t\t\t}\n\t\t\t\t\titem.remove();\n\t\t\t\t}\n\t\t\t\tsets[type] = null;\n\t\t\t}\n\t\t}\n\t},\n\n\tdraw: function(ctx, matrix, pixelRatio) {\n\t\tthis._updateVersion++;\n\t\tctx.save();\n\t\tmatrix.applyToContext(ctx);\n\t\tvar children = this._children,\n\t\t\tparam = new Base({\n\t\t\t\toffset: new Point(0, 0),\n\t\t\t\tpixelRatio: pixelRatio,\n\t\t\t\tviewMatrix: matrix.isIdentity() ? null : matrix,\n\t\t\t\tmatrices: [new Matrix()],\n\t\t\t\tupdateMatrix: true\n\t\t\t});\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tchildren[i].draw(ctx, param);\n\t\t}\n\t\tctx.restore();\n\n\t\tif (this._selectionCount > 0) {\n\t\t\tctx.save();\n\t\t\tctx.strokeWidth = 1;\n\t\t\tvar items = this._selectionItems,\n\t\t\t\tsize = this._scope.settings.handleSize,\n\t\t\t\tversion = this._updateVersion;\n\t\t\tfor (var id in items) {\n\t\t\t\titems[id]._drawSelection(ctx, matrix, size, items, version);\n\t\t\t}\n\t\t\tctx.restore();\n\t\t}\n\t}\n});\n\nvar Item = Base.extend(Emitter, {\n\tstatics: {\n\t\textend: function extend(src) {\n\t\t\tif (src._serializeFields)\n\t\t\t\tsrc._serializeFields = Base.set({},\n\t\t\t\t\tthis.prototype._serializeFields, src._serializeFields);\n\t\t\treturn extend.base.apply(this, arguments);\n\t\t},\n\n\t\tNO_INSERT: { insert: false }\n\t},\n\n\t_class: 'Item',\n\t_name: null,\n\t_applyMatrix: true,\n\t_canApplyMatrix: true,\n\t_canScaleStroke: false,\n\t_pivot: null,\n\t_visible: true,\n\t_blendMode: 'normal',\n\t_opacity: 1,\n\t_locked: false,\n\t_guide: false,\n\t_clipMask: false,\n\t_selection: 0,\n\t_selectBounds: true,\n\t_selectChildren: false,\n\t_serializeFields: {\n\t\tname: null,\n\t\tapplyMatrix: null,\n\t\tmatrix: new Matrix(),\n\t\tpivot: null,\n\t\tvisible: true,\n\t\tblendMode: 'normal',\n\t\topacity: 1,\n\t\tlocked: false,\n\t\tguide: false,\n\t\tclipMask: false,\n\t\tselected: false,\n\t\tdata: {}\n\t},\n\t_prioritize: ['applyMatrix']\n},\nnew function() {\n\tvar handlers = ['onMouseDown', 'onMouseUp', 'onMouseDrag', 'onClick',\n\t\t\t'onDoubleClick', 'onMouseMove', 'onMouseEnter', 'onMouseLeave'];\n\treturn Base.each(handlers,\n\t\tfunction(name) {\n\t\t\tthis._events[name] = {\n\t\t\t\tinstall: function(type) {\n\t\t\t\t\tthis.getView()._countItemEvent(type, 1);\n\t\t\t\t},\n\n\t\t\t\tuninstall: function(type) {\n\t\t\t\t\tthis.getView()._countItemEvent(type, -1);\n\t\t\t\t}\n\t\t\t};\n\t\t}, {\n\t\t\t_events: {\n\t\t\t\tonFrame: {\n\t\t\t\t\tinstall: function() {\n\t\t\t\t\t\tthis.getView()._animateItem(this, true);\n\t\t\t\t\t},\n\n\t\t\t\t\tuninstall: function() {\n\t\t\t\t\t\tthis.getView()._animateItem(this, false);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tonLoad: {},\n\t\t\t\tonError: {}\n\t\t\t},\n\t\t\tstatics: {\n\t\t\t\t_itemHandlers: handlers\n\t\t\t}\n\t\t}\n\t);\n}, {\n\tinitialize: function Item() {\n\t},\n\n\t_initialize: function(props, point) {\n\t\tvar hasProps = props && Base.isPlainObject(props),\n\t\t\tinternal = hasProps && props.internal === true,\n\t\t\tmatrix = this._matrix = new Matrix(),\n\t\t\tproject = hasProps && props.project || paper.project,\n\t\t\tsettings = paper.settings;\n\t\tthis._id = internal ? null : UID.get();\n\t\tthis._parent = this._index = null;\n\t\tthis._applyMatrix = this._canApplyMatrix && settings.applyMatrix;\n\t\tif (point)\n\t\t\tmatrix.translate(point);\n\t\tmatrix._owner = this;\n\t\tthis._style = new Style(project._currentStyle, this, project);\n\t\tif (internal || hasProps && props.insert == false\n\t\t\t|| !settings.insertItems && !(hasProps && props.insert === true)) {\n\t\t\tthis._setProject(project);\n\t\t} else {\n\t\t\t(hasProps && props.parent || project)\n\t\t\t\t\t._insertItem(undefined, this, true);\n\t\t}\n\t\tif (hasProps && props !== Item.NO_INSERT) {\n\t\t\tthis.set(props, {\n\t\t\t\tinternal: true, insert: true, project: true, parent: true\n\t\t\t});\n\t\t}\n\t\treturn hasProps;\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\tvar props = {},\n\t\t\tthat = this;\n\n\t\tfunction serialize(fields) {\n\t\t\tfor (var key in fields) {\n\t\t\t\tvar value = that[key];\n\t\t\t\tif (!Base.equals(value, key === 'leading'\n\t\t\t\t\t\t? fields.fontSize * 1.2 : fields[key])) {\n\t\t\t\t\tprops[key] = Base.serialize(value, options,\n\t\t\t\t\t\t\tkey !== 'data', dictionary);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tserialize(this._serializeFields);\n\t\tif (!(this instanceof Group))\n\t\t\tserialize(this._style._defaults);\n\t\treturn [ this._class, props ];\n\t},\n\n\t_changed: function(flags) {\n\t\tvar symbol = this._symbol,\n\t\t\tcacheParent = this._parent || symbol,\n\t\t\tproject = this._project;\n\t\tif (flags & 8) {\n\t\t\tthis._bounds = this._position = this._decomposed = undefined;\n\t\t}\n\t\tif (flags & 16) {\n\t\t\tthis._globalMatrix = undefined;\n\t\t}\n\t\tif (cacheParent\n\t\t\t\t&& (flags & 72)) {\n\t\t\tItem._clearBoundsCache(cacheParent);\n\t\t}\n\t\tif (flags & 2) {\n\t\t\tItem._clearBoundsCache(this);\n\t\t}\n\t\tif (project)\n\t\t\tproject._changed(flags, this);\n\t\tif (symbol)\n\t\t\tsymbol._changed(flags);\n\t},\n\n\tgetId: function() {\n\t\treturn this._id;\n\t},\n\n\tgetName: function() {\n\t\treturn this._name;\n\t},\n\n\tsetName: function(name) {\n\n\t\tif (this._name)\n\t\t\tthis._removeNamed();\n\t\tif (name === (+name) + '')\n\t\t\tthrow new Error(\n\t\t\t\t\t'Names consisting only of numbers are not supported.');\n\t\tvar owner = this._getOwner();\n\t\tif (name && owner) {\n\t\t\tvar children = owner._children,\n\t\t\t\tnamedChildren = owner._namedChildren;\n\t\t\t(namedChildren[name] = namedChildren[name] || []).push(this);\n\t\t\tif (!(name in children))\n\t\t\t\tchildren[name] = this;\n\t\t}\n\t\tthis._name = name || undefined;\n\t\tthis._changed(256);\n\t},\n\n\tgetStyle: function() {\n\t\treturn this._style;\n\t},\n\n\tsetStyle: function(style) {\n\t\tthis.getStyle().set(style);\n\t}\n}, Base.each(['locked', 'visible', 'blendMode', 'opacity', 'guide'],\n\tfunction(name) {\n\t\tvar part = Base.capitalize(name),\n\t\t\tkey = '_' + name,\n\t\t\tflags = {\n\t\t\t\tlocked: 256,\n\t\t\t\tvisible: 265\n\t\t\t};\n\t\tthis['get' + part] = function() {\n\t\t\treturn this[key];\n\t\t};\n\t\tthis['set' + part] = function(value) {\n\t\t\tif (value != this[key]) {\n\t\t\t\tthis[key] = value;\n\t\t\t\tthis._changed(flags[name] || 257);\n\t\t\t}\n\t\t};\n\t},\n{}), {\n\tbeans: true,\n\n\tgetSelection: function() {\n\t\treturn this._selection;\n\t},\n\n\tsetSelection: function(selection) {\n\t\tif (selection !== this._selection) {\n\t\t\tthis._selection = selection;\n\t\t\tvar project = this._project;\n\t\t\tif (project) {\n\t\t\t\tproject._updateSelection(this);\n\t\t\t\tthis._changed(257);\n\t\t\t}\n\t\t}\n\t},\n\n\t_changeSelection: function(flag, selected) {\n\t\tvar selection = this._selection;\n\t\tthis.setSelection(selected ? selection | flag : selection & ~flag);\n\t},\n\n\tisSelected: function() {\n\t\tif (this._selectChildren) {\n\t\t\tvar children = this._children;\n\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\tif (children[i].isSelected())\n\t\t\t\t\treturn true;\n\t\t}\n\t\treturn !!(this._selection & 1);\n\t},\n\n\tsetSelected: function(selected) {\n\t\tif (this._selectChildren) {\n\t\t\tvar children = this._children;\n\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\tchildren[i].setSelected(selected);\n\t\t}\n\t\tthis._changeSelection(1, selected);\n\t},\n\n\tisFullySelected: function() {\n\t\tvar children = this._children,\n\t\t\tselected = !!(this._selection & 1);\n\t\tif (children && selected) {\n\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\tif (!children[i].isFullySelected())\n\t\t\t\t\treturn false;\n\t\t\treturn true;\n\t\t}\n\t\treturn selected;\n\t},\n\n\tsetFullySelected: function(selected) {\n\t\tvar children = this._children;\n\t\tif (children) {\n\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\tchildren[i].setFullySelected(selected);\n\t\t}\n\t\tthis._changeSelection(1, selected);\n\t},\n\n\tisClipMask: function() {\n\t\treturn this._clipMask;\n\t},\n\n\tsetClipMask: function(clipMask) {\n\t\tif (this._clipMask != (clipMask = !!clipMask)) {\n\t\t\tthis._clipMask = clipMask;\n\t\t\tif (clipMask) {\n\t\t\t\tthis.setFillColor(null);\n\t\t\t\tthis.setStrokeColor(null);\n\t\t\t}\n\t\t\tthis._changed(257);\n\t\t\tif (this._parent)\n\t\t\t\tthis._parent._changed(2048);\n\t\t}\n\t},\n\n\tgetData: function() {\n\t\tif (!this._data)\n\t\t\tthis._data = {};\n\t\treturn this._data;\n\t},\n\n\tsetData: function(data) {\n\t\tthis._data = data;\n\t},\n\n\tgetPosition: function(_dontLink) {\n\t\tvar ctor = _dontLink ? Point : LinkedPoint;\n\t\tvar position = this._position ||\n\t\t\t(this._position = this._getPositionFromBounds());\n\t\treturn new ctor(position.x, position.y, this, 'setPosition');\n\t},\n\n\tsetPosition: function() {\n\t\tthis.translate(Point.read(arguments).subtract(this.getPosition(true)));\n\t},\n\n\t_getPositionFromBounds: function(bounds) {\n\t\treturn this._pivot\n\t\t\t\t? this._matrix._transformPoint(this._pivot)\n\t\t\t\t: (bounds || this.getBounds()).getCenter(true);\n\t},\n\n\tgetPivot: function() {\n\t\tvar pivot = this._pivot;\n\t\treturn pivot\n\t\t\t\t? new LinkedPoint(pivot.x, pivot.y, this, 'setPivot')\n\t\t\t\t: null;\n\t},\n\n\tsetPivot: function() {\n\t\tthis._pivot = Point.read(arguments, 0, { clone: true, readNull: true });\n\t\tthis._position = undefined;\n\t}\n}, Base.each({\n\t\tgetStrokeBounds: { stroke: true },\n\t\tgetHandleBounds: { handle: true },\n\t\tgetInternalBounds: { internal: true },\n\t\tgetDrawnBounds: { stroke: true, drawnTextBounds: true },\n\t},\n\tfunction(options, key) {\n\t\tthis[key] = function(matrix) {\n\t\t\treturn this.getBounds(matrix, options);\n\t\t};\n\t},\n{\n\tbeans: true,\n\n\tgetBounds: function(matrix, options) {\n\t\tvar hasMatrix = options || matrix instanceof Matrix,\n\t\t\topts = Base.set({}, hasMatrix ? options : matrix,\n\t\t\t\t\tthis._boundsOptions);\n\t\tif (!opts.stroke || this.getStrokeScaling())\n\t\t\topts.cacheItem = this;\n\t\tvar rect = this._getCachedBounds(hasMatrix && matrix, opts).rect;\n\t\treturn !arguments.length\n\t\t\t\t? new LinkedRectangle(rect.x, rect.y, rect.width, rect.height,\n\t\t\t\t\tthis, 'setBounds')\n\t\t\t\t: rect;\n\t},\n\n\tsetBounds: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\tbounds = this.getBounds(),\n\t\t\t_matrix = this._matrix,\n\t\t\tmatrix = new Matrix(),\n\t\t\tcenter = rect.getCenter();\n\t\tmatrix.translate(center);\n\t\tif (rect.width != bounds.width || rect.height != bounds.height) {\n\t\t\tif (!_matrix.isInvertible()) {\n\t\t\t\t_matrix.set(_matrix._backup\n\t\t\t\t\t\t|| new Matrix().translate(_matrix.getTranslation()));\n\t\t\t\tbounds = this.getBounds();\n\t\t\t}\n\t\t\tmatrix.scale(\n\t\t\t\t\tbounds.width !== 0 ? rect.width / bounds.width : 0,\n\t\t\t\t\tbounds.height !== 0 ? rect.height / bounds.height : 0);\n\t\t}\n\t\tcenter = bounds.getCenter();\n\t\tmatrix.translate(-center.x, -center.y);\n\t\tthis.transform(matrix);\n\t},\n\n\t_getBounds: function(matrix, options) {\n\t\tvar children = this._children;\n\t\tif (!children || !children.length)\n\t\t\treturn new Rectangle();\n\t\tItem._updateBoundsCache(this, options.cacheItem);\n\t\treturn Item._getBounds(children, matrix, options);\n\t},\n\n\t_getBoundsCacheKey: function(options, internal) {\n\t\treturn [\n\t\t\toptions.stroke ? 1 : 0,\n\t\t\toptions.handle ? 1 : 0,\n\t\t\toptions.drawnTextBounds? 1 : 0,\n\t\t\tinternal ? 1 : 0\n\t\t].join('');\n\t},\n\n\t_getCachedBounds: function(matrix, options, noInternal) {\n\t\tmatrix = matrix && matrix._orNullIfIdentity();\n\t\tvar internal = options.internal && !noInternal,\n\t\t\tcacheItem = options.cacheItem,\n\t\t\t_matrix = internal ? null : this._matrix._orNullIfIdentity(),\n\t\t\tcacheKey = cacheItem && (!matrix || matrix.equals(_matrix))\n\t\t\t\t&& this._getBoundsCacheKey(options, internal),\n\t\t\tbounds = this._bounds;\n\t\tItem._updateBoundsCache(this._parent || this._symbol, cacheItem);\n\t\tif (cacheKey && bounds && cacheKey in bounds) {\n\t\t\tvar cached = bounds[cacheKey];\n\t\t\treturn {\n\t\t\t\trect: cached.rect.clone(),\n\t\t\t\tnonscaling: cached.nonscaling\n\t\t\t};\n\t\t}\n\t\tvar res = this._getBounds(matrix || _matrix, options),\n\t\t\trect = res.rect || res,\n\t\t\tstyle = this._style,\n\t\t\tnonscaling = res.nonscaling || style.hasStroke()\n\t\t\t\t&& !style.getStrokeScaling();\n\t\tif (cacheKey) {\n\t\t\tif (!bounds) {\n\t\t\t\tthis._bounds = bounds = {};\n\t\t\t}\n\t\t\tvar cached = bounds[cacheKey] = {\n\t\t\t\trect: rect.clone(),\n\t\t\t\tnonscaling: nonscaling,\n\t\t\t\tinternal: internal\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\trect: rect,\n\t\t\tnonscaling: nonscaling\n\t\t};\n\t},\n\n\t_getStrokeMatrix: function(matrix, options) {\n\t\tvar parent = this.getStrokeScaling() ? null\n\t\t\t\t: options && options.internal ? this\n\t\t\t\t\t: this._parent || this._symbol && this._symbol._item,\n\t\t\tmx = parent ? parent.getViewMatrix().invert() : matrix;\n\t\treturn mx && mx._shiftless();\n\t},\n\n\tstatics: {\n\t\t_updateBoundsCache: function(parent, item) {\n\t\t\tif (parent && item) {\n\t\t\t\tvar id = item._id,\n\t\t\t\t\tref = parent._boundsCache = parent._boundsCache || {\n\t\t\t\t\t\tids: {},\n\t\t\t\t\t\tlist: []\n\t\t\t\t\t};\n\t\t\t\tif (!ref.ids[id]) {\n\t\t\t\t\tref.list.push(item);\n\t\t\t\t\tref.ids[id] = item;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_clearBoundsCache: function(item) {\n\t\t\tvar cache = item._boundsCache;\n\t\t\tif (cache) {\n\t\t\t\titem._bounds = item._position = item._boundsCache = undefined;\n\t\t\t\tfor (var i = 0, list = cache.list, l = list.length; i < l; i++){\n\t\t\t\t\tvar other = list[i];\n\t\t\t\t\tif (other !== item) {\n\t\t\t\t\t\tother._bounds = other._position = undefined;\n\t\t\t\t\t\tif (other._boundsCache)\n\t\t\t\t\t\t\tItem._clearBoundsCache(other);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_getBounds: function(items, matrix, options) {\n\t\t\tvar x1 = Infinity,\n\t\t\t\tx2 = -x1,\n\t\t\t\ty1 = x1,\n\t\t\t\ty2 = x2,\n\t\t\t\tnonscaling = false;\n\t\t\toptions = options || {};\n\t\t\tfor (var i = 0, l = items.length; i < l; i++) {\n\t\t\t\tvar item = items[i];\n\t\t\t\tif (item._visible && !item.isEmpty()) {\n\t\t\t\t\tvar bounds = item._getCachedBounds(\n\t\t\t\t\t\tmatrix && matrix.appended(item._matrix), options, true),\n\t\t\t\t\t\trect = bounds.rect;\n\t\t\t\t\tx1 = Math.min(rect.x, x1);\n\t\t\t\t\ty1 = Math.min(rect.y, y1);\n\t\t\t\t\tx2 = Math.max(rect.x + rect.width, x2);\n\t\t\t\t\ty2 = Math.max(rect.y + rect.height, y2);\n\t\t\t\t\tif (bounds.nonscaling)\n\t\t\t\t\t\tnonscaling = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\trect: isFinite(x1)\n\t\t\t\t\t? new Rectangle(x1, y1, x2 - x1, y2 - y1)\n\t\t\t\t\t: new Rectangle(),\n\t\t\t\tnonscaling: nonscaling\n\t\t\t};\n\t\t}\n\t}\n\n}), {\n\tbeans: true,\n\n\t_decompose: function() {\n\t\treturn this._applyMatrix\n\t\t\t? null\n\t\t\t: this._decomposed || (this._decomposed = this._matrix.decompose());\n\t},\n\n\tgetRotation: function() {\n\t\tvar decomposed = this._decompose();\n\t\treturn decomposed ? decomposed.rotation : 0;\n\t},\n\n\tsetRotation: function(rotation) {\n\t\tvar current = this.getRotation();\n\t\tif (current != null && rotation != null) {\n\t\t\tvar decomposed = this._decomposed;\n\t\t\tthis.rotate(rotation - current);\n\t\t\tif (decomposed) {\n\t\t\t\tdecomposed.rotation = rotation;\n\t\t\t\tthis._decomposed = decomposed;\n\t\t\t}\n\t\t}\n\t},\n\n\tgetScaling: function() {\n\t\tvar decomposed = this._decompose(),\n\t\t\ts = decomposed && decomposed.scaling;\n\t\treturn new LinkedPoint(s ? s.x : 1, s ? s.y : 1, this, 'setScaling');\n\t},\n\n\tsetScaling: function() {\n\t\tvar current = this.getScaling(),\n\t\t\tscaling = Point.read(arguments, 0, { clone: true, readNull: true });\n\t\tif (current && scaling && !current.equals(scaling)) {\n\t\t\tvar rotation = this.getRotation(),\n\t\t\t\tdecomposed = this._decomposed,\n\t\t\t\tmatrix = new Matrix(),\n\t\t\t\tcenter = this.getPosition(true);\n\t\t\tmatrix.translate(center);\n\t\t\tif (rotation)\n\t\t\t\tmatrix.rotate(rotation);\n\t\t\tmatrix.scale(scaling.x / current.x, scaling.y / current.y);\n\t\t\tif (rotation)\n\t\t\t\tmatrix.rotate(-rotation);\n\t\t\tmatrix.translate(center.negate());\n\t\t\tthis.transform(matrix);\n\t\t\tif (decomposed) {\n\t\t\t\tdecomposed.scaling = scaling;\n\t\t\t\tthis._decomposed = decomposed;\n\t\t\t}\n\t\t}\n\t},\n\n\tgetMatrix: function() {\n\t\treturn this._matrix;\n\t},\n\n\tsetMatrix: function() {\n\t\tvar matrix = this._matrix;\n\t\tmatrix.initialize.apply(matrix, arguments);\n\t},\n\n\tgetGlobalMatrix: function(_dontClone) {\n\t\tvar matrix = this._globalMatrix;\n\t\tif (matrix) {\n\t\t\tvar parent = this._parent;\n\t\t\tvar parents = [];\n\t\t\twhile (parent) {\n\t\t\t\tif (!parent._globalMatrix) {\n\t\t\t\t\tmatrix = null;\n\t\t\t\t\tfor (var i = 0, l = parents.length; i < l; i++) {\n\t\t\t\t\t\tparents[i]._globalMatrix = null;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tparents.push(parent);\n\t\t\t\tparent = parent._parent;\n\t\t\t}\n\t\t}\n\t\tif (!matrix) {\n\t\t\tmatrix = this._globalMatrix = this._matrix.clone();\n\t\t\tvar parent = this._parent;\n\t\t\tif (parent)\n\t\t\t\tmatrix.prepend(parent.getGlobalMatrix(true));\n\t\t}\n\t\treturn _dontClone ? matrix : matrix.clone();\n\t},\n\n\tgetViewMatrix: function() {\n\t\treturn this.getGlobalMatrix().prepend(this.getView()._matrix);\n\t},\n\n\tgetApplyMatrix: function() {\n\t\treturn this._applyMatrix;\n\t},\n\n\tsetApplyMatrix: function(apply) {\n\t\tif (this._applyMatrix = this._canApplyMatrix && !!apply)\n\t\t\tthis.transform(null, true);\n\t},\n\n\tgetTransformContent: '#getApplyMatrix',\n\tsetTransformContent: '#setApplyMatrix',\n}, {\n\tgetProject: function() {\n\t\treturn this._project;\n\t},\n\n\t_setProject: function(project, installEvents) {\n\t\tif (this._project !== project) {\n\t\t\tif (this._project)\n\t\t\t\tthis._installEvents(false);\n\t\t\tthis._project = project;\n\t\t\tvar children = this._children;\n\t\t\tfor (var i = 0, l = children && children.length; i < l; i++)\n\t\t\t\tchildren[i]._setProject(project);\n\t\t\tinstallEvents = true;\n\t\t}\n\t\tif (installEvents)\n\t\t\tthis._installEvents(true);\n\t},\n\n\tgetView: function() {\n\t\treturn this._project._view;\n\t},\n\n\t_installEvents: function _installEvents(install) {\n\t\t_installEvents.base.call(this, install);\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children && children.length; i < l; i++)\n\t\t\tchildren[i]._installEvents(install);\n\t},\n\n\tgetLayer: function() {\n\t\tvar parent = this;\n\t\twhile (parent = parent._parent) {\n\t\t\tif (parent instanceof Layer)\n\t\t\t\treturn parent;\n\t\t}\n\t\treturn null;\n\t},\n\n\tgetParent: function() {\n\t\treturn this._parent;\n\t},\n\n\tsetParent: function(item) {\n\t\treturn item.addChild(this);\n\t},\n\n\t_getOwner: '#getParent',\n\n\tgetChildren: function() {\n\t\treturn this._children;\n\t},\n\n\tsetChildren: function(items) {\n\t\tthis.removeChildren();\n\t\tthis.addChildren(items);\n\t},\n\n\tgetFirstChild: function() {\n\t\treturn this._children && this._children[0] || null;\n\t},\n\n\tgetLastChild: function() {\n\t\treturn this._children && this._children[this._children.length - 1]\n\t\t\t\t|| null;\n\t},\n\n\tgetNextSibling: function() {\n\t\tvar owner = this._getOwner();\n\t\treturn owner && owner._children[this._index + 1] || null;\n\t},\n\n\tgetPreviousSibling: function() {\n\t\tvar owner = this._getOwner();\n\t\treturn owner && owner._children[this._index - 1] || null;\n\t},\n\n\tgetIndex: function() {\n\t\treturn this._index;\n\t},\n\n\tequals: function(item) {\n\t\treturn item === this || item && this._class === item._class\n\t\t\t\t&& this._style.equals(item._style)\n\t\t\t\t&& this._matrix.equals(item._matrix)\n\t\t\t\t&& this._locked === item._locked\n\t\t\t\t&& this._visible === item._visible\n\t\t\t\t&& this._blendMode === item._blendMode\n\t\t\t\t&& this._opacity === item._opacity\n\t\t\t\t&& this._clipMask === item._clipMask\n\t\t\t\t&& this._guide === item._guide\n\t\t\t\t&& this._equals(item)\n\t\t\t\t|| false;\n\t},\n\n\t_equals: function(item) {\n\t\treturn Base.equals(this._children, item._children);\n\t},\n\n\tclone: function(options) {\n\t\tvar copy = new this.constructor(Item.NO_INSERT),\n\t\t\tchildren = this._children,\n\t\t\tinsert = Base.pick(options ? options.insert : undefined,\n\t\t\t\t\toptions === undefined || options === true),\n\t\t\tdeep = Base.pick(options ? options.deep : undefined, true);\n\t\tif (children)\n\t\t\tcopy.copyAttributes(this);\n\t\tif (!children || deep)\n\t\t\tcopy.copyContent(this);\n\t\tif (!children)\n\t\t\tcopy.copyAttributes(this);\n\t\tif (insert)\n\t\t\tcopy.insertAbove(this);\n\t\tvar name = this._name,\n\t\t\tparent = this._parent;\n\t\tif (name && parent) {\n\t\t\tvar children = parent._children,\n\t\t\t\torig = name,\n\t\t\t\ti = 1;\n\t\t\twhile (children[name])\n\t\t\t\tname = orig + ' ' + (i++);\n\t\t\tif (name !== orig)\n\t\t\t\tcopy.setName(name);\n\t\t}\n\t\treturn copy;\n\t},\n\n\tcopyContent: function(source) {\n\t\tvar children = source._children;\n\t\tfor (var i = 0, l = children && children.length; i < l; i++) {\n\t\t\tthis.addChild(children[i].clone(false), true);\n\t\t}\n\t},\n\n\tcopyAttributes: function(source, excludeMatrix) {\n\t\tthis.setStyle(source._style);\n\t\tvar keys = ['_locked', '_visible', '_blendMode', '_opacity',\n\t\t\t\t'_clipMask', '_guide'];\n\t\tfor (var i = 0, l = keys.length; i < l; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (source.hasOwnProperty(key))\n\t\t\t\tthis[key] = source[key];\n\t\t}\n\t\tif (!excludeMatrix)\n\t\t\tthis._matrix.set(source._matrix, true);\n\t\tthis.setApplyMatrix(source._applyMatrix);\n\t\tthis.setPivot(source._pivot);\n\t\tthis.setSelection(source._selection);\n\t\tvar data = source._data,\n\t\t\tname = source._name;\n\t\tthis._data = data ? Base.clone(data) : null;\n\t\tif (name)\n\t\t\tthis.setName(name);\n\t},\n\n\trasterize: function(resolution, insert, boundRect) {\n\t\tvar bounds = boundRect ? boundRect : this.getStrokeBounds(),\n\t\t\tscale = (resolution || this.getView().getResolution()) / 72,\n\t\t\ttopLeft = bounds.getTopLeft().floor(),\n\t\t\tbottomRight = bounds.getBottomRight().ceil(),\n\t\t\tsize = new Size(bottomRight.subtract(topLeft)),\n\t\t\traster = new Raster(Item.NO_INSERT);\n\t\tif (!size.isZero()) {\n\t\t\tvar canvas = CanvasProvider.getCanvas(size.multiply(scale)),\n\t\t\t\tctx = canvas.getContext('2d'),\n\t\t\t\tmatrix = new Matrix().scale(scale).translate(topLeft.negate());\n\t\t\tctx.imageSmoothingEnabled = false;\n\t\t\tctx.save();\n\t\t\tmatrix.applyToContext(ctx);\n\t\t\tthis.draw(ctx, new Base({ matrices: [matrix] }));\n\t\t\tctx.restore();\n\t\t\traster.setCanvas(canvas);\n\t\t}\n\t\traster.transform(new Matrix().translate(topLeft.add(size.divide(2)))\n\t\t\t\t.scale(1 / scale));\n\t\tif (insert === undefined || insert)\n\t\t\traster.insertAbove(this);\n\t\treturn raster;\n\t},\n\n\tcontains: function() {\n\t\treturn !!this._contains(\n\t\t\t\tthis._matrix._inverseTransform(Point.read(arguments)));\n\t},\n\n\t_contains: function(point) {\n\t\tvar children = this._children;\n\t\tif (children) {\n\t\t\tfor (var i = children.length - 1; i >= 0; i--) {\n\t\t\t\tif (children[i].contains(point))\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn point.isInside(this.getInternalBounds());\n\t},\n\n\tisInside: function() {\n\t\treturn Rectangle.read(arguments).contains(this.getBounds());\n\t},\n\n\t_asPathItem: function() {\n\t\treturn new Path.Rectangle({\n\t\t\trectangle: this.getInternalBounds(),\n\t\t\tmatrix: this._matrix,\n\t\t\tinsert: false,\n\t\t});\n\t},\n\n\tintersects: function(item, _matrix) {\n\t\tif (!(item instanceof Item))\n\t\t\treturn false;\n\t\treturn this._asPathItem().getIntersections(item._asPathItem(), null,\n\t\t\t\t_matrix, true).length > 0;\n\t}\n},\nnew function() {\n\tfunction hitTest() {\n\t\treturn this._hitTest(\n\t\t\t\tPoint.read(arguments),\n\t\t\t\tHitResult.getOptions(arguments));\n\t}\n\n\tfunction hitTestAll() {\n\t\tvar point = Point.read(arguments),\n\t\t\toptions = HitResult.getOptions(arguments),\n\t\t\tall = [];\n\t\tthis._hitTest(point, Base.set({ all: all }, options));\n\t\treturn all;\n\t}\n\n\tfunction hitTestChildren(point, options, viewMatrix, _exclude) {\n\t\tvar children = this._children;\n\t\tif (children) {\n\t\t\tfor (var i = children.length - 1; i >= 0; i--) {\n\t\t\t\tvar child = children[i];\n\t\t\t\tvar res = child !== _exclude && child._hitTest(point, options,\n\t\t\t\t\t\tviewMatrix);\n\t\t\t\tif (res && !options.all)\n\t\t\t\t\treturn res;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tProject.inject({\n\t\thitTest: hitTest,\n\t\thitTestAll: hitTestAll,\n\t\t_hitTest: hitTestChildren\n\t});\n\n\treturn {\n\t\thitTest: hitTest,\n\t\thitTestAll: hitTestAll,\n\t\t_hitTestChildren: hitTestChildren,\n\t};\n}, {\n\n\t_hitTest: function(point, options, parentViewMatrix) {\n\t\tif (this._locked || !this._visible || this._guide && !options.guides\n\t\t\t\t|| this.isEmpty()) {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar matrix = this._matrix,\n\t\t\tviewMatrix = parentViewMatrix\n\t\t\t\t\t? parentViewMatrix.appended(matrix)\n\t\t\t\t\t: this.getGlobalMatrix().prepend(this.getView()._matrix),\n\t\t\ttolerance = Math.max(options.tolerance, 1e-12),\n\t\t\ttolerancePadding = options._tolerancePadding = new Size(\n\t\t\t\t\tPath._getStrokePadding(tolerance,\n\t\t\t\t\t\tmatrix._shiftless().invert()));\n\t\tpoint = matrix._inverseTransform(point);\n\t\tif (!point || !this._children &&\n\t\t\t!this.getBounds({ internal: true, stroke: true, handle: true })\n\t\t\t\t.expand(tolerancePadding.multiply(2))._containsPoint(point)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar checkSelf = !(options.guides && !this._guide\n\t\t\t\t|| options.selected && !this.isSelected()\n\t\t\t\t|| options.type && options.type !== Base.hyphenate(this._class)\n\t\t\t\t|| options.class && !(this instanceof options.class)),\n\t\t\tmatch = options.match,\n\t\t\tthat = this,\n\t\t\tbounds,\n\t\t\tres;\n\n\t\tfunction filter(hit) {\n\t\t\tif (hit && match && !match(hit))\n\t\t\t\thit = null;\n\t\t\tif (hit && options.all)\n\t\t\t\toptions.all.push(hit);\n\t\t\treturn hit;\n\t\t}\n\n\t\tfunction checkPoint(type, part) {\n\t\t\tvar pt = part ? bounds['get' + part]() : that.getPosition();\n\t\t\tif (point.subtract(pt).divide(tolerancePadding).length <= 1) {\n\t\t\t\treturn new HitResult(type, that, {\n\t\t\t\t\tname: part ? Base.hyphenate(part) : type,\n\t\t\t\t\tpoint: pt\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tvar checkPosition = options.position,\n\t\t\tcheckCenter = options.center,\n\t\t\tcheckBounds = options.bounds;\n\t\tif (checkSelf && this._parent\n\t\t\t\t&& (checkPosition || checkCenter || checkBounds)) {\n\t\t\tif (checkCenter || checkBounds) {\n\t\t\t\tbounds = this.getInternalBounds();\n\t\t\t}\n\t\t\tres = checkPosition && checkPoint('position') ||\n\t\t\t\t\tcheckCenter && checkPoint('center', 'Center');\n\t\t\tif (!res && checkBounds) {\n\t\t\t\tvar points = [\n\t\t\t\t\t'TopLeft', 'TopRight', 'BottomLeft', 'BottomRight',\n\t\t\t\t\t'LeftCenter', 'TopCenter', 'RightCenter', 'BottomCenter'\n\t\t\t\t];\n\t\t\t\tfor (var i = 0; i < 8 && !res; i++) {\n\t\t\t\t\tres = checkPoint('bounds', points[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tres = filter(res);\n\t\t}\n\n\t\tif (!res) {\n\t\t\tres = this._hitTestChildren(point, options, viewMatrix)\n\t\t\t\t|| checkSelf\n\t\t\t\t\t&& filter(this._hitTestSelf(point, options, viewMatrix,\n\t\t\t\t\t\tthis.getStrokeScaling() ? null\n\t\t\t\t\t\t\t: viewMatrix._shiftless().invert()))\n\t\t\t\t|| null;\n\t\t}\n\t\tif (res && res.point) {\n\t\t\tres.point = matrix.transform(res.point);\n\t\t}\n\t\treturn res;\n\t},\n\n\t_hitTestSelf: function(point, options) {\n\t\tif (options.fill && this.hasFill() && this._contains(point))\n\t\t\treturn new HitResult('fill', this);\n\t},\n\n\tmatches: function(name, compare) {\n\t\tfunction matchObject(obj1, obj2) {\n\t\t\tfor (var i in obj1) {\n\t\t\t\tif (obj1.hasOwnProperty(i)) {\n\t\t\t\t\tvar val1 = obj1[i],\n\t\t\t\t\t\tval2 = obj2[i];\n\t\t\t\t\tif (Base.isPlainObject(val1) && Base.isPlainObject(val2)) {\n\t\t\t\t\t\tif (!matchObject(val1, val2))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else if (!Base.equals(val1, val2)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tvar type = typeof name;\n\t\tif (type === 'object') {\n\t\t\tfor (var key in name) {\n\t\t\t\tif (name.hasOwnProperty(key) && !this.matches(key, name[key]))\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (type === 'function') {\n\t\t\treturn name(this);\n\t\t} else if (name === 'match') {\n\t\t\treturn compare(this);\n\t\t} else {\n\t\t\tvar value = /^(empty|editable)$/.test(name)\n\t\t\t\t\t? this['is' + Base.capitalize(name)]()\n\t\t\t\t\t: name === 'type'\n\t\t\t\t\t\t? Base.hyphenate(this._class)\n\t\t\t\t\t\t: this[name];\n\t\t\tif (name === 'class') {\n\t\t\t\tif (typeof compare === 'function')\n\t\t\t\t\treturn this instanceof compare;\n\t\t\t\tvalue = this._class;\n\t\t\t}\n\t\t\tif (typeof compare === 'function') {\n\t\t\t\treturn !!compare(value);\n\t\t\t} else if (compare) {\n\t\t\t\tif (compare.test) {\n\t\t\t\t\treturn compare.test(value);\n\t\t\t\t} else if (Base.isPlainObject(compare)) {\n\t\t\t\t\treturn matchObject(compare, value);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Base.equals(value, compare);\n\t\t}\n\t},\n\n\tgetItems: function(options) {\n\t\treturn Item._getItems(this, options, this._matrix);\n\t},\n\n\tgetItem: function(options) {\n\t\treturn Item._getItems(this, options, this._matrix, null, true)[0]\n\t\t\t\t|| null;\n\t},\n\n\tstatics: {\n\t\t_getItems: function _getItems(item, options, matrix, param, firstOnly) {\n\t\t\tif (!param) {\n\t\t\t\tvar obj = typeof options === 'object' && options,\n\t\t\t\t\toverlapping = obj && obj.overlapping,\n\t\t\t\t\tinside = obj && obj.inside,\n\t\t\t\t\tbounds = overlapping || inside,\n\t\t\t\t\trect = bounds && Rectangle.read([bounds]);\n\t\t\t\tparam = {\n\t\t\t\t\titems: [],\n\t\t\t\t\trecursive: obj && obj.recursive !== false,\n\t\t\t\t\tinside: !!inside,\n\t\t\t\t\toverlapping: !!overlapping,\n\t\t\t\t\trect: rect,\n\t\t\t\t\tpath: overlapping && new Path.Rectangle({\n\t\t\t\t\t\trectangle: rect,\n\t\t\t\t\t\tinsert: false\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tif (obj) {\n\t\t\t\t\toptions = Base.filter({}, options, {\n\t\t\t\t\t\trecursive: true, inside: true, overlapping: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar children = item._children,\n\t\t\t\titems = param.items,\n\t\t\t\trect = param.rect;\n\t\t\tmatrix = rect && (matrix || new Matrix());\n\t\t\tfor (var i = 0, l = children && children.length; i < l; i++) {\n\t\t\t\tvar child = children[i],\n\t\t\t\t\tchildMatrix = matrix && matrix.appended(child._matrix),\n\t\t\t\t\tadd = true;\n\t\t\t\tif (rect) {\n\t\t\t\t\tvar bounds = child.getBounds(childMatrix);\n\t\t\t\t\tif (!rect.intersects(bounds))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif (!(rect.contains(bounds)\n\t\t\t\t\t\t\t|| param.overlapping && (bounds.contains(rect)\n\t\t\t\t\t\t\t\t|| param.path.intersects(child, childMatrix))))\n\t\t\t\t\t\tadd = false;\n\t\t\t\t}\n\t\t\t\tif (add && child.matches(options)) {\n\t\t\t\t\titems.push(child);\n\t\t\t\t\tif (firstOnly)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (param.recursive !== false) {\n\t\t\t\t\t_getItems(child, options, childMatrix, param, firstOnly);\n\t\t\t\t}\n\t\t\t\tif (firstOnly && items.length > 0)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn items;\n\t\t}\n\t}\n}, {\n\n\timportJSON: function(json) {\n\t\tvar res = Base.importJSON(json, this);\n\t\treturn res !== this ? this.addChild(res) : res;\n\t},\n\n\taddChild: function(item) {\n\t\treturn this.insertChild(undefined, item);\n\t},\n\n\tinsertChild: function(index, item) {\n\t\tvar res = item ? this.insertChildren(index, [item]) : null;\n\t\treturn res && res[0];\n\t},\n\n\taddChildren: function(items) {\n\t\treturn this.insertChildren(this._children.length, items);\n\t},\n\n\tinsertChildren: function(index, items) {\n\t\tvar children = this._children;\n\t\tif (children && items && items.length > 0) {\n\t\t\titems = Base.slice(items);\n\t\t\tvar inserted = {};\n\t\t\tfor (var i = items.length - 1; i >= 0; i--) {\n\t\t\t\tvar item = items[i],\n\t\t\t\t\tid = item && item._id;\n\t\t\t\tif (!item || inserted[id]) {\n\t\t\t\t\titems.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\titem._remove(false, true);\n\t\t\t\t\tinserted[id] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tBase.splice(children, items, index, 0);\n\t\t\tvar project = this._project,\n\t\t\t\tnotifySelf = project._changes;\n\t\t\tfor (var i = 0, l = items.length; i < l; i++) {\n\t\t\t\tvar item = items[i],\n\t\t\t\t\tname = item._name;\n\t\t\t\titem._parent = this;\n\t\t\t\titem._setProject(project, true);\n\t\t\t\tif (name)\n\t\t\t\t\titem.setName(name);\n\t\t\t\tif (notifySelf)\n\t\t\t\t\titem._changed(5);\n\t\t\t}\n\t\t\tthis._changed(11);\n\t\t} else {\n\t\t\titems = null;\n\t\t}\n\t\treturn items;\n\t},\n\n\t_insertItem: '#insertChild',\n\n\t_insertAt: function(item, offset) {\n\t\tvar owner = item && item._getOwner(),\n\t\t\tres = item !== this && owner ? this : null;\n\t\tif (res) {\n\t\t\tres._remove(false, true);\n\t\t\towner._insertItem(item._index + offset, res);\n\t\t}\n\t\treturn res;\n\t},\n\n\tinsertAbove: function(item) {\n\t\treturn this._insertAt(item, 1);\n\t},\n\n\tinsertBelow: function(item) {\n\t\treturn this._insertAt(item, 0);\n\t},\n\n\tsendToBack: function() {\n\t\tvar owner = this._getOwner();\n\t\treturn owner ? owner._insertItem(0, this) : null;\n\t},\n\n\tbringToFront: function() {\n\t\tvar owner = this._getOwner();\n\t\treturn owner ? owner._insertItem(undefined, this) : null;\n\t},\n\n\tappendTop: '#addChild',\n\n\tappendBottom: function(item) {\n\t\treturn this.insertChild(0, item);\n\t},\n\n\tmoveAbove: '#insertAbove',\n\n\tmoveBelow: '#insertBelow',\n\n\taddTo: function(owner) {\n\t\treturn owner._insertItem(undefined, this);\n\t},\n\n\tcopyTo: function(owner) {\n\t\treturn this.clone(false).addTo(owner);\n\t},\n\n\treduce: function(options) {\n\t\tvar children = this._children;\n\t\tif (children && children.length === 1) {\n\t\t\tvar child = children[0].reduce(options);\n\t\t\tif (this._parent) {\n\t\t\t\tchild.insertAbove(this);\n\t\t\t\tthis.remove();\n\t\t\t} else {\n\t\t\t\tchild.remove();\n\t\t\t}\n\t\t\treturn child;\n\t\t}\n\t\treturn this;\n\t},\n\n\t_removeNamed: function() {\n\t\tvar owner = this._getOwner();\n\t\tif (owner) {\n\t\t\tvar children = owner._children,\n\t\t\t\tnamedChildren = owner._namedChildren,\n\t\t\t\tname = this._name,\n\t\t\t\tnamedArray = namedChildren[name],\n\t\t\t\tindex = namedArray ? namedArray.indexOf(this) : -1;\n\t\t\tif (index !== -1) {\n\t\t\t\tif (children[name] == this)\n\t\t\t\t\tdelete children[name];\n\t\t\t\tnamedArray.splice(index, 1);\n\t\t\t\tif (namedArray.length) {\n\t\t\t\t\tchildren[name] = namedArray[0];\n\t\t\t\t} else {\n\t\t\t\t\tdelete namedChildren[name];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t_remove: function(notifySelf, notifyParent) {\n\t\tvar owner = this._getOwner(),\n\t\t\tproject = this._project,\n\t\t\tindex = this._index;\n\t\tif (this._style)\n\t\t\tthis._style._dispose();\n\t\tif (owner) {\n\t\t\tif (this._name)\n\t\t\t\tthis._removeNamed();\n\t\t\tif (index != null) {\n\t\t\t\tif (project._activeLayer === this)\n\t\t\t\t\tproject._activeLayer = this.getNextSibling()\n\t\t\t\t\t\t\t|| this.getPreviousSibling();\n\t\t\t\tBase.splice(owner._children, null, index, 1);\n\t\t\t}\n\t\t\tthis._installEvents(false);\n\t\t\tif (notifySelf && project._changes)\n\t\t\t\tthis._changed(5);\n\t\t\tif (notifyParent)\n\t\t\t\towner._changed(11, this);\n\t\t\tthis._parent = null;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tremove: function() {\n\t\treturn this._remove(true, true);\n\t},\n\n\treplaceWith: function(item) {\n\t\tvar ok = item && item.insertBelow(this);\n\t\tif (ok)\n\t\t\tthis.remove();\n\t\treturn ok;\n\t},\n\n\tremoveChildren: function(start, end) {\n\t\tif (!this._children)\n\t\t\treturn null;\n\t\tstart = start || 0;\n\t\tend = Base.pick(end, this._children.length);\n\t\tvar removed = Base.splice(this._children, null, start, end - start);\n\t\tfor (var i = removed.length - 1; i >= 0; i--) {\n\t\t\tremoved[i]._remove(true, false);\n\t\t}\n\t\tif (removed.length > 0)\n\t\t\tthis._changed(11);\n\t\treturn removed;\n\t},\n\n\tclear: '#removeChildren',\n\n\treverseChildren: function() {\n\t\tif (this._children) {\n\t\t\tthis._children.reverse();\n\t\t\tfor (var i = 0, l = this._children.length; i < l; i++)\n\t\t\t\tthis._children[i]._index = i;\n\t\t\tthis._changed(11);\n\t\t}\n\t},\n\n\tisEmpty: function() {\n\t\tvar children = this._children;\n\t\treturn !children || !children.length;\n\t},\n\n\tisEditable: function() {\n\t\tvar item = this;\n\t\twhile (item) {\n\t\t\tif (!item._visible || item._locked)\n\t\t\t\treturn false;\n\t\t\titem = item._parent;\n\t\t}\n\t\treturn true;\n\t},\n\n\thasFill: function() {\n\t\treturn this.getStyle().hasFill();\n\t},\n\n\thasStroke: function() {\n\t\treturn this.getStyle().hasStroke();\n\t},\n\n\thasShadow: function() {\n\t\treturn this.getStyle().hasShadow();\n\t},\n\n\t_getOrder: function(item) {\n\t\tfunction getList(item) {\n\t\t\tvar list = [];\n\t\t\tdo {\n\t\t\t\tlist.unshift(item);\n\t\t\t} while (item = item._parent);\n\t\t\treturn list;\n\t\t}\n\t\tvar list1 = getList(this),\n\t\t\tlist2 = getList(item);\n\t\tfor (var i = 0, l = Math.min(list1.length, list2.length); i < l; i++) {\n\t\t\tif (list1[i] != list2[i]) {\n\t\t\t\treturn list1[i]._index < list2[i]._index ? 1 : -1;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t},\n\n\thasChildren: function() {\n\t\treturn this._children && this._children.length > 0;\n\t},\n\n\tisInserted: function() {\n\t\treturn this._parent ? this._parent.isInserted() : false;\n\t},\n\n\tisAbove: function(item) {\n\t\treturn this._getOrder(item) === -1;\n\t},\n\n\tisBelow: function(item) {\n\t\treturn this._getOrder(item) === 1;\n\t},\n\n\tisParent: function(item) {\n\t\treturn this._parent === item;\n\t},\n\n\tisChild: function(item) {\n\t\treturn item && item._parent === this;\n\t},\n\n\tisDescendant: function(item) {\n\t\tvar parent = this;\n\t\twhile (parent = parent._parent) {\n\t\t\tif (parent === item)\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tisAncestor: function(item) {\n\t\treturn item ? item.isDescendant(this) : false;\n\t},\n\n\tisSibling: function(item) {\n\t\treturn this._parent === item._parent;\n\t},\n\n\tisGroupedWith: function(item) {\n\t\tvar parent = this._parent;\n\t\twhile (parent) {\n\t\t\tif (parent._parent\n\t\t\t\t&& /^(Group|Layer|CompoundPath)$/.test(parent._class)\n\t\t\t\t&& item.isDescendant(parent))\n\t\t\t\t\treturn true;\n\t\t\tparent = parent._parent;\n\t\t}\n\t\treturn false;\n\t},\n\n}, Base.each(['rotate', 'scale', 'shear', 'skew'], function(key) {\n\tvar rotate = key === 'rotate';\n\tthis[key] = function() {\n\t\tvar value = (rotate ? Base : Point).read(arguments),\n\t\t\tcenter = Point.read(arguments, 0, { readNull: true });\n\t\treturn this.transform(new Matrix()[key](value,\n\t\t\t\tcenter || this.getPosition(true)));\n\t};\n}, {\n\ttranslate: function() {\n\t\tvar mx = new Matrix();\n\t\treturn this.transform(mx.translate.apply(mx, arguments));\n\t},\n\n\ttransform: function(matrix, _applyMatrix, _applyRecursively,\n\t\t\t_setApplyMatrix) {\n\t\tvar _matrix = this._matrix,\n\t\t\ttransformMatrix = matrix && !matrix.isIdentity(),\n\t\t\tapplyMatrix = (_applyMatrix || this._applyMatrix)\n\t\t\t\t\t&& ((!_matrix.isIdentity() || transformMatrix)\n\t\t\t\t\t\t|| _applyMatrix && _applyRecursively && this._children);\n\t\tif (!transformMatrix && !applyMatrix)\n\t\t\treturn this;\n\t\tif (transformMatrix) {\n\t\t\tif (!matrix.isInvertible() && _matrix.isInvertible())\n\t\t\t\t_matrix._backup = _matrix.getValues();\n\t\t\t_matrix.prepend(matrix, true);\n\t\t\tvar style = this._style,\n\t\t\t\tfillColor = style.getFillColor(true),\n\t\t\t\tstrokeColor = style.getStrokeColor(true);\n\t\t\tif (fillColor)\n\t\t\t\tfillColor.transform(matrix);\n\t\t\tif (strokeColor)\n\t\t\t\tstrokeColor.transform(matrix);\n\t\t}\n\t\tif (applyMatrix && (applyMatrix = this._transformContent(_matrix,\n\t\t\t\t_applyRecursively, _setApplyMatrix))) {\n\t\t\tvar pivot = this._pivot;\n\t\t\tif (pivot)\n\t\t\t\t_matrix._transformPoint(pivot, pivot, true);\n\t\t\t_matrix.reset(true);\n\t\t\tif (_setApplyMatrix && this._canApplyMatrix)\n\t\t\t\tthis._applyMatrix = true;\n\t\t}\n\t\tvar bounds = this._bounds,\n\t\t\tposition = this._position;\n\t\tif (transformMatrix || applyMatrix) {\n\t\t\tthis._changed(25);\n\t\t}\n\t\tvar decomp = transformMatrix && bounds && matrix.decompose();\n\t\tif (decomp && decomp.skewing.isZero() && decomp.rotation % 90 === 0) {\n\t\t\tfor (var key in bounds) {\n\t\t\t\tvar cache = bounds[key];\n\t\t\t\tif (cache.nonscaling) {\n\t\t\t\t\tdelete bounds[key];\n\t\t\t\t} else if (applyMatrix || !cache.internal) {\n\t\t\t\t\tvar rect = cache.rect;\n\t\t\t\t\tmatrix._transformBounds(rect, rect);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._bounds = bounds;\n\t\t\tvar cached = bounds[this._getBoundsCacheKey(\n\t\t\t\tthis._boundsOptions || {})];\n\t\t\tif (cached) {\n\t\t\t\tthis._position = this._getPositionFromBounds(cached.rect);\n\t\t\t}\n\t\t} else if (transformMatrix && position && this._pivot) {\n\t\t\tthis._position = matrix._transformPoint(position, position);\n\t\t}\n\t\treturn this;\n\t},\n\n\t_transformContent: function(matrix, applyRecursively, setApplyMatrix) {\n\t\tvar children = this._children;\n\t\tif (children) {\n\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\tchildren[i].transform(matrix, true, applyRecursively,\n\t\t\t\t\t\tsetApplyMatrix);\n\t\t\treturn true;\n\t\t}\n\t},\n\n\tglobalToLocal: function() {\n\t\treturn this.getGlobalMatrix(true)._inverseTransform(\n\t\t\t\tPoint.read(arguments));\n\t},\n\n\tlocalToGlobal: function() {\n\t\treturn this.getGlobalMatrix(true)._transformPoint(\n\t\t\t\tPoint.read(arguments));\n\t},\n\n\tparentToLocal: function() {\n\t\treturn this._matrix._inverseTransform(Point.read(arguments));\n\t},\n\n\tlocalToParent: function() {\n\t\treturn this._matrix._transformPoint(Point.read(arguments));\n\t},\n\n\tfitBounds: function(rectangle, fill) {\n\t\trectangle = Rectangle.read(arguments);\n\t\tvar bounds = this.getBounds(),\n\t\t\titemRatio = bounds.height / bounds.width,\n\t\t\trectRatio = rectangle.height / rectangle.width,\n\t\t\tscale = (fill ? itemRatio > rectRatio : itemRatio < rectRatio)\n\t\t\t\t\t? rectangle.width / bounds.width\n\t\t\t\t\t: rectangle.height / bounds.height,\n\t\t\tnewBounds = new Rectangle(new Point(),\n\t\t\t\t\tnew Size(bounds.width * scale, bounds.height * scale));\n\t\tnewBounds.setCenter(rectangle.getCenter());\n\t\tthis.setBounds(newBounds);\n\t}\n}), {\n\n\t_setStyles: function(ctx, param, viewMatrix) {\n\t\tvar style = this._style,\n\t\t\tmatrix = this._matrix;\n\t\tif (style.hasFill()) {\n\t\t\tctx.fillStyle = style.getFillColor().toCanvasStyle(ctx, matrix);\n\t\t}\n\t\tif (style.hasStroke()) {\n\t\t\tctx.strokeStyle = style.getStrokeColor().toCanvasStyle(ctx, matrix);\n\t\t\tctx.lineWidth = style.getStrokeWidth();\n\t\t\tvar strokeJoin = style.getStrokeJoin(),\n\t\t\t\tstrokeCap = style.getStrokeCap(),\n\t\t\t\tmiterLimit = style.getMiterLimit();\n\t\t\tif (strokeJoin)\n\t\t\t\tctx.lineJoin = strokeJoin;\n\t\t\tif (strokeCap)\n\t\t\t\tctx.lineCap = strokeCap;\n\t\t\tif (miterLimit)\n\t\t\t\tctx.miterLimit = miterLimit;\n\t\t\tif (paper.support.nativeDash) {\n\t\t\t\tvar dashArray = style.getDashArray(),\n\t\t\t\t\tdashOffset = style.getDashOffset();\n\t\t\t\tif (dashArray && dashArray.length) {\n\t\t\t\t\tif ('setLineDash' in ctx) {\n\t\t\t\t\t\tctx.setLineDash(dashArray);\n\t\t\t\t\t\tctx.lineDashOffset = dashOffset;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tctx.mozDash = dashArray;\n\t\t\t\t\t\tctx.mozDashOffset = dashOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style.hasShadow()) {\n\t\t\tvar pixelRatio = param.pixelRatio || 1,\n\t\t\t\tmx = viewMatrix._shiftless().prepend(\n\t\t\t\t\tnew Matrix().scale(pixelRatio, pixelRatio)),\n\t\t\t\tblur = mx.transform(new Point(style.getShadowBlur(), 0)),\n\t\t\t\toffset = mx.transform(this.getShadowOffset());\n\t\t\tctx.shadowColor = style.getShadowColor().toCanvasStyle(ctx);\n\t\t\tctx.shadowBlur = blur.getLength();\n\t\t\tctx.shadowOffsetX = offset.x;\n\t\t\tctx.shadowOffsetY = offset.y;\n\t\t}\n\t},\n\n\tdraw: function(ctx, param, parentStrokeMatrix) {\n\t\tvar updateVersion = this._updateVersion = this._project._updateVersion;\n\t\tif (!this._visible || this._opacity === 0)\n\t\t\treturn;\n\t\tvar matrices = param.matrices,\n\t\t\tviewMatrix = param.viewMatrix,\n\t\t\tmatrix = this._matrix,\n\t\t\tglobalMatrix = matrices[matrices.length - 1].appended(matrix);\n\t\tif (!globalMatrix.isInvertible())\n\t\t\treturn;\n\n\t\tviewMatrix = viewMatrix ? viewMatrix.appended(globalMatrix)\n\t\t\t\t: globalMatrix;\n\n\t\tmatrices.push(globalMatrix);\n\t\tif (param.updateMatrix) {\n\t\t\tthis._globalMatrix = globalMatrix;\n\t\t}\n\n\t\tvar blendMode = this._blendMode,\n\t\t\topacity = this._opacity,\n\t\t\tnormalBlend = blendMode === 'normal',\n\t\t\tnativeBlend = BlendMode.nativeModes[blendMode],\n\t\t\tdirect = normalBlend && opacity === 1\n\t\t\t\t\t|| param.dontStart\n\t\t\t\t\t|| param.clip\n\t\t\t\t\t|| (nativeBlend || normalBlend && opacity < 1)\n\t\t\t\t\t\t&& this._canComposite(),\n\t\t\tpixelRatio = param.pixelRatio || 1,\n\t\t\tmainCtx, itemOffset, prevOffset;\n\t\tif (!direct) {\n\t\t\tvar bounds = this.getStrokeBounds(viewMatrix);\n\t\t\tif (!bounds.width || !bounds.height) {\n\t\t\t\tmatrices.pop();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprevOffset = param.offset;\n\t\t\titemOffset = param.offset = bounds.getTopLeft().floor();\n\t\t\tmainCtx = ctx;\n\t\t\tctx = CanvasProvider.getContext(bounds.getSize().ceil().add(1)\n\t\t\t\t\t.multiply(pixelRatio));\n\t\t\tif (pixelRatio !== 1)\n\t\t\t\tctx.scale(pixelRatio, pixelRatio);\n\t\t}\n\t\tctx.save();\n\t\tvar strokeMatrix = parentStrokeMatrix\n\t\t\t\t? parentStrokeMatrix.appended(matrix)\n\t\t\t\t: this._canScaleStroke && !this.getStrokeScaling(true)\n\t\t\t\t\t&& viewMatrix,\n\t\t\tclip = !direct && param.clipItem,\n\t\t\ttransform = !strokeMatrix || clip;\n\t\tif (direct) {\n\t\t\tctx.globalAlpha = opacity;\n\t\t\tif (nativeBlend)\n\t\t\t\tctx.globalCompositeOperation = blendMode;\n\t\t} else if (transform) {\n\t\t\tctx.translate(-itemOffset.x, -itemOffset.y);\n\t\t}\n\t\tif (transform) {\n\t\t\t(direct ? matrix : viewMatrix).applyToContext(ctx);\n\t\t}\n\t\tif (clip) {\n\t\t\tparam.clipItem.draw(ctx, param.extend({ clip: true }));\n\t\t}\n\t\tif (strokeMatrix) {\n\t\t\tctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n\t\t\tvar offset = param.offset;\n\t\t\tif (offset)\n\t\t\t\tctx.translate(-offset.x, -offset.y);\n\t\t}\n\t\tthis._draw(ctx, param, viewMatrix, strokeMatrix);\n\t\tctx.restore();\n\t\tmatrices.pop();\n\t\tif (param.clip && !param.dontFinish)\n\t\t\tctx.clip();\n\t\tif (!direct) {\n\t\t\tBlendMode.process(blendMode, ctx, mainCtx, opacity,\n\t\t\t\t\titemOffset.subtract(prevOffset).multiply(pixelRatio));\n\t\t\tCanvasProvider.release(ctx);\n\t\t\tparam.offset = prevOffset;\n\t\t}\n\t},\n\n\t_isUpdated: function(updateVersion) {\n\t\tvar parent = this._parent;\n\t\tif (parent instanceof CompoundPath)\n\t\t\treturn parent._isUpdated(updateVersion);\n\t\tvar updated = this._updateVersion === updateVersion;\n\t\tif (!updated && parent && parent._visible\n\t\t\t\t&& parent._isUpdated(updateVersion)) {\n\t\t\tthis._updateVersion = updateVersion;\n\t\t\tupdated = true;\n\t\t}\n\t\treturn updated;\n\t},\n\n\t_drawSelection: function(ctx, matrix, size, selectionItems, updateVersion) {\n\t\tvar selection = this._selection,\n\t\t\titemSelected = selection & 1,\n\t\t\tboundsSelected = selection & 2\n\t\t\t\t\t|| itemSelected && this._selectBounds,\n\t\t\tpositionSelected = selection & 4;\n\t\tif (!this._drawSelected)\n\t\t\titemSelected = false;\n\t\tif ((itemSelected || boundsSelected || positionSelected)\n\t\t\t\t&& this._isUpdated(updateVersion)) {\n\t\t\tvar layer,\n\t\t\t\tcolor = this.getSelectedColor(true) || (layer = this.getLayer())\n\t\t\t\t\t&& layer.getSelectedColor(true),\n\t\t\t\tmx = matrix.appended(this.getGlobalMatrix(true)),\n\t\t\t\thalf = size / 2;\n\t\t\tctx.strokeStyle = ctx.fillStyle = color\n\t\t\t\t\t? color.toCanvasStyle(ctx) : '#009dec';\n\t\t\tctx.lineWidth=2.5;\n\t\t\tif (itemSelected)\n\t\t\t\tthis._drawSelected(ctx, mx, selectionItems);\n\t\t\tif (positionSelected) {\n\t\t\t\tvar pos = this.getPosition(true),\n\t\t\t\t\tparent = this._parent,\n\t\t\t\t\tpoint = parent ? parent.localToGlobal(pos) : pos,\n\t\t\t\t\tx = point.x,\n\t\t\t\t\ty = point.y;\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(x, y, half, 0, Math.PI * 2, true);\n\t\t\t\tctx.stroke();\n\t\t\t\tvar deltas = [[0, -1], [1, 0], [0, 1], [-1, 0]],\n\t\t\t\t\tstart = half,\n\t\t\t\t\tend = size + 1;\n\t\t\t\tfor (var i = 0; i < 4; i++) {\n\t\t\t\t\tvar delta = deltas[i],\n\t\t\t\t\t\tdx = delta[0],\n\t\t\t\t\t\tdy = delta[1];\n\t\t\t\t\tctx.moveTo(x + dx * start, y + dy * start);\n\t\t\t\t\tctx.lineTo(x + dx * end, y + dy * end);\n\t\t\t\t\tctx.stroke();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (boundsSelected) {\n\t\t\t\tvar coords = mx._transformCorners(this.getInternalBounds());\n\t\t\t\tctx.beginPath();\n\t\t\t\tfor (var i = 0; i < 8; i++) {\n\t\t\t\t\tctx[!i ? 'moveTo' : 'lineTo'](coords[i], coords[++i]);\n\t\t\t\t}\n\t\t\t\tctx.closePath();\n\t\t\t\tctx.stroke();\n\t\t\t\tfor (var i = 0; i < 8; i++) {\n\t\t\t\t\tctx.fillRect(coords[i] - half, coords[++i] - half,\n\t\t\t\t\t\t\tsize, size);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t_canComposite: function() {\n\t\treturn false;\n\t}\n}, Base.each(['down', 'drag', 'up', 'move'], function(key) {\n\tthis['removeOn' + Base.capitalize(key)] = function() {\n\t\tvar hash = {};\n\t\thash[key] = true;\n\t\treturn this.removeOn(hash);\n\t};\n}, {\n\n\tremoveOn: function(obj) {\n\t\tfor (var name in obj) {\n\t\t\tif (obj[name]) {\n\t\t\t\tvar key = 'mouse' + name,\n\t\t\t\t\tproject = this._project,\n\t\t\t\t\tsets = project._removeSets = project._removeSets || {};\n\t\t\t\tsets[key] = sets[key] || {};\n\t\t\t\tsets[key][this._id] = this;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n}));\n\nvar Group = Item.extend({\n\t_class: 'Group',\n\t_selectBounds: false,\n\t_selectChildren: true,\n\t_serializeFields: {\n\t\tchildren: []\n\t},\n\n\tinitialize: function Group(arg) {\n\t\tthis._children = [];\n\t\tthis._namedChildren = {};\n\t\tif (!this._initialize(arg))\n\t\t\tthis.addChildren(Array.isArray(arg) ? arg : arguments);\n\t},\n\n\t_changed: function _changed(flags) {\n\t\t_changed.base.call(this, flags);\n\t\tif (flags & 2050) {\n\t\t\tthis._clipItem = undefined;\n\t\t}\n\t},\n\n\t_getClipItem: function() {\n\t\tvar clipItem = this._clipItem;\n\t\tif (clipItem === undefined) {\n\t\t\tclipItem = null;\n\t\t\tvar children = this._children;\n\t\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\t\tif (children[i]._clipMask) {\n\t\t\t\t\tclipItem = children[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._clipItem = clipItem;\n\t\t}\n\t\treturn clipItem;\n\t},\n\n\tisClipped: function() {\n\t\treturn !!this._getClipItem();\n\t},\n\n\tsetClipped: function(clipped) {\n\t\tvar child = this.getFirstChild();\n\t\tif (child)\n\t\t\tchild.setClipMask(clipped);\n\t},\n\n\t_getBounds: function _getBounds(matrix, options) {\n\t\tvar clipItem = this._getClipItem();\n\t\treturn clipItem\n\t\t\t? clipItem._getCachedBounds(\n\t\t\t\tmatrix && matrix.appended(clipItem._matrix),\n\t\t\t\tBase.set({}, options, { stroke: false }))\n\t\t\t: _getBounds.base.call(this, matrix, options);\n\t},\n\n\t_hitTestChildren: function _hitTestChildren(point, options, viewMatrix) {\n\t\tvar clipItem = this._getClipItem();\n\t\treturn (!clipItem || clipItem.contains(point))\n\t\t\t\t&& _hitTestChildren.base.call(this, point, options, viewMatrix,\n\t\t\t\t\tclipItem);\n\t},\n\n\t_draw: function(ctx, param) {\n\t\tvar clip = param.clip,\n\t\t\tclipItem = !clip && this._getClipItem();\n\t\tparam = param.extend({ clipItem: clipItem, clip: false });\n\t\tif (clip) {\n\t\t\tctx.beginPath();\n\t\t\tparam.dontStart = param.dontFinish = true;\n\t\t} else if (clipItem) {\n\t\t\tclipItem.draw(ctx, param.extend({ clip: true }));\n\t\t}\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tvar item = children[i];\n\t\t\tif (item !== clipItem)\n\t\t\t\titem.draw(ctx, param);\n\t\t}\n\t}\n});\n\nvar Layer = Group.extend({\n\t_class: 'Layer',\n\n\tinitialize: function Layer() {\n\t\tGroup.apply(this, arguments);\n\t},\n\n\t_getOwner: function() {\n\t\treturn this._parent || this._index != null && this._project;\n\t},\n\n\tisInserted: function isInserted() {\n\t\treturn this._parent ? isInserted.base.call(this) : this._index != null;\n\t},\n\n\tactivate: function() {\n\t\tthis._project._activeLayer = this;\n\t},\n\n\t_hitTestSelf: function() {\n\t}\n});\n\nvar Shape = Item.extend({\n\t_class: 'Shape',\n\t_applyMatrix: false,\n\t_canApplyMatrix: false,\n\t_canScaleStroke: true,\n\t_serializeFields: {\n\t\ttype: null,\n\t\tsize: null,\n\t\tradius: null\n\t},\n\n\tinitialize: function Shape(props, point) {\n\t\tthis._initialize(props, point);\n\t},\n\n\t_equals: function(item) {\n\t\treturn this._type === item._type\n\t\t\t&& this._size.equals(item._size)\n\t\t\t&& Base.equals(this._radius, item._radius);\n\t},\n\n\tcopyContent: function(source) {\n\t\tthis.setType(source._type);\n\t\tthis.setSize(source._size);\n\t\tthis.setRadius(source._radius);\n\t},\n\n\tgetType: function() {\n\t\treturn this._type;\n\t},\n\n\tsetType: function(type) {\n\t\tthis._type = type;\n\t},\n\n\tgetShape: '#getType',\n\tsetShape: '#setType',\n\n\tgetSize: function() {\n\t\tvar size = this._size;\n\t\treturn new LinkedSize(size.width, size.height, this, 'setSize');\n\t},\n\n\tsetSize: function() {\n\t\tvar size = Size.read(arguments);\n\t\tif (!this._size) {\n\t\t\tthis._size = size.clone();\n\t\t} else if (!this._size.equals(size)) {\n\t\t\tvar type = this._type,\n\t\t\t\twidth = size.width,\n\t\t\t\theight = size.height;\n\t\t\tif (type === 'rectangle') {\n\t\t\t\tthis._radius.set(Size.min(this._radius, size.divide(2)));\n\t\t\t} else if (type === 'circle') {\n\t\t\t\twidth = height = (width + height) / 2;\n\t\t\t\tthis._radius = width / 2;\n\t\t\t} else if (type === 'ellipse') {\n\t\t\t\tthis._radius._set(width / 2, height / 2);\n\t\t\t}\n\t\t\tthis._size._set(width, height);\n\t\t\tthis._changed(9);\n\t\t}\n\t},\n\n\tgetRadius: function() {\n\t\tvar rad = this._radius;\n\t\treturn this._type === 'circle'\n\t\t\t\t? rad\n\t\t\t\t: new LinkedSize(rad.width, rad.height, this, 'setRadius');\n\t},\n\n\tsetRadius: function(radius) {\n\t\tvar type = this._type;\n\t\tif (type === 'circle') {\n\t\t\tif (radius === this._radius)\n\t\t\t\treturn;\n\t\t\tvar size = radius * 2;\n\t\t\tthis._radius = radius;\n\t\t\tthis._size._set(size, size);\n\t\t} else {\n\t\t\tradius = Size.read(arguments);\n\t\t\tif (!this._radius) {\n\t\t\t\tthis._radius = radius.clone();\n\t\t\t} else {\n\t\t\t\tif (this._radius.equals(radius))\n\t\t\t\t\treturn;\n\t\t\t\tthis._radius.set(radius);\n\t\t\t\tif (type === 'rectangle') {\n\t\t\t\t\tvar size = Size.max(this._size, radius.multiply(2));\n\t\t\t\t\tthis._size.set(size);\n\t\t\t\t} else if (type === 'ellipse') {\n\t\t\t\t\tthis._size._set(radius.width * 2, radius.height * 2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._changed(9);\n\t},\n\n\tisEmpty: function() {\n\t\treturn false;\n\t},\n\n\ttoPath: function(insert) {\n\t\tvar path = new Path[Base.capitalize(this._type)]({\n\t\t\tcenter: new Point(),\n\t\t\tsize: this._size,\n\t\t\tradius: this._radius,\n\t\t\tinsert: false\n\t\t});\n\t\tpath.copyAttributes(this);\n\t\tif (paper.settings.applyMatrix)\n\t\t\tpath.setApplyMatrix(true);\n\t\tif (insert === undefined || insert)\n\t\t\tpath.insertAbove(this);\n\t\treturn path;\n\t},\n\n\ttoShape: '#clone',\n\n\t_asPathItem: function() {\n\t\treturn this.toPath(false);\n\t},\n\n\t_draw: function(ctx, param, viewMatrix, strokeMatrix) {\n\t\tvar style = this._style,\n\t\t\thasFill = style.hasFill(),\n\t\t\thasStroke = style.hasStroke(),\n\t\t\tdontPaint = param.dontFinish || param.clip,\n\t\t\tuntransformed = !strokeMatrix;\n\t\tif (hasFill || hasStroke || dontPaint) {\n\t\t\tvar type = this._type,\n\t\t\t\tradius = this._radius,\n\t\t\t\tisCircle = type === 'circle';\n\t\t\tif (!param.dontStart)\n\t\t\t\tctx.beginPath();\n\t\t\tif (untransformed && isCircle) {\n\t\t\t\tctx.arc(0, 0, radius, 0, Math.PI * 2, true);\n\t\t\t} else {\n\t\t\t\tvar rx = isCircle ? radius : radius.width,\n\t\t\t\t\try = isCircle ? radius : radius.height,\n\t\t\t\t\tsize = this._size,\n\t\t\t\t\twidth = size.width,\n\t\t\t\t\theight = size.height;\n\t\t\t\tif (untransformed && type === 'rectangle' && rx === 0 && ry === 0) {\n\t\t\t\t\tctx.rect(-width / 2, -height / 2, width, height);\n\t\t\t\t} else {\n\t\t\t\t\tvar x = width / 2,\n\t\t\t\t\t\ty = height / 2,\n\t\t\t\t\t\tkappa = 1 - 0.5522847498307936,\n\t\t\t\t\t\tcx = rx * kappa,\n\t\t\t\t\t\tcy = ry * kappa,\n\t\t\t\t\t\tc = [\n\t\t\t\t\t\t\t-x, -y + ry,\n\t\t\t\t\t\t\t-x, -y + cy,\n\t\t\t\t\t\t\t-x + cx, -y,\n\t\t\t\t\t\t\t-x + rx, -y,\n\t\t\t\t\t\t\tx - rx, -y,\n\t\t\t\t\t\t\tx - cx, -y,\n\t\t\t\t\t\t\tx, -y + cy,\n\t\t\t\t\t\t\tx, -y + ry,\n\t\t\t\t\t\t\tx, y - ry,\n\t\t\t\t\t\t\tx, y - cy,\n\t\t\t\t\t\t\tx - cx, y,\n\t\t\t\t\t\t\tx - rx, y,\n\t\t\t\t\t\t\t-x + rx, y,\n\t\t\t\t\t\t\t-x + cx, y,\n\t\t\t\t\t\t\t-x, y - cy,\n\t\t\t\t\t\t\t-x, y - ry\n\t\t\t\t\t\t];\n\t\t\t\t\tif (strokeMatrix)\n\t\t\t\t\t\tstrokeMatrix.transform(c, c, 32);\n\t\t\t\t\tctx.moveTo(c[0], c[1]);\n\t\t\t\t\tctx.bezierCurveTo(c[2], c[3], c[4], c[5], c[6], c[7]);\n\t\t\t\t\tif (x !== rx)\n\t\t\t\t\t\tctx.lineTo(c[8], c[9]);\n\t\t\t\t\tctx.bezierCurveTo(c[10], c[11], c[12], c[13], c[14], c[15]);\n\t\t\t\t\tif (y !== ry)\n\t\t\t\t\t\tctx.lineTo(c[16], c[17]);\n\t\t\t\t\tctx.bezierCurveTo(c[18], c[19], c[20], c[21], c[22], c[23]);\n\t\t\t\t\tif (x !== rx)\n\t\t\t\t\t\tctx.lineTo(c[24], c[25]);\n\t\t\t\t\tctx.bezierCurveTo(c[26], c[27], c[28], c[29], c[30], c[31]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t}\n\t\tif (!dontPaint && (hasFill || hasStroke)) {\n\t\t\tthis._setStyles(ctx, param, viewMatrix);\n\t\t\tif (hasFill) {\n\t\t\t\tctx.fill(style.getFillRule());\n\t\t\t\tctx.shadowColor = 'rgba(0,0,0,0)';\n\t\t\t}\n\t\t\tif (hasStroke)\n\t\t\t\tctx.stroke();\n\t\t}\n\t},\n\n\t_canComposite: function() {\n\t\treturn !(this.hasFill() && this.hasStroke());\n\t},\n\n\t_getBounds: function(matrix, options) {\n\t\tvar rect = new Rectangle(this._size).setCenter(0, 0),\n\t\t\tstyle = this._style,\n\t\t\tstrokeWidth = options.stroke && style.hasStroke()\n\t\t\t\t\t&& style.getStrokeWidth();\n\t\tif (matrix)\n\t\t\trect = matrix._transformBounds(rect);\n\t\treturn strokeWidth\n\t\t\t\t? rect.expand(Path._getStrokePadding(strokeWidth,\n\t\t\t\t\tthis._getStrokeMatrix(matrix, options)))\n\t\t\t\t: rect;\n\t}\n},\nnew function() {\n\tfunction getCornerCenter(that, point, expand) {\n\t\tvar radius = that._radius;\n\t\tif (!radius.isZero()) {\n\t\t\tvar halfSize = that._size.divide(2);\n\t\t\tfor (var q = 1; q <= 4; q++) {\n\t\t\t\tvar dir = new Point(q > 1 && q < 4 ? -1 : 1, q > 2 ? -1 : 1),\n\t\t\t\t\tcorner = dir.multiply(halfSize),\n\t\t\t\t\tcenter = corner.subtract(dir.multiply(radius)),\n\t\t\t\t\trect = new Rectangle(\n\t\t\t\t\t\t\texpand ? corner.add(dir.multiply(expand)) : corner,\n\t\t\t\t\t\t\tcenter);\n\t\t\t\tif (rect.contains(point))\n\t\t\t\t\treturn { point: center, quadrant: q };\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction isOnEllipseStroke(point, radius, padding, quadrant) {\n\t\tvar vector = point.divide(radius);\n\t\treturn (!quadrant || vector.isInQuadrant(quadrant)) &&\n\t\t\t\tvector.subtract(vector.normalize()).multiply(radius)\n\t\t\t\t\t.divide(padding).length <= 1;\n\t}\n\n\treturn {\n\t\t_contains: function _contains(point) {\n\t\t\tif (this._type === 'rectangle') {\n\t\t\t\tvar center = getCornerCenter(this, point);\n\t\t\t\treturn center\n\t\t\t\t\t\t? point.subtract(center.point).divide(this._radius)\n\t\t\t\t\t\t\t.getLength() <= 1\n\t\t\t\t\t\t: _contains.base.call(this, point);\n\t\t\t} else {\n\t\t\t\treturn point.divide(this.size).getLength() <= 0.5;\n\t\t\t}\n\t\t},\n\n\t\t_hitTestSelf: function _hitTestSelf(point, options, viewMatrix,\n\t\t\t\tstrokeMatrix) {\n\t\t\tvar hit = false,\n\t\t\t\tstyle = this._style,\n\t\t\t\thitStroke = options.stroke && style.hasStroke(),\n\t\t\t\thitFill = options.fill && style.hasFill();\n\t\t\tif (hitStroke || hitFill) {\n\t\t\t\tvar type = this._type,\n\t\t\t\t\tradius = this._radius,\n\t\t\t\t\tstrokeRadius = hitStroke ? style.getStrokeWidth() / 2 : 0,\n\t\t\t\t\tstrokePadding = options._tolerancePadding.add(\n\t\t\t\t\t\tPath._getStrokePadding(strokeRadius,\n\t\t\t\t\t\t\t!style.getStrokeScaling() && strokeMatrix));\n\t\t\t\tif (type === 'rectangle') {\n\t\t\t\t\tvar padding = strokePadding.multiply(2),\n\t\t\t\t\t\tcenter = getCornerCenter(this, point, padding);\n\t\t\t\t\tif (center) {\n\t\t\t\t\t\thit = isOnEllipseStroke(point.subtract(center.point),\n\t\t\t\t\t\t\t\tradius, strokePadding, center.quadrant);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar rect = new Rectangle(this._size).setCenter(0, 0),\n\t\t\t\t\t\t\touter = rect.expand(padding),\n\t\t\t\t\t\t\tinner = rect.expand(padding.negate());\n\t\t\t\t\t\thit = outer._containsPoint(point)\n\t\t\t\t\t\t\t\t&& !inner._containsPoint(point);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\thit = isOnEllipseStroke(point, radius, strokePadding);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn hit ? new HitResult(hitStroke ? 'stroke' : 'fill', this)\n\t\t\t\t\t: _hitTestSelf.base.apply(this, arguments);\n\t\t}\n\t};\n}, {\n\nstatics: new function() {\n\tfunction createShape(type, point, size, radius, args) {\n\t\tvar item = new Shape(Base.getNamed(args), point);\n\t\titem._type = type;\n\t\titem._size = size;\n\t\titem._radius = radius;\n\t\treturn item;\n\t}\n\n\treturn {\n\t\tCircle: function() {\n\t\t\tvar center = Point.readNamed(arguments, 'center'),\n\t\t\t\tradius = Base.readNamed(arguments, 'radius');\n\t\t\treturn createShape('circle', center, new Size(radius * 2), radius,\n\t\t\t\t\targuments);\n\t\t},\n\n\t\tRectangle: function() {\n\t\t\tvar rect = Rectangle.readNamed(arguments, 'rectangle'),\n\t\t\t\tradius = Size.min(Size.readNamed(arguments, 'radius'),\n\t\t\t\t\t\trect.getSize(true).divide(2));\n\t\t\treturn createShape('rectangle', rect.getCenter(true),\n\t\t\t\t\trect.getSize(true), radius, arguments);\n\t\t},\n\n\t\tEllipse: function() {\n\t\t\tvar ellipse = Shape._readEllipse(arguments),\n\t\t\t\tradius = ellipse.radius;\n\t\t\treturn createShape('ellipse', ellipse.center, radius.multiply(2),\n\t\t\t\t\tradius, arguments);\n\t\t},\n\n\t\t_readEllipse: function(args) {\n\t\t\tvar center,\n\t\t\t\tradius;\n\t\t\tif (Base.hasNamed(args, 'radius')) {\n\t\t\t\tcenter = Point.readNamed(args, 'center');\n\t\t\t\tradius = Size.readNamed(args, 'radius');\n\t\t\t} else {\n\t\t\t\tvar rect = Rectangle.readNamed(args, 'rectangle');\n\t\t\t\tcenter = rect.getCenter(true);\n\t\t\t\tradius = rect.getSize(true).divide(2);\n\t\t\t}\n\t\t\treturn { center: center, radius: radius };\n\t\t}\n\t};\n}});\n\nvar Raster = Item.extend({\n\t_class: 'Raster',\n\t_applyMatrix: false,\n\t_canApplyMatrix: false,\n\t_boundsOptions: { stroke: false, handle: false },\n\t_serializeFields: {\n\t\tcrossOrigin: null,\n\t\tsource: null\n\t},\n\t_prioritize: ['crossOrigin'],\n\t_smoothing: false,\n\n\tinitialize: function Raster(object, position) {\n\t\tif (!this._initialize(object,\n\t\t\t\tposition !== undefined && Point.read(arguments, 1))) {\n\t\t\tvar image = typeof object === 'string'\n\t\t\t\t\t? document.getElementById(object) : object;\n\t\t\tif (image) {\n\t\t\t\tthis.setImage(image);\n\t\t\t} else {\n\t\t\t\tthis.setSource(object);\n\t\t\t}\n\t\t}\n\t\tif (!this._size) {\n\t\t\tthis._size = new Size();\n\t\t\tthis._loaded = false;\n\t\t}\n\t},\n\n\t_equals: function(item) {\n\t\treturn this.getSource() === item.getSource();\n\t},\n\n\tcopyContent: function(source) {\n\t\tvar image = source._image,\n\t\t\tcanvas = source._canvas;\n\t\tif (image) {\n\t\t\tthis._setImage(image);\n\t\t} else if (canvas) {\n\t\t\tvar copyCanvas = CanvasProvider.getCanvas(source._size);\n\t\t\tcopyCanvas.getContext('2d').drawImage(canvas, 0, 0);\n\t\t\tthis._setImage(copyCanvas);\n\t\t}\n\t\tthis._crossOrigin = source._crossOrigin;\n\t},\n\n\tgetSize: function() {\n\t\tvar size = this._size;\n\t\treturn new LinkedSize(size ? size.width : 0, size ? size.height : 0,\n\t\t\t\tthis, 'setSize');\n\t},\n\n\tsetSize: function() {\n\t\tvar size = Size.read(arguments);\n\t\tif (!size.equals(this._size)) {\n\t\t\tif (size.width > 0 && size.height > 0) {\n\t\t\t\tvar element = this.getElement();\n\t\t\t\tthis._setImage(CanvasProvider.getCanvas(size));\n\t\t\t\tif (element)\n\t\t\t\t\tthis.getContext(true).drawImage(element, 0, 0,\n\t\t\t\t\t\t\tsize.width, size.height);\n\t\t\t} else {\n\t\t\t\tif (this._canvas)\n\t\t\t\t\tCanvasProvider.release(this._canvas);\n\t\t\t\tthis._size = size.clone();\n\t\t\t}\n\t\t}\n\t},\n\n\tgetWidth: function() {\n\t\treturn this._size ? this._size.width : 0;\n\t},\n\n\tsetWidth: function(width) {\n\t\tthis.setSize(width, this.getHeight());\n\t},\n\n\tgetHeight: function() {\n\t\treturn this._size ? this._size.height : 0;\n\t},\n\n\tsetHeight: function(height) {\n\t\tthis.setSize(this.getWidth(), height);\n\t},\n\n\tgetLoaded: function() {\n\t\treturn this._loaded;\n\t},\n\n\tisEmpty: function() {\n\t\tvar size = this._size;\n\t\treturn !size || size.width === 0 && size.height === 0;\n\t},\n\n\tgetResolution: function() {\n\t\tvar matrix = this._matrix,\n\t\t\torig = new Point(0, 0).transform(matrix),\n\t\t\tu = new Point(1, 0).transform(matrix).subtract(orig),\n\t\t\tv = new Point(0, 1).transform(matrix).subtract(orig);\n\t\treturn new Size(\n\t\t\t72 / u.getLength(),\n\t\t\t72 / v.getLength()\n\t\t);\n\t},\n\n\tgetPpi: '#getResolution',\n\n\tgetImage: function() {\n\t\treturn this._image;\n\t},\n\n\tsetImage: function(image) {\n\t\tvar that = this;\n\n\t\tfunction emit(event) {\n\t\t\tvar view = that.getView(),\n\t\t\t\ttype = event && event.type || 'load';\n\t\t\tif (view && that.responds(type)) {\n\t\t\t\tpaper = view._scope;\n\t\t\t\tthat.emit(type, new Event(event));\n\t\t\t}\n\t\t}\n\n\t\tthis._setImage(image);\n\t\tif (this._loaded) {\n\t\t\tsetTimeout(emit, 0);\n\t\t} else if (image) {\n\t\t\tDomEvent.add(image, {\n\t\t\t\tload: function(event) {\n\t\t\t\t\tthat._setImage(image);\n\t\t\t\t\temit(event);\n\t\t\t\t},\n\t\t\t\terror: emit\n\t\t\t});\n\t\t}\n\t},\n\n\t_setImage: function(image) {\n\t\tif (this._canvas)\n\t\t\tCanvasProvider.release(this._canvas);\n\t\tif (image && image.getContext) {\n\t\t\tthis._image = null;\n\t\t\tthis._canvas = image;\n\t\t\tthis._loaded = true;\n\t\t} else {\n\t\t\tthis._image = image;\n\t\t\tthis._canvas = null;\n\t\t\tthis._loaded = !!(image && image.src && image.complete);\n\t\t}\n\t\tthis._size = new Size(\n\t\t\t\timage ? image.naturalWidth || image.width : 0,\n\t\t\t\timage ? image.naturalHeight || image.height : 0);\n\t\tthis._context = null;\n\t\tthis._changed(1033);\n\t},\n\n\tgetCanvas: function() {\n\t\tif (!this._canvas) {\n\t\t\tvar ctx = CanvasProvider.getContext(this._size);\n\t\t\ttry {\n\t\t\t\tif (this._image)\n\t\t\t\t\tctx.drawImage(this._image, 0, 0);\n\t\t\t\tthis._canvas = ctx.canvas;\n\t\t\t} catch (e) {\n\t\t\t\tCanvasProvider.release(ctx);\n\t\t\t}\n\t\t}\n\t\treturn this._canvas;\n\t},\n\n\tsetCanvas: '#setImage',\n\n\tgetContext: function(modify) {\n\t\tif (!this._context)\n\t\t\tthis._context = this.getCanvas().getContext('2d');\n\t\tif (modify) {\n\t\t\tthis._image = null;\n\t\t\tthis._changed(1025);\n\t\t}\n\t\treturn this._context;\n\t},\n\n\tsetContext: function(context) {\n\t\tthis._context = context;\n\t},\n\n\tgetSource: function() {\n\t\tvar image = this._image;\n\t\treturn image && image.src || this.toDataURL();\n\t},\n\n\tsetSource: function(src) {\n\t\tvar image = new self.Image(),\n\t\t\tcrossOrigin = this._crossOrigin;\n\t\tif (crossOrigin)\n\t\t\timage.crossOrigin = crossOrigin;\n\t\timage.src = src;\n\t\tthis.setImage(image);\n\t},\n\n\tgetCrossOrigin: function() {\n\t\tvar image = this._image;\n\t\treturn image && image.crossOrigin || this._crossOrigin || '';\n\t},\n\n\tsetCrossOrigin: function(crossOrigin) {\n\t\tthis._crossOrigin = crossOrigin;\n\t\tvar image = this._image;\n\t\tif (image)\n\t\t\timage.crossOrigin = crossOrigin;\n\t},\n\n\tgetSmoothing: function() {\n\t\treturn this._smoothing;\n\t},\n\n\tsetSmoothing: function(smoothing) {\n\t\tthis._smoothing = smoothing;\n\t\tthis._changed(257);\n\t},\n\n\tgetElement: function() {\n\t\treturn this._canvas || this._loaded && this._image;\n\t}\n}, {\n\tbeans: false,\n\n\tgetSubCanvas: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\tctx = CanvasProvider.getContext(rect.getSize());\n\t\tvar clippedStartX = Math.max(0, rect.x);\n\t\tvar clippedStartY = Math.max(0, rect.y);\n\t\tvar clippedEndX = Math.min(this.getCanvas().width, rect.x + rect.width);\n\t\tvar clippedEndY = Math.min(this.getCanvas().height, rect.y + rect.height);\n\t\tctx.drawImage(this.getCanvas(),\n\t\t\tclippedStartX, clippedStartY,\n\t\t\tclippedEndX - clippedStartX, clippedEndY - clippedStartY,\n\t\t\tclippedStartX - rect.x, clippedStartY - rect.y,\n\t\t\tclippedEndX - clippedStartX, clippedEndY - clippedStartY\n\t\t);\n\t\treturn ctx.canvas;\n\t},\n\n\tgetSubRaster: function() {\n\t\tvar rect = Rectangle.read(arguments),\n\t\t\traster = new Raster(Item.NO_INSERT);\n\t\traster._setImage(this.getSubCanvas(rect));\n\t\traster.translate(rect.getCenter().subtract(this.getSize().divide(2)));\n\t\traster._matrix.prepend(this._matrix);\n\t\traster.insertAbove(this);\n\t\treturn raster;\n\t},\n\n\ttoDataURL: function() {\n\t\tvar image = this._image,\n\t\t\tsrc = image && image.src;\n\t\tif (/^data:/.test(src))\n\t\t\treturn src;\n\t\tvar canvas = this.getCanvas();\n\t\treturn canvas ? canvas.toDataURL.apply(canvas, arguments) : null;\n\t},\n\n\tdrawImage: function(image ) {\n\t\tvar point = Point.read(arguments, 1);\n\t\tthis.getContext(true).drawImage(image, point.x, point.y);\n\t},\n\n\tgetAverageColor: function(object) {\n\t\tvar bounds, path;\n\t\tif (!object) {\n\t\t\tbounds = this.getBounds();\n\t\t} else if (object instanceof PathItem) {\n\t\t\tpath = object;\n\t\t\tbounds = object.getBounds();\n\t\t} else if (typeof object === 'object') {\n\t\t\tif ('width' in object) {\n\t\t\t\tbounds = new Rectangle(object);\n\t\t\t} else if ('x' in object) {\n\t\t\t\tbounds = new Rectangle(object.x - 0.5, object.y - 0.5, 1, 1);\n\t\t\t}\n\t\t}\n\t\tif (!bounds)\n\t\t\treturn null;\n\t\tvar sampleSize = 32,\n\t\t\twidth = Math.min(bounds.width, sampleSize),\n\t\t\theight = Math.min(bounds.height, sampleSize);\n\t\tvar ctx = Raster._sampleContext;\n\t\tif (!ctx) {\n\t\t\tctx = Raster._sampleContext = CanvasProvider.getContext(\n\t\t\t\t\tnew Size(sampleSize));\n\t\t} else {\n\t\t\tctx.clearRect(0, 0, sampleSize + 1, sampleSize + 1);\n\t\t}\n\t\tctx.save();\n\t\tvar matrix = new Matrix()\n\t\t\t\t.scale(width / bounds.width, height / bounds.height)\n\t\t\t\t.translate(-bounds.x, -bounds.y);\n\t\tmatrix.applyToContext(ctx);\n\t\tif (path)\n\t\t\tpath.draw(ctx, new Base({ clip: true, matrices: [matrix] }));\n\t\tthis._matrix.applyToContext(ctx);\n\t\tvar element = this.getElement(),\n\t\t\tsize = this._size;\n\t\tif (element)\n\t\t\tctx.drawImage(element, -size.width / 2, -size.height / 2);\n\t\tctx.restore();\n\t\tvar pixels = ctx.getImageData(0.5, 0.5, Math.ceil(width),\n\t\t\t\tMath.ceil(height)).data,\n\t\t\tchannels = [0, 0, 0],\n\t\t\ttotal = 0;\n\t\tfor (var i = 0, l = pixels.length; i < l; i += 4) {\n\t\t\tvar alpha = pixels[i + 3];\n\t\t\ttotal += alpha;\n\t\t\talpha /= 255;\n\t\t\tchannels[0] += pixels[i] * alpha;\n\t\t\tchannels[1] += pixels[i + 1] * alpha;\n\t\t\tchannels[2] += pixels[i + 2] * alpha;\n\t\t}\n\t\tfor (var i = 0; i < 3; i++)\n\t\t\tchannels[i] /= total;\n\t\treturn total ? Color.read(channels) : null;\n\t},\n\n\tgetPixel: function() {\n\t\tvar point = Point.read(arguments);\n\t\tvar data = this.getContext().getImageData(point.x, point.y, 1, 1).data;\n\t\treturn new Color('rgb', [data[0] / 255, data[1] / 255, data[2] / 255],\n\t\t\t\tdata[3] / 255);\n\t},\n\n\tsetPixel: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tcolor = Color.read(arguments),\n\t\t\tcomponents = color._convert('rgb'),\n\t\t\talpha = color._alpha,\n\t\t\tctx = this.getContext(true),\n\t\t\timageData = ctx.createImageData(1, 1),\n\t\t\tdata = imageData.data;\n\t\tdata[0] = components[0] * 255;\n\t\tdata[1] = components[1] * 255;\n\t\tdata[2] = components[2] * 255;\n\t\tdata[3] = alpha != null ? alpha * 255 : 255;\n\t\tctx.putImageData(imageData, point.x, point.y);\n\t},\n\n\tcreateImageData: function() {\n\t\tvar size = Size.read(arguments);\n\t\treturn this.getContext().createImageData(size.width, size.height);\n\t},\n\n\tgetImageData: function() {\n\t\tvar rect = Rectangle.read(arguments);\n\t\tif (rect.isEmpty())\n\t\t\trect = new Rectangle(this._size);\n\t\treturn this.getContext().getImageData(rect.x, rect.y,\n\t\t\t\trect.width, rect.height);\n\t},\n\n\tsetImageData: function(data ) {\n\t\tvar point = Point.read(arguments, 1);\n\t\tthis.getContext(true).putImageData(data, point.x, point.y);\n\t},\n\n\t_getBounds: function(matrix, options) {\n\t\tvar rect = new Rectangle(this._size).setCenter(0, 0);\n\t\treturn matrix ? matrix._transformBounds(rect) : rect;\n\t},\n\n\t_hitTestSelf: function(point) {\n\t\tif (this._contains(point)) {\n\t\t\tvar that = this;\n\t\t\treturn new HitResult('pixel', that, {\n\t\t\t\toffset: point.add(that._size.divide(2)).round(),\n\t\t\t\tcolor: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn that.getPixel(this.offset);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\t_draw: function(ctx, param, viewMatrix) {\n\t\tvar element = this.getElement();\n\t\tif (element) {\n\t\t\tctx.globalAlpha = this._opacity;\n\n\t\t\tthis._setStyles(ctx, param, viewMatrix);\n\n\t\t\tDomElement.setPrefixed(\n\t\t\t\tctx, 'imageSmoothingEnabled', this._smoothing\n\t\t\t);\n\n\t\t\tctx.drawImage(element,\n\t\t\t\t\t-this._size.width / 2, -this._size.height / 2);\n\t\t}\n\t},\n\n\t_canComposite: function() {\n\t\treturn true;\n\t}\n});\n\nvar SymbolItem = Item.extend({\n\t_class: 'SymbolItem',\n\t_applyMatrix: false,\n\t_canApplyMatrix: false,\n\t_boundsOptions: { stroke: true },\n\t_serializeFields: {\n\t\tsymbol: null\n\t},\n\n\tinitialize: function SymbolItem(arg0, arg1) {\n\t\tif (!this._initialize(arg0,\n\t\t\t\targ1 !== undefined && Point.read(arguments, 1)))\n\t\t\tthis.setDefinition(arg0 instanceof SymbolDefinition ?\n\t\t\t\t\targ0 : new SymbolDefinition(arg0));\n\t},\n\n\t_equals: function(item) {\n\t\treturn this._definition === item._definition;\n\t},\n\n\tcopyContent: function(source) {\n\t\tthis.setDefinition(source._definition);\n\t},\n\n\tgetDefinition: function() {\n\t\treturn this._definition;\n\t},\n\n\tsetDefinition: function(definition) {\n\t\tthis._definition = definition;\n\t\tthis._changed(9);\n\t},\n\n\tgetSymbol: '#getDefinition',\n\tsetSymbol: '#setDefinition',\n\n\tisEmpty: function() {\n\t\treturn this._definition._item.isEmpty();\n\t},\n\n\t_getBounds: function(matrix, options) {\n\t\tvar item = this._definition._item;\n\t\treturn item._getCachedBounds(item._matrix.prepended(matrix), options);\n\t},\n\n\t_hitTestSelf: function(point, options, viewMatrix) {\n\t\tvar res = this._definition._item._hitTest(point, options, viewMatrix);\n\t\tif (res)\n\t\t\tres.item = this;\n\t\treturn res;\n\t},\n\n\t_draw: function(ctx, param) {\n\t\tthis._definition._item.draw(ctx, param);\n\t}\n\n});\n\nvar SymbolDefinition = Base.extend({\n\t_class: 'SymbolDefinition',\n\n\tinitialize: function SymbolDefinition(item, dontCenter) {\n\t\tthis._id = UID.get();\n\t\tthis.project = paper.project;\n\t\tif (item)\n\t\t\tthis.setItem(item, dontCenter);\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\treturn dictionary.add(this, function() {\n\t\t\treturn Base.serialize([this._class, this._item],\n\t\t\t\t\toptions, false, dictionary);\n\t\t});\n\t},\n\n\t_changed: function(flags) {\n\t\tif (flags & 8)\n\t\t\tItem._clearBoundsCache(this);\n\t\tif (flags & 1)\n\t\t\tthis.project._changed(flags);\n\t},\n\n\tgetItem: function() {\n\t\treturn this._item;\n\t},\n\n\tsetItem: function(item, _dontCenter) {\n\t\tif (item._symbol)\n\t\t\titem = item.clone();\n\t\tif (this._item)\n\t\t\tthis._item._symbol = null;\n\t\tthis._item = item;\n\t\titem.remove();\n\t\titem.setSelected(false);\n\t\tif (!_dontCenter)\n\t\t\titem.setPosition(new Point());\n\t\titem._symbol = this;\n\t\tthis._changed(9);\n\t},\n\n\tgetDefinition: '#getItem',\n\tsetDefinition: '#setItem',\n\n\tplace: function(position) {\n\t\treturn new SymbolItem(this, position);\n\t},\n\n\tclone: function() {\n\t\treturn new SymbolDefinition(this._item.clone(false));\n\t},\n\n\tequals: function(symbol) {\n\t\treturn symbol === this\n\t\t\t\t|| symbol && this._item.equals(symbol._item)\n\t\t\t\t|| false;\n\t}\n});\n\nvar HitResult = Base.extend({\n\t_class: 'HitResult',\n\n\tinitialize: function HitResult(type, item, values) {\n\t\tthis.type = type;\n\t\tthis.item = item;\n\t\tif (values)\n\t\t\tthis.inject(values);\n\t},\n\n\tstatics: {\n\t\tgetOptions: function(args) {\n\t\t\tvar options = args && Base.read(args);\n\t\t\treturn Base.set({\n\t\t\t\ttype: null,\n\t\t\t\ttolerance: paper.settings.hitTolerance,\n\t\t\t\tfill: !options,\n\t\t\t\tstroke: !options,\n\t\t\t\tsegments: !options,\n\t\t\t\thandles: false,\n\t\t\t\tends: false,\n\t\t\t\tposition: false,\n\t\t\t\tcenter: false,\n\t\t\t\tbounds: false,\n\t\t\t\tguides: false,\n\t\t\t\tselected: false\n\t\t\t}, options);\n\t\t}\n\t}\n});\n\nvar Segment = Base.extend({\n\t_class: 'Segment',\n\tbeans: true,\n\t_selection: 0,\n\n\tinitialize: function Segment(arg0, arg1, arg2, arg3, arg4, arg5) {\n\t\tvar count = arguments.length,\n\t\t\tpoint, handleIn, handleOut, selection;\n\t\tif (count > 0) {\n\t\t\tif (arg0 == null || typeof arg0 === 'object') {\n\t\t\t\tif (count === 1 && arg0 && 'point' in arg0) {\n\t\t\t\t\tpoint = arg0.point;\n\t\t\t\t\thandleIn = arg0.handleIn;\n\t\t\t\t\thandleOut = arg0.handleOut;\n\t\t\t\t\tselection = arg0.selection;\n\t\t\t\t} else {\n\t\t\t\t\tpoint = arg0;\n\t\t\t\t\thandleIn = arg1;\n\t\t\t\t\thandleOut = arg2;\n\t\t\t\t\tselection = arg3;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpoint = [ arg0, arg1 ];\n\t\t\t\thandleIn = arg2 !== undefined ? [ arg2, arg3 ] : null;\n\t\t\t\thandleOut = arg4 !== undefined ? [ arg4, arg5 ] : null;\n\t\t\t}\n\t\t}\n\t\tnew SegmentPoint(point, this, '_point');\n\t\tnew SegmentPoint(handleIn, this, '_handleIn');\n\t\tnew SegmentPoint(handleOut, this, '_handleOut');\n\t\tif (selection)\n\t\t\tthis.setSelection(selection);\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\tvar point = this._point,\n\t\t\tselection = this._selection,\n\t\t\tobj = selection || this.hasHandles()\n\t\t\t\t\t? [point, this._handleIn, this._handleOut]\n\t\t\t\t\t: point;\n\t\tif (selection)\n\t\t\tobj.push(selection);\n\t\treturn Base.serialize(obj, options, true, dictionary);\n\t},\n\n\t_changed: function(point) {\n\t\tvar path = this._path;\n\t\tif (!path)\n\t\t\treturn;\n\t\tvar curves = path._curves,\n\t\t\tindex = this._index,\n\t\t\tcurve;\n\t\tif (curves) {\n\t\t\tif ((!point || point === this._point || point === this._handleIn)\n\t\t\t\t\t&& (curve = index > 0 ? curves[index - 1] : path._closed\n\t\t\t\t\t\t? curves[curves.length - 1] : null))\n\t\t\t\tcurve._changed();\n\t\t\tif ((!point || point === this._point || point === this._handleOut)\n\t\t\t\t\t&& (curve = curves[index]))\n\t\t\t\tcurve._changed();\n\t\t}\n\t\tpath._changed(41);\n\t},\n\n\tgetPoint: function() {\n\t\treturn this._point;\n\t},\n\n\tsetPoint: function() {\n\t\tthis._point.set(Point.read(arguments));\n\t},\n\n\tgetHandleIn: function() {\n\t\treturn this._handleIn;\n\t},\n\n\tsetHandleIn: function() {\n\t\tthis._handleIn.set(Point.read(arguments));\n\t},\n\n\tgetHandleOut: function() {\n\t\treturn this._handleOut;\n\t},\n\n\tsetHandleOut: function() {\n\t\tthis._handleOut.set(Point.read(arguments));\n\t},\n\n\thasHandles: function() {\n\t\treturn !this._handleIn.isZero() || !this._handleOut.isZero();\n\t},\n\n\tisSmooth: function() {\n\t\tvar handleIn = this._handleIn,\n\t\t\thandleOut = this._handleOut;\n\t\treturn !handleIn.isZero() && !handleOut.isZero()\n\t\t\t\t&& handleIn.isCollinear(handleOut);\n\t},\n\n\tclearHandles: function() {\n\t\tthis._handleIn._set(0, 0);\n\t\tthis._handleOut._set(0, 0);\n\t},\n\n\tgetSelection: function() {\n\t\treturn this._selection;\n\t},\n\n\tsetSelection: function(selection) {\n\t\tvar oldSelection = this._selection,\n\t\t\tpath = this._path;\n\t\tthis._selection = selection = selection || 0;\n\t\tif (path && selection !== oldSelection) {\n\t\t\tpath._updateSelection(this, oldSelection, selection);\n\t\t\tpath._changed(257);\n\t\t}\n\t},\n\n\t_changeSelection: function(flag, selected) {\n\t\tvar selection = this._selection;\n\t\tthis.setSelection(selected ? selection | flag : selection & ~flag);\n\t},\n\n\tisSelected: function() {\n\t\treturn !!(this._selection & 7);\n\t},\n\n\tsetSelected: function(selected) {\n\t\tthis._changeSelection(7, selected);\n\t},\n\n\tgetIndex: function() {\n\t\treturn this._index !== undefined ? this._index : null;\n\t},\n\n\tgetPath: function() {\n\t\treturn this._path || null;\n\t},\n\n\tgetCurve: function() {\n\t\tvar path = this._path,\n\t\t\tindex = this._index;\n\t\tif (path) {\n\t\t\tif (index > 0 && !path._closed\n\t\t\t\t\t&& index === path._segments.length - 1)\n\t\t\t\tindex--;\n\t\t\treturn path.getCurves()[index] || null;\n\t\t}\n\t\treturn null;\n\t},\n\n\tgetLocation: function() {\n\t\tvar curve = this.getCurve();\n\t\treturn curve\n\t\t\t\t? new CurveLocation(curve, this === curve._segment1 ? 0 : 1)\n\t\t\t\t: null;\n\t},\n\n\tgetNext: function() {\n\t\tvar segments = this._path && this._path._segments;\n\t\treturn segments && (segments[this._index + 1]\n\t\t\t\t|| this._path._closed && segments[0]) || null;\n\t},\n\n\tsmooth: function(options, _first, _last) {\n\t\tvar opts = options || {},\n\t\t\ttype = opts.type,\n\t\t\tfactor = opts.factor,\n\t\t\tprev = this.getPrevious(),\n\t\t\tnext = this.getNext(),\n\t\t\tp0 = (prev || this)._point,\n\t\t\tp1 = this._point,\n\t\t\tp2 = (next || this)._point,\n\t\t\td1 = p0.getDistance(p1),\n\t\t\td2 = p1.getDistance(p2);\n\t\tif (!type || type === 'catmull-rom') {\n\t\t\tvar a = factor === undefined ? 0.5 : factor,\n\t\t\t\td1_a = Math.pow(d1, a),\n\t\t\t\td1_2a = d1_a * d1_a,\n\t\t\t\td2_a = Math.pow(d2, a),\n\t\t\t\td2_2a = d2_a * d2_a;\n\t\t\tif (!_first && prev) {\n\t\t\t\tvar A = 2 * d2_2a + 3 * d2_a * d1_a + d1_2a,\n\t\t\t\t\tN = 3 * d2_a * (d2_a + d1_a);\n\t\t\t\tthis.setHandleIn(N !== 0\n\t\t\t\t\t? new Point(\n\t\t\t\t\t\t(d2_2a * p0._x + A * p1._x - d1_2a * p2._x) / N - p1._x,\n\t\t\t\t\t\t(d2_2a * p0._y + A * p1._y - d1_2a * p2._y) / N - p1._y)\n\t\t\t\t\t: new Point());\n\t\t\t}\n\t\t\tif (!_last && next) {\n\t\t\t\tvar A = 2 * d1_2a + 3 * d1_a * d2_a + d2_2a,\n\t\t\t\t\tN = 3 * d1_a * (d1_a + d2_a);\n\t\t\t\tthis.setHandleOut(N !== 0\n\t\t\t\t\t? new Point(\n\t\t\t\t\t\t(d1_2a * p2._x + A * p1._x - d2_2a * p0._x) / N - p1._x,\n\t\t\t\t\t\t(d1_2a * p2._y + A * p1._y - d2_2a * p0._y) / N - p1._y)\n\t\t\t\t\t: new Point());\n\t\t\t}\n\t\t} else if (type === 'geometric') {\n\t\t\tif (prev && next) {\n\t\t\t\tvar vector = p0.subtract(p2),\n\t\t\t\t\tt = factor === undefined ? 0.4 : factor,\n\t\t\t\t\tk = t * d1 / (d1 + d2);\n\t\t\t\tif (!_first)\n\t\t\t\t\tthis.setHandleIn(vector.multiply(k));\n\t\t\t\tif (!_last)\n\t\t\t\t\tthis.setHandleOut(vector.multiply(k - t));\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('Smoothing method \\'' + type + '\\' not supported.');\n\t\t}\n\t},\n\n\tgetPrevious: function() {\n\t\tvar segments = this._path && this._path._segments;\n\t\treturn segments && (segments[this._index - 1]\n\t\t\t\t|| this._path._closed && segments[segments.length - 1]) || null;\n\t},\n\n\tisFirst: function() {\n\t\treturn !this._index;\n\t},\n\n\tisLast: function() {\n\t\tvar path = this._path;\n\t\treturn path && this._index === path._segments.length - 1 || false;\n\t},\n\n\treverse: function() {\n\t\tvar handleIn = this._handleIn,\n\t\t\thandleOut = this._handleOut,\n\t\t\ttmp = handleIn.clone();\n\t\thandleIn.set(handleOut);\n\t\thandleOut.set(tmp);\n\t},\n\n\treversed: function() {\n\t\treturn new Segment(this._point, this._handleOut, this._handleIn);\n\t},\n\n\tremove: function() {\n\t\treturn this._path ? !!this._path.removeSegment(this._index) : false;\n\t},\n\n\tclone: function() {\n\t\treturn new Segment(this._point, this._handleIn, this._handleOut);\n\t},\n\n\tequals: function(segment) {\n\t\treturn segment === this || segment && this._class === segment._class\n\t\t\t\t&& this._point.equals(segment._point)\n\t\t\t\t&& this._handleIn.equals(segment._handleIn)\n\t\t\t\t&& this._handleOut.equals(segment._handleOut)\n\t\t\t\t|| false;\n\t},\n\n\ttoString: function() {\n\t\tvar parts = [ 'point: ' + this._point ];\n\t\tif (!this._handleIn.isZero())\n\t\t\tparts.push('handleIn: ' + this._handleIn);\n\t\tif (!this._handleOut.isZero())\n\t\t\tparts.push('handleOut: ' + this._handleOut);\n\t\treturn '{ ' + parts.join(', ') + ' }';\n\t},\n\n\ttransform: function(matrix) {\n\t\tthis._transformCoordinates(matrix, new Array(6), true);\n\t\tthis._changed();\n\t},\n\n\tinterpolate: function(from, to, factor) {\n\t\tvar u = 1 - factor,\n\t\t\tv = factor,\n\t\t\tpoint1 = from._point,\n\t\t\tpoint2 = to._point,\n\t\t\thandleIn1 = from._handleIn,\n\t\t\thandleIn2 = to._handleIn,\n\t\t\thandleOut2 = to._handleOut,\n\t\t\thandleOut1 = from._handleOut;\n\t\tthis._point._set(\n\t\t\t\tu * point1._x + v * point2._x,\n\t\t\t\tu * point1._y + v * point2._y, true);\n\t\tthis._handleIn._set(\n\t\t\t\tu * handleIn1._x + v * handleIn2._x,\n\t\t\t\tu * handleIn1._y + v * handleIn2._y, true);\n\t\tthis._handleOut._set(\n\t\t\t\tu * handleOut1._x + v * handleOut2._x,\n\t\t\t\tu * handleOut1._y + v * handleOut2._y, true);\n\t\tthis._changed();\n\t},\n\n\t_transformCoordinates: function(matrix, coords, change) {\n\t\tvar point = this._point,\n\t\t\thandleIn = !change || !this._handleIn.isZero()\n\t\t\t\t\t? this._handleIn : null,\n\t\t\thandleOut = !change || !this._handleOut.isZero()\n\t\t\t\t\t? this._handleOut : null,\n\t\t\tx = point._x,\n\t\t\ty = point._y,\n\t\t\ti = 2;\n\t\tcoords[0] = x;\n\t\tcoords[1] = y;\n\t\tif (handleIn) {\n\t\t\tcoords[i++] = handleIn._x + x;\n\t\t\tcoords[i++] = handleIn._y + y;\n\t\t}\n\t\tif (handleOut) {\n\t\t\tcoords[i++] = handleOut._x + x;\n\t\t\tcoords[i++] = handleOut._y + y;\n\t\t}\n\t\tif (matrix) {\n\t\t\tmatrix._transformCoordinates(coords, coords, i / 2);\n\t\t\tx = coords[0];\n\t\t\ty = coords[1];\n\t\t\tif (change) {\n\t\t\t\tpoint._x = x;\n\t\t\t\tpoint._y = y;\n\t\t\t\ti = 2;\n\t\t\t\tif (handleIn) {\n\t\t\t\t\thandleIn._x = coords[i++] - x;\n\t\t\t\t\thandleIn._y = coords[i++] - y;\n\t\t\t\t}\n\t\t\t\tif (handleOut) {\n\t\t\t\t\thandleOut._x = coords[i++] - x;\n\t\t\t\t\thandleOut._y = coords[i++] - y;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!handleIn) {\n\t\t\t\t\tcoords[i++] = x;\n\t\t\t\t\tcoords[i++] = y;\n\t\t\t\t}\n\t\t\t\tif (!handleOut) {\n\t\t\t\t\tcoords[i++] = x;\n\t\t\t\t\tcoords[i++] = y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn coords;\n\t}\n});\n\nvar SegmentPoint = Point.extend({\n\tinitialize: function SegmentPoint(point, owner, key) {\n\t\tvar x, y,\n\t\t\tselected;\n\t\tif (!point) {\n\t\t\tx = y = 0;\n\t\t} else if ((x = point[0]) !== undefined) {\n\t\t\ty = point[1];\n\t\t} else {\n\t\t\tvar pt = point;\n\t\t\tif ((x = pt.x) === undefined) {\n\t\t\t\tpt = Point.read(arguments);\n\t\t\t\tx = pt.x;\n\t\t\t}\n\t\t\ty = pt.y;\n\t\t\tselected = pt.selected;\n\t\t}\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._owner = owner;\n\t\towner[key] = this;\n\t\tif (selected)\n\t\t\tthis.setSelected(true);\n\t},\n\n\t_set: function(x, y) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._owner._changed(this);\n\t\treturn this;\n\t},\n\n\tgetX: function() {\n\t\treturn this._x;\n\t},\n\n\tsetX: function(x) {\n\t\tthis._x = x;\n\t\tthis._owner._changed(this);\n\t},\n\n\tgetY: function() {\n\t\treturn this._y;\n\t},\n\n\tsetY: function(y) {\n\t\tthis._y = y;\n\t\tthis._owner._changed(this);\n\t},\n\n\tisZero: function() {\n\t\tvar isZero = Numerical.isZero;\n\t\treturn isZero(this._x) && isZero(this._y);\n\t},\n\n\tisSelected: function() {\n\t\treturn !!(this._owner._selection & this._getSelection());\n\t},\n\n\tsetSelected: function(selected) {\n\t\tthis._owner._changeSelection(this._getSelection(), selected);\n\t},\n\n\t_getSelection: function() {\n\t\tvar owner = this._owner;\n\t\treturn this === owner._point ? 1\n\t\t\t: this === owner._handleIn ? 2\n\t\t\t: this === owner._handleOut ? 4\n\t\t\t: 0;\n\t}\n});\n\nvar Curve = Base.extend({\n\t_class: 'Curve',\n\tbeans: true,\n\n\tinitialize: function Curve(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n\t\tvar count = arguments.length,\n\t\t\tseg1, seg2,\n\t\t\tpoint1, point2,\n\t\t\thandle1, handle2;\n\t\tif (count === 3) {\n\t\t\tthis._path = arg0;\n\t\t\tseg1 = arg1;\n\t\t\tseg2 = arg2;\n\t\t} else if (!count) {\n\t\t\tseg1 = new Segment();\n\t\t\tseg2 = new Segment();\n\t\t} else if (count === 1) {\n\t\t\tif ('segment1' in arg0) {\n\t\t\t\tseg1 = new Segment(arg0.segment1);\n\t\t\t\tseg2 = new Segment(arg0.segment2);\n\t\t\t} else if ('point1' in arg0) {\n\t\t\t\tpoint1 = arg0.point1;\n\t\t\t\thandle1 = arg0.handle1;\n\t\t\t\thandle2 = arg0.handle2;\n\t\t\t\tpoint2 = arg0.point2;\n\t\t\t} else if (Array.isArray(arg0)) {\n\t\t\t\tpoint1 = [arg0[0], arg0[1]];\n\t\t\t\tpoint2 = [arg0[6], arg0[7]];\n\t\t\t\thandle1 = [arg0[2] - arg0[0], arg0[3] - arg0[1]];\n\t\t\t\thandle2 = [arg0[4] - arg0[6], arg0[5] - arg0[7]];\n\t\t\t}\n\t\t} else if (count === 2) {\n\t\t\tseg1 = new Segment(arg0);\n\t\t\tseg2 = new Segment(arg1);\n\t\t} else if (count === 4) {\n\t\t\tpoint1 = arg0;\n\t\t\thandle1 = arg1;\n\t\t\thandle2 = arg2;\n\t\t\tpoint2 = arg3;\n\t\t} else if (count === 8) {\n\t\t\tpoint1 = [arg0, arg1];\n\t\t\tpoint2 = [arg6, arg7];\n\t\t\thandle1 = [arg2 - arg0, arg3 - arg1];\n\t\t\thandle2 = [arg4 - arg6, arg5 - arg7];\n\t\t}\n\t\tthis._segment1 = seg1 || new Segment(point1, null, handle1);\n\t\tthis._segment2 = seg2 || new Segment(point2, handle2, null);\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\treturn Base.serialize(this.hasHandles()\n\t\t\t\t? [this.getPoint1(), this.getHandle1(), this.getHandle2(),\n\t\t\t\t\tthis.getPoint2()]\n\t\t\t\t: [this.getPoint1(), this.getPoint2()],\n\t\t\t\toptions, true, dictionary);\n\t},\n\n\t_changed: function() {\n\t\tthis._length = this._bounds = undefined;\n\t},\n\n\tclone: function() {\n\t\treturn new Curve(this._segment1, this._segment2);\n\t},\n\n\ttoString: function() {\n\t\tvar parts = [ 'point1: ' + this._segment1._point ];\n\t\tif (!this._segment1._handleOut.isZero())\n\t\t\tparts.push('handle1: ' + this._segment1._handleOut);\n\t\tif (!this._segment2._handleIn.isZero())\n\t\t\tparts.push('handle2: ' + this._segment2._handleIn);\n\t\tparts.push('point2: ' + this._segment2._point);\n\t\treturn '{ ' + parts.join(', ') + ' }';\n\t},\n\n\tclassify: function() {\n\t\treturn Curve.classify(this.getValues());\n\t},\n\n\tremove: function() {\n\t\tvar removed = false;\n\t\tif (this._path) {\n\t\t\tvar segment2 = this._segment2,\n\t\t\t\thandleOut = segment2._handleOut;\n\t\t\tremoved = segment2.remove();\n\t\t\tif (removed)\n\t\t\t\tthis._segment1._handleOut.set(handleOut);\n\t\t}\n\t\treturn removed;\n\t},\n\n\tgetPoint1: function() {\n\t\treturn this._segment1._point;\n\t},\n\n\tsetPoint1: function() {\n\t\tthis._segment1._point.set(Point.read(arguments));\n\t},\n\n\tgetPoint2: function() {\n\t\treturn this._segment2._point;\n\t},\n\n\tsetPoint2: function() {\n\t\tthis._segment2._point.set(Point.read(arguments));\n\t},\n\n\tgetHandle1: function() {\n\t\treturn this._segment1._handleOut;\n\t},\n\n\tsetHandle1: function() {\n\t\tthis._segment1._handleOut.set(Point.read(arguments));\n\t},\n\n\tgetHandle2: function() {\n\t\treturn this._segment2._handleIn;\n\t},\n\n\tsetHandle2: function() {\n\t\tthis._segment2._handleIn.set(Point.read(arguments));\n\t},\n\n\tgetSegment1: function() {\n\t\treturn this._segment1;\n\t},\n\n\tgetSegment2: function() {\n\t\treturn this._segment2;\n\t},\n\n\tgetPath: function() {\n\t\treturn this._path;\n\t},\n\n\tgetIndex: function() {\n\t\treturn this._segment1._index;\n\t},\n\n\tgetNext: function() {\n\t\tvar curves = this._path && this._path._curves;\n\t\treturn curves && (curves[this._segment1._index + 1]\n\t\t\t\t|| this._path._closed && curves[0]) || null;\n\t},\n\n\tgetPrevious: function() {\n\t\tvar curves = this._path && this._path._curves;\n\t\treturn curves && (curves[this._segment1._index - 1]\n\t\t\t\t|| this._path._closed && curves[curves.length - 1]) || null;\n\t},\n\n\tisFirst: function() {\n\t\treturn !this._segment1._index;\n\t},\n\n\tisLast: function() {\n\t\tvar path = this._path;\n\t\treturn path && this._segment1._index === path._curves.length - 1\n\t\t\t\t|| false;\n\t},\n\n\tisSelected: function() {\n\t\treturn this.getPoint1().isSelected()\n\t\t\t\t&& this.getHandle1().isSelected()\n\t\t\t\t&& this.getHandle2().isSelected()\n\t\t\t\t&& this.getPoint2().isSelected();\n\t},\n\n\tsetSelected: function(selected) {\n\t\tthis.getPoint1().setSelected(selected);\n\t\tthis.getHandle1().setSelected(selected);\n\t\tthis.getHandle2().setSelected(selected);\n\t\tthis.getPoint2().setSelected(selected);\n\t},\n\n\tgetValues: function(matrix) {\n\t\treturn Curve.getValues(this._segment1, this._segment2, matrix);\n\t},\n\n\tgetPoints: function() {\n\t\tvar coords = this.getValues(),\n\t\t\tpoints = [];\n\t\tfor (var i = 0; i < 8; i += 2)\n\t\t\tpoints.push(new Point(coords[i], coords[i + 1]));\n\t\treturn points;\n\t}\n}, {\n\tgetLength: function() {\n\t\tif (this._length == null)\n\t\t\tthis._length = Curve.getLength(this.getValues(), 0, 1);\n\t\treturn this._length;\n\t},\n\n\tgetArea: function() {\n\t\treturn Curve.getArea(this.getValues());\n\t},\n\n\tgetLine: function() {\n\t\treturn new Line(this._segment1._point, this._segment2._point);\n\t},\n\n\tgetPart: function(from, to) {\n\t\treturn new Curve(Curve.getPart(this.getValues(), from, to));\n\t},\n\n\tgetPartLength: function(from, to) {\n\t\treturn Curve.getLength(this.getValues(), from, to);\n\t},\n\n\tdivideAt: function(location) {\n\t\treturn this.divideAtTime(location && location.curve === this\n\t\t\t\t? location.time : this.getTimeAt(location));\n\t},\n\n\tdivideAtTime: function(time, _setHandles) {\n\t\tvar tMin = 1e-8,\n\t\t\ttMax = 1 - tMin,\n\t\t\tres = null;\n\t\tif (time >= tMin && time <= tMax) {\n\t\t\tvar parts = Curve.subdivide(this.getValues(), time),\n\t\t\t\tleft = parts[0],\n\t\t\t\tright = parts[1],\n\t\t\t\tsetHandles = _setHandles || this.hasHandles(),\n\t\t\t\tseg1 = this._segment1,\n\t\t\t\tseg2 = this._segment2,\n\t\t\t\tpath = this._path;\n\t\t\tif (setHandles) {\n\t\t\t\tseg1._handleOut._set(left[2] - left[0], left[3] - left[1]);\n\t\t\t\tseg2._handleIn._set(right[4] - right[6],right[5] - right[7]);\n\t\t\t}\n\t\t\tvar x = left[6], y = left[7],\n\t\t\t\tsegment = new Segment(new Point(x, y),\n\t\t\t\t\t\tsetHandles && new Point(left[4] - x, left[5] - y),\n\t\t\t\t\t\tsetHandles && new Point(right[2] - x, right[3] - y));\n\t\t\tif (path) {\n\t\t\t\tpath.insert(seg1._index + 1, segment);\n\t\t\t\tres = this.getNext();\n\t\t\t} else {\n\t\t\t\tthis._segment2 = segment;\n\t\t\t\tthis._changed();\n\t\t\t\tres = new Curve(segment, seg2);\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t},\n\n\tsplitAt: function(location) {\n\t\tvar path = this._path;\n\t\treturn path ? path.splitAt(location) : null;\n\t},\n\n\tsplitAtTime: function(time) {\n\t\treturn this.splitAt(this.getLocationAtTime(time));\n\t},\n\n\tdivide: function(offset, isTime) {\n\t\treturn this.divideAtTime(offset === undefined ? 0.5 : isTime ? offset\n\t\t\t\t: this.getTimeAt(offset));\n\t},\n\n\tsplit: function(offset, isTime) {\n\t\treturn this.splitAtTime(offset === undefined ? 0.5 : isTime ? offset\n\t\t\t\t: this.getTimeAt(offset));\n\t},\n\n\treversed: function() {\n\t\treturn new Curve(this._segment2.reversed(), this._segment1.reversed());\n\t},\n\n\tclearHandles: function() {\n\t\tthis._segment1._handleOut._set(0, 0);\n\t\tthis._segment2._handleIn._set(0, 0);\n\t},\n\nstatics: {\n\tgetValues: function(segment1, segment2, matrix, straight) {\n\t\tvar p1 = segment1._point,\n\t\t\th1 = segment1._handleOut,\n\t\t\th2 = segment2._handleIn,\n\t\t\tp2 = segment2._point,\n\t\t\tx1 = p1.x, y1 = p1.y,\n\t\t\tx2 = p2.x, y2 = p2.y,\n\t\t\tvalues = straight\n\t\t\t\t? [ x1, y1, x1, y1, x2, y2, x2, y2 ]\n\t\t\t\t: [\n\t\t\t\t\tx1, y1,\n\t\t\t\t\tx1 + h1._x, y1 + h1._y,\n\t\t\t\t\tx2 + h2._x, y2 + h2._y,\n\t\t\t\t\tx2, y2\n\t\t\t\t];\n\t\tif (matrix)\n\t\t\tmatrix._transformCoordinates(values, values, 4);\n\t\treturn values;\n\t},\n\n\tsubdivide: function(v, t) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7];\n\t\tif (t === undefined)\n\t\t\tt = 0.5;\n\t\tvar u = 1 - t,\n\t\t\tx4 = u * x0 + t * x1, y4 = u * y0 + t * y1,\n\t\t\tx5 = u * x1 + t * x2, y5 = u * y1 + t * y2,\n\t\t\tx6 = u * x2 + t * x3, y6 = u * y2 + t * y3,\n\t\t\tx7 = u * x4 + t * x5, y7 = u * y4 + t * y5,\n\t\t\tx8 = u * x5 + t * x6, y8 = u * y5 + t * y6,\n\t\t\tx9 = u * x7 + t * x8, y9 = u * y7 + t * y8;\n\t\treturn [\n\t\t\t[x0, y0, x4, y4, x7, y7, x9, y9],\n\t\t\t[x9, y9, x8, y8, x6, y6, x3, y3]\n\t\t];\n\t},\n\n\tgetMonoCurves: function(v, dir) {\n\t\tvar curves = [],\n\t\t\tio = dir ? 0 : 1,\n\t\t\to0 = v[io + 0],\n\t\t\to1 = v[io + 2],\n\t\t\to2 = v[io + 4],\n\t\t\to3 = v[io + 6];\n\t\tif ((o0 >= o1) === (o1 >= o2) && (o1 >= o2) === (o2 >= o3)\n\t\t\t\t|| Curve.isStraight(v)) {\n\t\t\tcurves.push(v);\n\t\t} else {\n\t\t\tvar a = 3 * (o1 - o2) - o0 + o3,\n\t\t\t\tb = 2 * (o0 + o2) - 4 * o1,\n\t\t\t\tc = o1 - o0,\n\t\t\t\ttMin = 1e-8,\n\t\t\t\ttMax = 1 - tMin,\n\t\t\t\troots = [],\n\t\t\t\tn = Numerical.solveQuadratic(a, b, c, roots, tMin, tMax);\n\t\t\tif (!n) {\n\t\t\t\tcurves.push(v);\n\t\t\t} else {\n\t\t\t\troots.sort();\n\t\t\t\tvar t = roots[0],\n\t\t\t\t\tparts = Curve.subdivide(v, t);\n\t\t\t\tcurves.push(parts[0]);\n\t\t\t\tif (n > 1) {\n\t\t\t\t\tt = (roots[1] - t) / (1 - t);\n\t\t\t\t\tparts = Curve.subdivide(parts[1], t);\n\t\t\t\t\tcurves.push(parts[0]);\n\t\t\t\t}\n\t\t\t\tcurves.push(parts[1]);\n\t\t\t}\n\t\t}\n\t\treturn curves;\n\t},\n\n\tsolveCubic: function (v, coord, val, roots, min, max) {\n\t\tvar v0 = v[coord],\n\t\t\tv1 = v[coord + 2],\n\t\t\tv2 = v[coord + 4],\n\t\t\tv3 = v[coord + 6],\n\t\t\tres = 0;\n\t\tif ( !(v0 < val && v3 < val && v1 < val && v2 < val ||\n\t\t\t\tv0 > val && v3 > val && v1 > val && v2 > val)) {\n\t\t\tvar c = 3 * (v1 - v0),\n\t\t\t\tb = 3 * (v2 - v1) - c,\n\t\t\t\ta = v3 - v0 - c - b;\n\t\t\tres = Numerical.solveCubic(a, b, c, v0 - val, roots, min, max);\n\t\t}\n\t\treturn res;\n\t},\n\n\tgetTimeOf: function(v, point) {\n\t\tvar p0 = new Point(v[0], v[1]),\n\t\t\tp3 = new Point(v[6], v[7]),\n\t\t\tepsilon = 1e-12,\n\t\t\tgeomEpsilon = 1e-7,\n\t\t\tt = point.isClose(p0, epsilon) ? 0\n\t\t\t : point.isClose(p3, epsilon) ? 1\n\t\t\t : null;\n\t\tif (t === null) {\n\t\t\tvar coords = [point.x, point.y],\n\t\t\t\troots = [];\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\tvar count = Curve.solveCubic(v, c, coords[c], roots, 0, 1);\n\t\t\t\tfor (var i = 0; i < count; i++) {\n\t\t\t\t\tvar u = roots[i];\n\t\t\t\t\tif (point.isClose(Curve.getPoint(v, u), geomEpsilon))\n\t\t\t\t\t\treturn u;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn point.isClose(p0, geomEpsilon) ? 0\n\t\t\t : point.isClose(p3, geomEpsilon) ? 1\n\t\t\t : null;\n\t},\n\n\tgetNearestTime: function(v, point) {\n\t\tif (Curve.isStraight(v)) {\n\t\t\tvar x0 = v[0], y0 = v[1],\n\t\t\t\tx3 = v[6], y3 = v[7],\n\t\t\t\tvx = x3 - x0, vy = y3 - y0,\n\t\t\t\tdet = vx * vx + vy * vy;\n\t\t\tif (det === 0)\n\t\t\t\treturn 0;\n\t\t\tvar u = ((point.x - x0) * vx + (point.y - y0) * vy) / det;\n\t\t\treturn u < 1e-12 ? 0\n\t\t\t\t : u > 0.999999999999 ? 1\n\t\t\t\t : Curve.getTimeOf(v,\n\t\t\t\t\tnew Point(x0 + u * vx, y0 + u * vy));\n\t\t}\n\n\t\tvar count = 100,\n\t\t\tminDist = Infinity,\n\t\t\tminT = 0;\n\n\t\tfunction refine(t) {\n\t\t\tif (t >= 0 && t <= 1) {\n\t\t\t\tvar dist = point.getDistance(Curve.getPoint(v, t), true);\n\t\t\t\tif (dist < minDist) {\n\t\t\t\t\tminDist = dist;\n\t\t\t\t\tminT = t;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0; i <= count; i++)\n\t\t\trefine(i / count);\n\n\t\tvar step = 1 / (count * 2);\n\t\twhile (step > 1e-8) {\n\t\t\tif (!refine(minT - step) && !refine(minT + step))\n\t\t\t\tstep /= 2;\n\t\t}\n\t\treturn minT;\n\t},\n\n\tgetPart: function(v, from, to) {\n\t\tvar flip = from > to;\n\t\tif (flip) {\n\t\t\tvar tmp = from;\n\t\t\tfrom = to;\n\t\t\tto = tmp;\n\t\t}\n\t\tif (from > 0)\n\t\t\tv = Curve.subdivide(v, from)[1];\n\t\tif (to < 1)\n\t\t\tv = Curve.subdivide(v, (to - from) / (1 - from))[0];\n\t\treturn flip\n\t\t\t\t? [v[6], v[7], v[4], v[5], v[2], v[3], v[0], v[1]]\n\t\t\t\t: v;\n\t},\n\n\tisFlatEnough: function(v, flatness) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7],\n\t\t\tux = 3 * x1 - 2 * x0 - x3,\n\t\t\tuy = 3 * y1 - 2 * y0 - y3,\n\t\t\tvx = 3 * x2 - 2 * x3 - x0,\n\t\t\tvy = 3 * y2 - 2 * y3 - y0;\n\t\treturn Math.max(ux * ux, vx * vx) + Math.max(uy * uy, vy * vy)\n\t\t\t\t<= 16 * flatness * flatness;\n\t},\n\n\tgetArea: function(v) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7];\n\t\treturn 3 * ((y3 - y0) * (x1 + x2) - (x3 - x0) * (y1 + y2)\n\t\t\t\t+ y1 * (x0 - x2) - x1 * (y0 - y2)\n\t\t\t\t+ y3 * (x2 + x0 / 3) - x3 * (y2 + y0 / 3)) / 20;\n\t},\n\n\tgetBounds: function(v) {\n\t\tvar min = v.slice(0, 2),\n\t\t\tmax = min.slice(),\n\t\t\troots = [0, 0];\n\t\tfor (var i = 0; i < 2; i++)\n\t\t\tCurve._addBounds(v[i], v[i + 2], v[i + 4], v[i + 6],\n\t\t\t\t\ti, 0, min, max, roots);\n\t\treturn new Rectangle(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n\t},\n\n\t_addBounds: function(v0, v1, v2, v3, coord, padding, min, max, roots) {\n\t\tfunction add(value, padding) {\n\t\t\tvar left = value - padding,\n\t\t\t\tright = value + padding;\n\t\t\tif (left < min[coord])\n\t\t\t\tmin[coord] = left;\n\t\t\tif (right > max[coord])\n\t\t\t\tmax[coord] = right;\n\t\t}\n\n\t\tpadding /= 2;\n\t\tvar minPad = min[coord] - padding,\n\t\t\tmaxPad = max[coord] + padding;\n\t\tif ( v0 < minPad || v1 < minPad || v2 < minPad || v3 < minPad ||\n\t\t\t\tv0 > maxPad || v1 > maxPad || v2 > maxPad || v3 > maxPad) {\n\t\t\tif (v1 < v0 != v1 < v3 && v2 < v0 != v2 < v3) {\n\t\t\t\tadd(v0, padding);\n\t\t\t\tadd(v3, padding);\n\t\t\t} else {\n\t\t\t\tvar a = 3 * (v1 - v2) - v0 + v3,\n\t\t\t\t\tb = 2 * (v0 + v2) - 4 * v1,\n\t\t\t\t\tc = v1 - v0,\n\t\t\t\t\tcount = Numerical.solveQuadratic(a, b, c, roots),\n\t\t\t\t\ttMin = 1e-8,\n\t\t\t\t\ttMax = 1 - tMin;\n\t\t\t\tadd(v3, 0);\n\t\t\t\tfor (var i = 0; i < count; i++) {\n\t\t\t\t\tvar t = roots[i],\n\t\t\t\t\t\tu = 1 - t;\n\t\t\t\t\tif (tMin <= t && t <= tMax)\n\t\t\t\t\t\tadd(u * u * u * v0\n\t\t\t\t\t\t\t+ 3 * u * u * t * v1\n\t\t\t\t\t\t\t+ 3 * u * t * t * v2\n\t\t\t\t\t\t\t+ t * t * t * v3,\n\t\t\t\t\t\t\tpadding);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}}, Base.each(\n\t['getBounds', 'getStrokeBounds', 'getHandleBounds'],\n\tfunction(name) {\n\t\tthis[name] = function() {\n\t\t\tif (!this._bounds)\n\t\t\t\tthis._bounds = {};\n\t\t\tvar bounds = this._bounds[name];\n\t\t\tif (!bounds) {\n\t\t\t\tbounds = this._bounds[name] = Path[name](\n\t\t\t\t\t\t[this._segment1, this._segment2], false, this._path);\n\t\t\t}\n\t\t\treturn bounds.clone();\n\t\t};\n\t},\n{\n\n}), Base.each({\n\tisStraight: function(p1, h1, h2, p2) {\n\t\tif (h1.isZero() && h2.isZero()) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\tvar v = p2.subtract(p1);\n\t\t\tif (v.isZero()) {\n\t\t\t\treturn false;\n\t\t\t} else if (v.isCollinear(h1) && v.isCollinear(h2)) {\n\t\t\t\tvar l = new Line(p1, p2),\n\t\t\t\t\tepsilon = 1e-7;\n\t\t\t\tif (l.getDistance(p1.add(h1)) < epsilon &&\n\t\t\t\t\tl.getDistance(p2.add(h2)) < epsilon) {\n\t\t\t\t\tvar div = v.dot(v),\n\t\t\t\t\t\ts1 = v.dot(h1) / div,\n\t\t\t\t\t\ts2 = v.dot(h2) / div;\n\t\t\t\t\treturn s1 >= 0 && s1 <= 1 && s2 <= 0 && s2 >= -1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\n\tisLinear: function(p1, h1, h2, p2) {\n\t\tvar third = p2.subtract(p1).divide(3);\n\t\treturn h1.equals(third) && h2.negate().equals(third);\n\t}\n}, function(test, name) {\n\tthis[name] = function(epsilon) {\n\t\tvar seg1 = this._segment1,\n\t\t\tseg2 = this._segment2;\n\t\treturn test(seg1._point, seg1._handleOut, seg2._handleIn, seg2._point,\n\t\t\t\tepsilon);\n\t};\n\n\tthis.statics[name] = function(v, epsilon) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx3 = v[6], y3 = v[7];\n\t\treturn test(\n\t\t\t\tnew Point(x0, y0),\n\t\t\t\tnew Point(v[2] - x0, v[3] - y0),\n\t\t\t\tnew Point(v[4] - x3, v[5] - y3),\n\t\t\t\tnew Point(x3, y3), epsilon);\n\t};\n}, {\n\tstatics: {},\n\n\thasHandles: function() {\n\t\treturn !this._segment1._handleOut.isZero()\n\t\t\t\t|| !this._segment2._handleIn.isZero();\n\t},\n\n\thasLength: function(epsilon) {\n\t\treturn (!this.getPoint1().equals(this.getPoint2()) || this.hasHandles())\n\t\t\t\t&& this.getLength() > (epsilon || 0);\n\t},\n\n\tisCollinear: function(curve) {\n\t\treturn curve && this.isStraight() && curve.isStraight()\n\t\t\t\t&& this.getLine().isCollinear(curve.getLine());\n\t},\n\n\tisHorizontal: function() {\n\t\treturn this.isStraight() && Math.abs(this.getTangentAtTime(0.5).y)\n\t\t\t\t< 1e-8;\n\t},\n\n\tisVertical: function() {\n\t\treturn this.isStraight() && Math.abs(this.getTangentAtTime(0.5).x)\n\t\t\t\t< 1e-8;\n\t}\n}), {\n\tbeans: false,\n\n\tgetLocationAt: function(offset, _isTime) {\n\t\treturn this.getLocationAtTime(\n\t\t\t\t_isTime ? offset : this.getTimeAt(offset));\n\t},\n\n\tgetLocationAtTime: function(t) {\n\t\treturn t != null && t >= 0 && t <= 1\n\t\t\t\t? new CurveLocation(this, t)\n\t\t\t\t: null;\n\t},\n\n\tgetTimeAt: function(offset, start) {\n\t\treturn Curve.getTimeAt(this.getValues(), offset, start);\n\t},\n\n\tgetParameterAt: '#getTimeAt',\n\n\tgetTimesWithTangent: function () {\n\t\tvar tangent = Point.read(arguments);\n\t\treturn tangent.isZero()\n\t\t\t\t? []\n\t\t\t\t: Curve.getTimesWithTangent(this.getValues(), tangent);\n\t},\n\n\tgetOffsetAtTime: function(t) {\n\t\treturn this.getPartLength(0, t);\n\t},\n\n\tgetLocationOf: function() {\n\t\treturn this.getLocationAtTime(this.getTimeOf(Point.read(arguments)));\n\t},\n\n\tgetOffsetOf: function() {\n\t\tvar loc = this.getLocationOf.apply(this, arguments);\n\t\treturn loc ? loc.getOffset() : null;\n\t},\n\n\tgetTimeOf: function() {\n\t\treturn Curve.getTimeOf(this.getValues(), Point.read(arguments));\n\t},\n\n\tgetParameterOf: '#getTimeOf',\n\n\tgetNearestLocation: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tvalues = this.getValues(),\n\t\t\tt = Curve.getNearestTime(values, point),\n\t\t\tpt = Curve.getPoint(values, t);\n\t\treturn new CurveLocation(this, t, pt, null, point.getDistance(pt));\n\t},\n\n\tgetNearestPoint: function() {\n\t\tvar loc = this.getNearestLocation.apply(this, arguments);\n\t\treturn loc ? loc.getPoint() : loc;\n\t}\n\n},\nnew function() {\n\tvar methods = ['getPoint', 'getTangent', 'getNormal', 'getWeightedTangent',\n\t\t'getWeightedNormal', 'getCurvature'];\n\treturn Base.each(methods,\n\t\tfunction(name) {\n\t\t\tthis[name + 'At'] = function(location, _isTime) {\n\t\t\t\tvar values = this.getValues();\n\t\t\t\treturn Curve[name](values, _isTime ? location\n\t\t\t\t\t\t: Curve.getTimeAt(values, location));\n\t\t\t};\n\n\t\t\tthis[name + 'AtTime'] = function(time) {\n\t\t\t\treturn Curve[name](this.getValues(), time);\n\t\t\t};\n\t\t}, {\n\t\t\tstatics: {\n\t\t\t\t_evaluateMethods: methods\n\t\t\t}\n\t\t}\n\t);\n},\nnew function() {\n\n\tfunction getLengthIntegrand(v) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7],\n\n\t\t\tax = 9 * (x1 - x2) + 3 * (x3 - x0),\n\t\t\tbx = 6 * (x0 + x2) - 12 * x1,\n\t\t\tcx = 3 * (x1 - x0),\n\n\t\t\tay = 9 * (y1 - y2) + 3 * (y3 - y0),\n\t\t\tby = 6 * (y0 + y2) - 12 * y1,\n\t\t\tcy = 3 * (y1 - y0);\n\n\t\treturn function(t) {\n\t\t\tvar dx = (ax * t + bx) * t + cx,\n\t\t\t\tdy = (ay * t + by) * t + cy;\n\t\t\treturn Math.sqrt(dx * dx + dy * dy);\n\t\t};\n\t}\n\n\tfunction getIterations(a, b) {\n\t\treturn Math.max(2, Math.min(16, Math.ceil(Math.abs(b - a) * 32)));\n\t}\n\n\tfunction evaluate(v, t, type, normalized) {\n\t\tif (t == null || t < 0 || t > 1)\n\t\t\treturn null;\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7],\n\t\t\tisZero = Numerical.isZero;\n\t\tif (isZero(x1 - x0) && isZero(y1 - y0)) {\n\t\t\tx1 = x0;\n\t\t\ty1 = y0;\n\t\t}\n\t\tif (isZero(x2 - x3) && isZero(y2 - y3)) {\n\t\t\tx2 = x3;\n\t\t\ty2 = y3;\n\t\t}\n\t\tvar cx = 3 * (x1 - x0),\n\t\t\tbx = 3 * (x2 - x1) - cx,\n\t\t\tax = x3 - x0 - cx - bx,\n\t\t\tcy = 3 * (y1 - y0),\n\t\t\tby = 3 * (y2 - y1) - cy,\n\t\t\tay = y3 - y0 - cy - by,\n\t\t\tx, y;\n\t\tif (type === 0) {\n\t\t\tx = t === 0 ? x0 : t === 1 ? x3\n\t\t\t\t\t: ((ax * t + bx) * t + cx) * t + x0;\n\t\t\ty = t === 0 ? y0 : t === 1 ? y3\n\t\t\t\t\t: ((ay * t + by) * t + cy) * t + y0;\n\t\t} else {\n\t\t\tvar tMin = 1e-8,\n\t\t\t\ttMax = 1 - tMin;\n\t\t\tif (t < tMin) {\n\t\t\t\tx = cx;\n\t\t\t\ty = cy;\n\t\t\t} else if (t > tMax) {\n\t\t\t\tx = 3 * (x3 - x2);\n\t\t\t\ty = 3 * (y3 - y2);\n\t\t\t} else {\n\t\t\t\tx = (3 * ax * t + 2 * bx) * t + cx;\n\t\t\t\ty = (3 * ay * t + 2 * by) * t + cy;\n\t\t\t}\n\t\t\tif (normalized) {\n\t\t\t\tif (x === 0 && y === 0 && (t < tMin || t > tMax)) {\n\t\t\t\t\tx = x2 - x1;\n\t\t\t\t\ty = y2 - y1;\n\t\t\t\t}\n\t\t\t\tvar len = Math.sqrt(x * x + y * y);\n\t\t\t\tif (len) {\n\t\t\t\t\tx /= len;\n\t\t\t\t\ty /= len;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (type === 3) {\n\t\t\t\tvar x2 = 6 * ax * t + 2 * bx,\n\t\t\t\t\ty2 = 6 * ay * t + 2 * by,\n\t\t\t\t\td = Math.pow(x * x + y * y, 3 / 2);\n\t\t\t\tx = d !== 0 ? (x * y2 - y * x2) / d : 0;\n\t\t\t\ty = 0;\n\t\t\t}\n\t\t}\n\t\treturn type === 2 ? new Point(y, -x) : new Point(x, y);\n\t}\n\n\treturn { statics: {\n\n\t\tclassify: function(v) {\n\n\t\t\tvar x0 = v[0], y0 = v[1],\n\t\t\t\tx1 = v[2], y1 = v[3],\n\t\t\t\tx2 = v[4], y2 = v[5],\n\t\t\t\tx3 = v[6], y3 = v[7],\n\t\t\t\ta1 = x0 * (y3 - y2) + y0 * (x2 - x3) + x3 * y2 - y3 * x2,\n\t\t\t\ta2 = x1 * (y0 - y3) + y1 * (x3 - x0) + x0 * y3 - y0 * x3,\n\t\t\t\ta3 = x2 * (y1 - y0) + y2 * (x0 - x1) + x1 * y0 - y1 * x0,\n\t\t\t\td3 = 3 * a3,\n\t\t\t\td2 = d3 - a2,\n\t\t\t\td1 = d2 - a2 + a1,\n\t\t\t\tl = Math.sqrt(d1 * d1 + d2 * d2 + d3 * d3),\n\t\t\t\ts = l !== 0 ? 1 / l : 0,\n\t\t\t\tisZero = Numerical.isZero,\n\t\t\t\tserpentine = 'serpentine';\n\t\t\td1 *= s;\n\t\t\td2 *= s;\n\t\t\td3 *= s;\n\n\t\t\tfunction type(type, t1, t2) {\n\t\t\t\tvar hasRoots = t1 !== undefined,\n\t\t\t\t\tt1Ok = hasRoots && t1 > 0 && t1 < 1,\n\t\t\t\t\tt2Ok = hasRoots && t2 > 0 && t2 < 1;\n\t\t\t\tif (hasRoots && (!(t1Ok || t2Ok)\n\t\t\t\t\t\t|| type === 'loop' && !(t1Ok && t2Ok))) {\n\t\t\t\t\ttype = 'arch';\n\t\t\t\t\tt1Ok = t2Ok = false;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: type,\n\t\t\t\t\troots: t1Ok || t2Ok\n\t\t\t\t\t\t\t? t1Ok && t2Ok\n\t\t\t\t\t\t\t\t? t1 < t2 ? [t1, t2] : [t2, t1]\n\t\t\t\t\t\t\t\t: [t1Ok ? t1 : t2]\n\t\t\t\t\t\t\t: null\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (isZero(d1)) {\n\t\t\t\treturn isZero(d2)\n\t\t\t\t\t\t? type(isZero(d3) ? 'line' : 'quadratic')\n\t\t\t\t\t\t: type(serpentine, d3 / (3 * d2));\n\t\t\t}\n\t\t\tvar d = 3 * d2 * d2 - 4 * d1 * d3;\n\t\t\tif (isZero(d)) {\n\t\t\t\treturn type('cusp', d2 / (2 * d1));\n\t\t\t}\n\t\t\tvar f1 = d > 0 ? Math.sqrt(d / 3) : Math.sqrt(-d),\n\t\t\t\tf2 = 2 * d1;\n\t\t\treturn type(d > 0 ? serpentine : 'loop',\n\t\t\t\t\t(d2 + f1) / f2,\n\t\t\t\t\t(d2 - f1) / f2);\n\t\t},\n\n\t\tgetLength: function(v, a, b, ds) {\n\t\t\tif (a === undefined)\n\t\t\t\ta = 0;\n\t\t\tif (b === undefined)\n\t\t\t\tb = 1;\n\t\t\tif (Curve.isStraight(v)) {\n\t\t\t\tvar c = v;\n\t\t\t\tif (b < 1) {\n\t\t\t\t\tc = Curve.subdivide(c, b)[0];\n\t\t\t\t\ta /= b;\n\t\t\t\t}\n\t\t\t\tif (a > 0) {\n\t\t\t\t\tc = Curve.subdivide(c, a)[1];\n\t\t\t\t}\n\t\t\t\tvar dx = c[6] - c[0],\n\t\t\t\t\tdy = c[7] - c[1];\n\t\t\t\treturn Math.sqrt(dx * dx + dy * dy);\n\t\t\t}\n\t\t\treturn Numerical.integrate(ds || getLengthIntegrand(v), a, b,\n\t\t\t\t\tgetIterations(a, b));\n\t\t},\n\n\t\tgetTimeAt: function(v, offset, start) {\n\t\t\tif (start === undefined)\n\t\t\t\tstart = offset < 0 ? 1 : 0;\n\t\t\tif (offset === 0)\n\t\t\t\treturn start;\n\t\t\tvar abs = Math.abs,\n\t\t\t\tepsilon = 1e-12,\n\t\t\t\tforward = offset > 0,\n\t\t\t\ta = forward ? start : 0,\n\t\t\t\tb = forward ? 1 : start,\n\t\t\t\tds = getLengthIntegrand(v),\n\t\t\t\trangeLength = Curve.getLength(v, a, b, ds),\n\t\t\t\tdiff = abs(offset) - rangeLength;\n\t\t\tif (abs(diff) < epsilon) {\n\t\t\t\treturn forward ? b : a;\n\t\t\t} else if (diff > epsilon) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar guess = offset / rangeLength,\n\t\t\t\tlength = 0;\n\t\t\tfunction f(t) {\n\t\t\t\tlength += Numerical.integrate(ds, start, t,\n\t\t\t\t\t\tgetIterations(start, t));\n\t\t\t\tstart = t;\n\t\t\t\treturn length - offset;\n\t\t\t}\n\t\t\treturn Numerical.findRoot(f, ds, start + guess, a, b, 32,\n\t\t\t\t\t1e-12);\n\t\t},\n\n\t\tgetPoint: function(v, t) {\n\t\t\treturn evaluate(v, t, 0, false);\n\t\t},\n\n\t\tgetTangent: function(v, t) {\n\t\t\treturn evaluate(v, t, 1, true);\n\t\t},\n\n\t\tgetWeightedTangent: function(v, t) {\n\t\t\treturn evaluate(v, t, 1, false);\n\t\t},\n\n\t\tgetNormal: function(v, t) {\n\t\t\treturn evaluate(v, t, 2, true);\n\t\t},\n\n\t\tgetWeightedNormal: function(v, t) {\n\t\t\treturn evaluate(v, t, 2, false);\n\t\t},\n\n\t\tgetCurvature: function(v, t) {\n\t\t\treturn evaluate(v, t, 3, false).x;\n\t\t},\n\n\t\tgetPeaks: function(v) {\n\t\t\tvar x0 = v[0], y0 = v[1],\n\t\t\t\tx1 = v[2], y1 = v[3],\n\t\t\t\tx2 = v[4], y2 = v[5],\n\t\t\t\tx3 = v[6], y3 = v[7],\n\t\t\t\tax = -x0 + 3 * x1 - 3 * x2 + x3,\n\t\t\t\tbx = 3 * x0 - 6 * x1 + 3 * x2,\n\t\t\t\tcx = -3 * x0 + 3 * x1,\n\t\t\t\tay = -y0 + 3 * y1 - 3 * y2 + y3,\n\t\t\t\tby = 3 * y0 - 6 * y1 + 3 * y2,\n\t\t\t\tcy = -3 * y0 + 3 * y1,\n\t\t\t\ttMin = 1e-8,\n\t\t\t\ttMax = 1 - tMin,\n\t\t\t\troots = [];\n\t\t\tNumerical.solveCubic(\n\t\t\t\t\t9 * (ax * ax + ay * ay),\n\t\t\t\t\t9 * (ax * bx + by * ay),\n\t\t\t\t\t2 * (bx * bx + by * by) + 3 * (cx * ax + cy * ay),\n\t\t\t\t\t(cx * bx + by * cy),\n\t\t\t\t\troots, tMin, tMax);\n\t\t\treturn roots.sort();\n\t\t}\n\t}};\n},\nnew function() {\n\n\tfunction addLocation(locations, include, c1, t1, c2, t2, overlap) {\n\t\tvar excludeStart = !overlap && c1.getPrevious() === c2,\n\t\t\texcludeEnd = !overlap && c1 !== c2 && c1.getNext() === c2,\n\t\t\ttMin = 1e-8,\n\t\t\ttMax = 1 - tMin;\n\t\tif (t1 !== null && t1 >= (excludeStart ? tMin : 0) &&\n\t\t\tt1 <= (excludeEnd ? tMax : 1)) {\n\t\t\tif (t2 !== null && t2 >= (excludeEnd ? tMin : 0) &&\n\t\t\t\tt2 <= (excludeStart ? tMax : 1)) {\n\t\t\t\tvar loc1 = new CurveLocation(c1, t1, null, overlap),\n\t\t\t\t\tloc2 = new CurveLocation(c2, t2, null, overlap);\n\t\t\t\tloc1._intersection = loc2;\n\t\t\t\tloc2._intersection = loc1;\n\t\t\t\tif (!include || include(loc1)) {\n\t\t\t\t\tCurveLocation.insert(locations, loc1, true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addCurveIntersections(v1, v2, c1, c2, locations, include, flip,\n\t\t\trecursion, calls, tMin, tMax, uMin, uMax) {\n\t\tif (++calls >= 4096 || ++recursion >= 40)\n\t\t\treturn calls;\n\t\tvar fatLineEpsilon = 1e-9,\n\t\t\tq0x = v2[0], q0y = v2[1], q3x = v2[6], q3y = v2[7],\n\t\t\tgetSignedDistance = Line.getSignedDistance,\n\t\t\td1 = getSignedDistance(q0x, q0y, q3x, q3y, v2[2], v2[3]),\n\t\t\td2 = getSignedDistance(q0x, q0y, q3x, q3y, v2[4], v2[5]),\n\t\t\tfactor = d1 * d2 > 0 ? 3 / 4 : 4 / 9,\n\t\t\tdMin = factor * Math.min(0, d1, d2),\n\t\t\tdMax = factor * Math.max(0, d1, d2),\n\t\t\tdp0 = getSignedDistance(q0x, q0y, q3x, q3y, v1[0], v1[1]),\n\t\t\tdp1 = getSignedDistance(q0x, q0y, q3x, q3y, v1[2], v1[3]),\n\t\t\tdp2 = getSignedDistance(q0x, q0y, q3x, q3y, v1[4], v1[5]),\n\t\t\tdp3 = getSignedDistance(q0x, q0y, q3x, q3y, v1[6], v1[7]),\n\t\t\thull = getConvexHull(dp0, dp1, dp2, dp3),\n\t\t\ttop = hull[0],\n\t\t\tbottom = hull[1],\n\t\t\ttMinClip,\n\t\t\ttMaxClip;\n\t\tif (d1 === 0 && d2 === 0\n\t\t\t\t&& dp0 === 0 && dp1 === 0 && dp2 === 0 && dp3 === 0\n\t\t\t|| (tMinClip = clipConvexHull(top, bottom, dMin, dMax)) == null\n\t\t\t|| (tMaxClip = clipConvexHull(top.reverse(), bottom.reverse(),\n\t\t\t\tdMin, dMax)) == null)\n\t\t\treturn calls;\n\t\tvar tMinNew = tMin + (tMax - tMin) * tMinClip,\n\t\t\ttMaxNew = tMin + (tMax - tMin) * tMaxClip;\n\t\tif (Math.max(uMax - uMin, tMaxNew - tMinNew) < fatLineEpsilon) {\n\t\t\tvar t = (tMinNew + tMaxNew) / 2,\n\t\t\t\tu = (uMin + uMax) / 2;\n\t\t\taddLocation(locations, include,\n\t\t\t\t\tflip ? c2 : c1, flip ? u : t,\n\t\t\t\t\tflip ? c1 : c2, flip ? t : u);\n\t\t} else {\n\t\t\tv1 = Curve.getPart(v1, tMinClip, tMaxClip);\n\t\t\tif (tMaxClip - tMinClip > 0.8) {\n\t\t\t\tif (tMaxNew - tMinNew > uMax - uMin) {\n\t\t\t\t\tvar parts = Curve.subdivide(v1, 0.5),\n\t\t\t\t\t\tt = (tMinNew + tMaxNew) / 2;\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tv2, parts[0], c2, c1, locations, include, !flip,\n\t\t\t\t\t\t\trecursion, calls, uMin, uMax, tMinNew, t);\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tv2, parts[1], c2, c1, locations, include, !flip,\n\t\t\t\t\t\t\trecursion, calls, uMin, uMax, t, tMaxNew);\n\t\t\t\t} else {\n\t\t\t\t\tvar parts = Curve.subdivide(v2, 0.5),\n\t\t\t\t\t\tu = (uMin + uMax) / 2;\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tparts[0], v1, c2, c1, locations, include, !flip,\n\t\t\t\t\t\t\trecursion, calls, uMin, u, tMinNew, tMaxNew);\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tparts[1], v1, c2, c1, locations, include, !flip,\n\t\t\t\t\t\t\trecursion, calls, u, uMax, tMinNew, tMaxNew);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (uMax - uMin >= fatLineEpsilon) {\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tv2, v1, c2, c1, locations, include, !flip,\n\t\t\t\t\t\t\trecursion, calls, uMin, uMax, tMinNew, tMaxNew);\n\t\t\t\t} else {\n\t\t\t\t\tcalls = addCurveIntersections(\n\t\t\t\t\t\t\tv1, v2, c1, c2, locations, include, flip,\n\t\t\t\t\t\t\trecursion, calls, tMinNew, tMaxNew, uMin, uMax);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn calls;\n\t}\n\n\tfunction getConvexHull(dq0, dq1, dq2, dq3) {\n\t\tvar p0 = [ 0, dq0 ],\n\t\t\tp1 = [ 1 / 3, dq1 ],\n\t\t\tp2 = [ 2 / 3, dq2 ],\n\t\t\tp3 = [ 1, dq3 ],\n\t\t\tdist1 = dq1 - (2 * dq0 + dq3) / 3,\n\t\t\tdist2 = dq2 - (dq0 + 2 * dq3) / 3,\n\t\t\thull;\n\t\tif (dist1 * dist2 < 0) {\n\t\t\thull = [[p0, p1, p3], [p0, p2, p3]];\n\t\t} else {\n\t\t\tvar distRatio = dist1 / dist2;\n\t\t\thull = [\n\t\t\t\tdistRatio >= 2 ? [p0, p1, p3]\n\t\t\t\t: distRatio <= 0.5 ? [p0, p2, p3]\n\t\t\t\t: [p0, p1, p2, p3],\n\t\t\t\t[p0, p3]\n\t\t\t];\n\t\t}\n\t\treturn (dist1 || dist2) < 0 ? hull.reverse() : hull;\n\t}\n\n\tfunction clipConvexHull(hullTop, hullBottom, dMin, dMax) {\n\t\tif (hullTop[0][1] < dMin) {\n\t\t\treturn clipConvexHullPart(hullTop, true, dMin);\n\t\t} else if (hullBottom[0][1] > dMax) {\n\t\t\treturn clipConvexHullPart(hullBottom, false, dMax);\n\t\t} else {\n\t\t\treturn hullTop[0][0];\n\t\t}\n\t}\n\n\tfunction clipConvexHullPart(part, top, threshold) {\n\t\tvar px = part[0][0],\n\t\t\tpy = part[0][1];\n\t\tfor (var i = 1, l = part.length; i < l; i++) {\n\t\t\tvar qx = part[i][0],\n\t\t\t\tqy = part[i][1];\n\t\t\tif (top ? qy >= threshold : qy <= threshold) {\n\t\t\t\treturn qy === threshold ? qx\n\t\t\t\t\t\t: px + (threshold - py) * (qx - px) / (qy - py);\n\t\t\t}\n\t\t\tpx = qx;\n\t\t\tpy = qy;\n\t\t}\n\t\treturn null;\n\t}\n\n\tfunction getCurveLineIntersections(v, px, py, vx, vy) {\n\t\tvar isZero = Numerical.isZero;\n\t\tif (isZero(vx) && isZero(vy)) {\n\t\t\tvar t = Curve.getTimeOf(v, new Point(px, py));\n\t\t\treturn t === null ? [] : [t];\n\t\t}\n\t\tvar angle = Math.atan2(-vy, vx),\n\t\t\tsin = Math.sin(angle),\n\t\t\tcos = Math.cos(angle),\n\t\t\trv = [],\n\t\t\troots = [];\n\t\tfor (var i = 0; i < 8; i += 2) {\n\t\t\tvar x = v[i] - px,\n\t\t\t\ty = v[i + 1] - py;\n\t\t\trv.push(\n\t\t\t\tx * cos - y * sin,\n\t\t\t\tx * sin + y * cos);\n\t\t}\n\t\tCurve.solveCubic(rv, 1, 0, roots, 0, 1);\n\t\treturn roots;\n\t}\n\n\tfunction addCurveLineIntersections(v1, v2, c1, c2, locations, include,\n\t\t\tflip) {\n\t\tvar x1 = v2[0], y1 = v2[1],\n\t\t\tx2 = v2[6], y2 = v2[7],\n\t\t\troots = getCurveLineIntersections(v1, x1, y1, x2 - x1, y2 - y1);\n\t\tfor (var i = 0, l = roots.length; i < l; i++) {\n\t\t\tvar t1 = roots[i],\n\t\t\t\tp1 = Curve.getPoint(v1, t1),\n\t\t\t\tt2 = Curve.getTimeOf(v2, p1);\n\t\t\tif (t2 !== null) {\n\t\t\t\taddLocation(locations, include,\n\t\t\t\t\t\tflip ? c2 : c1, flip ? t2 : t1,\n\t\t\t\t\t\tflip ? c1 : c2, flip ? t1 : t2);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction addLineIntersection(v1, v2, c1, c2, locations, include) {\n\t\tvar pt = Line.intersect(\n\t\t\t\tv1[0], v1[1], v1[6], v1[7],\n\t\t\t\tv2[0], v2[1], v2[6], v2[7]);\n\t\tif (pt) {\n\t\t\taddLocation(locations, include,\n\t\t\t\t\tc1, Curve.getTimeOf(v1, pt),\n\t\t\t\t\tc2, Curve.getTimeOf(v2, pt));\n\t\t}\n\t}\n\n\tfunction getCurveIntersections(v1, v2, c1, c2, locations, include) {\n\t\tvar epsilon = 1e-12,\n\t\t\tmin = Math.min,\n\t\t\tmax = Math.max;\n\n\t\tif (max(v1[0], v1[2], v1[4], v1[6]) + epsilon >\n\t\t\tmin(v2[0], v2[2], v2[4], v2[6]) &&\n\t\t\tmin(v1[0], v1[2], v1[4], v1[6]) - epsilon <\n\t\t\tmax(v2[0], v2[2], v2[4], v2[6]) &&\n\t\t\tmax(v1[1], v1[3], v1[5], v1[7]) + epsilon >\n\t\t\tmin(v2[1], v2[3], v2[5], v2[7]) &&\n\t\t\tmin(v1[1], v1[3], v1[5], v1[7]) - epsilon <\n\t\t\tmax(v2[1], v2[3], v2[5], v2[7])) {\n\t\t\tvar overlaps = getOverlaps(v1, v2);\n\t\t\tif (overlaps) {\n\t\t\t\tfor (var i = 0; i < 2; i++) {\n\t\t\t\t\tvar overlap = overlaps[i];\n\t\t\t\t\taddLocation(locations, include,\n\t\t\t\t\t\t\tc1, overlap[0],\n\t\t\t\t\t\t\tc2, overlap[1], true);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar straight1 = Curve.isStraight(v1),\n\t\t\t\t\tstraight2 = Curve.isStraight(v2),\n\t\t\t\t\tstraight = straight1 && straight2,\n\t\t\t\t\tflip = straight1 && !straight2,\n\t\t\t\t\tbefore = locations.length;\n\t\t\t\t(straight\n\t\t\t\t\t? addLineIntersection\n\t\t\t\t\t: straight1 || straight2\n\t\t\t\t\t\t? addCurveLineIntersections\n\t\t\t\t\t\t: addCurveIntersections)(\n\t\t\t\t\t\t\tflip ? v2 : v1, flip ? v1 : v2,\n\t\t\t\t\t\t\tflip ? c2 : c1, flip ? c1 : c2,\n\t\t\t\t\t\t\tlocations, include, flip,\n\t\t\t\t\t\t\t0, 0, 0, 1, 0, 1);\n\t\t\t\tif (!straight || locations.length === before) {\n\t\t\t\t\tfor (var i = 0; i < 4; i++) {\n\t\t\t\t\t\tvar t1 = i >> 1,\n\t\t\t\t\t\t\tt2 = i & 1,\n\t\t\t\t\t\t\ti1 = t1 * 6,\n\t\t\t\t\t\t\ti2 = t2 * 6,\n\t\t\t\t\t\t\tp1 = new Point(v1[i1], v1[i1 + 1]),\n\t\t\t\t\t\t\tp2 = new Point(v2[i2], v2[i2 + 1]);\n\t\t\t\t\t\tif (p1.isClose(p2, epsilon)) {\n\t\t\t\t\t\t\taddLocation(locations, include,\n\t\t\t\t\t\t\t\t\tc1, t1,\n\t\t\t\t\t\t\t\t\tc2, t2);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn locations;\n\t}\n\n\tfunction getLoopIntersection(v1, c1, locations, include) {\n\t\tvar info = Curve.classify(v1);\n\t\tif (info.type === 'loop') {\n\t\t\tvar roots = info.roots;\n\t\t\taddLocation(locations, include,\n\t\t\t\t\tc1, roots[0],\n\t\t\t\t\tc1, roots[1]);\n\t\t}\n\t return locations;\n\t}\n\n\tfunction getIntersections(curves1, curves2, include, matrix1, matrix2,\n\t\t\t_returnFirst) {\n\t\tvar self = !curves2;\n\t\tif (self)\n\t\t\tcurves2 = curves1;\n\t\tvar length1 = curves1.length,\n\t\t\tlength2 = curves2.length,\n\t\t\tvalues2 = [],\n\t\t\tarrays = [],\n\t\t\tlocations,\n\t\t\tcurrent;\n\t\tfor (var i = 0; i < length2; i++)\n\t\t\tvalues2[i] = curves2[i].getValues(matrix2);\n\t\tfor (var i = 0; i < length1; i++) {\n\t\t\tvar curve1 = curves1[i],\n\t\t\t\tvalues1 = self ? values2[i] : curve1.getValues(matrix1),\n\t\t\t\tpath1 = curve1.getPath();\n\t\t\tif (path1 !== current) {\n\t\t\t\tcurrent = path1;\n\t\t\t\tlocations = [];\n\t\t\t\tarrays.push(locations);\n\t\t\t}\n\t\t\tif (self) {\n\t\t\t\tgetLoopIntersection(values1, curve1, locations, include);\n\t\t\t}\n\t\t\tfor (var j = self ? i + 1 : 0; j < length2; j++) {\n\t\t\t\tif (_returnFirst && locations.length)\n\t\t\t\t\treturn locations;\n\t\t\t\tgetCurveIntersections(values1, values2[j], curve1, curves2[j],\n\t\t\t\t\t\tlocations, include);\n\t\t\t}\n\t\t}\n\t\tlocations = [];\n\t\tfor (var i = 0, l = arrays.length; i < l; i++) {\n\t\t\tBase.push(locations, arrays[i]);\n\t\t}\n\t\treturn locations;\n\t}\n\n\tfunction getOverlaps(v1, v2) {\n\n\t\tfunction getSquaredLineLength(v) {\n\t\t\tvar x = v[6] - v[0],\n\t\t\t\ty = v[7] - v[1];\n\t\t\treturn x * x + y * y;\n\t\t}\n\n\t\tvar abs = Math.abs,\n\t\t\tgetDistance = Line.getDistance,\n\t\t\ttimeEpsilon = 1e-8,\n\t\t\tgeomEpsilon = 1e-7,\n\t\t\tstraight1 = Curve.isStraight(v1),\n\t\t\tstraight2 = Curve.isStraight(v2),\n\t\t\tstraightBoth = straight1 && straight2,\n\t\t\tflip = getSquaredLineLength(v1) < getSquaredLineLength(v2),\n\t\t\tl1 = flip ? v2 : v1,\n\t\t\tl2 = flip ? v1 : v2,\n\t\t\tpx = l1[0], py = l1[1],\n\t\t\tvx = l1[6] - px, vy = l1[7] - py;\n\t\tif (getDistance(px, py, vx, vy, l2[0], l2[1], true) < geomEpsilon &&\n\t\t\tgetDistance(px, py, vx, vy, l2[6], l2[7], true) < geomEpsilon) {\n\t\t\tif (!straightBoth &&\n\t\t\t\tgetDistance(px, py, vx, vy, l1[2], l1[3], true) < geomEpsilon &&\n\t\t\t\tgetDistance(px, py, vx, vy, l1[4], l1[5], true) < geomEpsilon &&\n\t\t\t\tgetDistance(px, py, vx, vy, l2[2], l2[3], true) < geomEpsilon &&\n\t\t\t\tgetDistance(px, py, vx, vy, l2[4], l2[5], true) < geomEpsilon) {\n\t\t\t\tstraight1 = straight2 = straightBoth = true;\n\t\t\t}\n\t\t} else if (straightBoth) {\n\t\t\treturn null;\n\t\t}\n\t\tif (straight1 ^ straight2) {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar v = [v1, v2],\n\t\t\tpairs = [];\n\t\tfor (var i = 0; i < 4 && pairs.length < 2; i++) {\n\t\t\tvar i1 = i & 1,\n\t\t\t\ti2 = i1 ^ 1,\n\t\t\t\tt1 = i >> 1,\n\t\t\t\tt2 = Curve.getTimeOf(v[i1], new Point(\n\t\t\t\t\tv[i2][t1 ? 6 : 0],\n\t\t\t\t\tv[i2][t1 ? 7 : 1]));\n\t\t\tif (t2 != null) {\n\t\t\t\tvar pair = i1 ? [t1, t2] : [t2, t1];\n\t\t\t\tif (!pairs.length ||\n\t\t\t\t\tabs(pair[0] - pairs[0][0]) > timeEpsilon &&\n\t\t\t\t\tabs(pair[1] - pairs[0][1]) > timeEpsilon) {\n\t\t\t\t\tpairs.push(pair);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (i > 2 && !pairs.length)\n\t\t\t\tbreak;\n\t\t}\n\t\tif (pairs.length !== 2) {\n\t\t\tpairs = null;\n\t\t} else if (!straightBoth) {\n\t\t\tvar o1 = Curve.getPart(v1, pairs[0][0], pairs[1][0]),\n\t\t\t\to2 = Curve.getPart(v2, pairs[0][1], pairs[1][1]);\n\t\t\tif (abs(o2[2] - o1[2]) > geomEpsilon ||\n\t\t\t\tabs(o2[3] - o1[3]) > geomEpsilon ||\n\t\t\t\tabs(o2[4] - o1[4]) > geomEpsilon ||\n\t\t\t\tabs(o2[5] - o1[5]) > geomEpsilon)\n\t\t\t\tpairs = null;\n\t\t}\n\t\treturn pairs;\n\t}\n\n\tfunction getTimesWithTangent(v, tangent) {\n\t\tvar x0 = v[0], y0 = v[1],\n\t\t\tx1 = v[2], y1 = v[3],\n\t\t\tx2 = v[4], y2 = v[5],\n\t\t\tx3 = v[6], y3 = v[7],\n\t\t\tnormalized = tangent.normalize(),\n\t\t\ttx = normalized.x,\n\t\t\tty = normalized.y,\n\t\t\tax = 3 * x3 - 9 * x2 + 9 * x1 - 3 * x0,\n\t\t\tay = 3 * y3 - 9 * y2 + 9 * y1 - 3 * y0,\n\t\t\tbx = 6 * x2 - 12 * x1 + 6 * x0,\n\t\t\tby = 6 * y2 - 12 * y1 + 6 * y0,\n\t\t\tcx = 3 * x1 - 3 * x0,\n\t\t\tcy = 3 * y1 - 3 * y0,\n\t\t\tden = 2 * ax * ty - 2 * ay * tx,\n\t\t\ttimes = [];\n\t\tif (Math.abs(den) < Numerical.CURVETIME_EPSILON) {\n\t\t\tvar num = ax * cy - ay * cx,\n\t\t\t\tden = ax * by - ay * bx;\n\t\t\tif (den != 0) {\n\t\t\t\tvar t = -num / den;\n\t\t\t\tif (t >= 0 && t <= 1) times.push(t);\n\t\t\t}\n\t\t} else {\n\t\t\tvar delta = (bx * bx - 4 * ax * cx) * ty * ty +\n\t\t\t\t(-2 * bx * by + 4 * ay * cx + 4 * ax * cy) * tx * ty +\n\t\t\t\t(by * by - 4 * ay * cy) * tx * tx,\n\t\t\t\tk = bx * ty - by * tx;\n\t\t\tif (delta >= 0 && den != 0) {\n\t\t\t\tvar d = Math.sqrt(delta),\n\t\t\t\t\tt0 = -(k + d) / den,\n\t\t\t\t\tt1 = (-k + d) / den;\n\t\t\t\tif (t0 >= 0 && t0 <= 1) times.push(t0);\n\t\t\t\tif (t1 >= 0 && t1 <= 1) times.push(t1);\n\t\t\t}\n\t\t}\n\t\treturn times;\n\t}\n\n\treturn {\n\t\tgetIntersections: function(curve) {\n\t\t\tvar v1 = this.getValues(),\n\t\t\t\tv2 = curve && curve !== this && curve.getValues();\n\t\t\treturn v2 ? getCurveIntersections(v1, v2, this, curve, [])\n\t\t\t\t\t : getLoopIntersection(v1, this, []);\n\t\t},\n\n\t\tstatics: {\n\t\t\tgetOverlaps: getOverlaps,\n\t\t\tgetIntersections: getIntersections,\n\t\t\tgetCurveLineIntersections: getCurveLineIntersections,\n\t\t\tgetTimesWithTangent: getTimesWithTangent\n\t\t}\n\t};\n});\n\nvar CurveLocation = Base.extend({\n\t_class: 'CurveLocation',\n\n\tinitialize: function CurveLocation(curve, time, point, _overlap, _distance) {\n\t\tif (time >= 0.99999999) {\n\t\t\tvar next = curve.getNext();\n\t\t\tif (next) {\n\t\t\t\ttime = 0;\n\t\t\t\tcurve = next;\n\t\t\t}\n\t\t}\n\t\tthis._setCurve(curve);\n\t\tthis._time = time;\n\t\tthis._point = point || curve.getPointAtTime(time);\n\t\tthis._overlap = _overlap;\n\t\tthis._distance = _distance;\n\t\tthis._intersection = this._next = this._previous = null;\n\t},\n\n\t_setCurve: function(curve) {\n\t\tvar path = curve._path;\n\t\tthis._path = path;\n\t\tthis._version = path ? path._version : 0;\n\t\tthis._curve = curve;\n\t\tthis._segment = null;\n\t\tthis._segment1 = curve._segment1;\n\t\tthis._segment2 = curve._segment2;\n\t},\n\n\t_setSegment: function(segment) {\n\t\tthis._setCurve(segment.getCurve());\n\t\tthis._segment = segment;\n\t\tthis._time = segment === this._segment1 ? 0 : 1;\n\t\tthis._point = segment._point.clone();\n\t},\n\n\tgetSegment: function() {\n\t\tvar segment = this._segment;\n\t\tif (!segment) {\n\t\t\tvar curve = this.getCurve(),\n\t\t\t\ttime = this.getTime();\n\t\t\tif (time === 0) {\n\t\t\t\tsegment = curve._segment1;\n\t\t\t} else if (time === 1) {\n\t\t\t\tsegment = curve._segment2;\n\t\t\t} else if (time != null) {\n\t\t\t\tsegment = curve.getPartLength(0, time)\n\t\t\t\t\t< curve.getPartLength(time, 1)\n\t\t\t\t\t\t? curve._segment1\n\t\t\t\t\t\t: curve._segment2;\n\t\t\t}\n\t\t\tthis._segment = segment;\n\t\t}\n\t\treturn segment;\n\t},\n\n\tgetCurve: function() {\n\t\tvar path = this._path,\n\t\t\tthat = this;\n\t\tif (path && path._version !== this._version) {\n\t\t\tthis._time = this._offset = this._curveOffset = this._curve = null;\n\t\t}\n\n\t\tfunction trySegment(segment) {\n\t\t\tvar curve = segment && segment.getCurve();\n\t\t\tif (curve && (that._time = curve.getTimeOf(that._point)) != null) {\n\t\t\t\tthat._setCurve(curve);\n\t\t\t\treturn curve;\n\t\t\t}\n\t\t}\n\n\t\treturn this._curve\n\t\t\t|| trySegment(this._segment)\n\t\t\t|| trySegment(this._segment1)\n\t\t\t|| trySegment(this._segment2.getPrevious());\n\t},\n\n\tgetPath: function() {\n\t\tvar curve = this.getCurve();\n\t\treturn curve && curve._path;\n\t},\n\n\tgetIndex: function() {\n\t\tvar curve = this.getCurve();\n\t\treturn curve && curve.getIndex();\n\t},\n\n\tgetTime: function() {\n\t\tvar curve = this.getCurve(),\n\t\t\ttime = this._time;\n\t\treturn curve && time == null\n\t\t\t? this._time = curve.getTimeOf(this._point)\n\t\t\t: time;\n\t},\n\n\tgetParameter: '#getTime',\n\n\tgetPoint: function() {\n\t\treturn this._point;\n\t},\n\n\tgetOffset: function() {\n\t\tvar offset = this._offset;\n\t\tif (offset == null) {\n\t\t\toffset = 0;\n\t\t\tvar path = this.getPath(),\n\t\t\t\tindex = this.getIndex();\n\t\t\tif (path && index != null) {\n\t\t\t\tvar curves = path.getCurves();\n\t\t\t\tfor (var i = 0; i < index; i++)\n\t\t\t\t\toffset += curves[i].getLength();\n\t\t\t}\n\t\t\tthis._offset = offset += this.getCurveOffset();\n\t\t}\n\t\treturn offset;\n\t},\n\n\tgetCurveOffset: function() {\n\t\tvar offset = this._curveOffset;\n\t\tif (offset == null) {\n\t\t\tvar curve = this.getCurve(),\n\t\t\t\ttime = this.getTime();\n\t\t\tthis._curveOffset = offset = time != null && curve\n\t\t\t\t\t&& curve.getPartLength(0, time);\n\t\t}\n\t\treturn offset;\n\t},\n\n\tgetIntersection: function() {\n\t\treturn this._intersection;\n\t},\n\n\tgetDistance: function() {\n\t\treturn this._distance;\n\t},\n\n\tdivide: function() {\n\t\tvar curve = this.getCurve(),\n\t\t\tres = curve && curve.divideAtTime(this.getTime());\n\t\tif (res) {\n\t\t\tthis._setSegment(res._segment1);\n\t\t}\n\t\treturn res;\n\t},\n\n\tsplit: function() {\n\t\tvar curve = this.getCurve(),\n\t\t\tpath = curve._path,\n\t\t\tres = curve && curve.splitAtTime(this.getTime());\n\t\tif (res) {\n\t\t\tthis._setSegment(path.getLastSegment());\n\t\t}\n\t\treturn res;\n\t},\n\n\tequals: function(loc, _ignoreOther) {\n\t\tvar res = this === loc;\n\t\tif (!res && loc instanceof CurveLocation) {\n\t\t\tvar c1 = this.getCurve(),\n\t\t\t\tc2 = loc.getCurve(),\n\t\t\t\tp1 = c1._path,\n\t\t\t\tp2 = c2._path;\n\t\t\tif (p1 === p2) {\n\t\t\t\tvar abs = Math.abs,\n\t\t\t\t\tepsilon = 1e-7,\n\t\t\t\t\tdiff = abs(this.getOffset() - loc.getOffset()),\n\t\t\t\t\ti1 = !_ignoreOther && this._intersection,\n\t\t\t\t\ti2 = !_ignoreOther && loc._intersection;\n\t\t\t\tres = (diff < epsilon\n\t\t\t\t\t\t|| p1 && abs(p1.getLength() - diff) < epsilon)\n\t\t\t\t\t&& (!i1 && !i2 || i1 && i2 && i1.equals(i2, true));\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t},\n\n\ttoString: function() {\n\t\tvar parts = [],\n\t\t\tpoint = this.getPoint(),\n\t\t\tf = Formatter.instance;\n\t\tif (point)\n\t\t\tparts.push('point: ' + point);\n\t\tvar index = this.getIndex();\n\t\tif (index != null)\n\t\t\tparts.push('index: ' + index);\n\t\tvar time = this.getTime();\n\t\tif (time != null)\n\t\t\tparts.push('time: ' + f.number(time));\n\t\tif (this._distance != null)\n\t\t\tparts.push('distance: ' + f.number(this._distance));\n\t\treturn '{ ' + parts.join(', ') + ' }';\n\t},\n\n\tisTouching: function() {\n\t\tvar inter = this._intersection;\n\t\tif (inter && this.getTangent().isCollinear(inter.getTangent())) {\n\t\t\tvar curve1 = this.getCurve(),\n\t\t\t\tcurve2 = inter.getCurve();\n\t\t\treturn !(curve1.isStraight() && curve2.isStraight()\n\t\t\t\t\t&& curve1.getLine().intersect(curve2.getLine()));\n\t\t}\n\t\treturn false;\n\t},\n\n\tisCrossing: function() {\n\t\tvar inter = this._intersection;\n\t\tif (!inter)\n\t\t\treturn false;\n\t\tvar t1 = this.getTime(),\n\t\t\tt2 = inter.getTime(),\n\t\t\ttMin = 1e-8,\n\t\t\ttMax = 1 - tMin,\n\t\t\tt1Inside = t1 >= tMin && t1 <= tMax,\n\t\t\tt2Inside = t2 >= tMin && t2 <= tMax;\n\t\tif (t1Inside && t2Inside)\n\t\t\treturn !this.isTouching();\n\t\tvar c2 = this.getCurve(),\n\t\t\tc1 = t1 < tMin ? c2.getPrevious() : c2,\n\t\t\tc4 = inter.getCurve(),\n\t\t\tc3 = t2 < tMin ? c4.getPrevious() : c4;\n\t\tif (t1 > tMax)\n\t\t\tc2 = c2.getNext();\n\t\tif (t2 > tMax)\n\t\t\tc4 = c4.getNext();\n\t\tif (!c1 || !c2 || !c3 || !c4)\n\t\t\treturn false;\n\n\t\tvar offsets = [];\n\n\t\tfunction addOffsets(curve, end) {\n\t\t\tvar v = curve.getValues(),\n\t\t\t\troots = Curve.classify(v).roots || Curve.getPeaks(v),\n\t\t\t\tcount = roots.length,\n\t\t\t\tt = end && count > 1 ? roots[count - 1]\n\t\t\t\t\t\t: count > 0 ? roots[0]\n\t\t\t\t\t\t: 0.5;\n\t\t\toffsets.push(Curve.getLength(v, end ? t : 0, end ? 1 : t) / 2);\n\t\t}\n\n\t\tfunction isInRange(angle, min, max) {\n\t\t\treturn min < max\n\t\t\t\t\t? angle > min && angle < max\n\t\t\t\t\t: angle > min || angle < max;\n\t\t}\n\n\t\tif (!t1Inside) {\n\t\t\taddOffsets(c1, true);\n\t\t\taddOffsets(c2, false);\n\t\t}\n\t\tif (!t2Inside) {\n\t\t\taddOffsets(c3, true);\n\t\t\taddOffsets(c4, false);\n\t\t}\n\t\tvar pt = this.getPoint(),\n\t\t\toffset = Math.min.apply(Math, offsets),\n\t\t\tv2 = t1Inside ? c2.getTangentAtTime(t1)\n\t\t\t\t\t: c2.getPointAt(offset).subtract(pt),\n\t\t\tv1 = t1Inside ? v2.negate()\n\t\t\t\t\t: c1.getPointAt(-offset).subtract(pt),\n\t\t\tv4 = t2Inside ? c4.getTangentAtTime(t2)\n\t\t\t\t\t: c4.getPointAt(offset).subtract(pt),\n\t\t\tv3 = t2Inside ? v4.negate()\n\t\t\t\t\t: c3.getPointAt(-offset).subtract(pt),\n\t\t\ta1 = v1.getAngle(),\n\t\t\ta2 = v2.getAngle(),\n\t\t\ta3 = v3.getAngle(),\n\t\t\ta4 = v4.getAngle();\n\t\treturn !!(t1Inside\n\t\t\t\t? (isInRange(a1, a3, a4) ^ isInRange(a2, a3, a4)) &&\n\t\t\t\t (isInRange(a1, a4, a3) ^ isInRange(a2, a4, a3))\n\t\t\t\t: (isInRange(a3, a1, a2) ^ isInRange(a4, a1, a2)) &&\n\t\t\t\t (isInRange(a3, a2, a1) ^ isInRange(a4, a2, a1)));\n\t},\n\n\thasOverlap: function() {\n\t\treturn !!this._overlap;\n\t}\n}, Base.each(Curve._evaluateMethods, function(name) {\n\tvar get = name + 'At';\n\tthis[name] = function() {\n\t\tvar curve = this.getCurve(),\n\t\t\ttime = this.getTime();\n\t\treturn time != null && curve && curve[get](time, true);\n\t};\n}, {\n\tpreserve: true\n}),\nnew function() {\n\n\tfunction insert(locations, loc, merge) {\n\t\tvar length = locations.length,\n\t\t\tl = 0,\n\t\t\tr = length - 1;\n\n\t\tfunction search(index, dir) {\n\t\t\tfor (var i = index + dir; i >= -1 && i <= length; i += dir) {\n\t\t\t\tvar loc2 = locations[((i % length) + length) % length];\n\t\t\t\tif (!loc.getPoint().isClose(loc2.getPoint(),\n\t\t\t\t\t\t1e-7))\n\t\t\t\t\tbreak;\n\t\t\t\tif (loc.equals(loc2))\n\t\t\t\t\treturn loc2;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\n\t\twhile (l <= r) {\n\t\t\tvar m = (l + r) >>> 1,\n\t\t\t\tloc2 = locations[m],\n\t\t\t\tfound;\n\t\t\tif (merge && (found = loc.equals(loc2) ? loc2\n\t\t\t\t\t: (search(m, -1) || search(m, 1)))) {\n\t\t\t\tif (loc._overlap) {\n\t\t\t\t\tfound._overlap = found._intersection._overlap = true;\n\t\t\t\t}\n\t\t\t\treturn found;\n\t\t\t}\n\t\tvar path1 = loc.getPath(),\n\t\t\tpath2 = loc2.getPath(),\n\t\t\tdiff = path1 !== path2\n\t\t\t\t? path1._id - path2._id\n\t\t\t\t: (loc.getIndex() + loc.getTime())\n\t\t\t\t- (loc2.getIndex() + loc2.getTime());\n\t\t\tif (diff < 0) {\n\t\t\t\tr = m - 1;\n\t\t\t} else {\n\t\t\t\tl = m + 1;\n\t\t\t}\n\t\t}\n\t\tlocations.splice(l, 0, loc);\n\t\treturn loc;\n\t}\n\n\treturn { statics: {\n\t\tinsert: insert,\n\n\t\texpand: function(locations) {\n\t\t\tvar expanded = locations.slice();\n\t\t\tfor (var i = locations.length - 1; i >= 0; i--) {\n\t\t\t\tinsert(expanded, locations[i]._intersection, false);\n\t\t\t}\n\t\t\treturn expanded;\n\t\t}\n\t}};\n});\n\nvar PathItem = Item.extend({\n\t_class: 'PathItem',\n\t_selectBounds: false,\n\t_canScaleStroke: true,\n\tbeans: true,\n\n\tinitialize: function PathItem() {\n\t},\n\n\tstatics: {\n\t\tcreate: function(arg) {\n\t\t\tvar data,\n\t\t\t\tsegments,\n\t\t\t\tcompound;\n\t\t\tif (Base.isPlainObject(arg)) {\n\t\t\t\tsegments = arg.segments;\n\t\t\t\tdata = arg.pathData;\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tsegments = arg;\n\t\t\t} else if (typeof arg === 'string') {\n\t\t\t\tdata = arg;\n\t\t\t}\n\t\t\tif (segments) {\n\t\t\t\tvar first = segments[0];\n\t\t\t\tcompound = first && Array.isArray(first[0]);\n\t\t\t} else if (data) {\n\t\t\t\tcompound = (data.match(/m/gi) || []).length > 1\n\t\t\t\t\t\t|| /z\\s*\\S+/i.test(data);\n\t\t\t}\n\t\t\tvar ctor = compound ? CompoundPath : Path;\n\t\t\treturn new ctor(arg);\n\t\t}\n\t},\n\n\t_asPathItem: function() {\n\t\treturn this;\n\t},\n\n\tisClockwise: function() {\n\t\treturn this.getArea() >= 0;\n\t},\n\n\tsetClockwise: function(clockwise) {\n\t\tif (this.isClockwise() != (clockwise = !!clockwise))\n\t\t\tthis.reverse();\n\t},\n\n\tsetPathData: function(data) {\n\n\t\tvar parts = data && data.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/ig),\n\t\t\tcoords,\n\t\t\trelative = false,\n\t\t\tprevious,\n\t\t\tcontrol,\n\t\t\tcurrent = new Point(),\n\t\t\tstart = new Point();\n\n\t\tfunction getCoord(index, coord) {\n\t\t\tvar val = +coords[index];\n\t\t\tif (relative)\n\t\t\t\tval += current[coord];\n\t\t\treturn val;\n\t\t}\n\n\t\tfunction getPoint(index) {\n\t\t\treturn new Point(\n\t\t\t\tgetCoord(index, 'x'),\n\t\t\t\tgetCoord(index + 1, 'y')\n\t\t\t);\n\t\t}\n\n\t\tthis.clear();\n\n\t\tfor (var i = 0, l = parts && parts.length; i < l; i++) {\n\t\t\tvar part = parts[i],\n\t\t\t\tcommand = part[0],\n\t\t\t\tlower = command.toLowerCase();\n\t\t\tcoords = part.match(/[+-]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?/g);\n\t\t\tvar length = coords && coords.length;\n\t\t\trelative = command === lower;\n\t\t\tif (previous === 'z' && !/[mz]/.test(lower))\n\t\t\t\tthis.moveTo(current);\n\t\t\tswitch (lower) {\n\t\t\tcase 'm':\n\t\t\tcase 'l':\n\t\t\t\tvar move = lower === 'm';\n\t\t\t\tfor (var j = 0; j < length; j += 2) {\n\t\t\t\t\tthis[move ? 'moveTo' : 'lineTo'](current = getPoint(j));\n\t\t\t\t\tif (move) {\n\t\t\t\t\t\tstart = current;\n\t\t\t\t\t\tmove = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontrol = current;\n\t\t\t\tbreak;\n\t\t\tcase 'h':\n\t\t\tcase 'v':\n\t\t\t\tvar coord = lower === 'h' ? 'x' : 'y';\n\t\t\t\tcurrent = current.clone();\n\t\t\t\tfor (var j = 0; j < length; j++) {\n\t\t\t\t\tcurrent[coord] = getCoord(j, coord);\n\t\t\t\t\tthis.lineTo(current);\n\t\t\t\t}\n\t\t\t\tcontrol = current;\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\t\tfor (var j = 0; j < length; j += 6) {\n\t\t\t\t\tthis.cubicCurveTo(\n\t\t\t\t\t\t\tgetPoint(j),\n\t\t\t\t\t\t\tcontrol = getPoint(j + 2),\n\t\t\t\t\t\t\tcurrent = getPoint(j + 4));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 's':\n\t\t\t\tfor (var j = 0; j < length; j += 4) {\n\t\t\t\t\tthis.cubicCurveTo(\n\t\t\t\t\t\t\t/[cs]/.test(previous)\n\t\t\t\t\t\t\t\t\t? current.multiply(2).subtract(control)\n\t\t\t\t\t\t\t\t\t: current,\n\t\t\t\t\t\t\tcontrol = getPoint(j),\n\t\t\t\t\t\t\tcurrent = getPoint(j + 2));\n\t\t\t\t\tprevious = lower;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'q':\n\t\t\t\tfor (var j = 0; j < length; j += 4) {\n\t\t\t\t\tthis.quadraticCurveTo(\n\t\t\t\t\t\t\tcontrol = getPoint(j),\n\t\t\t\t\t\t\tcurrent = getPoint(j + 2));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 't':\n\t\t\t\tfor (var j = 0; j < length; j += 2) {\n\t\t\t\t\tthis.quadraticCurveTo(\n\t\t\t\t\t\t\tcontrol = (/[qt]/.test(previous)\n\t\t\t\t\t\t\t\t\t? current.multiply(2).subtract(control)\n\t\t\t\t\t\t\t\t\t: current),\n\t\t\t\t\t\t\tcurrent = getPoint(j));\n\t\t\t\t\tprevious = lower;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'a':\n\t\t\t\tfor (var j = 0; j < length; j += 7) {\n\t\t\t\t\tthis.arcTo(current = getPoint(j + 5),\n\t\t\t\t\t\t\tnew Size(+coords[j], +coords[j + 1]),\n\t\t\t\t\t\t\t+coords[j + 2], +coords[j + 4], +coords[j + 3]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'z':\n\t\t\t\tthis.closePath(1e-12);\n\t\t\t\tcurrent = start;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tprevious = lower;\n\t\t}\n\t},\n\n\t_canComposite: function() {\n\t\treturn !(this.hasFill() && this.hasStroke());\n\t},\n\n\t_contains: function(point) {\n\t\tvar winding = point.isInside(\n\t\t\t\tthis.getBounds({ internal: true, handle: true }))\n\t\t\t\t\t? this._getWinding(point)\n\t\t\t\t\t: {};\n\t\treturn winding.onPath || !!(this.getFillRule() === 'evenodd'\n\t\t\t\t? winding.windingL & 1 || winding.windingR & 1\n\t\t\t\t: winding.winding);\n\t},\n\n\tgetIntersections: function(path, include, _matrix, _returnFirst) {\n\t\tvar self = this === path || !path,\n\t\t\tmatrix1 = this._matrix._orNullIfIdentity(),\n\t\t\tmatrix2 = self ? matrix1\n\t\t\t\t: (_matrix || path._matrix)._orNullIfIdentity();\n\t\treturn self || this.getBounds(matrix1).intersects(\n\t\t\t\tpath.getBounds(matrix2), 1e-12)\n\t\t\t\t? Curve.getIntersections(\n\t\t\t\t\t\tthis.getCurves(), !self && path.getCurves(), include,\n\t\t\t\t\t\tmatrix1, matrix2, _returnFirst)\n\t\t\t\t: [];\n\t},\n\n\tgetCrossings: function(path) {\n\t\treturn this.getIntersections(path, function(inter) {\n\t\t\treturn inter.hasOverlap() || inter.isCrossing();\n\t\t});\n\t},\n\n\tgetNearestLocation: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tcurves = this.getCurves(),\n\t\t\tminDist = Infinity,\n\t\t\tminLoc = null;\n\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\tvar loc = curves[i].getNearestLocation(point);\n\t\t\tif (loc._distance < minDist) {\n\t\t\t\tminDist = loc._distance;\n\t\t\t\tminLoc = loc;\n\t\t\t}\n\t\t}\n\t\treturn minLoc;\n\t},\n\n\tgetNearestPoint: function() {\n\t\tvar loc = this.getNearestLocation.apply(this, arguments);\n\t\treturn loc ? loc.getPoint() : loc;\n\t},\n\n\tinterpolate: function(from, to, factor) {\n\t\tvar isPath = !this._children,\n\t\t\tname = isPath ? '_segments' : '_children',\n\t\t\titemsFrom = from[name],\n\t\t\titemsTo = to[name],\n\t\t\titems = this[name];\n\t\tif (!itemsFrom || !itemsTo || itemsFrom.length !== itemsTo.length) {\n\t\t\tthrow new Error('Invalid operands in interpolate() call: ' +\n\t\t\t\t\tfrom + ', ' + to);\n\t\t}\n\t\tvar current = items.length,\n\t\t\tlength = itemsTo.length;\n\t\tif (current < length) {\n\t\t\tvar ctor = isPath ? Segment : Path;\n\t\t\tfor (var i = current; i < length; i++) {\n\t\t\t\tthis.add(new ctor());\n\t\t\t}\n\t\t} else if (current > length) {\n\t\t\tthis[isPath ? 'removeSegments' : 'removeChildren'](length, current);\n\t\t}\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\titems[i].interpolate(itemsFrom[i], itemsTo[i], factor);\n\t\t}\n\t\tif (isPath) {\n\t\t\tthis.setClosed(from._closed);\n\t\t\tthis._changed(9);\n\t\t}\n\t},\n\n\tcompare: function(path) {\n\t\tvar ok = false;\n\t\tif (path) {\n\t\t\tvar paths1 = this._children || [this],\n\t\t\t\tpaths2 = path._children ? path._children.slice() : [path],\n\t\t\t\tlength1 = paths1.length,\n\t\t\t\tlength2 = paths2.length,\n\t\t\t\tmatched = [],\n\t\t\t\tcount = 0;\n\t\t\tok = true;\n\t\t\tfor (var i1 = length1 - 1; i1 >= 0 && ok; i1--) {\n\t\t\t\tvar path1 = paths1[i1];\n\t\t\t\tok = false;\n\t\t\t\tfor (var i2 = length2 - 1; i2 >= 0 && !ok; i2--) {\n\t\t\t\t\tif (path1.compare(paths2[i2])) {\n\t\t\t\t\t\tif (!matched[i2]) {\n\t\t\t\t\t\t\tmatched[i2] = true;\n\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tok = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tok = ok && count === length2;\n\t\t}\n\t\treturn ok;\n\t},\n\n});\n\nvar Path = PathItem.extend({\n\t_class: 'Path',\n\t_serializeFields: {\n\t\tsegments: [],\n\t\tclosed: false\n\t},\n\n\tinitialize: function Path(arg) {\n\t\tthis._closed = false;\n\t\tthis._segments = [];\n\t\tthis._version = 0;\n\t\tvar segments = Array.isArray(arg)\n\t\t\t? typeof arg[0] === 'object'\n\t\t\t\t? arg\n\t\t\t\t: arguments\n\t\t\t: arg && (arg.size === undefined && (arg.x !== undefined\n\t\t\t\t\t|| arg.point !== undefined))\n\t\t\t\t? arguments\n\t\t\t\t: null;\n\t\tif (segments && segments.length > 0) {\n\t\t\tthis.setSegments(segments);\n\t\t} else {\n\t\t\tthis._curves = undefined;\n\t\t\tthis._segmentSelection = 0;\n\t\t\tif (!segments && typeof arg === 'string') {\n\t\t\t\tthis.setPathData(arg);\n\t\t\t\targ = null;\n\t\t\t}\n\t\t}\n\t\tthis._initialize(!segments && arg);\n\t},\n\n\t_equals: function(item) {\n\t\treturn this._closed === item._closed\n\t\t\t\t&& Base.equals(this._segments, item._segments);\n\t},\n\n\tcopyContent: function(source) {\n\t\tthis.setSegments(source._segments);\n\t\tthis._closed = source._closed;\n\t},\n\n\t_changed: function _changed(flags) {\n\t\t_changed.base.call(this, flags);\n\t\tif (flags & 8) {\n\t\t\tthis._length = this._area = undefined;\n\t\t\tif (flags & 32) {\n\t\t\t\tthis._version++;\n\t\t\t} else if (this._curves) {\n\t\t\t for (var i = 0, l = this._curves.length; i < l; i++)\n\t\t\t\t\tthis._curves[i]._changed();\n\t\t\t}\n\t\t} else if (flags & 64) {\n\t\t\tthis._bounds = undefined;\n\t\t}\n\t},\n\n\tgetStyle: function() {\n\t\tvar parent = this._parent;\n\t\treturn (parent instanceof CompoundPath ? parent : this)._style;\n\t},\n\n\tgetSegments: function() {\n\t\treturn this._segments;\n\t},\n\n\tsetSegments: function(segments) {\n\t\tvar fullySelected = this.isFullySelected(),\n\t\t\tlength = segments && segments.length;\n\t\tthis._segments.length = 0;\n\t\tthis._segmentSelection = 0;\n\t\tthis._curves = undefined;\n\t\tif (length) {\n\t\t\tvar last = segments[length - 1];\n\t\t\tif (typeof last === 'boolean') {\n\t\t\t\tthis.setClosed(last);\n\t\t\t\tlength--;\n\t\t\t}\n\t\t\tthis._add(Segment.readList(segments, 0, {}, length));\n\t\t}\n\t\tif (fullySelected)\n\t\t\tthis.setFullySelected(true);\n\t},\n\n\tgetFirstSegment: function() {\n\t\treturn this._segments[0];\n\t},\n\n\tgetLastSegment: function() {\n\t\treturn this._segments[this._segments.length - 1];\n\t},\n\n\tgetCurves: function() {\n\t\tvar curves = this._curves,\n\t\t\tsegments = this._segments;\n\t\tif (!curves) {\n\t\t\tvar length = this._countCurves();\n\t\t\tcurves = this._curves = new Array(length);\n\t\t\tfor (var i = 0; i < length; i++)\n\t\t\t\tcurves[i] = new Curve(this, segments[i],\n\t\t\t\t\tsegments[i + 1] || segments[0]);\n\t\t}\n\t\treturn curves;\n\t},\n\n\tgetFirstCurve: function() {\n\t\treturn this.getCurves()[0];\n\t},\n\n\tgetLastCurve: function() {\n\t\tvar curves = this.getCurves();\n\t\treturn curves[curves.length - 1];\n\t},\n\n\tisClosed: function() {\n\t\treturn this._closed;\n\t},\n\n\tsetClosed: function(closed) {\n\t\tif (this._closed != (closed = !!closed)) {\n\t\t\tthis._closed = closed;\n\t\t\tif (this._curves) {\n\t\t\t\tvar length = this._curves.length = this._countCurves();\n\t\t\t\tif (closed)\n\t\t\t\t\tthis._curves[length - 1] = new Curve(this,\n\t\t\t\t\t\tthis._segments[length - 1], this._segments[0]);\n\t\t\t}\n\t\t\tthis._changed(41);\n\t\t}\n\t}\n}, {\n\tbeans: true,\n\n\tgetPathData: function(_matrix, _precision) {\n\t\tvar segments = this._segments,\n\t\t\tlength = segments.length,\n\t\t\tf = new Formatter(_precision),\n\t\t\tcoords = new Array(6),\n\t\t\tfirst = true,\n\t\t\tcurX, curY,\n\t\t\tprevX, prevY,\n\t\t\tinX, inY,\n\t\t\toutX, outY,\n\t\t\tparts = [];\n\n\t\tfunction addSegment(segment, skipLine) {\n\t\t\tsegment._transformCoordinates(_matrix, coords);\n\t\t\tcurX = coords[0];\n\t\t\tcurY = coords[1];\n\t\t\tif (first) {\n\t\t\t\tparts.push('M' + f.pair(curX, curY));\n\t\t\t\tfirst = false;\n\t\t\t} else {\n\t\t\t\tinX = coords[2];\n\t\t\t\tinY = coords[3];\n\t\t\t\tif (inX === curX && inY === curY\n\t\t\t\t\t\t&& outX === prevX && outY === prevY) {\n\t\t\t\t\tif (!skipLine) {\n\t\t\t\t\t\tvar dx = curX - prevX,\n\t\t\t\t\t\t\tdy = curY - prevY;\n\t\t\t\t\t\tparts.push(\n\t\t\t\t\t\t\t dx === 0 ? 'v' + f.number(dy)\n\t\t\t\t\t\t\t: dy === 0 ? 'h' + f.number(dx)\n\t\t\t\t\t\t\t: 'l' + f.pair(dx, dy));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tparts.push('c' + f.pair(outX - prevX, outY - prevY)\n\t\t\t\t\t\t\t + ' ' + f.pair( inX - prevX, inY - prevY)\n\t\t\t\t\t\t\t + ' ' + f.pair(curX - prevX, curY - prevY));\n\t\t\t\t}\n\t\t\t}\n\t\t\tprevX = curX;\n\t\t\tprevY = curY;\n\t\t\toutX = coords[4];\n\t\t\toutY = coords[5];\n\t\t}\n\n\t\tif (!length)\n\t\t\treturn '';\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\taddSegment(segments[i]);\n\t\tif (this._closed && length > 0) {\n\t\t\taddSegment(segments[0], true);\n\t\t\tparts.push('z');\n\t\t}\n\t\treturn parts.join('');\n\t},\n\n\tisEmpty: function() {\n\t\treturn !this._segments.length;\n\t},\n\n\t_transformContent: function(matrix) {\n\t\tvar segments = this._segments,\n\t\t\tcoords = new Array(6);\n\t\tfor (var i = 0, l = segments.length; i < l; i++)\n\t\t\tsegments[i]._transformCoordinates(matrix, coords, true);\n\t\treturn true;\n\t},\n\n\t_add: function(segs, index) {\n\t\tvar segments = this._segments,\n\t\t\tcurves = this._curves,\n\t\t\tamount = segs.length,\n\t\t\tappend = index == null,\n\t\t\tindex = append ? segments.length : index;\n\t\tfor (var i = 0; i < amount; i++) {\n\t\t\tvar segment = segs[i];\n\t\t\tif (segment._path)\n\t\t\t\tsegment = segs[i] = segment.clone();\n\t\t\tsegment._path = this;\n\t\t\tsegment._index = index + i;\n\t\t\tif (segment._selection)\n\t\t\t\tthis._updateSelection(segment, 0, segment._selection);\n\t\t}\n\t\tif (append) {\n\t\t\tBase.push(segments, segs);\n\t\t} else {\n\t\t\tsegments.splice.apply(segments, [index, 0].concat(segs));\n\t\t\tfor (var i = index + amount, l = segments.length; i < l; i++)\n\t\t\t\tsegments[i]._index = i;\n\t\t}\n\t\tif (curves) {\n\t\t\tvar total = this._countCurves(),\n\t\t\t\tstart = index > 0 && index + amount - 1 === total ? index - 1\n\t\t\t\t\t: index,\n\t\t\t\tinsert = start,\n\t\t\t\tend = Math.min(start + amount, total);\n\t\t\tif (segs._curves) {\n\t\t\t\tcurves.splice.apply(curves, [start, 0].concat(segs._curves));\n\t\t\t\tinsert += segs._curves.length;\n\t\t\t}\n\t\t\tfor (var i = insert; i < end; i++)\n\t\t\t\tcurves.splice(i, 0, new Curve(this, null, null));\n\t\t\tthis._adjustCurves(start, end);\n\t\t}\n\t\tthis._changed(41);\n\t\treturn segs;\n\t},\n\n\t_adjustCurves: function(start, end) {\n\t\tvar segments = this._segments,\n\t\t\tcurves = this._curves,\n\t\t\tcurve;\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tcurve = curves[i];\n\t\t\tcurve._path = this;\n\t\t\tcurve._segment1 = segments[i];\n\t\t\tcurve._segment2 = segments[i + 1] || segments[0];\n\t\t\tcurve._changed();\n\t\t}\n\t\tif (curve = curves[this._closed && !start ? segments.length - 1\n\t\t\t\t: start - 1]) {\n\t\t\tcurve._segment2 = segments[start] || segments[0];\n\t\t\tcurve._changed();\n\t\t}\n\t\tif (curve = curves[end]) {\n\t\t\tcurve._segment1 = segments[end];\n\t\t\tcurve._changed();\n\t\t}\n\t},\n\n\t_countCurves: function() {\n\t\tvar length = this._segments.length;\n\t\treturn !this._closed && length > 0 ? length - 1 : length;\n\t},\n\n\tadd: function(segment1 ) {\n\t\treturn arguments.length > 1 && typeof segment1 !== 'number'\n\t\t\t? this._add(Segment.readList(arguments))\n\t\t\t: this._add([ Segment.read(arguments) ])[0];\n\t},\n\n\tinsert: function(index, segment1 ) {\n\t\treturn arguments.length > 2 && typeof segment1 !== 'number'\n\t\t\t? this._add(Segment.readList(arguments, 1), index)\n\t\t\t: this._add([ Segment.read(arguments, 1) ], index)[0];\n\t},\n\n\taddSegment: function() {\n\t\treturn this._add([ Segment.read(arguments) ])[0];\n\t},\n\n\tinsertSegment: function(index ) {\n\t\treturn this._add([ Segment.read(arguments, 1) ], index)[0];\n\t},\n\n\taddSegments: function(segments) {\n\t\treturn this._add(Segment.readList(segments));\n\t},\n\n\tinsertSegments: function(index, segments) {\n\t\treturn this._add(Segment.readList(segments), index);\n\t},\n\n\tremoveSegment: function(index) {\n\t\treturn this.removeSegments(index, index + 1)[0] || null;\n\t},\n\n\tremoveSegments: function(start, end, _includeCurves) {\n\t\tstart = start || 0;\n\t\tend = Base.pick(end, this._segments.length);\n\t\tvar segments = this._segments,\n\t\t\tcurves = this._curves,\n\t\t\tcount = segments.length,\n\t\t\tremoved = segments.splice(start, end - start),\n\t\t\tamount = removed.length;\n\t\tif (!amount)\n\t\t\treturn removed;\n\t\tfor (var i = 0; i < amount; i++) {\n\t\t\tvar segment = removed[i];\n\t\t\tif (segment._selection)\n\t\t\t\tthis._updateSelection(segment, segment._selection, 0);\n\t\t\tsegment._index = segment._path = null;\n\t\t}\n\t\tfor (var i = start, l = segments.length; i < l; i++)\n\t\t\tsegments[i]._index = i;\n\t\tif (curves) {\n\t\t\tvar index = start > 0 && end === count + (this._closed ? 1 : 0)\n\t\t\t\t\t? start - 1\n\t\t\t\t\t: start,\n\t\t\t\tcurves = curves.splice(index, amount);\n\t\t\tfor (var i = curves.length - 1; i >= 0; i--)\n\t\t\t\tcurves[i]._path = null;\n\t\t\tif (_includeCurves)\n\t\t\t\tremoved._curves = curves.slice(1);\n\t\t\tthis._adjustCurves(index, index);\n\t\t}\n\t\tthis._changed(41);\n\t\treturn removed;\n\t},\n\n\tclear: '#removeSegments',\n\n\thasHandles: function() {\n\t\tvar segments = this._segments;\n\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\tif (segments[i].hasHandles())\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\tclearHandles: function() {\n\t\tvar segments = this._segments;\n\t\tfor (var i = 0, l = segments.length; i < l; i++)\n\t\t\tsegments[i].clearHandles();\n\t},\n\n\tgetLength: function() {\n\t\tif (this._length == null) {\n\t\t\tvar curves = this.getCurves(),\n\t\t\t\tlength = 0;\n\t\t\tfor (var i = 0, l = curves.length; i < l; i++)\n\t\t\t\tlength += curves[i].getLength();\n\t\t\tthis._length = length;\n\t\t}\n\t\treturn this._length;\n\t},\n\n\tgetArea: function() {\n\t\tvar area = this._area;\n\t\tif (area == null) {\n\t\t\tvar segments = this._segments,\n\t\t\t\tclosed = this._closed;\n\t\t\tarea = 0;\n\t\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\t\tvar last = i + 1 === l;\n\t\t\t\tarea += Curve.getArea(Curve.getValues(\n\t\t\t\t\t\tsegments[i], segments[last ? 0 : i + 1],\n\t\t\t\t\t\tnull, last && !closed));\n\t\t\t}\n\t\t\tthis._area = area;\n\t\t}\n\t\treturn area;\n\t},\n\n\tisFullySelected: function() {\n\t\tvar length = this._segments.length;\n\t\treturn this.isSelected() && length > 0 && this._segmentSelection\n\t\t\t\t=== length * 7;\n\t},\n\n\tsetFullySelected: function(selected) {\n\t\tif (selected)\n\t\t\tthis._selectSegments(true);\n\t\tthis.setSelected(selected);\n\t},\n\n\tsetSelection: function setSelection(selection) {\n\t\tif (!(selection & 1))\n\t\t\tthis._selectSegments(false);\n\t\tsetSelection.base.call(this, selection);\n\t},\n\n\t_selectSegments: function(selected) {\n\t\tvar segments = this._segments,\n\t\t\tlength = segments.length,\n\t\t\tselection = selected ? 7 : 0;\n\t\tthis._segmentSelection = selection * length;\n\t\tfor (var i = 0; i < length; i++)\n\t\t\tsegments[i]._selection = selection;\n\t},\n\n\t_updateSelection: function(segment, oldSelection, newSelection) {\n\t\tsegment._selection = newSelection;\n\t\tvar selection = this._segmentSelection += newSelection - oldSelection;\n\t\tif (selection > 0)\n\t\t\tthis.setSelected(true);\n\t},\n\n\tdivideAt: function(location) {\n\t\tvar loc = this.getLocationAt(location),\n\t\t\tcurve;\n\t\treturn loc && (curve = loc.getCurve().divideAt(loc.getCurveOffset()))\n\t\t\t\t? curve._segment1\n\t\t\t\t: null;\n\t},\n\n\tsplitAt: function(location) {\n\t\tvar loc = this.getLocationAt(location),\n\t\t\tindex = loc && loc.index,\n\t\t\ttime = loc && loc.time,\n\t\t\ttMin = 1e-8,\n\t\t\ttMax = 1 - tMin;\n\t\tif (time > tMax) {\n\t\t\tindex++;\n\t\t\ttime = 0;\n\t\t}\n\t\tvar curves = this.getCurves();\n\t\tif (index >= 0 && index < curves.length) {\n\t\t\tif (time >= tMin) {\n\t\t\t\tcurves[index++].divideAtTime(time);\n\t\t\t}\n\t\t\tvar segs = this.removeSegments(index, this._segments.length, true),\n\t\t\t\tpath;\n\t\t\tif (this._closed) {\n\t\t\t\tthis.setClosed(false);\n\t\t\t\tpath = this;\n\t\t\t} else {\n\t\t\t\tpath = new Path(Item.NO_INSERT);\n\t\t\t\tpath.insertAbove(this);\n\t\t\t\tpath.copyAttributes(this);\n\t\t\t}\n\t\t\tpath._add(segs, 0);\n\t\t\tthis.addSegment(segs[0]);\n\t\t\treturn path;\n\t\t}\n\t\treturn null;\n\t},\n\n\tsplit: function(index, time) {\n\t\tvar curve,\n\t\t\tlocation = time === undefined ? index\n\t\t\t\t: (curve = this.getCurves()[index])\n\t\t\t\t\t&& curve.getLocationAtTime(time);\n\t\treturn location != null ? this.splitAt(location) : null;\n\t},\n\n\tjoin: function(path, tolerance) {\n\t\tvar epsilon = tolerance || 0;\n\t\tif (path && path !== this) {\n\t\t\tvar segments = path._segments,\n\t\t\t\tlast1 = this.getLastSegment(),\n\t\t\t\tlast2 = path.getLastSegment();\n\t\t\tif (!last2)\n\t\t\t\treturn this;\n\t\t\tif (last1 && last1._point.isClose(last2._point, epsilon))\n\t\t\t\tpath.reverse();\n\t\t\tvar first2 = path.getFirstSegment();\n\t\t\tif (last1 && last1._point.isClose(first2._point, epsilon)) {\n\t\t\t\tlast1.setHandleOut(first2._handleOut);\n\t\t\t\tthis._add(segments.slice(1));\n\t\t\t} else {\n\t\t\t\tvar first1 = this.getFirstSegment();\n\t\t\t\tif (first1 && first1._point.isClose(first2._point, epsilon))\n\t\t\t\t\tpath.reverse();\n\t\t\t\tlast2 = path.getLastSegment();\n\t\t\t\tif (first1 && first1._point.isClose(last2._point, epsilon)) {\n\t\t\t\t\tfirst1.setHandleIn(last2._handleIn);\n\t\t\t\t\tthis._add(segments.slice(0, segments.length - 1), 0);\n\t\t\t\t} else {\n\t\t\t\t\tthis._add(segments.slice());\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (path._closed)\n\t\t\t\tthis._add([segments[0]]);\n\t\t\tpath.remove();\n\t\t}\n\t\tvar first = this.getFirstSegment(),\n\t\t\tlast = this.getLastSegment();\n\t\tif (first !== last && first._point.isClose(last._point, epsilon)) {\n\t\t\tfirst.setHandleIn(last._handleIn);\n\t\t\tlast.remove();\n\t\t\tthis.setClosed(true);\n\t\t}\n\t\treturn this;\n\t},\n\n\treduce: function(options) {\n\t\tvar curves = this.getCurves(),\n\t\t\tsimplify = options && options.simplify,\n\t\t\ttolerance = simplify ? 1e-7 : 0;\n\t\tfor (var i = curves.length - 1; i >= 0; i--) {\n\t\t\tvar curve = curves[i];\n\t\t\tif (!curve.hasHandles() && (!curve.hasLength(tolerance)\n\t\t\t\t\t|| simplify && curve.isCollinear(curve.getNext())))\n\t\t\t\tcurve.remove();\n\t\t}\n\t\treturn this;\n\t},\n\n\treverse: function() {\n\t\tthis._segments.reverse();\n\t\tfor (var i = 0, l = this._segments.length; i < l; i++) {\n\t\t\tvar segment = this._segments[i];\n\t\t\tvar handleIn = segment._handleIn;\n\t\t\tsegment._handleIn = segment._handleOut;\n\t\t\tsegment._handleOut = handleIn;\n\t\t\tsegment._index = i;\n\t\t}\n\t\tthis._curves = null;\n\t\tthis._changed(9);\n\t},\n\n\tflatten: function(flatness) {\n\t\tvar flattener = new PathFlattener(this, flatness || 0.25, 256, true),\n\t\t\tparts = flattener.parts,\n\t\t\tlength = parts.length,\n\t\t\tsegments = [];\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tsegments.push(new Segment(parts[i].curve.slice(0, 2)));\n\t\t}\n\t\tif (!this._closed && length > 0) {\n\t\t\tsegments.push(new Segment(parts[length - 1].curve.slice(6)));\n\t\t}\n\t\tthis.setSegments(segments);\n\t},\n\n\tsimplify: function(tolerance) {\n\t\tvar segments = new PathFitter(this).fit(tolerance || 2.5);\n\t\tif (segments)\n\t\t\tthis.setSegments(segments);\n\t\treturn !!segments;\n\t},\n\n\tsmooth: function(options) {\n\t\tvar that = this,\n\t\t\topts = options || {},\n\t\t\ttype = opts.type || 'asymmetric',\n\t\t\tsegments = this._segments,\n\t\t\tlength = segments.length,\n\t\t\tclosed = this._closed;\n\n\t\tfunction getIndex(value, _default) {\n\t\t\tvar index = value && value.index;\n\t\t\tif (index != null) {\n\t\t\t\tvar path = value.path;\n\t\t\t\tif (path && path !== that)\n\t\t\t\t\tthrow new Error(value._class + ' ' + index + ' of ' + path\n\t\t\t\t\t\t\t+ ' is not part of ' + that);\n\t\t\t\tif (_default && value instanceof Curve)\n\t\t\t\t\tindex++;\n\t\t\t} else {\n\t\t\t\tindex = typeof value === 'number' ? value : _default;\n\t\t\t}\n\t\t\treturn Math.min(index < 0 && closed\n\t\t\t\t\t? index % length\n\t\t\t\t\t: index < 0 ? index + length : index, length - 1);\n\t\t}\n\n\t\tvar loop = closed && opts.from === undefined && opts.to === undefined,\n\t\t\tfrom = getIndex(opts.from, 0),\n\t\t\tto = getIndex(opts.to, length - 1);\n\n\t\tif (from > to) {\n\t\t\tif (closed) {\n\t\t\t\tfrom -= length;\n\t\t\t} else {\n\t\t\t\tvar tmp = from;\n\t\t\t\tfrom = to;\n\t\t\t\tto = tmp;\n\t\t\t}\n\t\t}\n\t\tif (/^(?:asymmetric|continuous)$/.test(type)) {\n\t\t\tvar asymmetric = type === 'asymmetric',\n\t\t\t\tmin = Math.min,\n\t\t\t\tamount = to - from + 1,\n\t\t\t\tn = amount - 1,\n\t\t\t\tpadding = loop ? min(amount, 4) : 1,\n\t\t\t\tpaddingLeft = padding,\n\t\t\t\tpaddingRight = padding,\n\t\t\t\tknots = [];\n\t\t\tif (!closed) {\n\t\t\t\tpaddingLeft = min(1, from);\n\t\t\t\tpaddingRight = min(1, length - to - 1);\n\t\t\t}\n\t\t\tn += paddingLeft + paddingRight;\n\t\t\tif (n <= 1)\n\t\t\t\treturn;\n\t\t\tfor (var i = 0, j = from - paddingLeft; i <= n; i++, j++) {\n\t\t\t\tknots[i] = segments[(j < 0 ? j + length : j) % length]._point;\n\t\t\t}\n\n\t\t\tvar x = knots[0]._x + 2 * knots[1]._x,\n\t\t\t\ty = knots[0]._y + 2 * knots[1]._y,\n\t\t\t\tf = 2,\n\t\t\t\tn_1 = n - 1,\n\t\t\t\trx = [x],\n\t\t\t\try = [y],\n\t\t\t\trf = [f],\n\t\t\t\tpx = [],\n\t\t\t\tpy = [];\n\t\t\tfor (var i = 1; i < n; i++) {\n\t\t\t\tvar internal = i < n_1,\n\t\t\t\t\ta = internal ? 1 : asymmetric ? 1 : 2,\n\t\t\t\t\tb = internal ? 4 : asymmetric ? 2 : 7,\n\t\t\t\t\tu = internal ? 4 : asymmetric ? 3 : 8,\n\t\t\t\t\tv = internal ? 2 : asymmetric ? 0 : 1,\n\t\t\t\t\tm = a / f;\n\t\t\t\tf = rf[i] = b - m;\n\t\t\t\tx = rx[i] = u * knots[i]._x + v * knots[i + 1]._x - m * x;\n\t\t\t\ty = ry[i] = u * knots[i]._y + v * knots[i + 1]._y - m * y;\n\t\t\t}\n\n\t\t\tpx[n_1] = rx[n_1] / rf[n_1];\n\t\t\tpy[n_1] = ry[n_1] / rf[n_1];\n\t\t\tfor (var i = n - 2; i >= 0; i--) {\n\t\t\t\tpx[i] = (rx[i] - px[i + 1]) / rf[i];\n\t\t\t\tpy[i] = (ry[i] - py[i + 1]) / rf[i];\n\t\t\t}\n\t\t\tpx[n] = (3 * knots[n]._x - px[n_1]) / 2;\n\t\t\tpy[n] = (3 * knots[n]._y - py[n_1]) / 2;\n\n\t\t\tfor (var i = paddingLeft, max = n - paddingRight, j = from;\n\t\t\t\t\ti <= max; i++, j++) {\n\t\t\t\tvar segment = segments[j < 0 ? j + length : j],\n\t\t\t\t\tpt = segment._point,\n\t\t\t\t\thx = px[i] - pt._x,\n\t\t\t\t\thy = py[i] - pt._y;\n\t\t\t\tif (loop || i < max)\n\t\t\t\t\tsegment.setHandleOut(hx, hy);\n\t\t\t\tif (loop || i > paddingLeft)\n\t\t\t\t\tsegment.setHandleIn(-hx, -hy);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var i = from; i <= to; i++) {\n\t\t\t\tsegments[i < 0 ? i + length : i].smooth(opts,\n\t\t\t\t\t\t!loop && i === from, !loop && i === to);\n\t\t\t}\n\t\t}\n\t},\n\n\ttoShape: function(insert) {\n\t\tif (!this._closed)\n\t\t\treturn null;\n\n\t\tvar segments = this._segments,\n\t\t\ttype,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\ttopCenter;\n\n\t\tfunction isCollinear(i, j) {\n\t\t\tvar seg1 = segments[i],\n\t\t\t\tseg2 = seg1.getNext(),\n\t\t\t\tseg3 = segments[j],\n\t\t\t\tseg4 = seg3.getNext();\n\t\t\treturn seg1._handleOut.isZero() && seg2._handleIn.isZero()\n\t\t\t\t\t&& seg3._handleOut.isZero() && seg4._handleIn.isZero()\n\t\t\t\t\t&& seg2._point.subtract(seg1._point).isCollinear(\n\t\t\t\t\t\tseg4._point.subtract(seg3._point));\n\t\t}\n\n\t\tfunction isOrthogonal(i) {\n\t\t\tvar seg2 = segments[i],\n\t\t\t\tseg1 = seg2.getPrevious(),\n\t\t\t\tseg3 = seg2.getNext();\n\t\t\treturn seg1._handleOut.isZero() && seg2._handleIn.isZero()\n\t\t\t\t\t&& seg2._handleOut.isZero() && seg3._handleIn.isZero()\n\t\t\t\t\t&& seg2._point.subtract(seg1._point).isOrthogonal(\n\t\t\t\t\t\tseg3._point.subtract(seg2._point));\n\t\t}\n\n\t\tfunction isArc(i) {\n\t\t\tvar seg1 = segments[i],\n\t\t\t\tseg2 = seg1.getNext(),\n\t\t\t\thandle1 = seg1._handleOut,\n\t\t\t\thandle2 = seg2._handleIn,\n\t\t\t\tkappa = 0.5522847498307936;\n\t\t\tif (handle1.isOrthogonal(handle2)) {\n\t\t\t\tvar pt1 = seg1._point,\n\t\t\t\t\tpt2 = seg2._point,\n\t\t\t\t\tcorner = new Line(pt1, handle1, true).intersect(\n\t\t\t\t\t\t\tnew Line(pt2, handle2, true), true);\n\t\t\t\treturn corner && Numerical.isZero(handle1.getLength() /\n\t\t\t\t\t\tcorner.subtract(pt1).getLength() - kappa)\n\t\t\t\t\t&& Numerical.isZero(handle2.getLength() /\n\t\t\t\t\t\tcorner.subtract(pt2).getLength() - kappa);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction getDistance(i, j) {\n\t\t\treturn segments[i]._point.getDistance(segments[j]._point);\n\t\t}\n\n\t\tif (!this.hasHandles() && segments.length === 4\n\t\t\t\t&& isCollinear(0, 2) && isCollinear(1, 3) && isOrthogonal(1)) {\n\t\t\ttype = Shape.Rectangle;\n\t\t\tsize = new Size(getDistance(0, 3), getDistance(0, 1));\n\t\t\ttopCenter = segments[1]._point.add(segments[2]._point).divide(2);\n\t\t} else if (segments.length === 8 && isArc(0) && isArc(2) && isArc(4)\n\t\t\t\t&& isArc(6) && isCollinear(1, 5) && isCollinear(3, 7)) {\n\t\t\ttype = Shape.Rectangle;\n\t\t\tsize = new Size(getDistance(1, 6), getDistance(0, 3));\n\t\t\tradius = size.subtract(new Size(getDistance(0, 7),\n\t\t\t\t\tgetDistance(1, 2))).divide(2);\n\t\t\ttopCenter = segments[3]._point.add(segments[4]._point).divide(2);\n\t\t} else if (segments.length === 4\n\t\t\t\t&& isArc(0) && isArc(1) && isArc(2) && isArc(3)) {\n\t\t\tif (Numerical.isZero(getDistance(0, 2) - getDistance(1, 3))) {\n\t\t\t\ttype = Shape.Circle;\n\t\t\t\tradius = getDistance(0, 2) / 2;\n\t\t\t} else {\n\t\t\t\ttype = Shape.Ellipse;\n\t\t\t\tradius = new Size(getDistance(2, 0) / 2, getDistance(3, 1) / 2);\n\t\t\t}\n\t\t\ttopCenter = segments[1]._point;\n\t\t}\n\n\t\tif (type) {\n\t\t\tvar center = this.getPosition(true),\n\t\t\t\tshape = new type({\n\t\t\t\t\tcenter: center,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tradius: radius,\n\t\t\t\t\tinsert: false\n\t\t\t\t});\n\t\t\tshape.copyAttributes(this, true);\n\t\t\tshape._matrix.prepend(this._matrix);\n\t\t\tshape.rotate(topCenter.subtract(center).getAngle() + 90);\n\t\t\tif (insert === undefined || insert)\n\t\t\t\tshape.insertAbove(this);\n\t\t\treturn shape;\n\t\t}\n\t\treturn null;\n\t},\n\n\ttoPath: '#clone',\n\n\tcompare: function compare(path) {\n\t\tif (!path || path instanceof CompoundPath)\n\t\t\treturn compare.base.call(this, path);\n\t\tvar curves1 = this.getCurves(),\n\t\t\tcurves2 = path.getCurves(),\n\t\t\tlength1 = curves1.length,\n\t\t\tlength2 = curves2.length;\n\t\tif (!length1 || !length2) {\n\t\t\treturn length1 == length2;\n\t\t}\n\t\tvar v1 = curves1[0].getValues(),\n\t\t\tvalues2 = [],\n\t\t\tpos1 = 0, pos2,\n\t\t\tend1 = 0, end2;\n\t\tfor (var i = 0; i < length2; i++) {\n\t\t\tvar v2 = curves2[i].getValues();\n\t\t\tvalues2.push(v2);\n\t\t\tvar overlaps = Curve.getOverlaps(v1, v2);\n\t\t\tif (overlaps) {\n\t\t\t\tpos2 = !i && overlaps[0][0] > 0 ? length2 - 1 : i;\n\t\t\t\tend2 = overlaps[0][1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar abs = Math.abs,\n\t\t\tepsilon = 1e-8,\n\t\t\tv2 = values2[pos2],\n\t\t\tstart2;\n\t\twhile (v1 && v2) {\n\t\t\tvar overlaps = Curve.getOverlaps(v1, v2);\n\t\t\tif (overlaps) {\n\t\t\t\tvar t1 = overlaps[0][0];\n\t\t\t\tif (abs(t1 - end1) < epsilon) {\n\t\t\t\t\tend1 = overlaps[1][0];\n\t\t\t\t\tif (end1 === 1) {\n\t\t\t\t\t\tv1 = ++pos1 < length1 ? curves1[pos1].getValues() : null;\n\t\t\t\t\t\tend1 = 0;\n\t\t\t\t\t}\n\t\t\t\t\tvar t2 = overlaps[0][1];\n\t\t\t\t\tif (abs(t2 - end2) < epsilon) {\n\t\t\t\t\t\tif (!start2)\n\t\t\t\t\t\t\tstart2 = [pos2, t2];\n\t\t\t\t\t\tend2 = overlaps[1][1];\n\t\t\t\t\t\tif (end2 === 1) {\n\t\t\t\t\t\t\tif (++pos2 >= length2)\n\t\t\t\t\t\t\t\tpos2 = 0;\n\t\t\t\t\t\t\tv2 = values2[pos2] || curves2[pos2].getValues();\n\t\t\t\t\t\t\tend2 = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!v1) {\n\t\t\t\t\t\t\treturn start2[0] === pos2 && start2[1] === end2;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\treturn false;\n\t},\n\n\t_hitTestSelf: function(point, options, viewMatrix, strokeMatrix) {\n\t\tvar that = this,\n\t\t\tstyle = this.getStyle(),\n\t\t\tsegments = this._segments,\n\t\t\tnumSegments = segments.length,\n\t\t\tclosed = this._closed,\n\t\t\ttolerancePadding = options._tolerancePadding,\n\t\t\tstrokePadding = tolerancePadding,\n\t\t\tjoin, cap, miterLimit,\n\t\t\tarea, loc, res,\n\t\t\thitStroke = options.stroke && style.hasStroke(),\n\t\t\thitFill = options.hitUnfilledPaths\n\t\t\t\t? options.fill : options.fill && style.hasFill(),\n\t\t\thitCurves = options.curves,\n\t\t\tstrokeRadius = hitStroke\n\t\t\t\t\t? style.getStrokeWidth() / 2\n\t\t\t\t\t: hitFill && options.tolerance > 0 || hitCurves\n\t\t\t\t\t\t? 0 : null;\n\t\tif (strokeRadius !== null) {\n\t\t\tif (strokeRadius > 0) {\n\t\t\t\tjoin = style.getStrokeJoin();\n\t\t\t\tcap = style.getStrokeCap();\n\t\t\t\tmiterLimit = style.getMiterLimit();\n\t\t\t\tstrokePadding = strokePadding.add(\n\t\t\t\t\tPath._getStrokePadding(strokeRadius, strokeMatrix));\n\t\t\t} else {\n\t\t\t\tjoin = cap = 'round';\n\t\t\t}\n\t\t}\n\n\t\tfunction isCloseEnough(pt, padding) {\n\t\t\treturn point.subtract(pt).divide(padding).length <= 1;\n\t\t}\n\n\t\tfunction checkSegmentPoint(seg, pt, name) {\n\t\t\tif (!options.selected || pt.isSelected()) {\n\t\t\t\tvar anchor = seg._point;\n\t\t\t\tif (pt !== anchor)\n\t\t\t\t\tpt = pt.add(anchor);\n\t\t\t\tif (isCloseEnough(pt, strokePadding)) {\n\t\t\t\t\treturn new HitResult(name, that, {\n\t\t\t\t\t\tsegment: seg,\n\t\t\t\t\t\tpoint: pt\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction checkSegmentPoints(seg, ends) {\n\t\t\treturn (ends || options.segments)\n\t\t\t\t&& checkSegmentPoint(seg, seg._point, 'segment')\n\t\t\t\t|| (!ends && options.handles) && (\n\t\t\t\t\tcheckSegmentPoint(seg, seg._handleIn, 'handle-in') ||\n\t\t\t\t\tcheckSegmentPoint(seg, seg._handleOut, 'handle-out'));\n\t\t}\n\n\t\tfunction addToArea(point) {\n\t\t\tarea.add(point);\n\t\t}\n\n\t\tfunction checkSegmentStroke(segment) {\n\t\t\tvar isJoin = closed || segment._index > 0\n\t\t\t\t\t&& segment._index < numSegments - 1;\n\t\t\tif ((isJoin ? join : cap) === 'round') {\n\t\t\t\treturn isCloseEnough(segment._point, strokePadding);\n\t\t\t} else {\n\t\t\t\tarea = new Path({ internal: true, closed: true });\n\t\t\t\tif (isJoin) {\n\t\t\t\t\tif (!segment.isSmooth()) {\n\t\t\t\t\t\tPath._addBevelJoin(segment, join, strokeRadius,\n\t\t\t\t\t\t\t miterLimit, null, strokeMatrix, addToArea, true);\n\t\t\t\t\t}\n\t\t\t\t} else if (cap === 'square') {\n\t\t\t\t\tPath._addSquareCap(segment, cap, strokeRadius, null,\n\t\t\t\t\t\t\tstrokeMatrix, addToArea, true);\n\t\t\t\t}\n\t\t\t\tif (!area.isEmpty()) {\n\t\t\t\t\tvar loc;\n\t\t\t\t\treturn area.contains(point)\n\t\t\t\t\t\t|| (loc = area.getNearestLocation(point))\n\t\t\t\t\t\t\t&& isCloseEnough(loc.getPoint(), tolerancePadding);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (options.ends && !options.segments && !closed) {\n\t\t\tif (res = checkSegmentPoints(segments[0], true)\n\t\t\t\t\t|| checkSegmentPoints(segments[numSegments - 1], true))\n\t\t\t\treturn res;\n\t\t} else if (options.segments || options.handles) {\n\t\t\tfor (var i = 0; i < numSegments; i++)\n\t\t\t\tif (res = checkSegmentPoints(segments[i]))\n\t\t\t\t\treturn res;\n\t\t}\n\t\tif (strokeRadius !== null) {\n\t\t\tloc = this.getNearestLocation(point);\n\t\t\tif (loc) {\n\t\t\t\tvar time = loc.getTime();\n\t\t\t\tif (time === 0 || time === 1 && numSegments > 1) {\n\t\t\t\t\tif (!checkSegmentStroke(loc.getSegment()))\n\t\t\t\t\t\tloc = null;\n\t\t\t\t} else if (!isCloseEnough(loc.getPoint(), strokePadding)) {\n\t\t\t\t\tloc = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!loc && join === 'miter' && numSegments > 1) {\n\t\t\t\tfor (var i = 0; i < numSegments; i++) {\n\t\t\t\t\tvar segment = segments[i];\n\t\t\t\t\tif (point.getDistance(segment._point)\n\t\t\t\t\t\t\t<= miterLimit * strokeRadius\n\t\t\t\t\t\t\t&& checkSegmentStroke(segment)) {\n\t\t\t\t\t\tloc = segment.getLocation();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn !loc && hitFill && this._contains(point)\n\t\t\t\t|| loc && !hitStroke && !hitCurves\n\t\t\t\t\t? new HitResult('fill', this)\n\t\t\t\t\t: loc\n\t\t\t\t\t\t? new HitResult(hitStroke ? 'stroke' : 'curve', this, {\n\t\t\t\t\t\t\tlocation: loc,\n\t\t\t\t\t\t\tpoint: loc.getPoint()\n\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t}\n\n}, Base.each(Curve._evaluateMethods,\n\tfunction(name) {\n\t\tthis[name + 'At'] = function(offset) {\n\t\t\tvar loc = this.getLocationAt(offset);\n\t\t\treturn loc && loc[name]();\n\t\t};\n\t},\n{\n\tbeans: false,\n\n\tgetLocationOf: function() {\n\t\tvar point = Point.read(arguments),\n\t\t\tcurves = this.getCurves();\n\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\tvar loc = curves[i].getLocationOf(point);\n\t\t\tif (loc)\n\t\t\t\treturn loc;\n\t\t}\n\t\treturn null;\n\t},\n\n\tgetOffsetOf: function() {\n\t\tvar loc = this.getLocationOf.apply(this, arguments);\n\t\treturn loc ? loc.getOffset() : null;\n\t},\n\n\tgetLocationAt: function(offset) {\n\t\tif (typeof offset === 'number') {\n\t\t\tvar curves = this.getCurves(),\n\t\t\t\tlength = 0;\n\t\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\t\tvar start = length,\n\t\t\t\t\tcurve = curves[i];\n\t\t\t\tlength += curve.getLength();\n\t\t\t\tif (length > offset) {\n\t\t\t\t\treturn curve.getLocationAt(offset - start);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (curves.length > 0 && offset <= this.getLength()) {\n\t\t\t\treturn new CurveLocation(curves[curves.length - 1], 1);\n\t\t\t}\n\t\t} else if (offset && offset.getPath && offset.getPath() === this) {\n\t\t\treturn offset;\n\t\t}\n\t\treturn null;\n\t},\n\n\tgetOffsetsWithTangent: function() {\n\t\tvar tangent = Point.read(arguments);\n\t\tif (tangent.isZero()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tvar offsets = [];\n\t\tvar curveStart = 0;\n\t\tvar curves = this.getCurves();\n\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\tvar curve = curves[i];\n\t\t\tvar curveTimes = curve.getTimesWithTangent(tangent);\n\t\t\tfor (var j = 0, m = curveTimes.length; j < m; j++) {\n\t\t\t\tvar offset = curveStart + curve.getOffsetAtTime(curveTimes[j]);\n\t\t\t\tif (offsets.indexOf(offset) < 0) {\n\t\t\t\t\toffsets.push(offset);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcurveStart += curve.length;\n\t\t}\n\t\treturn offsets;\n\t}\n}),\nnew function() {\n\n\tfunction drawHandles(ctx, segments, matrix, size, isFullySelected) {\n\t\tif (size === 0) {\n\t\t\treturn;\n\t\t}\n\t\tvar half = size / 2,\n\t\t\tcoords = new Array(6),\n\t\t\tpX, pY;\n\n\t\tfunction drawHandle(index) {\n\t\t\tvar hX = coords[index],\n\t\t\t\thY = coords[index + 1];\n\t\t\tif (pX != hX || pY != hY) {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(pX, pY);\n\t\t\t\tctx.lineTo(hX, hY);\n\t\t\t\tctx.moveTo(hX - half, hY);\n\t\t\t\tctx.lineTo(hX, hY + half);\n\t\t\t\tctx.lineTo(hX + half, hY);\n\t\t\t\tctx.lineTo(hX, hY - half);\n\t\t\t\tctx.closePath();\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\tvar segment = segments[i],\n\t\t\t\tselection = segment._selection;\n\t\t\tsegment._transformCoordinates(matrix, coords);\n\t\t\tpX = coords[0];\n\t\t\tpY = coords[1];\n\t\t\tif (selection & 2 && !isFullySelected)\n\t\t\t\tdrawHandle(2);\n\t\t\tif (selection & 4 && !isFullySelected)\n\t\t\t\tdrawHandle(4);\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(pX, pY, half, 0, Math.PI * 2, true);\n\t\t\tctx.stroke();\n\t\t\tvar fillStyle = ctx.fillStyle;\n\t\t\tif (!(selection & 1)) {\n\t\t\t\tctx.fillStyle = 'rgba(255, 255, 255, 0.5)';\n\t\t\t}\n\t\t\tctx.fill();\n\t\t\tctx.fillStyle = fillStyle;\n\t\t}\n\t}\n\n\tfunction drawSegments(ctx, path, matrix) {\n\t\tvar segments = path._segments,\n\t\t\tlength = segments.length,\n\t\t\tcoords = new Array(6),\n\t\t\tfirst = true,\n\t\t\tcurX, curY,\n\t\t\tprevX, prevY,\n\t\t\tinX, inY,\n\t\t\toutX, outY;\n\n\t\tfunction drawSegment(segment) {\n\t\t\tif (matrix) {\n\t\t\t\tsegment._transformCoordinates(matrix, coords);\n\t\t\t\tcurX = coords[0];\n\t\t\t\tcurY = coords[1];\n\t\t\t} else {\n\t\t\t\tvar point = segment._point;\n\t\t\t\tcurX = point._x;\n\t\t\t\tcurY = point._y;\n\t\t\t}\n\t\t\tif (first) {\n\t\t\t\tctx.moveTo(curX, curY);\n\t\t\t\tfirst = false;\n\t\t\t} else {\n\t\t\t\tif (matrix) {\n\t\t\t\t\tinX = coords[2];\n\t\t\t\t\tinY = coords[3];\n\t\t\t\t} else {\n\t\t\t\t\tvar handle = segment._handleIn;\n\t\t\t\t\tinX = curX + handle._x;\n\t\t\t\t\tinY = curY + handle._y;\n\t\t\t\t}\n\t\t\t\tif (inX === curX && inY === curY\n\t\t\t\t\t\t&& outX === prevX && outY === prevY) {\n\t\t\t\t\tctx.lineTo(curX, curY);\n\t\t\t\t} else {\n\t\t\t\t\tctx.bezierCurveTo(outX, outY, inX, inY, curX, curY);\n\t\t\t\t}\n\t\t\t}\n\t\t\tprevX = curX;\n\t\t\tprevY = curY;\n\t\t\tif (matrix) {\n\t\t\t\toutX = coords[4];\n\t\t\t\toutY = coords[5];\n\t\t\t} else {\n\t\t\t\tvar handle = segment._handleOut;\n\t\t\t\toutX = prevX + handle._x;\n\t\t\t\toutY = prevY + handle._y;\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\tdrawSegment(segments[i]);\n\t\tif (path._closed && length > 0)\n\t\t\tdrawSegment(segments[0]);\n\t}\n\n\treturn {\n\t\t_draw: function(ctx, param, viewMatrix, strokeMatrix) {\n\t\t\tvar dontStart = param.dontStart,\n\t\t\t\tdontPaint = param.dontFinish || param.clip,\n\t\t\t\tstyle = this.getStyle(),\n\t\t\t\thasFill = style.hasFill(),\n\t\t\t\thasStroke = style.hasStroke(),\n\t\t\t\tdashArray = style.getDashArray(),\n\t\t\t\tdashLength = !paper.support.nativeDash && hasStroke\n\t\t\t\t\t\t&& dashArray && dashArray.length;\n\n\t\t\tif (!dontStart)\n\t\t\t\tctx.beginPath();\n\n\t\t\tif (hasFill || hasStroke && !dashLength || dontPaint) {\n\t\t\t\tdrawSegments(ctx, this, strokeMatrix);\n\t\t\t\tif (this._closed)\n\t\t\t\t\tctx.closePath();\n\t\t\t}\n\n\t\t\tfunction getOffset(i) {\n\t\t\t\treturn dashArray[((i % dashLength) + dashLength) % dashLength];\n\t\t\t}\n\n\t\t\tif (!dontPaint && (hasFill || hasStroke)) {\n\t\t\t\tthis._setStyles(ctx, param, viewMatrix);\n\t\t\t\tif (hasFill) {\n\t\t\t\t\tctx.fill(style.getFillRule());\n\t\t\t\t\tctx.shadowColor = 'rgba(0,0,0,0)';\n\t\t\t\t}\n\t\t\t\tif (hasStroke) {\n\t\t\t\t\tif (dashLength) {\n\t\t\t\t\t\tif (!dontStart)\n\t\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t\tvar flattener = new PathFlattener(this, 0.25, 32, false,\n\t\t\t\t\t\t\t\tstrokeMatrix),\n\t\t\t\t\t\t\tlength = flattener.length,\n\t\t\t\t\t\t\tfrom = -style.getDashOffset(), to,\n\t\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\tfrom = from % length;\n\t\t\t\t\t\twhile (from > 0) {\n\t\t\t\t\t\t\tfrom -= getOffset(i--) + getOffset(i--);\n\t\t\t\t\t\t}\n\t\t\t\t\t\twhile (from < length) {\n\t\t\t\t\t\t\tto = from + getOffset(i++);\n\t\t\t\t\t\t\tif (from > 0 || to > 0)\n\t\t\t\t\t\t\t\tflattener.drawPart(ctx,\n\t\t\t\t\t\t\t\t\t\tMath.max(from, 0), Math.max(to, 0));\n\t\t\t\t\t\t\tfrom = to + getOffset(i++);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tctx.stroke();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_drawSelected: function(ctx, matrix) {\n\t\t\tctx.beginPath();\n\t\t\tdrawSegments(ctx, this, matrix);\n\t\t\tctx.stroke();\n\t\t\tdrawHandles(ctx, this._segments, matrix, paper.settings.handleSize,\n\t\t\t\tthis.isFullySelected());\n\t\t}\n\t};\n},\nnew function() {\n\tfunction getCurrentSegment(that) {\n\t\tvar segments = that._segments;\n\t\tif (!segments.length)\n\t\t\tthrow new Error('Use a moveTo() command first');\n\t\treturn segments[segments.length - 1];\n\t}\n\n\treturn {\n\t\tmoveTo: function() {\n\t\t\tvar segments = this._segments;\n\t\t\tif (segments.length === 1)\n\t\t\t\tthis.removeSegment(0);\n\t\t\tif (!segments.length)\n\t\t\t\tthis._add([ new Segment(Point.read(arguments)) ]);\n\t\t},\n\n\t\tmoveBy: function() {\n\t\t\tthrow new Error('moveBy() is unsupported on Path items.');\n\t\t},\n\n\t\tlineTo: function() {\n\t\t\tthis._add([ new Segment(Point.read(arguments)) ]);\n\t\t},\n\n\t\tcubicCurveTo: function() {\n\t\t\tvar handle1 = Point.read(arguments),\n\t\t\t\thandle2 = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this);\n\t\t\tcurrent.setHandleOut(handle1.subtract(current._point));\n\t\t\tthis._add([ new Segment(to, handle2.subtract(to)) ]);\n\t\t},\n\n\t\tquadraticCurveTo: function() {\n\t\t\tvar handle = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this)._point;\n\t\t\tthis.cubicCurveTo(\n\t\t\t\thandle.add(current.subtract(handle).multiply(1 / 3)),\n\t\t\t\thandle.add(to.subtract(handle).multiply(1 / 3)),\n\t\t\t\tto\n\t\t\t);\n\t\t},\n\n\t\tcurveTo: function() {\n\t\t\tvar through = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tt = Base.pick(Base.read(arguments), 0.5),\n\t\t\t\tt1 = 1 - t,\n\t\t\t\tcurrent = getCurrentSegment(this)._point,\n\t\t\t\thandle = through.subtract(current.multiply(t1 * t1))\n\t\t\t\t\t.subtract(to.multiply(t * t)).divide(2 * t * t1);\n\t\t\tif (handle.isNaN())\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Cannot put a curve through points with parameter = ' + t);\n\t\t\tthis.quadraticCurveTo(handle, to);\n\t\t},\n\n\t\tarcTo: function() {\n\t\t\tvar abs = Math.abs,\n\t\t\t\tsqrt = Math.sqrt,\n\t\t\t\tcurrent = getCurrentSegment(this),\n\t\t\t\tfrom = current._point,\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tthrough,\n\t\t\t\tpeek = Base.peek(arguments),\n\t\t\t\tclockwise = Base.pick(peek, true),\n\t\t\t\tcenter, extent, vector, matrix;\n\t\t\tif (typeof clockwise === 'boolean') {\n\t\t\t\tvar middle = from.add(to).divide(2),\n\t\t\t\tthrough = middle.add(middle.subtract(from).rotate(\n\t\t\t\t\t\tclockwise ? -90 : 90));\n\t\t\t} else if (Base.remain(arguments) <= 2) {\n\t\t\t\tthrough = to;\n\t\t\t\tto = Point.read(arguments);\n\t\t\t} else {\n\t\t\t\tvar radius = Size.read(arguments),\n\t\t\t\t\tisZero = Numerical.isZero;\n\t\t\t\tif (isZero(radius.width) || isZero(radius.height))\n\t\t\t\t\treturn this.lineTo(to);\n\t\t\t\tvar rotation = Base.read(arguments),\n\t\t\t\t\tclockwise = !!Base.read(arguments),\n\t\t\t\t\tlarge = !!Base.read(arguments),\n\t\t\t\t\tmiddle = from.add(to).divide(2),\n\t\t\t\t\tpt = from.subtract(middle).rotate(-rotation),\n\t\t\t\t\tx = pt.x,\n\t\t\t\t\ty = pt.y,\n\t\t\t\t\trx = abs(radius.width),\n\t\t\t\t\try = abs(radius.height),\n\t\t\t\t\trxSq = rx * rx,\n\t\t\t\t\trySq = ry * ry,\n\t\t\t\t\txSq = x * x,\n\t\t\t\t\tySq = y * y;\n\t\t\t\tvar factor = sqrt(xSq / rxSq + ySq / rySq);\n\t\t\t\tif (factor > 1) {\n\t\t\t\t\trx *= factor;\n\t\t\t\t\try *= factor;\n\t\t\t\t\trxSq = rx * rx;\n\t\t\t\t\trySq = ry * ry;\n\t\t\t\t}\n\t\t\t\tfactor = (rxSq * rySq - rxSq * ySq - rySq * xSq) /\n\t\t\t\t\t\t(rxSq * ySq + rySq * xSq);\n\t\t\t\tif (abs(factor) < 1e-12)\n\t\t\t\t\tfactor = 0;\n\t\t\t\tif (factor < 0)\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'Cannot create an arc with the given arguments');\n\t\t\t\tcenter = new Point(rx * y / ry, -ry * x / rx)\n\t\t\t\t\t\t.multiply((large === clockwise ? -1 : 1) * sqrt(factor))\n\t\t\t\t\t\t.rotate(rotation).add(middle);\n\t\t\t\tmatrix = new Matrix().translate(center).rotate(rotation)\n\t\t\t\t\t\t.scale(rx, ry);\n\t\t\t\tvector = matrix._inverseTransform(from);\n\t\t\t\textent = vector.getDirectedAngle(matrix._inverseTransform(to));\n\t\t\t\tif (!clockwise && extent > 0)\n\t\t\t\t\textent -= 360;\n\t\t\t\telse if (clockwise && extent < 0)\n\t\t\t\t\textent += 360;\n\t\t\t}\n\t\t\tif (through) {\n\t\t\t\tvar l1 = new Line(from.add(through).divide(2),\n\t\t\t\t\t\t\tthrough.subtract(from).rotate(90), true),\n\t\t\t\t\tl2 = new Line(through.add(to).divide(2),\n\t\t\t\t\t\t\tto.subtract(through).rotate(90), true),\n\t\t\t\t\tline = new Line(from, to),\n\t\t\t\t\tthroughSide = line.getSide(through);\n\t\t\t\tcenter = l1.intersect(l2, true);\n\t\t\t\tif (!center) {\n\t\t\t\t\tif (!throughSide)\n\t\t\t\t\t\treturn this.lineTo(to);\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'Cannot create an arc with the given arguments');\n\t\t\t\t}\n\t\t\t\tvector = from.subtract(center);\n\t\t\t\textent = vector.getDirectedAngle(to.subtract(center));\n\t\t\t\tvar centerSide = line.getSide(center, true);\n\t\t\t\tif (centerSide === 0) {\n\t\t\t\t\textent = throughSide * abs(extent);\n\t\t\t\t} else if (throughSide === centerSide) {\n\t\t\t\t\textent += extent < 0 ? 360 : -360;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar epsilon = 1e-7,\n\t\t\t\text = abs(extent),\n\t\t\t\tcount = ext >= 360 ? 4 : Math.ceil((ext - epsilon) / 90),\n\t\t\t\tinc = extent / count,\n\t\t\t\thalf = inc * Math.PI / 360,\n\t\t\t\tz = 4 / 3 * Math.sin(half) / (1 + Math.cos(half)),\n\t\t\t\tsegments = [];\n\t\t\tfor (var i = 0; i <= count; i++) {\n\t\t\t\tvar pt = to,\n\t\t\t\t\tout = null;\n\t\t\t\tif (i < count) {\n\t\t\t\t\tout = vector.rotate(90).multiply(z);\n\t\t\t\t\tif (matrix) {\n\t\t\t\t\t\tpt = matrix._transformPoint(vector);\n\t\t\t\t\t\tout = matrix._transformPoint(vector.add(out))\n\t\t\t\t\t\t\t\t.subtract(pt);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpt = center.add(vector);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!i) {\n\t\t\t\t\tcurrent.setHandleOut(out);\n\t\t\t\t} else {\n\t\t\t\t\tvar _in = vector.rotate(-90).multiply(z);\n\t\t\t\t\tif (matrix) {\n\t\t\t\t\t\t_in = matrix._transformPoint(vector.add(_in))\n\t\t\t\t\t\t\t\t.subtract(pt);\n\t\t\t\t\t}\n\t\t\t\t\tsegments.push(new Segment(pt, _in, out));\n\t\t\t\t}\n\t\t\t\tvector = vector.rotate(inc);\n\t\t\t}\n\t\t\tthis._add(segments);\n\t\t},\n\n\t\tlineBy: function() {\n\t\t\tvar to = Point.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this)._point;\n\t\t\tthis.lineTo(current.add(to));\n\t\t},\n\n\t\tcurveBy: function() {\n\t\t\tvar through = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tparameter = Base.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this)._point;\n\t\t\tthis.curveTo(current.add(through), current.add(to), parameter);\n\t\t},\n\n\t\tcubicCurveBy: function() {\n\t\t\tvar handle1 = Point.read(arguments),\n\t\t\t\thandle2 = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this)._point;\n\t\t\tthis.cubicCurveTo(current.add(handle1), current.add(handle2),\n\t\t\t\t\tcurrent.add(to));\n\t\t},\n\n\t\tquadraticCurveBy: function() {\n\t\t\tvar handle = Point.read(arguments),\n\t\t\t\tto = Point.read(arguments),\n\t\t\t\tcurrent = getCurrentSegment(this)._point;\n\t\t\tthis.quadraticCurveTo(current.add(handle), current.add(to));\n\t\t},\n\n\t\tarcBy: function() {\n\t\t\tvar current = getCurrentSegment(this)._point,\n\t\t\t\tpoint = current.add(Point.read(arguments)),\n\t\t\t\tclockwise = Base.pick(Base.peek(arguments), true);\n\t\t\tif (typeof clockwise === 'boolean') {\n\t\t\t\tthis.arcTo(point, clockwise);\n\t\t\t} else {\n\t\t\t\tthis.arcTo(point, current.add(Point.read(arguments)));\n\t\t\t}\n\t\t},\n\n\t\tclosePath: function(tolerance) {\n\t\t\tthis.setClosed(true);\n\t\t\tthis.join(this, tolerance);\n\t\t}\n\t};\n}, {\n\n\t_getBounds: function(matrix, options) {\n\t\tvar method = options.handle\n\t\t\t\t? 'getHandleBounds'\n\t\t\t\t: options.stroke\n\t\t\t\t? 'getStrokeBounds'\n\t\t\t\t: 'getBounds';\n\t\treturn Path[method](this._segments, this._closed, this, matrix, options);\n\t},\n\nstatics: {\n\tgetBounds: function(segments, closed, path, matrix, options, strokePadding) {\n\t\tvar first = segments[0];\n\t\tif (!first)\n\t\t\treturn new Rectangle();\n\t\tvar coords = new Array(6),\n\t\t\tprevCoords = first._transformCoordinates(matrix, new Array(6)),\n\t\t\tmin = prevCoords.slice(0, 2),\n\t\t\tmax = min.slice(),\n\t\t\troots = new Array(2);\n\n\t\tfunction processSegment(segment) {\n\t\t\tsegment._transformCoordinates(matrix, coords);\n\t\t\tfor (var i = 0; i < 2; i++) {\n\t\t\t\tCurve._addBounds(\n\t\t\t\t\tprevCoords[i],\n\t\t\t\t\tprevCoords[i + 4],\n\t\t\t\t\tcoords[i + 2],\n\t\t\t\t\tcoords[i],\n\t\t\t\t\ti, strokePadding ? strokePadding[i] : 0, min, max, roots);\n\t\t\t}\n\t\t\tvar tmp = prevCoords;\n\t\t\tprevCoords = coords;\n\t\t\tcoords = tmp;\n\t\t}\n\n\t\tfor (var i = 1, l = segments.length; i < l; i++)\n\t\t\tprocessSegment(segments[i]);\n\t\tif (closed)\n\t\t\tprocessSegment(first);\n\t\treturn new Rectangle(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n\t},\n\n\tgetStrokeBounds: function(segments, closed, path, matrix, options) {\n\t\tvar style = path.getStyle(),\n\t\t\tstroke = style.hasStroke(),\n\t\t\tstrokeWidth = style.getStrokeWidth(),\n\t\t\tstrokeMatrix = stroke && path._getStrokeMatrix(matrix, options),\n\t\t\tstrokePadding = stroke && Path._getStrokePadding(strokeWidth,\n\t\t\t\tstrokeMatrix),\n\t\t\tbounds = Path.getBounds(segments, closed, path, matrix, options,\n\t\t\t\tstrokePadding);\n\t\tif (!stroke)\n\t\t\treturn bounds;\n\t\tvar strokeRadius = strokeWidth / 2,\n\t\t\tjoin = style.getStrokeJoin(),\n\t\t\tcap = style.getStrokeCap(),\n\t\t\tmiterLimit = style.getMiterLimit(),\n\t\t\tjoinBounds = new Rectangle(new Size(strokePadding));\n\n\t\tfunction addPoint(point) {\n\t\t\tbounds = bounds.include(point);\n\t\t}\n\n\t\tfunction addRound(segment) {\n\t\t\tbounds = bounds.unite(\n\t\t\t\t\tjoinBounds.setCenter(segment._point.transform(matrix)));\n\t\t}\n\n\t\tfunction addJoin(segment, join) {\n\t\t\tif (join === 'round' || segment.isSmooth()) {\n\t\t\t\taddRound(segment);\n\t\t\t} else {\n\t\t\t\tPath._addBevelJoin(segment, join, strokeRadius, miterLimit,\n\t\t\t\t\t\tmatrix, strokeMatrix, addPoint);\n\t\t\t}\n\t\t}\n\n\t\tfunction addCap(segment, cap) {\n\t\t\tif (cap === 'round') {\n\t\t\t\taddRound(segment);\n\t\t\t} else {\n\t\t\t\tPath._addSquareCap(segment, cap, strokeRadius, matrix,\n\t\t\t\t\t\tstrokeMatrix, addPoint);\n\t\t\t}\n\t\t}\n\n\t\tvar length = segments.length - (closed ? 0 : 1);\n\t\tfor (var i = 1; i < length; i++)\n\t\t\taddJoin(segments[i], join);\n\t\tif (closed) {\n\t\t\taddJoin(segments[0], join);\n\t\t} else if (length > 0) {\n\t\t\taddCap(segments[0], cap);\n\t\t\taddCap(segments[segments.length - 1], cap);\n\t\t}\n\t\treturn bounds;\n\t},\n\n\t_getStrokePadding: function(radius, matrix) {\n\t\tif (!matrix)\n\t\t\treturn [radius, radius];\n\t\tvar hor = new Point(radius, 0).transform(matrix),\n\t\t\tver = new Point(0, radius).transform(matrix),\n\t\t\tphi = hor.getAngleInRadians(),\n\t\t\ta = hor.getLength(),\n\t\t\tb = ver.getLength();\n\t\tvar sin = Math.sin(phi),\n\t\t\tcos = Math.cos(phi),\n\t\t\ttan = Math.tan(phi),\n\t\t\ttx = Math.atan2(b * tan, a),\n\t\t\tty = Math.atan2(b, tan * a);\n\t\treturn [Math.abs(a * Math.cos(tx) * cos + b * Math.sin(tx) * sin),\n\t\t\t\tMath.abs(b * Math.sin(ty) * cos + a * Math.cos(ty) * sin)];\n\t},\n\n\t_addBevelJoin: function(segment, join, radius, miterLimit, matrix,\n\t\t\tstrokeMatrix, addPoint, isArea) {\n\t\tvar curve2 = segment.getCurve(),\n\t\t\tcurve1 = curve2.getPrevious(),\n\t\t\tpoint = curve2.getPoint1().transform(matrix),\n\t\t\tnormal1 = curve1.getNormalAtTime(1).multiply(radius)\n\t\t\t\t.transform(strokeMatrix),\n\t\t\tnormal2 = curve2.getNormalAtTime(0).multiply(radius)\n\t\t\t\t.transform(strokeMatrix);\n\t\tif (normal1.getDirectedAngle(normal2) < 0) {\n\t\t\tnormal1 = normal1.negate();\n\t\t\tnormal2 = normal2.negate();\n\t\t}\n\t\tif (isArea)\n\t\t\taddPoint(point);\n\t\taddPoint(point.add(normal1));\n\t\tif (join === 'miter') {\n\t\t\tvar corner = new Line(point.add(normal1),\n\t\t\t\t\tnew Point(-normal1.y, normal1.x), true\n\t\t\t\t).intersect(new Line(point.add(normal2),\n\t\t\t\t\tnew Point(-normal2.y, normal2.x), true\n\t\t\t\t), true);\n\t\t\tif (corner && point.getDistance(corner) <= miterLimit * radius) {\n\t\t\t\taddPoint(corner);\n\t\t\t}\n\t\t}\n\t\taddPoint(point.add(normal2));\n\t},\n\n\t_addSquareCap: function(segment, cap, radius, matrix, strokeMatrix,\n\t\t\taddPoint, isArea) {\n\t\tvar point = segment._point.transform(matrix),\n\t\t\tloc = segment.getLocation(),\n\t\t\tnormal = loc.getNormal()\n\t\t\t\t\t.multiply(loc.getTime() === 0 ? radius : -radius)\n\t\t\t\t\t.transform(strokeMatrix);\n\t\tif (cap === 'square') {\n\t\t\tif (isArea) {\n\t\t\t\taddPoint(point.subtract(normal));\n\t\t\t\taddPoint(point.add(normal));\n\t\t\t}\n\t\t\tpoint = point.add(normal.rotate(-90));\n\t\t}\n\t\taddPoint(point.add(normal));\n\t\taddPoint(point.subtract(normal));\n\t},\n\n\tgetHandleBounds: function(segments, closed, path, matrix, options) {\n\t\tvar style = path.getStyle(),\n\t\t\tstroke = options.stroke && style.hasStroke(),\n\t\t\tstrokePadding,\n\t\t\tjoinPadding;\n\t\tif (stroke) {\n\t\t\tvar strokeMatrix = path._getStrokeMatrix(matrix, options),\n\t\t\t\tstrokeRadius = style.getStrokeWidth() / 2,\n\t\t\t\tjoinRadius = strokeRadius;\n\t\t\tif (style.getStrokeJoin() === 'miter')\n\t\t\t\tjoinRadius = strokeRadius * style.getMiterLimit();\n\t\t\tif (style.getStrokeCap() === 'square')\n\t\t\t\tjoinRadius = Math.max(joinRadius, strokeRadius * Math.SQRT2);\n\t\t\tstrokePadding = Path._getStrokePadding(strokeRadius, strokeMatrix);\n\t\t\tjoinPadding = Path._getStrokePadding(joinRadius, strokeMatrix);\n\t\t}\n\t\tvar coords = new Array(6),\n\t\t\tx1 = Infinity,\n\t\t\tx2 = -x1,\n\t\t\ty1 = x1,\n\t\t\ty2 = x2;\n\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\tvar segment = segments[i];\n\t\t\tsegment._transformCoordinates(matrix, coords);\n\t\t\tfor (var j = 0; j < 6; j += 2) {\n\t\t\t\tvar padding = !j ? joinPadding : strokePadding,\n\t\t\t\t\tpaddingX = padding ? padding[0] : 0,\n\t\t\t\t\tpaddingY = padding ? padding[1] : 0,\n\t\t\t\t\tx = coords[j],\n\t\t\t\t\ty = coords[j + 1],\n\t\t\t\t\txn = x - paddingX,\n\t\t\t\t\txx = x + paddingX,\n\t\t\t\t\tyn = y - paddingY,\n\t\t\t\t\tyx = y + paddingY;\n\t\t\t\tif (xn < x1) x1 = xn;\n\t\t\t\tif (xx > x2) x2 = xx;\n\t\t\t\tif (yn < y1) y1 = yn;\n\t\t\t\tif (yx > y2) y2 = yx;\n\t\t\t}\n\t\t}\n\t\treturn new Rectangle(x1, y1, x2 - x1, y2 - y1);\n\t}\n}});\n\nPath.inject({ statics: new function() {\n\n\tvar kappa = 0.5522847498307936,\n\t\tellipseSegments = [\n\t\t\tnew Segment([-1, 0], [0, kappa ], [0, -kappa]),\n\t\t\tnew Segment([0, -1], [-kappa, 0], [kappa, 0 ]),\n\t\t\tnew Segment([1, 0], [0, -kappa], [0, kappa ]),\n\t\t\tnew Segment([0, 1], [kappa, 0 ], [-kappa, 0])\n\t\t];\n\n\tfunction createPath(segments, closed, args) {\n\t\tvar props = Base.getNamed(args),\n\t\t\tpath = new Path(props && props.insert == false && Item.NO_INSERT);\n\t\tpath._add(segments);\n\t\tpath._closed = closed;\n\t\treturn path.set(props, { insert: true });\n\t}\n\n\tfunction createEllipse(center, radius, args) {\n\t\tvar segments = new Array(4);\n\t\tfor (var i = 0; i < 4; i++) {\n\t\t\tvar segment = ellipseSegments[i];\n\t\t\tsegments[i] = new Segment(\n\t\t\t\tsegment._point.multiply(radius).add(center),\n\t\t\t\tsegment._handleIn.multiply(radius),\n\t\t\t\tsegment._handleOut.multiply(radius)\n\t\t\t);\n\t\t}\n\t\treturn createPath(segments, true, args);\n\t}\n\n\treturn {\n\t\tLine: function() {\n\t\t\treturn createPath([\n\t\t\t\tnew Segment(Point.readNamed(arguments, 'from')),\n\t\t\t\tnew Segment(Point.readNamed(arguments, 'to'))\n\t\t\t], false, arguments);\n\t\t},\n\n\t\tCircle: function() {\n\t\t\tvar center = Point.readNamed(arguments, 'center'),\n\t\t\t\tradius = Base.readNamed(arguments, 'radius');\n\t\t\treturn createEllipse(center, new Size(radius), arguments);\n\t\t},\n\n\t\tRectangle: function() {\n\t\t\tvar rect = Rectangle.readNamed(arguments, 'rectangle'),\n\t\t\t\tradius = Size.readNamed(arguments, 'radius', 0,\n\t\t\t\t\t\t{ readNull: true }),\n\t\t\t\tbl = rect.getBottomLeft(true),\n\t\t\t\ttl = rect.getTopLeft(true),\n\t\t\t\ttr = rect.getTopRight(true),\n\t\t\t\tbr = rect.getBottomRight(true),\n\t\t\t\tsegments;\n\t\t\tif (!radius || radius.isZero()) {\n\t\t\t\tsegments = [\n\t\t\t\t\tnew Segment(bl),\n\t\t\t\t\tnew Segment(tl),\n\t\t\t\t\tnew Segment(tr),\n\t\t\t\t\tnew Segment(br)\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\tradius = Size.min(radius, rect.getSize(true).divide(2));\n\t\t\t\tvar rx = radius.width,\n\t\t\t\t\try = radius.height,\n\t\t\t\t\thx = rx * kappa,\n\t\t\t\t\thy = ry * kappa;\n\t\t\t\tsegments = [\n\t\t\t\t\tnew Segment(bl.add(rx, 0), null, [-hx, 0]),\n\t\t\t\t\tnew Segment(bl.subtract(0, ry), [0, hy]),\n\t\t\t\t\tnew Segment(tl.add(0, ry), null, [0, -hy]),\n\t\t\t\t\tnew Segment(tl.add(rx, 0), [-hx, 0], null),\n\t\t\t\t\tnew Segment(tr.subtract(rx, 0), null, [hx, 0]),\n\t\t\t\t\tnew Segment(tr.add(0, ry), [0, -hy], null),\n\t\t\t\t\tnew Segment(br.subtract(0, ry), null, [0, hy]),\n\t\t\t\t\tnew Segment(br.subtract(rx, 0), [hx, 0])\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn createPath(segments, true, arguments);\n\t\t},\n\n\t\tRoundRectangle: '#Rectangle',\n\n\t\tEllipse: function() {\n\t\t\tvar ellipse = Shape._readEllipse(arguments);\n\t\t\treturn createEllipse(ellipse.center, ellipse.radius, arguments);\n\t\t},\n\n\t\tOval: '#Ellipse',\n\n\t\tArc: function() {\n\t\t\tvar from = Point.readNamed(arguments, 'from'),\n\t\t\t\tthrough = Point.readNamed(arguments, 'through'),\n\t\t\t\tto = Point.readNamed(arguments, 'to'),\n\t\t\t\tprops = Base.getNamed(arguments),\n\t\t\t\tpath = new Path(props && props.insert == false\n\t\t\t\t\t\t&& Item.NO_INSERT);\n\t\t\tpath.moveTo(from);\n\t\t\tpath.arcTo(through, to);\n\t\t\treturn path.set(props);\n\t\t},\n\n\t\tRegularPolygon: function() {\n\t\t\tvar center = Point.readNamed(arguments, 'center'),\n\t\t\t\tsides = Base.readNamed(arguments, 'sides'),\n\t\t\t\tradius = Base.readNamed(arguments, 'radius'),\n\t\t\t\tstep = 360 / sides,\n\t\t\t\tthree = sides % 3 === 0,\n\t\t\t\tvector = new Point(0, three ? -radius : radius),\n\t\t\t\toffset = three ? -1 : 0.5,\n\t\t\t\tsegments = new Array(sides);\n\t\t\tfor (var i = 0; i < sides; i++)\n\t\t\t\tsegments[i] = new Segment(center.add(\n\t\t\t\t\tvector.rotate((i + offset) * step)));\n\t\t\treturn createPath(segments, true, arguments);\n\t\t},\n\n\t\tStar: function() {\n\t\t\tvar center = Point.readNamed(arguments, 'center'),\n\t\t\t\tpoints = Base.readNamed(arguments, 'points') * 2,\n\t\t\t\tradius1 = Base.readNamed(arguments, 'radius1'),\n\t\t\t\tradius2 = Base.readNamed(arguments, 'radius2'),\n\t\t\t\tstep = 360 / points,\n\t\t\t\tvector = new Point(0, -1),\n\t\t\t\tsegments = new Array(points);\n\t\t\tfor (var i = 0; i < points; i++)\n\t\t\t\tsegments[i] = new Segment(center.add(vector.rotate(step * i)\n\t\t\t\t\t\t.multiply(i % 2 ? radius2 : radius1)));\n\t\t\treturn createPath(segments, true, arguments);\n\t\t}\n\t};\n}});\n\nvar CompoundPath = PathItem.extend({\n\t_class: 'CompoundPath',\n\t_serializeFields: {\n\t\tchildren: []\n\t},\n\tbeans: true,\n\n\tinitialize: function CompoundPath(arg) {\n\t\tthis._children = [];\n\t\tthis._namedChildren = {};\n\t\tif (!this._initialize(arg)) {\n\t\t\tif (typeof arg === 'string') {\n\t\t\t\tthis.setPathData(arg);\n\t\t\t} else {\n\t\t\t\tthis.addChildren(Array.isArray(arg) ? arg : arguments);\n\t\t\t}\n\t\t}\n\t},\n\n\tinsertChildren: function insertChildren(index, items) {\n\t\tvar list = items,\n\t\t\tfirst = list[0];\n\t\tif (first && typeof first[0] === 'number')\n\t\t\tlist = [list];\n\t\tfor (var i = items.length - 1; i >= 0; i--) {\n\t\t\tvar item = list[i];\n\t\t\tif (list === items && !(item instanceof Path))\n\t\t\t\tlist = Base.slice(list);\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tlist[i] = new Path({ segments: item, insert: false });\n\t\t\t} else if (item instanceof CompoundPath) {\n\t\t\t\tlist.splice.apply(list, [i, 1].concat(item.removeChildren()));\n\t\t\t\titem.remove();\n\t\t\t}\n\t\t}\n\t\treturn insertChildren.base.call(this, index, list);\n\t},\n\n\treduce: function reduce(options) {\n\t\tvar children = this._children;\n\t\tfor (var i = children.length - 1; i >= 0; i--) {\n\t\t\tvar path = children[i].reduce(options);\n\t\t\tif (path.isEmpty())\n\t\t\t\tpath.remove();\n\t\t}\n\t\tif (!children.length) {\n\t\t\tvar path = new Path(Item.NO_INSERT);\n\t\t\tpath.copyAttributes(this);\n\t\t\tpath.insertAbove(this);\n\t\t\tthis.remove();\n\t\t\treturn path;\n\t\t}\n\t\treturn reduce.base.call(this);\n\t},\n\n\tisClosed: function() {\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tif (!children[i]._closed)\n\t\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\tsetClosed: function(closed) {\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tchildren[i].setClosed(closed);\n\t\t}\n\t},\n\n\tgetFirstSegment: function() {\n\t\tvar first = this.getFirstChild();\n\t\treturn first && first.getFirstSegment();\n\t},\n\n\tgetLastSegment: function() {\n\t\tvar last = this.getLastChild();\n\t\treturn last && last.getLastSegment();\n\t},\n\n\tgetCurves: function() {\n\t\tvar children = this._children,\n\t\t\tcurves = [];\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tBase.push(curves, children[i].getCurves());\n\t\t}\n\t\treturn curves;\n\t},\n\n\tgetFirstCurve: function() {\n\t\tvar first = this.getFirstChild();\n\t\treturn first && first.getFirstCurve();\n\t},\n\n\tgetLastCurve: function() {\n\t\tvar last = this.getLastChild();\n\t\treturn last && last.getLastCurve();\n\t},\n\n\tgetArea: function() {\n\t\tvar children = this._children,\n\t\t\tarea = 0;\n\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\tarea += children[i].getArea();\n\t\treturn area;\n\t},\n\n\tgetLength: function() {\n\t\tvar children = this._children,\n\t\t\tlength = 0;\n\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\tlength += children[i].getLength();\n\t\treturn length;\n\t},\n\n\tgetPathData: function(_matrix, _precision) {\n\t\tvar children = this._children,\n\t\t\tpaths = [];\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tvar child = children[i],\n\t\t\t\tmx = child._matrix;\n\t\t\tpaths.push(child.getPathData(_matrix && !mx.isIdentity()\n\t\t\t\t\t? _matrix.appended(mx) : _matrix, _precision));\n\t\t}\n\t\treturn paths.join('');\n\t},\n\n\t_hitTestChildren: function _hitTestChildren(point, options, viewMatrix) {\n\t\treturn _hitTestChildren.base.call(this, point,\n\t\t\t\toptions.class === Path || options.type === 'path' || options.hitUnfilledPaths ? options\n\t\t\t\t\t: Base.set({}, options, { fill: false }),\n\t\t\t\tviewMatrix);\n\t},\n\n\t_draw: function(ctx, param, viewMatrix, strokeMatrix) {\n\t\tvar children = this._children;\n\t\tif (!children.length)\n\t\t\treturn;\n\n\t\tparam = param.extend({ dontStart: true, dontFinish: true });\n\t\tctx.beginPath();\n\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\tchildren[i].draw(ctx, param, strokeMatrix);\n\n\t\tif (!param.clip) {\n\t\t\tthis._setStyles(ctx, param, viewMatrix);\n\t\t\tvar style = this._style;\n\t\t\tif (style.hasFill()) {\n\t\t\t\tctx.fill(style.getFillRule());\n\t\t\t\tctx.shadowColor = 'rgba(0,0,0,0)';\n\t\t\t}\n\t\t\tif (style.hasStroke())\n\t\t\t\tctx.stroke();\n\t\t}\n\t},\n\n\t_drawSelected: function(ctx, matrix, selectionItems) {\n\t\tvar children = this._children;\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tvar child = children[i],\n\t\t\t\tmx = child._matrix;\n\t\t\tif (!selectionItems[child._id]) {\n\t\t\t\tchild._drawSelected(ctx, mx.isIdentity() ? matrix\n\t\t\t\t\t\t: matrix.appended(mx));\n\t\t\t}\n\t\t}\n\t}\n},\nnew function() {\n\tfunction getCurrentPath(that, check) {\n\t\tvar children = that._children;\n\t\tif (check && !children.length)\n\t\t\tthrow new Error('Use a moveTo() command first');\n\t\treturn children[children.length - 1];\n\t}\n\n\treturn Base.each(['lineTo', 'cubicCurveTo', 'quadraticCurveTo', 'curveTo',\n\t\t\t'arcTo', 'lineBy', 'cubicCurveBy', 'quadraticCurveBy', 'curveBy',\n\t\t\t'arcBy'],\n\t\tfunction(key) {\n\t\t\tthis[key] = function() {\n\t\t\t\tvar path = getCurrentPath(this, true);\n\t\t\t\tpath[key].apply(path, arguments);\n\t\t\t};\n\t\t}, {\n\t\t\tmoveTo: function() {\n\t\t\t\tvar current = getCurrentPath(this),\n\t\t\t\t\tpath = current && current.isEmpty() ? current\n\t\t\t\t\t\t\t: new Path(Item.NO_INSERT);\n\t\t\t\tif (path !== current)\n\t\t\t\t\tthis.addChild(path);\n\t\t\t\tpath.moveTo.apply(path, arguments);\n\t\t\t},\n\n\t\t\tmoveBy: function() {\n\t\t\t\tvar current = getCurrentPath(this, true),\n\t\t\t\t\tlast = current && current.getLastSegment(),\n\t\t\t\t\tpoint = Point.read(arguments);\n\t\t\t\tthis.moveTo(last ? point.add(last._point) : point);\n\t\t\t},\n\n\t\t\tclosePath: function(tolerance) {\n\t\t\t\tgetCurrentPath(this, true).closePath(tolerance);\n\t\t\t}\n\t\t}\n\t);\n}, Base.each(['reverse', 'flatten', 'simplify', 'smooth'], function(key) {\n\tthis[key] = function(param) {\n\t\tvar children = this._children,\n\t\t\tres;\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tres = children[i][key](param) || res;\n\t\t}\n\t\treturn res;\n\t};\n}, {}));\n\nPathItem.inject(new function() {\n\tvar min = Math.min,\n\t\tmax = Math.max,\n\t\tabs = Math.abs,\n\t\toperators = {\n\t\t\tunite: { '1': true, '2': true },\n\t\t\tintersect: { '2': true },\n\t\t\tsubtract: { '1': true },\n\t\t\texclude: { '1': true, '-1': true }\n\t\t};\n\n\tfunction preparePath(path, resolve) {\n\t\tvar res = path.clone(false).reduce({ simplify: true })\n\t\t\t\t.transform(null, true, true);\n\t\treturn resolve\n\t\t\t\t? res.resolveCrossings().reorient(\n\t\t\t\t\tres.getFillRule() === 'nonzero', true)\n\t\t\t\t: res;\n\t}\n\n\tfunction createResult(paths, simplify, path1, path2, options) {\n\t\tvar result = new CompoundPath(Item.NO_INSERT);\n\t\tresult.addChildren(paths, true);\n\t\tresult = result.reduce({ simplify: simplify });\n\t\tif (!(options && options.insert == false)) {\n\t\t\tresult.insertAbove(path2 && path1.isSibling(path2)\n\t\t\t\t\t&& path1.getIndex() < path2.getIndex() ? path2 : path1);\n\t\t}\n\t\tresult.copyAttributes(path1, true);\n\t\treturn result;\n\t}\n\n\tfunction traceBoolean(path1, path2, operation, options) {\n\t\tif (options && (options.trace == false || options.stroke) &&\n\t\t\t\t/^(subtract|intersect)$/.test(operation))\n\t\t\treturn splitBoolean(path1, path2, operation);\n\t\tvar _path1 = preparePath(path1, true),\n\t\t\t_path2 = path2 && path1 !== path2 && preparePath(path2, true),\n\t\t\toperator = operators[operation];\n\t\toperator[operation] = true;\n\t\tif (_path2 && (operator.subtract || operator.exclude)\n\t\t\t\t^ (_path2.isClockwise() ^ _path1.isClockwise()))\n\t\t\t_path2.reverse();\n\t\tvar crossings = divideLocations(\n\t\t\t\tCurveLocation.expand(_path1.getCrossings(_path2))),\n\t\t\tpaths1 = _path1._children || [_path1],\n\t\t\tpaths2 = _path2 && (_path2._children || [_path2]),\n\t\t\tsegments = [],\n\t\t\tcurves = [],\n\t\t\tpaths;\n\n\t\tfunction collect(paths) {\n\t\t\tfor (var i = 0, l = paths.length; i < l; i++) {\n\t\t\t\tvar path = paths[i];\n\t\t\t\tBase.push(segments, path._segments);\n\t\t\t\tBase.push(curves, path.getCurves());\n\t\t\t\tpath._overlapsOnly = true;\n\t\t\t}\n\t\t}\n\n\t\tif (crossings.length) {\n\t\t\tcollect(paths1);\n\t\t\tif (paths2)\n\t\t\t\tcollect(paths2);\n\t\t\tfor (var i = 0, l = crossings.length; i < l; i++) {\n\t\t\t\tpropagateWinding(crossings[i]._segment, _path1, _path2, curves,\n\t\t\t\t\t\toperator);\n\t\t\t}\n\t\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\t\tvar segment = segments[i],\n\t\t\t\t\tinter = segment._intersection;\n\t\t\t\tif (!segment._winding) {\n\t\t\t\t\tpropagateWinding(segment, _path1, _path2, curves, operator);\n\t\t\t\t}\n\t\t\t\tif (!(inter && inter._overlap))\n\t\t\t\t\tsegment._path._overlapsOnly = false;\n\t\t\t}\n\t\t\tpaths = tracePaths(segments, operator);\n\t\t} else {\n\t\t\tpaths = reorientPaths(\n\t\t\t\t\tpaths2 ? paths1.concat(paths2) : paths1.slice(),\n\t\t\t\t\tfunction(w) {\n\t\t\t\t\t\treturn !!operator[w];\n\t\t\t\t\t});\n\t\t}\n\n\t\treturn createResult(paths, true, path1, path2, options);\n\t}\n\n\tfunction splitBoolean(path1, path2, operation) {\n\t\tvar _path1 = preparePath(path1),\n\t\t\t_path2 = preparePath(path2),\n\t\t\tcrossings = _path1.getCrossings(_path2),\n\t\t\tsubtract = operation === 'subtract',\n\t\t\tdivide = operation === 'divide',\n\t\t\tadded = {},\n\t\t\tpaths = [];\n\n\t\tfunction addPath(path) {\n\t\t\tif (!added[path._id] && (divide ||\n\t\t\t\t\t_path2.contains(path.getPointAt(path.getLength() / 2))\n\t\t\t\t\t\t^ subtract)) {\n\t\t\t\tpaths.unshift(path);\n\t\t\t\treturn added[path._id] = true;\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = crossings.length - 1; i >= 0; i--) {\n\t\t\tvar path = crossings[i].split();\n\t\t\tif (path) {\n\t\t\t\tif (addPath(path))\n\t\t\t\t\tpath.getFirstSegment().setHandleIn(0, 0);\n\t\t\t\t_path1.getLastSegment().setHandleOut(0, 0);\n\t\t\t}\n\t\t}\n\t\taddPath(_path1);\n\t\treturn createResult(paths, false, path1, path2);\n\t}\n\n\tfunction linkIntersections(from, to) {\n\t\tvar prev = from;\n\t\twhile (prev) {\n\t\t\tif (prev === to)\n\t\t\t\treturn;\n\t\t\tprev = prev._previous;\n\t\t}\n\t\twhile (from._next && from._next !== to)\n\t\t\tfrom = from._next;\n\t\tif (!from._next) {\n\t\t\twhile (to._previous)\n\t\t\t\tto = to._previous;\n\t\t\tfrom._next = to;\n\t\t\tto._previous = from;\n\t\t}\n\t}\n\n\tfunction clearCurveHandles(curves) {\n\t\tfor (var i = curves.length - 1; i >= 0; i--)\n\t\t\tcurves[i].clearHandles();\n\t}\n\n\tfunction reorientPaths(paths, isInside, clockwise) {\n\t\tvar length = paths && paths.length;\n\t\tif (length) {\n\t\t\tvar lookup = Base.each(paths, function (path, i) {\n\t\t\t\t\tthis[path._id] = {\n\t\t\t\t\t\tcontainer: null,\n\t\t\t\t\t\twinding: path.isClockwise() ? 1 : -1,\n\t\t\t\t\t\tindex: i\n\t\t\t\t\t};\n\t\t\t\t}, {}),\n\t\t\t\tsorted = paths.slice().sort(function (a, b) {\n\t\t\t\t\treturn abs(b.getArea()) - abs(a.getArea());\n\t\t\t\t}),\n\t\t\t\tfirst = sorted[0];\n\t\t\tif (clockwise == null)\n\t\t\t\tclockwise = first.isClockwise();\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tvar path1 = sorted[i],\n\t\t\t\t\tentry1 = lookup[path1._id],\n\t\t\t\t\tpoint = path1.getInteriorPoint(),\n\t\t\t\t\tcontainerWinding = 0;\n\t\t\t\tfor (var j = i - 1; j >= 0; j--) {\n\t\t\t\t\tvar path2 = sorted[j];\n\t\t\t\t\tif (path2.contains(point)) {\n\t\t\t\t\t\tvar entry2 = lookup[path2._id];\n\t\t\t\t\t\tcontainerWinding = entry2.winding;\n\t\t\t\t\t\tentry1.winding += containerWinding;\n\t\t\t\t\t\tentry1.container = entry2.exclude ? entry2.container\n\t\t\t\t\t\t\t\t: path2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (isInside(entry1.winding) === isInside(containerWinding)) {\n\t\t\t\t\tentry1.exclude = true;\n\t\t\t\t\tpaths[entry1.index] = null;\n\t\t\t\t} else {\n\t\t\t\t\tvar container = entry1.container;\n\t\t\t\t\tpath1.setClockwise(container ? !container.isClockwise()\n\t\t\t\t\t\t\t: clockwise);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn paths;\n\t}\n\n\tfunction divideLocations(locations, include, clearLater) {\n\t\tvar results = include && [],\n\t\t\ttMin = 1e-8,\n\t\t\ttMax = 1 - tMin,\n\t\t\tclearHandles = false,\n\t\t\tclearCurves = clearLater || [],\n\t\t\tclearLookup = clearLater && {},\n\t\t\trenormalizeLocs,\n\t\t\tprevCurve,\n\t\t\tprevTime;\n\n\t\tfunction getId(curve) {\n\t\t\treturn curve._path._id + '.' + curve._segment1._index;\n\t\t}\n\n\t\tfor (var i = (clearLater && clearLater.length) - 1; i >= 0; i--) {\n\t\t\tvar curve = clearLater[i];\n\t\t\tif (curve._path)\n\t\t\t\tclearLookup[getId(curve)] = true;\n\t\t}\n\n\t\tfor (var i = locations.length - 1; i >= 0; i--) {\n\t\t\tvar loc = locations[i],\n\t\t\t\ttime = loc._time,\n\t\t\t\torigTime = time,\n\t\t\t\texclude = include && !include(loc),\n\t\t\t\tcurve = loc._curve,\n\t\t\t\tsegment;\n\t\t\tif (curve) {\n\t\t\t\tif (curve !== prevCurve) {\n\t\t\t\t\tclearHandles = !curve.hasHandles()\n\t\t\t\t\t\t\t|| clearLookup && clearLookup[getId(curve)];\n\t\t\t\t\trenormalizeLocs = [];\n\t\t\t\t\tprevTime = null;\n\t\t\t\t\tprevCurve = curve;\n\t\t\t\t} else if (prevTime >= tMin) {\n\t\t\t\t\ttime /= prevTime;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (exclude) {\n\t\t\t\tif (renormalizeLocs)\n\t\t\t\t\trenormalizeLocs.push(loc);\n\t\t\t\tcontinue;\n\t\t\t} else if (include) {\n\t\t\t\tresults.unshift(loc);\n\t\t\t}\n\t\t\tprevTime = origTime;\n\t\t\tif (time < tMin) {\n\t\t\t\tsegment = curve._segment1;\n\t\t\t} else if (time > tMax) {\n\t\t\t\tsegment = curve._segment2;\n\t\t\t} else {\n\t\t\t\tvar newCurve = curve.divideAtTime(time, true);\n\t\t\t\tif (clearHandles)\n\t\t\t\t\tclearCurves.push(curve, newCurve);\n\t\t\t\tsegment = newCurve._segment1;\n\t\t\t\tfor (var j = renormalizeLocs.length - 1; j >= 0; j--) {\n\t\t\t\t\tvar l = renormalizeLocs[j];\n\t\t\t\t\tl._time = (l._time - time) / (1 - time);\n\t\t\t\t}\n\t\t\t}\n\t\t\tloc._setSegment(segment);\n\t\t\tvar inter = segment._intersection,\n\t\t\t\tdest = loc._intersection;\n\t\t\tif (inter) {\n\t\t\t\tlinkIntersections(inter, dest);\n\t\t\t\tvar other = inter;\n\t\t\t\twhile (other) {\n\t\t\t\t\tlinkIntersections(other._intersection, inter);\n\t\t\t\t\tother = other._next;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsegment._intersection = dest;\n\t\t\t}\n\t\t}\n\t\tif (!clearLater)\n\t\t\tclearCurveHandles(clearCurves);\n\t\treturn results || locations;\n\t}\n\n\tfunction getWinding(point, curves, dir, closed, dontFlip) {\n\t\tvar ia = dir ? 1 : 0,\n\t\t\tio = ia ^ 1,\n\t\t\tpv = [point.x, point.y],\n\t\t\tpa = pv[ia],\n\t\t\tpo = pv[io],\n\t\t\twindingEpsilon = 1e-9,\n\t\t\tqualityEpsilon = 1e-6,\n\t\t\tpaL = pa - windingEpsilon,\n\t\t\tpaR = pa + windingEpsilon,\n\t\t\twindingL = 0,\n\t\t\twindingR = 0,\n\t\t\tpathWindingL = 0,\n\t\t\tpathWindingR = 0,\n\t\t\tonPath = false,\n\t\t\tonAnyPath = false,\n\t\t\tquality = 1,\n\t\t\troots = [],\n\t\t\tvPrev,\n\t\t\tvClose;\n\n\t\tfunction addWinding(v) {\n\t\t\tvar o0 = v[io + 0],\n\t\t\t\to3 = v[io + 6];\n\t\t\tif (po < min(o0, o3) || po > max(o0, o3)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar a0 = v[ia + 0],\n\t\t\t\ta1 = v[ia + 2],\n\t\t\t\ta2 = v[ia + 4],\n\t\t\t\ta3 = v[ia + 6];\n\t\t\tif (o0 === o3) {\n\t\t\t\tif (a0 < paR && a3 > paL || a3 < paR && a0 > paL) {\n\t\t\t\t\tonPath = true;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar t = po === o0 ? 0\n\t\t\t\t\t: po === o3 ? 1\n\t\t\t\t\t: paL > max(a0, a1, a2, a3) || paR < min(a0, a1, a2, a3)\n\t\t\t\t\t? 1\n\t\t\t\t\t: Curve.solveCubic(v, io, po, roots, 0, 1) > 0\n\t\t\t\t\t\t? roots[0]\n\t\t\t\t\t\t: 1,\n\t\t\t\ta = t === 0 ? a0\n\t\t\t\t\t: t === 1 ? a3\n\t\t\t\t\t: Curve.getPoint(v, t)[dir ? 'y' : 'x'],\n\t\t\t\twinding = o0 > o3 ? 1 : -1,\n\t\t\t\twindingPrev = vPrev[io] > vPrev[io + 6] ? 1 : -1,\n\t\t\t\ta3Prev = vPrev[ia + 6];\n\t\t\tif (po !== o0) {\n\t\t\t\tif (a < paL) {\n\t\t\t\t\tpathWindingL += winding;\n\t\t\t\t} else if (a > paR) {\n\t\t\t\t\tpathWindingR += winding;\n\t\t\t\t} else {\n\t\t\t\t\tonPath = true;\n\t\t\t\t}\n\t\t\t\tif (a > pa - qualityEpsilon && a < pa + qualityEpsilon)\n\t\t\t\t\tquality /= 2;\n\t\t\t} else {\n\t\t\t\tif (winding !== windingPrev) {\n\t\t\t\t\tif (a0 < paL) {\n\t\t\t\t\t\tpathWindingL += winding;\n\t\t\t\t\t} else if (a0 > paR) {\n\t\t\t\t\t\tpathWindingR += winding;\n\t\t\t\t\t}\n\t\t\t\t} else if (a0 != a3Prev) {\n\t\t\t\t\tif (a3Prev < paR && a > paR) {\n\t\t\t\t\t\tpathWindingR += winding;\n\t\t\t\t\t\tonPath = true;\n\t\t\t\t\t} else if (a3Prev > paL && a < paL) {\n\t\t\t\t\t\tpathWindingL += winding;\n\t\t\t\t\t\tonPath = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tquality = 0;\n\t\t\t}\n\t\t\tvPrev = v;\n\t\t\treturn !dontFlip && a > paL && a < paR\n\t\t\t\t\t&& Curve.getTangent(v, t)[dir ? 'x' : 'y'] === 0\n\t\t\t\t\t&& getWinding(point, curves, !dir, closed, true);\n\t\t}\n\n\t\tfunction handleCurve(v) {\n\t\t\tvar o0 = v[io + 0],\n\t\t\t\to1 = v[io + 2],\n\t\t\t\to2 = v[io + 4],\n\t\t\t\to3 = v[io + 6];\n\t\t\tif (po <= max(o0, o1, o2, o3) && po >= min(o0, o1, o2, o3)) {\n\t\t\t\tvar a0 = v[ia + 0],\n\t\t\t\t\ta1 = v[ia + 2],\n\t\t\t\t\ta2 = v[ia + 4],\n\t\t\t\t\ta3 = v[ia + 6],\n\t\t\t\t\tmonoCurves = paL > max(a0, a1, a2, a3) ||\n\t\t\t\t\t\t\t\t paR < min(a0, a1, a2, a3)\n\t\t\t\t\t\t\t? [v] : Curve.getMonoCurves(v, dir),\n\t\t\t\t\tres;\n\t\t\t\tfor (var i = 0, l = monoCurves.length; i < l; i++) {\n\t\t\t\t\tif (res = addWinding(monoCurves[i]))\n\t\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\tvar curve = curves[i],\n\t\t\t\tpath = curve._path,\n\t\t\t\tv = curve.getValues(),\n\t\t\t\tres;\n\t\t\tif (!i || curves[i - 1]._path !== path) {\n\t\t\t\tvPrev = null;\n\t\t\t\tif (!path._closed) {\n\t\t\t\t\tvClose = Curve.getValues(\n\t\t\t\t\t\t\tpath.getLastCurve().getSegment2(),\n\t\t\t\t\t\t\tcurve.getSegment1(),\n\t\t\t\t\t\t\tnull, !closed);\n\t\t\t\t\tif (vClose[io] !== vClose[io + 6]) {\n\t\t\t\t\t\tvPrev = vClose;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!vPrev) {\n\t\t\t\t\tvPrev = v;\n\t\t\t\t\tvar prev = path.getLastCurve();\n\t\t\t\t\twhile (prev && prev !== curve) {\n\t\t\t\t\t\tvar v2 = prev.getValues();\n\t\t\t\t\t\tif (v2[io] !== v2[io + 6]) {\n\t\t\t\t\t\t\tvPrev = v2;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprev = prev.getPrevious();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (res = handleCurve(v))\n\t\t\t\treturn res;\n\n\t\t\tif (i + 1 === l || curves[i + 1]._path !== path) {\n\t\t\t\tif (vClose && (res = handleCurve(vClose)))\n\t\t\t\t\treturn res;\n\t\t\t\tif (onPath && !pathWindingL && !pathWindingR) {\n\t\t\t\t\tpathWindingL = pathWindingR = path.isClockwise(closed) ^ dir\n\t\t\t\t\t\t\t? 1 : -1;\n\t\t\t\t}\n\t\t\t\twindingL += pathWindingL;\n\t\t\t\twindingR += pathWindingR;\n\t\t\t\tpathWindingL = pathWindingR = 0;\n\t\t\t\tif (onPath) {\n\t\t\t\t\tonAnyPath = true;\n\t\t\t\t\tonPath = false;\n\t\t\t\t}\n\t\t\t\tvClose = null;\n\t\t\t}\n\t\t}\n\t\twindingL = abs(windingL);\n\t\twindingR = abs(windingR);\n\t\treturn {\n\t\t\twinding: max(windingL, windingR),\n\t\t\twindingL: windingL,\n\t\t\twindingR: windingR,\n\t\t\tquality: quality,\n\t\t\tonPath: onAnyPath\n\t\t};\n\t}\n\n\tfunction propagateWinding(segment, path1, path2, curves, operator) {\n\t\tvar chain = [],\n\t\t\tstart = segment,\n\t\t\ttotalLength = 0,\n\t\t\twinding;\n\t\tdo {\n\t\t\tvar curve = segment.getCurve(),\n\t\t\t\tlength = curve.getLength();\n\t\t\tchain.push({ segment: segment, curve: curve, length: length });\n\t\t\ttotalLength += length;\n\t\t\tsegment = segment.getNext();\n\t\t} while (segment && !segment._intersection && segment !== start);\n\t\tvar offsets = [0.5, 0.25, 0.75],\n\t\t\twinding = { winding: 0, quality: -1 },\n\t\t\ttMin = 1e-8,\n\t\t\ttMax = 1 - tMin;\n\t\tfor (var i = 0; i < offsets.length && winding.quality < 0.5; i++) {\n\t\t\tvar length = totalLength * offsets[i];\n\t\t\tfor (var j = 0, l = chain.length; j < l; j++) {\n\t\t\t\tvar entry = chain[j],\n\t\t\t\t\tcurveLength = entry.length;\n\t\t\t\tif (length <= curveLength) {\n\t\t\t\t\tvar curve = entry.curve,\n\t\t\t\t\t\tpath = curve._path,\n\t\t\t\t\t\tparent = path._parent,\n\t\t\t\t\t\toperand = parent instanceof CompoundPath ? parent : path,\n\t\t\t\t\t\tt = Numerical.clamp(curve.getTimeAt(length), tMin, tMax),\n\t\t\t\t\t\tpt = curve.getPointAtTime(t),\n\t\t\t\t\t\tdir = abs(curve.getTangentAtTime(t).y) < Math.SQRT1_2;\n\t\t\t\t\tvar wind = null;\n\t\t\t\t\tif (operator.subtract && path2) {\n\t\t\t\t\t\tvar pathWinding = operand === path1\n\t\t\t\t\t\t\t\t\t\t ? path2._getWinding(pt, dir, true)\n\t\t\t\t\t\t\t\t\t\t : path1._getWinding(pt, dir, true);\n\t\t\t\t\t\tif (operand === path1 && pathWinding.winding ||\n\t\t\t\t\t\t\toperand === path2 && !pathWinding.winding) {\n\t\t\t\t\t\t\tif (pathWinding.quality < 1) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twind = { winding: 0, quality: 1 };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\twind = wind || getWinding(pt, curves, dir, true);\n\t\t\t\t\tif (wind.quality > winding.quality)\n\t\t\t\t\t\twinding = wind;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlength -= curveLength;\n\t\t\t}\n\t\t}\n\t\tfor (var j = chain.length - 1; j >= 0; j--) {\n\t\t\tchain[j].segment._winding = winding;\n\t\t}\n\t}\n\n\tfunction tracePaths(segments, operator) {\n\t\tvar paths = [],\n\t\t\tstarts;\n\n\t\tfunction isValid(seg) {\n\t\t\tvar winding;\n\t\t\treturn !!(seg && !seg._visited && (!operator\n\t\t\t\t\t|| operator[(winding = seg._winding || {}).winding]\n\t\t\t\t\t\t&& !(operator.unite && winding.winding === 2\n\t\t\t\t\t\t\t&& winding.windingL && winding.windingR)));\n\t\t}\n\n\t\tfunction isStart(seg) {\n\t\t\tif (seg) {\n\t\t\t\tfor (var i = 0, l = starts.length; i < l; i++) {\n\t\t\t\t\tif (seg === starts[i])\n\t\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction visitPath(path) {\n\t\t\tvar segments = path._segments;\n\t\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\t\tsegments[i]._visited = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction getCrossingSegments(segment, collectStarts) {\n\t\t\tvar inter = segment._intersection,\n\t\t\t\tstart = inter,\n\t\t\t\tcrossings = [];\n\t\t\tif (collectStarts)\n\t\t\t\tstarts = [segment];\n\n\t\t\tfunction collect(inter, end) {\n\t\t\t\twhile (inter && inter !== end) {\n\t\t\t\t\tvar other = inter._segment,\n\t\t\t\t\t\tpath = other && other._path;\n\t\t\t\t\tif (path) {\n\t\t\t\t\t\tvar next = other.getNext() || path.getFirstSegment(),\n\t\t\t\t\t\t\tnextInter = next._intersection;\n\t\t\t\t\t\tif (other !== segment && (isStart(other)\n\t\t\t\t\t\t\t|| isStart(next)\n\t\t\t\t\t\t\t|| next && (isValid(other) && (isValid(next)\n\t\t\t\t\t\t\t\t|| nextInter && isValid(nextInter._segment))))\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcrossings.push(other);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (collectStarts)\n\t\t\t\t\t\t\tstarts.push(other);\n\t\t\t\t\t}\n\t\t\t\t\tinter = inter._next;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (inter) {\n\t\t\t\tcollect(inter);\n\t\t\t\twhile (inter && inter._prev)\n\t\t\t\t\tinter = inter._prev;\n\t\t\t\tcollect(inter, start);\n\t\t\t}\n\t\t\treturn crossings;\n\t\t}\n\n\t\tsegments.sort(function(seg1, seg2) {\n\t\t\tvar inter1 = seg1._intersection,\n\t\t\t\tinter2 = seg2._intersection,\n\t\t\t\tover1 = !!(inter1 && inter1._overlap),\n\t\t\t\tover2 = !!(inter2 && inter2._overlap),\n\t\t\t\tpath1 = seg1._path,\n\t\t\t\tpath2 = seg2._path;\n\t\t\treturn over1 ^ over2\n\t\t\t\t\t? over1 ? 1 : -1\n\t\t\t\t\t: !inter1 ^ !inter2\n\t\t\t\t\t\t? inter1 ? 1 : -1\n\t\t\t\t\t\t: path1 !== path2\n\t\t\t\t\t\t\t? path1._id - path2._id\n\t\t\t\t\t\t\t: seg1._index - seg2._index;\n\t\t});\n\n\t\tfor (var i = 0, l = segments.length; i < l; i++) {\n\t\t\tvar seg = segments[i],\n\t\t\t\tvalid = isValid(seg),\n\t\t\t\tpath = null,\n\t\t\t\tfinished = false,\n\t\t\t\tclosed = true,\n\t\t\t\tbranches = [],\n\t\t\t\tbranch,\n\t\t\t\tvisited,\n\t\t\t\thandleIn;\n\t\t\tif (valid && seg._path._overlapsOnly) {\n\t\t\t\tvar path1 = seg._path,\n\t\t\t\t\tpath2 = seg._intersection._segment._path;\n\t\t\t\tif (path1.compare(path2)) {\n\t\t\t\t\tif (path1.getArea())\n\t\t\t\t\t\tpaths.push(path1.clone(false));\n\t\t\t\t\tvisitPath(path1);\n\t\t\t\t\tvisitPath(path2);\n\t\t\t\t\tvalid = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (valid) {\n\t\t\t\tvar first = !path,\n\t\t\t\t\tcrossings = getCrossingSegments(seg, first),\n\t\t\t\t\tother = crossings.shift(),\n\t\t\t\t\tfinished = !first && (isStart(seg) || isStart(other)),\n\t\t\t\t\tcross = !finished && other;\n\t\t\t\tif (first) {\n\t\t\t\t\tpath = new Path(Item.NO_INSERT);\n\t\t\t\t\tbranch = null;\n\t\t\t\t}\n\t\t\t\tif (finished) {\n\t\t\t\t\tif (seg.isFirst() || seg.isLast())\n\t\t\t\t\t\tclosed = seg._path._closed;\n\t\t\t\t\tseg._visited = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (cross && branch) {\n\t\t\t\t\tbranches.push(branch);\n\t\t\t\t\tbranch = null;\n\t\t\t\t}\n\t\t\t\tif (!branch) {\n\t\t\t\t\tif (cross)\n\t\t\t\t\t\tcrossings.push(seg);\n\t\t\t\t\tbranch = {\n\t\t\t\t\t\tstart: path._segments.length,\n\t\t\t\t\t\tcrossings: crossings,\n\t\t\t\t\t\tvisited: visited = [],\n\t\t\t\t\t\thandleIn: handleIn\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (cross)\n\t\t\t\t\tseg = other;\n\t\t\t\tif (!isValid(seg)) {\n\t\t\t\t\tpath.removeSegments(branch.start);\n\t\t\t\t\tfor (var j = 0, k = visited.length; j < k; j++) {\n\t\t\t\t\t\tvisited[j]._visited = false;\n\t\t\t\t\t}\n\t\t\t\t\tvisited.length = 0;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tseg = branch && branch.crossings.shift();\n\t\t\t\t\t\tif (!seg || !seg._path) {\n\t\t\t\t\t\t\tseg = null;\n\t\t\t\t\t\t\tbranch = branches.pop();\n\t\t\t\t\t\t\tif (branch) {\n\t\t\t\t\t\t\t\tvisited = branch.visited;\n\t\t\t\t\t\t\t\thandleIn = branch.handleIn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} while (branch && !isValid(seg));\n\t\t\t\t\tif (!seg)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar next = seg.getNext();\n\t\t\t\tpath.add(new Segment(seg._point, handleIn,\n\t\t\t\t\t\tnext && seg._handleOut));\n\t\t\t\tseg._visited = true;\n\t\t\t\tvisited.push(seg);\n\t\t\t\tseg = next || seg._path.getFirstSegment();\n\t\t\t\thandleIn = next && next._handleIn;\n\t\t\t}\n\t\t\tif (finished) {\n\t\t\t\tif (closed) {\n\t\t\t\t\tpath.getFirstSegment().setHandleIn(handleIn);\n\t\t\t\t\tpath.setClosed(closed);\n\t\t\t\t}\n\t\t\t\tif (path.getArea() !== 0) {\n\t\t\t\t\tpaths.push(path);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn paths;\n\t}\n\n\treturn {\n\t\t_getWinding: function(point, dir, closed) {\n\t\t\treturn getWinding(point, this.getCurves(), dir, closed);\n\t\t},\n\n\t\tunite: function(path, options) {\n\t\t\treturn traceBoolean(this, path, 'unite', options);\n\t\t},\n\n\t\tintersect: function(path, options) {\n\t\t\treturn traceBoolean(this, path, 'intersect', options);\n\t\t},\n\n\t\tsubtract: function(path, options) {\n\t\t\treturn traceBoolean(this, path, 'subtract', options);\n\t\t},\n\n\t\texclude: function(path, options) {\n\t\t\treturn traceBoolean(this, path, 'exclude', options);\n\t\t},\n\n\t\tdivide: function(path, options) {\n\t\t\treturn options && (options.trace == false || options.stroke)\n\t\t\t\t\t? splitBoolean(this, path, 'divide')\n\t\t\t\t\t: createResult([\n\t\t\t\t\t\tthis.subtract(path, options),\n\t\t\t\t\t\tthis.intersect(path, options)\n\t\t\t\t\t], true, this, path, options);\n\t\t},\n\n\t\tresolveCrossings: function() {\n\t\t\tvar children = this._children,\n\t\t\t\tpaths = children || [this];\n\n\t\t\tfunction hasOverlap(seg, path) {\n\t\t\t\tvar inter = seg && seg._intersection;\n\t\t\t\treturn inter && inter._overlap && inter._path === path;\n\t\t\t}\n\n\t\t\tvar hasOverlaps = false,\n\t\t\t\thasCrossings = false,\n\t\t\t\tintersections = this.getIntersections(null, function(inter) {\n\t\t\t\t\treturn inter.hasOverlap() && (hasOverlaps = true) ||\n\t\t\t\t\t\t\tinter.isCrossing() && (hasCrossings = true);\n\t\t\t\t}),\n\t\t\t\tclearCurves = hasOverlaps && hasCrossings && [];\n\t\t\tintersections = CurveLocation.expand(intersections);\n\t\t\tif (hasOverlaps) {\n\t\t\t\tvar overlaps = divideLocations(intersections, function(inter) {\n\t\t\t\t\treturn inter.hasOverlap();\n\t\t\t\t}, clearCurves);\n\t\t\t\tfor (var i = overlaps.length - 1; i >= 0; i--) {\n\t\t\t\t\tvar overlap = overlaps[i],\n\t\t\t\t\t\tpath = overlap._path,\n\t\t\t\t\t\tseg = overlap._segment,\n\t\t\t\t\t\tprev = seg.getPrevious(),\n\t\t\t\t\t\tnext = seg.getNext();\n\t\t\t\t\tif (hasOverlap(prev, path) && hasOverlap(next, path)) {\n\t\t\t\t\t\tseg.remove();\n\t\t\t\t\t\tprev._handleOut._set(0, 0);\n\t\t\t\t\t\tnext._handleIn._set(0, 0);\n\t\t\t\t\t\tif (prev !== seg && !prev.getCurve().hasLength()) {\n\t\t\t\t\t\t\tnext._handleIn.set(prev._handleIn);\n\t\t\t\t\t\t\tprev.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (hasCrossings) {\n\t\t\t\tdivideLocations(intersections, hasOverlaps && function(inter) {\n\t\t\t\t\tvar curve1 = inter.getCurve(),\n\t\t\t\t\t\tseg1 = inter.getSegment(),\n\t\t\t\t\t\tother = inter._intersection,\n\t\t\t\t\t\tcurve2 = other._curve,\n\t\t\t\t\t\tseg2 = other._segment;\n\t\t\t\t\tif (curve1 && curve2 && curve1._path && curve2._path)\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tif (seg1)\n\t\t\t\t\t\tseg1._intersection = null;\n\t\t\t\t\tif (seg2)\n\t\t\t\t\t\tseg2._intersection = null;\n\t\t\t\t}, clearCurves);\n\t\t\t\tif (clearCurves)\n\t\t\t\t\tclearCurveHandles(clearCurves);\n\t\t\t\tpaths = tracePaths(Base.each(paths, function(path) {\n\t\t\t\t\tBase.push(this, path._segments);\n\t\t\t\t}, []));\n\t\t\t}\n\t\t\tvar length = paths.length,\n\t\t\t\titem;\n\t\t\tif (length > 1 && children) {\n\t\t\t\tif (paths !== children)\n\t\t\t\t\tthis.setChildren(paths);\n\t\t\t\titem = this;\n\t\t\t} else if (length === 1 && !children) {\n\t\t\t\tif (paths[0] !== this)\n\t\t\t\t\tthis.setSegments(paths[0].removeSegments());\n\t\t\t\titem = this;\n\t\t\t}\n\t\t\tif (!item) {\n\t\t\t\titem = new CompoundPath(Item.NO_INSERT);\n\t\t\t\titem.addChildren(paths);\n\t\t\t\titem = item.reduce();\n\t\t\t\titem.copyAttributes(this);\n\t\t\t\tthis.replaceWith(item);\n\t\t\t}\n\t\t\treturn item;\n\t\t},\n\n\t\treorient: function(nonZero, clockwise) {\n\t\t\tvar children = this._children;\n\t\t\tif (children && children.length) {\n\t\t\t\tthis.setChildren(reorientPaths(this.removeChildren(),\n\t\t\t\t\t\tfunction(w) {\n\t\t\t\t\t\t\treturn !!(nonZero ? w : w & 1);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclockwise));\n\t\t\t} else if (clockwise !== undefined) {\n\t\t\t\tthis.setClockwise(clockwise);\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\tgetInteriorPoint: function() {\n\t\t\tvar bounds = this.getBounds(),\n\t\t\t\tpoint = bounds.getCenter(true);\n\t\t\tif (!this.contains(point)) {\n\t\t\t\tvar curves = this.getCurves(),\n\t\t\t\t\ty = point.y,\n\t\t\t\t\tintercepts = [],\n\t\t\t\t\troots = [];\n\t\t\t\tfor (var i = 0, l = curves.length; i < l; i++) {\n\t\t\t\t\tvar v = curves[i].getValues(),\n\t\t\t\t\t\to0 = v[1],\n\t\t\t\t\t\to1 = v[3],\n\t\t\t\t\t\to2 = v[5],\n\t\t\t\t\t\to3 = v[7];\n\t\t\t\t\tif (y >= min(o0, o1, o2, o3) && y <= max(o0, o1, o2, o3)) {\n\t\t\t\t\t\tvar monoCurves = Curve.getMonoCurves(v);\n\t\t\t\t\t\tfor (var j = 0, m = monoCurves.length; j < m; j++) {\n\t\t\t\t\t\t\tvar mv = monoCurves[j],\n\t\t\t\t\t\t\t\tmo0 = mv[1],\n\t\t\t\t\t\t\t\tmo3 = mv[7];\n\t\t\t\t\t\t\tif ((mo0 !== mo3) &&\n\t\t\t\t\t\t\t\t(y >= mo0 && y <= mo3 || y >= mo3 && y <= mo0)){\n\t\t\t\t\t\t\t\tvar x = y === mo0 ? mv[0]\n\t\t\t\t\t\t\t\t\t: y === mo3 ? mv[6]\n\t\t\t\t\t\t\t\t\t: Curve.solveCubic(mv, 1, y, roots, 0, 1)\n\t\t\t\t\t\t\t\t\t\t=== 1\n\t\t\t\t\t\t\t\t\t\t? Curve.getPoint(mv, roots[0]).x\n\t\t\t\t\t\t\t\t\t\t: (mv[0] + mv[6]) / 2;\n\t\t\t\t\t\t\t\tintercepts.push(x);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (intercepts.length > 1) {\n\t\t\t\t\tintercepts.sort(function(a, b) { return a - b; });\n\t\t\t\t\tpoint.x = (intercepts[0] + intercepts[1]) / 2;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn point;\n\t\t}\n\t};\n});\n\nvar PathFlattener = Base.extend({\n\t_class: 'PathFlattener',\n\n\tinitialize: function(path, flatness, maxRecursion, ignoreStraight, matrix) {\n\t\tvar curves = [],\n\t\t\tparts = [],\n\t\t\tlength = 0,\n\t\t\tminSpan = 1 / (maxRecursion || 32),\n\t\t\tsegments = path._segments,\n\t\t\tsegment1 = segments[0],\n\t\t\tsegment2;\n\n\t\tfunction addCurve(segment1, segment2) {\n\t\t\tvar curve = Curve.getValues(segment1, segment2, matrix);\n\t\t\tcurves.push(curve);\n\t\t\tcomputeParts(curve, segment1._index, 0, 1);\n\t\t}\n\n\t\tfunction computeParts(curve, index, t1, t2) {\n\t\t\tif ((t2 - t1) > minSpan\n\t\t\t\t\t&& !(ignoreStraight && Curve.isStraight(curve))\n\t\t\t\t\t&& !Curve.isFlatEnough(curve, flatness || 0.25)) {\n\t\t\t\tvar halves = Curve.subdivide(curve, 0.5),\n\t\t\t\t\ttMid = (t1 + t2) / 2;\n\t\t\t\tcomputeParts(halves[0], index, t1, tMid);\n\t\t\t\tcomputeParts(halves[1], index, tMid, t2);\n\t\t\t} else {\n\t\t\t\tvar dx = curve[6] - curve[0],\n\t\t\t\t\tdy = curve[7] - curve[1],\n\t\t\t\t\tdist = Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tif (dist > 0) {\n\t\t\t\t\tlength += dist;\n\t\t\t\t\tparts.push({\n\t\t\t\t\t\toffset: length,\n\t\t\t\t\t\tcurve: curve,\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\ttime: t2,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 1, l = segments.length; i < l; i++) {\n\t\t\tsegment2 = segments[i];\n\t\t\taddCurve(segment1, segment2);\n\t\t\tsegment1 = segment2;\n\t\t}\n\t\tif (path._closed)\n\t\t\taddCurve(segment2 || segment1, segments[0]);\n\t\tthis.curves = curves;\n\t\tthis.parts = parts;\n\t\tthis.length = length;\n\t\tthis.index = 0;\n\t},\n\n\t_get: function(offset) {\n\t\tvar parts = this.parts,\n\t\t\tlength = parts.length,\n\t\t\tstart,\n\t\t\ti, j = this.index;\n\t\tfor (;;) {\n\t\t\ti = j;\n\t\t\tif (!j || parts[--j].offset < offset)\n\t\t\t\tbreak;\n\t\t}\n\t\tfor (; i < length; i++) {\n\t\t\tvar part = parts[i];\n\t\t\tif (part.offset >= offset) {\n\t\t\t\tthis.index = i;\n\t\t\t\tvar prev = parts[i - 1],\n\t\t\t\t\tprevTime = prev && prev.index === part.index ? prev.time : 0,\n\t\t\t\t\tprevOffset = prev ? prev.offset : 0;\n\t\t\t\treturn {\n\t\t\t\t\tindex: part.index,\n\t\t\t\t\ttime: prevTime + (part.time - prevTime)\n\t\t\t\t\t\t* (offset - prevOffset) / (part.offset - prevOffset)\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tindex: parts[length - 1].index,\n\t\t\ttime: 1\n\t\t};\n\t},\n\n\tdrawPart: function(ctx, from, to) {\n\t\tvar start = this._get(from),\n\t\t\tend = this._get(to);\n\t\tfor (var i = start.index, l = end.index; i <= l; i++) {\n\t\t\tvar curve = Curve.getPart(this.curves[i],\n\t\t\t\t\ti === start.index ? start.time : 0,\n\t\t\t\t\ti === end.index ? end.time : 1);\n\t\t\tif (i === start.index)\n\t\t\t\tctx.moveTo(curve[0], curve[1]);\n\t\t\tctx.bezierCurveTo.apply(ctx, curve.slice(2));\n\t\t}\n\t}\n}, Base.each(Curve._evaluateMethods,\n\tfunction(name) {\n\t\tthis[name + 'At'] = function(offset) {\n\t\t\tvar param = this._get(offset);\n\t\t\treturn Curve[name](this.curves[param.index], param.time);\n\t\t};\n\t}, {})\n);\n\nvar PathFitter = Base.extend({\n\tinitialize: function(path) {\n\t\tvar points = this.points = [],\n\t\t\tsegments = path._segments,\n\t\t\tclosed = path._closed;\n\t\tfor (var i = 0, prev, l = segments.length; i < l; i++) {\n\t\t\tvar point = segments[i].point;\n\t\t\tif (!prev || !prev.equals(point)) {\n\t\t\t\tpoints.push(prev = point.clone());\n\t\t\t}\n\t\t}\n\t\tif (closed) {\n\t\t\tpoints.unshift(points[points.length - 1]);\n\t\t\tpoints.push(points[1]);\n\t\t}\n\t\tthis.closed = closed;\n\t},\n\n\tfit: function(error) {\n\t\tvar points = this.points,\n\t\t\tlength = points.length,\n\t\t\tsegments = null;\n\t\tif (length > 0) {\n\t\t\tsegments = [new Segment(points[0])];\n\t\t\tif (length > 1) {\n\t\t\t\tthis.fitCubic(segments, error, 0, length - 1,\n\t\t\t\t\t\tpoints[1].subtract(points[0]),\n\t\t\t\t\t\tpoints[length - 2].subtract(points[length - 1]));\n\t\t\t\tif (this.closed) {\n\t\t\t\t\tsegments.shift();\n\t\t\t\t\tsegments.pop();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn segments;\n\t},\n\n\tfitCubic: function(segments, error, first, last, tan1, tan2) {\n\t\tvar points = this.points;\n\t\tif (last - first === 1) {\n\t\t\tvar pt1 = points[first],\n\t\t\t\tpt2 = points[last],\n\t\t\t\tdist = pt1.getDistance(pt2) / 3;\n\t\t\tthis.addCurve(segments, [pt1, pt1.add(tan1.normalize(dist)),\n\t\t\t\t\tpt2.add(tan2.normalize(dist)), pt2]);\n\t\t\treturn;\n\t\t}\n\t\tvar uPrime = this.chordLengthParameterize(first, last),\n\t\t\tmaxError = Math.max(error, error * error),\n\t\t\tsplit,\n\t\t\tparametersInOrder = true;\n\t\tfor (var i = 0; i <= 4; i++) {\n\t\t\tvar curve = this.generateBezier(first, last, uPrime, tan1, tan2);\n\t\t\tvar max = this.findMaxError(first, last, curve, uPrime);\n\t\t\tif (max.error < error && parametersInOrder) {\n\t\t\t\tthis.addCurve(segments, curve);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsplit = max.index;\n\t\t\tif (max.error >= maxError)\n\t\t\t\tbreak;\n\t\t\tparametersInOrder = this.reparameterize(first, last, uPrime, curve);\n\t\t\tmaxError = max.error;\n\t\t}\n\t\tvar tanCenter = points[split - 1].subtract(points[split + 1]);\n\t\tthis.fitCubic(segments, error, first, split, tan1, tanCenter);\n\t\tthis.fitCubic(segments, error, split, last, tanCenter.negate(), tan2);\n\t},\n\n\taddCurve: function(segments, curve) {\n\t\tvar prev = segments[segments.length - 1];\n\t\tprev.setHandleOut(curve[1].subtract(curve[0]));\n\t\tsegments.push(new Segment(curve[3], curve[2].subtract(curve[3])));\n\t},\n\n\tgenerateBezier: function(first, last, uPrime, tan1, tan2) {\n\t\tvar epsilon = 1e-12,\n\t\t\tabs = Math.abs,\n\t\t\tpoints = this.points,\n\t\t\tpt1 = points[first],\n\t\t\tpt2 = points[last],\n\t\t\tC = [[0, 0], [0, 0]],\n\t\t\tX = [0, 0];\n\n\t\tfor (var i = 0, l = last - first + 1; i < l; i++) {\n\t\t\tvar u = uPrime[i],\n\t\t\t\tt = 1 - u,\n\t\t\t\tb = 3 * u * t,\n\t\t\t\tb0 = t * t * t,\n\t\t\t\tb1 = b * t,\n\t\t\t\tb2 = b * u,\n\t\t\t\tb3 = u * u * u,\n\t\t\t\ta1 = tan1.normalize(b1),\n\t\t\t\ta2 = tan2.normalize(b2),\n\t\t\t\ttmp = points[first + i]\n\t\t\t\t\t.subtract(pt1.multiply(b0 + b1))\n\t\t\t\t\t.subtract(pt2.multiply(b2 + b3));\n\t\t\tC[0][0] += a1.dot(a1);\n\t\t\tC[0][1] += a1.dot(a2);\n\t\t\tC[1][0] = C[0][1];\n\t\t\tC[1][1] += a2.dot(a2);\n\t\t\tX[0] += a1.dot(tmp);\n\t\t\tX[1] += a2.dot(tmp);\n\t\t}\n\n\t\tvar detC0C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1],\n\t\t\talpha1,\n\t\t\talpha2;\n\t\tif (abs(detC0C1) > epsilon) {\n\t\t\tvar detC0X = C[0][0] * X[1] - C[1][0] * X[0],\n\t\t\t\tdetXC1 = X[0] * C[1][1] - X[1] * C[0][1];\n\t\t\talpha1 = detXC1 / detC0C1;\n\t\t\talpha2 = detC0X / detC0C1;\n\t\t} else {\n\t\t\tvar c0 = C[0][0] + C[0][1],\n\t\t\t\tc1 = C[1][0] + C[1][1];\n\t\t\talpha1 = alpha2 = abs(c0) > epsilon ? X[0] / c0\n\t\t\t\t\t\t\t: abs(c1) > epsilon ? X[1] / c1\n\t\t\t\t\t\t\t: 0;\n\t\t}\n\n\t\tvar segLength = pt2.getDistance(pt1),\n\t\t\teps = epsilon * segLength,\n\t\t\thandle1,\n\t\t\thandle2;\n\t\tif (alpha1 < eps || alpha2 < eps) {\n\t\t\talpha1 = alpha2 = segLength / 3;\n\t\t} else {\n\t\t\tvar line = pt2.subtract(pt1);\n\t\t\thandle1 = tan1.normalize(alpha1);\n\t\t\thandle2 = tan2.normalize(alpha2);\n\t\t\tif (handle1.dot(line) - handle2.dot(line) > segLength * segLength) {\n\t\t\t\talpha1 = alpha2 = segLength / 3;\n\t\t\t\thandle1 = handle2 = null;\n\t\t\t}\n\t\t}\n\n\t\treturn [pt1,\n\t\t\t\tpt1.add(handle1 || tan1.normalize(alpha1)),\n\t\t\t\tpt2.add(handle2 || tan2.normalize(alpha2)),\n\t\t\t\tpt2];\n\t},\n\n\treparameterize: function(first, last, u, curve) {\n\t\tfor (var i = first; i <= last; i++) {\n\t\t\tu[i - first] = this.findRoot(curve, this.points[i], u[i - first]);\n\t\t}\n\t\tfor (var i = 1, l = u.length; i < l; i++) {\n\t\t\tif (u[i] <= u[i - 1])\n\t\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\tfindRoot: function(curve, point, u) {\n\t\tvar curve1 = [],\n\t\t\tcurve2 = [];\n\t\tfor (var i = 0; i <= 2; i++) {\n\t\t\tcurve1[i] = curve[i + 1].subtract(curve[i]).multiply(3);\n\t\t}\n\t\tfor (var i = 0; i <= 1; i++) {\n\t\t\tcurve2[i] = curve1[i + 1].subtract(curve1[i]).multiply(2);\n\t\t}\n\t\tvar pt = this.evaluate(3, curve, u),\n\t\t\tpt1 = this.evaluate(2, curve1, u),\n\t\t\tpt2 = this.evaluate(1, curve2, u),\n\t\t\tdiff = pt.subtract(point),\n\t\t\tdf = pt1.dot(pt1) + diff.dot(pt2);\n\t\treturn Numerical.isZero(df) ? u : u - diff.dot(pt1) / df;\n\t},\n\n\tevaluate: function(degree, curve, t) {\n\t\tvar tmp = curve.slice();\n\t\tfor (var i = 1; i <= degree; i++) {\n\t\t\tfor (var j = 0; j <= degree - i; j++) {\n\t\t\t\ttmp[j] = tmp[j].multiply(1 - t).add(tmp[j + 1].multiply(t));\n\t\t\t}\n\t\t}\n\t\treturn tmp[0];\n\t},\n\n\tchordLengthParameterize: function(first, last) {\n\t\tvar u = [0];\n\t\tfor (var i = first + 1; i <= last; i++) {\n\t\t\tu[i - first] = u[i - first - 1]\n\t\t\t\t\t+ this.points[i].getDistance(this.points[i - 1]);\n\t\t}\n\t\tfor (var i = 1, m = last - first; i <= m; i++) {\n\t\t\tu[i] /= u[m];\n\t\t}\n\t\treturn u;\n\t},\n\n\tfindMaxError: function(first, last, curve, u) {\n\t\tvar index = Math.floor((last - first + 1) / 2),\n\t\t\tmaxDist = 0;\n\t\tfor (var i = first + 1; i < last; i++) {\n\t\t\tvar P = this.evaluate(3, curve, u[i - first]);\n\t\t\tvar v = P.subtract(this.points[i]);\n\t\t\tvar dist = v.x * v.x + v.y * v.y;\n\t\t\tif (dist >= maxDist) {\n\t\t\t\tmaxDist = dist;\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\terror: maxDist,\n\t\t\tindex: index\n\t\t};\n\t}\n});\n\nvar TextItem = Item.extend({\n\t_class: 'TextItem',\n\t_applyMatrix: false,\n\t_canApplyMatrix: false,\n\t_serializeFields: {\n\t\tcontent: null\n\t},\n\t_boundsOptions: { stroke: false, handle: false },\n\n\tinitialize: function TextItem(arg) {\n\t\tthis._content = '';\n\t\tthis._lines = [];\n\t\tvar hasProps = arg && Base.isPlainObject(arg)\n\t\t\t\t&& arg.x === undefined && arg.y === undefined;\n\t\tthis._initialize(hasProps && arg, !hasProps && Point.read(arguments));\n\t},\n\n\t_equals: function(item) {\n\t\treturn this._content === item._content;\n\t},\n\n\tcopyContent: function(source) {\n\t\tthis.setContent(source._content);\n\t},\n\n\tgetContent: function() {\n\t\treturn this._content;\n\t},\n\n\tsetContent: function(content) {\n\t\tthis._content = '' + content;\n\t\tthis._lines = this._content.split(/\\r\\n|\\n|\\r/mg);\n\t\tthis._changed(521);\n\t},\n\n\tisEmpty: function() {\n\t\treturn !this._content;\n\t},\n\n\tgetCharacterStyle: '#getStyle',\n\tsetCharacterStyle: '#setStyle',\n\n\tgetParagraphStyle: '#getStyle',\n\tsetParagraphStyle: '#setStyle'\n});\n\nvar PointText = TextItem.extend({\n\t_class: 'PointText',\n\n\tinitialize: function PointText() {\n\t\tTextItem.apply(this, arguments);\n\t},\n\n\tgetPoint: function() {\n\t\tvar point = this._matrix.getTranslation();\n\t\treturn new LinkedPoint(point.x, point.y, this, 'setPoint');\n\t},\n\n\tsetPoint: function() {\n\t\tvar point = Point.read(arguments);\n\t\tthis.translate(point.subtract(this._matrix.getTranslation()));\n\t},\n\n\t_draw: function(ctx, param, viewMatrix) {\n\t\tif (!this._content)\n\t\t\treturn;\n\t\tthis._setStyles(ctx, param, viewMatrix);\n\t\tvar lines = this._lines,\n\t\t\tstyle = this._style,\n\t\t\thasFill = style.hasFill(),\n\t\t\thasStroke = style.hasStroke(),\n\t\t\tleading = style.getLeading(),\n\t\t\tshadowColor = ctx.shadowColor;\n\t\tctx.font = style.getFontStyle();\n\t\tctx.textAlign = style.getJustification();\n\t\tfor (var i = 0, l = lines.length; i < l; i++) {\n\t\t\tctx.shadowColor = shadowColor;\n\t\t\tvar line = lines[i];\n\t\t\tif (hasFill) {\n\t\t\t\tctx.fillText(line, 0, 0);\n\t\t\t\tctx.shadowColor = 'rgba(0,0,0,0)';\n\t\t\t}\n\t\t\tif (hasStroke)\n\t\t\t\tctx.strokeText(line, 0, 0);\n\t\t\tctx.translate(0, leading);\n\t\t}\n\t},\n\n\t_getBounds: function(matrix, options) {\n\t\tvar rect = options.drawnTextBounds ? this._getDrawnTextSize() : this._getMeasuredTextSize();\n\t\treturn matrix ? matrix._transformBounds(rect, rect) : rect;\n\t},\n\n\t_getMeasuredTextSize: function() {\n\t\tvar style = this._style,\n\t\t\tlines = this._lines,\n\t\t\tnumLines = lines.length,\n\t\t\tjustification = style.getJustification(),\n\t\t\tleading = style.getLeading(),\n\t\t\twidth = this.getView().getTextWidth(style.getFontStyle(), lines),\n\t\t\tx = 0;\n\t\tif (justification !== 'left')\n\t\t\tx -= width / (justification === 'center' ? 2: 1);\n\t\treturn new Rectangle(x,\n\t\t\t\t\tnumLines ? - 0.75 * leading : 0,\n\t\t\t\t\twidth, numLines * leading);\n\t},\n\n\t_getDrawnTextSize: function() {\n\t\tvar style = this._style;\n\t\tvar lines = this._lines;\n\t\tvar numLines = lines.length;\n\t\tvar leading = style.getLeading();\n\t\tvar justification = style.getJustification();\n\n\t\tvar svg = SvgElement.create('svg', {\n\t\t\t\t\tversion: '1.1',\n\t\t\t\t\txmlns: SvgElement.svg\n\t\t\t\t});\n\t\tvar node = SvgElement.create('text');\n\t\tnode.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\t\tsvg.appendChild(node);\n\t\tfor (var i = 0; i < numLines; i++) {\n\t\t\tvar tspanNode = SvgElement.create('tspan', {\n\t\t\t\tx: '0',\n\t\t\t\tdy: i === 0 ? '0' : leading + 'px'\n\t\t\t});\n\t\t\ttspanNode.textContent = this._lines[i];\n\t\t\tnode.appendChild(tspanNode);\n\t\t}\n\n\t\tvar element = document.createElement('span');\n\t\telement.style.visibility = ('hidden');\n\t\telement.style.whiteSpace = 'pre';\n\t\telement.style.fontSize = this.fontSize + 'px';\n\t\telement.style.fontFamily = this.font;\n\t\telement.style.lineHeight = this.leading / this.fontSize;\n\n\t\tvar bbox;\n\t\ttry {\n\t\t\telement.appendChild(svg);\n\t\t\tdocument.body.appendChild(element);\n\t\t\tbbox = svg.getBBox();\n\t\t} finally {\n\t\t\tdocument.body.removeChild(element);\n\t\t}\n\n\t\tvar halfStrokeWidth = this.strokeWidth / 2;\n\t\tvar width = bbox.width + (halfStrokeWidth * 2);\n\t\tvar height = bbox.height + (halfStrokeWidth * 2);\n\t\tvar x = bbox.x - halfStrokeWidth;\n\t\tvar y = bbox.y - halfStrokeWidth;\n\n\t\tif (justification !== 'left') {\n\t\t\tvar eltWidth = this.getView().getTextWidth(style.getFontStyle(), lines);\n\t\t\tx -= eltWidth / (justification === 'center' ? 2: 1);\n\t\t}\n\n\t\treturn new Rectangle(x, y, width + 1, Math.max(height, numLines * leading));\n\t},\n\n\t_hitTestSelf: function(point, options) {\n\t\tif (options.fill && (this.hasFill() || options.hitUnfilledPaths) && this._contains(point))\n\t\t\treturn new HitResult('fill', this);\n\t}\n});\n\nvar Color = Base.extend(new function() {\n\tvar types = {\n\t\tgray: ['gray'],\n\t\trgb: ['red', 'green', 'blue'],\n\t\thsb: ['hue', 'saturation', 'brightness'],\n\t\thsl: ['hue', 'saturation', 'lightness'],\n\t\tgradient: ['gradient', 'origin', 'destination', 'highlight']\n\t};\n\n\tvar componentParsers = {},\n\t\tnamedColors = {\n\t\t\ttransparent: [0, 0, 0, 0]\n\t\t},\n\t\tcolorCtx;\n\n\tfunction fromCSS(string) {\n\t\tvar match = string.match(\n\t\t\t\t/^#([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})?$/i\n\t\t\t) || string.match(\n\t\t\t\t/^#([\\da-f])([\\da-f])([\\da-f])([\\da-f])?$/i\n\t\t\t),\n\t\t\ttype = 'rgb',\n\t\t\tcomponents;\n\t\tif (match) {\n\t\t\tvar amount = match[4] ? 4 : 3;\n\t\t\tcomponents = new Array(amount);\n\t\t\tfor (var i = 0; i < amount; i++) {\n\t\t\t\tvar value = match[i + 1];\n\t\t\t\tcomponents[i] = parseInt(value.length == 1\n\t\t\t\t\t\t? value + value : value, 16) / 255;\n\t\t\t}\n\t\t} else if (match = string.match(/^(rgb|hsl)a?\\((.*)\\)$/)) {\n\t\t\ttype = match[1];\n\t\t\tcomponents = match[2].split(/[,\\s]+/g);\n\t\t\tvar isHSL = type === 'hsl';\n\t\t\tfor (var i = 0, l = Math.min(components.length, 4); i < l; i++) {\n\t\t\t\tvar component = components[i];\n\t\t\t\tvar value = parseFloat(component);\n\t\t\t\tif (isHSL) {\n\t\t\t\t\tif (i === 0) {\n\t\t\t\t\t\tvar unit = component.match(/([a-z]*)$/)[1];\n\t\t\t\t\t\tvalue *= ({\n\t\t\t\t\t\t\tturn: 360,\n\t\t\t\t\t\t\trad: 180 / Math.PI,\n\t\t\t\t\t\t\tgrad: 0.9\n\t\t\t\t\t\t}[unit] || 1);\n\t\t\t\t\t} else if (i < 3) {\n\t\t\t\t\t\tvalue /= 100;\n\t\t\t\t\t}\n\t\t\t\t} else if (i < 3) {\n\t\t\t\t\tvalue /= 255;\n\t\t\t\t}\n\t\t\t\tcomponents[i] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tvar color = namedColors[string];\n\t\t\tif (!color) {\n\t\t\t\tif (window) {\n\t\t\t\t\tif (!colorCtx) {\n\t\t\t\t\t\tcolorCtx = CanvasProvider.getContext(1, 1);\n\t\t\t\t\t\tcolorCtx.globalCompositeOperation = 'copy';\n\t\t\t\t\t}\n\t\t\t\t\tcolorCtx.fillStyle = 'rgba(0,0,0,0)';\n\t\t\t\t\tcolorCtx.fillStyle = string;\n\t\t\t\t\tcolorCtx.fillRect(0, 0, 1, 1);\n\t\t\t\t\tvar data = colorCtx.getImageData(0, 0, 1, 1).data;\n\t\t\t\t\tcolor = namedColors[string] = [\n\t\t\t\t\t\tdata[0] / 255,\n\t\t\t\t\t\tdata[1] / 255,\n\t\t\t\t\t\tdata[2] / 255\n\t\t\t\t\t];\n\t\t\t\t} else {\n\t\t\t\t\tcolor = [0, 0, 0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tcomponents = color.slice();\n\t\t}\n\t\treturn [type, components];\n\t}\n\n\tvar hsbIndices = [\n\t\t[0, 3, 1],\n\t\t[2, 0, 1],\n\t\t[1, 0, 3],\n\t\t[1, 2, 0],\n\t\t[3, 1, 0],\n\t\t[0, 1, 2]\n\t];\n\n\tvar converters = {\n\t\t'rgb-hsb': function(r, g, b) {\n\t\t\tvar max = Math.max(r, g, b),\n\t\t\t\tmin = Math.min(r, g, b),\n\t\t\t\tdelta = max - min,\n\t\t\t\th = delta === 0 ? 0\n\t\t\t\t\t: ( max == r ? (g - b) / delta + (g < b ? 6 : 0)\n\t\t\t\t\t\t: max == g ? (b - r) / delta + 2\n\t\t\t\t\t\t: (r - g) / delta + 4) * 60;\n\t\t\treturn [h, max === 0 ? 0 : delta / max, max];\n\t\t},\n\n\t\t'hsb-rgb': function(h, s, b) {\n\t\t\th = (((h / 60) % 6) + 6) % 6;\n\t\t\tvar i = Math.floor(h),\n\t\t\t\tf = h - i,\n\t\t\t\ti = hsbIndices[i],\n\t\t\t\tv = [\n\t\t\t\t\tb,\n\t\t\t\t\tb * (1 - s),\n\t\t\t\t\tb * (1 - s * f),\n\t\t\t\t\tb * (1 - s * (1 - f))\n\t\t\t\t];\n\t\t\treturn [v[i[0]], v[i[1]], v[i[2]]];\n\t\t},\n\n\t\t'rgb-hsl': function(r, g, b) {\n\t\t\tvar max = Math.max(r, g, b),\n\t\t\t\tmin = Math.min(r, g, b),\n\t\t\t\tdelta = max - min,\n\t\t\t\tachromatic = delta === 0,\n\t\t\t\th = achromatic ? 0\n\t\t\t\t\t: ( max == r ? (g - b) / delta + (g < b ? 6 : 0)\n\t\t\t\t\t\t: max == g ? (b - r) / delta + 2\n\t\t\t\t\t\t: (r - g) / delta + 4) * 60,\n\t\t\t\tl = (max + min) / 2,\n\t\t\t\ts = achromatic ? 0 : l < 0.5\n\t\t\t\t\t\t? delta / (max + min)\n\t\t\t\t\t\t: delta / (2 - max - min);\n\t\t\treturn [h, s, l];\n\t\t},\n\n\t\t'hsl-rgb': function(h, s, l) {\n\t\t\th = (((h / 360) % 1) + 1) % 1;\n\t\t\tif (s === 0)\n\t\t\t\treturn [l, l, l];\n\t\t\tvar t3s = [ h + 1 / 3, h, h - 1 / 3 ],\n\t\t\t\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s,\n\t\t\t\tt1 = 2 * l - t2,\n\t\t\t\tc = [];\n\t\t\tfor (var i = 0; i < 3; i++) {\n\t\t\t\tvar t3 = t3s[i];\n\t\t\t\tif (t3 < 0) t3 += 1;\n\t\t\t\tif (t3 > 1) t3 -= 1;\n\t\t\t\tc[i] = 6 * t3 < 1\n\t\t\t\t\t? t1 + (t2 - t1) * 6 * t3\n\t\t\t\t\t: 2 * t3 < 1\n\t\t\t\t\t\t? t2\n\t\t\t\t\t\t: 3 * t3 < 2\n\t\t\t\t\t\t\t? t1 + (t2 - t1) * ((2 / 3) - t3) * 6\n\t\t\t\t\t\t\t: t1;\n\t\t\t}\n\t\t\treturn c;\n\t\t},\n\n\t\t'rgb-gray': function(r, g, b) {\n\t\t\treturn [r * 0.2989 + g * 0.587 + b * 0.114];\n\t\t},\n\n\t\t'gray-rgb': function(g) {\n\t\t\treturn [g, g, g];\n\t\t},\n\n\t\t'gray-hsb': function(g) {\n\t\t\treturn [0, 0, g];\n\t\t},\n\n\t\t'gray-hsl': function(g) {\n\t\t\treturn [0, 0, g];\n\t\t},\n\n\t\t'gradient-rgb': function() {\n\t\t\treturn [];\n\t\t},\n\n\t\t'rgb-gradient': function() {\n\t\t\treturn [];\n\t\t}\n\n\t};\n\n\treturn Base.each(types, function(properties, type) {\n\t\tcomponentParsers[type] = [];\n\t\tBase.each(properties, function(name, index) {\n\t\t\tvar part = Base.capitalize(name),\n\t\t\t\thasOverlap = /^(hue|saturation)$/.test(name),\n\t\t\t\tparser = componentParsers[type][index] = type === 'gradient'\n\t\t\t\t\t? name === 'gradient'\n\t\t\t\t\t\t? function(value) {\n\t\t\t\t\t\t\tvar current = this._components[0];\n\t\t\t\t\t\t\tvalue = Gradient.read(\n\t\t\t\t\t\t\t\tArray.isArray(value)\n\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t: arguments, 0, { readNull: true }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (current !== value) {\n\t\t\t\t\t\t\t\tif (current)\n\t\t\t\t\t\t\t\t\tcurrent._removeOwner(this);\n\t\t\t\t\t\t\t\tif (value)\n\t\t\t\t\t\t\t\t\tvalue._addOwner(this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t: function() {\n\t\t\t\t\t\t\treturn Point.read(arguments, 0, {\n\t\t\t\t\t\t\t\t\treadNull: name === 'highlight',\n\t\t\t\t\t\t\t\t\tclone: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t: function(value) {\n\t\t\t\t\t\treturn value == null || isNaN(value) ? 0 : +value;\n\t\t\t\t\t};\n\t\t\tthis['get' + part] = function() {\n\t\t\t\treturn this._type === type\n\t\t\t\t\t|| hasOverlap && /^hs[bl]$/.test(this._type)\n\t\t\t\t\t\t? this._components[index]\n\t\t\t\t\t\t: this._convert(type)[index];\n\t\t\t};\n\n\t\t\tthis['set' + part] = function(value) {\n\t\t\t\tif (this._type !== type\n\t\t\t\t\t\t&& !(hasOverlap && /^hs[bl]$/.test(this._type))) {\n\t\t\t\t\tthis._components = this._convert(type);\n\t\t\t\t\tthis._properties = types[type];\n\t\t\t\t\tthis._type = type;\n\t\t\t\t}\n\t\t\t\tthis._components[index] = parser.call(this, value);\n\t\t\t\tthis._changed();\n\t\t\t};\n\t\t}, this);\n\t}, {\n\t\t_class: 'Color',\n\t\t_readIndex: true,\n\n\t\tinitialize: function Color(arg) {\n\t\t\tvar args = arguments,\n\t\t\t\treading = this.__read,\n\t\t\t\tread = 0,\n\t\t\t\ttype,\n\t\t\t\tcomponents,\n\t\t\t\talpha,\n\t\t\t\tvalues;\n\t\t\tif (Array.isArray(arg)) {\n\t\t\t\targs = arg;\n\t\t\t\targ = args[0];\n\t\t\t}\n\t\t\tvar argType = arg != null && typeof arg;\n\t\t\tif (argType === 'string' && arg in types) {\n\t\t\t\ttype = arg;\n\t\t\t\targ = args[1];\n\t\t\t\tif (Array.isArray(arg)) {\n\t\t\t\t\tcomponents = arg;\n\t\t\t\t\talpha = args[2];\n\t\t\t\t} else {\n\t\t\t\t\tif (reading)\n\t\t\t\t\t\tread = 1;\n\t\t\t\t\targs = Base.slice(args, 1);\n\t\t\t\t\targType = typeof arg;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!components) {\n\t\t\t\tvalues = argType === 'number'\n\t\t\t\t\t\t? args\n\t\t\t\t\t\t: argType === 'object' && arg.length != null\n\t\t\t\t\t\t\t? arg\n\t\t\t\t\t\t\t: null;\n\t\t\t\tif (values) {\n\t\t\t\t\tif (!type)\n\t\t\t\t\t\ttype = values.length >= 3\n\t\t\t\t\t\t\t\t? 'rgb'\n\t\t\t\t\t\t\t\t: 'gray';\n\t\t\t\t\tvar length = types[type].length;\n\t\t\t\t\talpha = values[length];\n\t\t\t\t\tif (reading) {\n\t\t\t\t\t\tread += values === arguments\n\t\t\t\t\t\t\t? length + (alpha != null ? 1 : 0)\n\t\t\t\t\t\t\t: 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (values.length > length)\n\t\t\t\t\t\tvalues = Base.slice(values, 0, length);\n\t\t\t\t} else if (argType === 'string') {\n\t\t\t\t\tvar converted = fromCSS(arg);\n\t\t\t\t\ttype = converted[0];\n\t\t\t\t\tcomponents = converted[1];\n\t\t\t\t\tif (components.length === 4) {\n\t\t\t\t\t\talpha = components[3];\n\t\t\t\t\t\tcomponents.length--;\n\t\t\t\t\t}\n\t\t\t\t} else if (argType === 'object') {\n\t\t\t\t\tif (arg.constructor === Color) {\n\t\t\t\t\t\ttype = arg._type;\n\t\t\t\t\t\tcomponents = arg._components.slice();\n\t\t\t\t\t\talpha = arg._alpha;\n\t\t\t\t\t\tif (type === 'gradient') {\n\t\t\t\t\t\t\tfor (var i = 1, l = components.length; i < l; i++) {\n\t\t\t\t\t\t\t\tvar point = components[i];\n\t\t\t\t\t\t\t\tif (point)\n\t\t\t\t\t\t\t\t\tcomponents[i] = point.clone();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (arg.constructor === Gradient) {\n\t\t\t\t\t\ttype = 'gradient';\n\t\t\t\t\t\tvalues = args;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttype = 'hue' in arg\n\t\t\t\t\t\t\t? 'lightness' in arg\n\t\t\t\t\t\t\t\t? 'hsl'\n\t\t\t\t\t\t\t\t: 'hsb'\n\t\t\t\t\t\t\t: 'gradient' in arg || 'stops' in arg\n\t\t\t\t\t\t\t\t\t|| 'radial' in arg\n\t\t\t\t\t\t\t\t? 'gradient'\n\t\t\t\t\t\t\t\t: 'gray' in arg\n\t\t\t\t\t\t\t\t\t? 'gray'\n\t\t\t\t\t\t\t\t\t: 'rgb';\n\t\t\t\t\t\tvar properties = types[type],\n\t\t\t\t\t\t\tparsers = componentParsers[type];\n\t\t\t\t\t\tthis._components = components = [];\n\t\t\t\t\t\tfor (var i = 0, l = properties.length; i < l; i++) {\n\t\t\t\t\t\t\tvar value = arg[properties[i]];\n\t\t\t\t\t\t\tif (value == null && !i && type === 'gradient'\n\t\t\t\t\t\t\t\t\t&& 'stops' in arg) {\n\t\t\t\t\t\t\t\tvalue = {\n\t\t\t\t\t\t\t\t\tstops: arg.stops,\n\t\t\t\t\t\t\t\t\tradial: arg.radial\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = parsers[i].call(this, value);\n\t\t\t\t\t\t\tif (value != null)\n\t\t\t\t\t\t\t\tcomponents[i] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\talpha = arg.alpha;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (reading && type)\n\t\t\t\t\tread = 1;\n\t\t\t}\n\t\t\tthis._type = type || 'rgb';\n\t\t\tif (!components) {\n\t\t\t\tthis._components = components = [];\n\t\t\t\tvar parsers = componentParsers[this._type];\n\t\t\t\tfor (var i = 0, l = parsers.length; i < l; i++) {\n\t\t\t\t\tvar value = parsers[i].call(this, values && values[i]);\n\t\t\t\t\tif (value != null)\n\t\t\t\t\t\tcomponents[i] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._components = components;\n\t\t\tthis._properties = types[this._type];\n\t\t\tthis._alpha = alpha;\n\t\t\tif (reading)\n\t\t\t\tthis.__read = read;\n\t\t\treturn this;\n\t\t},\n\n\t\tset: '#initialize',\n\n\t\t_serialize: function(options, dictionary) {\n\t\t\tvar components = this.getComponents();\n\t\t\treturn Base.serialize(\n\t\t\t\t\t/^(gray|rgb)$/.test(this._type)\n\t\t\t\t\t\t? components\n\t\t\t\t\t\t: [this._type].concat(components),\n\t\t\t\t\toptions, true, dictionary);\n\t\t},\n\n\t\t_changed: function() {\n\t\t\tthis._canvasStyle = null;\n\t\t\tif (this._owner)\n\t\t\t\tthis._owner._changed(129);\n\t\t},\n\n\t\t_convert: function(type) {\n\t\t\tvar converter;\n\t\t\treturn this._type === type\n\t\t\t\t\t? this._components.slice()\n\t\t\t\t\t: (converter = converters[this._type + '-' + type])\n\t\t\t\t\t\t? converter.apply(this, this._components)\n\t\t\t\t\t\t: converters['rgb-' + type].apply(this,\n\t\t\t\t\t\t\tconverters[this._type + '-rgb'].apply(this,\n\t\t\t\t\t\t\t\tthis._components));\n\t\t},\n\n\t\tconvert: function(type) {\n\t\t\treturn new Color(type, this._convert(type), this._alpha);\n\t\t},\n\n\t\tgetType: function() {\n\t\t\treturn this._type;\n\t\t},\n\n\t\tsetType: function(type) {\n\t\t\tthis._components = this._convert(type);\n\t\t\tthis._properties = types[type];\n\t\t\tthis._type = type;\n\t\t},\n\n\t\tgetComponents: function() {\n\t\t\tvar components = this._components.slice();\n\t\t\tif (this._alpha != null)\n\t\t\t\tcomponents.push(this._alpha);\n\t\t\treturn components;\n\t\t},\n\n\t\tgetAlpha: function() {\n\t\t\treturn this._alpha != null ? this._alpha : 1;\n\t\t},\n\n\t\tsetAlpha: function(alpha) {\n\t\t\tthis._alpha = alpha == null ? null : Math.min(Math.max(alpha, 0), 1);\n\t\t\tthis._changed();\n\t\t},\n\n\t\thasAlpha: function() {\n\t\t\treturn this._alpha != null;\n\t\t},\n\n\t\tequals: function(color) {\n\t\t\tvar col = Base.isPlainValue(color, true)\n\t\t\t\t\t? Color.read(arguments)\n\t\t\t\t\t: color;\n\t\t\treturn col === this || col && this._class === col._class\n\t\t\t\t\t&& this._type === col._type\n\t\t\t\t\t&& this.getAlpha() === col.getAlpha()\n\t\t\t\t\t&& Base.equals(this._components, col._components)\n\t\t\t\t\t|| false;\n\t\t},\n\n\t\ttoString: function() {\n\t\t\tvar properties = this._properties,\n\t\t\t\tparts = [],\n\t\t\t\tisGradient = this._type === 'gradient',\n\t\t\t\tf = Formatter.instance;\n\t\t\tfor (var i = 0, l = properties.length; i < l; i++) {\n\t\t\t\tvar value = this._components[i];\n\t\t\t\tif (value != null)\n\t\t\t\t\tparts.push(properties[i] + ': '\n\t\t\t\t\t\t\t+ (isGradient ? value : f.number(value)));\n\t\t\t}\n\t\t\tif (this._alpha != null)\n\t\t\t\tparts.push('alpha: ' + f.number(this._alpha));\n\t\t\treturn '{ ' + parts.join(', ') + ' }';\n\t\t},\n\n\t\ttoCSS: function(hex) {\n\t\t\tvar components = this._convert('rgb'),\n\t\t\t\talpha = hex || this._alpha == null ? 1 : this._alpha;\n\t\t\tfunction convert(val) {\n\t\t\t\treturn Math.round((val < 0 ? 0 : val > 1 ? 1 : val) * 255);\n\t\t\t}\n\t\t\tcomponents = [\n\t\t\t\tconvert(components[0]),\n\t\t\t\tconvert(components[1]),\n\t\t\t\tconvert(components[2])\n\t\t\t];\n\t\t\tif (alpha < 1)\n\t\t\t\tcomponents.push(alpha < 0 ? 0 : alpha);\n\t\t\treturn hex\n\t\t\t\t\t? '#' + ((1 << 24) + (components[0] << 16)\n\t\t\t\t\t\t+ (components[1] << 8)\n\t\t\t\t\t\t+ components[2]).toString(16).slice(1)\n\t\t\t\t\t: (components.length == 4 ? 'rgba(' : 'rgb(')\n\t\t\t\t\t\t+ components.join(',') + ')';\n\t\t},\n\n\t\ttoCanvasStyle: function(ctx, matrix) {\n\t\t\tif (this._canvasStyle)\n\t\t\t\treturn this._canvasStyle;\n\t\t\tif (this._type !== 'gradient')\n\t\t\t\treturn this._canvasStyle = this.toCSS();\n\t\t\tvar components = this._components,\n\t\t\t\tgradient = components[0],\n\t\t\t\tstops = gradient._stops,\n\t\t\t\torigin = components[1],\n\t\t\t\tdestination = components[2],\n\t\t\t\thighlight = components[3],\n\t\t\t\tinverse = matrix && matrix.inverted(),\n\t\t\t\tcanvasGradient;\n\t\t\tif (inverse) {\n\t\t\t\torigin = inverse._transformPoint(origin);\n\t\t\t\tdestination = inverse._transformPoint(destination);\n\t\t\t\tif (highlight)\n\t\t\t\t\thighlight = inverse._transformPoint(highlight);\n\t\t\t}\n\t\t\tif (gradient._radial) {\n\t\t\t\tvar radius = destination.getDistance(origin);\n\t\t\t\tif (highlight) {\n\t\t\t\t\tvar vector = highlight.subtract(origin);\n\t\t\t\t\tif (vector.getLength() > radius)\n\t\t\t\t\t\thighlight = origin.add(vector.normalize(radius - 0.1));\n\t\t\t\t}\n\t\t\t\tvar start = highlight || origin;\n\t\t\t\tcanvasGradient = ctx.createRadialGradient(start.x, start.y,\n\t\t\t\t\t\t0, origin.x, origin.y, radius);\n\t\t\t} else {\n\t\t\t\tcanvasGradient = ctx.createLinearGradient(origin.x, origin.y,\n\t\t\t\t\t\tdestination.x, destination.y);\n\t\t\t}\n\t\t\tfor (var i = 0, l = stops.length; i < l; i++) {\n\t\t\t\tvar stop = stops[i],\n\t\t\t\t\toffset = stop._offset;\n\t\t\t\tcanvasGradient.addColorStop(\n\t\t\t\t\t\toffset == null ? i / (l - 1) : offset,\n\t\t\t\t\t\tstop._color.toCanvasStyle());\n\t\t\t}\n\t\t\treturn this._canvasStyle = canvasGradient;\n\t\t},\n\n\t\ttransform: function(matrix) {\n\t\t\tif (this._type === 'gradient') {\n\t\t\t\tvar components = this._components;\n\t\t\t\tfor (var i = 1, l = components.length; i < l; i++) {\n\t\t\t\t\tvar point = components[i];\n\t\t\t\t\tmatrix._transformPoint(point, point, true);\n\t\t\t\t}\n\t\t\t\tthis._changed();\n\t\t\t}\n\t\t},\n\n\t\tstatics: {\n\t\t\t_types: types,\n\n\t\t\trandom: function() {\n\t\t\t\tvar random = Math.random;\n\t\t\t\treturn new Color(random(), random(), random());\n\t\t\t}\n\t\t}\n\t});\n},\nnew function() {\n\tvar operators = {\n\t\tadd: function(a, b) {\n\t\t\treturn a + b;\n\t\t},\n\n\t\tsubtract: function(a, b) {\n\t\t\treturn a - b;\n\t\t},\n\n\t\tmultiply: function(a, b) {\n\t\t\treturn a * b;\n\t\t},\n\n\t\tdivide: function(a, b) {\n\t\t\treturn a / b;\n\t\t}\n\t};\n\n\treturn Base.each(operators, function(operator, name) {\n\t\tthis[name] = function(color) {\n\t\t\tcolor = Color.read(arguments);\n\t\t\tvar type = this._type,\n\t\t\t\tcomponents1 = this._components,\n\t\t\t\tcomponents2 = color._convert(type);\n\t\t\tfor (var i = 0, l = components1.length; i < l; i++)\n\t\t\t\tcomponents2[i] = operator(components1[i], components2[i]);\n\t\t\treturn new Color(type, components2,\n\t\t\t\t\tthis._alpha != null\n\t\t\t\t\t\t\t? operator(this._alpha, color.getAlpha())\n\t\t\t\t\t\t\t: null);\n\t\t};\n\t}, {\n\t});\n});\n\nvar Gradient = Base.extend({\n\t_class: 'Gradient',\n\n\tinitialize: function Gradient(stops, radial) {\n\t\tthis._id = UID.get();\n\t\tif (stops && Base.isPlainObject(stops)) {\n\t\t\tthis.set(stops);\n\t\t\tstops = radial = null;\n\t\t}\n\t\tif (this._stops == null) {\n\t\t\tthis.setStops(stops || ['white', 'black']);\n\t\t}\n\t\tif (this._radial == null) {\n\t\t\tthis.setRadial(typeof radial === 'string' && radial === 'radial'\n\t\t\t\t\t|| radial || false);\n\t\t}\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\treturn dictionary.add(this, function() {\n\t\t\treturn Base.serialize([this._stops, this._radial],\n\t\t\t\t\toptions, true, dictionary);\n\t\t});\n\t},\n\n\t_changed: function() {\n\t\tfor (var i = 0, l = this._owners && this._owners.length; i < l; i++) {\n\t\t\tthis._owners[i]._changed();\n\t\t}\n\t},\n\n\t_addOwner: function(color) {\n\t\tif (!this._owners)\n\t\t\tthis._owners = [];\n\t\tthis._owners.push(color);\n\t},\n\n\t_removeOwner: function(color) {\n\t\tvar index = this._owners ? this._owners.indexOf(color) : -1;\n\t\tif (index != -1) {\n\t\t\tthis._owners.splice(index, 1);\n\t\t\tif (!this._owners.length)\n\t\t\t\tthis._owners = undefined;\n\t\t}\n\t},\n\n\tclone: function() {\n\t\tvar stops = [];\n\t\tfor (var i = 0, l = this._stops.length; i < l; i++) {\n\t\t\tstops[i] = this._stops[i].clone();\n\t\t}\n\t\treturn new Gradient(stops, this._radial);\n\t},\n\n\tgetStops: function() {\n\t\treturn this._stops;\n\t},\n\n\tsetStops: function(stops) {\n\t\tif (stops.length < 2) {\n\t\t\tthrow new Error(\n\t\t\t\t\t'Gradient stop list needs to contain at least two stops.');\n\t\t}\n\t\tvar _stops = this._stops;\n\t\tif (_stops) {\n\t\t\tfor (var i = 0, l = _stops.length; i < l; i++)\n\t\t\t\t_stops[i]._owner = undefined;\n\t\t}\n\t\t_stops = this._stops = GradientStop.readList(stops, 0, { clone: true });\n\t\tfor (var i = 0, l = _stops.length; i < l; i++)\n\t\t\t_stops[i]._owner = this;\n\t\tthis._changed();\n\t},\n\n\tgetRadial: function() {\n\t\treturn this._radial;\n\t},\n\n\tsetRadial: function(radial) {\n\t\tthis._radial = radial;\n\t\tthis._changed();\n\t},\n\n\tequals: function(gradient) {\n\t\tif (gradient === this)\n\t\t\treturn true;\n\t\tif (gradient && this._class === gradient._class) {\n\t\t\tvar stops1 = this._stops,\n\t\t\t\tstops2 = gradient._stops,\n\t\t\t\tlength = stops1.length;\n\t\t\tif (length === stops2.length) {\n\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\tif (!stops1[i].equals(stops2[i]))\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n});\n\nvar GradientStop = Base.extend({\n\t_class: 'GradientStop',\n\n\tinitialize: function GradientStop(arg0, arg1) {\n\t\tvar color = arg0,\n\t\t\toffset = arg1;\n\t\tif (typeof arg0 === 'object' && arg1 === undefined) {\n\t\t\tif (Array.isArray(arg0) && typeof arg0[0] !== 'number') {\n\t\t\t\tcolor = arg0[0];\n\t\t\t\toffset = arg0[1];\n\t\t\t} else if ('color' in arg0 || 'offset' in arg0\n\t\t\t\t\t|| 'rampPoint' in arg0) {\n\t\t\t\tcolor = arg0.color;\n\t\t\t\toffset = arg0.offset || arg0.rampPoint || 0;\n\t\t\t}\n\t\t}\n\t\tthis.setColor(color);\n\t\tthis.setOffset(offset);\n\t},\n\n\tclone: function() {\n\t\treturn new GradientStop(this._color.clone(), this._offset);\n\t},\n\n\t_serialize: function(options, dictionary) {\n\t\tvar color = this._color,\n\t\t\toffset = this._offset;\n\t\treturn Base.serialize(offset == null ? [color] : [color, offset],\n\t\t\t\toptions, true, dictionary);\n\t},\n\n\t_changed: function() {\n\t\tif (this._owner)\n\t\t\tthis._owner._changed(129);\n\t},\n\n\tgetOffset: function() {\n\t\treturn this._offset;\n\t},\n\n\tsetOffset: function(offset) {\n\t\tthis._offset = offset;\n\t\tthis._changed();\n\t},\n\n\tgetRampPoint: '#getOffset',\n\tsetRampPoint: '#setOffset',\n\n\tgetColor: function() {\n\t\treturn this._color;\n\t},\n\n\tsetColor: function() {\n\t\tvar color = Color.read(arguments, 0, { clone: true });\n\t\tif (color)\n\t\t\tcolor._owner = this;\n\t\tthis._color = color;\n\t\tthis._changed();\n\t},\n\n\tequals: function(stop) {\n\t\treturn stop === this || stop && this._class === stop._class\n\t\t\t\t&& this._color.equals(stop._color)\n\t\t\t\t&& this._offset == stop._offset\n\t\t\t\t|| false;\n\t}\n});\n\nvar Style = Base.extend(new function() {\n\tvar itemDefaults = {\n\t\tfillColor: null,\n\t\tfillRule: 'nonzero',\n\t\tstrokeColor: null,\n\t\tstrokeWidth: 1,\n\t\tstrokeCap: 'butt',\n\t\tstrokeJoin: 'miter',\n\t\tstrokeScaling: true,\n\t\tmiterLimit: 10,\n\t\tdashOffset: 0,\n\t\tdashArray: [],\n\t\tshadowColor: null,\n\t\tshadowBlur: 0,\n\t\tshadowOffset: new Point(),\n\t\tselectedColor: null\n\t},\n\tgroupDefaults = Base.set({}, itemDefaults, {\n\t\tfontFamily: 'sans-serif',\n\t\tfontWeight: 'normal',\n\t\tfontSize: 12,\n\t\tleading: null,\n\t\tjustification: 'left'\n\t}),\n\ttextDefaults = Base.set({}, groupDefaults, {\n\t\tfillColor: new Color()\n\t}),\n\tflags = {\n\t\tstrokeWidth: 193,\n\t\tstrokeCap: 193,\n\t\tstrokeJoin: 193,\n\t\tstrokeScaling: 201,\n\t\tmiterLimit: 193,\n\t\tfontFamily: 9,\n\t\tfontWeight: 9,\n\t\tfontSize: 9,\n\t\tfont: 9,\n\t\tleading: 9,\n\t\tjustification: 9\n\t},\n\titem = {\n\t\tbeans: true\n\t},\n\tfields = {\n\t\t_class: 'Style',\n\t\tbeans: true,\n\n\t\tinitialize: function Style(style, _owner, _project) {\n\t\t\tthis._values = {};\n\t\t\tthis._owner = _owner;\n\t\t\tthis._project = _owner && _owner._project || _project\n\t\t\t\t\t|| paper.project;\n\t\t\tthis._defaults = !_owner || _owner instanceof Group ? groupDefaults\n\t\t\t\t\t: _owner instanceof TextItem ? textDefaults\n\t\t\t\t\t: itemDefaults;\n\t\t\tif (style)\n\t\t\t\tthis.set(style);\n\t\t}\n\t};\n\n\tBase.each(groupDefaults, function(value, key) {\n\t\tvar isColor = /Color$/.test(key),\n\t\t\tisPoint = key === 'shadowOffset',\n\t\t\tpart = Base.capitalize(key),\n\t\t\tflag = flags[key],\n\t\t\tset = 'set' + part,\n\t\t\tget = 'get' + part;\n\n\t\tfields[set] = function(value) {\n\t\t\tvar owner = this._owner,\n\t\t\t\tchildren = owner && owner._children;\n\t\t\tif (children && children.length > 0\n\t\t\t\t\t&& !(owner instanceof CompoundPath)) {\n\t\t\t\tfor (var i = 0, l = children.length; i < l; i++)\n\t\t\t\t\tchildren[i]._style[set](value);\n\t\t\t} else if (key in this._defaults) {\n\t\t\t\tvar old = this._values[key];\n\t\t\t\tif (old !== value) {\n\t\t\t\t\tif (isColor) {\n\t\t\t\t\t\tif (old && old._owner !== undefined) {\n\t\t\t\t\t\t\told._owner = undefined;\n\t\t\t\t\t\t\told._canvasStyle = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value && value.constructor === Color) {\n\t\t\t\t\t\t\tif (value._owner)\n\t\t\t\t\t\t\t\tvalue = value.clone();\n\t\t\t\t\t\t\tvalue._owner = owner;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis._values[key] = value;\n\t\t\t\t\tif (owner)\n\t\t\t\t\t\towner._changed(flag || 129);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfields[get] = function(_dontMerge) {\n\t\t\tvar owner = this._owner,\n\t\t\t\tchildren = owner && owner._children,\n\t\t\t\tvalue;\n\t\t\tif (key in this._defaults && (!children || !children.length\n\t\t\t\t\t|| _dontMerge || owner instanceof CompoundPath)) {\n\t\t\t\tvar value = this._values[key];\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\tvalue = this._defaults[key];\n\t\t\t\t\tif (value && value.clone)\n\t\t\t\t\t\tvalue = value.clone();\n\t\t\t\t} else {\n\t\t\t\t\tvar ctor = isColor ? Color : isPoint ? Point : null;\n\t\t\t\t\tif (ctor && !(value && value.constructor === ctor)) {\n\t\t\t\t\t\tthis._values[key] = value = ctor.read([value], 0,\n\t\t\t\t\t\t\t\t{ readNull: true, clone: true });\n\t\t\t\t\t\tif (value && isColor)\n\t\t\t\t\t\t\tvalue._owner = owner;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (children) {\n\t\t\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\t\t\tvar childValue = children[i]._style[get]();\n\t\t\t\t\tif (!i) {\n\t\t\t\t\t\tvalue = childValue;\n\t\t\t\t\t} else if (!Base.equals(value, childValue)) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t};\n\n\t\titem[get] = function(_dontMerge) {\n\t\t\treturn this._style[get](_dontMerge);\n\t\t};\n\n\t\titem[set] = function(value) {\n\t\t\tthis._style[set](value);\n\t\t};\n\t});\n\n\tBase.each({\n\t\tFont: 'FontFamily',\n\t\tWindingRule: 'FillRule'\n\t}, function(value, key) {\n\t\tvar get = 'get' + key,\n\t\t\tset = 'set' + key;\n\t\tfields[get] = item[get] = '#get' + value;\n\t\tfields[set] = item[set] = '#set' + value;\n\t});\n\n\tItem.inject(item);\n\treturn fields;\n}, {\n\tset: function(style) {\n\t\tvar isStyle = style instanceof Style,\n\t\t\tvalues = isStyle ? style._values : style;\n\t\tif (values) {\n\t\t\tfor (var key in values) {\n\t\t\t\tif (key in this._defaults) {\n\t\t\t\t\tvar value = values[key];\n\t\t\t\t\tthis[key] = value && isStyle && value.clone\n\t\t\t\t\t\t\t? value.clone() : value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tequals: function(style) {\n\t\tfunction compare(style1, style2, secondary) {\n\t\t\tvar values1 = style1._values,\n\t\t\t\tvalues2 = style2._values,\n\t\t\t\tdefaults2 = style2._defaults;\n\t\t\tfor (var key in values1) {\n\t\t\t\tvar value1 = values1[key],\n\t\t\t\t\tvalue2 = values2[key];\n\t\t\t\tif (!(secondary && key in values2) && !Base.equals(value1,\n\t\t\t\t\t\tvalue2 === undefined ? defaults2[key] : value2))\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\treturn style === this || style && this._class === style._class\n\t\t\t\t&& compare(this, style)\n\t\t\t\t&& compare(style, this, true)\n\t\t\t\t|| false;\n\t},\n\n\t_dispose: function() {\n\t\tvar color;\n\t\tcolor = this.getFillColor();\n\t\tif (color) color._canvasStyle = null;\n\t\tcolor = this.getStrokeColor();\n\t\tif (color) color._canvasStyle = null;\n\t\tcolor = this.getShadowColor();\n\t\tif (color) color._canvasStyle = null;\n\t},\n\n\thasFill: function() {\n\t\tvar color = this.getFillColor();\n\t\treturn !!color && color.alpha > 0;\n\t},\n\n\thasStroke: function() {\n\t\tvar color = this.getStrokeColor();\n\t\treturn !!color && color.alpha > 0 && this.getStrokeWidth() > 0;\n\t},\n\n\thasShadow: function() {\n\t\tvar color = this.getShadowColor();\n\t\treturn !!color && color.alpha > 0 && (this.getShadowBlur() > 0\n\t\t\t\t|| !this.getShadowOffset().isZero());\n\t},\n\n\tgetView: function() {\n\t\treturn this._project._view;\n\t},\n\n\tgetFontStyle: function() {\n\t\tvar fontSize = this.getFontSize();\n\t\treturn this.getFontWeight()\n\t\t\t\t+ ' ' + fontSize + (/[a-z]/i.test(fontSize + '') ? ' ' : 'px ')\n\t\t\t\t+ this.getFontFamily();\n\t},\n\n\tgetFont: '#getFontFamily',\n\tsetFont: '#setFontFamily',\n\n\tgetLeading: function getLeading() {\n\t\tvar leading = getLeading.base.call(this),\n\t\t\tfontSize = this.getFontSize();\n\t\tif (/pt|em|%|px/.test(fontSize))\n\t\t\tfontSize = this.getView().getPixelSize(fontSize);\n\t\treturn leading != null ? leading : fontSize * 1.2;\n\t}\n\n});\n\nvar DomElement = new function() {\n\tfunction handlePrefix(el, name, set, value) {\n\t\tvar prefixes = ['', 'webkit', 'moz', 'Moz', 'ms', 'o'],\n\t\t\tsuffix = name[0].toUpperCase() + name.substring(1);\n\t\tfor (var i = 0; i < 6; i++) {\n\t\t\tvar prefix = prefixes[i],\n\t\t\t\tkey = prefix ? prefix + suffix : name;\n\t\t\tif (key in el) {\n\t\t\t\tif (set) {\n\t\t\t\t\tel[key] = value;\n\t\t\t\t} else {\n\t\t\t\t\treturn el[key];\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tgetStyles: function(el) {\n\t\t\tvar doc = el && el.nodeType !== 9 ? el.ownerDocument : el,\n\t\t\t\tview = doc && doc.defaultView;\n\t\t\treturn view && view.getComputedStyle(el, '');\n\t\t},\n\n\t\tgetBounds: function(el, viewport) {\n\t\t\tvar doc = el.ownerDocument,\n\t\t\t\tbody = doc.body,\n\t\t\t\thtml = doc.documentElement,\n\t\t\t\trect;\n\t\t\ttry {\n\t\t\t\trect = el.getBoundingClientRect();\n\t\t\t} catch (e) {\n\t\t\t\trect = { left: 0, top: 0, width: 0, height: 0 };\n\t\t\t}\n\t\t\tvar x = rect.left - (html.clientLeft || body.clientLeft || 0),\n\t\t\t\ty = rect.top - (html.clientTop || body.clientTop || 0);\n\t\t\tif (!viewport) {\n\t\t\t\tvar view = doc.defaultView;\n\t\t\t\tx += view.pageXOffset || html.scrollLeft || body.scrollLeft;\n\t\t\t\ty += view.pageYOffset || html.scrollTop || body.scrollTop;\n\t\t\t}\n\t\t\treturn new Rectangle(x, y, rect.width, rect.height);\n\t\t},\n\n\t\tgetViewportBounds: function(el) {\n\t\t\tvar doc = el.ownerDocument,\n\t\t\t\tview = doc.defaultView,\n\t\t\t\thtml = doc.documentElement;\n\t\t\treturn new Rectangle(0, 0,\n\t\t\t\tview.innerWidth || html.clientWidth,\n\t\t\t\tview.innerHeight || html.clientHeight\n\t\t\t);\n\t\t},\n\n\t\tgetOffset: function(el, viewport) {\n\t\t\treturn DomElement.getBounds(el, viewport).getPoint();\n\t\t},\n\n\t\tgetSize: function(el) {\n\t\t\treturn DomElement.getBounds(el, true).getSize();\n\t\t},\n\n\t\tisInvisible: function(el) {\n\t\t\treturn DomElement.getSize(el).equals(new Size(0, 0));\n\t\t},\n\n\t\tisInView: function(el) {\n\t\t\treturn !DomElement.isInvisible(el)\n\t\t\t\t\t&& DomElement.getViewportBounds(el).intersects(\n\t\t\t\t\t\tDomElement.getBounds(el, true));\n\t\t},\n\n\t\tisInserted: function(el) {\n\t\t\treturn document.body.contains(el);\n\t\t},\n\n\t\tgetPrefixed: function(el, name) {\n\t\t\treturn el && handlePrefix(el, name);\n\t\t},\n\n\t\tsetPrefixed: function(el, name, value) {\n\t\t\tif (typeof name === 'object') {\n\t\t\t\tfor (var key in name)\n\t\t\t\t\thandlePrefix(el, key, true, name[key]);\n\t\t\t} else {\n\t\t\t\thandlePrefix(el, name, true, value);\n\t\t\t}\n\t\t}\n\t};\n};\n\nvar DomEvent = {\n\tadd: function(el, events) {\n\t\tif (el) {\n\t\t\tfor (var type in events) {\n\t\t\t\tvar func = events[type],\n\t\t\t\t\tparts = type.split(/[\\s,]+/g);\n\t\t\t\tfor (var i = 0, l = parts.length; i < l; i++) {\n\t\t\t\t\tvar name = parts[i];\n\t\t\t\t\tvar options = (\n\t\t\t\t\t\tel === document\n\t\t\t\t\t\t&& (name === 'touchstart' || name === 'touchmove')\n\t\t\t\t\t) ? { passive: false } : false;\n\t\t\t\t\tel.addEventListener(name, func, options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremove: function(el, events) {\n\t\tif (el) {\n\t\t\tfor (var type in events) {\n\t\t\t\tvar func = events[type],\n\t\t\t\t\tparts = type.split(/[\\s,]+/g);\n\t\t\t\tfor (var i = 0, l = parts.length; i < l; i++)\n\t\t\t\t\tel.removeEventListener(parts[i], func, false);\n\t\t\t}\n\t\t}\n\t},\n\n\tgetPoint: function(event) {\n\t\tvar pos = event.targetTouches\n\t\t\t\t? event.targetTouches.length\n\t\t\t\t\t? event.targetTouches[0]\n\t\t\t\t\t: event.changedTouches[0]\n\t\t\t\t: event;\n\t\treturn new Point(\n\t\t\tpos.pageX || pos.clientX + document.documentElement.scrollLeft,\n\t\t\tpos.pageY || pos.clientY + document.documentElement.scrollTop\n\t\t);\n\t},\n\n\tgetTarget: function(event) {\n\t\treturn event.target || event.srcElement;\n\t},\n\n\tgetRelatedTarget: function(event) {\n\t\treturn event.relatedTarget || event.toElement;\n\t},\n\n\tgetOffset: function(event, target) {\n\t\treturn DomEvent.getPoint(event).subtract(DomElement.getOffset(\n\t\t\t\ttarget || DomEvent.getTarget(event)));\n\t}\n};\n\nDomEvent.requestAnimationFrame = new function() {\n\tvar nativeRequest = DomElement.getPrefixed(window, 'requestAnimationFrame'),\n\t\trequested = false,\n\t\tcallbacks = [],\n\t\ttimer;\n\n\tfunction handleCallbacks() {\n\t\tvar functions = callbacks;\n\t\tcallbacks = [];\n\t\tfor (var i = 0, l = functions.length; i < l; i++)\n\t\t\tfunctions[i]();\n\t\trequested = nativeRequest && callbacks.length;\n\t\tif (requested)\n\t\t\tnativeRequest(handleCallbacks);\n\t}\n\n\treturn function(callback) {\n\t\tcallbacks.push(callback);\n\t\tif (nativeRequest) {\n\t\t\tif (!requested) {\n\t\t\t\tnativeRequest(handleCallbacks);\n\t\t\t\trequested = true;\n\t\t\t}\n\t\t} else if (!timer) {\n\t\t\ttimer = setInterval(handleCallbacks, 1000 / 60);\n\t\t}\n\t};\n};\n\nvar View = Base.extend(Emitter, {\n\t_class: 'View',\n\n\tinitialize: function View(project, element) {\n\n\t\tfunction getSize(name) {\n\t\t\treturn element[name] || parseInt(element.getAttribute(name), 10);\n\t\t}\n\n\t\tfunction getCanvasSize() {\n\t\t\tvar size = DomElement.getSize(element);\n\t\t\treturn size.isNaN() || size.isZero()\n\t\t\t\t\t? new Size(getSize('width'), getSize('height'))\n\t\t\t\t\t: size;\n\t\t}\n\n\t\tvar size;\n\t\tif (window && element) {\n\t\t\tthis._id = element.getAttribute('id');\n\t\t\tif (this._id == null)\n\t\t\t\telement.setAttribute('id', this._id = 'view-' + View._id++);\n\t\t\tDomEvent.add(element, this._viewEvents);\n\t\t\tvar none = 'none';\n\t\t\tDomElement.setPrefixed(element.style, {\n\t\t\t\tuserDrag: none,\n\t\t\t\tuserSelect: none,\n\t\t\t\ttouchCallout: none,\n\t\t\t\tcontentZooming: none,\n\t\t\t\ttapHighlightColor: 'rgba(0,0,0,0)'\n\t\t\t});\n\n\t\t\tif (PaperScope.hasAttribute(element, 'resize')) {\n\t\t\t\tvar that = this;\n\t\t\t\tDomEvent.add(window, this._windowEvents = {\n\t\t\t\t\tresize: function() {\n\t\t\t\t\t\tthat.setViewSize(getCanvasSize());\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tsize = getCanvasSize();\n\n\t\t\tif (PaperScope.hasAttribute(element, 'stats')\n\t\t\t\t\t&& typeof Stats !== 'undefined') {\n\t\t\t\tthis._stats = new Stats();\n\t\t\t\tvar stats = this._stats.domElement,\n\t\t\t\t\tstyle = stats.style,\n\t\t\t\t\toffset = DomElement.getOffset(element);\n\t\t\t\tstyle.position = 'absolute';\n\t\t\t\tstyle.left = offset.x + 'px';\n\t\t\t\tstyle.top = offset.y + 'px';\n\t\t\t\tdocument.body.appendChild(stats);\n\t\t\t}\n\t\t} else {\n\t\t\tsize = new Size(element);\n\t\t\telement = null;\n\t\t}\n\t\tthis._project = project;\n\t\tthis._scope = project._scope;\n\t\tthis._element = element;\n\t\tif (!this._pixelRatio)\n\t\t\tthis._pixelRatio = window && window.devicePixelRatio || 1;\n\t\tthis._setElementSize(size.width, size.height);\n\t\tthis._viewSize = size;\n\t\tView._views.push(this);\n\t\tView._viewsById[this._id] = this;\n\t\t(this._matrix = new Matrix())._owner = this;\n\t\tif (!View._focused)\n\t\t\tView._focused = this;\n\t\tthis._frameItems = {};\n\t\tthis._frameItemCount = 0;\n\t\tthis._itemEvents = { native: {}, virtual: {} };\n\t\tthis._autoUpdate = !paper.agent.node;\n\t\tthis._needsUpdate = false;\n\t},\n\n\tremove: function() {\n\t\tif (!this._project)\n\t\t\treturn false;\n\t\tif (View._focused === this)\n\t\t\tView._focused = null;\n\t\tView._views.splice(View._views.indexOf(this), 1);\n\t\tdelete View._viewsById[this._id];\n\t\tvar project = this._project;\n\t\tif (project._view === this)\n\t\t\tproject._view = null;\n\t\tDomEvent.remove(this._element, this._viewEvents);\n\t\tDomEvent.remove(window, this._windowEvents);\n\t\tthis._element = this._project = null;\n\t\tthis.off('frame');\n\t\tthis._animate = false;\n\t\tthis._frameItems = {};\n\t\treturn true;\n\t},\n\n\t_events: Base.each(\n\t\tItem._itemHandlers.concat(['onResize', 'onKeyDown', 'onKeyUp']),\n\t\tfunction(name) {\n\t\t\tthis[name] = {};\n\t\t}, {\n\t\t\tonFrame: {\n\t\t\t\tinstall: function() {\n\t\t\t\t\tthis.play();\n\t\t\t\t},\n\n\t\t\t\tuninstall: function() {\n\t\t\t\t\tthis.pause();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t),\n\n\t_animate: false,\n\t_time: 0,\n\t_count: 0,\n\n\tgetAutoUpdate: function() {\n\t\treturn this._autoUpdate;\n\t},\n\n\tsetAutoUpdate: function(autoUpdate) {\n\t\tthis._autoUpdate = autoUpdate;\n\t\tif (autoUpdate)\n\t\t\tthis.requestUpdate();\n\t},\n\n\tupdate: function() {\n\t},\n\n\tdraw: function() {\n\t\tthis.update();\n\t},\n\n\trequestUpdate: function() {\n\t\tif (!this._requested) {\n\t\t\tvar that = this;\n\t\t\tDomEvent.requestAnimationFrame(function() {\n\t\t\t\tthat._requested = false;\n\t\t\t\tif (that._animate) {\n\t\t\t\t\tthat.requestUpdate();\n\t\t\t\t\tvar element = that._element;\n\t\t\t\t\tif ((!DomElement.getPrefixed(document, 'hidden')\n\t\t\t\t\t\t\t|| PaperScope.getAttribute(element, 'keepalive')\n\t\t\t\t\t\t\t\t=== 'true') && DomElement.isInView(element)) {\n\t\t\t\t\t\tthat._handleFrame();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (that._autoUpdate)\n\t\t\t\t\tthat.update();\n\t\t\t});\n\t\t\tthis._requested = true;\n\t\t}\n\t},\n\n\tplay: function() {\n\t\tthis._animate = true;\n\t\tthis.requestUpdate();\n\t},\n\n\tpause: function() {\n\t\tthis._animate = false;\n\t},\n\n\t_handleFrame: function() {\n\t\tpaper = this._scope;\n\t\tvar now = Date.now() / 1000,\n\t\t\tdelta = this._last ? now - this._last : 0;\n\t\tthis._last = now;\n\t\tthis.emit('frame', new Base({\n\t\t\tdelta: delta,\n\t\t\ttime: this._time += delta,\n\t\t\tcount: this._count++\n\t\t}));\n\t\tif (this._stats)\n\t\t\tthis._stats.update();\n\t},\n\n\t_animateItem: function(item, animate) {\n\t\tvar items = this._frameItems;\n\t\tif (animate) {\n\t\t\titems[item._id] = {\n\t\t\t\titem: item,\n\t\t\t\ttime: 0,\n\t\t\t\tcount: 0\n\t\t\t};\n\t\t\tif (++this._frameItemCount === 1)\n\t\t\t\tthis.on('frame', this._handleFrameItems);\n\t\t} else {\n\t\t\tdelete items[item._id];\n\t\t\tif (--this._frameItemCount === 0) {\n\t\t\t\tthis.off('frame', this._handleFrameItems);\n\t\t\t}\n\t\t}\n\t},\n\n\t_handleFrameItems: function(event) {\n\t\tfor (var i in this._frameItems) {\n\t\t\tvar entry = this._frameItems[i];\n\t\t\tentry.item.emit('frame', new Base(event, {\n\t\t\t\ttime: entry.time += event.delta,\n\t\t\t\tcount: entry.count++\n\t\t\t}));\n\t\t}\n\t},\n\n\t_changed: function() {\n\t\tthis._project._changed(4097);\n\t\tthis._bounds = this._decomposed = undefined;\n\t},\n\n\tgetElement: function() {\n\t\treturn this._element;\n\t},\n\n\tgetPixelRatio: function() {\n\t\treturn this._pixelRatio;\n\t},\n\n\tgetResolution: function() {\n\t\treturn this._pixelRatio * 72;\n\t},\n\n\tgetViewSize: function() {\n\t\tvar size = this._viewSize;\n\t\treturn new LinkedSize(size.width, size.height, this, 'setViewSize');\n\t},\n\n\tsetViewSize: function() {\n\t\tvar size = Size.read(arguments),\n\t\t\tdelta = size.subtract(this._viewSize);\n\t\tif (delta.isZero())\n\t\t\treturn;\n\t\tthis._setElementSize(size.width, size.height);\n\t\tthis._viewSize.set(size);\n\t\tthis._changed();\n\t\tthis.emit('resize', { size: size, delta: delta });\n\t\tif (this._autoUpdate) {\n\t\t\tthis.update();\n\t\t}\n\t},\n\n\t_setElementSize: function(width, height) {\n\t\tvar element = this._element;\n\t\tif (element) {\n\t\t\tif (element.width !== width)\n\t\t\t\telement.width = width;\n\t\t\tif (element.height !== height)\n\t\t\t\telement.height = height;\n\t\t}\n\t},\n\n\tgetBounds: function() {\n\t\tif (!this._bounds)\n\t\t\tthis._bounds = this._matrix.inverted()._transformBounds(\n\t\t\t\t\tnew Rectangle(new Point(), this._viewSize));\n\t\treturn this._bounds;\n\t},\n\n\tgetSize: function() {\n\t\treturn this.getBounds().getSize();\n\t},\n\n\tisVisible: function() {\n\t\treturn DomElement.isInView(this._element);\n\t},\n\n\tisInserted: function() {\n\t\treturn DomElement.isInserted(this._element);\n\t},\n\n\tgetPixelSize: function(size) {\n\t\tvar element = this._element,\n\t\t\tpixels;\n\t\tif (element) {\n\t\t\tvar parent = element.parentNode,\n\t\t\t\ttemp = document.createElement('div');\n\t\t\ttemp.style.fontSize = size;\n\t\t\tparent.appendChild(temp);\n\t\t\tpixels = parseFloat(DomElement.getStyles(temp).fontSize);\n\t\t\tparent.removeChild(temp);\n\t\t} else {\n\t\t\tpixels = parseFloat(pixels);\n\t\t}\n\t\treturn pixels;\n\t},\n\n\tgetTextWidth: function(font, lines) {\n\t\treturn 0;\n\t}\n}, Base.each(['rotate', 'scale', 'shear', 'skew'], function(key) {\n\tvar rotate = key === 'rotate';\n\tthis[key] = function() {\n\t\tvar value = (rotate ? Base : Point).read(arguments),\n\t\t\tcenter = Point.read(arguments, 0, { readNull: true });\n\t\treturn this.transform(new Matrix()[key](value,\n\t\t\t\tcenter || this.getCenter(true)));\n\t};\n}, {\n\t_decompose: function() {\n\t\treturn this._decomposed || (this._decomposed = this._matrix.decompose());\n\t},\n\n\ttranslate: function() {\n\t\tvar mx = new Matrix();\n\t\treturn this.transform(mx.translate.apply(mx, arguments));\n\t},\n\n\tgetCenter: function() {\n\t\treturn this.getBounds().getCenter();\n\t},\n\n\tsetCenter: function() {\n\t\tvar center = Point.read(arguments);\n\t\tthis.translate(this.getCenter().subtract(center));\n\t},\n\n\tgetZoom: function() {\n\t\tvar scaling = this._decompose().scaling;\n\t\treturn (scaling.x + scaling.y) / 2;\n\t},\n\n\tsetZoom: function(zoom) {\n\t\tthis.transform(new Matrix().scale(zoom / this.getZoom(),\n\t\t\tthis.getCenter()));\n\t},\n\n\tgetRotation: function() {\n\t\treturn this._decompose().rotation;\n\t},\n\n\tsetRotation: function(rotation) {\n\t\tvar current = this.getRotation();\n\t\tif (current != null && rotation != null) {\n\t\t\tthis.rotate(rotation - current);\n\t\t}\n\t},\n\n\tgetScaling: function() {\n\t\tvar scaling = this._decompose().scaling;\n\t\treturn new LinkedPoint(scaling.x, scaling.y, this, 'setScaling');\n\t},\n\n\tsetScaling: function() {\n\t\tvar current = this.getScaling(),\n\t\t\tscaling = Point.read(arguments, 0, { clone: true, readNull: true });\n\t\tif (current && scaling) {\n\t\t\tthis.scale(scaling.x / current.x, scaling.y / current.y);\n\t\t}\n\t},\n\n\tgetMatrix: function() {\n\t\treturn this._matrix;\n\t},\n\n\tsetMatrix: function() {\n\t\tvar matrix = this._matrix;\n\t\tmatrix.initialize.apply(matrix, arguments);\n\t},\n\n\ttransform: function(matrix) {\n\t\tthis._matrix.append(matrix);\n\t},\n\n\tscrollBy: function() {\n\t\tthis.translate(Point.read(arguments).negate());\n\t}\n}), {\n\n\tprojectToView: function() {\n\t\treturn this._matrix._transformPoint(Point.read(arguments));\n\t},\n\n\tviewToProject: function() {\n\t\treturn this._matrix._inverseTransform(Point.read(arguments));\n\t},\n\n\tgetEventPoint: function(event) {\n\t\treturn this.viewToProject(DomEvent.getOffset(event, this._element));\n\t},\n\n}, {\n\tstatics: {\n\t\t_views: [],\n\t\t_viewsById: {},\n\t\t_id: 0,\n\n\t\tcreate: function(project, element) {\n\t\t\tif (document && typeof element === 'string')\n\t\t\t\telement = document.getElementById(element);\n\t\t\tvar ctor = window ? CanvasView : View;\n\t\t\treturn new ctor(project, element);\n\t\t}\n\t}\n},\nnew function() {\n\tif (!window)\n\t\treturn;\n\tvar prevFocus,\n\t\ttempFocus,\n\t\tdragging = false,\n\t\tmouseDown = false;\n\n\tfunction getView(event) {\n\t\tvar target = DomEvent.getTarget(event);\n\t\treturn target.getAttribute && View._viewsById[\n\t\t\t\ttarget.getAttribute('id')];\n\t}\n\n\tfunction updateFocus() {\n\t\tvar view = View._focused;\n\t\tif (!view || !view.isVisible()) {\n\t\t\tfor (var i = 0, l = View._views.length; i < l; i++) {\n\t\t\t\tif ((view = View._views[i]).isVisible()) {\n\t\t\t\t\tView._focused = tempFocus = view;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction handleMouseMove(view, event, point) {\n\t\tview._handleMouseEvent('mousemove', event, point);\n\t}\n\n\tvar navigator = window.navigator,\n\t\tmousedown, mousemove, mouseup;\n\tif (navigator.pointerEnabled || navigator.msPointerEnabled) {\n\t\tmousedown = 'pointerdown MSPointerDown';\n\t\tmousemove = 'pointermove MSPointerMove';\n\t\tmouseup = 'pointerup pointercancel MSPointerUp MSPointerCancel';\n\t} else {\n\t\tmousedown = 'touchstart';\n\t\tmousemove = 'touchmove';\n\t\tmouseup = 'touchend touchcancel';\n\t\tif (!('ontouchstart' in window && navigator.userAgent.match(\n\t\t\t\t/mobile|tablet|ip(ad|hone|od)|android|silk/i))) {\n\t\t\tmousedown += ' mousedown';\n\t\t\tmousemove += ' mousemove';\n\t\t\tmouseup += ' mouseup';\n\t\t}\n\t}\n\n\tvar viewEvents = {},\n\t\tdocEvents = {\n\t\t\tmouseout: function(event) {\n\t\t\t\tvar view = View._focused,\n\t\t\t\t\ttarget = DomEvent.getRelatedTarget(event);\n\t\t\t\tif (view && (!target || target.nodeName === 'HTML')) {\n\t\t\t\t\tvar offset = DomEvent.getOffset(event, view._element),\n\t\t\t\t\t\tx = offset.x,\n\t\t\t\t\t\tabs = Math.abs,\n\t\t\t\t\t\tax = abs(x),\n\t\t\t\t\t\tmax = 1 << 25,\n\t\t\t\t\t\tdiff = ax - max;\n\t\t\t\t\toffset.x = abs(diff) < ax ? diff * (x < 0 ? -1 : 1) : x;\n\t\t\t\t\thandleMouseMove(view, event, view.viewToProject(offset));\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tscroll: updateFocus\n\t\t};\n\n\tviewEvents[mousedown] = function(event) {\n\t\tvar view = View._focused = getView(event);\n\t\tif (!dragging) {\n\t\t\tdragging = true;\n\t\t\tview._handleMouseEvent('mousedown', event);\n\t\t}\n\t};\n\n\tdocEvents[mousemove] = function(event) {\n\t\tvar view = View._focused;\n\t\tif (!mouseDown) {\n\t\t\tvar target = getView(event);\n\t\t\tif (target) {\n\t\t\t\tif (view !== target) {\n\t\t\t\t\tif (view)\n\t\t\t\t\t\thandleMouseMove(view, event);\n\t\t\t\t\tif (!prevFocus)\n\t\t\t\t\t\tprevFocus = view;\n\t\t\t\t\tview = View._focused = tempFocus = target;\n\t\t\t\t}\n\t\t\t} else if (tempFocus && tempFocus === view) {\n\t\t\t\tif (prevFocus && !prevFocus.isInserted())\n\t\t\t\t\tprevFocus = null;\n\t\t\t\tview = View._focused = prevFocus;\n\t\t\t\tprevFocus = null;\n\t\t\t\tupdateFocus();\n\t\t\t}\n\t\t}\n\t\tif (view)\n\t\t\thandleMouseMove(view, event);\n\t};\n\n\tdocEvents[mousedown] = function() {\n\t\tmouseDown = true;\n\t};\n\n\tdocEvents[mouseup] = function(event) {\n\t\tvar view = View._focused;\n\t\tif (view && dragging)\n\t\t\tview._handleMouseEvent('mouseup', event);\n\t\tmouseDown = dragging = false;\n\t};\n\n\tDomEvent.add(document, docEvents);\n\n\tDomEvent.add(window, {\n\t\tload: updateFocus\n\t});\n\n\tvar called = false,\n\t\tprevented = false,\n\t\tfallbacks = {\n\t\t\tdoubleclick: 'click',\n\t\t\tmousedrag: 'mousemove'\n\t\t},\n\t\twasInView = false,\n\t\toverView,\n\t\tdownPoint,\n\t\tlastPoint,\n\t\tdownItem,\n\t\toverItem,\n\t\tdragItem,\n\t\tclickItem,\n\t\tclickTime,\n\t\tdblClick;\n\n\tfunction emitMouseEvent(obj, target, type, event, point, prevPoint,\n\t\t\tstopItem) {\n\t\tvar stopped = false,\n\t\t\tmouseEvent;\n\n\t\tfunction emit(obj, type) {\n\t\t\tif (obj.responds(type)) {\n\t\t\t\tif (!mouseEvent) {\n\t\t\t\t\tmouseEvent = new MouseEvent(type, event, point,\n\t\t\t\t\t\t\ttarget || obj,\n\t\t\t\t\t\t\tprevPoint ? point.subtract(prevPoint) : null);\n\t\t\t\t}\n\t\t\t\tif (obj.emit(type, mouseEvent)) {\n\t\t\t\t\tcalled = true;\n\t\t\t\t\tif (mouseEvent.prevented)\n\t\t\t\t\t\tprevented = true;\n\t\t\t\t\tif (mouseEvent.stopped)\n\t\t\t\t\t\treturn stopped = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar fallback = fallbacks[type];\n\t\t\t\tif (fallback)\n\t\t\t\t\treturn emit(obj, fallback);\n\t\t\t}\n\t\t}\n\n\t\twhile (obj && obj !== stopItem) {\n\t\t\tif (emit(obj, type))\n\t\t\t\tbreak;\n\t\t\tobj = obj._parent;\n\t\t}\n\t\treturn stopped;\n\t}\n\n\tfunction emitMouseEvents(view, hitItem, type, event, point, prevPoint) {\n\t\tview._project.removeOn(type);\n\t\tprevented = called = false;\n\t\treturn (dragItem && emitMouseEvent(dragItem, null, type, event,\n\t\t\t\t\tpoint, prevPoint)\n\t\t\t|| hitItem && hitItem !== dragItem\n\t\t\t\t&& !hitItem.isDescendant(dragItem)\n\t\t\t\t&& emitMouseEvent(hitItem, null, type === 'mousedrag' ?\n\t\t\t\t\t'mousemove' : type, event, point, prevPoint, dragItem)\n\t\t\t|| emitMouseEvent(view, dragItem || hitItem || view, type, event,\n\t\t\t\t\tpoint, prevPoint));\n\t}\n\n\tvar itemEventsMap = {\n\t\tmousedown: {\n\t\t\tmousedown: 1,\n\t\t\tmousedrag: 1,\n\t\t\tclick: 1,\n\t\t\tdoubleclick: 1\n\t\t},\n\t\tmouseup: {\n\t\t\tmouseup: 1,\n\t\t\tmousedrag: 1,\n\t\t\tclick: 1,\n\t\t\tdoubleclick: 1\n\t\t},\n\t\tmousemove: {\n\t\t\tmousedrag: 1,\n\t\t\tmousemove: 1,\n\t\t\tmouseenter: 1,\n\t\t\tmouseleave: 1\n\t\t}\n\t};\n\n\treturn {\n\t\t_viewEvents: viewEvents,\n\n\t\t_handleMouseEvent: function(type, event, point) {\n\t\t\tvar itemEvents = this._itemEvents,\n\t\t\t\thitItems = itemEvents.native[type],\n\t\t\t\tnativeMove = type === 'mousemove',\n\t\t\t\ttool = this._scope.tool,\n\t\t\t\tview = this;\n\n\t\t\tfunction responds(type) {\n\t\t\t\treturn itemEvents.virtual[type] || view.responds(type)\n\t\t\t\t\t\t|| tool && tool.responds(type);\n\t\t\t}\n\n\t\t\tif (nativeMove && dragging && responds('mousedrag'))\n\t\t\t\ttype = 'mousedrag';\n\t\t\tif (!point)\n\t\t\t\tpoint = this.getEventPoint(event);\n\n\t\t\tvar inView = this.getBounds().contains(point),\n\t\t\t\thit = hitItems && inView && view._project.hitTest(point, {\n\t\t\t\t\ttolerance: 0,\n\t\t\t\t\tfill: true,\n\t\t\t\t\tstroke: true\n\t\t\t\t}),\n\t\t\t\thitItem = hit && hit.item || null,\n\t\t\t\thandle = false,\n\t\t\t\tmouse = {};\n\t\t\tmouse[type.substr(5)] = true;\n\n\t\t\tif (hitItems && hitItem !== overItem) {\n\t\t\t\tif (overItem) {\n\t\t\t\t\temitMouseEvent(overItem, null, 'mouseleave', event, point);\n\t\t\t\t}\n\t\t\t\tif (hitItem) {\n\t\t\t\t\temitMouseEvent(hitItem, null, 'mouseenter', event, point);\n\t\t\t\t}\n\t\t\t\toverItem = hitItem;\n\t\t\t}\n\t\t\tif (wasInView ^ inView) {\n\t\t\t\temitMouseEvent(this, null, inView ? 'mouseenter' : 'mouseleave',\n\t\t\t\t\t\tevent, point);\n\t\t\t\toverView = inView ? this : null;\n\t\t\t\thandle = true;\n\t\t\t}\n\t\t\tif ((inView || mouse.drag) && !point.equals(lastPoint)) {\n\t\t\t\temitMouseEvents(this, hitItem, nativeMove ? type : 'mousemove',\n\t\t\t\t\t\tevent, point, lastPoint);\n\t\t\t\thandle = true;\n\t\t\t}\n\t\t\twasInView = inView;\n\t\t\tif (mouse.down && inView || mouse.up && downPoint) {\n\t\t\t\temitMouseEvents(this, hitItem, type, event, point, downPoint);\n\t\t\t\tif (mouse.down) {\n\t\t\t\t\tdblClick = hitItem === clickItem\n\t\t\t\t\t\t&& (Date.now() - clickTime < 300);\n\t\t\t\t\tdownItem = clickItem = hitItem;\n\t\t\t\t\tif (!prevented && hitItem) {\n\t\t\t\t\t\tvar item = hitItem;\n\t\t\t\t\t\twhile (item && !item.responds('mousedrag'))\n\t\t\t\t\t\t\titem = item._parent;\n\t\t\t\t\t\tif (item)\n\t\t\t\t\t\t\tdragItem = hitItem;\n\t\t\t\t\t}\n\t\t\t\t\tdownPoint = point;\n\t\t\t\t} else if (mouse.up) {\n\t\t\t\t\tif (!prevented && hitItem === downItem) {\n\t\t\t\t\t\tclickTime = Date.now();\n\t\t\t\t\t\temitMouseEvents(this, hitItem, dblClick ? 'doubleclick'\n\t\t\t\t\t\t\t\t: 'click', event, point, downPoint);\n\t\t\t\t\t\tdblClick = false;\n\t\t\t\t\t}\n\t\t\t\t\tdownItem = dragItem = null;\n\t\t\t\t}\n\t\t\t\twasInView = false;\n\t\t\t\thandle = true;\n\t\t\t}\n\t\t\tlastPoint = point;\n\t\t\tif (handle && tool) {\n\t\t\t\tcalled = tool._handleMouseEvent(type, event, point, mouse)\n\t\t\t\t\t|| called;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tevent.cancelable !== false\n\t\t\t\t&& (called && !mouse.move || mouse.down && responds('mouseup'))\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t_handleKeyEvent: function(type, event, key, character) {\n\t\t\tvar scope = this._scope,\n\t\t\t\ttool = scope.tool,\n\t\t\t\tkeyEvent;\n\n\t\t\tfunction emit(obj) {\n\t\t\t\tif (obj.responds(type)) {\n\t\t\t\t\tpaper = scope;\n\t\t\t\t\tobj.emit(type, keyEvent = keyEvent\n\t\t\t\t\t\t\t|| new KeyEvent(type, event, key, character));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.isVisible()) {\n\t\t\t\temit(this);\n\t\t\t\tif (tool && tool.responds(type))\n\t\t\t\t\temit(tool);\n\t\t\t}\n\t\t},\n\n\t\t_countItemEvent: function(type, sign) {\n\t\t\tvar itemEvents = this._itemEvents,\n\t\t\t\tnative = itemEvents.native,\n\t\t\t\tvirtual = itemEvents.virtual;\n\t\t\tfor (var key in itemEventsMap) {\n\t\t\t\tnative[key] = (native[key] || 0)\n\t\t\t\t\t\t+ (itemEventsMap[key][type] || 0) * sign;\n\t\t\t}\n\t\t\tvirtual[type] = (virtual[type] || 0) + sign;\n\t\t},\n\n\t\tstatics: {\n\t\t\tupdateFocus: updateFocus,\n\n\t\t\t_resetState: function() {\n\t\t\t\tdragging = mouseDown = called = wasInView = false;\n\t\t\t\tprevFocus = tempFocus = overView = downPoint = lastPoint =\n\t\t\t\t\tdownItem = overItem = dragItem = clickItem = clickTime =\n\t\t\t\t\tdblClick = null;\n\t\t\t}\n\t\t}\n\t};\n});\n\nvar CanvasView = View.extend({\n\t_class: 'CanvasView',\n\n\tinitialize: function CanvasView(project, canvas) {\n\t\tif (!(canvas instanceof window.HTMLCanvasElement)) {\n\t\t\tvar size = Size.read(arguments, 1);\n\t\t\tif (size.isZero())\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Cannot create CanvasView with the provided argument: '\n\t\t\t\t\t\t+ Base.slice(arguments, 1));\n\t\t\tcanvas = CanvasProvider.getCanvas(size);\n\t\t}\n\t\tvar ctx = this._context = canvas.getContext('2d');\n\t\tctx.save();\n\t\tthis._pixelRatio = 1;\n\t\tif (!/^off|false$/.test(PaperScope.getAttribute(canvas, 'hidpi'))) {\n\t\t\tvar deviceRatio = window.devicePixelRatio || 1,\n\t\t\t\tbackingStoreRatio = DomElement.getPrefixed(ctx,\n\t\t\t\t\t\t'backingStorePixelRatio') || 1;\n\t\t\tthis._pixelRatio = deviceRatio / backingStoreRatio;\n\t\t}\n\t\tView.call(this, project, canvas);\n\t\tthis._needsUpdate = true;\n\t},\n\n\tremove: function remove() {\n\t\tthis._context.restore();\n\t\treturn remove.base.call(this);\n\t},\n\n\t_setElementSize: function _setElementSize(width, height) {\n\t\tvar pixelRatio = this._pixelRatio;\n\t\t_setElementSize.base.call(this, width * pixelRatio, height * pixelRatio);\n\t\tif (pixelRatio !== 1) {\n\t\t\tvar element = this._element,\n\t\t\t\tctx = this._context;\n\t\t\tif (!PaperScope.hasAttribute(element, 'resize')) {\n\t\t\t\tvar style = element.style;\n\t\t\t\tstyle.width = width + 'px';\n\t\t\t\tstyle.height = height + 'px';\n\t\t\t}\n\t\t\tctx.restore();\n\t\t\tctx.save();\n\t\t\tctx.scale(pixelRatio, pixelRatio);\n\t\t}\n\t},\n\n\tgetPixelSize: function getPixelSize(size) {\n\t\tvar agent = paper.agent,\n\t\t\tpixels;\n\t\tif (agent && agent.firefox) {\n\t\t\tpixels = getPixelSize.base.call(this, size);\n\t\t} else {\n\t\t\tvar ctx = this._context,\n\t\t\t\tprevFont = ctx.font;\n\t\t\tctx.font = size + ' serif';\n\t\t\tpixels = parseFloat(ctx.font);\n\t\t\tctx.font = prevFont;\n\t\t}\n\t\treturn pixels;\n\t},\n\n\tgetTextWidth: function(font, lines) {\n\t\tvar ctx = this._context,\n\t\t\tprevFont = ctx.font,\n\t\t\twidth = 0;\n\t\tctx.font = font;\n\t\tfor (var i = 0, l = lines.length; i < l; i++)\n\t\t\twidth = Math.max(width, ctx.measureText(lines[i]).width);\n\t\tctx.font = prevFont;\n\t\treturn width;\n\t},\n\n\tupdate: function() {\n\t\tif (!this._needsUpdate)\n\t\t\treturn false;\n\t\tvar project = this._project,\n\t\t\tctx = this._context,\n\t\t\tsize = this._viewSize;\n\t\tctx.clearRect(0, 0, size.width + 1, size.height + 1);\n\t\tif (project)\n\t\t\tproject.draw(ctx, this._matrix, this._pixelRatio);\n\t\tthis._needsUpdate = false;\n\t\treturn true;\n\t}\n});\n\nvar Event = Base.extend({\n\t_class: 'Event',\n\n\tinitialize: function Event(event) {\n\t\tthis.event = event;\n\t\tthis.type = event && event.type;\n\t},\n\n\tprevented: false,\n\tstopped: false,\n\n\tpreventDefault: function() {\n\t\tthis.prevented = true;\n\t\tthis.event.preventDefault();\n\t},\n\n\tstopPropagation: function() {\n\t\tthis.stopped = true;\n\t\tthis.event.stopPropagation();\n\t},\n\n\tstop: function() {\n\t\tthis.stopPropagation();\n\t\tthis.preventDefault();\n\t},\n\n\tgetTimeStamp: function() {\n\t\treturn this.event.timeStamp;\n\t},\n\n\tgetModifiers: function() {\n\t\treturn Key.modifiers;\n\t}\n});\n\nvar KeyEvent = Event.extend({\n\t_class: 'KeyEvent',\n\n\tinitialize: function KeyEvent(type, event, key, character) {\n\t\tthis.type = type;\n\t\tthis.event = event;\n\t\tthis.key = key;\n\t\tthis.character = character;\n\t},\n\n\ttoString: function() {\n\t\treturn \"{ type: '\" + this.type\n\t\t\t\t+ \"', key: '\" + this.key\n\t\t\t\t+ \"', character: '\" + this.character\n\t\t\t\t+ \"', modifiers: \" + this.getModifiers()\n\t\t\t\t+ \" }\";\n\t}\n});\n\nvar Key = new function() {\n\tvar keyLookup = {\n\t\t\t'\\t': 'tab',\n\t\t\t' ': 'space',\n\t\t\t'\\b': 'backspace',\n\t\t\t'\\x7f': 'delete',\n\t\t\t'Spacebar': 'space',\n\t\t\t'Del': 'delete',\n\t\t\t'Win': 'meta',\n\t\t\t'Esc': 'escape'\n\t\t},\n\n\t\tcharLookup = {\n\t\t\t'tab': '\\t',\n\t\t\t'space': ' ',\n\t\t\t'enter': '\\r'\n\t\t},\n\n\t\tkeyMap = {},\n\t\tcharMap = {},\n\t\tmetaFixMap,\n\t\tdownKey,\n\n\t\tmodifiers = new Base({\n\t\t\tshift: false,\n\t\t\tcontrol: false,\n\t\t\talt: false,\n\t\t\tmeta: false,\n\t\t\tcapsLock: false,\n\t\t\tspace: false\n\t\t}).inject({\n\t\t\toption: {\n\t\t\t\tget: function() {\n\t\t\t\t\treturn this.alt;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcommand: {\n\t\t\t\tget: function() {\n\t\t\t\t\tvar agent = paper && paper.agent;\n\t\t\t\t\treturn agent && agent.mac ? this.meta : this.control;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\tfunction getKey(event) {\n\t\tvar key = event.key || event.keyIdentifier;\n\t\tkey = /^U\\+/.test(key)\n\t\t\t\t? String.fromCharCode(parseInt(key.substr(2), 16))\n\t\t\t\t: /^Arrow[A-Z]/.test(key) ? key.substr(5)\n\t\t\t\t: key === 'Unidentified' || key === undefined\n\t\t\t\t\t? String.fromCharCode(event.keyCode)\n\t\t\t\t\t: key;\n\t\treturn keyLookup[key] ||\n\t\t\t\t(key.length > 1 ? Base.hyphenate(key) : key.toLowerCase());\n\t}\n\n\tfunction handleKey(down, key, character, event) {\n\t\tvar type = down ? 'keydown' : 'keyup',\n\t\t\tview = View._focused,\n\t\t\tname;\n\t\tkeyMap[key] = down;\n\t\tif (down) {\n\t\t\tcharMap[key] = character;\n\t\t} else {\n\t\t\tdelete charMap[key];\n\t\t}\n\t\tif (key.length > 1 && (name = Base.camelize(key)) in modifiers) {\n\t\t\tmodifiers[name] = down;\n\t\t\tvar agent = paper && paper.agent;\n\t\t\tif (name === 'meta' && agent && agent.mac) {\n\t\t\t\tif (down) {\n\t\t\t\t\tmetaFixMap = {};\n\t\t\t\t} else {\n\t\t\t\t\tfor (var k in metaFixMap) {\n\t\t\t\t\t\tif (k in charMap)\n\t\t\t\t\t\t\thandleKey(false, k, metaFixMap[k], event);\n\t\t\t\t\t}\n\t\t\t\t\tmetaFixMap = null;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (down && metaFixMap) {\n\t\t\tmetaFixMap[key] = character;\n\t\t}\n\t\tif (view) {\n\t\t\tview._handleKeyEvent(down ? 'keydown' : 'keyup', event, key,\n\t\t\t\t\tcharacter);\n\t\t}\n\t}\n\n\tDomEvent.add(document, {\n\t\tkeydown: function(event) {\n\t\t\tvar key = getKey(event),\n\t\t\t\tagent = paper && paper.agent;\n\t\t\tif (key.length > 1 || agent && (agent.chrome && (event.altKey\n\t\t\t\t\t\t|| agent.mac && event.metaKey\n\t\t\t\t\t\t|| !agent.mac && event.ctrlKey))) {\n\t\t\t\thandleKey(true, key,\n\t\t\t\t\t\tcharLookup[key] || (key.length > 1 ? '' : key), event);\n\t\t\t} else {\n\t\t\t\tdownKey = key;\n\t\t\t}\n\t\t},\n\n\t\tkeypress: function(event) {\n\t\t\tif (downKey) {\n\t\t\t\tvar key = getKey(event),\n\t\t\t\t\tcode = event.charCode,\n\t\t\t\t\tcharacter = code >= 32 ? String.fromCharCode(code)\n\t\t\t\t\t\t: key.length > 1 ? '' : key;\n\t\t\t\tif (key !== downKey) {\n\t\t\t\t\tkey = character.toLowerCase();\n\t\t\t\t}\n\t\t\t\thandleKey(true, key, character, event);\n\t\t\t\tdownKey = null;\n\t\t\t}\n\t\t},\n\n\t\tkeyup: function(event) {\n\t\t\tvar key = getKey(event);\n\t\t\tif (key in charMap)\n\t\t\t\thandleKey(false, key, charMap[key], event);\n\t\t}\n\t});\n\n\tDomEvent.add(window, {\n\t\tblur: function(event) {\n\t\t\tfor (var key in charMap)\n\t\t\t\thandleKey(false, key, charMap[key], event);\n\t\t}\n\t});\n\n\treturn {\n\t\tmodifiers: modifiers,\n\n\t\tisDown: function(key) {\n\t\t\treturn !!keyMap[key];\n\t\t}\n\t};\n};\n\nvar MouseEvent = Event.extend({\n\t_class: 'MouseEvent',\n\n\tinitialize: function MouseEvent(type, event, point, target, delta) {\n\t\tthis.type = type;\n\t\tthis.event = event;\n\t\tthis.point = point;\n\t\tthis.target = target;\n\t\tthis.delta = delta;\n\t},\n\n\ttoString: function() {\n\t\treturn \"{ type: '\" + this.type\n\t\t\t\t+ \"', point: \" + this.point\n\t\t\t\t+ ', target: ' + this.target\n\t\t\t\t+ (this.delta ? ', delta: ' + this.delta : '')\n\t\t\t\t+ ', modifiers: ' + this.getModifiers()\n\t\t\t\t+ ' }';\n\t}\n});\n\nvar ToolEvent = Event.extend({\n\t_class: 'ToolEvent',\n\t_item: null,\n\n\tinitialize: function ToolEvent(tool, type, event) {\n\t\tthis.tool = tool;\n\t\tthis.type = type;\n\t\tthis.event = event;\n\t},\n\n\t_choosePoint: function(point, toolPoint) {\n\t\treturn point ? point : toolPoint ? toolPoint.clone() : null;\n\t},\n\n\tgetPoint: function() {\n\t\treturn this._choosePoint(this._point, this.tool._point);\n\t},\n\n\tsetPoint: function(point) {\n\t\tthis._point = point;\n\t},\n\n\tgetLastPoint: function() {\n\t\treturn this._choosePoint(this._lastPoint, this.tool._lastPoint);\n\t},\n\n\tsetLastPoint: function(lastPoint) {\n\t\tthis._lastPoint = lastPoint;\n\t},\n\n\tgetDownPoint: function() {\n\t\treturn this._choosePoint(this._downPoint, this.tool._downPoint);\n\t},\n\n\tsetDownPoint: function(downPoint) {\n\t\tthis._downPoint = downPoint;\n\t},\n\n\tgetMiddlePoint: function() {\n\t\tif (!this._middlePoint && this.tool._lastPoint) {\n\t\t\treturn this.tool._point.add(this.tool._lastPoint).divide(2);\n\t\t}\n\t\treturn this._middlePoint;\n\t},\n\n\tsetMiddlePoint: function(middlePoint) {\n\t\tthis._middlePoint = middlePoint;\n\t},\n\n\tgetDelta: function() {\n\t\treturn !this._delta && this.tool._lastPoint\n\t\t\t\t? this.tool._point.subtract(this.tool._lastPoint)\n\t\t\t\t: this._delta;\n\t},\n\n\tsetDelta: function(delta) {\n\t\tthis._delta = delta;\n\t},\n\n\tgetCount: function() {\n\t\treturn this.tool[/^mouse(down|up)$/.test(this.type)\n\t\t\t\t? '_downCount' : '_moveCount'];\n\t},\n\n\tsetCount: function(count) {\n\t\tthis.tool[/^mouse(down|up)$/.test(this.type) ? 'downCount' : 'count']\n\t\t\t= count;\n\t},\n\n\tgetItem: function() {\n\t\tif (!this._item) {\n\t\t\tvar result = this.tool._scope.project.hitTest(this.getPoint());\n\t\t\tif (result) {\n\t\t\t\tvar item = result.item,\n\t\t\t\t\tparent = item._parent;\n\t\t\t\twhile (/^(Group|CompoundPath)$/.test(parent._class)) {\n\t\t\t\t\titem = parent;\n\t\t\t\t\tparent = parent._parent;\n\t\t\t\t}\n\t\t\t\tthis._item = item;\n\t\t\t}\n\t\t}\n\t\treturn this._item;\n\t},\n\n\tsetItem: function(item) {\n\t\tthis._item = item;\n\t},\n\n\ttoString: function() {\n\t\treturn '{ type: ' + this.type\n\t\t\t\t+ ', point: ' + this.getPoint()\n\t\t\t\t+ ', count: ' + this.getCount()\n\t\t\t\t+ ', modifiers: ' + this.getModifiers()\n\t\t\t\t+ ' }';\n\t}\n});\n\nvar Tool = PaperScopeItem.extend({\n\t_class: 'Tool',\n\t_list: 'tools',\n\t_reference: 'tool',\n\t_events: ['onMouseDown', 'onMouseUp', 'onMouseDrag', 'onMouseMove',\n\t\t\t'onActivate', 'onDeactivate', 'onEditOptions', 'onKeyDown',\n\t\t\t'onKeyUp'],\n\n\tinitialize: function Tool(props) {\n\t\tPaperScopeItem.call(this);\n\t\tthis._moveCount = -1;\n\t\tthis._downCount = -1;\n\t\tthis.set(props);\n\t},\n\n\tgetMinDistance: function() {\n\t\treturn this._minDistance;\n\t},\n\n\tsetMinDistance: function(minDistance) {\n\t\tthis._minDistance = minDistance;\n\t\tif (minDistance != null && this._maxDistance != null\n\t\t\t\t&& minDistance > this._maxDistance) {\n\t\t\tthis._maxDistance = minDistance;\n\t\t}\n\t},\n\n\tgetMaxDistance: function() {\n\t\treturn this._maxDistance;\n\t},\n\n\tsetMaxDistance: function(maxDistance) {\n\t\tthis._maxDistance = maxDistance;\n\t\tif (this._minDistance != null && maxDistance != null\n\t\t\t\t&& maxDistance < this._minDistance) {\n\t\t\tthis._minDistance = maxDistance;\n\t\t}\n\t},\n\n\tgetFixedDistance: function() {\n\t\treturn this._minDistance == this._maxDistance\n\t\t\t? this._minDistance : null;\n\t},\n\n\tsetFixedDistance: function(distance) {\n\t\tthis._minDistance = this._maxDistance = distance;\n\t},\n\n\t_handleMouseEvent: function(type, event, point, mouse) {\n\t\tpaper = this._scope;\n\t\tif (mouse.drag && !this.responds(type))\n\t\t\ttype = 'mousemove';\n\t\tvar move = mouse.move || mouse.drag,\n\t\t\tresponds = this.responds(type),\n\t\t\tminDistance = this.minDistance,\n\t\t\tmaxDistance = this.maxDistance,\n\t\t\tcalled = false,\n\t\t\ttool = this;\n\t\tfunction update(minDistance, maxDistance) {\n\t\t\tvar pt = point,\n\t\t\t\ttoolPoint = move ? tool._point : (tool._downPoint || pt);\n\t\t\tif (move) {\n\t\t\t\tif (tool._moveCount >= 0 && pt.equals(toolPoint)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (toolPoint && (minDistance != null || maxDistance != null)) {\n\t\t\t\t\tvar vector = pt.subtract(toolPoint),\n\t\t\t\t\t\tdistance = vector.getLength();\n\t\t\t\t\tif (distance < (minDistance || 0))\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tif (maxDistance) {\n\t\t\t\t\t\tpt = toolPoint.add(vector.normalize(\n\t\t\t\t\t\t\t\tMath.min(distance, maxDistance)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttool._moveCount++;\n\t\t\t}\n\t\t\ttool._point = pt;\n\t\t\ttool._lastPoint = toolPoint || pt;\n\t\t\tif (mouse.down) {\n\t\t\t\ttool._moveCount = -1;\n\t\t\t\ttool._downPoint = pt;\n\t\t\t\ttool._downCount++;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction emit() {\n\t\t\tif (responds) {\n\t\t\t\tcalled = tool.emit(type, new ToolEvent(tool, type, event))\n\t\t\t\t\t\t|| called;\n\t\t\t}\n\t\t}\n\n\t\tif (mouse.down) {\n\t\t\tupdate();\n\t\t\temit();\n\t\t} else if (mouse.up) {\n\t\t\tupdate(null, maxDistance);\n\t\t\temit();\n\t\t} else if (responds) {\n\t\t\twhile (update(minDistance, maxDistance))\n\t\t\t\temit();\n\t\t}\n\t\treturn called;\n\t}\n\n});\n\nvar Http = {\n\trequest: function(options) {\n\t\tvar xhr = new self.XMLHttpRequest();\n\t\txhr.open((options.method || 'get').toUpperCase(), options.url,\n\t\t\t\tBase.pick(options.async, true));\n\t\tif (options.mimeType)\n\t\t\txhr.overrideMimeType(options.mimeType);\n\t\txhr.onload = function() {\n\t\t\tvar status = xhr.status;\n\t\t\tif (status === 0 || status === 200) {\n\t\t\t\tif (options.onLoad) {\n\t\t\t\t\toptions.onLoad.call(xhr, xhr.responseText);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\txhr.onerror();\n\t\t\t}\n\t\t};\n\t\txhr.onerror = function() {\n\t\t\tvar status = xhr.status,\n\t\t\t\tmessage = 'Could not load \"' + options.url + '\" (Status: '\n\t\t\t\t\t\t+ status + ')';\n\t\t\tif (options.onError) {\n\t\t\t\toptions.onError(message, status);\n\t\t\t} else {\n\t\t\t\tthrow new Error(message);\n\t\t\t}\n\t\t};\n\t\treturn xhr.send(null);\n\t}\n};\n\nvar CanvasProvider = {\n\tcanvases: [],\n\n\tgetCanvas: function(width, height) {\n\t\tif (!window)\n\t\t\treturn null;\n\t\tvar canvas,\n\t\t\tclear = true;\n\t\tif (typeof width === 'object') {\n\t\t\theight = width.height;\n\t\t\twidth = width.width;\n\t\t}\n\t\tif (this.canvases.length) {\n\t\t\tcanvas = this.canvases.pop();\n\t\t} else {\n\t\t\tcanvas = document.createElement('canvas');\n\t\t\tclear = false;\n\t\t}\n\t\tvar ctx = canvas.getContext('2d');\n\t\tif (!ctx) {\n\t\t\tthrow new Error('Canvas ' + canvas +\n\t\t\t\t\t' is unable to provide a 2D context.');\n\t\t}\n\t\tif (canvas.width === width && canvas.height === height) {\n\t\t\tif (clear)\n\t\t\t\tctx.clearRect(0, 0, width + 1, height + 1);\n\t\t} else {\n\t\t\tcanvas.width = width;\n\t\t\tcanvas.height = height;\n\t\t}\n\t\tctx.save();\n\t\treturn canvas;\n\t},\n\n\tgetContext: function(width, height) {\n\t\tvar canvas = this.getCanvas(width, height);\n\t\treturn canvas ? canvas.getContext('2d') : null;\n\t},\n\n\trelease: function(obj) {\n\t\tvar canvas = obj && obj.canvas ? obj.canvas : obj;\n\t\tif (canvas && canvas.getContext) {\n\t\t\tcanvas.getContext('2d').restore();\n\t\t\tthis.canvases.push(canvas);\n\t\t}\n\t}\n};\n\nvar BlendMode = new function() {\n\tvar min = Math.min,\n\t\tmax = Math.max,\n\t\tabs = Math.abs,\n\t\tsr, sg, sb, sa,\n\t\tbr, bg, bb, ba,\n\t\tdr, dg, db;\n\n\tfunction getLum(r, g, b) {\n\t\treturn 0.2989 * r + 0.587 * g + 0.114 * b;\n\t}\n\n\tfunction setLum(r, g, b, l) {\n\t\tvar d = l - getLum(r, g, b);\n\t\tdr = r + d;\n\t\tdg = g + d;\n\t\tdb = b + d;\n\t\tvar l = getLum(dr, dg, db),\n\t\t\tmn = min(dr, dg, db),\n\t\t\tmx = max(dr, dg, db);\n\t\tif (mn < 0) {\n\t\t\tvar lmn = l - mn;\n\t\t\tdr = l + (dr - l) * l / lmn;\n\t\t\tdg = l + (dg - l) * l / lmn;\n\t\t\tdb = l + (db - l) * l / lmn;\n\t\t}\n\t\tif (mx > 255) {\n\t\t\tvar ln = 255 - l,\n\t\t\t\tmxl = mx - l;\n\t\t\tdr = l + (dr - l) * ln / mxl;\n\t\t\tdg = l + (dg - l) * ln / mxl;\n\t\t\tdb = l + (db - l) * ln / mxl;\n\t\t}\n\t}\n\n\tfunction getSat(r, g, b) {\n\t\treturn max(r, g, b) - min(r, g, b);\n\t}\n\n\tfunction setSat(r, g, b, s) {\n\t\tvar col = [r, g, b],\n\t\t\tmx = max(r, g, b),\n\t\t\tmn = min(r, g, b),\n\t\t\tmd;\n\t\tmn = mn === r ? 0 : mn === g ? 1 : 2;\n\t\tmx = mx === r ? 0 : mx === g ? 1 : 2;\n\t\tmd = min(mn, mx) === 0 ? max(mn, mx) === 1 ? 2 : 1 : 0;\n\t\tif (col[mx] > col[mn]) {\n\t\t\tcol[md] = (col[md] - col[mn]) * s / (col[mx] - col[mn]);\n\t\t\tcol[mx] = s;\n\t\t} else {\n\t\t\tcol[md] = col[mx] = 0;\n\t\t}\n\t\tcol[mn] = 0;\n\t\tdr = col[0];\n\t\tdg = col[1];\n\t\tdb = col[2];\n\t}\n\n\tvar modes = {\n\t\tmultiply: function() {\n\t\t\tdr = br * sr / 255;\n\t\t\tdg = bg * sg / 255;\n\t\t\tdb = bb * sb / 255;\n\t\t},\n\n\t\tscreen: function() {\n\t\t\tdr = br + sr - (br * sr / 255);\n\t\t\tdg = bg + sg - (bg * sg / 255);\n\t\t\tdb = bb + sb - (bb * sb / 255);\n\t\t},\n\n\t\toverlay: function() {\n\t\t\tdr = br < 128 ? 2 * br * sr / 255 : 255 - 2 * (255 - br) * (255 - sr) / 255;\n\t\t\tdg = bg < 128 ? 2 * bg * sg / 255 : 255 - 2 * (255 - bg) * (255 - sg) / 255;\n\t\t\tdb = bb < 128 ? 2 * bb * sb / 255 : 255 - 2 * (255 - bb) * (255 - sb) / 255;\n\t\t},\n\n\t\t'soft-light': function() {\n\t\t\tvar t = sr * br / 255;\n\t\t\tdr = t + br * (255 - (255 - br) * (255 - sr) / 255 - t) / 255;\n\t\t\tt = sg * bg / 255;\n\t\t\tdg = t + bg * (255 - (255 - bg) * (255 - sg) / 255 - t) / 255;\n\t\t\tt = sb * bb / 255;\n\t\t\tdb = t + bb * (255 - (255 - bb) * (255 - sb) / 255 - t) / 255;\n\t\t},\n\n\t\t'hard-light': function() {\n\t\t\tdr = sr < 128 ? 2 * sr * br / 255 : 255 - 2 * (255 - sr) * (255 - br) / 255;\n\t\t\tdg = sg < 128 ? 2 * sg * bg / 255 : 255 - 2 * (255 - sg) * (255 - bg) / 255;\n\t\t\tdb = sb < 128 ? 2 * sb * bb / 255 : 255 - 2 * (255 - sb) * (255 - bb) / 255;\n\t\t},\n\n\t\t'color-dodge': function() {\n\t\t\tdr = br === 0 ? 0 : sr === 255 ? 255 : min(255, 255 * br / (255 - sr));\n\t\t\tdg = bg === 0 ? 0 : sg === 255 ? 255 : min(255, 255 * bg / (255 - sg));\n\t\t\tdb = bb === 0 ? 0 : sb === 255 ? 255 : min(255, 255 * bb / (255 - sb));\n\t\t},\n\n\t\t'color-burn': function() {\n\t\t\tdr = br === 255 ? 255 : sr === 0 ? 0 : max(0, 255 - (255 - br) * 255 / sr);\n\t\t\tdg = bg === 255 ? 255 : sg === 0 ? 0 : max(0, 255 - (255 - bg) * 255 / sg);\n\t\t\tdb = bb === 255 ? 255 : sb === 0 ? 0 : max(0, 255 - (255 - bb) * 255 / sb);\n\t\t},\n\n\t\tdarken: function() {\n\t\t\tdr = br < sr ? br : sr;\n\t\t\tdg = bg < sg ? bg : sg;\n\t\t\tdb = bb < sb ? bb : sb;\n\t\t},\n\n\t\tlighten: function() {\n\t\t\tdr = br > sr ? br : sr;\n\t\t\tdg = bg > sg ? bg : sg;\n\t\t\tdb = bb > sb ? bb : sb;\n\t\t},\n\n\t\tdifference: function() {\n\t\t\tdr = br - sr;\n\t\t\tif (dr < 0)\n\t\t\t\tdr = -dr;\n\t\t\tdg = bg - sg;\n\t\t\tif (dg < 0)\n\t\t\t\tdg = -dg;\n\t\t\tdb = bb - sb;\n\t\t\tif (db < 0)\n\t\t\t\tdb = -db;\n\t\t},\n\n\t\texclusion: function() {\n\t\t\tdr = br + sr * (255 - br - br) / 255;\n\t\t\tdg = bg + sg * (255 - bg - bg) / 255;\n\t\t\tdb = bb + sb * (255 - bb - bb) / 255;\n\t\t},\n\n\t\thue: function() {\n\t\t\tsetSat(sr, sg, sb, getSat(br, bg, bb));\n\t\t\tsetLum(dr, dg, db, getLum(br, bg, bb));\n\t\t},\n\n\t\tsaturation: function() {\n\t\t\tsetSat(br, bg, bb, getSat(sr, sg, sb));\n\t\t\tsetLum(dr, dg, db, getLum(br, bg, bb));\n\t\t},\n\n\t\tluminosity: function() {\n\t\t\tsetLum(br, bg, bb, getLum(sr, sg, sb));\n\t\t},\n\n\t\tcolor: function() {\n\t\t\tsetLum(sr, sg, sb, getLum(br, bg, bb));\n\t\t},\n\n\t\tadd: function() {\n\t\t\tdr = min(br + sr, 255);\n\t\t\tdg = min(bg + sg, 255);\n\t\t\tdb = min(bb + sb, 255);\n\t\t},\n\n\t\tsubtract: function() {\n\t\t\tdr = max(br - sr, 0);\n\t\t\tdg = max(bg - sg, 0);\n\t\t\tdb = max(bb - sb, 0);\n\t\t},\n\n\t\taverage: function() {\n\t\t\tdr = (br + sr) / 2;\n\t\t\tdg = (bg + sg) / 2;\n\t\t\tdb = (bb + sb) / 2;\n\t\t},\n\n\t\tnegation: function() {\n\t\t\tdr = 255 - abs(255 - sr - br);\n\t\t\tdg = 255 - abs(255 - sg - bg);\n\t\t\tdb = 255 - abs(255 - sb - bb);\n\t\t}\n\t};\n\n\tvar nativeModes = this.nativeModes = Base.each([\n\t\t'source-over', 'source-in', 'source-out', 'source-atop',\n\t\t'destination-over', 'destination-in', 'destination-out',\n\t\t'destination-atop', 'lighter', 'darker', 'copy', 'xor'\n\t], function(mode) {\n\t\tthis[mode] = true;\n\t}, {});\n\n\tvar ctx = CanvasProvider.getContext(1, 1);\n\tif (ctx) {\n\t\tBase.each(modes, function(func, mode) {\n\t\t\tvar darken = mode === 'darken',\n\t\t\t\tok = false;\n\t\t\tctx.save();\n\t\t\ttry {\n\t\t\t\tctx.fillStyle = darken ? '#300' : '#a00';\n\t\t\t\tctx.fillRect(0, 0, 1, 1);\n\t\t\t\tctx.globalCompositeOperation = mode;\n\t\t\t\tif (ctx.globalCompositeOperation === mode) {\n\t\t\t\t\tctx.fillStyle = darken ? '#a00' : '#300';\n\t\t\t\t\tctx.fillRect(0, 0, 1, 1);\n\t\t\t\t\tok = ctx.getImageData(0, 0, 1, 1).data[0] !== darken\n\t\t\t\t\t\t\t? 170 : 51;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t\tctx.restore();\n\t\t\tnativeModes[mode] = ok;\n\t\t});\n\t\tCanvasProvider.release(ctx);\n\t}\n\n\tthis.process = function(mode, srcContext, dstContext, alpha, offset) {\n\t\tvar srcCanvas = srcContext.canvas,\n\t\t\tnormal = mode === 'normal';\n\t\tif (normal || nativeModes[mode]) {\n\t\t\tdstContext.save();\n\t\t\tdstContext.setTransform(1, 0, 0, 1, 0, 0);\n\t\t\tdstContext.globalAlpha = alpha;\n\t\t\tif (!normal)\n\t\t\t\tdstContext.globalCompositeOperation = mode;\n\t\t\tdstContext.drawImage(srcCanvas, offset.x, offset.y);\n\t\t\tdstContext.restore();\n\t\t} else {\n\t\t\tvar process = modes[mode];\n\t\t\tif (!process)\n\t\t\t\treturn;\n\t\t\tvar dstData = dstContext.getImageData(offset.x, offset.y,\n\t\t\t\t\tsrcCanvas.width, srcCanvas.height),\n\t\t\t\tdst = dstData.data,\n\t\t\t\tsrc = srcContext.getImageData(0, 0,\n\t\t\t\t\tsrcCanvas.width, srcCanvas.height).data;\n\t\t\tfor (var i = 0, l = dst.length; i < l; i += 4) {\n\t\t\t\tsr = src[i];\n\t\t\t\tbr = dst[i];\n\t\t\t\tsg = src[i + 1];\n\t\t\t\tbg = dst[i + 1];\n\t\t\t\tsb = src[i + 2];\n\t\t\t\tbb = dst[i + 2];\n\t\t\t\tsa = src[i + 3];\n\t\t\t\tba = dst[i + 3];\n\t\t\t\tprocess();\n\t\t\t\tvar a1 = sa * alpha / 255,\n\t\t\t\t\ta2 = 1 - a1;\n\t\t\t\tdst[i] = a1 * dr + a2 * br;\n\t\t\t\tdst[i + 1] = a1 * dg + a2 * bg;\n\t\t\t\tdst[i + 2] = a1 * db + a2 * bb;\n\t\t\t\tdst[i + 3] = sa * alpha + a2 * ba;\n\t\t\t}\n\t\t\tdstContext.putImageData(dstData, offset.x, offset.y);\n\t\t}\n\t};\n};\n\nvar SvgElement = new function() {\n\tvar svg = 'http://www.w3.org/2000/svg',\n\t\txmlns = 'http://www.w3.org/2000/xmlns',\n\t\txlink = 'http://www.w3.org/1999/xlink',\n\t\tattributeNamespace = {\n\t\t\thref: xlink,\n\t\t\txlink: xmlns,\n\t\t\txmlns: xmlns + '/',\n\t\t\t'xmlns:xlink': xmlns + '/'\n\t\t};\n\n\tfunction create(tag, attributes, formatter) {\n\t\treturn set(document.createElementNS(svg, tag), attributes, formatter);\n\t}\n\n\tfunction get(node, name) {\n\t\tvar namespace = attributeNamespace[name],\n\t\t\tvalue = namespace\n\t\t\t\t? node.getAttributeNS(namespace, name)\n\t\t\t\t: node.getAttribute(name);\n\t\treturn value === 'null' ? null : value;\n\t}\n\n\tfunction set(node, attributes, formatter) {\n\t\tfor (var name in attributes) {\n\t\t\tvar value = attributes[name],\n\t\t\t\tnamespace = attributeNamespace[name];\n\t\t\tif (typeof value === 'number' && formatter)\n\t\t\t\tvalue = formatter.number(value);\n\t\t\tif (namespace) {\n\t\t\t\tnode.setAttributeNS(namespace, name, value);\n\t\t\t} else {\n\t\t\t\tnode.setAttribute(name, value);\n\t\t\t}\n\t\t}\n\t\treturn node;\n\t}\n\n\treturn {\n\t\tsvg: svg,\n\t\txmlns: xmlns,\n\t\txlink: xlink,\n\n\t\tcreate: create,\n\t\tget: get,\n\t\tset: set\n\t};\n};\n\nvar SvgStyles = Base.each({\n\tfillColor: ['fill', 'color'],\n\tfillRule: ['fill-rule', 'string'],\n\tstrokeColor: ['stroke', 'color'],\n\tstrokeWidth: ['stroke-width', 'number'],\n\tstrokeCap: ['stroke-linecap', 'string'],\n\tstrokeJoin: ['stroke-linejoin', 'string'],\n\tstrokeScaling: ['vector-effect', 'lookup', {\n\t\ttrue: 'none',\n\t\tfalse: 'non-scaling-stroke'\n\t}, function(item, value) {\n\t\treturn !value\n\t\t\t\t&& (item instanceof PathItem\n\t\t\t\t\t|| item instanceof Shape\n\t\t\t\t\t|| item instanceof TextItem);\n\t}],\n\tmiterLimit: ['stroke-miterlimit', 'number'],\n\tdashArray: ['stroke-dasharray', 'array'],\n\tdashOffset: ['stroke-dashoffset', 'number'],\n\tfontFamily: ['font-family', 'string'],\n\tfontWeight: ['font-weight', 'string'],\n\tfontSize: ['font-size', 'number'],\n\tjustification: ['text-anchor', 'lookup', {\n\t\tleft: 'start',\n\t\tcenter: 'middle',\n\t\tright: 'end'\n\t}],\n\topacity: ['opacity', 'number'],\n\tblendMode: ['mix-blend-mode', 'style']\n}, function(entry, key) {\n\tvar part = Base.capitalize(key),\n\t\tlookup = entry[2];\n\tthis[key] = {\n\t\ttype: entry[1],\n\t\tproperty: key,\n\t\tattribute: entry[0],\n\t\ttoSVG: lookup,\n\t\tfromSVG: lookup && Base.each(lookup, function(value, name) {\n\t\t\tthis[value] = name;\n\t\t}, {}),\n\t\texportFilter: entry[3],\n\t\tget: 'get' + part,\n\t\tset: 'set' + part\n\t};\n}, {});\n\nnew function() {\n\tvar formatter;\n\n\tfunction getTransform(matrix, coordinates, center) {\n\t\tvar attrs = new Base(),\n\t\t\ttrans = matrix.getTranslation();\n\t\tif (coordinates) {\n\t\t\tmatrix = matrix._shiftless();\n\t\t\tvar point = matrix._inverseTransform(trans);\n\t\t\tattrs[center ? 'cx' : 'x'] = point.x;\n\t\t\tattrs[center ? 'cy' : 'y'] = point.y;\n\t\t\ttrans = null;\n\t\t}\n\t\tif (!matrix.isIdentity()) {\n\t\t\tvar decomposed = matrix.decompose();\n\t\t\tif (decomposed) {\n\t\t\t\tvar parts = [],\n\t\t\t\t\tangle = decomposed.rotation,\n\t\t\t\t\tscale = decomposed.scaling,\n\t\t\t\t\tskew = decomposed.skewing;\n\t\t\t\tif (trans && !trans.isZero())\n\t\t\t\t\tparts.push('translate(' + formatter.point(trans) + ')');\n\t\t\t\tif (angle)\n\t\t\t\t\tparts.push('rotate(' + formatter.number(angle) + ')');\n\t\t\t\tif (!Numerical.isZero(scale.x - 1)\n\t\t\t\t\t\t|| !Numerical.isZero(scale.y - 1))\n\t\t\t\t\tparts.push('scale(' + formatter.point(scale) +')');\n\t\t\t\tif (skew.x)\n\t\t\t\t\tparts.push('skewX(' + formatter.number(skew.x) + ')');\n\t\t\t\tif (skew.y)\n\t\t\t\t\tparts.push('skewY(' + formatter.number(skew.y) + ')');\n\t\t\t\tattrs.transform = parts.join(' ');\n\t\t\t} else {\n\t\t\t\tattrs.transform = 'matrix(' + matrix.getValues().join(',') + ')';\n\t\t\t}\n\t\t}\n\t\treturn attrs;\n\t}\n\n\tfunction exportGroup(item, options) {\n\t\tvar attrs = getTransform(item._matrix),\n\t\t\tchildren = item._children;\n\t\tvar node = SvgElement.create('g', attrs, formatter);\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\tvar child = children[i];\n\t\t\tvar childNode = exportSVG(child, options);\n\t\t\tif (childNode) {\n\t\t\t\tif (child.isClipMask()) {\n\t\t\t\t\tvar clip = SvgElement.create('clipPath');\n\t\t\t\t\tclip.appendChild(childNode);\n\t\t\t\t\tsetDefinition(child, clip, 'clip');\n\t\t\t\t\tSvgElement.set(node, {\n\t\t\t\t\t\t'clip-path': 'url(#' + clip.id + ')'\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tnode.appendChild(childNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn node;\n\t}\n\n\tfunction exportRaster(item, options) {\n\t\tvar attrs = getTransform(item._matrix, true),\n\t\t\tsize = item.getSize(),\n\t\t\timage = item.getImage();\n\t\tattrs.x -= size.width / 2;\n\t\tattrs.y -= size.height / 2;\n\t\tattrs.width = size.width;\n\t\tattrs.height = size.height;\n\t\tattrs.href = options.embedImages == false && image && image.src\n\t\t\t\t|| item.toDataURL();\n\t\treturn SvgElement.create('image', attrs, formatter);\n\t}\n\n\tfunction exportPath(item, options) {\n\t\tvar matchShapes = options.matchShapes;\n\t\tif (matchShapes) {\n\t\t\tvar shape = item.toShape(false);\n\t\t\tif (shape)\n\t\t\t\treturn exportShape(shape, options);\n\t\t}\n\t\tvar segments = item._segments,\n\t\t\tlength = segments.length,\n\t\t\ttype,\n\t\t\tattrs = getTransform(item._matrix);\n\t\tif (matchShapes && length >= 2 && !item.hasHandles()) {\n\t\t\tif (length > 2) {\n\t\t\t\ttype = item._closed ? 'polygon' : 'polyline';\n\t\t\t\tvar parts = [];\n\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\tparts.push(formatter.point(segments[i]._point));\n\t\t\t\t}\n\t\t\t\tattrs.points = parts.join(' ');\n\t\t\t} else {\n\t\t\t\ttype = 'line';\n\t\t\t\tvar start = segments[0]._point,\n\t\t\t\t\tend = segments[1]._point;\n\t\t\t\tattrs.set({\n\t\t\t\t\tx1: start.x,\n\t\t\t\t\ty1: start.y,\n\t\t\t\t\tx2: end.x,\n\t\t\t\t\ty2: end.y\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\ttype = 'path';\n\t\t\tattrs.d = item.getPathData(null, options.precision);\n\t\t}\n\t\treturn SvgElement.create(type, attrs, formatter);\n\t}\n\n\tfunction exportShape(item) {\n\t\tvar type = item._type,\n\t\t\tradius = item._radius,\n\t\t\tattrs = getTransform(item._matrix, true, type !== 'rectangle');\n\t\tif (type === 'rectangle') {\n\t\t\ttype = 'rect';\n\t\t\tvar size = item._size,\n\t\t\t\twidth = size.width,\n\t\t\t\theight = size.height;\n\t\t\tattrs.x -= width / 2;\n\t\t\tattrs.y -= height / 2;\n\t\t\tattrs.width = width;\n\t\t\tattrs.height = height;\n\t\t\tif (radius.isZero())\n\t\t\t\tradius = null;\n\t\t}\n\t\tif (radius) {\n\t\t\tif (type === 'circle') {\n\t\t\t\tattrs.r = radius;\n\t\t\t} else {\n\t\t\t\tattrs.rx = radius.width;\n\t\t\t\tattrs.ry = radius.height;\n\t\t\t}\n\t\t}\n\t\treturn SvgElement.create(type, attrs, formatter);\n\t}\n\n\tfunction exportCompoundPath(item, options) {\n\t\tvar attrs = getTransform(item._matrix);\n\t\tvar data = item.getPathData(null, options.precision);\n\t\tif (data)\n\t\t\tattrs.d = data;\n\t\treturn SvgElement.create('path', attrs, formatter);\n\t}\n\n\tfunction exportSymbolItem(item, options) {\n\t\tvar attrs = getTransform(item._matrix, true),\n\t\t\tdefinition = item._definition,\n\t\t\tnode = getDefinition(definition, 'symbol'),\n\t\t\tdefinitionItem = definition._item,\n\t\t\tbounds = definitionItem.getBounds();\n\t\tif (!node) {\n\t\t\tnode = SvgElement.create('symbol', {\n\t\t\t\tviewBox: formatter.rectangle(bounds)\n\t\t\t});\n\t\t\tnode.appendChild(exportSVG(definitionItem, options));\n\t\t\tsetDefinition(definition, node, 'symbol');\n\t\t}\n\t\tattrs.href = '#' + node.id;\n\t\tattrs.x += bounds.x;\n\t\tattrs.y += bounds.y;\n\t\tattrs.width = bounds.width;\n\t\tattrs.height = bounds.height;\n\t\tattrs.overflow = 'visible';\n\t\treturn SvgElement.create('use', attrs, formatter);\n\t}\n\n\tfunction exportGradient(color, item) {\n\t\tvar gradientNode = getDefinition(color, 'color');\n\t\tif (!gradientNode) {\n\t\t\tvar gradient = color.getGradient(),\n\t\t\t\tradial = gradient._radial,\n\t\t\t\torigin = color.getOrigin(),\n\t\t\t\tdestination = color.getDestination(),\n\t\t\t\tattrs;\n\t\t\tif (radial) {\n\t\t\t\tattrs = {\n\t\t\t\t\tcx: origin.x,\n\t\t\t\t\tcy: origin.y,\n\t\t\t\t\tr: origin.getDistance(destination)\n\t\t\t\t};\n\t\t\t\tvar highlight = color.getHighlight();\n\t\t\t\tif (highlight) {\n\t\t\t\t\tattrs.fx = highlight.x;\n\t\t\t\t\tattrs.fy = highlight.y;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tattrs = {\n\t\t\t\t\tx1: origin.x,\n\t\t\t\t\ty1: origin.y,\n\t\t\t\t\tx2: destination.x,\n\t\t\t\t\ty2: destination.y\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (item instanceof paper.PointText) {\n\t\t\t\tattrs.gradientTransform = getTransform(\n\t\t\t\t\titem._matrix.clone().invert(), false, formatter).transform;\n\t\t\t}\n\n\t\t\tattrs.gradientUnits = 'userSpaceOnUse';\n\t\t\tgradientNode = SvgElement.create((radial ? 'radial' : 'linear')\n\t\t\t\t\t+ 'Gradient', attrs, formatter);\n\t\t\tvar stops = gradient._stops;\n\t\t\tfor (var i = 0, l = stops.length; i < l; i++) {\n\t\t\t\tvar stop = stops[i],\n\t\t\t\t\tstopColor = stop._color,\n\t\t\t\t\talpha = stopColor.getAlpha(),\n\t\t\t\t\toffset = stop._offset;\n\t\t\t\tattrs = {\n\t\t\t\t\toffset: offset == null ? i / (l - 1) : offset\n\t\t\t\t};\n\t\t\t\tif (stopColor)\n\t\t\t\t\tattrs['stop-color'] = stopColor.toCSS(true);\n\t\t\t\tif (alpha < 1)\n\t\t\t\t\tattrs['stop-opacity'] = alpha;\n\t\t\t\tgradientNode.appendChild(\n\t\t\t\t\t\tSvgElement.create('stop', attrs, formatter));\n\t\t\t}\n\t\t\tsetDefinition(color, gradientNode, 'color');\n\t\t}\n\t\treturn 'url(#' + gradientNode.id + ')';\n\t}\n\n\tfunction exportText(item) {\n\t\tvar node = SvgElement.create('text', getTransform(item._matrix, false),\n\t\t\t\tformatter);\n\t\tnode.setAttribute('font-size', item.fontSize);\n\t\tnode.setAttribute('xml:space', 'preserve');\n\t\tfor (var i = 0; i < item._lines.length; i++) {\n\t\t\tvar tspanNode = SvgElement.create('tspan', {\n\t\t\t\tx: '0',\n\t\t\t\tdy: i === 0 ? '0' : item.getLeading() + 'px'\n\t\t\t}, formatter);\n\t\t\ttspanNode.textContent = item._lines[i] ? item._lines[i] : ' ';\n\t\t\tnode.appendChild(tspanNode);\n\t\t}\n\t\treturn node;\n\t}\n\n\tvar exporters = {\n\t\tGroup: exportGroup,\n\t\tLayer: exportGroup,\n\t\tRaster: exportRaster,\n\t\tPath: exportPath,\n\t\tShape: exportShape,\n\t\tCompoundPath: exportCompoundPath,\n\t\tSymbolItem: exportSymbolItem,\n\t\tPointText: exportText\n\t};\n\n\tfunction applyStyle(item, node, isRoot) {\n\t\tvar attrs = {},\n\t\t\tparent = !isRoot && item.getParent(),\n\t\t\tstyle = [];\n\n\t\tif (item._name != null)\n\t\t\tattrs.id = item._name;\n\n\t\tBase.each(SvgStyles, function(entry) {\n\t\t\tvar get = entry.get,\n\t\t\t\ttype = entry.type,\n\t\t\t\tvalue = item[get]();\n\t\t\tif (entry.exportFilter\n\t\t\t\t\t? entry.exportFilter(item, value)\n\t\t\t\t\t: !parent || !Base.equals(parent[get](), value) ||\n\t\t\t\t\t item instanceof paper.PointText) {\n\t\t\t\tif (type === 'color' && value != null) {\n\t\t\t\t\tvar alpha = value.getAlpha();\n\t\t\t\t\tif (alpha < 1)\n\t\t\t\t\t\tattrs[entry.attribute + '-opacity'] = alpha;\n\t\t\t\t}\n\t\t\t\tif (type === 'style') {\n\t\t\t\t\tstyle.push(entry.attribute + ': ' + value);\n\t\t\t\t} else {\n\t\t\t\t\tattrs[entry.attribute] = value == null ? 'none'\n\t\t\t\t\t\t\t: type === 'color' ? value.gradient\n\t\t\t\t\t\t\t\t? exportGradient(value, item)\n\t\t\t\t\t\t\t\t: value.toCSS(true)\n\t\t\t\t\t\t\t: type === 'array' ? value.join(',')\n\t\t\t\t\t\t\t: type === 'lookup' ? entry.toSVG[value]\n\t\t\t\t\t\t\t: value;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (style.length)\n\t\t\tattrs.style = style.join(';');\n\n\t\tif (attrs.opacity === 1)\n\t\t\tdelete attrs.opacity;\n\n\t\tif (!item._visible)\n\t\t\tattrs.visibility = 'hidden';\n\n\t\treturn SvgElement.set(node, attrs, formatter);\n\t}\n\n\tvar definitions;\n\tfunction getDefinition(item, type) {\n\t\tif (!definitions)\n\t\t\tdefinitions = { ids: {}, svgs: {} };\n\t\treturn item && definitions.svgs[type + '-'\n\t\t\t\t+ (item._id || item.__id || (item.__id = UID.get('svg')))];\n\t}\n\n\tfunction setDefinition(item, node, type) {\n\t\tif (!definitions)\n\t\t\tgetDefinition();\n\t\tvar typeId = definitions.ids[type] = (definitions.ids[type] || 0) + 1;\n\t\tnode.id = type + '-' + typeId;\n\t\tdefinitions.svgs[type + '-' + (item._id || item.__id)] = node;\n\t}\n\n\tfunction exportDefinitions(node, options) {\n\t\tvar svg = node,\n\t\t\tdefs = null;\n\t\tif (definitions) {\n\t\t\tsvg = node.nodeName.toLowerCase() === 'svg' && node;\n\t\t\tfor (var i in definitions.svgs) {\n\t\t\t\tif (!defs) {\n\t\t\t\t\tif (!svg) {\n\t\t\t\t\t\tsvg = SvgElement.create('svg');\n\t\t\t\t\t\tsvg.appendChild(node);\n\t\t\t\t\t}\n\t\t\t\t\tdefs = svg.insertBefore(SvgElement.create('defs'),\n\t\t\t\t\t\t\tsvg.firstChild);\n\t\t\t\t}\n\t\t\t\tdefs.appendChild(definitions.svgs[i]);\n\t\t\t}\n\t\t\tdefinitions = null;\n\t\t}\n\t\treturn options.asString\n\t\t\t\t? new self.XMLSerializer().serializeToString(svg)\n\t\t\t\t: svg;\n\t}\n\n\tfunction exportSVG(item, options, isRoot) {\n\t\tvar exporter = exporters[item._class],\n\t\t\tnode = exporter && exporter(item, options);\n\t\tif (node) {\n\t\t\tvar onExport = options.onExport;\n\t\t\tif (onExport)\n\t\t\t\tnode = onExport(item, node, options) || node;\n\t\t\tvar data = JSON.stringify(item._data);\n\t\t\tif (data && data !== '{}' && data !== 'null')\n\t\t\t\tnode.setAttribute('data-paper-data', data);\n\t\t}\n\t\treturn node && applyStyle(item, node, isRoot);\n\t}\n\n\tfunction setOptions(options) {\n\t\tif (!options)\n\t\t\toptions = {};\n\t\tformatter = new Formatter(options.precision);\n\t\treturn options;\n\t}\n\n\tItem.inject({\n\t\texportSVG: function(options) {\n\t\t\toptions = setOptions(options);\n\t\t\treturn exportDefinitions(exportSVG(this, options, true), options);\n\t\t}\n\t});\n\n\tProject.inject({\n\t\texportSVG: function(options) {\n\t\t\toptions = setOptions(options);\n\t\t\tvar children = this._children,\n\t\t\t\tview = this.getView(),\n\t\t\t\tbounds = Base.pick(options.bounds, 'view'),\n\t\t\t\tmx = options.matrix || bounds === 'view' && view._matrix,\n\t\t\t\tmatrix = mx && Matrix.read([mx]),\n\t\t\t\trect = bounds === 'view'\n\t\t\t\t\t? new Rectangle([0, 0], view.getViewSize())\n\t\t\t\t\t: bounds === 'content'\n\t\t\t\t\t\t? Item._getBounds(children, matrix, { stroke: true, drawnTextBounds: true })\n\t\t\t\t\t\t\t.rect\n\t\t\t\t\t\t: Rectangle.read([bounds], 0, { readNull: true }),\n\t\t\t\tattrs = {\n\t\t\t\t\tversion: '1.1',\n\t\t\t\t\txmlns: SvgElement.svg,\n\t\t\t\t\t'xmlns:xlink': SvgElement.xlink,\n\t\t\t\t};\n\t\t\tif (rect) {\n\t\t\t\tattrs.width = rect.width;\n\t\t\t\tattrs.height = rect.height;\n\t\t\t\tif (rect.x || rect.y)\n\t\t\t\t\tattrs.viewBox = formatter.rectangle(rect);\n\t\t\t}\n\t\t\tvar node = SvgElement.create('svg', attrs, formatter),\n\t\t\t\tparent = node;\n\t\t\tif (matrix && !matrix.isIdentity()) {\n\t\t\t\tparent = node.appendChild(SvgElement.create('g',\n\t\t\t\t\t\tgetTransform(matrix), formatter));\n\t\t\t}\n\t\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\t\t\t\tparent.appendChild(exportSVG(children[i], options, true));\n\t\t\t}\n\t\t\treturn exportDefinitions(node, options);\n\t\t}\n\t});\n};\n\nnew function() {\n\n\tvar definitions = {},\n\t\trootSize;\n\n\tfunction getValue(node, name, isString, allowNull, allowPercent) {\n\t\tvar value = SvgElement.get(node, name),\n\t\t\tres = value == null\n\t\t\t\t? allowNull\n\t\t\t\t\t? null\n\t\t\t\t\t: isString ? '' : 0\n\t\t\t\t: isString\n\t\t\t\t\t? value\n\t\t\t\t\t: parseFloat(value);\n\t\treturn /%\\s*$/.test(value)\n\t\t\t? (res / 100) * (allowPercent ? 1\n\t\t\t\t: rootSize[/x|^width/.test(name) ? 'width' : 'height'])\n\t\t\t: res;\n\t}\n\n\tfunction getPoint(node, x, y, allowNull, allowPercent) {\n\t\tx = getValue(node, x || 'x', false, allowNull, allowPercent);\n\t\ty = getValue(node, y || 'y', false, allowNull, allowPercent);\n\t\treturn allowNull && (x == null || y == null) ? null\n\t\t\t\t: new Point(x, y);\n\t}\n\n\tfunction getSize(node, w, h, allowNull, allowPercent) {\n\t\tw = getValue(node, w || 'width', false, allowNull, allowPercent);\n\t\th = getValue(node, h || 'height', false, allowNull, allowPercent);\n\t\treturn allowNull && (w == null || h == null) ? null\n\t\t\t\t: new Size(w, h);\n\t}\n\n\tfunction convertValue(value, type, lookup) {\n\t\treturn value === 'none' ? null\n\t\t\t\t: type === 'number' ? parseFloat(value)\n\t\t\t\t: type === 'array' ?\n\t\t\t\t\tvalue ? value.split(/[\\s,]+/g).map(parseFloat) : []\n\t\t\t\t: type === 'color' ? getDefinition(value) || value\n\t\t\t\t: type === 'lookup' ? lookup[value]\n\t\t\t\t: value;\n\t}\n\n\tfunction importGroup(node, type, options, isRoot) {\n\t\tvar nodes = node.childNodes,\n\t\t\tisClip = type === 'clippath',\n\t\t\tisDefs = type === 'defs',\n\t\t\titem = new Group(),\n\t\t\tproject = item._project,\n\t\t\tcurrentStyle = project._currentStyle,\n\t\t\tchildren = [];\n\t\tif (!isClip && !isDefs) {\n\t\t\titem = applyAttributes(item, node, isRoot);\n\t\t\tproject._currentStyle = item._style.clone();\n\t\t}\n\t\tif (isRoot) {\n\t\t\tvar defs = node.querySelectorAll('defs');\n\t\t\tfor (var i = 0, l = defs.length; i < l; i++) {\n\t\t\t\timportNode(defs[i], options, false);\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\tvar childNode = nodes[i],\n\t\t\t\tchild;\n\t\t\tif (childNode.nodeType === 1\n\t\t\t\t\t&& !/^defs$/i.test(childNode.nodeName)\n\t\t\t\t\t&& (child = importNode(childNode, options, false))\n\t\t\t\t\t&& !(child instanceof SymbolDefinition))\n\t\t\t\tchildren.push(child);\n\t\t}\n\t\titem.addChildren(children);\n\t\tif (isClip)\n\t\t\titem = applyAttributes(item.reduce(), node, isRoot);\n\t\tproject._currentStyle = currentStyle;\n\t\tif (isClip || isDefs) {\n\t\t\titem.remove();\n\t\t\titem = null;\n\t\t}\n\t\treturn item;\n\t}\n\n\tfunction importPoly(node, type) {\n\t\tvar coords = node.getAttribute('points').match(\n\t\t\t\t\t/[+-]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?/g),\n\t\t\tpoints = [];\n\t\tfor (var i = 0, l = coords.length; i < l; i += 2)\n\t\t\tpoints.push(new Point(\n\t\t\t\t\tparseFloat(coords[i]),\n\t\t\t\t\tparseFloat(coords[i + 1])));\n\t\tvar path = new Path(points);\n\t\tif (type === 'polygon')\n\t\t\tpath.closePath();\n\t\treturn path;\n\t}\n\n\tfunction importPath(node) {\n\t\treturn PathItem.create(node.getAttribute('d'));\n\t}\n\n\tfunction importGradient(node, type) {\n\t\tvar id = (getValue(node, 'href', true) || '').substring(1),\n\t\t\tradial = type === 'radialgradient',\n\t\t\tgradient;\n\t\tif (id) {\n\t\t\tgradient = definitions[id].getGradient();\n\t\t\tif (gradient._radial ^ radial) {\n\t\t\t\tgradient = gradient.clone();\n\t\t\t\tgradient._radial = radial;\n\t\t\t}\n\t\t} else {\n\t\t\tvar nodes = node.childNodes,\n\t\t\t\tstops = [];\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tvar child = nodes[i];\n\t\t\t\tif (child.nodeType === 1)\n\t\t\t\t\tstops.push(applyAttributes(new GradientStop(), child));\n\t\t\t}\n\t\t\tgradient = new Gradient(stops, radial);\n\t\t}\n\t\tvar origin, destination, highlight,\n\t\t\tscaleToBounds = getValue(node, 'gradientUnits', true) !==\n\t\t\t\t'userSpaceOnUse';\n\t\tif (radial) {\n\t\t\torigin = getPoint(node, 'cx', 'cy', false, scaleToBounds);\n\t\t\tdestination = origin.add(\n\t\t\t\t\tgetValue(node, 'r', false, false, scaleToBounds), 0);\n\t\t\thighlight = getPoint(node, 'fx', 'fy', true, scaleToBounds);\n\t\t} else {\n\t\t\torigin = getPoint(node, 'x1', 'y1', false, scaleToBounds);\n\t\t\tdestination = getPoint(node, 'x2', 'y2', false, scaleToBounds);\n\t\t}\n\t\tvar color = applyAttributes(\n\t\t\t\tnew Color(gradient, origin, destination, highlight), node);\n\t\tcolor._scaleToBounds = scaleToBounds;\n\t\treturn null;\n\t}\n\n\tvar importers = {\n\t\t'#document': function (node, type, options, isRoot) {\n\t\t\tvar nodes = node.childNodes;\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tvar child = nodes[i];\n\t\t\t\tif (child.nodeType === 1)\n\t\t\t\t\treturn importNode(child, options, isRoot);\n\t\t\t}\n\t\t},\n\t\tg: importGroup,\n\t\tsvg: importGroup,\n\t\tclippath: importGroup,\n\t\tpolygon: importPoly,\n\t\tpolyline: importPoly,\n\t\tpath: importPath,\n\t\tlineargradient: importGradient,\n\t\tradialgradient: importGradient,\n\n\t\timage: function (node) {\n\t\t\tvar raster = new Raster(getValue(node, 'href', true));\n\t\t\traster.on('load', function() {\n\t\t\t\tvar size = getSize(node);\n\t\t\t\tthis.setSize(size);\n\t\t\t\tvar center = getPoint(node).add(size.divide(2));\n\t\t\t\tthis._matrix.append(new Matrix().translate(center));\n\t\t\t});\n\t\t\treturn raster;\n\t\t},\n\n\t\tsymbol: function(node, type, options, isRoot) {\n\t\t\treturn new SymbolDefinition(\n\t\t\t\t\timportGroup(node, type, options, isRoot), true);\n\t\t},\n\n\t\tdefs: importGroup,\n\n\t\tuse: function(node) {\n\t\t\tvar id = (getValue(node, 'href', true) || '').substring(1),\n\t\t\t\tdefinition = definitions[id],\n\t\t\t\tpoint = getPoint(node);\n\t\t\treturn definition\n\t\t\t\t\t? definition instanceof SymbolDefinition\n\t\t\t\t\t\t? definition.place(point)\n\t\t\t\t\t\t: definition.clone().translate(point)\n\t\t\t\t\t: null;\n\t\t},\n\n\t\tcircle: function(node) {\n\t\t\treturn new Shape.Circle(\n\t\t\t\t\tgetPoint(node, 'cx', 'cy'),\n\t\t\t\t\tgetValue(node, 'r'));\n\t\t},\n\n\t\tellipse: function(node) {\n\t\t\treturn new Shape.Ellipse({\n\t\t\t\tcenter: getPoint(node, 'cx', 'cy'),\n\t\t\t\tradius: getSize(node, 'rx', 'ry')\n\t\t\t});\n\t\t},\n\n\t\trect: function(node) {\n\t\t\treturn new Shape.Rectangle(new Rectangle(\n\t\t\t\t\t\tgetPoint(node),\n\t\t\t\t\t\tgetSize(node)\n\t\t\t\t\t), getSize(node, 'rx', 'ry'));\n\t\t\t},\n\n\t\tline: function(node) {\n\t\t\treturn new Path.Line(\n\t\t\t\t\tgetPoint(node, 'x1', 'y1'),\n\t\t\t\t\tgetPoint(node, 'x2', 'y2'));\n\t\t},\n\n\t\ttext: function(node) {\n\n\t\t\tvar fontSize = parseFloat(node.getAttribute(\"font-size\"));\n\t\t\tvar alignmentBaseline = node.getAttribute(\"alignment-baseline\");\n\t\t\tif (node.childElementCount === 0) {\n\t\t\t\tvar text = new PointText();\n\t\t\t\ttext.setContent(node.textContent.trim() || '');\n\t\t\t\ttext.translate(0, text._style.getLeading());\n\t\t\t\tif (!isNaN(fontSize)) text.setFontSize(fontSize);\n\t\t\t\treturn text;\n\t\t\t} else {\n\t\t\t\tvar lines = [];\n\t\t\t\tvar spacing = 1.2;\n\t\t\t\tfor (var i = 0; i < node.childNodes.length; i++) {\n\t\t\t\t\tvar child = node.childNodes[i];\n\t\t\t\t\tif (!child.getAttribute) continue;\n\t\t\t\t\tlines.push(child.textContent);\n\t\t\t\t\tvar dyString = child.getAttribute('dy');\n\t\t\t\t\tif (dyString) {\n\t\t\t\t\t\tvar dy = parseFloat(dyString);\n\t\t\t\t\t\tif (!isNaN(dy)) {\n\t\t\t\t\t\t\tif (dyString.endsWith('em')) {\n\t\t\t\t\t\t\t\tspacing = dy;\n\t\t\t\t\t\t\t} else if (dyString.endsWith('px') && !isNaN(fontSize)) {\n\t\t\t\t\t\t\t\tspacing = dy / fontSize;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar text = new PointText();\n\t\t\t\tif (!isNaN(fontSize)) text.setFontSize(fontSize);\n\t\t\t\ttext.setLeading(text.fontSize * spacing);\n\t\t\t\tif (alignmentBaseline === 'text-before-edge') {\n\t\t\t\t\ttext.setContent(' ');\n\t\t\t\t\ttext.translate(0, text.bounds.height);\n\t\t\t\t}\n\t\t\t\ttext.setContent(lines.join('\\n'));\n\t\t\t\treturn text;\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction applyTransform(item, value, name, node) {\n\t\tif (item.transform) {\n\t\t\tvar transforms = (node.getAttribute(name) || '').split(/\\)\\s*/g),\n\t\t\t\tmatrix = new Matrix();\n\t\t\tfor (var i = 0, l = transforms.length; i < l; i++) {\n\t\t\t\tvar transform = transforms[i];\n\t\t\t\tif (!transform)\n\t\t\t\t\tbreak;\n\t\t\t\tvar parts = transform.split(/\\(\\s*/),\n\t\t\t\t\tcommand = parts[0],\n\t\t\t\t\tv = parts[1].split(/[\\s,]+/g);\n\t\t\t\tfor (var j = 0, m = v.length; j < m; j++)\n\t\t\t\t\tv[j] = parseFloat(v[j]);\n\t\t\t\tswitch (command) {\n\t\t\t\tcase 'matrix':\n\t\t\t\t\tmatrix.append(\n\t\t\t\t\t\t\tnew Matrix(v[0], v[1], v[2], v[3], v[4], v[5]));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'rotate':\n\t\t\t\t\tmatrix.rotate(v[0], v[1] || 0, v[2] || 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'translate':\n\t\t\t\t\tmatrix.translate(v[0], v[1] || 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'scale':\n\t\t\t\t\tmatrix.scale(v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'skewX':\n\t\t\t\t\tmatrix.skew(v[0], 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'skewY':\n\t\t\t\t\tmatrix.skew(0, v[0]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\titem.transform(matrix);\n\t\t}\n\t}\n\n\tfunction applyOpacity(item, value, name) {\n\t\tvar key = name === 'fill-opacity' ? 'getFillColor' : 'getStrokeColor',\n\t\t\tcolor = item[key] && item[key]();\n\t\tif (color)\n\t\t\tcolor.setAlpha(parseFloat(value));\n\t}\n\n\tvar attributes = Base.set(Base.each(SvgStyles, function(entry) {\n\t\tthis[entry.attribute] = function(item, value) {\n\t\t\tif (item[entry.set]) {\n\t\t\t\titem[entry.set](convertValue(value, entry.type, entry.fromSVG));\n\t\t\t\tif (entry.type === 'color') {\n\t\t\t\t\tvar color = item[entry.get]();\n\t\t\t\t\tif (color) {\n\t\t\t\t\t\tif (color._scaleToBounds) {\n\t\t\t\t\t\t\tvar bounds = item.getBounds();\n\t\t\t\t\t\t\tcolor.transform(new Matrix()\n\t\t\t\t\t\t\t\t.translate(bounds.getPoint())\n\t\t\t\t\t\t\t\t.scale(bounds.getSize()));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}, {}), {\n\t\tid: function(item, value) {\n\t\t\tdefinitions[value] = item;\n\t\t\tif (item.setName)\n\t\t\t\titem.setName(value);\n\t\t},\n\n\t\t'clip-path': function(item, value) {\n\t\t\tvar clip = getDefinition(value);\n\t\t\tif (clip) {\n\t\t\t\tclip = clip.clone();\n\t\t\t\tclip.setClipMask(true);\n\t\t\t\tif (item instanceof Group) {\n\t\t\t\t\titem.insertChild(0, clip);\n\t\t\t\t} else {\n\t\t\t\t\treturn new Group(clip, item);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tgradientTransform: applyTransform,\n\t\ttransform: applyTransform,\n\n\t\t'fill-opacity': applyOpacity,\n\t\t'stroke-opacity': applyOpacity,\n\n\t\tvisibility: function(item, value) {\n\t\t\tif (item.setVisible)\n\t\t\t\titem.setVisible(value === 'visible');\n\t\t},\n\n\t\tdisplay: function(item, value) {\n\t\t\tif (item.setVisible)\n\t\t\t\titem.setVisible(value !== null);\n\t\t},\n\n\t\t'stop-color': function(item, value) {\n\t\t\tif (item.setColor)\n\t\t\t\titem.setColor(value);\n\t\t},\n\n\t\t'stop-opacity': function(item, value) {\n\t\t\tif (item._color)\n\t\t\t\titem._color.setAlpha(parseFloat(value));\n\t\t},\n\n\t\toffset: function(item, value) {\n\t\t\tif (item.setOffset) {\n\t\t\t\tvar percent = value.match(/(.*)%$/);\n\t\t\t\titem.setOffset(percent ? percent[1] / 100 : parseFloat(value));\n\t\t\t}\n\t\t},\n\n\t\tviewBox: function(item, value, name, node, styles) {\n\t\t\tvar rect = new Rectangle(convertValue(value, 'array')),\n\t\t\t\tsize = getSize(node, null, null, true),\n\t\t\t\tgroup,\n\t\t\t\tmatrix;\n\t\t\tif (item instanceof Group) {\n\t\t\t\tvar scale = size ? size.divide(rect.getSize()) : 1,\n\t\t\t\tmatrix = new Matrix().scale(scale)\n\t\t\t\t\t\t.translate(rect.getPoint().negate());\n\t\t\t\tgroup = item;\n\t\t\t} else if (item instanceof SymbolDefinition) {\n\t\t\t\tif (size)\n\t\t\t\t\trect.setSize(size);\n\t\t\t\tgroup = item._item;\n\t\t\t}\n\t\t\tif (group) {\n\t\t\t\tif (getAttribute(node, 'overflow', styles) !== 'visible') {\n\t\t\t\t\tvar clip = new Shape.Rectangle(rect);\n\t\t\t\t\tclip.setClipMask(true);\n\t\t\t\t\tgroup.addChild(clip);\n\t\t\t\t}\n\t\t\t\tif (matrix)\n\t\t\t\t\tgroup.transform(matrix);\n\t\t\t}\n\t\t}\n\t});\n\n\tfunction getAttribute(node, name, styles) {\n\t\tvar attr = node.attributes[name],\n\t\t\tvalue = attr && attr.value;\n\t\tif (!value && node.style) {\n\t\t\tvar style = Base.camelize(name);\n\t\t\tvalue = node.style[style];\n\t\t\tif (!value && styles.node[style] !== styles.parent[style])\n\t\t\t\tvalue = styles.node[style];\n\t\t}\n\t\treturn !value ? undefined\n\t\t\t\t: value === 'none' ? null\n\t\t\t\t: value;\n\t}\n\n\tfunction applyAttributes(item, node, isRoot) {\n\t\tvar parent = node.parentNode,\n\t\t\tstyles = {\n\t\t\t\tnode: DomElement.getStyles(node) || {},\n\t\t\t\tparent: !isRoot && !/^defs$/i.test(parent.tagName)\n\t\t\t\t\t\t&& DomElement.getStyles(parent) || {}\n\t\t\t};\n\t\tBase.each(attributes, function(apply, name) {\n\t\t\tvar value = getAttribute(node, name, styles);\n\t\t\titem = value !== undefined\n\t\t\t\t\t&& apply(item, value, name, node, styles) || item;\n\t\t});\n\t\treturn item;\n\t}\n\n\tfunction getDefinition(value) {\n\t\tvar match = value && value.match(/\\((?:[\"'#]*)([^\"')]+)/),\n\t\t\tname = match && match[1],\n\t\t\tres = name && definitions[window\n\t\t\t\t\t? name.replace(window.location.href.split('#')[0] + '#', '')\n\t\t\t\t\t: name];\n\t\tif (res && res._scaleToBounds) {\n\t\t\tres = res.clone();\n\t\t\tres._scaleToBounds = true;\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction importNode(node, options, isRoot) {\n\t\tvar type = node.nodeName.toLowerCase(),\n\t\t\tisElement = type !== '#document',\n\t\t\tbody = document.body,\n\t\t\tcontainer,\n\t\t\tparent,\n\t\t\tnext;\n\t\tif (isRoot && isElement) {\n\t\t\trootSize = paper.getView().getSize();\n\t\t\trootSize = getSize(node, null, null, true) || rootSize;\n\t\t\tcontainer = SvgElement.create('svg', {\n\t\t\t\tstyle: 'stroke-width: 1px; stroke-miterlimit: 10'\n\t\t\t});\n\t\t\tparent = node.parentNode;\n\t\t\tnext = node.nextSibling;\n\t\t\tcontainer.appendChild(node);\n\t\t\tbody.appendChild(container);\n\t\t}\n\t\tvar settings = paper.settings,\n\t\t\tapplyMatrix = settings.applyMatrix,\n\t\t\tinsertItems = settings.insertItems;\n\t\tsettings.applyMatrix = false;\n\t\tsettings.insertItems = false;\n\t\tvar importer = importers[type],\n\t\t\titem = importer && importer(node, type, options, isRoot) || null;\n\t\tsettings.insertItems = insertItems;\n\t\tsettings.applyMatrix = applyMatrix;\n\t\tif (item) {\n\t\t\tif (isElement && !(item instanceof Group))\n\t\t\t\titem = applyAttributes(item, node, isRoot);\n\t\t\tvar onImport = options.onImport,\n\t\t\t\tdata = isElement && node.getAttribute('data-paper-data');\n\t\t\tif (onImport)\n\t\t\t\titem = onImport(node, item, options) || item;\n\t\t\tif (options.expandShapes && item instanceof Shape) {\n\t\t\t\titem.remove();\n\t\t\t\titem = item.toPath();\n\t\t\t}\n\t\t\tif (data)\n\t\t\t\titem._data = JSON.parse(data);\n\t\t}\n\t\tif (container) {\n\t\t\tbody.removeChild(container);\n\t\t\tif (parent) {\n\t\t\t\tif (next) {\n\t\t\t\t\tparent.insertBefore(node, next);\n\t\t\t\t} else {\n\t\t\t\t\tparent.appendChild(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (isRoot) {\n\t\t\tdefinitions = {};\n\t\t\tif (item && Base.pick(options.applyMatrix, applyMatrix))\n\t\t\t\titem.matrix.apply(true, true);\n\t\t}\n\t\treturn item;\n\t}\n\n\tfunction importSVG(source, options, owner) {\n\t\tif (!source)\n\t\t\treturn null;\n\t\toptions = typeof options === 'function' ? { onLoad: options }\n\t\t\t\t: options || {};\n\t\tvar scope = paper,\n\t\t\titem = null;\n\n\t\tfunction onLoad(svg) {\n\t\t\ttry {\n\t\t\t\tvar node = typeof svg === 'object' ? svg : new self.DOMParser()\n\t\t\t\t\t\t.parseFromString(svg, 'image/svg+xml');\n\t\t\t\tif (!node.nodeName) {\n\t\t\t\t\tnode = null;\n\t\t\t\t\tthrow new Error('Unsupported SVG source: ' + source);\n\t\t\t\t}\n\t\t\t\tpaper = scope;\n\t\t\t\titem = importNode(node, options, true);\n\t\t\t\tif (!options || options.insert !== false) {\n\t\t\t\t\towner._insertItem(undefined, item);\n\t\t\t\t}\n\t\t\t\tvar onLoad = options.onLoad;\n\t\t\t\tif (onLoad)\n\t\t\t\t\tonLoad(item, svg);\n\t\t\t} catch (e) {\n\t\t\t\tonError(e);\n\t\t\t}\n\t\t}\n\n\t\tfunction onError(message, status) {\n\t\t\tvar onError = options.onError;\n\t\t\tif (onError) {\n\t\t\t\tonError(message, status);\n\t\t\t} else {\n\t\t\t\tthrow new Error(message);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof source === 'string' && !/^.* 3) {\n\t cats.sort(function(a, b) {return b.length - a.length;});\n\t f += \"switch(str.length){\";\n\t for (var i = 0; i < cats.length; ++i) {\n\t\tvar cat = cats[i];\n\t\tf += \"case \" + cat[0].length + \":\";\n\t\tcompareTo(cat);\n\t }\n\t f += \"}\";\n\n\t} else {\n\t compareTo(words);\n\t}\n\treturn new Function(\"str\", f);\n }\n\n var isReservedWord3 = makePredicate(\"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\");\n\n var isReservedWord5 = makePredicate(\"class enum extends super const export import\");\n\n var isStrictReservedWord = makePredicate(\"implements interface let package private protected public static yield\");\n\n var isStrictBadIdWord = makePredicate(\"eval arguments\");\n\n var isKeyword = makePredicate(\"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\");\n\n var nonASCIIwhitespace = /[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\n var nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n var nonASCIIidentifierChars = \"\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n var nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\n var nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n\n var newline = /[\\n\\r\\u2028\\u2029]/;\n\n var lineBreak = /\\r\\n|[\\n\\r\\u2028\\u2029]/g;\n\n var isIdentifierStart = exports.isIdentifierStart = function(code) {\n\tif (code < 65) return code === 36;\n\tif (code < 91) return true;\n\tif (code < 97) return code === 95;\n\tif (code < 123)return true;\n\treturn code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n };\n\n var isIdentifierChar = exports.isIdentifierChar = function(code) {\n\tif (code < 48) return code === 36;\n\tif (code < 58) return true;\n\tif (code < 65) return false;\n\tif (code < 91) return true;\n\tif (code < 97) return code === 95;\n\tif (code < 123)return true;\n\treturn code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n };\n\n function line_loc_t() {\n\tthis.line = tokCurLine;\n\tthis.column = tokPos - tokLineStart;\n }\n\n function initTokenState() {\n\ttokCurLine = 1;\n\ttokPos = tokLineStart = 0;\n\ttokRegexpAllowed = true;\n\tskipSpace();\n }\n\n function finishToken(type, val) {\n\ttokEnd = tokPos;\n\tif (options.locations) tokEndLoc = new line_loc_t;\n\ttokType = type;\n\tskipSpace();\n\ttokVal = val;\n\ttokRegexpAllowed = type.beforeExpr;\n }\n\n function skipBlockComment() {\n\tvar startLoc = options.onComment && options.locations && new line_loc_t;\n\tvar start = tokPos, end = input.indexOf(\"*/\", tokPos += 2);\n\tif (end === -1) raise(tokPos - 2, \"Unterminated comment\");\n\ttokPos = end + 2;\n\tif (options.locations) {\n\t lineBreak.lastIndex = start;\n\t var match;\n\t while ((match = lineBreak.exec(input)) && match.index < tokPos) {\n\t\t++tokCurLine;\n\t\ttokLineStart = match.index + match[0].length;\n\t }\n\t}\n\tif (options.onComment)\n\t options.onComment(true, input.slice(start + 2, end), start, tokPos,\n\t\t\t\t\t\tstartLoc, options.locations && new line_loc_t);\n }\n\n function skipLineComment() {\n\tvar start = tokPos;\n\tvar startLoc = options.onComment && options.locations && new line_loc_t;\n\tvar ch = input.charCodeAt(tokPos+=2);\n\twhile (tokPos < inputLen && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {\n\t ++tokPos;\n\t ch = input.charCodeAt(tokPos);\n\t}\n\tif (options.onComment)\n\t options.onComment(false, input.slice(start + 2, tokPos), start, tokPos,\n\t\t\t\t\t\tstartLoc, options.locations && new line_loc_t);\n }\n\n function skipSpace() {\n\twhile (tokPos < inputLen) {\n\t var ch = input.charCodeAt(tokPos);\n\t if (ch === 32) {\n\t\t++tokPos;\n\t } else if (ch === 13) {\n\t\t++tokPos;\n\t\tvar next = input.charCodeAt(tokPos);\n\t\tif (next === 10) {\n\t\t ++tokPos;\n\t\t}\n\t\tif (options.locations) {\n\t\t ++tokCurLine;\n\t\t tokLineStart = tokPos;\n\t\t}\n\t } else if (ch === 10 || ch === 8232 || ch === 8233) {\n\t\t++tokPos;\n\t\tif (options.locations) {\n\t\t ++tokCurLine;\n\t\t tokLineStart = tokPos;\n\t\t}\n\t } else if (ch > 8 && ch < 14) {\n\t\t++tokPos;\n\t } else if (ch === 47) {\n\t\tvar next = input.charCodeAt(tokPos + 1);\n\t\tif (next === 42) {\n\t\t skipBlockComment();\n\t\t} else if (next === 47) {\n\t\t skipLineComment();\n\t\t} else break;\n\t } else if (ch === 160) {\n\t\t++tokPos;\n\t } else if (ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n\t\t++tokPos;\n\t } else {\n\t\tbreak;\n\t }\n\t}\n }\n\n function readToken_dot() {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next >= 48 && next <= 57) return readNumber(true);\n\t++tokPos;\n\treturn finishToken(_dot);\n }\n\n function readToken_slash() {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (tokRegexpAllowed) {++tokPos; return readRegexp();}\n\tif (next === 61) return finishOp(_assign, 2);\n\treturn finishOp(_slash, 1);\n }\n\n function readToken_mult_modulo() {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next === 61) return finishOp(_assign, 2);\n\treturn finishOp(_multiplyModulo, 1);\n }\n\n function readToken_pipe_amp(code) {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next === code) return finishOp(code === 124 ? _logicalOR : _logicalAND, 2);\n\tif (next === 61) return finishOp(_assign, 2);\n\treturn finishOp(code === 124 ? _bitwiseOR : _bitwiseAND, 1);\n }\n\n function readToken_caret() {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next === 61) return finishOp(_assign, 2);\n\treturn finishOp(_bitwiseXOR, 1);\n }\n\n function readToken_plus_min(code) {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next === code) {\n\t if (next == 45 && input.charCodeAt(tokPos + 2) == 62 &&\n\t\t newline.test(input.slice(lastEnd, tokPos))) {\n\t\ttokPos += 3;\n\t\tskipLineComment();\n\t\tskipSpace();\n\t\treturn readToken();\n\t }\n\t return finishOp(_incDec, 2);\n\t}\n\tif (next === 61) return finishOp(_assign, 2);\n\treturn finishOp(_plusMin, 1);\n }\n\n function readToken_lt_gt(code) {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tvar size = 1;\n\tif (next === code) {\n\t size = code === 62 && input.charCodeAt(tokPos + 2) === 62 ? 3 : 2;\n\t if (input.charCodeAt(tokPos + size) === 61) return finishOp(_assign, size + 1);\n\t return finishOp(_bitShift, size);\n\t}\n\tif (next == 33 && code == 60 && input.charCodeAt(tokPos + 2) == 45 &&\n\t\tinput.charCodeAt(tokPos + 3) == 45) {\n\t tokPos += 4;\n\t skipLineComment();\n\t skipSpace();\n\t return readToken();\n\t}\n\tif (next === 61)\n\t size = input.charCodeAt(tokPos + 2) === 61 ? 3 : 2;\n\treturn finishOp(_relational, size);\n }\n\n function readToken_eq_excl(code) {\n\tvar next = input.charCodeAt(tokPos + 1);\n\tif (next === 61) return finishOp(_equality, input.charCodeAt(tokPos + 2) === 61 ? 3 : 2);\n\treturn finishOp(code === 61 ? _eq : _prefix, 1);\n }\n\n function getTokenFromCode(code) {\n\tswitch(code) {\n\tcase 46:\n\t return readToken_dot();\n\n\tcase 40: ++tokPos; return finishToken(_parenL);\n\tcase 41: ++tokPos; return finishToken(_parenR);\n\tcase 59: ++tokPos; return finishToken(_semi);\n\tcase 44: ++tokPos; return finishToken(_comma);\n\tcase 91: ++tokPos; return finishToken(_bracketL);\n\tcase 93: ++tokPos; return finishToken(_bracketR);\n\tcase 123: ++tokPos; return finishToken(_braceL);\n\tcase 125: ++tokPos; return finishToken(_braceR);\n\tcase 58: ++tokPos; return finishToken(_colon);\n\tcase 63: ++tokPos; return finishToken(_question);\n\n\tcase 48:\n\t var next = input.charCodeAt(tokPos + 1);\n\t if (next === 120 || next === 88) return readHexNumber();\n\tcase 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57:\n\t return readNumber(false);\n\n\tcase 34: case 39:\n\t return readString(code);\n\n\tcase 47:\n\t return readToken_slash(code);\n\n\tcase 37: case 42:\n\t return readToken_mult_modulo();\n\n\tcase 124: case 38:\n\t return readToken_pipe_amp(code);\n\n\tcase 94:\n\t return readToken_caret();\n\n\tcase 43: case 45:\n\t return readToken_plus_min(code);\n\n\tcase 60: case 62:\n\t return readToken_lt_gt(code);\n\n\tcase 61: case 33:\n\t return readToken_eq_excl(code);\n\n\tcase 126:\n\t return finishOp(_prefix, 1);\n\t}\n\n\treturn false;\n }\n\n function readToken(forceRegexp) {\n\tif (!forceRegexp) tokStart = tokPos;\n\telse tokPos = tokStart + 1;\n\tif (options.locations) tokStartLoc = new line_loc_t;\n\tif (forceRegexp) return readRegexp();\n\tif (tokPos >= inputLen) return finishToken(_eof);\n\n\tvar code = input.charCodeAt(tokPos);\n\tif (isIdentifierStart(code) || code === 92 ) return readWord();\n\n\tvar tok = getTokenFromCode(code);\n\n\tif (tok === false) {\n\t var ch = String.fromCharCode(code);\n\t if (ch === \"\\\\\" || nonASCIIidentifierStart.test(ch)) return readWord();\n\t raise(tokPos, \"Unexpected character '\" + ch + \"'\");\n\t}\n\treturn tok;\n }\n\n function finishOp(type, size) {\n\tvar str = input.slice(tokPos, tokPos + size);\n\ttokPos += size;\n\tfinishToken(type, str);\n }\n\n function readRegexp() {\n\tvar content = \"\", escaped, inClass, start = tokPos;\n\tfor (;;) {\n\t if (tokPos >= inputLen) raise(start, \"Unterminated regular expression\");\n\t var ch = input.charAt(tokPos);\n\t if (newline.test(ch)) raise(start, \"Unterminated regular expression\");\n\t if (!escaped) {\n\t\tif (ch === \"[\") inClass = true;\n\t\telse if (ch === \"]\" && inClass) inClass = false;\n\t\telse if (ch === \"/\" && !inClass) break;\n\t\tescaped = ch === \"\\\\\";\n\t } else escaped = false;\n\t ++tokPos;\n\t}\n\tvar content = input.slice(start, tokPos);\n\t++tokPos;\n\tvar mods = readWord1();\n\tif (mods && !/^[gmsiy]*$/.test(mods)) raise(start, \"Invalid regexp flag\");\n\ttry {\n\t var value = new RegExp(content, mods);\n\t} catch (e) {\n\t if (e instanceof SyntaxError) raise(start, e.message);\n\t raise(e);\n\t}\n\treturn finishToken(_regexp, value);\n }\n\n function readInt(radix, len) {\n\tvar start = tokPos, total = 0;\n\tfor (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n\t var code = input.charCodeAt(tokPos), val;\n\t if (code >= 97) val = code - 97 + 10;\n\t else if (code >= 65) val = code - 65 + 10;\n\t else if (code >= 48 && code <= 57) val = code - 48;\n\t else val = Infinity;\n\t if (val >= radix) break;\n\t ++tokPos;\n\t total = total * radix + val;\n\t}\n\tif (tokPos === start || len != null && tokPos - start !== len) return null;\n\n\treturn total;\n }\n\n function readHexNumber() {\n\ttokPos += 2;\n\tvar val = readInt(16);\n\tif (val == null) raise(tokStart + 2, \"Expected hexadecimal number\");\n\tif (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, \"Identifier directly after number\");\n\treturn finishToken(_num, val);\n }\n\n function readNumber(startsWithDot) {\n\tvar start = tokPos, isFloat = false, octal = input.charCodeAt(tokPos) === 48;\n\tif (!startsWithDot && readInt(10) === null) raise(start, \"Invalid number\");\n\tif (input.charCodeAt(tokPos) === 46) {\n\t ++tokPos;\n\t readInt(10);\n\t isFloat = true;\n\t}\n\tvar next = input.charCodeAt(tokPos);\n\tif (next === 69 || next === 101) {\n\t next = input.charCodeAt(++tokPos);\n\t if (next === 43 || next === 45) ++tokPos;\n\t if (readInt(10) === null) raise(start, \"Invalid number\");\n\t isFloat = true;\n\t}\n\tif (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, \"Identifier directly after number\");\n\n\tvar str = input.slice(start, tokPos), val;\n\tif (isFloat) val = parseFloat(str);\n\telse if (!octal || str.length === 1) val = parseInt(str, 10);\n\telse if (/[89]/.test(str) || strict) raise(start, \"Invalid number\");\n\telse val = parseInt(str, 8);\n\treturn finishToken(_num, val);\n }\n\n function readString(quote) {\n\ttokPos++;\n\tvar out = \"\";\n\tfor (;;) {\n\t if (tokPos >= inputLen) raise(tokStart, \"Unterminated string constant\");\n\t var ch = input.charCodeAt(tokPos);\n\t if (ch === quote) {\n\t\t++tokPos;\n\t\treturn finishToken(_string, out);\n\t }\n\t if (ch === 92) {\n\t\tch = input.charCodeAt(++tokPos);\n\t\tvar octal = /^[0-7]+/.exec(input.slice(tokPos, tokPos + 3));\n\t\tif (octal) octal = octal[0];\n\t\twhile (octal && parseInt(octal, 8) > 255) octal = octal.slice(0, -1);\n\t\tif (octal === \"0\") octal = null;\n\t\t++tokPos;\n\t\tif (octal) {\n\t\t if (strict) raise(tokPos - 2, \"Octal literal in strict mode\");\n\t\t out += String.fromCharCode(parseInt(octal, 8));\n\t\t tokPos += octal.length - 1;\n\t\t} else {\n\t\t switch (ch) {\n\t\t case 110: out += \"\\n\"; break;\n\t\t case 114: out += \"\\r\"; break;\n\t\t case 120: out += String.fromCharCode(readHexChar(2)); break;\n\t\t case 117: out += String.fromCharCode(readHexChar(4)); break;\n\t\t case 85: out += String.fromCharCode(readHexChar(8)); break;\n\t\t case 116: out += \"\\t\"; break;\n\t\t case 98: out += \"\\b\"; break;\n\t\t case 118: out += \"\\u000b\"; break;\n\t\t case 102: out += \"\\f\"; break;\n\t\t case 48: out += \"\\0\"; break;\n\t\t case 13: if (input.charCodeAt(tokPos) === 10) ++tokPos;\n\t\t case 10:\n\t\t\tif (options.locations) { tokLineStart = tokPos; ++tokCurLine; }\n\t\t\tbreak;\n\t\t default: out += String.fromCharCode(ch); break;\n\t\t }\n\t\t}\n\t } else {\n\t\tif (ch === 13 || ch === 10 || ch === 8232 || ch === 8233) raise(tokStart, \"Unterminated string constant\");\n\t\tout += String.fromCharCode(ch);\n\t\t++tokPos;\n\t }\n\t}\n }\n\n function readHexChar(len) {\n\tvar n = readInt(16, len);\n\tif (n === null) raise(tokStart, \"Bad character escape sequence\");\n\treturn n;\n }\n\n var containsEsc;\n\n function readWord1() {\n\tcontainsEsc = false;\n\tvar word, first = true, start = tokPos;\n\tfor (;;) {\n\t var ch = input.charCodeAt(tokPos);\n\t if (isIdentifierChar(ch)) {\n\t\tif (containsEsc) word += input.charAt(tokPos);\n\t\t++tokPos;\n\t } else if (ch === 92) {\n\t\tif (!containsEsc) word = input.slice(start, tokPos);\n\t\tcontainsEsc = true;\n\t\tif (input.charCodeAt(++tokPos) != 117)\n\t\t raise(tokPos, \"Expecting Unicode escape sequence \\\\uXXXX\");\n\t\t++tokPos;\n\t\tvar esc = readHexChar(4);\n\t\tvar escStr = String.fromCharCode(esc);\n\t\tif (!escStr) raise(tokPos - 1, \"Invalid Unicode escape\");\n\t\tif (!(first ? isIdentifierStart(esc) : isIdentifierChar(esc)))\n\t\t raise(tokPos - 4, \"Invalid Unicode escape\");\n\t\tword += escStr;\n\t } else {\n\t\tbreak;\n\t }\n\t first = false;\n\t}\n\treturn containsEsc ? word : input.slice(start, tokPos);\n }\n\n function readWord() {\n\tvar word = readWord1();\n\tvar type = _name;\n\tif (!containsEsc && isKeyword(word))\n\t type = keywordTypes[word];\n\treturn finishToken(type, word);\n }\n\n function next() {\n\tlastStart = tokStart;\n\tlastEnd = tokEnd;\n\tlastEndLoc = tokEndLoc;\n\treadToken();\n }\n\n function setStrict(strct) {\n\tstrict = strct;\n\ttokPos = tokStart;\n\tif (options.locations) {\n\t while (tokPos < tokLineStart) {\n\t\ttokLineStart = input.lastIndexOf(\"\\n\", tokLineStart - 2) + 1;\n\t\t--tokCurLine;\n\t }\n\t}\n\tskipSpace();\n\treadToken();\n }\n\n function node_t() {\n\tthis.type = null;\n\tthis.start = tokStart;\n\tthis.end = null;\n }\n\n function node_loc_t() {\n\tthis.start = tokStartLoc;\n\tthis.end = null;\n\tif (sourceFile !== null) this.source = sourceFile;\n }\n\n function startNode() {\n\tvar node = new node_t();\n\tif (options.locations)\n\t node.loc = new node_loc_t();\n\tif (options.directSourceFile)\n\t node.sourceFile = options.directSourceFile;\n\tif (options.ranges)\n\t node.range = [tokStart, 0];\n\treturn node;\n }\n\n function startNodeFrom(other) {\n\tvar node = new node_t();\n\tnode.start = other.start;\n\tif (options.locations) {\n\t node.loc = new node_loc_t();\n\t node.loc.start = other.loc.start;\n\t}\n\tif (options.ranges)\n\t node.range = [other.range[0], 0];\n\n\treturn node;\n }\n\n function finishNode(node, type) {\n\tnode.type = type;\n\tnode.end = lastEnd;\n\tif (options.locations)\n\t node.loc.end = lastEndLoc;\n\tif (options.ranges)\n\t node.range[1] = lastEnd;\n\treturn node;\n }\n\n function isUseStrict(stmt) {\n\treturn options.ecmaVersion >= 5 && stmt.type === \"ExpressionStatement\" &&\n\t stmt.expression.type === \"Literal\" && stmt.expression.value === \"use strict\";\n }\n\n function eat(type) {\n\tif (tokType === type) {\n\t next();\n\t return true;\n\t}\n }\n\n function canInsertSemicolon() {\n\treturn !options.strictSemicolons &&\n\t (tokType === _eof || tokType === _braceR || newline.test(input.slice(lastEnd, tokStart)));\n }\n\n function semicolon() {\n\tif (!eat(_semi) && !canInsertSemicolon()) unexpected();\n }\n\n function expect(type) {\n\tif (tokType === type) next();\n\telse unexpected();\n }\n\n function unexpected() {\n\traise(tokStart, \"Unexpected token\");\n }\n\n function checkLVal(expr) {\n\tif (expr.type !== \"Identifier\" && expr.type !== \"MemberExpression\")\n\t raise(expr.start, \"Assigning to rvalue\");\n\tif (strict && expr.type === \"Identifier\" && isStrictBadIdWord(expr.name))\n\t raise(expr.start, \"Assigning to \" + expr.name + \" in strict mode\");\n }\n\n function parseTopLevel(program) {\n\tlastStart = lastEnd = tokPos;\n\tif (options.locations) lastEndLoc = new line_loc_t;\n\tinFunction = strict = null;\n\tlabels = [];\n\treadToken();\n\n\tvar node = program || startNode(), first = true;\n\tif (!program) node.body = [];\n\twhile (tokType !== _eof) {\n\t var stmt = parseStatement();\n\t node.body.push(stmt);\n\t if (first && isUseStrict(stmt)) setStrict(true);\n\t first = false;\n\t}\n\treturn finishNode(node, \"Program\");\n }\n\n var loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"};\n\n function parseStatement() {\n\tif (tokType === _slash || tokType === _assign && tokVal == \"/=\")\n\t readToken(true);\n\n\tvar starttype = tokType, node = startNode();\n\n\tswitch (starttype) {\n\tcase _break: case _continue:\n\t next();\n\t var isBreak = starttype === _break;\n\t if (eat(_semi) || canInsertSemicolon()) node.label = null;\n\t else if (tokType !== _name) unexpected();\n\t else {\n\t\tnode.label = parseIdent();\n\t\tsemicolon();\n\t }\n\n\t for (var i = 0; i < labels.length; ++i) {\n\t\tvar lab = labels[i];\n\t\tif (node.label == null || lab.name === node.label.name) {\n\t\t if (lab.kind != null && (isBreak || lab.kind === \"loop\")) break;\n\t\t if (node.label && isBreak) break;\n\t\t}\n\t }\n\t if (i === labels.length) raise(node.start, \"Unsyntactic \" + starttype.keyword);\n\t return finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\");\n\n\tcase _debugger:\n\t next();\n\t semicolon();\n\t return finishNode(node, \"DebuggerStatement\");\n\n\tcase _do:\n\t next();\n\t labels.push(loopLabel);\n\t node.body = parseStatement();\n\t labels.pop();\n\t expect(_while);\n\t node.test = parseParenExpression();\n\t semicolon();\n\t return finishNode(node, \"DoWhileStatement\");\n\n\tcase _for:\n\t next();\n\t labels.push(loopLabel);\n\t expect(_parenL);\n\t if (tokType === _semi) return parseFor(node, null);\n\t if (tokType === _var) {\n\t\tvar init = startNode();\n\t\tnext();\n\t\tparseVar(init, true);\n\t\tfinishNode(init, \"VariableDeclaration\");\n\t\tif (init.declarations.length === 1 && eat(_in))\n\t\t return parseForIn(node, init);\n\t\treturn parseFor(node, init);\n\t }\n\t var init = parseExpression(false, true);\n\t if (eat(_in)) {checkLVal(init); return parseForIn(node, init);}\n\t return parseFor(node, init);\n\n\tcase _function:\n\t next();\n\t return parseFunction(node, true);\n\n\tcase _if:\n\t next();\n\t node.test = parseParenExpression();\n\t node.consequent = parseStatement();\n\t node.alternate = eat(_else) ? parseStatement() : null;\n\t return finishNode(node, \"IfStatement\");\n\n\tcase _return:\n\t if (!inFunction && !options.allowReturnOutsideFunction)\n\t\traise(tokStart, \"'return' outside of function\");\n\t next();\n\n\t if (eat(_semi) || canInsertSemicolon()) node.argument = null;\n\t else { node.argument = parseExpression(); semicolon(); }\n\t return finishNode(node, \"ReturnStatement\");\n\n\tcase _switch:\n\t next();\n\t node.discriminant = parseParenExpression();\n\t node.cases = [];\n\t expect(_braceL);\n\t labels.push(switchLabel);\n\n\t for (var cur, sawDefault; tokType != _braceR;) {\n\t\tif (tokType === _case || tokType === _default) {\n\t\t var isCase = tokType === _case;\n\t\t if (cur) finishNode(cur, \"SwitchCase\");\n\t\t node.cases.push(cur = startNode());\n\t\t cur.consequent = [];\n\t\t next();\n\t\t if (isCase) cur.test = parseExpression();\n\t\t else {\n\t\t\tif (sawDefault) raise(lastStart, \"Multiple default clauses\"); sawDefault = true;\n\t\t\tcur.test = null;\n\t\t }\n\t\t expect(_colon);\n\t\t} else {\n\t\t if (!cur) unexpected();\n\t\t cur.consequent.push(parseStatement());\n\t\t}\n\t }\n\t if (cur) finishNode(cur, \"SwitchCase\");\n\t next();\n\t labels.pop();\n\t return finishNode(node, \"SwitchStatement\");\n\n\tcase _throw:\n\t next();\n\t if (newline.test(input.slice(lastEnd, tokStart)))\n\t\traise(lastEnd, \"Illegal newline after throw\");\n\t node.argument = parseExpression();\n\t semicolon();\n\t return finishNode(node, \"ThrowStatement\");\n\n\tcase _try:\n\t next();\n\t node.block = parseBlock();\n\t node.handler = null;\n\t if (tokType === _catch) {\n\t\tvar clause = startNode();\n\t\tnext();\n\t\texpect(_parenL);\n\t\tclause.param = parseIdent();\n\t\tif (strict && isStrictBadIdWord(clause.param.name))\n\t\t raise(clause.param.start, \"Binding \" + clause.param.name + \" in strict mode\");\n\t\texpect(_parenR);\n\t\tclause.guard = null;\n\t\tclause.body = parseBlock();\n\t\tnode.handler = finishNode(clause, \"CatchClause\");\n\t }\n\t node.guardedHandlers = empty;\n\t node.finalizer = eat(_finally) ? parseBlock() : null;\n\t if (!node.handler && !node.finalizer)\n\t\traise(node.start, \"Missing catch or finally clause\");\n\t return finishNode(node, \"TryStatement\");\n\n\tcase _var:\n\t next();\n\t parseVar(node);\n\t semicolon();\n\t return finishNode(node, \"VariableDeclaration\");\n\n\tcase _while:\n\t next();\n\t node.test = parseParenExpression();\n\t labels.push(loopLabel);\n\t node.body = parseStatement();\n\t labels.pop();\n\t return finishNode(node, \"WhileStatement\");\n\n\tcase _with:\n\t if (strict) raise(tokStart, \"'with' in strict mode\");\n\t next();\n\t node.object = parseParenExpression();\n\t node.body = parseStatement();\n\t return finishNode(node, \"WithStatement\");\n\n\tcase _braceL:\n\t return parseBlock();\n\n\tcase _semi:\n\t next();\n\t return finishNode(node, \"EmptyStatement\");\n\n\tdefault:\n\t var maybeName = tokVal, expr = parseExpression();\n\t if (starttype === _name && expr.type === \"Identifier\" && eat(_colon)) {\n\t\tfor (var i = 0; i < labels.length; ++i)\n\t\t if (labels[i].name === maybeName) raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n\t\tvar kind = tokType.isLoop ? \"loop\" : tokType === _switch ? \"switch\" : null;\n\t\tlabels.push({name: maybeName, kind: kind});\n\t\tnode.body = parseStatement();\n\t\tlabels.pop();\n\t\tnode.label = expr;\n\t\treturn finishNode(node, \"LabeledStatement\");\n\t } else {\n\t\tnode.expression = expr;\n\t\tsemicolon();\n\t\treturn finishNode(node, \"ExpressionStatement\");\n\t }\n\t}\n }\n\n function parseParenExpression() {\n\texpect(_parenL);\n\tvar val = parseExpression();\n\texpect(_parenR);\n\treturn val;\n }\n\n function parseBlock(allowStrict) {\n\tvar node = startNode(), first = true, strict = false, oldStrict;\n\tnode.body = [];\n\texpect(_braceL);\n\twhile (!eat(_braceR)) {\n\t var stmt = parseStatement();\n\t node.body.push(stmt);\n\t if (first && allowStrict && isUseStrict(stmt)) {\n\t\toldStrict = strict;\n\t\tsetStrict(strict = true);\n\t }\n\t first = false;\n\t}\n\tif (strict && !oldStrict) setStrict(false);\n\treturn finishNode(node, \"BlockStatement\");\n }\n\n function parseFor(node, init) {\n\tnode.init = init;\n\texpect(_semi);\n\tnode.test = tokType === _semi ? null : parseExpression();\n\texpect(_semi);\n\tnode.update = tokType === _parenR ? null : parseExpression();\n\texpect(_parenR);\n\tnode.body = parseStatement();\n\tlabels.pop();\n\treturn finishNode(node, \"ForStatement\");\n }\n\n function parseForIn(node, init) {\n\tnode.left = init;\n\tnode.right = parseExpression();\n\texpect(_parenR);\n\tnode.body = parseStatement();\n\tlabels.pop();\n\treturn finishNode(node, \"ForInStatement\");\n }\n\n function parseVar(node, noIn) {\n\tnode.declarations = [];\n\tnode.kind = \"var\";\n\tfor (;;) {\n\t var decl = startNode();\n\t decl.id = parseIdent();\n\t if (strict && isStrictBadIdWord(decl.id.name))\n\t\traise(decl.id.start, \"Binding \" + decl.id.name + \" in strict mode\");\n\t decl.init = eat(_eq) ? parseExpression(true, noIn) : null;\n\t node.declarations.push(finishNode(decl, \"VariableDeclarator\"));\n\t if (!eat(_comma)) break;\n\t}\n\treturn node;\n }\n\n function parseExpression(noComma, noIn) {\n\tvar expr = parseMaybeAssign(noIn);\n\tif (!noComma && tokType === _comma) {\n\t var node = startNodeFrom(expr);\n\t node.expressions = [expr];\n\t while (eat(_comma)) node.expressions.push(parseMaybeAssign(noIn));\n\t return finishNode(node, \"SequenceExpression\");\n\t}\n\treturn expr;\n }\n\n function parseMaybeAssign(noIn) {\n\tvar left = parseMaybeConditional(noIn);\n\tif (tokType.isAssign) {\n\t var node = startNodeFrom(left);\n\t node.operator = tokVal;\n\t node.left = left;\n\t next();\n\t node.right = parseMaybeAssign(noIn);\n\t checkLVal(left);\n\t return finishNode(node, \"AssignmentExpression\");\n\t}\n\treturn left;\n }\n\n function parseMaybeConditional(noIn) {\n\tvar expr = parseExprOps(noIn);\n\tif (eat(_question)) {\n\t var node = startNodeFrom(expr);\n\t node.test = expr;\n\t node.consequent = parseExpression(true);\n\t expect(_colon);\n\t node.alternate = parseExpression(true, noIn);\n\t return finishNode(node, \"ConditionalExpression\");\n\t}\n\treturn expr;\n }\n\n function parseExprOps(noIn) {\n\treturn parseExprOp(parseMaybeUnary(), -1, noIn);\n }\n\n function parseExprOp(left, minPrec, noIn) {\n\tvar prec = tokType.binop;\n\tif (prec != null && (!noIn || tokType !== _in)) {\n\t if (prec > minPrec) {\n\t\tvar node = startNodeFrom(left);\n\t\tnode.left = left;\n\t\tnode.operator = tokVal;\n\t\tvar op = tokType;\n\t\tnext();\n\t\tnode.right = parseExprOp(parseMaybeUnary(), prec, noIn);\n\t\tvar exprNode = finishNode(node, (op === _logicalOR || op === _logicalAND) ? \"LogicalExpression\" : \"BinaryExpression\");\n\t\treturn parseExprOp(exprNode, minPrec, noIn);\n\t }\n\t}\n\treturn left;\n }\n\n function parseMaybeUnary() {\n\tif (tokType.prefix) {\n\t var node = startNode(), update = tokType.isUpdate;\n\t node.operator = tokVal;\n\t node.prefix = true;\n\t tokRegexpAllowed = true;\n\t next();\n\t node.argument = parseMaybeUnary();\n\t if (update) checkLVal(node.argument);\n\t else if (strict && node.operator === \"delete\" &&\n\t\t\t node.argument.type === \"Identifier\")\n\t\traise(node.start, \"Deleting local variable in strict mode\");\n\t return finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n\t}\n\tvar expr = parseExprSubscripts();\n\twhile (tokType.postfix && !canInsertSemicolon()) {\n\t var node = startNodeFrom(expr);\n\t node.operator = tokVal;\n\t node.prefix = false;\n\t node.argument = expr;\n\t checkLVal(expr);\n\t next();\n\t expr = finishNode(node, \"UpdateExpression\");\n\t}\n\treturn expr;\n }\n\n function parseExprSubscripts() {\n\treturn parseSubscripts(parseExprAtom());\n }\n\n function parseSubscripts(base, noCalls) {\n\tif (eat(_dot)) {\n\t var node = startNodeFrom(base);\n\t node.object = base;\n\t node.property = parseIdent(true);\n\t node.computed = false;\n\t return parseSubscripts(finishNode(node, \"MemberExpression\"), noCalls);\n\t} else if (eat(_bracketL)) {\n\t var node = startNodeFrom(base);\n\t node.object = base;\n\t node.property = parseExpression();\n\t node.computed = true;\n\t expect(_bracketR);\n\t return parseSubscripts(finishNode(node, \"MemberExpression\"), noCalls);\n\t} else if (!noCalls && eat(_parenL)) {\n\t var node = startNodeFrom(base);\n\t node.callee = base;\n\t node.arguments = parseExprList(_parenR, false);\n\t return parseSubscripts(finishNode(node, \"CallExpression\"), noCalls);\n\t} else return base;\n }\n\n function parseExprAtom() {\n\tswitch (tokType) {\n\tcase _this:\n\t var node = startNode();\n\t next();\n\t return finishNode(node, \"ThisExpression\");\n\tcase _name:\n\t return parseIdent();\n\tcase _num: case _string: case _regexp:\n\t var node = startNode();\n\t node.value = tokVal;\n\t node.raw = input.slice(tokStart, tokEnd);\n\t next();\n\t return finishNode(node, \"Literal\");\n\n\tcase _null: case _true: case _false:\n\t var node = startNode();\n\t node.value = tokType.atomValue;\n\t node.raw = tokType.keyword;\n\t next();\n\t return finishNode(node, \"Literal\");\n\n\tcase _parenL:\n\t var tokStartLoc1 = tokStartLoc, tokStart1 = tokStart;\n\t next();\n\t var val = parseExpression();\n\t val.start = tokStart1;\n\t val.end = tokEnd;\n\t if (options.locations) {\n\t\tval.loc.start = tokStartLoc1;\n\t\tval.loc.end = tokEndLoc;\n\t }\n\t if (options.ranges)\n\t\tval.range = [tokStart1, tokEnd];\n\t expect(_parenR);\n\t return val;\n\n\tcase _bracketL:\n\t var node = startNode();\n\t next();\n\t node.elements = parseExprList(_bracketR, true, true);\n\t return finishNode(node, \"ArrayExpression\");\n\n\tcase _braceL:\n\t return parseObj();\n\n\tcase _function:\n\t var node = startNode();\n\t next();\n\t return parseFunction(node, false);\n\n\tcase _new:\n\t return parseNew();\n\n\tdefault:\n\t unexpected();\n\t}\n }\n\n function parseNew() {\n\tvar node = startNode();\n\tnext();\n\tnode.callee = parseSubscripts(parseExprAtom(), true);\n\tif (eat(_parenL)) node.arguments = parseExprList(_parenR, false);\n\telse node.arguments = empty;\n\treturn finishNode(node, \"NewExpression\");\n }\n\n function parseObj() {\n\tvar node = startNode(), first = true, sawGetSet = false;\n\tnode.properties = [];\n\tnext();\n\twhile (!eat(_braceR)) {\n\t if (!first) {\n\t\texpect(_comma);\n\t\tif (options.allowTrailingCommas && eat(_braceR)) break;\n\t } else first = false;\n\n\t var prop = {key: parsePropertyName()}, isGetSet = false, kind;\n\t if (eat(_colon)) {\n\t\tprop.value = parseExpression(true);\n\t\tkind = prop.kind = \"init\";\n\t } else if (options.ecmaVersion >= 5 && prop.key.type === \"Identifier\" &&\n\t\t\t\t (prop.key.name === \"get\" || prop.key.name === \"set\")) {\n\t\tisGetSet = sawGetSet = true;\n\t\tkind = prop.kind = prop.key.name;\n\t\tprop.key = parsePropertyName();\n\t\tif (tokType !== _parenL) unexpected();\n\t\tprop.value = parseFunction(startNode(), false);\n\t } else unexpected();\n\n\t if (prop.key.type === \"Identifier\" && (strict || sawGetSet)) {\n\t\tfor (var i = 0; i < node.properties.length; ++i) {\n\t\t var other = node.properties[i];\n\t\t if (other.key.name === prop.key.name) {\n\t\t\tvar conflict = kind == other.kind || isGetSet && other.kind === \"init\" ||\n\t\t\t kind === \"init\" && (other.kind === \"get\" || other.kind === \"set\");\n\t\t\tif (conflict && !strict && kind === \"init\" && other.kind === \"init\") conflict = false;\n\t\t\tif (conflict) raise(prop.key.start, \"Redefinition of property\");\n\t\t }\n\t\t}\n\t }\n\t node.properties.push(prop);\n\t}\n\treturn finishNode(node, \"ObjectExpression\");\n }\n\n function parsePropertyName() {\n\tif (tokType === _num || tokType === _string) return parseExprAtom();\n\treturn parseIdent(true);\n }\n\n function parseFunction(node, isStatement) {\n\tif (tokType === _name) node.id = parseIdent();\n\telse if (isStatement) unexpected();\n\telse node.id = null;\n\tnode.params = [];\n\tvar first = true;\n\texpect(_parenL);\n\twhile (!eat(_parenR)) {\n\t if (!first) expect(_comma); else first = false;\n\t node.params.push(parseIdent());\n\t}\n\n\tvar oldInFunc = inFunction, oldLabels = labels;\n\tinFunction = true; labels = [];\n\tnode.body = parseBlock(true);\n\tinFunction = oldInFunc; labels = oldLabels;\n\n\tif (strict || node.body.body.length && isUseStrict(node.body.body[0])) {\n\t for (var i = node.id ? -1 : 0; i < node.params.length; ++i) {\n\t\tvar id = i < 0 ? node.id : node.params[i];\n\t\tif (isStrictReservedWord(id.name) || isStrictBadIdWord(id.name))\n\t\t raise(id.start, \"Defining '\" + id.name + \"' in strict mode\");\n\t\tif (i >= 0) for (var j = 0; j < i; ++j) if (id.name === node.params[j].name)\n\t\t raise(id.start, \"Argument name clash in strict mode\");\n\t }\n\t}\n\n\treturn finishNode(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\");\n }\n\n function parseExprList(close, allowTrailingComma, allowEmpty) {\n\tvar elts = [], first = true;\n\twhile (!eat(close)) {\n\t if (!first) {\n\t\texpect(_comma);\n\t\tif (allowTrailingComma && options.allowTrailingCommas && eat(close)) break;\n\t } else first = false;\n\n\t if (allowEmpty && tokType === _comma) elts.push(null);\n\t else elts.push(parseExpression(true));\n\t}\n\treturn elts;\n }\n\n function parseIdent(liberal) {\n\tvar node = startNode();\n\tif (liberal && options.forbidReserved == \"everywhere\") liberal = false;\n\tif (tokType === _name) {\n\t if (!liberal &&\n\t\t (options.forbidReserved &&\n\t\t (options.ecmaVersion === 3 ? isReservedWord3 : isReservedWord5)(tokVal) ||\n\t\t strict && isStrictReservedWord(tokVal)) &&\n\t\t input.slice(tokStart, tokEnd).indexOf(\"\\\\\") == -1)\n\t\traise(tokStart, \"The keyword '\" + tokVal + \"' is reserved\");\n\t node.name = tokVal;\n\t} else if (liberal && tokType.keyword) {\n\t node.name = tokType.keyword;\n\t} else {\n\t unexpected();\n\t}\n\ttokRegexpAllowed = false;\n\tnext();\n\treturn finishNode(node, \"Identifier\");\n }\n\n});\n\n\t\tif (!acorn.version)\n\t\t\tacorn = null;\n\t}\n\n\tfunction parse(code, options) {\n\t\treturn (global.acorn || acorn).parse(code, options);\n\t}\n\n\tvar binaryOperators = {\n\t\t'+': '__add',\n\t\t'-': '__subtract',\n\t\t'*': '__multiply',\n\t\t'/': '__divide',\n\t\t'%': '__modulo',\n\t\t'==': '__equals',\n\t\t'!=': '__equals'\n\t};\n\n\tvar unaryOperators = {\n\t\t'-': '__negate',\n\t\t'+': '__self'\n\t};\n\n\tvar fields = Base.each(\n\t\t['add', 'subtract', 'multiply', 'divide', 'modulo', 'equals', 'negate'],\n\t\tfunction(name) {\n\t\t\tthis['__' + name] = '#' + name;\n\t\t},\n\t\t{\n\t\t\t__self: function() {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t);\n\tPoint.inject(fields);\n\tSize.inject(fields);\n\tColor.inject(fields);\n\n\tfunction __$__(left, operator, right) {\n\t\tvar handler = binaryOperators[operator];\n\t\tif (left && left[handler]) {\n\t\t\tvar res = left[handler](right);\n\t\t\treturn operator === '!=' ? !res : res;\n\t\t}\n\t\tswitch (operator) {\n\t\tcase '+': return left + right;\n\t\tcase '-': return left - right;\n\t\tcase '*': return left * right;\n\t\tcase '/': return left / right;\n\t\tcase '%': return left % right;\n\t\tcase '==': return left == right;\n\t\tcase '!=': return left != right;\n\t\t}\n\t}\n\n\tfunction $__(operator, value) {\n\t\tvar handler = unaryOperators[operator];\n\t\tif (value && value[handler])\n\t\t\treturn value[handler]();\n\t\tswitch (operator) {\n\t\tcase '+': return +value;\n\t\tcase '-': return -value;\n\t\t}\n\t}\n\n\tfunction compile(code, options) {\n\t\tif (!code)\n\t\t\treturn '';\n\t\toptions = options || {};\n\n\t\tvar insertions = [];\n\n\t\tfunction getOffset(offset) {\n\t\t\tfor (var i = 0, l = insertions.length; i < l; i++) {\n\t\t\t\tvar insertion = insertions[i];\n\t\t\t\tif (insertion[0] >= offset)\n\t\t\t\t\tbreak;\n\t\t\t\toffset += insertion[1];\n\t\t\t}\n\t\t\treturn offset;\n\t\t}\n\n\t\tfunction getCode(node) {\n\t\t\treturn code.substring(getOffset(node.range[0]),\n\t\t\t\t\tgetOffset(node.range[1]));\n\t\t}\n\n\t\tfunction getBetween(left, right) {\n\t\t\treturn code.substring(getOffset(left.range[1]),\n\t\t\t\t\tgetOffset(right.range[0]));\n\t\t}\n\n\t\tfunction replaceCode(node, str) {\n\t\t\tvar start = getOffset(node.range[0]),\n\t\t\t\tend = getOffset(node.range[1]),\n\t\t\t\tinsert = 0;\n\t\t\tfor (var i = insertions.length - 1; i >= 0; i--) {\n\t\t\t\tif (start > insertions[i][0]) {\n\t\t\t\t\tinsert = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tinsertions.splice(insert, 0, [start, str.length - end + start]);\n\t\t\tcode = code.substring(0, start) + str + code.substring(end);\n\t\t}\n\n\t\tfunction walkAST(node, parent) {\n\t\t\tif (!node)\n\t\t\t\treturn;\n\t\t\tfor (var key in node) {\n\t\t\t\tif (key === 'range' || key === 'loc')\n\t\t\t\t\tcontinue;\n\t\t\t\tvar value = node[key];\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tfor (var i = 0, l = value.length; i < l; i++)\n\t\t\t\t\t\twalkAST(value[i], node);\n\t\t\t\t} else if (value && typeof value === 'object') {\n\t\t\t\t\twalkAST(value, node);\n\t\t\t\t}\n\t\t\t}\n\t\t\tswitch (node.type) {\n\t\t\tcase 'UnaryExpression':\n\t\t\t\tif (node.operator in unaryOperators\n\t\t\t\t\t\t&& node.argument.type !== 'Literal') {\n\t\t\t\t\tvar arg = getCode(node.argument);\n\t\t\t\t\treplaceCode(node, '$__(\"' + node.operator + '\", '\n\t\t\t\t\t\t\t+ arg + ')');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'BinaryExpression':\n\t\t\t\tif (node.operator in binaryOperators\n\t\t\t\t\t\t&& node.left.type !== 'Literal') {\n\t\t\t\t\tvar left = getCode(node.left),\n\t\t\t\t\t\tright = getCode(node.right),\n\t\t\t\t\t\tbetween = getBetween(node.left, node.right),\n\t\t\t\t\t\toperator = node.operator;\n\t\t\t\t\treplaceCode(node, '__$__(' + left + ','\n\t\t\t\t\t\t\t+ between.replace(new RegExp('\\\\' + operator),\n\t\t\t\t\t\t\t\t'\"' + operator + '\"')\n\t\t\t\t\t\t\t+ ', ' + right + ')');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'UpdateExpression':\n\t\t\tcase 'AssignmentExpression':\n\t\t\t\tvar parentType = parent && parent.type;\n\t\t\t\tif (!(\n\t\t\t\t\t\tparentType === 'ForStatement'\n\t\t\t\t\t\t|| parentType === 'BinaryExpression'\n\t\t\t\t\t\t\t&& /^[=!<>]/.test(parent.operator)\n\t\t\t\t\t\t|| parentType === 'MemberExpression' && parent.computed\n\t\t\t\t)) {\n\t\t\t\t\tif (node.type === 'UpdateExpression') {\n\t\t\t\t\t\tvar arg = getCode(node.argument),\n\t\t\t\t\t\t\texp = '__$__(' + arg + ', \"' + node.operator[0]\n\t\t\t\t\t\t\t\t\t+ '\", 1)',\n\t\t\t\t\t\t\tstr = arg + ' = ' + exp;\n\t\t\t\t\t\tif (!node.prefix\n\t\t\t\t\t\t\t\t&& (parentType === 'AssignmentExpression'\n\t\t\t\t\t\t\t\t\t|| parentType === 'VariableDeclarator')) {\n\t\t\t\t\t\t\tif (getCode(parent.left || parent.id) === arg)\n\t\t\t\t\t\t\t\tstr = exp;\n\t\t\t\t\t\t\tstr = arg + '; ' + str;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treplaceCode(node, str);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (/^.=$/.test(node.operator)\n\t\t\t\t\t\t\t\t&& node.left.type !== 'Literal') {\n\t\t\t\t\t\t\tvar left = getCode(node.left),\n\t\t\t\t\t\t\t\tright = getCode(node.right),\n\t\t\t\t\t\t\t\texp = left + ' = __$__(' + left + ', \"'\n\t\t\t\t\t\t\t\t\t+ node.operator[0] + '\", ' + right + ')';\n\t\t\t\t\t\t\treplaceCode(node, /^\\(.*\\)$/.test(getCode(node))\n\t\t\t\t\t\t\t\t\t? '(' + exp + ')' : exp);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'ExportDefaultDeclaration':\n\t\t\t\treplaceCode({\n\t\t\t\t\trange: [node.start, node.declaration.start]\n\t\t\t\t}, 'module.exports = ');\n\t\t\t\tbreak;\n\t\t\tcase 'ExportNamedDeclaration':\n\t\t\t\tvar declaration = node.declaration;\n\t\t\t\tvar specifiers = node.specifiers;\n\t\t\t\tif (declaration) {\n\t\t\t\t\tvar declarations = declaration.declarations;\n\t\t\t\t\tif (declarations) {\n\t\t\t\t\t\tdeclarations.forEach(function(dec) {\n\t\t\t\t\t\t\treplaceCode(dec, 'module.exports.' + getCode(dec));\n\t\t\t\t\t\t});\n\t\t\t\t\t\treplaceCode({\n\t\t\t\t\t\t\trange: [\n\t\t\t\t\t\t\t\tnode.start,\n\t\t\t\t\t\t\t\tdeclaration.start + declaration.kind.length\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, '');\n\t\t\t\t\t}\n\t\t\t\t} else if (specifiers) {\n\t\t\t\t\tvar exports = specifiers.map(function(specifier) {\n\t\t\t\t\t\tvar name = getCode(specifier);\n\t\t\t\t\t\treturn 'module.exports.' + name + ' = ' + name + '; ';\n\t\t\t\t\t}).join('');\n\t\t\t\t\tif (exports) {\n\t\t\t\t\t\treplaceCode(node, exports);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction encodeVLQ(value) {\n\t\t\tvar res = '',\n\t\t\t\tbase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t\t\tvalue = (Math.abs(value) << 1) + (value < 0 ? 1 : 0);\n\t\t\twhile (value || !res) {\n\t\t\t\tvar next = value & (32 - 1);\n\t\t\t\tvalue >>= 5;\n\t\t\t\tif (value)\n\t\t\t\t\tnext |= 32;\n\t\t\t\tres += base64[next];\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tvar url = options.url || '',\n\t\t\tagent = paper.agent,\n\t\t\tversion = agent.versionNumber,\n\t\t\toffsetCode = false,\n\t\t\tsourceMaps = options.sourceMaps,\n\t\t\tsource = options.source || code,\n\t\t\tlineBreaks = /\\r\\n|\\n|\\r/mg,\n\t\t\toffset = options.offset || 0,\n\t\t\tmap;\n\t\tif (sourceMaps && (agent.chrome && version >= 30\n\t\t\t\t|| agent.webkit && version >= 537.76\n\t\t\t\t|| agent.firefox && version >= 23\n\t\t\t\t|| agent.node)) {\n\t\t\tif (agent.node) {\n\t\t\t\toffset -= 2;\n\t\t\t} else if (window && url && !window.location.href.indexOf(url)) {\n\t\t\t\tvar html = document.getElementsByTagName('html')[0].innerHTML;\n\t\t\t\toffset = html.substr(0, html.indexOf(code) + 1).match(\n\t\t\t\t\t\tlineBreaks).length + 1;\n\t\t\t}\n\t\t\toffsetCode = offset > 0 && !(\n\t\t\t\t\tagent.chrome && version >= 36 ||\n\t\t\t\t\tagent.safari && version >= 600 ||\n\t\t\t\t\tagent.firefox && version >= 40 ||\n\t\t\t\t\tagent.node);\n\t\t\tvar mappings = ['AA' + encodeVLQ(offsetCode ? 0 : offset) + 'A'];\n\t\t\tmappings.length = (code.match(lineBreaks) || []).length + 1\n\t\t\t\t\t+ (offsetCode ? offset : 0);\n\t\t\tmap = {\n\t\t\t\tversion: 3,\n\t\t\t\tfile: url,\n\t\t\t\tnames:[],\n\t\t\t\tmappings: mappings.join(';AACA'),\n\t\t\t\tsourceRoot: '',\n\t\t\t\tsources: [url],\n\t\t\t\tsourcesContent: [source]\n\t\t\t};\n\t\t}\n\t\twalkAST(parse(code, {\n\t\t\tranges: true,\n\t\t\tpreserveParens: true,\n\t\t\tsourceType: 'module'\n\t\t}));\n\t\tif (map) {\n\t\t\tif (offsetCode) {\n\t\t\t\tcode = new Array(offset + 1).join('\\n') + code;\n\t\t\t}\n\t\t\tif (/^(inline|both)$/.test(sourceMaps)) {\n\t\t\t\tcode += \"\\n//# sourceMappingURL=data:application/json;base64,\"\n\t\t\t\t\t\t+ self.btoa(unescape(encodeURIComponent(\n\t\t\t\t\t\t\tJSON.stringify(map))));\n\t\t\t}\n\t\t\tcode += \"\\n//# sourceURL=\" + (url || 'paperscript');\n\t\t}\n\t\treturn {\n\t\t\turl: url,\n\t\t\tsource: source,\n\t\t\tcode: code,\n\t\t\tmap: map\n\t\t};\n\t}\n\n\tfunction execute(code, scope, options) {\n\t\tpaper = scope;\n\t\tvar view = scope.getView(),\n\t\t\ttool = /\\btool\\.\\w+|\\s+on(?:Key|Mouse)(?:Up|Down|Move|Drag)\\b/\n\t\t\t\t\t.test(code) && !/\\bnew\\s+Tool\\b/.test(code)\n\t\t\t\t\t\t? new Tool() : null,\n\t\t\ttoolHandlers = tool ? tool._events : [],\n\t\t\thandlers = ['onFrame', 'onResize'].concat(toolHandlers),\n\t\t\tparams = [],\n\t\t\targs = [],\n\t\t\tfunc,\n\t\t\tcompiled = typeof code === 'object' ? code : compile(code, options);\n\t\tcode = compiled.code;\n\t\tfunction expose(scope, hidden) {\n\t\t\tfor (var key in scope) {\n\t\t\t\tif ((hidden || !/^_/.test(key)) && new RegExp('([\\\\b\\\\s\\\\W]|^)'\n\t\t\t\t\t\t+ key.replace(/\\$/g, '\\\\$') + '\\\\b').test(code)) {\n\t\t\t\t\tparams.push(key);\n\t\t\t\t\targs.push(scope[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\texpose({ __$__: __$__, $__: $__, paper: scope, view: view, tool: tool },\n\t\t\t\ttrue);\n\t\texpose(scope);\n\t\tcode = 'var module = { exports: {} }; ' + code;\n\t\tvar exports = Base.each(handlers, function(key) {\n\t\t\tif (new RegExp('\\\\s+' + key + '\\\\b').test(code)) {\n\t\t\t\tparams.push(key);\n\t\t\t\tthis.push('module.exports.' + key + ' = ' + key + ';');\n\t\t\t}\n\t\t}, []).join('\\n');\n\t\tif (exports) {\n\t\t\tcode += '\\n' + exports;\n\t\t}\n\t\tcode += '\\nreturn module.exports;';\n\t\tvar agent = paper.agent;\n\t\tif (document && (agent.chrome\n\t\t\t\t|| agent.firefox && agent.versionNumber < 40)) {\n\t\t\tvar script = document.createElement('script'),\n\t\t\t\thead = document.head || document.getElementsByTagName('head')[0];\n\t\t\tif (agent.firefox)\n\t\t\t\tcode = '\\n' + code;\n\t\t\tscript.appendChild(document.createTextNode(\n\t\t\t\t'document.__paperscript__ = function(' + params + ') {' +\n\t\t\t\t\tcode +\n\t\t\t\t'\\n}'\n\t\t\t));\n\t\t\thead.appendChild(script);\n\t\t\tfunc = document.__paperscript__;\n\t\t\tdelete document.__paperscript__;\n\t\t\thead.removeChild(script);\n\t\t} else {\n\t\t\tfunc = Function(params, code);\n\t\t}\n\t\tvar exports = func && func.apply(scope, args);\n\t\tvar obj = exports || {};\n\t\tBase.each(toolHandlers, function(key) {\n\t\t\tvar value = obj[key];\n\t\t\tif (value)\n\t\t\t\ttool[key] = value;\n\t\t});\n\t\tif (view) {\n\t\t\tif (obj.onResize)\n\t\t\t\tview.setOnResize(obj.onResize);\n\t\t\tview.emit('resize', {\n\t\t\t\tsize: view.size,\n\t\t\t\tdelta: new Point()\n\t\t\t});\n\t\t\tif (obj.onFrame)\n\t\t\t\tview.setOnFrame(obj.onFrame);\n\t\t\tview.requestUpdate();\n\t\t}\n\t\treturn exports;\n\t}\n\n\tfunction loadScript(script) {\n\t\tif (/^text\\/(?:x-|)paperscript$/.test(script.type)\n\t\t\t\t&& PaperScope.getAttribute(script, 'ignore') !== 'true') {\n\t\t\tvar canvasId = PaperScope.getAttribute(script, 'canvas'),\n\t\t\t\tcanvas = document.getElementById(canvasId),\n\t\t\t\tsrc = script.src || script.getAttribute('data-src'),\n\t\t\t\tasync = PaperScope.hasAttribute(script, 'async'),\n\t\t\t\tscopeAttribute = 'data-paper-scope';\n\t\t\tif (!canvas)\n\t\t\t\tthrow new Error('Unable to find canvas with id \"'\n\t\t\t\t\t\t+ canvasId + '\"');\n\t\t\tvar scope = PaperScope.get(canvas.getAttribute(scopeAttribute))\n\t\t\t\t\t\t|| new PaperScope().setup(canvas);\n\t\t\tcanvas.setAttribute(scopeAttribute, scope._id);\n\t\t\tif (src) {\n\t\t\t\tHttp.request({\n\t\t\t\t\turl: src,\n\t\t\t\t\tasync: async,\n\t\t\t\t\tmimeType: 'text/plain',\n\t\t\t\t\tonLoad: function(code) {\n\t\t\t\t\t\texecute(code, scope, src);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\texecute(script.innerHTML, scope, script.baseURI);\n\t\t\t}\n\t\t\tscript.setAttribute('data-paper-ignore', 'true');\n\t\t\treturn scope;\n\t\t}\n\t}\n\n\tfunction loadAll() {\n\t\tBase.each(document && document.getElementsByTagName('script'),\n\t\t\t\tloadScript);\n\t}\n\n\tfunction load(script) {\n\t\treturn script ? loadScript(script) : loadAll();\n\t}\n\n\tif (window) {\n\t\tif (document.readyState === 'complete') {\n\t\t\tsetTimeout(loadAll);\n\t\t} else {\n\t\t\tDomEvent.add(window, { load: loadAll });\n\t\t}\n\t}\n\n\treturn {\n\t\tcompile: compile,\n\t\texecute: execute,\n\t\tload: load,\n\t\tparse: parse\n\t};\n\n}.call(this);\n\nvar paper = new (PaperScope.inject(Base.exports, {\n\tBase: Base,\n\tNumerical: Numerical,\n\tKey: Key,\n\tDomEvent: DomEvent,\n\tDomElement: DomElement,\n\tdocument: document,\n\twindow: window,\n\tSymbol: SymbolDefinition,\n\tPlacedSymbol: SymbolItem\n}))();\n\nif (paper.agent.node) {\n\trequire('./node/extend.js')(paper);\n}\n\nif (typeof define === 'function' && define.amd) {\n\tdefine('paper', paper);\n} else if (typeof module === 'object' && module) {\n\tmodule.exports = paper;\n}\n\nreturn paper;\n}.call(this, typeof self === 'object' ? self : null);\n","// Reserved word lists for various dialects of the language\n\nvar reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n};\n\n// And the keywords\n\nvar ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\";\n\nvar keywords = {\n 5: ecma5AndLessKeywords,\n \"5module\": ecma5AndLessKeywords + \" export import\",\n 6: ecma5AndLessKeywords + \" const class extends export import super\"\n};\n\nvar keywordRelationalOperator = /^in(stanceof)?$/;\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point above 128.\n// Generated by `bin/generate-identifier-regex.js`.\nvar nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08bd\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fef\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7c6\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab67\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nvar nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nvar nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nvar nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by bin/generate-identifier-regex.js\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,754,9486,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541];\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,232,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,792487,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n var pos = 0x10000;\n for (var i = 0; i < set.length; i += 2) {\n pos += set[i];\n if (pos > code) { return false }\n pos += set[i + 1];\n if (pos >= code) { return true }\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nfunction isIdentifierStart(code, astral) {\n if (code < 65) { return code === 36 }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nfunction isIdentifierChar(code, astral) {\n if (code < 48) { return code === 36 }\n if (code < 58) { return true }\n if (code < 65) { return false }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nvar TokenType = function TokenType(label, conf) {\n if ( conf === void 0 ) conf = {};\n\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop || null;\n this.updateContext = null;\n};\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nvar beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};\n\n// Map keyword names to token types.\n\nvar keywords$1 = {};\n\n// Succinct definitions of keyword token types\nfunction kw(name, options) {\n if ( options === void 0 ) options = {};\n\n options.keyword = name;\n return keywords$1[name] = new TokenType(name, options)\n}\n\nvar types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"!/~\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\"/<=/>=\", 7),\n bitShift: binop(\"<>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {beforeExpr: true}),\n\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {isLoop: true, beforeExpr: true}),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {isLoop: true}),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {isLoop: true}),\n _with: kw(\"with\"),\n _new: kw(\"new\", {beforeExpr: true, startsExpr: true}),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\", startsExpr),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {beforeExpr: true, binop: 7}),\n _instanceof: kw(\"instanceof\", {beforeExpr: true, binop: 7}),\n _typeof: kw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _void: kw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _delete: kw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n};\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nvar lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\nvar lineBreakG = new RegExp(lineBreak.source, \"g\");\n\nfunction isNewLine(code, ecma2019String) {\n return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))\n}\n\nvar nonASCIIwhitespace = /[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\n\nvar skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nvar ref = Object.prototype;\nvar hasOwnProperty = ref.hasOwnProperty;\nvar toString = ref.toString;\n\n// Checks if an object has a property.\n\nfunction has(obj, propName) {\n return hasOwnProperty.call(obj, propName)\n}\n\nvar isArray = Array.isArray || (function (obj) { return (\n toString.call(obj) === \"[object Array]\"\n); });\n\nfunction wordsRegexp(words) {\n return new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\")\n}\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nvar Position = function Position(line, col) {\n this.line = line;\n this.column = col;\n};\n\nPosition.prototype.offset = function offset (n) {\n return new Position(this.line, this.column + n)\n};\n\nvar SourceLocation = function SourceLocation(p, start, end) {\n this.start = start;\n this.end = end;\n if (p.sourceFile !== null) { this.source = p.sourceFile; }\n};\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nfunction getLineInfo(input, offset) {\n for (var line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur;\n var match = lineBreakG.exec(input);\n if (match && match.index < offset) {\n ++line;\n cur = match.index + match[0].length;\n } else {\n return new Position(line, offset - cur)\n }\n }\n}\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nvar defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\n // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10\n // (2019). This influences support for strict mode, the set of\n // reserved words, and support for new syntax features. The default\n // is 9.\n ecmaVersion: 9,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"` or `\"module\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // the position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false\n};\n\n// Interpret and default an options object\n\nfunction getOptions(opts) {\n var options = {};\n\n for (var opt in defaultOptions)\n { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }\n\n if (options.ecmaVersion >= 2015)\n { options.ecmaVersion -= 2009; }\n\n if (options.allowReserved == null)\n { options.allowReserved = options.ecmaVersion < 5; }\n\n if (isArray(options.onToken)) {\n var tokens = options.onToken;\n options.onToken = function (token) { return tokens.push(token); };\n }\n if (isArray(options.onComment))\n { options.onComment = pushComment(options, options.onComment); }\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function(block, text, start, end, startLoc, endLoc) {\n var comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n };\n if (options.locations)\n { comment.loc = new SourceLocation(this, startLoc, endLoc); }\n if (options.ranges)\n { comment.range = [start, end]; }\n array.push(comment);\n }\n}\n\n// Each scope gets a bitset that may contain these flags\nvar\n SCOPE_TOP = 1,\n SCOPE_FUNCTION = 2,\n SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,\n SCOPE_ASYNC = 4,\n SCOPE_GENERATOR = 8,\n SCOPE_ARROW = 16,\n SCOPE_SIMPLE_CATCH = 32,\n SCOPE_SUPER = 64,\n SCOPE_DIRECT_SUPER = 128;\n\nfunction functionFlags(async, generator) {\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)\n}\n\n// Used in checkLVal and declareName to determine the type of a binding\nvar\n BIND_NONE = 0, // Not a binding\n BIND_VAR = 1, // Var-style binding\n BIND_LEXICAL = 2, // Let- or const-style binding\n BIND_FUNCTION = 3, // Function declaration\n BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding\n BIND_OUTSIDE = 5; // Special case for function names as bound inside the function\n\nvar Parser = function Parser(options, input, startPos) {\n this.options = options = getOptions(options);\n this.sourceFile = options.sourceFile;\n this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === \"module\" ? \"5module\" : 5]);\n var reserved = \"\";\n if (options.allowReserved !== true) {\n for (var v = options.ecmaVersion;; v--)\n { if (reserved = reservedWords[v]) { break } }\n if (options.sourceType === \"module\") { reserved += \" await\"; }\n }\n this.reservedWords = wordsRegexp(reserved);\n var reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict;\n this.reservedWordsStrict = wordsRegexp(reservedStrict);\n this.reservedWordsStrictBind = wordsRegexp(reservedStrict + \" \" + reservedWords.strictBind);\n this.input = String(input);\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos;\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1;\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;\n } else {\n this.pos = this.lineStart = 0;\n this.curLine = 1;\n }\n\n // Properties of the current token:\n // Its type\n this.type = types.eof;\n // For tokens that include more information than their type, the value\n this.value = null;\n // Its start and end offset\n this.start = this.end = this.pos;\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition();\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null;\n this.lastTokStart = this.lastTokEnd = this.pos;\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext();\n this.exprAllowed = true;\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\";\n this.strict = this.inModule || this.strictDirective(this.pos);\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1;\n\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;\n // Labels in scope.\n this.labels = [];\n // Thus-far undefined exports.\n this.undefinedExports = {};\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\")\n { this.skipLineComment(2); }\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = [];\n this.enterScope(SCOPE_TOP);\n\n // For RegExp validation\n this.regexpState = null;\n};\n\nvar prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } };\n\nParser.prototype.parse = function parse () {\n var node = this.options.program || this.startNode();\n this.nextToken();\n return this.parseTopLevel(node)\n};\n\nprototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };\nprototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };\nprototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };\nprototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 };\nprototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };\nprototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };\n\n// Switch to a getter for 7.0.0.\nParser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 };\n\nParser.extend = function extend () {\n var plugins = [], len = arguments.length;\n while ( len-- ) plugins[ len ] = arguments[ len ];\n\n var cls = this;\n for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }\n return cls\n};\n\nParser.parse = function parse (input, options) {\n return new this(options, input).parse()\n};\n\nParser.parseExpressionAt = function parseExpressionAt (input, pos, options) {\n var parser = new this(options, input, pos);\n parser.nextToken();\n return parser.parseExpression()\n};\n\nParser.tokenizer = function tokenizer (input, options) {\n return new this(options, input)\n};\n\nObject.defineProperties( Parser.prototype, prototypeAccessors );\n\nvar pp = Parser.prototype;\n\n// ## Parser utilities\n\nvar literal = /^(?:'((?:\\\\.|[^'])*?)'|\"((?:\\\\.|[^\"])*?)\")/;\npp.strictDirective = function(start) {\n for (;;) {\n // Try to find string literal.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n var match = literal.exec(this.input.slice(start));\n if (!match) { return false }\n if ((match[1] || match[2]) === \"use strict\") { return true }\n start += match[0].length;\n\n // Skip semicolon, if any.\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this.input)[0].length;\n if (this.input[start] === \";\")\n { start++; }\n }\n};\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function(type) {\n if (this.type === type) {\n this.next();\n return true\n } else {\n return false\n }\n};\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function(name) {\n return this.type === types.name && this.value === name && !this.containsEsc\n};\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function(name) {\n if (!this.isContextual(name)) { return false }\n this.next();\n return true\n};\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function(name) {\n if (!this.eatContextual(name)) { this.unexpected(); }\n};\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function() {\n return this.type === types.eof ||\n this.type === types.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\npp.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }\n return true\n }\n};\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function() {\n if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }\n};\n\npp.afterTrailingComma = function(tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma)\n { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }\n if (!notNext)\n { this.next(); }\n return true\n }\n};\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function(type) {\n this.eat(type) || this.unexpected();\n};\n\n// Raise an unexpected token error.\n\npp.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\");\n};\n\nfunction DestructuringErrors() {\n this.shorthandAssign =\n this.trailingComma =\n this.parenthesizedAssign =\n this.parenthesizedBind =\n this.doubleProto =\n -1;\n}\n\npp.checkPatternErrors = function(refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) { return }\n if (refDestructuringErrors.trailingComma > -1)\n { this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\"); }\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\n if (parens > -1) { this.raiseRecoverable(parens, \"Parenthesized pattern\"); }\n};\n\npp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) { return false }\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\n var doubleProto = refDestructuringErrors.doubleProto;\n if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }\n if (shorthandAssign >= 0)\n { this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\"); }\n if (doubleProto >= 0)\n { this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\"); }\n};\n\npp.checkYieldAwaitInDefaultParams = function() {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\n { this.raise(this.yieldPos, \"Yield expression cannot be a default value\"); }\n if (this.awaitPos)\n { this.raise(this.awaitPos, \"Await expression cannot be a default value\"); }\n};\n\npp.isSimpleAssignTarget = function(expr) {\n if (expr.type === \"ParenthesizedExpression\")\n { return this.isSimpleAssignTarget(expr.expression) }\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\"\n};\n\nvar pp$1 = Parser.prototype;\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp$1.parseTopLevel = function(node) {\n var exports = {};\n if (!node.body) { node.body = []; }\n while (this.type !== types.eof) {\n var stmt = this.parseStatement(null, true, exports);\n node.body.push(stmt);\n }\n if (this.inModule)\n { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1)\n {\n var name = list[i];\n\n this.raiseRecoverable(this.undefinedExports[name].start, (\"Export '\" + name + \"' is not defined\"));\n } }\n this.adaptDirectivePrologue(node.body);\n this.next();\n node.sourceType = this.options.sourceType;\n return this.finishNode(node, \"Program\")\n};\n\nvar loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"};\n\npp$1.isLet = function(context) {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) { return false }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n // For ambiguous cases, determine if a LexicalDeclaration (or only a\n // Statement) is allowed here. If context is not empty then only a Statement\n // is allowed. However, `let [` is an explicit negative lookahead for\n // ExpressionStatement, so special-case it first.\n if (nextCh === 91) { return true } // '['\n if (context) { return false }\n\n if (nextCh === 123) { return true } // '{'\n if (isIdentifierStart(nextCh, true)) {\n var pos = next + 1;\n while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }\n var ident = this.input.slice(next, pos);\n if (!keywordRelationalOperator.test(ident)) { return true }\n }\n return false\n};\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp$1.isAsyncFunction = function() {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\"))\n { return false }\n\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length;\n return !lineBreak.test(this.input.slice(this.pos, next)) &&\n this.input.slice(next, next + 8) === \"function\" &&\n (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))\n};\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp$1.parseStatement = function(context, topLevel, exports) {\n var starttype = this.type, node = this.startNode(), kind;\n\n if (this.isLet(context)) {\n starttype = types._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case types._debugger: return this.parseDebuggerStatement(node)\n case types._do: return this.parseDoStatement(node)\n case types._for: return this.parseForStatement(node)\n case types._function:\n // Function as sole body of either an if statement or a labeled statement\n // works, but not when it is part of a labeled statement that is the sole\n // body of an if statement.\n if ((context && (this.strict || context !== \"if\" && context !== \"label\")) && this.options.ecmaVersion >= 6) { this.unexpected(); }\n return this.parseFunctionStatement(node, false, !context)\n case types._class:\n if (context) { this.unexpected(); }\n return this.parseClass(node, true)\n case types._if: return this.parseIfStatement(node)\n case types._return: return this.parseReturnStatement(node)\n case types._switch: return this.parseSwitchStatement(node)\n case types._throw: return this.parseThrowStatement(node)\n case types._try: return this.parseTryStatement(node)\n case types._const: case types._var:\n kind = kind || this.value;\n if (context && kind !== \"var\") { this.unexpected(); }\n return this.parseVarStatement(node, kind)\n case types._while: return this.parseWhileStatement(node)\n case types._with: return this.parseWithStatement(node)\n case types.braceL: return this.parseBlock(true, node)\n case types.semi: return this.parseEmptyStatement(node)\n case types._export:\n case types._import:\n if (this.options.ecmaVersion > 10 && starttype === types._import) {\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n if (nextCh === 40) // '('\n { return this.parseExpressionStatement(node, this.parseExpression()) }\n }\n\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n { this.raise(this.start, \"'import' and 'export' may only appear at the top level\"); }\n if (!this.inModule)\n { this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\"); }\n }\n return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (context) { this.unexpected(); }\n this.next();\n return this.parseFunctionStatement(node, true, !context)\n }\n\n var maybeName = this.value, expr = this.parseExpression();\n if (starttype === types.name && expr.type === \"Identifier\" && this.eat(types.colon))\n { return this.parseLabeledStatement(node, maybeName, expr, context) }\n else { return this.parseExpressionStatement(node, expr) }\n }\n};\n\npp$1.parseBreakContinueStatement = function(node, keyword) {\n var isBreak = keyword === \"break\";\n this.next();\n if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }\n else if (this.type !== types.name) { this.unexpected(); }\n else {\n node.label = this.parseIdent();\n this.semicolon();\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n var i = 0;\n for (; i < this.labels.length; ++i) {\n var lab = this.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) { break }\n if (node.label && isBreak) { break }\n }\n }\n if (i === this.labels.length) { this.raise(node.start, \"Unsyntactic \" + keyword); }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n};\n\npp$1.parseDebuggerStatement = function(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\")\n};\n\npp$1.parseDoStatement = function(node) {\n this.next();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"do\");\n this.labels.pop();\n this.expect(types._while);\n node.test = this.parseParenExpression();\n if (this.options.ecmaVersion >= 6)\n { this.eat(types.semi); }\n else\n { this.semicolon(); }\n return this.finishNode(node, \"DoWhileStatement\")\n};\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp$1.parseForStatement = function(node) {\n this.next();\n var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual(\"await\")) ? this.lastTokStart : -1;\n this.labels.push(loopLabel);\n this.enterScope(0);\n this.expect(types.parenL);\n if (this.type === types.semi) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, null)\n }\n var isLet = this.isLet();\n if (this.type === types._var || this.type === types._const || isLet) {\n var init$1 = this.startNode(), kind = isLet ? \"let\" : this.value;\n this.next();\n this.parseVar(init$1, true, kind);\n this.finishNode(init$1, \"VariableDeclaration\");\n if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init$1.declarations.length === 1) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n return this.parseForIn(node, init$1)\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init$1)\n }\n var refDestructuringErrors = new DestructuringErrors;\n var init = this.parseExpression(true, refDestructuringErrors);\n if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n this.toAssignable(init, false, refDestructuringErrors);\n this.checkLVal(init);\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init)\n};\n\npp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) {\n this.next();\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)\n};\n\npp$1.parseIfStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(types._else) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\")\n};\n\npp$1.parseReturnStatement = function(node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\n { this.raise(this.start, \"'return' outside of function\"); }\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }\n else { node.argument = this.parseExpression(); this.semicolon(); }\n return this.finishNode(node, \"ReturnStatement\")\n};\n\npp$1.parseSwitchStatement = function(node) {\n this.next();\n node.discriminant = this.parseParenExpression();\n node.cases = [];\n this.expect(types.braceL);\n this.labels.push(switchLabel);\n this.enterScope(0);\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n var cur;\n for (var sawDefault = false; this.type !== types.braceR;) {\n if (this.type === types._case || this.type === types._default) {\n var isCase = this.type === types._case;\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n node.cases.push(cur = this.startNode());\n cur.consequent = [];\n this.next();\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) { this.raiseRecoverable(this.lastTokStart, \"Multiple default clauses\"); }\n sawDefault = true;\n cur.test = null;\n }\n this.expect(types.colon);\n } else {\n if (!cur) { this.unexpected(); }\n cur.consequent.push(this.parseStatement(null));\n }\n }\n this.exitScope();\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n this.next(); // Closing brace\n this.labels.pop();\n return this.finishNode(node, \"SwitchStatement\")\n};\n\npp$1.parseThrowStatement = function(node) {\n this.next();\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n { this.raise(this.lastTokEnd, \"Illegal newline after throw\"); }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\")\n};\n\n// Reused empty array added for node fields that are always empty.\n\nvar empty = [];\n\npp$1.parseTryStatement = function(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.type === types._catch) {\n var clause = this.startNode();\n this.next();\n if (this.eat(types.parenL)) {\n clause.param = this.parseBindingAtom();\n var simple = clause.param.type === \"Identifier\";\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);\n this.expect(types.parenR);\n } else {\n if (this.options.ecmaVersion < 10) { this.unexpected(); }\n clause.param = null;\n this.enterScope(0);\n }\n clause.body = this.parseBlock(false);\n this.exitScope();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer)\n { this.raise(node.start, \"Missing catch or finally clause\"); }\n return this.finishNode(node, \"TryStatement\")\n};\n\npp$1.parseVarStatement = function(node, kind) {\n this.next();\n this.parseVar(node, false, kind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\")\n};\n\npp$1.parseWhileStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"while\");\n this.labels.pop();\n return this.finishNode(node, \"WhileStatement\")\n};\n\npp$1.parseWithStatement = function(node) {\n if (this.strict) { this.raise(this.start, \"'with' in strict mode\"); }\n this.next();\n node.object = this.parseParenExpression();\n node.body = this.parseStatement(\"with\");\n return this.finishNode(node, \"WithStatement\")\n};\n\npp$1.parseEmptyStatement = function(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\")\n};\n\npp$1.parseLabeledStatement = function(node, maybeName, expr, context) {\n for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)\n {\n var label = list[i$1];\n\n if (label.name === maybeName)\n { this.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n } }\n var kind = this.type.isLoop ? \"loop\" : this.type === types._switch ? \"switch\" : null;\n for (var i = this.labels.length - 1; i >= 0; i--) {\n var label$1 = this.labels[i];\n if (label$1.statementStart === node.start) {\n // Update information about previous labels on this node\n label$1.statementStart = this.start;\n label$1.kind = kind;\n } else { break }\n }\n this.labels.push({name: maybeName, kind: kind, statementStart: this.start});\n node.body = this.parseStatement(context ? context.indexOf(\"label\") === -1 ? context + \"label\" : context : \"label\");\n this.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\")\n};\n\npp$1.parseExpressionStatement = function(node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\")\n};\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp$1.parseBlock = function(createNewLexicalScope, node) {\n if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;\n if ( node === void 0 ) node = this.startNode();\n\n node.body = [];\n this.expect(types.braceL);\n if (createNewLexicalScope) { this.enterScope(0); }\n while (!this.eat(types.braceR)) {\n var stmt = this.parseStatement(null);\n node.body.push(stmt);\n }\n if (createNewLexicalScope) { this.exitScope(); }\n return this.finishNode(node, \"BlockStatement\")\n};\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp$1.parseFor = function(node, init) {\n node.init = init;\n this.expect(types.semi);\n node.test = this.type === types.semi ? null : this.parseExpression();\n this.expect(types.semi);\n node.update = this.type === types.parenR ? null : this.parseExpression();\n this.expect(types.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, \"ForStatement\")\n};\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp$1.parseForIn = function(node, init) {\n var isForIn = this.type === types._in;\n this.next();\n\n if (\n init.type === \"VariableDeclaration\" &&\n init.declarations[0].init != null &&\n (\n !isForIn ||\n this.options.ecmaVersion < 8 ||\n this.strict ||\n init.kind !== \"var\" ||\n init.declarations[0].id.type !== \"Identifier\"\n )\n ) {\n this.raise(\n init.start,\n ((isForIn ? \"for-in\" : \"for-of\") + \" loop variable declaration may not have an initializer\")\n );\n } else if (init.type === \"AssignmentPattern\") {\n this.raise(init.start, \"Invalid left-hand side in for-loop\");\n }\n node.left = init;\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();\n this.expect(types.parenR);\n node.body = this.parseStatement(\"for\");\n this.exitScope();\n this.labels.pop();\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\")\n};\n\n// Parse a list of variable declarations.\n\npp$1.parseVar = function(node, isFor, kind) {\n node.declarations = [];\n node.kind = kind;\n for (;;) {\n var decl = this.startNode();\n this.parseVarId(decl, kind);\n if (this.eat(types.eq)) {\n decl.init = this.parseMaybeAssign(isFor);\n } else if (kind === \"const\" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\")))) {\n this.unexpected();\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this.type === types._in || this.isContextual(\"of\")))) {\n this.raise(this.lastTokEnd, \"Complex binding patterns require an initialization value\");\n } else {\n decl.init = null;\n }\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(types.comma)) { break }\n }\n return node\n};\n\npp$1.parseVarId = function(decl, kind) {\n decl.id = this.parseBindingAtom();\n this.checkLVal(decl.id, kind === \"var\" ? BIND_VAR : BIND_LEXICAL, false);\n};\n\nvar FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;\n\n// Parse a function declaration or literal (depending on the\n// `statement & FUNC_STATEMENT`).\n\n// Remove `allowExpressionBody` for 7.0.0, as it is only called with false\npp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {\n this.initFunction(node);\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\n if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT))\n { this.unexpected(); }\n node.generator = this.eat(types.star);\n }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n if (statement & FUNC_STATEMENT) {\n node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent();\n if (node.id && !(statement & FUNC_HANGING_STATEMENT))\n // If it is a regular function declaration in sloppy mode, then it is\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding\n // mode depends on properties of the current scope (see\n // treatFunctionsAsVar).\n { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }\n }\n\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(node.async, node.generator));\n\n if (!(statement & FUNC_STATEMENT))\n { node.id = this.type === types.name ? this.parseIdent() : null; }\n\n this.parseFunctionParams(node);\n this.parseFunctionBody(node, allowExpressionBody, false);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, (statement & FUNC_STATEMENT) ? \"FunctionDeclaration\" : \"FunctionExpression\")\n};\n\npp$1.parseFunctionParams = function(node) {\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n};\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseClass = function(node, isStatement) {\n this.next();\n\n // ecma-262 14.6 Class Definitions\n // A class definition is always strict mode code.\n var oldStrict = this.strict;\n this.strict = true;\n\n this.parseClassId(node, isStatement);\n this.parseClassSuper(node);\n var classBody = this.startNode();\n var hadConstructor = false;\n classBody.body = [];\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n var element = this.parseClassElement(node.superClass !== null);\n if (element) {\n classBody.body.push(element);\n if (element.type === \"MethodDefinition\" && element.kind === \"constructor\") {\n if (hadConstructor) { this.raise(element.start, \"Duplicate constructor in the same class\"); }\n hadConstructor = true;\n }\n }\n }\n node.body = this.finishNode(classBody, \"ClassBody\");\n this.strict = oldStrict;\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n};\n\npp$1.parseClassElement = function(constructorAllowsSuper) {\n var this$1 = this;\n\n if (this.eat(types.semi)) { return null }\n\n var method = this.startNode();\n var tryContextual = function (k, noLineBreak) {\n if ( noLineBreak === void 0 ) noLineBreak = false;\n\n var start = this$1.start, startLoc = this$1.startLoc;\n if (!this$1.eatContextual(k)) { return false }\n if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }\n if (method.key) { this$1.unexpected(); }\n method.computed = false;\n method.key = this$1.startNodeAt(start, startLoc);\n method.key.name = k;\n this$1.finishNode(method.key, \"Identifier\");\n return false\n };\n\n method.kind = \"method\";\n method.static = tryContextual(\"static\");\n var isGenerator = this.eat(types.star);\n var isAsync = false;\n if (!isGenerator) {\n if (this.options.ecmaVersion >= 8 && tryContextual(\"async\", true)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n } else if (tryContextual(\"get\")) {\n method.kind = \"get\";\n } else if (tryContextual(\"set\")) {\n method.kind = \"set\";\n }\n }\n if (!method.key) { this.parsePropertyName(method); }\n var key = method.key;\n var allowsDirectSuper = false;\n if (!method.computed && !method.static && (key.type === \"Identifier\" && key.name === \"constructor\" ||\n key.type === \"Literal\" && key.value === \"constructor\")) {\n if (method.kind !== \"method\") { this.raise(key.start, \"Constructor can't have get/set modifier\"); }\n if (isGenerator) { this.raise(key.start, \"Constructor can't be a generator\"); }\n if (isAsync) { this.raise(key.start, \"Constructor can't be an async method\"); }\n method.kind = \"constructor\";\n allowsDirectSuper = constructorAllowsSuper;\n } else if (method.static && key.type === \"Identifier\" && key.name === \"prototype\") {\n this.raise(key.start, \"Classes may not have a static property named prototype\");\n }\n this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper);\n if (method.kind === \"get\" && method.value.params.length !== 0)\n { this.raiseRecoverable(method.value.start, \"getter should have no params\"); }\n if (method.kind === \"set\" && method.value.params.length !== 1)\n { this.raiseRecoverable(method.value.start, \"setter should have exactly one param\"); }\n if (method.kind === \"set\" && method.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(method.value.params[0].start, \"Setter cannot use rest params\"); }\n return method\n};\n\npp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {\n method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);\n return this.finishNode(method, \"MethodDefinition\")\n};\n\npp$1.parseClassId = function(node, isStatement) {\n if (this.type === types.name) {\n node.id = this.parseIdent();\n if (isStatement)\n { this.checkLVal(node.id, BIND_LEXICAL, false); }\n } else {\n if (isStatement === true)\n { this.unexpected(); }\n node.id = null;\n }\n};\n\npp$1.parseClassSuper = function(node) {\n node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;\n};\n\n// Parses module export declaration.\n\npp$1.parseExport = function(node, exports) {\n this.next();\n // export * from '...'\n if (this.eat(types.star)) {\n this.expectContextual(\"from\");\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n this.semicolon();\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(types._default)) { // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart);\n var isAsync;\n if (this.type === types._function || (isAsync = this.isAsyncFunction())) {\n var fNode = this.startNode();\n this.next();\n if (isAsync) { this.next(); }\n node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);\n } else if (this.type === types._class) {\n var cNode = this.startNode();\n node.declaration = this.parseClass(cNode, \"nullableID\");\n } else {\n node.declaration = this.parseMaybeAssign();\n this.semicolon();\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(null);\n if (node.declaration.type === \"VariableDeclaration\")\n { this.checkVariableExport(exports, node.declaration.declarations); }\n else\n { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }\n node.specifiers = [];\n node.source = null;\n } else { // export { x, y as z } [from '...']\n node.declaration = null;\n node.specifiers = this.parseExportSpecifiers(exports);\n if (this.eatContextual(\"from\")) {\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n } else {\n for (var i = 0, list = node.specifiers; i < list.length; i += 1) {\n // check for keywords used as local names\n var spec = list[i];\n\n this.checkUnreserved(spec.local);\n // check if export is defined\n this.checkLocalExport(spec.local);\n }\n\n node.source = null;\n }\n this.semicolon();\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n};\n\npp$1.checkExport = function(exports, name, pos) {\n if (!exports) { return }\n if (has(exports, name))\n { this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\"); }\n exports[name] = true;\n};\n\npp$1.checkPatternExport = function(exports, pat) {\n var type = pat.type;\n if (type === \"Identifier\")\n { this.checkExport(exports, pat.name, pat.start); }\n else if (type === \"ObjectPattern\")\n { for (var i = 0, list = pat.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this.checkPatternExport(exports, prop);\n } }\n else if (type === \"ArrayPattern\")\n { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\n var elt = list$1[i$1];\n\n if (elt) { this.checkPatternExport(exports, elt); }\n } }\n else if (type === \"Property\")\n { this.checkPatternExport(exports, pat.value); }\n else if (type === \"AssignmentPattern\")\n { this.checkPatternExport(exports, pat.left); }\n else if (type === \"RestElement\")\n { this.checkPatternExport(exports, pat.argument); }\n else if (type === \"ParenthesizedExpression\")\n { this.checkPatternExport(exports, pat.expression); }\n};\n\npp$1.checkVariableExport = function(exports, decls) {\n if (!exports) { return }\n for (var i = 0, list = decls; i < list.length; i += 1)\n {\n var decl = list[i];\n\n this.checkPatternExport(exports, decl.id);\n }\n};\n\npp$1.shouldParseExportStatement = function() {\n return this.type.keyword === \"var\" ||\n this.type.keyword === \"const\" ||\n this.type.keyword === \"class\" ||\n this.type.keyword === \"function\" ||\n this.isLet() ||\n this.isAsyncFunction()\n};\n\n// Parses a comma-separated list of module exports.\n\npp$1.parseExportSpecifiers = function(exports) {\n var nodes = [], first = true;\n // export { x, y as z } [from '...']\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node = this.startNode();\n node.local = this.parseIdent(true);\n node.exported = this.eatContextual(\"as\") ? this.parseIdent(true) : node.local;\n this.checkExport(exports, node.exported.name, node.exported.start);\n nodes.push(this.finishNode(node, \"ExportSpecifier\"));\n }\n return nodes\n};\n\n// Parses import declaration.\n\npp$1.parseImport = function(node) {\n this.next();\n // import '...'\n if (this.type === types.string) {\n node.specifiers = empty;\n node.source = this.parseExprAtom();\n } else {\n node.specifiers = this.parseImportSpecifiers();\n this.expectContextual(\"from\");\n node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();\n }\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\")\n};\n\n// Parses a comma-separated list of module imports.\n\npp$1.parseImportSpecifiers = function() {\n var nodes = [], first = true;\n if (this.type === types.name) {\n // import defaultObj, { x, y as z } from '...'\n var node = this.startNode();\n node.local = this.parseIdent();\n this.checkLVal(node.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"));\n if (!this.eat(types.comma)) { return nodes }\n }\n if (this.type === types.star) {\n var node$1 = this.startNode();\n this.next();\n this.expectContextual(\"as\");\n node$1.local = this.parseIdent();\n this.checkLVal(node$1.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node$1, \"ImportNamespaceSpecifier\"));\n return nodes\n }\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node$2 = this.startNode();\n node$2.imported = this.parseIdent(true);\n if (this.eatContextual(\"as\")) {\n node$2.local = this.parseIdent();\n } else {\n this.checkUnreserved(node$2.imported);\n node$2.local = node$2.imported;\n }\n this.checkLVal(node$2.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node$2, \"ImportSpecifier\"));\n }\n return nodes\n};\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp$1.adaptDirectivePrologue = function(statements) {\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1);\n }\n};\npp$1.isDirectiveCandidate = function(statement) {\n return (\n statement.type === \"ExpressionStatement\" &&\n statement.expression.type === \"Literal\" &&\n typeof statement.expression.value === \"string\" &&\n // Reject parenthesized strings.\n (this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\")\n )\n};\n\nvar pp$2 = Parser.prototype;\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\")\n { this.raise(node.start, \"Cannot use 'await' as identifier inside an async function\"); }\n break\n\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"RestElement\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n this.toAssignable(prop, isBinding);\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (\n prop.type === \"RestElement\" &&\n (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")\n ) {\n this.raise(prop.argument.start, \"Unexpected token\");\n }\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") { this.raise(node.key.start, \"Object pattern can't contain getter or setter\"); }\n this.toAssignable(node.value, isBinding);\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n this.toAssignableList(node.elements, isBinding);\n break\n\n case \"SpreadElement\":\n node.type = \"RestElement\";\n this.toAssignable(node.argument, isBinding);\n if (node.argument.type === \"AssignmentPattern\")\n { this.raise(node.argument.start, \"Rest elements cannot have a default value\"); }\n break\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") { this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\"); }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isBinding);\n // falls through to AssignmentPattern\n\n case \"AssignmentPattern\":\n break\n\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding, refDestructuringErrors);\n break\n\n case \"MemberExpression\":\n if (!isBinding) { break }\n\n default:\n this.raise(node.start, \"Assigning to rvalue\");\n }\n } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n return node\n};\n\n// Convert list of expression atoms to binding list.\n\npp$2.toAssignableList = function(exprList, isBinding) {\n var end = exprList.length;\n for (var i = 0; i < end; i++) {\n var elt = exprList[i];\n if (elt) { this.toAssignable(elt, isBinding); }\n }\n if (end) {\n var last = exprList[end - 1];\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n { this.unexpected(last.argument.start); }\n }\n return exprList\n};\n\n// Parses spread element.\n\npp$2.parseSpread = function(refDestructuringErrors) {\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n return this.finishNode(node, \"SpreadElement\")\n};\n\npp$2.parseRestBinding = function() {\n var node = this.startNode();\n this.next();\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== types.name)\n { this.unexpected(); }\n\n node.argument = this.parseBindingAtom();\n\n return this.finishNode(node, \"RestElement\")\n};\n\n// Parses lvalue (assignable) atom.\n\npp$2.parseBindingAtom = function() {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case types.bracketL:\n var node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(types.bracketR, true, true);\n return this.finishNode(node, \"ArrayPattern\")\n\n case types.braceL:\n return this.parseObj(true)\n }\n }\n return this.parseIdent()\n};\n\npp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (first) { first = false; }\n else { this.expect(types.comma); }\n if (allowEmpty && this.type === types.comma) {\n elts.push(null);\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\n break\n } else if (this.type === types.ellipsis) {\n var rest = this.parseRestBinding();\n this.parseBindingListItem(rest);\n elts.push(rest);\n if (this.type === types.comma) { this.raise(this.start, \"Comma is not permitted after the rest element\"); }\n this.expect(close);\n break\n } else {\n var elem = this.parseMaybeDefault(this.start, this.startLoc);\n this.parseBindingListItem(elem);\n elts.push(elem);\n }\n }\n return elts\n};\n\npp$2.parseBindingListItem = function(param) {\n return param\n};\n\n// Parses assignment pattern around given atom if possible.\n\npp$2.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom();\n if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentPattern\")\n};\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n// bindingType can be either:\n// 'var' indicating that the lval creates a 'var' binding\n// 'let' indicating that the lval creates a lexical ('let' or 'const') binding\n// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references\n\npp$2.checkLVal = function(expr, bindingType, checkClashes) {\n if ( bindingType === void 0 ) bindingType = BIND_NONE;\n\n switch (expr.type) {\n case \"Identifier\":\n if (bindingType === BIND_LEXICAL && expr.name === \"let\")\n { this.raiseRecoverable(expr.start, \"let is disallowed as a lexically bound name\"); }\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n { this.raiseRecoverable(expr.start, (bindingType ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\"); }\n if (checkClashes) {\n if (has(checkClashes, expr.name))\n { this.raiseRecoverable(expr.start, \"Argument name clash\"); }\n checkClashes[expr.name] = true;\n }\n if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }\n break\n\n case \"MemberExpression\":\n if (bindingType) { this.raiseRecoverable(expr.start, \"Binding member expression\"); }\n break\n\n case \"ObjectPattern\":\n for (var i = 0, list = expr.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this.checkLVal(prop, bindingType, checkClashes);\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLVal(expr.value, bindingType, checkClashes);\n break\n\n case \"ArrayPattern\":\n for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\n var elem = list$1[i$1];\n\n if (elem) { this.checkLVal(elem, bindingType, checkClashes); }\n }\n break\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, bindingType, checkClashes);\n break\n\n case \"RestElement\":\n this.checkLVal(expr.argument, bindingType, checkClashes);\n break\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, bindingType, checkClashes);\n break\n\n default:\n this.raise(expr.start, (bindingType ? \"Binding\" : \"Assigning to\") + \" rvalue\");\n }\n};\n\n// A recursive descent parser operates by defining functions for all\n\nvar pp$3 = Parser.prototype;\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\")\n { return }\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n { return }\n var key = prop.key;\n var name;\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n var kind = prop.kind;\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key.start; }\n // Backwards-compat kludge. Can be removed in version 6.0\n else { this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\"); }\n }\n propHash.proto = true;\n }\n return\n }\n name = \"$\" + name;\n var other = propHash[name];\n if (other) {\n var redefinition;\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set;\n } else {\n redefinition = other.init || other[kind];\n }\n if (redefinition)\n { this.raiseRecoverable(key.start, \"Redefinition of property\"); }\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n };\n }\n other[kind] = true;\n};\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp$3.parseExpression = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);\n if (this.type === types.comma) {\n var node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); }\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n};\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {\n if (this.isContextual(\"yield\")) {\n if (this.inGenerator) { return this.parseYield(noIn) }\n // The tokenizer will assume an expression is allowed after\n // `yield`, but this isn't that kind of yield\n else { this.exprAllowed = false; }\n }\n\n var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldShorthandAssign = -1;\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\n oldTrailingComma = refDestructuringErrors.trailingComma;\n oldShorthandAssign = refDestructuringErrors.shorthandAssign;\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.shorthandAssign = -1;\n } else {\n refDestructuringErrors = new DestructuringErrors;\n ownDestructuringErrors = true;\n }\n\n var startPos = this.start, startLoc = this.startLoc;\n if (this.type === types.parenL || this.type === types.name)\n { this.potentialArrowAt = this.start; }\n var left = this.parseMaybeConditional(noIn, refDestructuringErrors);\n if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }\n if (this.type.isAssign) {\n var node = this.startNodeAt(startPos, startLoc);\n node.operator = this.value;\n node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;\n if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); }\n refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly\n this.checkLVal(left);\n this.next();\n node.right = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }\n }\n if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }\n if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }\n if (oldShorthandAssign > -1) { refDestructuringErrors.shorthandAssign = oldShorthandAssign; }\n return left\n};\n\n// Parse a ternary conditional (`?:`) operator.\n\npp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprOps(noIn, refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n if (this.eat(types.question)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssign();\n this.expect(types.colon);\n node.alternate = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n};\n\n// Start the precedence parser.\n\npp$3.parseExprOps = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeUnary(refDestructuringErrors, false);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)\n};\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {\n var prec = this.type.binop;\n if (prec != null && (!noIn || this.type !== types._in)) {\n if (prec > minPrec) {\n var logical = this.type === types.logicalOR || this.type === types.logicalAND;\n var op = this.value;\n this.next();\n var startPos = this.start, startLoc = this.startLoc;\n var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);\n var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical);\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)\n }\n }\n return left\n};\n\npp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.operator = op;\n node.right = right;\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\")\n};\n\n// Parse unary operators, both prefix and postfix.\n\npp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {\n var startPos = this.start, startLoc = this.startLoc, expr;\n if (this.isContextual(\"await\") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {\n expr = this.parseAwait();\n sawUnary = true;\n } else if (this.type.prefix) {\n var node = this.startNode(), update = this.type === types.incDec;\n node.operator = this.value;\n node.prefix = true;\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refDestructuringErrors, true);\n if (update) { this.checkLVal(node.argument); }\n else if (this.strict && node.operator === \"delete\" &&\n node.argument.type === \"Identifier\")\n { this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\"); }\n else { sawUnary = true; }\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n while (this.type.postfix && !this.canInsertSemicolon()) {\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.operator = this.value;\n node$1.prefix = false;\n node$1.argument = expr;\n this.checkLVal(expr);\n this.next();\n expr = this.finishNode(node$1, \"UpdateExpression\");\n }\n }\n\n if (!sawUnary && this.eat(types.starstar))\n { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), \"**\", false) }\n else\n { return expr }\n};\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp$3.parseExprSubscripts = function(refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprAtom(refDestructuringErrors);\n var skipArrowSubscripts = expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\";\n if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) { return expr }\n var result = this.parseSubscripts(expr, startPos, startLoc);\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }\n if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }\n }\n return result\n};\n\npp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" &&\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === \"async\";\n while (true) {\n var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow);\n if (element === base || element.type === \"ArrowFunctionExpression\") { return element }\n base = element;\n }\n};\n\npp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow) {\n var computed = this.eat(types.bracketL);\n if (computed || this.eat(types.dot)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== \"never\");\n node.computed = !!computed;\n if (computed) { this.expect(types.bracketR); }\n base = this.finishNode(node, \"MemberExpression\");\n } else if (!noCalls && this.eat(types.parenL)) {\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8 && base.type !== \"Import\", false, refDestructuringErrors);\n if (maybeAsyncArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n if (this.awaitIdentPos > 0)\n { this.raise(this.awaitIdentPos, \"Cannot use 'await' as identifier inside an async function\"); }\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)\n }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;\n var node$1 = this.startNodeAt(startPos, startLoc);\n node$1.callee = base;\n node$1.arguments = exprList;\n if (node$1.callee.type === \"Import\") {\n if (node$1.arguments.length !== 1) {\n this.raise(node$1.start, \"import() requires exactly one argument\");\n }\n\n var importArg = node$1.arguments[0];\n if (importArg && importArg.type === \"SpreadElement\") {\n this.raise(importArg.start, \"... is not allowed in import()\");\n }\n }\n base = this.finishNode(node$1, \"CallExpression\");\n } else if (this.type === types.backQuote) {\n var node$2 = this.startNodeAt(startPos, startLoc);\n node$2.tag = base;\n node$2.quasi = this.parseTemplate({isTagged: true});\n base = this.finishNode(node$2, \"TaggedTemplateExpression\");\n }\n return base\n};\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp$3.parseExprAtom = function(refDestructuringErrors) {\n // If a division operator appears in an expression position, the\n // tokenizer got confused, and we force it to read a regexp instead.\n if (this.type === types.slash) { this.readRegexp(); }\n\n var node, canBeArrow = this.potentialArrowAt === this.start;\n switch (this.type) {\n case types._super:\n if (!this.allowSuper)\n { this.raise(this.start, \"'super' keyword outside a method\"); }\n node = this.startNode();\n this.next();\n if (this.type === types.parenL && !this.allowDirectSuper)\n { this.raise(node.start, \"super() call outside constructor of a subclass\"); }\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super Arguments\n if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)\n { this.unexpected(); }\n return this.finishNode(node, \"Super\")\n\n case types._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\")\n\n case types.name:\n var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;\n var id = this.parseIdent(false);\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(types._function))\n { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) }\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(types.arrow))\n { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === types.name && !containsEsc) {\n id = this.parseIdent(false);\n if (this.canInsertSemicolon() || !this.eat(types.arrow))\n { this.unexpected(); }\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)\n }\n }\n return id\n\n case types.regexp:\n var value = this.value;\n node = this.parseLiteral(value.value);\n node.regex = {pattern: value.pattern, flags: value.flags};\n return node\n\n case types.num: case types.string:\n return this.parseLiteral(this.value)\n\n case types._null: case types._true: case types._false:\n node = this.startNode();\n node.value = this.type === types._null ? null : this.type === types._true;\n node.raw = this.type.keyword;\n this.next();\n return this.finishNode(node, \"Literal\")\n\n case types.parenL:\n var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\n { refDestructuringErrors.parenthesizedAssign = start; }\n if (refDestructuringErrors.parenthesizedBind < 0)\n { refDestructuringErrors.parenthesizedBind = start; }\n }\n return expr\n\n case types.bracketL:\n node = this.startNode();\n this.next();\n node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);\n return this.finishNode(node, \"ArrayExpression\")\n\n case types.braceL:\n return this.parseObj(false, refDestructuringErrors)\n\n case types._function:\n node = this.startNode();\n this.next();\n return this.parseFunction(node, 0)\n\n case types._class:\n return this.parseClass(this.startNode(), false)\n\n case types._new:\n return this.parseNew()\n\n case types.backQuote:\n return this.parseTemplate()\n\n case types._import:\n if (this.options.ecmaVersion > 10) {\n return this.parseDynamicImport()\n } else {\n return this.unexpected()\n }\n\n default:\n this.unexpected();\n }\n};\n\npp$3.parseDynamicImport = function() {\n var node = this.startNode();\n this.next();\n if (this.type !== types.parenL) {\n this.unexpected();\n }\n return this.finishNode(node, \"Import\")\n};\n\npp$3.parseLiteral = function(value) {\n var node = this.startNode();\n node.value = value;\n node.raw = this.input.slice(this.start, this.end);\n if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1); }\n this.next();\n return this.finishNode(node, \"Literal\")\n};\n\npp$3.parseParenExpression = function() {\n this.expect(types.parenL);\n var val = this.parseExpression();\n this.expect(types.parenR);\n return val\n};\n\npp$3.parseParenAndDistinguishExpression = function(canBeArrow) {\n var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;\n if (this.options.ecmaVersion >= 6) {\n this.next();\n\n var innerStartPos = this.start, innerStartLoc = this.startLoc;\n var exprList = [], first = true, lastIsComma = false;\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;\n this.yieldPos = 0;\n this.awaitPos = 0;\n // Do not save awaitIdentPos to allow checking awaits nested in parameters\n while (this.type !== types.parenR) {\n first ? first = false : this.expect(types.comma);\n if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) {\n lastIsComma = true;\n break\n } else if (this.type === types.ellipsis) {\n spreadStart = this.start;\n exprList.push(this.parseParenItem(this.parseRestBinding()));\n if (this.type === types.comma) { this.raise(this.start, \"Comma is not permitted after the rest element\"); }\n break\n } else {\n exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));\n }\n }\n var innerEndPos = this.start, innerEndLoc = this.startLoc;\n this.expect(types.parenR);\n\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.parseParenArrowList(startPos, startLoc, exprList)\n }\n\n if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }\n if (spreadStart) { this.unexpected(spreadStart); }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc);\n } else {\n val = exprList[0];\n }\n } else {\n val = this.parseParenExpression();\n }\n\n if (this.options.preserveParens) {\n var par = this.startNodeAt(startPos, startLoc);\n par.expression = val;\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n};\n\npp$3.parseParenItem = function(item) {\n return item\n};\n\npp$3.parseParenArrowList = function(startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)\n};\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nvar empty$1 = [];\n\npp$3.parseNew = function() {\n var node = this.startNode();\n var meta = this.parseIdent(true);\n if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {\n node.meta = meta;\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n if (node.property.name !== \"target\" || containsEsc)\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for new is new.target\"); }\n if (!this.inNonArrowFunction())\n { this.raiseRecoverable(node.start, \"new.target can only be used in functions\"); }\n return this.finishNode(node, \"MetaProperty\")\n }\n var startPos = this.start, startLoc = this.startLoc;\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n if (this.options.ecmaVersion > 10 && node.callee.type === \"Import\") {\n this.raise(node.callee.start, \"Cannot use new with import(...)\");\n }\n if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8 && node.callee.type !== \"Import\", false); }\n else { node.arguments = empty$1; }\n return this.finishNode(node, \"NewExpression\")\n};\n\n// Parse template expression.\n\npp$3.parseTemplateElement = function(ref) {\n var isTagged = ref.isTagged;\n\n var elem = this.startNode();\n if (this.type === types.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\");\n }\n elem.value = {\n raw: this.value,\n cooked: null\n };\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n };\n }\n this.next();\n elem.tail = this.type === types.backQuote;\n return this.finishNode(elem, \"TemplateElement\")\n};\n\npp$3.parseTemplate = function(ref) {\n if ( ref === void 0 ) ref = {};\n var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;\n\n var node = this.startNode();\n this.next();\n node.expressions = [];\n var curElt = this.parseTemplateElement({isTagged: isTagged});\n node.quasis = [curElt];\n while (!curElt.tail) {\n if (this.type === types.eof) { this.raise(this.pos, \"Unterminated template literal\"); }\n this.expect(types.dollarBraceL);\n node.expressions.push(this.parseExpression());\n this.expect(types.braceR);\n node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));\n }\n this.next();\n return this.finishNode(node, \"TemplateLiteral\")\n};\n\npp$3.isAsyncProp = function(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" &&\n (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&\n !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\n// Parse an object literal or binding pattern.\n\npp$3.parseObj = function(isPattern, refDestructuringErrors) {\n var node = this.startNode(), first = true, propHash = {};\n node.properties = [];\n this.next();\n while (!this.eat(types.braceR)) {\n if (!first) {\n this.expect(types.comma);\n if (this.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var prop = this.parseProperty(isPattern, refDestructuringErrors);\n if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); }\n node.properties.push(prop);\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n};\n\npp$3.parseProperty = function(isPattern, refDestructuringErrors) {\n var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;\n if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false);\n if (this.type === types.comma) {\n this.raise(this.start, \"Comma is not permitted after the rest element\");\n }\n return this.finishNode(prop, \"RestElement\")\n }\n // To disallow parenthesized identifier via `this.toAssignable()`.\n if (this.type === types.parenL && refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0) {\n refDestructuringErrors.parenthesizedAssign = this.start;\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = this.start;\n }\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start;\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\")\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false;\n prop.shorthand = false;\n if (isPattern || refDestructuringErrors) {\n startPos = this.start;\n startLoc = this.startLoc;\n }\n if (!isPattern)\n { isGenerator = this.eat(types.star); }\n }\n var containsEsc = this.containsEsc;\n this.parsePropertyName(prop);\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n this.parsePropertyName(prop, refDestructuringErrors);\n } else {\n isAsync = false;\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);\n return this.finishNode(prop, \"Property\")\n};\n\npp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === types.colon)\n { this.unexpected(); }\n\n if (this.eat(types.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);\n prop.kind = \"init\";\n } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {\n if (isPattern) { this.unexpected(); }\n prop.kind = \"init\";\n prop.method = true;\n prop.value = this.parseMethod(isGenerator, isAsync);\n } else if (!isPattern && !containsEsc &&\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type !== types.comma && this.type !== types.braceR)) {\n if (isGenerator || isAsync) { this.unexpected(); }\n prop.kind = prop.key.name;\n this.parsePropertyName(prop);\n prop.value = this.parseMethod(false);\n var paramCount = prop.kind === \"get\" ? 0 : 1;\n if (prop.value.params.length !== paramCount) {\n var start = prop.value.start;\n if (prop.kind === \"get\")\n { this.raiseRecoverable(start, \"getter should have no params\"); }\n else\n { this.raiseRecoverable(start, \"setter should have exactly one param\"); }\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\"); }\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n if (isGenerator || isAsync) { this.unexpected(); }\n this.checkUnreserved(prop.key);\n if (prop.key.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = startPos; }\n prop.kind = \"init\";\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else if (this.type === types.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0)\n { refDestructuringErrors.shorthandAssign = this.start; }\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else {\n prop.value = prop.key;\n }\n prop.shorthand = true;\n } else { this.unexpected(); }\n};\n\npp$3.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(types.bracketL)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssign();\n this.expect(types.bracketR);\n return prop.key\n } else {\n prop.computed = false;\n }\n }\n return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== \"never\")\n};\n\n// Initialize empty function node.\n\npp$3.initFunction = function(node) {\n node.id = null;\n if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }\n if (this.options.ecmaVersion >= 8) { node.async = false; }\n};\n\n// Parse object or class method.\n\npp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {\n var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.initFunction(node);\n if (this.options.ecmaVersion >= 6)\n { node.generator = isGenerator; }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));\n\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n this.parseFunctionBody(node, false, true);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"FunctionExpression\")\n};\n\n// Parse arrow function expression with given parameters.\n\npp$3.parseArrowExpression = function(node, params, isAsync) {\n var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;\n\n this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);\n this.initFunction(node);\n if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }\n\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.awaitIdentPos = 0;\n\n node.params = this.toAssignableList(params, true);\n this.parseFunctionBody(node, true, false);\n\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.awaitIdentPos = oldAwaitIdentPos;\n return this.finishNode(node, \"ArrowFunctionExpression\")\n};\n\n// Parse function body and check parameters.\n\npp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {\n var isExpression = isArrowFunction && this.type !== types.braceL;\n var oldStrict = this.strict, useStrict = false;\n\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n node.expression = true;\n this.checkParams(node, false);\n } else {\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end);\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple)\n { this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\"); }\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n var oldLabels = this.labels;\n this.labels = [];\n if (useStrict) { this.strict = true; }\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));\n node.body = this.parseBlock(false);\n node.expression = false;\n this.adaptDirectivePrologue(node.body.body);\n this.labels = oldLabels;\n }\n this.exitScope();\n\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); }\n this.strict = oldStrict;\n};\n\npp$3.isSimpleParamList = function(params) {\n for (var i = 0, list = params; i < list.length; i += 1)\n {\n var param = list[i];\n\n if (param.type !== \"Identifier\") { return false\n } }\n return true\n};\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp$3.checkParams = function(node, allowDuplicates) {\n var nameHash = {};\n for (var i = 0, list = node.params; i < list.length; i += 1)\n {\n var param = list[i];\n\n this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);\n }\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (!first) {\n this.expect(types.comma);\n if (allowTrailingComma && this.afterTrailingComma(close)) { break }\n } else { first = false; }\n\n var elt = (void 0);\n if (allowEmpty && this.type === types.comma)\n { elt = null; }\n else if (this.type === types.ellipsis) {\n elt = this.parseSpread(refDestructuringErrors);\n if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0)\n { refDestructuringErrors.trailingComma = this.start; }\n } else {\n elt = this.parseMaybeAssign(false, refDestructuringErrors);\n }\n elts.push(elt);\n }\n return elts\n};\n\npp$3.checkUnreserved = function(ref) {\n var start = ref.start;\n var end = ref.end;\n var name = ref.name;\n\n if (this.inGenerator && name === \"yield\")\n { this.raiseRecoverable(start, \"Cannot use 'yield' as identifier inside a generator\"); }\n if (this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use 'await' as identifier inside an async function\"); }\n if (this.keywords.test(name))\n { this.raise(start, (\"Unexpected keyword '\" + name + \"'\")); }\n if (this.options.ecmaVersion < 6 &&\n this.input.slice(start, end).indexOf(\"\\\\\") !== -1) { return }\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Cannot use keyword 'await' outside an async function\"); }\n this.raiseRecoverable(start, (\"The keyword '\" + name + \"' is reserved\"));\n }\n};\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp$3.parseIdent = function(liberal, isBinding) {\n var node = this.startNode();\n if (this.type === types.name) {\n node.name = this.value;\n } else if (this.type.keyword) {\n node.name = this.type.keyword;\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") &&\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop();\n }\n } else {\n this.unexpected();\n }\n this.next();\n this.finishNode(node, \"Identifier\");\n if (!liberal) {\n this.checkUnreserved(node);\n if (node.name === \"await\" && !this.awaitIdentPos)\n { this.awaitIdentPos = node.start; }\n }\n return node\n};\n\n// Parses yield expression inside generator.\n\npp$3.parseYield = function(noIn) {\n if (!this.yieldPos) { this.yieldPos = this.start; }\n\n var node = this.startNode();\n this.next();\n if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {\n node.delegate = false;\n node.argument = null;\n } else {\n node.delegate = this.eat(types.star);\n node.argument = this.parseMaybeAssign(noIn);\n }\n return this.finishNode(node, \"YieldExpression\")\n};\n\npp$3.parseAwait = function() {\n if (!this.awaitPos) { this.awaitPos = this.start; }\n\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n return this.finishNode(node, \"AwaitExpression\")\n};\n\nvar pp$4 = Parser.prototype;\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp$4.raise = function(pos, message) {\n var loc = getLineInfo(this.input, pos);\n message += \" (\" + loc.line + \":\" + loc.column + \")\";\n var err = new SyntaxError(message);\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos;\n throw err\n};\n\npp$4.raiseRecoverable = pp$4.raise;\n\npp$4.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n};\n\nvar pp$5 = Parser.prototype;\n\nvar Scope = function Scope(flags) {\n this.flags = flags;\n // A list of var-declared names in the current lexical scope\n this.var = [];\n // A list of lexically-declared names in the current lexical scope\n this.lexical = [];\n // A list of lexically-declared FunctionDeclaration names in the current lexical scope\n this.functions = [];\n};\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp$5.enterScope = function(flags) {\n this.scopeStack.push(new Scope(flags));\n};\n\npp$5.exitScope = function() {\n this.scopeStack.pop();\n};\n\n// The spec says:\n// > At the top level of a function, or script, function declarations are\n// > treated like var declarations rather than like lexical declarations.\npp$5.treatFunctionsAsVarInScope = function(scope) {\n return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)\n};\n\npp$5.declareName = function(name, bindingType, pos) {\n var redeclared = false;\n if (bindingType === BIND_LEXICAL) {\n var scope = this.currentScope();\n redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;\n scope.lexical.push(name);\n if (this.inModule && (scope.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n } else if (bindingType === BIND_SIMPLE_CATCH) {\n var scope$1 = this.currentScope();\n scope$1.lexical.push(name);\n } else if (bindingType === BIND_FUNCTION) {\n var scope$2 = this.currentScope();\n if (this.treatFunctionsAsVar)\n { redeclared = scope$2.lexical.indexOf(name) > -1; }\n else\n { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }\n scope$2.functions.push(name);\n } else {\n for (var i = this.scopeStack.length - 1; i >= 0; --i) {\n var scope$3 = this.scopeStack[i];\n if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||\n !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {\n redeclared = true;\n break\n }\n scope$3.var.push(name);\n if (this.inModule && (scope$3.flags & SCOPE_TOP))\n { delete this.undefinedExports[name]; }\n if (scope$3.flags & SCOPE_VAR) { break }\n }\n }\n if (redeclared) { this.raiseRecoverable(pos, (\"Identifier '\" + name + \"' has already been declared\")); }\n};\n\npp$5.checkLocalExport = function(id) {\n // scope.functions must be empty as Module code is always strict.\n if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&\n this.scopeStack[0].var.indexOf(id.name) === -1) {\n this.undefinedExports[id.name] = id;\n }\n};\n\npp$5.currentScope = function() {\n return this.scopeStack[this.scopeStack.length - 1]\n};\n\npp$5.currentVarScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & SCOPE_VAR) { return scope }\n }\n};\n\n// Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\npp$5.currentThisScope = function() {\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this.scopeStack[i];\n if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }\n }\n};\n\nvar Node = function Node(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n if (parser.options.locations)\n { this.loc = new SourceLocation(parser, loc); }\n if (parser.options.directSourceFile)\n { this.sourceFile = parser.options.directSourceFile; }\n if (parser.options.ranges)\n { this.range = [pos, 0]; }\n};\n\n// Start an AST node, attaching a start offset.\n\nvar pp$6 = Parser.prototype;\n\npp$6.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n};\n\npp$6.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n};\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type;\n node.end = pos;\n if (this.options.locations)\n { node.loc.end = loc; }\n if (this.options.ranges)\n { node.range[1] = pos; }\n return node\n}\n\npp$6.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n};\n\n// Finish node at given position\n\npp$6.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n};\n\n// The algorithm used to determine whether a regexp can appear at a\n\nvar TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {\n this.token = token;\n this.isExpr = !!isExpr;\n this.preserveSpace = !!preserveSpace;\n this.override = override;\n this.generator = !!generator;\n};\n\nvar types$1 = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, function (p) { return p.tryReadTemplateToken(); }),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n};\n\nvar pp$7 = Parser.prototype;\n\npp$7.initialContext = function() {\n return [types$1.b_stat]\n};\n\npp$7.braceIsBlock = function(prevType) {\n var parent = this.curContext();\n if (parent === types$1.f_expr || parent === types$1.f_stat)\n { return true }\n if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))\n { return !parent.isExpr }\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === types._return || prevType === types.name && this.exprAllowed)\n { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }\n if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)\n { return true }\n if (prevType === types.braceL)\n { return parent === types$1.b_stat }\n if (prevType === types._var || prevType === types._const || prevType === types.name)\n { return false }\n return !this.exprAllowed\n};\n\npp$7.inGeneratorContext = function() {\n for (var i = this.context.length - 1; i >= 1; i--) {\n var context = this.context[i];\n if (context.token === \"function\")\n { return context.generator }\n }\n return false\n};\n\npp$7.updateContext = function(prevType) {\n var update, type = this.type;\n if (type.keyword && prevType === types.dot)\n { this.exprAllowed = false; }\n else if (update = type.updateContext)\n { update.call(this, prevType); }\n else\n { this.exprAllowed = type.beforeExpr; }\n};\n\n// Token-specific context update code\n\ntypes.parenR.updateContext = types.braceR.updateContext = function() {\n if (this.context.length === 1) {\n this.exprAllowed = true;\n return\n }\n var out = this.context.pop();\n if (out === types$1.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop();\n }\n this.exprAllowed = !out.isExpr;\n};\n\ntypes.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);\n this.exprAllowed = true;\n};\n\ntypes.dollarBraceL.updateContext = function() {\n this.context.push(types$1.b_tmpl);\n this.exprAllowed = true;\n};\n\ntypes.parenL.updateContext = function(prevType) {\n var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;\n this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);\n this.exprAllowed = true;\n};\n\ntypes.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n};\n\ntypes._function.updateContext = types._class.updateContext = function(prevType) {\n if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&\n !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&\n !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))\n { this.context.push(types$1.f_expr); }\n else\n { this.context.push(types$1.f_stat); }\n this.exprAllowed = false;\n};\n\ntypes.backQuote.updateContext = function() {\n if (this.curContext() === types$1.q_tmpl)\n { this.context.pop(); }\n else\n { this.context.push(types$1.q_tmpl); }\n this.exprAllowed = false;\n};\n\ntypes.star.updateContext = function(prevType) {\n if (prevType === types._function) {\n var index = this.context.length - 1;\n if (this.context[index] === types$1.f_expr)\n { this.context[index] = types$1.f_expr_gen; }\n else\n { this.context[index] = types$1.f_gen; }\n }\n this.exprAllowed = true;\n};\n\ntypes.name.updateContext = function(prevType) {\n var allowed = false;\n if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {\n if (this.value === \"of\" && !this.exprAllowed ||\n this.value === \"yield\" && this.inGeneratorContext())\n { allowed = true; }\n }\n this.exprAllowed = allowed;\n};\n\n// This file contains Unicode properties extracted from the ECMAScript\n// specification. The lists are extracted like so:\n// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)\n\n// #table-binary-unicode-properties\nvar ecma9BinaryProperties = \"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\";\nvar ecma10BinaryProperties = ecma9BinaryProperties + \" Extended_Pictographic\";\nvar ecma11BinaryProperties = ecma10BinaryProperties;\nvar unicodeBinaryProperties = {\n 9: ecma9BinaryProperties,\n 10: ecma10BinaryProperties,\n 11: ecma11BinaryProperties\n};\n\n// #table-unicode-general-category-values\nvar unicodeGeneralCategoryValues = \"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\";\n\n// #table-unicode-script-values\nvar ecma9ScriptValues = \"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\";\nvar ecma10ScriptValues = ecma9ScriptValues + \" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\";\nvar ecma11ScriptValues = ecma10ScriptValues + \" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\";\nvar unicodeScriptValues = {\n 9: ecma9ScriptValues,\n 10: ecma10ScriptValues,\n 11: ecma11ScriptValues\n};\n\nvar data = {};\nfunction buildUnicodeData(ecmaVersion) {\n var d = data[ecmaVersion] = {\n binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + \" \" + unicodeGeneralCategoryValues),\n nonBinary: {\n General_Category: wordsRegexp(unicodeGeneralCategoryValues),\n Script: wordsRegexp(unicodeScriptValues[ecmaVersion])\n }\n };\n d.nonBinary.Script_Extensions = d.nonBinary.Script;\n\n d.nonBinary.gc = d.nonBinary.General_Category;\n d.nonBinary.sc = d.nonBinary.Script;\n d.nonBinary.scx = d.nonBinary.Script_Extensions;\n}\nbuildUnicodeData(9);\nbuildUnicodeData(10);\nbuildUnicodeData(11);\n\nvar pp$8 = Parser.prototype;\n\nvar RegExpValidationState = function RegExpValidationState(parser) {\n this.parser = parser;\n this.validFlags = \"gim\" + (parser.options.ecmaVersion >= 6 ? \"uy\" : \"\") + (parser.options.ecmaVersion >= 9 ? \"s\" : \"\");\n this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion];\n this.source = \"\";\n this.flags = \"\";\n this.start = 0;\n this.switchU = false;\n this.switchN = false;\n this.pos = 0;\n this.lastIntValue = 0;\n this.lastStringValue = \"\";\n this.lastAssertionIsQuantifiable = false;\n this.numCapturingParens = 0;\n this.maxBackReference = 0;\n this.groupNames = [];\n this.backReferenceNames = [];\n};\n\nRegExpValidationState.prototype.reset = function reset (start, pattern, flags) {\n var unicode = flags.indexOf(\"u\") !== -1;\n this.start = start | 0;\n this.source = pattern + \"\";\n this.flags = flags;\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\n};\n\nRegExpValidationState.prototype.raise = function raise (message) {\n this.parser.raiseRecoverable(this.start, (\"Invalid regular expression: /\" + (this.source) + \"/: \" + message));\n};\n\n// If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\nRegExpValidationState.prototype.at = function at (i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return -1\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c\n }\n return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00\n};\n\nRegExpValidationState.prototype.nextIndex = function nextIndex (i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return l\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return i + 1\n }\n return i + 2\n};\n\nRegExpValidationState.prototype.current = function current () {\n return this.at(this.pos)\n};\n\nRegExpValidationState.prototype.lookahead = function lookahead () {\n return this.at(this.nextIndex(this.pos))\n};\n\nRegExpValidationState.prototype.advance = function advance () {\n this.pos = this.nextIndex(this.pos);\n};\n\nRegExpValidationState.prototype.eat = function eat (ch) {\n if (this.current() === ch) {\n this.advance();\n return true\n }\n return false\n};\n\nfunction codePointToString(ch) {\n if (ch <= 0xFFFF) { return String.fromCharCode(ch) }\n ch -= 0x10000;\n return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)\n}\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$8.validateRegExpFlags = function(state) {\n var validFlags = state.validFlags;\n var flags = state.flags;\n\n for (var i = 0; i < flags.length; i++) {\n var flag = flags.charAt(i);\n if (validFlags.indexOf(flag) === -1) {\n this.raise(state.start, \"Invalid regular expression flag\");\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this.raise(state.start, \"Duplicate regular expression flag\");\n }\n }\n};\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$8.validateRegExpPattern = function(state) {\n this.regexp_pattern(state);\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\n state.switchN = true;\n this.regexp_pattern(state);\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp$8.regexp_pattern = function(state) {\n state.pos = 0;\n state.lastIntValue = 0;\n state.lastStringValue = \"\";\n state.lastAssertionIsQuantifiable = false;\n state.numCapturingParens = 0;\n state.maxBackReference = 0;\n state.groupNames.length = 0;\n state.backReferenceNames.length = 0;\n\n this.regexp_disjunction(state);\n\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\");\n }\n if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\");\n }\n for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {\n var name = list[i];\n\n if (state.groupNames.indexOf(name) === -1) {\n state.raise(\"Invalid named capture referenced\");\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp$8.regexp_disjunction = function(state) {\n this.regexp_alternative(state);\n while (state.eat(0x7C /* | */)) {\n this.regexp_alternative(state);\n }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp$8.regexp_alternative = function(state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state))\n { }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp$8.regexp_eatTerm = function(state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\");\n }\n }\n return true\n }\n\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state);\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp$8.regexp_eatAssertion = function(state) {\n var start = state.pos;\n state.lastAssertionIsQuantifiable = false;\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true\n }\n state.pos = start;\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n var lookbehind = false;\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */);\n }\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state);\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\");\n }\n state.lastAssertionIsQuantifiable = !lookbehind;\n return true\n }\n }\n\n state.pos = start;\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp$8.regexp_eatQuantifier = function(state, noError) {\n if ( noError === void 0 ) noError = false;\n\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */);\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp$8.regexp_eatQuantifierPrefix = function(state, noError) {\n return (\n state.eat(0x2A /* * */) ||\n state.eat(0x2B /* + */) ||\n state.eat(0x3F /* ? */) ||\n this.regexp_eatBracedQuantifier(state, noError)\n )\n};\npp$8.regexp_eatBracedQuantifier = function(state, noError) {\n var start = state.pos;\n if (state.eat(0x7B /* { */)) {\n var min = 0, max = -1;\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue;\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue;\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\");\n }\n return true\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp$8.regexp_eatAtom = function(state) {\n return (\n this.regexp_eatPatternCharacters(state) ||\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state)\n )\n};\npp$8.regexp_eatReverseSolidusAtomEscape = function(state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatUncapturingGroup = function(state) {\n var start = state.pos;\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n return true\n }\n state.raise(\"Unterminated group\");\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatCapturingGroup = function(state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state);\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\");\n }\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1;\n return true\n }\n state.raise(\"Unterminated group\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp$8.regexp_eatExtendedAtom = function(state) {\n return (\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state) ||\n this.regexp_eatInvalidBracedQuantifier(state) ||\n this.regexp_eatExtendedPatternCharacter(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp$8.regexp_eatInvalidBracedQuantifier = function(state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp$8.regexp_eatSyntaxCharacter = function(state) {\n var ch = state.current();\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n return false\n};\nfunction isSyntaxCharacter(ch) {\n return (\n ch === 0x24 /* $ */ ||\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\n ch === 0x2E /* . */ ||\n ch === 0x3F /* ? */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp$8.regexp_eatPatternCharacters = function(state) {\n var start = state.pos;\n var ch = 0;\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance();\n }\n return state.pos !== start\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp$8.regexp_eatExtendedPatternCharacter = function(state) {\n var ch = state.current();\n if (\n ch !== -1 &&\n ch !== 0x24 /* $ */ &&\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\n ch !== 0x2E /* . */ &&\n ch !== 0x3F /* ? */ &&\n ch !== 0x5B /* [ */ &&\n ch !== 0x5E /* ^ */ &&\n ch !== 0x7C /* | */\n ) {\n state.advance();\n return true\n }\n return false\n};\n\n// GroupSpecifier[U] ::\n// [empty]\n// `?` GroupName[?U]\npp$8.regexp_groupSpecifier = function(state) {\n if (state.eat(0x3F /* ? */)) {\n if (this.regexp_eatGroupName(state)) {\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\n state.raise(\"Duplicate capture group name\");\n }\n state.groupNames.push(state.lastStringValue);\n return\n }\n state.raise(\"Invalid group\");\n }\n};\n\n// GroupName[U] ::\n// `<` RegExpIdentifierName[?U] `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$8.regexp_eatGroupName = function(state) {\n state.lastStringValue = \"\";\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true\n }\n state.raise(\"Invalid capture group name\");\n }\n return false\n};\n\n// RegExpIdentifierName[U] ::\n// RegExpIdentifierStart[?U]\n// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$8.regexp_eatRegExpIdentifierName = function(state) {\n state.lastStringValue = \"\";\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString(state.lastIntValue);\n }\n return true\n }\n return false\n};\n\n// RegExpIdentifierStart[U] ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\npp$8.regexp_eatRegExpIdentifierStart = function(state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\n}\n\n// RegExpIdentifierPart[U] ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\n// \n// \npp$8.regexp_eatRegExpIdentifierPart = function(state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp$8.regexp_eatAtomEscape = function(state) {\n if (\n this.regexp_eatBackReference(state) ||\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state) ||\n (state.switchN && this.regexp_eatKGroupName(state))\n ) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\");\n }\n state.raise(\"Invalid escape\");\n }\n return false\n};\npp$8.regexp_eatBackReference = function(state) {\n var start = state.pos;\n if (this.regexp_eatDecimalEscape(state)) {\n var n = state.lastIntValue;\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n;\n }\n return true\n }\n if (n <= state.numCapturingParens) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatKGroupName = function(state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue);\n return true\n }\n state.raise(\"Invalid named reference\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp$8.regexp_eatCharacterEscape = function(state) {\n return (\n this.regexp_eatControlEscape(state) ||\n this.regexp_eatCControlLetter(state) ||\n this.regexp_eatZero(state) ||\n this.regexp_eatHexEscapeSequence(state) ||\n this.regexp_eatRegExpUnicodeEscapeSequence(state) ||\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\n this.regexp_eatIdentityEscape(state)\n )\n};\npp$8.regexp_eatCControlLetter = function(state) {\n var start = state.pos;\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$8.regexp_eatZero = function(state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp$8.regexp_eatControlEscape = function(state) {\n var ch = state.current();\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09; /* \\t */\n state.advance();\n return true\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A; /* \\n */\n state.advance();\n return true\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B; /* \\v */\n state.advance();\n return true\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C; /* \\f */\n state.advance();\n return true\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D; /* \\r */\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp$8.regexp_eatControlLetter = function(state) {\n var ch = state.current();\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\nfunction isControlLetter(ch) {\n return (\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state) {\n var start = state.pos;\n\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n var lead = state.lastIntValue;\n if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n var leadSurrogateEnd = state.pos;\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n var trail = state.lastIntValue;\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n return true\n }\n }\n state.pos = leadSurrogateEnd;\n state.lastIntValue = lead;\n }\n return true\n }\n if (\n state.switchU &&\n state.eat(0x7B /* { */) &&\n this.regexp_eatHexDigits(state) &&\n state.eat(0x7D /* } */) &&\n isValidUnicode(state.lastIntValue)\n ) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid unicode escape\");\n }\n state.pos = start;\n }\n\n return false\n};\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp$8.regexp_eatIdentityEscape = function(state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F; /* / */\n return true\n }\n return false\n }\n\n var ch = state.current();\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp$8.regexp_eatDecimalEscape = function(state) {\n state.lastIntValue = 0;\n var ch = state.current();\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp$8.regexp_eatCharacterClassEscape = function(state) {\n var ch = state.current();\n\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1;\n state.advance();\n return true\n }\n\n if (\n state.switchU &&\n this.options.ecmaVersion >= 9 &&\n (ch === 0x50 /* P */ || ch === 0x70 /* p */)\n ) {\n state.lastIntValue = -1;\n state.advance();\n if (\n state.eat(0x7B /* { */) &&\n this.regexp_eatUnicodePropertyValueExpression(state) &&\n state.eat(0x7D /* } */)\n ) {\n return true\n }\n state.raise(\"Invalid property name\");\n }\n\n return false\n};\nfunction isCharacterClassEscape(ch) {\n return (\n ch === 0x64 /* d */ ||\n ch === 0x44 /* D */ ||\n ch === 0x73 /* s */ ||\n ch === 0x53 /* S */ ||\n ch === 0x77 /* w */ ||\n ch === 0x57 /* W */\n )\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp$8.regexp_eatUnicodePropertyValueExpression = function(state) {\n var start = state.pos;\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n var name = state.lastStringValue;\n if (this.regexp_eatUnicodePropertyValue(state)) {\n var value = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value);\n return true\n }\n }\n state.pos = start;\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n var nameOrValue = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);\n return true\n }\n return false\n};\npp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {\n if (!has(state.unicodeProperties.nonBinary, name))\n { state.raise(\"Invalid property name\"); }\n if (!state.unicodeProperties.nonBinary[name].test(value))\n { state.raise(\"Invalid property value\"); }\n};\npp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {\n if (!state.unicodeProperties.binary.test(nameOrValue))\n { state.raise(\"Invalid property name\"); }\n};\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp$8.regexp_eatUnicodePropertyName = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp$8.regexp_eatUnicodePropertyValue = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\n return this.regexp_eatUnicodePropertyValue(state)\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp$8.regexp_eatCharacterClass = function(state) {\n if (state.eat(0x5B /* [ */)) {\n state.eat(0x5E /* ^ */);\n this.regexp_classRanges(state);\n if (state.eat(0x5D /* [ */)) {\n return true\n }\n // Unreachable since it threw \"unterminated regular expression\" error before.\n state.raise(\"Unterminated character class\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp$8.regexp_classRanges = function(state) {\n while (this.regexp_eatClassAtom(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {\n var right = state.lastIntValue;\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\");\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp$8.regexp_eatClassAtom = function(state) {\n var start = state.pos;\n\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n var ch$1 = state.current();\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\n state.raise(\"Invalid class escape\");\n }\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n\n var ch = state.current();\n if (ch !== 0x5D /* [ */) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp$8.regexp_eatClassEscape = function(state) {\n var start = state.pos;\n\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* */\n return true\n }\n\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D; /* - */\n return true\n }\n\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n\n return (\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp$8.regexp_eatClassControlLetter = function(state) {\n var ch = state.current();\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$8.regexp_eatHexEscapeSequence = function(state) {\n var start = state.pos;\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp$8.regexp_eatDecimalDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp$8.regexp_eatHexDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isHexDigit(ch) {\n return (\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\n )\n}\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */)\n }\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */)\n }\n return ch - 0x30 /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {\n if (this.regexp_eatOctalDigit(state)) {\n var n1 = state.lastIntValue;\n if (this.regexp_eatOctalDigit(state)) {\n var n2 = state.lastIntValue;\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\n } else {\n state.lastIntValue = n1 * 8 + n2;\n }\n } else {\n state.lastIntValue = n1;\n }\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp$8.regexp_eatOctalDigit = function(state) {\n var ch = state.current();\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30; /* 0 */\n state.advance();\n return true\n }\n state.lastIntValue = 0;\n return false\n};\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$8.regexp_eatFixedHexDigits = function(state, length) {\n var start = state.pos;\n state.lastIntValue = 0;\n for (var i = 0; i < length; ++i) {\n var ch = state.current();\n if (!isHexDigit(ch)) {\n state.pos = start;\n return false\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return true\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nvar Token = function Token(p) {\n this.type = p.type;\n this.value = p.value;\n this.start = p.start;\n this.end = p.end;\n if (p.options.locations)\n { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }\n if (p.options.ranges)\n { this.range = [p.start, p.end]; }\n};\n\n// ## Tokenizer\n\nvar pp$9 = Parser.prototype;\n\n// Move to the next token\n\npp$9.next = function() {\n if (this.options.onToken)\n { this.options.onToken(new Token(this)); }\n\n this.lastTokEnd = this.end;\n this.lastTokStart = this.start;\n this.lastTokEndLoc = this.endLoc;\n this.lastTokStartLoc = this.startLoc;\n this.nextToken();\n};\n\npp$9.getToken = function() {\n this.next();\n return new Token(this)\n};\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n { pp$9[Symbol.iterator] = function() {\n var this$1 = this;\n\n return {\n next: function () {\n var token = this$1.getToken();\n return {\n done: token.type === types.eof,\n value: token\n }\n }\n }\n }; }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp$9.curContext = function() {\n return this.context[this.context.length - 1]\n};\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp$9.nextToken = function() {\n var curContext = this.curContext();\n if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }\n\n this.start = this.pos;\n if (this.options.locations) { this.startLoc = this.curPosition(); }\n if (this.pos >= this.input.length) { return this.finishToken(types.eof) }\n\n if (curContext.override) { return curContext.override(this) }\n else { this.readToken(this.fullCharCodeAtPos()); }\n};\n\npp$9.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n { return this.readWord() }\n\n return this.getTokenFromCode(code)\n};\n\npp$9.fullCharCodeAtPos = function() {\n var code = this.input.charCodeAt(this.pos);\n if (code <= 0xd7ff || code >= 0xe000) { return code }\n var next = this.input.charCodeAt(this.pos + 1);\n return (code << 10) + next - 0x35fdc00\n};\n\npp$9.skipBlockComment = function() {\n var startLoc = this.options.onComment && this.curPosition();\n var start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2);\n if (end === -1) { this.raise(this.pos - 2, \"Unterminated comment\"); }\n this.pos = end + 2;\n if (this.options.locations) {\n lineBreakG.lastIndex = start;\n var match;\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this.curLine;\n this.lineStart = match.index + match[0].length;\n }\n }\n if (this.options.onComment)\n { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\npp$9.skipLineComment = function(startSkip) {\n var start = this.pos;\n var startLoc = this.options.onComment && this.curPosition();\n var ch = this.input.charCodeAt(this.pos += startSkip);\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this.input.charCodeAt(++this.pos);\n }\n if (this.options.onComment)\n { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp$9.skipSpace = function() {\n loop: while (this.pos < this.input.length) {\n var ch = this.input.charCodeAt(this.pos);\n switch (ch) {\n case 32: case 160: // ' '\n ++this.pos;\n break\n case 13:\n if (this.input.charCodeAt(this.pos + 1) === 10) {\n ++this.pos;\n }\n case 10: case 8232: case 8233:\n ++this.pos;\n if (this.options.locations) {\n ++this.curLine;\n this.lineStart = this.pos;\n }\n break\n case 47: // '/'\n switch (this.input.charCodeAt(this.pos + 1)) {\n case 42: // '*'\n this.skipBlockComment();\n break\n case 47:\n this.skipLineComment(2);\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this.pos;\n } else {\n break loop\n }\n }\n }\n};\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp$9.finishToken = function(type, val) {\n this.end = this.pos;\n if (this.options.locations) { this.endLoc = this.curPosition(); }\n var prevType = this.type;\n this.type = type;\n this.value = val;\n\n this.updateContext(prevType);\n};\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp$9.readToken_dot = function() {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next >= 48 && next <= 57) { return this.readNumber(true) }\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3;\n return this.finishToken(types.ellipsis)\n } else {\n ++this.pos;\n return this.finishToken(types.dot)\n }\n};\n\npp$9.readToken_slash = function() { // '/'\n var next = this.input.charCodeAt(this.pos + 1);\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.slash, 1)\n};\n\npp$9.readToken_mult_modulo_exp = function(code) { // '%*'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n var tokentype = code === 42 ? types.star : types.modulo;\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size;\n tokentype = types.starstar;\n next = this.input.charCodeAt(this.pos + 2);\n }\n\n if (next === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(tokentype, size)\n};\n\npp$9.readToken_pipe_amp = function(code) { // '|&'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) { return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)\n};\n\npp$9.readToken_caret = function() { // '^'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.bitwiseXOR, 1)\n};\n\npp$9.readToken_plus_min = function(code) { // '+-'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken()\n }\n return this.finishOp(types.incDec, 2)\n }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.plusMin, 1)\n};\n\npp$9.readToken_lt_gt = function(code) { // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(types.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"⬇️\",\n \"EVENT_WHENKEYPRESSED_UP\": \"⬆️\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"bet kurį\",\n \"LOOKS_SAYFORSECS\": \"sakyk %1 %2 s.\",\n \"LOOKS_SAY\": \"sakyk %1\",\n \"LOOKS_HELLO\": \"Sveiki!\",\n \"LOOKS_THINKFORSECS\": \"galvok %1 %2 s.\",\n \"LOOKS_THINK\": \"galvok %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"rodyk\",\n \"LOOKS_HIDE\": \"slėpk\",\n \"LOOKS_HIDEALLSPRITES\": \"paslėpti visus veikėjus\",\n \"LOOKS_EFFECT_COLOR\": \"spalva\",\n \"LOOKS_EFFECT_FISHEYE\": \"lęšis\",\n \"LOOKS_EFFECT_WHIRL\": \"susukimas\",\n \"LOOKS_EFFECT_PIXELATE\": \"stambinti taškus\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaika\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"šviesumas\",\n \"LOOKS_EFFECT_GHOST\": \"permatomumas\",\n \"LOOKS_CHANGEEFFECTBY\": \"efektą %1 padidink %2\",\n \"LOOKS_SETEFFECTTO\": \"efektas %1 = %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"panaikink išvaizdos efektus\",\n \"LOOKS_CHANGESIZEBY\": \"dydį padidink %1 \",\n \"LOOKS_SETSIZETO\": \"dydis = %1 %\",\n \"LOOKS_SIZE\": \"dydis\",\n \"LOOKS_CHANGESTRETCHBY\": \"ruožą padidink %1\",\n \"LOOKS_SETSTRETCHTO\": \"ruožas = %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"kaukė = %1\",\n \"LOOKS_NEXTCOSTUME\": \"kita kaukė\",\n \"LOOKS_SWITCHBACKDROPTO\": \"fonas = %1\",\n \"LOOKS_GOTOFRONTBACK\": \"perkelk į %1 sluoksnį\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"arčiausią\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"tolimiausią\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"perkelti per %2 sluoksnius %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"arčiau\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"toliau\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"fonas %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"kaukė %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"numeris\",\n \"LOOKS_NUMBERNAME_NAME\": \"vardas\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"fonas = %1 (palauk, kol pasikeis)\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"kitas fonas\",\n \"LOOKS_NEXTBACKDROP\": \"kitas fonas\",\n \"LOOKS_PREVIOUSBACKDROP\": \"ankstesnis fonas\",\n \"LOOKS_RANDOMBACKDROP\": \"atsitiktinis fonas\",\n \"MOTION_MOVESTEPS\": \"eik %1\",\n \"MOTION_TURNLEFT\": \"pasisuk %1 %2 laipsnių\",\n \"MOTION_TURNRIGHT\": \"pasisuk %1 %2 laipsnių\",\n \"MOTION_POINTINDIRECTION\": \"žiūrėk %1 laipsnių kryptimi\",\n \"MOTION_POINTTOWARDS\": \"žiūrėk į %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"pelės žymeklį\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"atsitiktinę kryptį\",\n \"MOTION_GOTO\": \"eik ten, kur %1\",\n \"MOTION_GOTO_POINTER\": \"pelės žymeklis\",\n \"MOTION_GOTO_RANDOM\": \"atsitiktinė pozicija\",\n \"MOTION_GOTOXY\": \"eik į x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"slink į x: %2 y: %3 per %1 s.\",\n \"MOTION_GLIDETO\": \"slink ten, kur %2 per %1 s.\",\n \"MOTION_GLIDETO_POINTER\": \"pelės žymeklis\",\n \"MOTION_GLIDETO_RANDOM\": \"atsitiktinė pozicija\",\n \"MOTION_CHANGEXBY\": \"x padidink %1\",\n \"MOTION_SETX\": \"x = %1\",\n \"MOTION_CHANGEYBY\": \"y padidink %1\",\n \"MOTION_SETY\": \"y = %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"jei prie krašto, atšok\",\n \"MOTION_SETROTATIONSTYLE\": \"sukimosi būdas = %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"kairėn-dešinėn\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"nesisukti\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"visomis kryptimis\",\n \"MOTION_XPOSITION\": \"x vieta\",\n \"MOTION_YPOSITION\": \"y vieta\",\n \"MOTION_DIRECTION\": \"kryptis\",\n \"MOTION_SCROLLRIGHT\": \"slinkti dešinėn %1\",\n \"MOTION_SCROLLUP\": \"slinkti aukštyn %1\",\n \"MOTION_ALIGNSCENE\": \"lygiuoti sceną %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"apačioj kairėj\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"apačioj dešinėj\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"viduryje\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"kairėj viršuj\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"dešinėj viršuj\",\n \"MOTION_XSCROLL\": \"x slinktis\",\n \"MOTION_YSCROLL\": \"y slinktis\",\n \"MOTION_STAGE_SELECTED\": \"Pažymėta scena: jokių judesio blokų\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"atsitiktinis sk. tarp %1 ir %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 ir %2\",\n \"OPERATORS_OR\": \"%1 arba %2\",\n \"OPERATORS_NOT\": \"ne %1\",\n \"OPERATORS_JOIN\": \"sujunk %1 ir %2\",\n \"OPERATORS_JOIN_APPLE\": \"obuolys\",\n \"OPERATORS_JOIN_BANANA\": \"bananas\",\n \"OPERATORS_LETTEROF\": \"%2 raidė nr. %1\",\n \"OPERATORS_LETTEROF_APPLE\": \"o\",\n \"OPERATORS_LENGTH\": \"%1 ilgis\",\n \"OPERATORS_CONTAINS\": \"ar %1 turi %2?\",\n \"OPERATORS_MOD\": \"%1 / %2 liekana\",\n \"OPERATORS_ROUND\": \"suapvalinta %1\",\n \"OPERATORS_MATHOP\": \"%1 ( %2 )\",\n \"OPERATORS_MATHOP_ABS\": \"teigiama reikšmė\",\n \"OPERATORS_MATHOP_FLOOR\": \"apvalinimas žemyn\",\n \"OPERATORS_MATHOP_CEILING\": \"apvalinimas aukštyn\",\n \"OPERATORS_MATHOP_SQRT\": \"kvadratinė šaknis\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tg\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctg\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"komanda %1\",\n \"SENSING_TOUCHINGOBJECT\": \"lieti %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"pelės žymeklį\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"kraštą\",\n \"SENSING_TOUCHINGCOLOR\": \"lieti spalvą %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"spalva %1 liečia %2?\",\n \"SENSING_DISTANCETO\": \"atstumas iki %1\",\n \"SENSING_DISTANCETO_POINTER\": \"pelės žymeklio\",\n \"SENSING_ASKANDWAIT\": \"paklausk %1 ir lauk\",\n \"SENSING_ASK_TEXT\": \"Koks tavo vardas?\",\n \"SENSING_ANSWER\": \"atsakas\",\n \"SENSING_KEYPRESSED\": \"%1 paspausta?\",\n \"SENSING_MOUSEDOWN\": \"pelė paspausta?\",\n \"SENSING_MOUSEX\": \"pelės x\",\n \"SENSING_MOUSEY\": \"pelės y\",\n \"SENSING_SETDRAGMODE\": \"vilkimas pele = %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"velkamas\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"nevelkamas\",\n \"SENSING_LOUDNESS\": \"garsumas\",\n \"SENSING_LOUD\": \"garsiai?\",\n \"SENSING_TIMER\": \"laikmatis\",\n \"SENSING_RESETTIMER\": \"laikmatis = 0\",\n \"SENSING_OF\": \"%2 : %1\",\n \"SENSING_OF_XPOSITION\": \"x koordinatė\",\n \"SENSING_OF_YPOSITION\": \"y koordinatė\",\n \"SENSING_OF_DIRECTION\": \"kryptis\",\n \"SENSING_OF_COSTUMENUMBER\": \"kaukės nr.\",\n \"SENSING_OF_COSTUMENAME\": \"kaukės pavadinimas\",\n \"SENSING_OF_SIZE\": \"dydis\",\n \"SENSING_OF_VOLUME\": \"garsas\",\n \"SENSING_OF_BACKDROPNUMBER\": \"fono nr.\",\n \"SENSING_OF_BACKDROPNAME\": \"fono pavadinimas\",\n \"SENSING_OF_STAGE\": \"Scena\",\n \"SENSING_CURRENT\": \"šio momento %1\",\n \"SENSING_CURRENT_YEAR\": \"metai\",\n \"SENSING_CURRENT_MONTH\": \"mėnuo\",\n \"SENSING_CURRENT_DATE\": \"mėn. diena\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"savaitės diena\",\n \"SENSING_CURRENT_HOUR\": \"valanda\",\n \"SENSING_CURRENT_MINUTE\": \"minutė\",\n \"SENSING_CURRENT_SECOND\": \"sekundė\",\n \"SENSING_DAYSSINCE2000\": \"dienų skaičius nuo 2000-ųjų\",\n \"SENSING_USERNAME\": \"vartotojo vardas\",\n \"SENSING_USERID\": \"vartotojo ID\",\n \"SOUND_PLAY\": \"grok %1\",\n \"SOUND_PLAYUNTILDONE\": \"grok %1 kol pasibaigs\",\n \"SOUND_STOPALLSOUNDS\": \"išjunk garsus\",\n \"SOUND_SETEFFECTO\": \"efektas %1 = %2\",\n \"SOUND_CHANGEEFFECTBY\": \"efektą %1 padidink %2\",\n \"SOUND_CLEAREFFECTS\": \"pašalink garso efektus\",\n \"SOUND_EFFECTS_PITCH\": \"garso aukštis\",\n \"SOUND_EFFECTS_PAN\": \"kairiau/dešiniau\",\n \"SOUND_CHANGEVOLUMEBY\": \"garsą padidink %1\",\n \"SOUND_SETVOLUMETO\": \"garsumas = %1%\",\n \"SOUND_VOLUME\": \"garsumas\",\n \"SOUND_RECORD\": \"įrašyti garsą...\",\n \"CATEGORY_MOTION\": \"Judėjimas\",\n \"CATEGORY_LOOKS\": \"Išvaizda\",\n \"CATEGORY_SOUND\": \"Garsas\",\n \"CATEGORY_EVENTS\": \"Įvykiai\",\n \"CATEGORY_CONTROL\": \"Valdymas\",\n \"CATEGORY_SENSING\": \"Jutimas\",\n \"CATEGORY_OPERATORS\": \"Matematika\",\n \"CATEGORY_VARIABLES\": \"Kintamieji\",\n \"CATEGORY_MYBLOCKS\": \"Mano Komandos\",\n \"DUPLICATE\": \"Kurti kopiją\",\n \"DELETE\": \"Ištrinti\",\n \"ADD_COMMENT\": \"Pridėti komentarą\",\n \"REMOVE_COMMENT\": \"Pašalinti komentarą\",\n \"DELETE_BLOCK\": \"Ištrinti bloką\",\n \"DELETE_X_BLOCKS\": \"Ištrinti %1 blokus\",\n \"DELETE_ALL_BLOCKS\": \"Ištrinti visus %1 blokus?\",\n \"CLEAN_UP\": \"Valyti blokus\",\n \"HELP\": \"Pagalba\",\n \"UNDO\": \"Atšaukti\",\n \"REDO\": \"Grąžinti\",\n \"EDIT_PROCEDURE\": \"Taisyti\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Eiti į apibrėžimą\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Pasakyk ką nors...\",\n \"COLOUR_HUE_LABEL\": \"Spalva\",\n \"COLOUR_SATURATION_LABEL\": \"Sodrumas\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Šviesumas\",\n \"CHANGE_VALUE_TITLE\": \"Pakeisti reikšmę:\",\n \"RENAME_VARIABLE\": \"Pervadinti kintamąjį\",\n \"RENAME_VARIABLE_TITLE\": \"Pervadinti visus \\\"%1\\\" kintamuosius į:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Pervadinti kintamąjį\",\n \"NEW_VARIABLE\": \"Sukurti kintamąjį\",\n \"NEW_VARIABLE_TITLE\": \"Naujo kintamojo vardas:\",\n \"VARIABLE_MODAL_TITLE\": \"Naujas kintamasis\",\n \"VARIABLE_ALREADY_EXISTS\": \"Kintamasis vardu \\\"%1\\\" jau yra.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Vardas \\\"%1\\\" jau panaudotas kitam \\\"%2\\\" tipo kintamajam.\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Ištrinti %1 atvejus su kintamuoju \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Negalima ištrinti \\\"%1\\\", nes jis yra funkcijos \\\"%2\\\" aprašymo dalis.\",\n \"DELETE_VARIABLE\": \"Ištrinti kintamąjį \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Sukurti bloką\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Jau egzistuoja procedūra \\\"%1\\\".\",\n \"PROCEDURE_DEFAULT_NAME\": \"bloko pavadinimas\",\n \"NEW_LIST\": \"Sukurti sąrašą\",\n \"NEW_LIST_TITLE\": \"Naujo sąrašo pavadinimas:\",\n \"LIST_MODAL_TITLE\": \"Naujas sąrašas\",\n \"LIST_ALREADY_EXISTS\": \"Jau egzistuoja sąrašas pavadintas \\\"%1\\\".\",\n \"RENAME_LIST_TITLE\": \"Pervadinti visus \\\"%1\\\" sąrašus į:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Pervadinti sąrašą\",\n \"DEFAULT_LIST_ITEM\": \"kažkas\",\n \"DELETE_LIST\": \"Ištrinti \\\"%1\\\" sąrašą\",\n \"RENAME_LIST\": \"Pervadinti sąrašą\",\n \"NEW_BROADCAST_MESSAGE\": \"Nauja žinutė\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Nauja žinutė pavadinimu:\",\n \"BROADCAST_MODAL_TITLE\": \"Nauja žinutė\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"žinutė1\"\n};\n\nBlockly.ScratchMsgs.locales[\"hu\"] =\n{\n \"CONTROL_FOREVER\": \"mindig\",\n \"CONTROL_REPEAT\": \"ismételd %1\",\n \"CONTROL_IF\": \"ha %1 akkor\",\n \"CONTROL_ELSE\": \"különben\",\n \"CONTROL_STOP\": \"álljon le\",\n \"CONTROL_STOP_ALL\": \"minden feladat\",\n \"CONTROL_STOP_THIS\": \"ez a feladat\",\n \"CONTROL_STOP_OTHER\": \"szereplő többi feladata\",\n \"CONTROL_WAIT\": \"várj %1 mp-et\",\n \"CONTROL_WAITUNTIL\": \"várj eddig: %1\",\n \"CONTROL_REPEATUNTIL\": \"ismételd eddig: %1\",\n \"CONTROL_WHILE\": \"amíg %1\",\n \"CONTROL_FOREACH\": \"minden %1 elemet a %2 listában\",\n \"CONTROL_STARTASCLONE\": \"másolatként kezdéskor\",\n \"CONTROL_CREATECLONEOF\": \"készíts másolatot: %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"magadról\",\n \"CONTROL_DELETETHISCLONE\": \"töröld ezt a másolatot\",\n \"CONTROL_COUNTER\": \"számláló\",\n \"CONTROL_INCRCOUNTER\": \"növeld a számlálót\",\n \"CONTROL_CLEARCOUNTER\": \"nullázd a számlálót\",\n \"CONTROL_ALLATONCE\": \"mindent egyszerre\",\n \"DATA_SETVARIABLETO\": \"%1 legyen %2\",\n \"DATA_CHANGEVARIABLEBY\": \"%1 változzon %2\",\n \"DATA_SHOWVARIABLE\": \"%1 változó jelenjen meg\",\n \"DATA_HIDEVARIABLE\": \"%1 változó tűnjön el\",\n \"DATA_ADDTOLIST\": \"add %1 elemet %2 listához\",\n \"DATA_DELETEOFLIST\": \"töröld %1 elemet %2 listából\",\n \"DATA_DELETEALLOFLIST\": \"töröld %1 lista minden elemét\",\n \"DATA_INSERTATLIST\": \"szúrd be %1 elemet %2 helyre %3 listában\",\n \"DATA_REPLACEITEMOFLIST\": \"cseréld le %1 elemet %2 listában %3 elemre\",\n \"DATA_ITEMOFLIST\": \"%2 %1 eleme\",\n \"DATA_ITEMNUMOFLIST\": \"%1 sorszáma %2 listában\",\n \"DATA_LENGTHOFLIST\": \"%1 hossza\",\n \"DATA_LISTCONTAINSITEM\": \"%1 tartalmazza %2?\",\n \"DATA_SHOWLIST\": \"%1 lista jelenjen meg\",\n \"DATA_HIDELIST\": \"%1 lista tűnjön el\",\n \"DATA_INDEX_ALL\": \"minden\",\n \"DATA_INDEX_LAST\": \"utolsó\",\n \"DATA_INDEX_RANDOM\": \"véletlen\",\n \"EVENT_WHENFLAGCLICKED\": \"%1 -ra kattintáskor\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"ezen szereplőre kattintáskor\",\n \"EVENT_WHENSTAGECLICKED\": \"színpadra kattintáskor\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"%1 érintésekor\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"%1 üzenet érkezésekor\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"%1 háttér beállításakor\",\n \"EVENT_WHENGREATERTHAN\": \"amikor %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"időmérő\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"hangerő\",\n \"EVENT_BROADCAST\": \"küldj üzenetet: %1\",\n \"EVENT_BROADCASTANDWAIT\": \"küldj üzenetet: %1 és várj\",\n \"EVENT_WHENKEYPRESSED\": \"%1 gomb lenyomásakor\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"szóköz\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"balra nyíl\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"jobbra nyíl\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"lefelé nyíl\",\n \"EVENT_WHENKEYPRESSED_UP\": \"felfelé nyíl\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"bármelyik\",\n \"LOOKS_SAYFORSECS\": \"mondd: %1 %2 másodpercig\",\n \"LOOKS_SAY\": \"mondd: %1\",\n \"LOOKS_HELLO\": \"Szia!\",\n \"LOOKS_THINKFORSECS\": \"gondold: %1 %2 másodpercig\",\n \"LOOKS_THINK\": \"gondold: %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"jelenj meg\",\n \"LOOKS_HIDE\": \"tűnj el\",\n \"LOOKS_HIDEALLSPRITES\": \"rejtsd el az összes szereplőt\",\n \"LOOKS_EFFECT_COLOR\": \"szín\",\n \"LOOKS_EFFECT_FISHEYE\": \"halszem\",\n \"LOOKS_EFFECT_WHIRL\": \"örvény\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixeles\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaik\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"fényerő\",\n \"LOOKS_EFFECT_GHOST\": \"szellem\",\n \"LOOKS_CHANGEEFFECTBY\": \"%1 hatás változzon %2\",\n \"LOOKS_SETEFFECTTO\": \"%1 hatás legyen %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"töröld a grafikus hatásokat\",\n \"LOOKS_CHANGESIZEBY\": \"méret változzon %1\",\n \"LOOKS_SETSIZETO\": \"méret legyen %1 %\",\n \"LOOKS_SIZE\": \"méret\",\n \"LOOKS_CHANGESTRETCHBY\": \"nyújtás változzon %1\",\n \"LOOKS_SETSTRETCHTO\": \"nyújtás legyen %1\",\n \"LOOKS_SWITCHCOSTUMETO\": \"jelmez legyen %1\",\n \"LOOKS_NEXTCOSTUME\": \"következő jelmez\",\n \"LOOKS_SWITCHBACKDROPTO\": \"háttér legyen %1\",\n \"LOOKS_GOTOFRONTBACK\": \"kerülj %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"legelőre\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"leghátra\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"kerülj %1 %2 szintet\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"előre\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"hátra\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"háttér %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"jelmez %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"sorszáma\",\n \"LOOKS_NUMBERNAME_NAME\": \"neve\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"háttér legyen %1 és várj\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"következő háttér\",\n \"LOOKS_NEXTBACKDROP\": \"következő háttér\",\n \"LOOKS_PREVIOUSBACKDROP\": \"előző háttér\",\n \"LOOKS_RANDOMBACKDROP\": \"véletlen háttér\",\n \"MOTION_MOVESTEPS\": \"menj %1 lépést\",\n \"MOTION_TURNLEFT\": \"fordulj %1 %2 fokot\",\n \"MOTION_TURNRIGHT\": \"fordulj %1 %2 fokot\",\n \"MOTION_POINTINDIRECTION\": \"nézz %1 fokos irányba\",\n \"MOTION_POINTTOWARDS\": \"nézz %1 felé\",\n \"MOTION_POINTTOWARDS_POINTER\": \"egérmutató\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"véletlen irány\",\n \"MOTION_GOTO\": \"ugorj %1 helyére\",\n \"MOTION_GOTO_POINTER\": \"egérmutató\",\n \"MOTION_GOTO_RANDOM\": \"véletlen hely\",\n \"MOTION_GOTOXY\": \"ugorj ide: x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"csússz %1 mp-ig ide: x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"csússz %1 mp-ig ide: %2\",\n \"MOTION_GLIDETO_POINTER\": \"egérmutató\",\n \"MOTION_GLIDETO_RANDOM\": \"véletlen hely\",\n \"MOTION_CHANGEXBY\": \"x változzon %1\",\n \"MOTION_SETX\": \"x legyen %1\",\n \"MOTION_CHANGEYBY\": \"y változzon %1\",\n \"MOTION_SETY\": \"y legyen %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"ha szélen vagy, pattanj vissza\",\n \"MOTION_SETROTATIONSTYLE\": \"jelmez %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"balra-jobbra nézhet\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"nem foroghat\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"foroghat\",\n \"MOTION_XPOSITION\": \"x hely\",\n \"MOTION_YPOSITION\": \"y hely\",\n \"MOTION_DIRECTION\": \"irány\",\n \"MOTION_SCROLLRIGHT\": \"görgess jobbra: %1\",\n \"MOTION_SCROLLUP\": \"görgess fel: %1\",\n \"MOTION_ALIGNSCENE\": \"%1 jelenet igazítása\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"lent balra\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"lent jobbra\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"középen\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"fent balra\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"fent jobbra\",\n \"MOTION_XSCROLL\": \"x görgetés\",\n \"MOTION_YSCROLL\": \"y görgetés\",\n \"MOTION_STAGE_SELECTED\": \"A színpad nem mozgatható\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"véletlen %1 és %2 között\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 és %2\",\n \"OPERATORS_OR\": \"%1 vagy %2\",\n \"OPERATORS_NOT\": \"nem %1\",\n \"OPERATORS_JOIN\": \"%1 %2 együtt\",\n \"OPERATORS_JOIN_APPLE\": \"alma\",\n \"OPERATORS_JOIN_BANANA\": \"banán\",\n \"OPERATORS_LETTEROF\": \"%2 %1 betűje\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"%1 hossza\",\n \"OPERATORS_CONTAINS\": \"%1 tartalmazza %2?\",\n \"OPERATORS_MOD\": \"%1 / %2 maradéka\",\n \"OPERATORS_ROUND\": \"%1 kerekítve\",\n \"OPERATORS_MATHOP\": \"%2 %1\",\n \"OPERATORS_MATHOP_ABS\": \"abszolut értéke\",\n \"OPERATORS_MATHOP_FLOOR\": \"lefelé kerekítve\",\n \"OPERATORS_MATHOP_CEILING\": \"felfelé kerekítve\",\n \"OPERATORS_MATHOP_SQRT\": \"gyöke\",\n \"OPERATORS_MATHOP_SIN\": \"szinusza\",\n \"OPERATORS_MATHOP_COS\": \"koszinusza\",\n \"OPERATORS_MATHOP_TAN\": \"tangense\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"logaritmusa\",\n \"OPERATORS_MATHOP_EEXP\": \"e^\",\n \"OPERATORS_MATHOP_10EXP\": \"10^\",\n \"PROCEDURES_DEFINITION\": \"%1 meghatározása\",\n \"SENSING_TOUCHINGOBJECT\": \"érinted: %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"egérmutató\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"színpad széle\",\n \"SENSING_TOUCHINGCOLOR\": \"érintesz %1 színt?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 érint %2 színt?\",\n \"SENSING_DISTANCETO\": \"%1 távolsága\",\n \"SENSING_DISTANCETO_POINTER\": \"egérmutató\",\n \"SENSING_ASKANDWAIT\": \"kérdezd meg: %1 és várj\",\n \"SENSING_ASK_TEXT\": \"Hogy hívnak?\",\n \"SENSING_ANSWER\": \"válasz\",\n \"SENSING_KEYPRESSED\": \"%1 lenyomva?\",\n \"SENSING_MOUSEDOWN\": \"egér lenyomva?\",\n \"SENSING_MOUSEX\": \"egér x\",\n \"SENSING_MOUSEY\": \"egér y\",\n \"SENSING_SETDRAGMODE\": \"húzás módja legyen %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"húzható\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"nem húzható\",\n \"SENSING_LOUDNESS\": \"hangerő\",\n \"SENSING_LOUD\": \"hangos?\",\n \"SENSING_TIMER\": \"időmérő\",\n \"SENSING_RESETTIMER\": \"időmérő visszaállítása\",\n \"SENSING_OF\": \"%2 %1\",\n \"SENSING_OF_XPOSITION\": \"x hely\",\n \"SENSING_OF_YPOSITION\": \"y hely\",\n \"SENSING_OF_DIRECTION\": \"irány\",\n \"SENSING_OF_COSTUMENUMBER\": \"jelmez sorszáma\",\n \"SENSING_OF_COSTUMENAME\": \"jelmez neve\",\n \"SENSING_OF_SIZE\": \"mérete\",\n \"SENSING_OF_VOLUME\": \"hangereje\",\n \"SENSING_OF_BACKDROPNUMBER\": \"háttér sorszáma\",\n \"SENSING_OF_BACKDROPNAME\": \"háttér neve\",\n \"SENSING_OF_STAGE\": \"Színpad\",\n \"SENSING_CURRENT\": \"jelenlegi %1\",\n \"SENSING_CURRENT_YEAR\": \"év\",\n \"SENSING_CURRENT_MONTH\": \"hónap\",\n \"SENSING_CURRENT_DATE\": \"nap\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"hét napja\",\n \"SENSING_CURRENT_HOUR\": \"óra\",\n \"SENSING_CURRENT_MINUTE\": \"perc\",\n \"SENSING_CURRENT_SECOND\": \"másodperc\",\n \"SENSING_DAYSSINCE2000\": \"napok 2000 óta\",\n \"SENSING_USERNAME\": \"felhasználó\",\n \"SENSING_USERID\": \"felhasználóazonosító\",\n \"SOUND_PLAY\": \"indítsd el %1 hangot\",\n \"SOUND_PLAYUNTILDONE\": \"játszd végig %1 hangot\",\n \"SOUND_STOPALLSOUNDS\": \"minden hang álljon le\",\n \"SOUND_SETEFFECTO\": \"%1 hatás legyen %2\",\n \"SOUND_CHANGEEFFECTBY\": \"%1 hatás változzon %2\",\n \"SOUND_CLEAREFFECTS\": \"hanghatások törlése\",\n \"SOUND_EFFECTS_PITCH\": \"hangmagasság\",\n \"SOUND_EFFECTS_PAN\": \"pásztázás balra/jobbra\",\n \"SOUND_CHANGEVOLUMEBY\": \"hangerő változzon %1\",\n \"SOUND_SETVOLUMETO\": \"hangerő legyen %1%\",\n \"SOUND_VOLUME\": \"hangerő\",\n \"SOUND_RECORD\": \"felvétel...\",\n \"CATEGORY_MOTION\": \"Mozgás\",\n \"CATEGORY_LOOKS\": \"Kinézet\",\n \"CATEGORY_SOUND\": \"Hang\",\n \"CATEGORY_EVENTS\": \"Események\",\n \"CATEGORY_CONTROL\": \"Vezérlés\",\n \"CATEGORY_SENSING\": \"Érzékelés\",\n \"CATEGORY_OPERATORS\": \"Műveletek\",\n \"CATEGORY_VARIABLES\": \"Változók\",\n \"CATEGORY_MYBLOCKS\": \"Blokkjaim\",\n \"DUPLICATE\": \"Duplikálás\",\n \"DELETE\": \"Törlés\",\n \"ADD_COMMENT\": \"Megjegyzés\",\n \"REMOVE_COMMENT\": \"Megjegyzés eltávolítása\",\n \"DELETE_BLOCK\": \"Blokk törlése\",\n \"DELETE_X_BLOCKS\": \"Törölj %1 blokkot\",\n \"DELETE_ALL_BLOCKS\": \"Mind a %1 blokk törlése?\",\n \"CLEAN_UP\": \"Rendrakás\",\n \"HELP\": \"Súgó\",\n \"UNDO\": \"Visszavonás\",\n \"REDO\": \"Mégis\",\n \"EDIT_PROCEDURE\": \"Szerkesztés\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Ugorj a meghatározáshoz\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Mondj valamit...\",\n \"COLOUR_HUE_LABEL\": \"Szín\",\n \"COLOUR_SATURATION_LABEL\": \"Telítettség\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Fényerő\",\n \"CHANGE_VALUE_TITLE\": \"Érték változtatása:\",\n \"RENAME_VARIABLE\": \"Változó átnevezése\",\n \"RENAME_VARIABLE_TITLE\": \"Minden „%1” változó átnevezése erre:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Változó átnevezése\",\n \"NEW_VARIABLE\": \"Változó létrehozása\",\n \"NEW_VARIABLE_TITLE\": \"Új változó neve:\",\n \"VARIABLE_MODAL_TITLE\": \"Új változó\",\n \"VARIABLE_ALREADY_EXISTS\": \"„%1” nevű változó már létezik.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"„%1” nevű változó már létezik egy másik „%2” típusú változónál\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Törlöd „%2” változót (%1 használat)?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"„%1” változó nem törölhető, mert „%2” függvény leírásának része\",\n \"DELETE_VARIABLE\": \"Töröld „%1” változót\",\n \"NEW_PROCEDURE\": \"Blokk létrehozása\",\n \"PROCEDURE_ALREADY_EXISTS\": \"„%1” nevű blokk már létezik.\",\n \"PROCEDURE_DEFAULT_NAME\": \"blokknév\",\n \"NEW_LIST\": \"Lista létrehozása\",\n \"NEW_LIST_TITLE\": \"Új lista neve:\",\n \"LIST_MODAL_TITLE\": \"Új lista\",\n \"LIST_ALREADY_EXISTS\": \"„%1” nevű lista már létezik.\",\n \"RENAME_LIST_TITLE\": \"Nevezd át az összes „%1” listát erre:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Lista átnevezése\",\n \"DEFAULT_LIST_ITEM\": \"valami\",\n \"DELETE_LIST\": \"Töröld „%1” listát\",\n \"RENAME_LIST\": \"Lista átnevezése\",\n \"NEW_BROADCAST_MESSAGE\": \"Új üzenet\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Új üzenet neve:\",\n \"BROADCAST_MODAL_TITLE\": \"Új üzenet\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"üzenet1\"\n};\n\nBlockly.ScratchMsgs.locales[\"mi\"] =\n{\n \"CONTROL_FOREVER\": \"mō ake, ake mahia\",\n \"CONTROL_REPEAT\": \"tōaitia %1\",\n \"CONTROL_IF\": \"mēnā %1 mahia\",\n \"CONTROL_ELSE\": \"kē atu\",\n \"CONTROL_STOP\": \"katia\",\n \"CONTROL_STOP_ALL\": \"katoa\",\n \"CONTROL_STOP_THIS\": \"tēnei hōtuhi\",\n \"CONTROL_STOP_OTHER\": \"hōtuhi kē i roto i te parehe\",\n \"CONTROL_WAIT\": \"tatari kia %1 hēkona\",\n \"CONTROL_WAITUNTIL\": \"tatari kia %1\",\n \"CONTROL_REPEATUNTIL\": \"tōaitia tonutia kia %1\",\n \"CONTROL_WHILE\": \"tōaitia tonutia mēnā %1\",\n \"CONTROL_FOREACH\": \"mō ia %1 o roto i te %2\",\n \"CONTROL_STARTASCLONE\": \"ina ka tīmata mai ahau hei tārua\",\n \"CONTROL_CREATECLONEOF\": \"whakapūruatia %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"ahau anō\",\n \"CONTROL_DELETETHISCLONE\": \"mukua tēnei tāruarua\",\n \"CONTROL_COUNTER\": \"pūtatau\",\n \"CONTROL_INCRCOUNTER\": \"tāpiri tahi ki te pūtatau\",\n \"CONTROL_CLEARCOUNTER\": \"ūkui pūtatau\",\n \"CONTROL_ALLATONCE\": \"te katoa i te wā kotahi\",\n \"DATA_SETVARIABLETO\": \"tautuhia %1 ki te %2\",\n \"DATA_CHANGEVARIABLEBY\": \"panonitia %1 mā te %2\",\n \"DATA_SHOWVARIABLE\": \"whakaaturia te taurangi %1\",\n \"DATA_HIDEVARIABLE\": \"hunaia te taurangi %1\",\n \"DATA_ADDTOLIST\": \"tāpiritia te %1 ki te %2\",\n \"DATA_DELETEOFLIST\": \"mukua %1 i a %2\",\n \"DATA_DELETEALLOFLIST\": \"mukua te katoa o %1\",\n \"DATA_INSERTATLIST\": \"whakaurua te %1 hei %2 o %3\",\n \"DATA_REPLACEITEMOFLIST\": \"whakakapia te tūemi %1 o %2, ki %3\",\n \"DATA_ITEMOFLIST\": \"te tūemi %1 o %2\",\n \"DATA_ITEMNUMOFLIST\": \"te tūemi # %1 o %2\",\n \"DATA_LENGTHOFLIST\": \"te roanga o te %1\",\n \"DATA_LISTCONTAINSITEM\": \"kei roto i %1 te %2?\",\n \"DATA_SHOWLIST\": \"whakaaturia te rārangi %1\",\n \"DATA_HIDELIST\": \"hunāia te rārangi %1\",\n \"DATA_INDEX_ALL\": \"katoa\",\n \"DATA_INDEX_LAST\": \"whakamutunga\",\n \"DATA_INDEX_RANDOM\": \"matapōkere\",\n \"EVENT_WHENFLAGCLICKED\": \"ina pāwhiria te %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"ina pāwhiria tēnei parehe\",\n \"EVENT_WHENSTAGECLICKED\": \"ina pāwhiria te Atamira\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"ka pā tēnei parehe i te %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"ina ka riro mai te %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"ina hurihia te ārai tuarongo kia %1\",\n \"EVENT_WHENGREATERTHAN\": \"mēnā %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"taima\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"hoihoi\",\n \"EVENT_BROADCAST\": \"whakapaoho %1\",\n \"EVENT_BROADCASTANDWAIT\": \"whakapaoho %1, kātahi tatari\",\n \"EVENT_WHENKEYPRESSED\": \"ina pēhia te pātuhi %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"mokowā\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"pere mauī\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"pere katau\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"pere whakararo\",\n \"EVENT_WHENKEYPRESSED_UP\": \"pere whakarunga\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"noa\",\n \"LOOKS_SAYFORSECS\": \"kīia %1 mō ngā hēkona %2\",\n \"LOOKS_SAY\": \"kīia %1\",\n \"LOOKS_HELLO\": \"Kia ora!\",\n \"LOOKS_THINKFORSECS\": \"whakaarohia te %1 mō ngā hēkona %2\",\n \"LOOKS_THINK\": \"whakaarohia te %1\",\n \"LOOKS_HMM\": \"Āa...\",\n \"LOOKS_SHOW\": \"whakaatu\",\n \"LOOKS_HIDE\": \"huna\",\n \"LOOKS_HIDEALLSPRITES\": \"hunaia ngā parehe katoa\",\n \"LOOKS_EFFECT_COLOR\": \"tae\",\n \"LOOKS_EFFECT_FISHEYE\": \"karu ika\",\n \"LOOKS_EFFECT_WHIRL\": \"kōriporipo\",\n \"LOOKS_EFFECT_PIXELATE\": \"whakatongitongi\",\n \"LOOKS_EFFECT_MOSAIC\": \"toi rōpinepine\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"pīataata\",\n \"LOOKS_EFFECT_GHOST\": \"kēhua\",\n \"LOOKS_CHANGEEFFECTBY\": \"panonitia te rākeitanga %1 mā te %2\",\n \"LOOKS_SETEFFECTTO\": \"panonitia te rākeitanga %1 ki te %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"ūkui rākeitanga whakairoiro\",\n \"LOOKS_CHANGESIZEBY\": \"panonitia te rahi mā te %1\",\n \"LOOKS_SETSIZETO\": \"tautuhia te rahi kia %1 %\",\n \"LOOKS_SIZE\": \"rahi\",\n \"LOOKS_CHANGESTRETCHBY\": \"panonitia te toronga mā te %1\",\n \"LOOKS_SETSTRETCHTO\": \"tautuhia te toronga kia %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"panonitia te kākahu kia %1\",\n \"LOOKS_NEXTCOSTUME\": \"kākahu panuku\",\n \"LOOKS_SWITCHBACKDROPTO\": \"panonitia te ārai tuarongo kia %1\",\n \"LOOKS_GOTOFRONTBACK\": \"haere ki te apa %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"mua\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"muri\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"nekehia %1, kia %2 ngā apaapa\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"ki mua\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"ki muri\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"ārai tuarongo %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"kākahu %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"nama\",\n \"LOOKS_NUMBERNAME_NAME\": \"ingoa\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"panonitia te ārai tuarongo kia %1, kātahi, tatari\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"ārai tuarongo panuku\",\n \"LOOKS_NEXTBACKDROP\": \"ārai tuarongo panuku\",\n \"LOOKS_PREVIOUSBACKDROP\": \"ārai tuarongo o mua\",\n \"LOOKS_RANDOMBACKDROP\": \"ārai tuarongo matapōkere\",\n \"MOTION_MOVESTEPS\": \"nekehia kia %1 ngā takahanga\",\n \"MOTION_TURNLEFT\": \"hurihia %1, kia %2 putu\",\n \"MOTION_TURNRIGHT\": \"hurihia %1, kia %2 putu\",\n \"MOTION_POINTINDIRECTION\": \"atatohua ki %1\",\n \"MOTION_POINTTOWARDS\": \"atatohua ki %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"atatohu-kiore\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"ahunga matapōkere\",\n \"MOTION_GOTO\": \"neke ki %1\",\n \"MOTION_GOTO_POINTER\": \"atatohu-kiore\",\n \"MOTION_GOTO_RANDOM\": \"tūnga matapōkere\",\n \"MOTION_GOTOXY\": \"neke ki x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"wania kia %1 hēkona ki x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"wania kia %1 hēkona ki %2\",\n \"MOTION_GLIDETO_POINTER\": \"atatohu-kiore\",\n \"MOTION_GLIDETO_RANDOM\": \"tūnga matapōkere\",\n \"MOTION_CHANGEXBY\": \"panonitia x mā te %1\",\n \"MOTION_SETX\": \"tautuhia te x kia %1\",\n \"MOTION_CHANGEYBY\": \"panonitia y mā te %1\",\n \"MOTION_SETY\": \"tautuhia te y kia %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"mēnā kei te taitapa, tupanatia\",\n \"MOTION_SETROTATIONSTYLE\": \"tautuhia te momo huringa kia %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"mauī-ki-katau\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"kaua e takahuri\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"huri noa\",\n \"MOTION_XPOSITION\": \"tūnga x\",\n \"MOTION_YPOSITION\": \"tūnga y\",\n \"MOTION_DIRECTION\": \"ahunga\",\n \"MOTION_SCROLLRIGHT\": \"panuku whakatekatau %1\",\n \"MOTION_SCROLLUP\": \"panuku whakarunga %1\",\n \"MOTION_ALIGNSCENE\": \"tīaro kāpeka %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"taha mauī o raro\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"taha katau o raro\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"waenga\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"taha mauī o runga\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"taha katau o runga\",\n \"MOTION_XSCROLL\": \"panuku x\",\n \"MOTION_YSCROLL\": \"panuku y\",\n \"MOTION_STAGE_SELECTED\": \"Kua tīpakongia te atamira: kāore he paraka nekeneke\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"kōwhiria matapōkere %1 ki te %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 me %2\",\n \"OPERATORS_OR\": \"%1, %2 rānei\",\n \"OPERATORS_NOT\": \"ehara ko te %1\",\n \"OPERATORS_JOIN\": \"tāpiritia te %1, %2\",\n \"OPERATORS_JOIN_APPLE\": \"āporo\",\n \"OPERATORS_JOIN_BANANA\": \"panana\",\n \"OPERATORS_LETTEROF\": \"te pū %1 o te %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"he\",\n \"OPERATORS_LENGTH\": \"te roanga o te %1\",\n \"OPERATORS_CONTAINS\": \"kei roto i a %1 : %2?\",\n \"OPERATORS_MOD\": \"%1 % %2\",\n \"OPERATORS_ROUND\": \"whakaawhiwhi %1\",\n \"OPERATORS_MATHOP\": \"%1 o te %2\",\n \"OPERATORS_MATHOP_ABS\": \"abs\",\n \"OPERATORS_MATHOP_FLOOR\": \"papa\",\n \"OPERATORS_MATHOP_CEILING\": \"tuanui\",\n \"OPERATORS_MATHOP_SQRT\": \"sqrt\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"tautuhia %1\",\n \"SENSING_TOUCHINGOBJECT\": \"kei te pā ki te %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"atatohu-kiore\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"taitapa\",\n \"SENSING_TOUCHINGCOLOR\": \"kei te pā ki te tae %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"ka pā te tae %1 i te %2?\",\n \"SENSING_DISTANCETO\": \"tawhiti ki %1\",\n \"SENSING_DISTANCETO_POINTER\": \"atatohu-kiore\",\n \"SENSING_ASKANDWAIT\": \"pātai %1, kātahi, tatari\",\n \"SENSING_ASK_TEXT\": \"Ko wai tō ingoa?\",\n \"SENSING_ANSWER\": \"whakautu\",\n \"SENSING_KEYPRESSED\": \"kua pēhia te pātuhi %1?\",\n \"SENSING_MOUSEDOWN\": \"pāwhiri kiore?\",\n \"SENSING_MOUSEX\": \"x kiore\",\n \"SENSING_MOUSEY\": \"y kiore\",\n \"SENSING_SETDRAGMODE\": \"tautuhia te aratau tō kia %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"ka taea te tō\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"kāore e taea te tō\",\n \"SENSING_LOUDNESS\": \"hoihoi\",\n \"SENSING_LOUD\": \"hoihoi?\",\n \"SENSING_TIMER\": \"taima\",\n \"SENSING_RESETTIMER\": \"tautuhia anōtia te taima\",\n \"SENSING_OF\": \"%1 o %2\",\n \"SENSING_OF_XPOSITION\": \"tūnga x\",\n \"SENSING_OF_YPOSITION\": \"tūnga y\",\n \"SENSING_OF_DIRECTION\": \"ahunga\",\n \"SENSING_OF_COSTUMENUMBER\": \"kākahu #\",\n \"SENSING_OF_COSTUMENAME\": \"ingoa kākahu\",\n \"SENSING_OF_SIZE\": \"rahi\",\n \"SENSING_OF_VOLUME\": \"kahaoro\",\n \"SENSING_OF_BACKDROPNUMBER\": \"ārai tuarongo #\",\n \"SENSING_OF_BACKDROPNAME\": \"ingoa ārai tuarongo\",\n \"SENSING_OF_STAGE\": \"Atamira\",\n \"SENSING_CURRENT\": \"%1 o nāianei\",\n \"SENSING_CURRENT_YEAR\": \"tau\",\n \"SENSING_CURRENT_MONTH\": \"marama\",\n \"SENSING_CURRENT_DATE\": \"te rā\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"te rangi o te wiki\",\n \"SENSING_CURRENT_HOUR\": \"haora\",\n \"SENSING_CURRENT_MINUTE\": \"miniti\",\n \"SENSING_CURRENT_SECOND\": \"hēkona\",\n \"SENSING_DAYSSINCE2000\": \"ngā rā mai i 2000\",\n \"SENSING_USERNAME\": \"ingoa kaiwhakamahi\",\n \"SENSING_USERID\": \"tohu tuakiri\",\n \"SOUND_PLAY\": \"tīmatahia te whakatangi i te oro %1\",\n \"SOUND_PLAYUNTILDONE\": \"whakatangihia te oro %1 kia mutu rawa\",\n \"SOUND_STOPALLSOUNDS\": \"katia ngā oro katoa\",\n \"SOUND_SETEFFECTO\": \"tautuhia te rākeitanga %1 kia %2\",\n \"SOUND_CHANGEEFFECTBY\": \"panonitia te rākeitanga %1 mā te %2\",\n \"SOUND_CLEAREFFECTS\": \"ūkui rākeitanga orotaunaki\",\n \"SOUND_EFFECTS_PITCH\": \"hauoro\",\n \"SOUND_EFFECTS_PAN\": \"huri whakatemauī/whakatekatau\",\n \"SOUND_CHANGEVOLUMEBY\": \"panonitia te kahaoro mā te %1\",\n \"SOUND_SETVOLUMETO\": \"tautuhia te kahaoro kia %1%\",\n \"SOUND_VOLUME\": \"kahaoro\",\n \"SOUND_RECORD\": \"hopukina...\",\n \"CATEGORY_MOTION\": \"Nekehanga\",\n \"CATEGORY_LOOKS\": \"Āhua\",\n \"CATEGORY_SOUND\": \"Oro\",\n \"CATEGORY_EVENTS\": \"Takahanga\",\n \"CATEGORY_CONTROL\": \"Whakatina\",\n \"CATEGORY_SENSING\": \"Paerongo\",\n \"CATEGORY_OPERATORS\": \"Tohutūmahi\",\n \"CATEGORY_VARIABLES\": \"Ngā Taurangi\",\n \"CATEGORY_MYBLOCKS\": \"Aku Paraka\",\n \"DUPLICATE\": \"Tāruatia\",\n \"DELETE\": \"Mukua\",\n \"ADD_COMMENT\": \"Tāpiri Tākupu\",\n \"REMOVE_COMMENT\": \"Mukua te Tākupu\",\n \"DELETE_BLOCK\": \"Mukua te Paraka\",\n \"DELETE_X_BLOCKS\": \"Mukua %1 Paraka\",\n \"DELETE_ALL_BLOCKS\": \"Mukua te katoa o ngā paraka e %1 ?\",\n \"CLEAN_UP\": \"Whakatikatika i ngā Paraka\",\n \"HELP\": \"Āwhina\",\n \"UNDO\": \"Wetekia\",\n \"REDO\": \"Mahia anōtia\",\n \"EDIT_PROCEDURE\": \"Whakatikaina\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Haere ki te tautuhinga\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Kīia tētahi mea...\",\n \"COLOUR_HUE_LABEL\": \"Tae\",\n \"COLOUR_SATURATION_LABEL\": \"Waiwai\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Pīataata\",\n \"CHANGE_VALUE_TITLE\": \"Panonitia te uara:\",\n \"RENAME_VARIABLE\": \"Tapaina anōtia te taurangi\",\n \"RENAME_VARIABLE_TITLE\": \"Tapaina anōtia te katoa o ngā taurangi \\\"%1\\\" ki:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Tapaina anōtia te Taurangi\",\n \"NEW_VARIABLE\": \"Hangaia tētahi taurangi\",\n \"NEW_VARIABLE_TITLE\": \"Ingoa taurangi hou:\",\n \"VARIABLE_MODAL_TITLE\": \"Taurangi Hou\",\n \"VARIABLE_ALREADY_EXISTS\": \"Kua hangaia kētia tētahi taurangi, ko \\\"%1\\\" te ingoa.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Kua hangaia kētia tētahi taurangi, ko \\\"%1\\\" te ingoa, engari he momo \\\"%2\\\" tērā.\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Mukua hoki %1 ngā mahinga o te taurangi \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Kāore e taea te muku i te taurangi \\\"%1\\\", nā te mea he wāhanga taua taurangi o te tautuhinga mō te hātepe \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Mukua te taurangi \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Hangaia tētahi Paraka\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Kua hangaia kētia tētahi hātepe ko \\\"%1\\\" te ingoa.\",\n \"PROCEDURE_DEFAULT_NAME\": \"ingoa paraka\",\n \"NEW_LIST\": \"Hangaia tētahi Rārangi\",\n \"NEW_LIST_TITLE\": \"Ingoa rārangi hou:\",\n \"LIST_MODAL_TITLE\": \"Rārangi Hou\",\n \"LIST_ALREADY_EXISTS\": \"Kua hangaia kētia tētahi rārangi ko \\\"%1\\\" te ingoa.\",\n \"RENAME_LIST_TITLE\": \"Tapaina anōtia te katoa o ngā rārangi \\\"%1\\\" ki:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Tapaina te Rārangi\",\n \"DEFAULT_LIST_ITEM\": \"mea\",\n \"DELETE_LIST\": \"Mukua te rārangi \\\"%1\\\"\",\n \"RENAME_LIST\": \"Tapaina anōtia te Rārangi\",\n \"NEW_BROADCAST_MESSAGE\": \"Karere hou\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Ingoa karere hou:\",\n \"BROADCAST_MODAL_TITLE\": \"Karere Hou\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"karere1\"\n};\n\nBlockly.ScratchMsgs.locales[\"nl\"] =\n{\n \"CONTROL_FOREVER\": \"herhaal\",\n \"CONTROL_REPEAT\": \"herhaal %1\",\n \"CONTROL_IF\": \"als %1 dan\",\n \"CONTROL_ELSE\": \"anders\",\n \"CONTROL_STOP\": \"stop\",\n \"CONTROL_STOP_ALL\": \"alle\",\n \"CONTROL_STOP_THIS\": \"dit script\",\n \"CONTROL_STOP_OTHER\": \"andere scripts in sprite\",\n \"CONTROL_WAIT\": \"wacht %1 sec.\",\n \"CONTROL_WAITUNTIL\": \"wacht tot %1\",\n \"CONTROL_REPEATUNTIL\": \"herhaal tot %1\",\n \"CONTROL_WHILE\": \"zolang %1\",\n \"CONTROL_FOREACH\": \"voor elke %1 in %2\",\n \"CONTROL_STARTASCLONE\": \"wanneer ik als kloon start\",\n \"CONTROL_CREATECLONEOF\": \"maak een kloon van %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"mijzelf\",\n \"CONTROL_DELETETHISCLONE\": \"verwijder deze kloon\",\n \"CONTROL_COUNTER\": \"teller\",\n \"CONTROL_INCRCOUNTER\": \"verhoog teller\",\n \"CONTROL_CLEARCOUNTER\": \"zet teller op 0\",\n \"CONTROL_ALLATONCE\": \"alles in een keer\",\n \"DATA_SETVARIABLETO\": \"maak %1 %2\",\n \"DATA_CHANGEVARIABLEBY\": \"verander %1 met %2\",\n \"DATA_SHOWVARIABLE\": \"toon variabele %1\",\n \"DATA_HIDEVARIABLE\": \"verberg variabele %1\",\n \"DATA_ADDTOLIST\": \"voeg %1 toe aan %2\",\n \"DATA_DELETEOFLIST\": \"verwijder %1 van %2\",\n \"DATA_DELETEALLOFLIST\": \"verwijder alle van %1\",\n \"DATA_INSERTATLIST\": \"voeg %1 toe op %2 van %3\",\n \"DATA_REPLACEITEMOFLIST\": \"vervang item %1 van %2 door %3\",\n \"DATA_ITEMOFLIST\": \"item %1 van %2\",\n \"DATA_ITEMNUMOFLIST\": \"item # van %1 in %2\",\n \"DATA_LENGTHOFLIST\": \"lengte van %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 bevat %2?\",\n \"DATA_SHOWLIST\": \"toon lijst %1\",\n \"DATA_HIDELIST\": \"verberg lijst %1\",\n \"DATA_INDEX_ALL\": \"alle\",\n \"DATA_INDEX_LAST\": \"laatste\",\n \"DATA_INDEX_RANDOM\": \"willekeurig\",\n \"EVENT_WHENFLAGCLICKED\": \"wanneer op %1 wordt geklikt\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"wanneer op deze sprite wordt geklikt\",\n \"EVENT_WHENSTAGECLICKED\": \"wanneer op het speelveld wordt geklikt\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"wanneer deze sprite %1 raakt\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"wanneer ik signaal %1 ontvang\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"wanneer achtergrond verandert naar %1\",\n \"EVENT_WHENGREATERTHAN\": \"wanneer %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"klok\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"volume\",\n \"EVENT_BROADCAST\": \"zend signaal %1\",\n \"EVENT_BROADCASTANDWAIT\": \"zend signaal %1 en wacht\",\n \"EVENT_WHENKEYPRESSED\": \"wanneer %1 is ingedrukt\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"spatiebalk\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"pijltje links\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"pijltje rechts\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"pijltje omlaag\",\n \"EVENT_WHENKEYPRESSED_UP\": \"pijltje omhoog\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"willekeurig\",\n \"LOOKS_SAYFORSECS\": \"zeg %1 %2 sec.\",\n \"LOOKS_SAY\": \"zeg %1\",\n \"LOOKS_HELLO\": \"Hallo!\",\n \"LOOKS_THINKFORSECS\": \"denk %1 %2 sec.\",\n \"LOOKS_THINK\": \"denk %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"verschijn\",\n \"LOOKS_HIDE\": \"verdwijn\",\n \"LOOKS_HIDEALLSPRITES\": \"verberg alle sprites\",\n \"LOOKS_EFFECT_COLOR\": \"kleur\",\n \"LOOKS_EFFECT_FISHEYE\": \"vissenoog\",\n \"LOOKS_EFFECT_WHIRL\": \"draaikolk\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixeleren\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaïek\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"helderheid\",\n \"LOOKS_EFFECT_GHOST\": \"transparant\",\n \"LOOKS_CHANGEEFFECTBY\": \"verander %1 effect met %2\",\n \"LOOKS_SETEFFECTTO\": \"zet %1 effect op %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"zet alle effecten uit\",\n \"LOOKS_CHANGESIZEBY\": \"verander grootte met %1\",\n \"LOOKS_SETSIZETO\": \"maak grootte %1 %\",\n \"LOOKS_SIZE\": \"grootte\",\n \"LOOKS_CHANGESTRETCHBY\": \"verander stretch met %1\",\n \"LOOKS_SETSTRETCHTO\": \"maak stretch %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"verander uiterlijk naar %1\",\n \"LOOKS_NEXTCOSTUME\": \"volgend uiterlijk\",\n \"LOOKS_SWITCHBACKDROPTO\": \"verander achtergrond naar %1\",\n \"LOOKS_GOTOFRONTBACK\": \"ga naar laag %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"voorgrond\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"achtergrond\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"ga %1 %2 lagen\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"naar voren\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"naar achteren\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"achtergrond %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"uiterlijk %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"nummer\",\n \"LOOKS_NUMBERNAME_NAME\": \"naam\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"verander achtergrond naar %1 en wacht\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"volgende achtergrond\",\n \"LOOKS_NEXTBACKDROP\": \"volgende achtergrond\",\n \"LOOKS_PREVIOUSBACKDROP\": \"vorige achtergrond\",\n \"LOOKS_RANDOMBACKDROP\": \"willekeurige achtergrond\",\n \"MOTION_MOVESTEPS\": \"neem %1 stappen\",\n \"MOTION_TURNLEFT\": \"draai %1 %2 graden\",\n \"MOTION_TURNRIGHT\": \"draai %1 %2 graden\",\n \"MOTION_POINTINDIRECTION\": \"richt naar %1 graden\",\n \"MOTION_POINTTOWARDS\": \"richt naar %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"muisaanwijzer\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"willekeurige richting\",\n \"MOTION_GOTO\": \"ga naar %1\",\n \"MOTION_GOTO_POINTER\": \"muisaanwijzer\",\n \"MOTION_GOTO_RANDOM\": \"willekeurige positie\",\n \"MOTION_GOTOXY\": \"ga naar x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"schuif in %1 sec. naar x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"schuif in %1 sec. naar %2\",\n \"MOTION_GLIDETO_POINTER\": \"muisaanwijzer\",\n \"MOTION_GLIDETO_RANDOM\": \"willekeurige positie\",\n \"MOTION_CHANGEXBY\": \"verander x met %1\",\n \"MOTION_SETX\": \"maak x %1\",\n \"MOTION_CHANGEYBY\": \"verander y met %1\",\n \"MOTION_SETY\": \"maak y %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"keer om aan de rand\",\n \"MOTION_SETROTATIONSTYLE\": \"maak draaistijl %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"links-rechts\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"niet draaien\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"helemaal rond\",\n \"MOTION_XPOSITION\": \"x-positie\",\n \"MOTION_YPOSITION\": \"y-positie\",\n \"MOTION_DIRECTION\": \"richting\",\n \"MOTION_SCROLLRIGHT\": \"rechts scrollen %1\",\n \"MOTION_SCROLLUP\": \"omhoog scrollen %1\",\n \"MOTION_ALIGNSCENE\": \"scène uitlijnen %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"linksonder\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"rechtsonder\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"midden\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"linksboven\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"rechtsboven\",\n \"MOTION_XSCROLL\": \"x scroll\",\n \"MOTION_YSCROLL\": \"y scroll\",\n \"MOTION_STAGE_SELECTED\": \"Speelveld geselecteerd: geen bewegingsblokken\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"willekeurig getal tussen %1 en %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 en %2\",\n \"OPERATORS_OR\": \"%1 of %2\",\n \"OPERATORS_NOT\": \"niet %1\",\n \"OPERATORS_JOIN\": \"voeg %1 en %2 samen\",\n \"OPERATORS_JOIN_APPLE\": \"appel\",\n \"OPERATORS_JOIN_BANANA\": \"banaan\",\n \"OPERATORS_LETTEROF\": \"letter %1 van %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"lengte van %1\",\n \"OPERATORS_CONTAINS\": \"%1 bevat %2?\",\n \"OPERATORS_MOD\": \"%1 modulo %2\",\n \"OPERATORS_ROUND\": \"afgerond %1\",\n \"OPERATORS_MATHOP\": \"%1 van %2\",\n \"OPERATORS_MATHOP_ABS\": \"absoluut\",\n \"OPERATORS_MATHOP_FLOOR\": \"beneden\",\n \"OPERATORS_MATHOP_CEILING\": \"boven\",\n \"OPERATORS_MATHOP_SQRT\": \"wortel\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definieer %1\",\n \"SENSING_TOUCHINGOBJECT\": \"raak ik %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"muisaanwijzer\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"rand\",\n \"SENSING_TOUCHINGCOLOR\": \"raak ik kleur %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"raakt kleur %1 kleur %2?\",\n \"SENSING_DISTANCETO\": \"afstand tot %1\",\n \"SENSING_DISTANCETO_POINTER\": \"muisaanwijzer\",\n \"SENSING_ASKANDWAIT\": \"vraag %1 en wacht\",\n \"SENSING_ASK_TEXT\": \"Hoe heet je?\",\n \"SENSING_ANSWER\": \"antwoord\",\n \"SENSING_KEYPRESSED\": \"toets %1 ingedrukt?\",\n \"SENSING_MOUSEDOWN\": \"muis ingedrukt?\",\n \"SENSING_MOUSEX\": \"muis x\",\n \"SENSING_MOUSEY\": \"muis y\",\n \"SENSING_SETDRAGMODE\": \"zet sleepbaar op %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"sleepbaar\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"niet sleepbaar\",\n \"SENSING_LOUDNESS\": \"volume\",\n \"SENSING_LOUD\": \"luid?\",\n \"SENSING_TIMER\": \"klok\",\n \"SENSING_RESETTIMER\": \"zet klok op 0\",\n \"SENSING_OF\": \"%1 van %2\",\n \"SENSING_OF_XPOSITION\": \"x-positie\",\n \"SENSING_OF_YPOSITION\": \"y-positie\",\n \"SENSING_OF_DIRECTION\": \"richting\",\n \"SENSING_OF_COSTUMENUMBER\": \"uiterlijk #\",\n \"SENSING_OF_COSTUMENAME\": \"naam uiterlijk\",\n \"SENSING_OF_SIZE\": \"grootte\",\n \"SENSING_OF_VOLUME\": \"volume\",\n \"SENSING_OF_BACKDROPNUMBER\": \"achtergrond #\",\n \"SENSING_OF_BACKDROPNAME\": \"achtergrond naam\",\n \"SENSING_OF_STAGE\": \"Speelveld\",\n \"SENSING_CURRENT\": \"huidige %1\",\n \"SENSING_CURRENT_YEAR\": \"jaar\",\n \"SENSING_CURRENT_MONTH\": \"maand\",\n \"SENSING_CURRENT_DATE\": \"datum\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"dag van de week\",\n \"SENSING_CURRENT_HOUR\": \"uur\",\n \"SENSING_CURRENT_MINUTE\": \"minuut\",\n \"SENSING_CURRENT_SECOND\": \"seconde\",\n \"SENSING_DAYSSINCE2000\": \"dagen sinds 2000\",\n \"SENSING_USERNAME\": \"gebruikersnaam\",\n \"SENSING_USERID\": \"gebruiker id\",\n \"SOUND_PLAY\": \"start geluid %1\",\n \"SOUND_PLAYUNTILDONE\": \"start geluid %1 en wacht\",\n \"SOUND_STOPALLSOUNDS\": \"stop alle geluiden\",\n \"SOUND_SETEFFECTO\": \"zet effect %1 op %2\",\n \"SOUND_CHANGEEFFECTBY\": \"verander %1-effect met %2\",\n \"SOUND_CLEAREFFECTS\": \"zet alle effecten uit\",\n \"SOUND_EFFECTS_PITCH\": \"toonhoogte\",\n \"SOUND_EFFECTS_PAN\": \"kanaal links/rechts\",\n \"SOUND_CHANGEVOLUMEBY\": \"verander volume met %1\",\n \"SOUND_SETVOLUMETO\": \"zet volume op %1%\",\n \"SOUND_VOLUME\": \"volume\",\n \"SOUND_RECORD\": \"opnemen...\",\n \"CATEGORY_MOTION\": \"Beweging\",\n \"CATEGORY_LOOKS\": \"Uiterlijken\",\n \"CATEGORY_SOUND\": \"Geluid\",\n \"CATEGORY_EVENTS\": \"Gebeurtenissen\",\n \"CATEGORY_CONTROL\": \"Besturen\",\n \"CATEGORY_SENSING\": \"Waarnemen\",\n \"CATEGORY_OPERATORS\": \"Functies\",\n \"CATEGORY_VARIABLES\": \"Variabelen\",\n \"CATEGORY_MYBLOCKS\": \"Mijn blokken\",\n \"DUPLICATE\": \"Kopie maken\",\n \"DELETE\": \"Verwijderen\",\n \"ADD_COMMENT\": \"Commentaar toevoegen\",\n \"REMOVE_COMMENT\": \"Commentaar verwijderen\",\n \"DELETE_BLOCK\": \"Blok verwijderen\",\n \"DELETE_X_BLOCKS\": \"Verwijder %1 blokken\",\n \"DELETE_ALL_BLOCKS\": \"Verwijder alle %1 blokken?\",\n \"CLEAN_UP\": \"Blokken opruimen\",\n \"HELP\": \"Help\",\n \"UNDO\": \"Ongedaan maken\",\n \"REDO\": \"Opnieuw\",\n \"EDIT_PROCEDURE\": \"Bewerk\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Ga naar definitie\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Zeg iets...\",\n \"COLOUR_HUE_LABEL\": \"Kleur\",\n \"COLOUR_SATURATION_LABEL\": \"Verzadiging\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Helderheid\",\n \"CHANGE_VALUE_TITLE\": \"Verander waarde:\",\n \"RENAME_VARIABLE\": \"Variabele hernoemen\",\n \"RENAME_VARIABLE_TITLE\": \"Hernoem alle '%1' variabelen naar:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Variabele hernoemen\",\n \"NEW_VARIABLE\": \"Maak een variabele\",\n \"NEW_VARIABLE_TITLE\": \"Nieuwe variabelenaam:\",\n \"VARIABLE_MODAL_TITLE\": \"Nieuwe variabele\",\n \"VARIABLE_ALREADY_EXISTS\": \"Er bestaat al een variabele met de naam '%1'.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Er bestaat al een variabele met de naam '%1' voor een andere variabele van het type '%2'\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Verwijder de %1 toepassingen van de variabele '%2'?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Kan de variabele '%1' niet verwijderen, omdat die deel uitmaakt van de definitie van de functie '%2'\",\n \"DELETE_VARIABLE\": \"Verwijder de variabele '%1'\",\n \"NEW_PROCEDURE\": \"Maak een blok\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Er bestaat al een procedure met de naam '%1'.\",\n \"PROCEDURE_DEFAULT_NAME\": \"bloknaam\",\n \"NEW_LIST\": \"Maak een lijst\",\n \"NEW_LIST_TITLE\": \"Nieuwe lijstnaam:\",\n \"LIST_MODAL_TITLE\": \"Nieuwe lijst\",\n \"LIST_ALREADY_EXISTS\": \"Er bestaat al een lijst met de naam '%1'.\",\n \"RENAME_LIST_TITLE\": \"Hernoem alle '%1' lijsten naar:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Lijst hernoemen\",\n \"DEFAULT_LIST_ITEM\": \"ding\",\n \"DELETE_LIST\": \"Verwijder de \\\"%1\\\" lijst\",\n \"RENAME_LIST\": \"Hernoem lijst\",\n \"NEW_BROADCAST_MESSAGE\": \"Nieuw bericht\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Nieuwe berichtnaam:\",\n \"BROADCAST_MODAL_TITLE\": \"Nieuw bericht\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"bericht1\"\n};\n\nBlockly.ScratchMsgs.locales[\"ja\"] =\n{\n \"CONTROL_FOREVER\": \"ずっと\",\n \"CONTROL_REPEAT\": \"%1 回繰り返す\",\n \"CONTROL_IF\": \"もし %1 なら\",\n \"CONTROL_ELSE\": \"でなければ\",\n \"CONTROL_STOP\": \" \",\n \"CONTROL_STOP_ALL\": \"すべてを止める\",\n \"CONTROL_STOP_THIS\": \"このスクリプトを止める\",\n \"CONTROL_STOP_OTHER\": \"スプライトの他のスクリプトを止める\",\n \"CONTROL_WAIT\": \"%1 秒待つ\",\n \"CONTROL_WAITUNTIL\": \"%1 まで待つ\",\n \"CONTROL_REPEATUNTIL\": \"%1 まで繰り返す\",\n \"CONTROL_WHILE\": \"%1 の間繰り返す\",\n \"CONTROL_FOREACH\": \"%2 の要素を %1 に入れて繰り返す\",\n \"CONTROL_STARTASCLONE\": \"クローンされたとき\",\n \"CONTROL_CREATECLONEOF\": \"%1 のクローンを作る\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"自分自身\",\n \"CONTROL_DELETETHISCLONE\": \"このクローンを削除する\",\n \"CONTROL_COUNTER\": \"カウンター\",\n \"CONTROL_INCRCOUNTER\": \"カウンターに足す\",\n \"CONTROL_CLEARCOUNTER\": \"カウンターをクリアする\",\n \"CONTROL_ALLATONCE\": \"一斉に\",\n \"DATA_SETVARIABLETO\": \"%1 を %2 にする\",\n \"DATA_CHANGEVARIABLEBY\": \"%1 を %2 ずつ変える\",\n \"DATA_SHOWVARIABLE\": \"変数 %1 を表示する\",\n \"DATA_HIDEVARIABLE\": \"変数 %1 を隠す\",\n \"DATA_ADDTOLIST\": \"%1 を %2 に追加する\",\n \"DATA_DELETEOFLIST\": \"%2 の %1 番目を削除する\",\n \"DATA_DELETEALLOFLIST\": \"%1のすべてを削除する\",\n \"DATA_INSERTATLIST\": \"%3 の %2 番目に %1 を挿入する\",\n \"DATA_REPLACEITEMOFLIST\": \"%2 の %1 番目を %3 で置き換える\",\n \"DATA_ITEMOFLIST\": \"%2 の %1 番目\",\n \"DATA_ITEMNUMOFLIST\": \"%2中の%1の場所\",\n \"DATA_LENGTHOFLIST\": \"%1 の長さ\",\n \"DATA_LISTCONTAINSITEM\": \"%1 に %2 が含まれる\",\n \"DATA_SHOWLIST\": \"リスト %1 を表示する\",\n \"DATA_HIDELIST\": \"リスト %1 を隠す\",\n \"DATA_INDEX_ALL\": \"すべて\",\n \"DATA_INDEX_LAST\": \"最後\",\n \"DATA_INDEX_RANDOM\": \"乱数\",\n \"EVENT_WHENFLAGCLICKED\": \"%1 が押されたとき\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"このスプライトが押されたとき\",\n \"EVENT_WHENSTAGECLICKED\": \"ステージが押されたとき\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"このスプライトが %1 に触れたとき\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"%1 を受け取ったとき\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"背景が %1 になったとき\",\n \"EVENT_WHENGREATERTHAN\": \"%1 > %2 のとき\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"タイマー\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"音量\",\n \"EVENT_BROADCAST\": \"%1 を送る\",\n \"EVENT_BROADCASTANDWAIT\": \"%1 を送って待つ\",\n \"EVENT_WHENKEYPRESSED\": \"%1 キーが押されたとき\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"スペース\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"左向き矢印\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"右向き矢印\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"下向き矢印\",\n \"EVENT_WHENKEYPRESSED_UP\": \"上向き矢印\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"どれかの\",\n \"LOOKS_SAYFORSECS\": \"%1 と %2 秒言う\",\n \"LOOKS_SAY\": \"%1 と言う\",\n \"LOOKS_HELLO\": \"こんにちは!\",\n \"LOOKS_THINKFORSECS\": \"%1 と %2 秒考える\",\n \"LOOKS_THINK\": \"%1 と考える\",\n \"LOOKS_HMM\": \"うーん...\",\n \"LOOKS_SHOW\": \"表示する\",\n \"LOOKS_HIDE\": \"隠す\",\n \"LOOKS_HIDEALLSPRITES\": \"すべてのスプライトを隠す\",\n \"LOOKS_EFFECT_COLOR\": \"色\",\n \"LOOKS_EFFECT_FISHEYE\": \"魚眼レンズ\",\n \"LOOKS_EFFECT_WHIRL\": \"渦巻き\",\n \"LOOKS_EFFECT_PIXELATE\": \"ピクセル化\",\n \"LOOKS_EFFECT_MOSAIC\": \"モザイク\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"明るさ\",\n \"LOOKS_EFFECT_GHOST\": \"幽霊\",\n \"LOOKS_CHANGEEFFECTBY\": \"%1 の効果を %2 ずつ変える\",\n \"LOOKS_SETEFFECTTO\": \"%1 の効果を %2 にする\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"画像効果をなくす\",\n \"LOOKS_CHANGESIZEBY\": \"大きさを %1 ずつ変える\",\n \"LOOKS_SETSIZETO\": \"大きさを %1 %にする\",\n \"LOOKS_SIZE\": \"大きさ\",\n \"LOOKS_CHANGESTRETCHBY\": \"伸びを %1 ずつ変える\",\n \"LOOKS_SETSTRETCHTO\": \"伸びを %1 %にする\",\n \"LOOKS_SWITCHCOSTUMETO\": \"コスチュームを %1 にする\",\n \"LOOKS_NEXTCOSTUME\": \"次のコスチュームにする\",\n \"LOOKS_SWITCHBACKDROPTO\": \"背景を %1 にする\",\n \"LOOKS_GOTOFRONTBACK\": \"%1 へ移動する\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"最前面\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"最背面\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%2 層 %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"手前に出す\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"奥に下げる\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"背景の %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"コスチュームの %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"番号\",\n \"LOOKS_NUMBERNAME_NAME\": \"名前\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"背景を %1 にして待つ\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"次の背景にする\",\n \"LOOKS_NEXTBACKDROP\": \"次の背景\",\n \"LOOKS_PREVIOUSBACKDROP\": \"前の背景\",\n \"LOOKS_RANDOMBACKDROP\": \"どれかの背景\",\n \"MOTION_MOVESTEPS\": \"%1 歩動かす\",\n \"MOTION_TURNLEFT\": \"%1 %2 度回す\",\n \"MOTION_TURNRIGHT\": \"%1 %2 度回す\",\n \"MOTION_POINTINDIRECTION\": \"%1 度に向ける\",\n \"MOTION_POINTTOWARDS\": \"%1 へ向ける\",\n \"MOTION_POINTTOWARDS_POINTER\": \"マウスのポインター\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"どれかの向き\",\n \"MOTION_GOTO\": \"%1 へ行く\",\n \"MOTION_GOTO_POINTER\": \"マウスのポインター\",\n \"MOTION_GOTO_RANDOM\": \"どこかの場所\",\n \"MOTION_GOTOXY\": \"x座標を %1 、y座標を %2 にする\",\n \"MOTION_GLIDESECSTOXY\": \"%1 秒でx座標を %2 に、y座標を %3 に変える\",\n \"MOTION_GLIDETO\": \"%1 秒で %2 へ行く\",\n \"MOTION_GLIDETO_POINTER\": \"マウスのポインター\",\n \"MOTION_GLIDETO_RANDOM\": \"どこかの場所\",\n \"MOTION_CHANGEXBY\": \"x座標を %1 ずつ変える\",\n \"MOTION_SETX\": \"x座標を %1 にする\",\n \"MOTION_CHANGEYBY\": \"y座標を %1 ずつ変える\",\n \"MOTION_SETY\": \"y座標を %1 にする\",\n \"MOTION_IFONEDGEBOUNCE\": \"もし端に着いたら、跳ね返る\",\n \"MOTION_SETROTATIONSTYLE\": \"回転方法を %1 にする\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"左右のみ\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"回転しない\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"自由に回転\",\n \"MOTION_XPOSITION\": \"x座標\",\n \"MOTION_YPOSITION\": \"y座標\",\n \"MOTION_DIRECTION\": \"向き\",\n \"MOTION_SCROLLRIGHT\": \"右に %1 スクロールする\",\n \"MOTION_SCROLLUP\": \"上に %1 スクロールする\",\n \"MOTION_ALIGNSCENE\": \"スクロール位置を %1 にする\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"左下\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"右下\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"中央\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"左上\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"右上\",\n \"MOTION_XSCROLL\": \"x方向のスクロール量\",\n \"MOTION_YSCROLL\": \"y方向のスクロール方向\",\n \"MOTION_STAGE_SELECTED\": \"ステージが選択されました: 動きブロックはありません\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"%1 から %2 までの乱数\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 かつ %2\",\n \"OPERATORS_OR\": \"%1 または %2\",\n \"OPERATORS_NOT\": \"%1 ではない\",\n \"OPERATORS_JOIN\": \"%1 と %2\",\n \"OPERATORS_JOIN_APPLE\": \"りんご\",\n \"OPERATORS_JOIN_BANANA\": \"バナナ\",\n \"OPERATORS_LETTEROF\": \"%2 の %1 番目の文字\",\n \"OPERATORS_LETTEROF_APPLE\": \"り\",\n \"OPERATORS_LENGTH\": \"%1 の長さ\",\n \"OPERATORS_CONTAINS\": \"%1 に %2 が含まれる\",\n \"OPERATORS_MOD\": \"%1 を %2 で割った余り\",\n \"OPERATORS_ROUND\": \"%1 を四捨五入\",\n \"OPERATORS_MATHOP\": \"%2 の %1\",\n \"OPERATORS_MATHOP_ABS\": \"絶対値\",\n \"OPERATORS_MATHOP_FLOOR\": \"切り下げ\",\n \"OPERATORS_MATHOP_CEILING\": \"切り上げ\",\n \"OPERATORS_MATHOP_SQRT\": \"平方根\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"定義 %1\",\n \"SENSING_TOUCHINGOBJECT\": \"%1 に触れた\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"マウスのポインター\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"端\",\n \"SENSING_TOUCHINGCOLOR\": \"%1 色に触れた\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 色が %2 色に触れた\",\n \"SENSING_DISTANCETO\": \"%1 までの距離\",\n \"SENSING_DISTANCETO_POINTER\": \"マウスのポインター\",\n \"SENSING_ASKANDWAIT\": \"%1 と聞いて待つ\",\n \"SENSING_ASK_TEXT\": \"あなたの名前は何ですか?\",\n \"SENSING_ANSWER\": \"答え\",\n \"SENSING_KEYPRESSED\": \"%1 キーが押された\",\n \"SENSING_MOUSEDOWN\": \"マウスが押された\",\n \"SENSING_MOUSEX\": \"マウスのx座標\",\n \"SENSING_MOUSEY\": \"マウスのy座標\",\n \"SENSING_SETDRAGMODE\": \"ドラッグ %1 ようにする\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"できる\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"できない\",\n \"SENSING_LOUDNESS\": \"音量\",\n \"SENSING_LOUD\": \"うるさい\",\n \"SENSING_TIMER\": \"タイマー\",\n \"SENSING_RESETTIMER\": \"タイマーをリセット\",\n \"SENSING_OF\": \"%2 の %1\",\n \"SENSING_OF_XPOSITION\": \"x座標\",\n \"SENSING_OF_YPOSITION\": \"y座標\",\n \"SENSING_OF_DIRECTION\": \"向き\",\n \"SENSING_OF_COSTUMENUMBER\": \"コスチューム #\",\n \"SENSING_OF_COSTUMENAME\": \"コスチューム名\",\n \"SENSING_OF_SIZE\": \"大きさ\",\n \"SENSING_OF_VOLUME\": \"音量\",\n \"SENSING_OF_BACKDROPNUMBER\": \"背景 #\",\n \"SENSING_OF_BACKDROPNAME\": \"背景の名前\",\n \"SENSING_OF_STAGE\": \"ステージ\",\n \"SENSING_CURRENT\": \"現在の %1\",\n \"SENSING_CURRENT_YEAR\": \"年\",\n \"SENSING_CURRENT_MONTH\": \"月\",\n \"SENSING_CURRENT_DATE\": \"日\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"曜日\",\n \"SENSING_CURRENT_HOUR\": \"時\",\n \"SENSING_CURRENT_MINUTE\": \"分\",\n \"SENSING_CURRENT_SECOND\": \"秒\",\n \"SENSING_DAYSSINCE2000\": \"2000年からの日数\",\n \"SENSING_USERNAME\": \"ユーザー名\",\n \"SENSING_USERID\": \"ユーザーID\",\n \"SOUND_PLAY\": \"%1 の音を鳴らす\",\n \"SOUND_PLAYUNTILDONE\": \"終わるまで %1 の音を鳴らす\",\n \"SOUND_STOPALLSOUNDS\": \"すべての音を止める\",\n \"SOUND_SETEFFECTO\": \"%1 の効果を %2 にする\",\n \"SOUND_CHANGEEFFECTBY\": \"%1 の効果を %2 ずつ変える\",\n \"SOUND_CLEAREFFECTS\": \"音の効果をなくす\",\n \"SOUND_EFFECTS_PITCH\": \"ピッチ\",\n \"SOUND_EFFECTS_PAN\": \"左右にパン\",\n \"SOUND_CHANGEVOLUMEBY\": \"音量を %1 ずつ変える\",\n \"SOUND_SETVOLUMETO\": \"音量を %1 %にする\",\n \"SOUND_VOLUME\": \"音量\",\n \"SOUND_RECORD\": \"録音...\",\n \"CATEGORY_MOTION\": \"動き\",\n \"CATEGORY_LOOKS\": \"見た目\",\n \"CATEGORY_SOUND\": \"音\",\n \"CATEGORY_EVENTS\": \"イベント\",\n \"CATEGORY_CONTROL\": \"制御\",\n \"CATEGORY_SENSING\": \"調べる\",\n \"CATEGORY_OPERATORS\": \"演算\",\n \"CATEGORY_VARIABLES\": \"変数\",\n \"CATEGORY_MYBLOCKS\": \"ブロック定義\",\n \"DUPLICATE\": \"複製\",\n \"DELETE\": \"削除\",\n \"ADD_COMMENT\": \"コメントを追加\",\n \"REMOVE_COMMENT\": \"コメントを削除\",\n \"DELETE_BLOCK\": \"ブロックを削除\",\n \"DELETE_X_BLOCKS\": \"%1 個のブロックを削除\",\n \"DELETE_ALL_BLOCKS\": \"%1 個のブロックをすべて削除しますか?\",\n \"CLEAN_UP\": \"きれいにする\",\n \"HELP\": \"ヘルプ\",\n \"UNDO\": \"取り消し\",\n \"REDO\": \"やり直し\",\n \"EDIT_PROCEDURE\": \"編集\",\n \"SHOW_PROCEDURE_DEFINITION\": \"定義へ行く\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"コメントを書く...\",\n \"COLOUR_HUE_LABEL\": \"色\",\n \"COLOUR_SATURATION_LABEL\": \"鮮やかさ\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"明るさ\",\n \"CHANGE_VALUE_TITLE\": \"値を変える:\",\n \"RENAME_VARIABLE\": \"変数名を変更\",\n \"RENAME_VARIABLE_TITLE\": \"変数\\\"%1\\\"をすべて以下の名前に変える:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"変数名を変更\",\n \"NEW_VARIABLE\": \"変数を作る\",\n \"NEW_VARIABLE_TITLE\": \"新しい変数名:\",\n \"VARIABLE_MODAL_TITLE\": \"新しい変数\",\n \"VARIABLE_ALREADY_EXISTS\": \"変数\\\"%1\\\"はすでに存在します。\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"変数\\\"%1\\\"は\\\"%2\\\"型の変数としてすでに存在します。\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"変数\\\"%2\\\"が使われている\\\"%1\\\"箇所も削除しますか?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"変数\\\"%1\\\"は定義\\\"%2\\\"で使われているため削除できません\",\n \"DELETE_VARIABLE\": \"変数\\\"%1\\\"を削除\",\n \"NEW_PROCEDURE\": \"ブロックを作る\",\n \"PROCEDURE_ALREADY_EXISTS\": \"定義\\\"%1\\\"はすでに存在します。\",\n \"PROCEDURE_DEFAULT_NAME\": \"ブロック名\",\n \"NEW_LIST\": \"リストを作る\",\n \"NEW_LIST_TITLE\": \"新しいリスト名:\",\n \"LIST_MODAL_TITLE\": \"新しいリスト\",\n \"LIST_ALREADY_EXISTS\": \"リスト\\\"%1\\\"はすでに存在します。\",\n \"RENAME_LIST_TITLE\": \"リスト\\\"%1\\\"をすべて以下の名前に変える:\",\n \"RENAME_LIST_MODAL_TITLE\": \"リスト名を変更\",\n \"DEFAULT_LIST_ITEM\": \"なにか\",\n \"DELETE_LIST\": \"リスト「%1」を削除する\",\n \"RENAME_LIST\": \"リスト名を変更\",\n \"NEW_BROADCAST_MESSAGE\": \"新しいメッセージ\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"新しいメッセージ名:\",\n \"BROADCAST_MODAL_TITLE\": \"新しいメッセージ\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"メッセージ1\"\n};\n\nBlockly.ScratchMsgs.locales[\"ja-Hira\"] =\n{\n \"CONTROL_FOREVER\": \"ずっと\",\n \"CONTROL_REPEAT\": \"%1 かいくりかえす\",\n \"CONTROL_IF\": \"もし %1 なら\",\n \"CONTROL_ELSE\": \"でなければ\",\n \"CONTROL_STOP\": \" \",\n \"CONTROL_STOP_ALL\": \"すべてをとめる\",\n \"CONTROL_STOP_THIS\": \"このスクリプトをとめる\",\n \"CONTROL_STOP_OTHER\": \"スプライトのほかのスクリプトをとめる\",\n \"CONTROL_WAIT\": \"%1 びょうまつ\",\n \"CONTROL_WAITUNTIL\": \"%1 までまつ\",\n \"CONTROL_REPEATUNTIL\": \"%1 までくりかえす\",\n \"CONTROL_WHILE\": \"%1 のあいだくりかえす\",\n \"CONTROL_FOREACH\": \"%2 のようそを %1 にいれてくりかえす\",\n \"CONTROL_STARTASCLONE\": \"クローンされたとき\",\n \"CONTROL_CREATECLONEOF\": \"%1 のクローンをつくる\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"じぶんじしん\",\n \"CONTROL_DELETETHISCLONE\": \"このクローンをさくじょする\",\n \"CONTROL_COUNTER\": \"カウンター\",\n \"CONTROL_INCRCOUNTER\": \"カウンターにたす\",\n \"CONTROL_CLEARCOUNTER\": \"カウンターをクリアする\",\n \"CONTROL_ALLATONCE\": \"いっせいに\",\n \"DATA_SETVARIABLETO\": \"%1 を %2 にする\",\n \"DATA_CHANGEVARIABLEBY\": \"%1 を %2 ずつかえる\",\n \"DATA_SHOWVARIABLE\": \"へんすう %1 をひょうじする\",\n \"DATA_HIDEVARIABLE\": \"へんすう %1 をかくす\",\n \"DATA_ADDTOLIST\": \"%1 を %2 についかする\",\n \"DATA_DELETEOFLIST\": \"%2 の %1 ばんめをさくじょする\",\n \"DATA_DELETEALLOFLIST\": \"%1のすべてをさくじょする\",\n \"DATA_INSERTATLIST\": \"%3 の %2 ばんめに %1 をそうにゅうする\",\n \"DATA_REPLACEITEMOFLIST\": \"%2 の %1 ばんめを %3 でおきかえる\",\n \"DATA_ITEMOFLIST\": \"%2 の %1 ばんめ\",\n \"DATA_ITEMNUMOFLIST\": \"%2なかの%1のばしょ\",\n \"DATA_LENGTHOFLIST\": \"%1 のながさ\",\n \"DATA_LISTCONTAINSITEM\": \"%1 に %2 がふくまれる\",\n \"DATA_SHOWLIST\": \"リスト %1 をひょうじする\",\n \"DATA_HIDELIST\": \"リスト %1 をかくす\",\n \"DATA_INDEX_ALL\": \"すべて\",\n \"DATA_INDEX_LAST\": \"さいご\",\n \"DATA_INDEX_RANDOM\": \"らんすう\",\n \"EVENT_WHENFLAGCLICKED\": \"%1 がおされたとき\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"このスプライトがおされたとき\",\n \"EVENT_WHENSTAGECLICKED\": \"ステージがおされたとき\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"このスプライトが %1 にふれたとき\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"%1 をうけとったとき\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"はいけいが %1 になったとき\",\n \"EVENT_WHENGREATERTHAN\": \"%1 > %2 のとき\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"タイマー\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"おんりょう\",\n \"EVENT_BROADCAST\": \"%1 をおくる\",\n \"EVENT_BROADCASTANDWAIT\": \"%1 をおくってまつ\",\n \"EVENT_WHENKEYPRESSED\": \"%1 キーがおされたとき\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"スペース\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"ひだりむきやじるし\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"みぎむきやじるし\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"したむきやじるし\",\n \"EVENT_WHENKEYPRESSED_UP\": \"うわむきやじるし\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"どれかの\",\n \"LOOKS_SAYFORSECS\": \"%1 と %2 びょういう\",\n \"LOOKS_SAY\": \"%1 という\",\n \"LOOKS_HELLO\": \"こんにちは!\",\n \"LOOKS_THINKFORSECS\": \"%1 と %2 びょうかんがえる\",\n \"LOOKS_THINK\": \"%1 とかんがえる\",\n \"LOOKS_HMM\": \"うーん...\",\n \"LOOKS_SHOW\": \"ひょうじする\",\n \"LOOKS_HIDE\": \"かくす\",\n \"LOOKS_HIDEALLSPRITES\": \"すべてのスプライトをかくす\",\n \"LOOKS_EFFECT_COLOR\": \"いろ\",\n \"LOOKS_EFFECT_FISHEYE\": \"ぎょがんレンズ\",\n \"LOOKS_EFFECT_WHIRL\": \"うずまき\",\n \"LOOKS_EFFECT_PIXELATE\": \"ピクセルか\",\n \"LOOKS_EFFECT_MOSAIC\": \"モザイク\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"あかるさ\",\n \"LOOKS_EFFECT_GHOST\": \"ゆうれい\",\n \"LOOKS_CHANGEEFFECTBY\": \"%1 のこうかを %2 ずつかえる\",\n \"LOOKS_SETEFFECTTO\": \"%1 のこうかを %2 にする\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"がぞうこうかをなくす\",\n \"LOOKS_CHANGESIZEBY\": \"おおきさを %1 ずつかえる\",\n \"LOOKS_SETSIZETO\": \"おおきさを %1 %にする\",\n \"LOOKS_SIZE\": \"おおきさ\",\n \"LOOKS_CHANGESTRETCHBY\": \"のびを %1 ずつかえる\",\n \"LOOKS_SETSTRETCHTO\": \"のびを %1 %にする\",\n \"LOOKS_SWITCHCOSTUMETO\": \"コスチュームを %1 にする\",\n \"LOOKS_NEXTCOSTUME\": \"つぎのコスチュームにする\",\n \"LOOKS_SWITCHBACKDROPTO\": \"はいけいを %1 にする\",\n \"LOOKS_GOTOFRONTBACK\": \"%1 へいどうする\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"さいぜんめん\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"さいはいめん\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%2 そう %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"てまえにだす\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"おくにさげる\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"はいけいの %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"コスチュームの %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"ばんごう\",\n \"LOOKS_NUMBERNAME_NAME\": \"なまえ\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"はいけいを %1 にしてまつ\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"つぎのはいけいにする\",\n \"LOOKS_NEXTBACKDROP\": \"つぎのはいけい\",\n \"LOOKS_PREVIOUSBACKDROP\": \"まえのはいけい\",\n \"LOOKS_RANDOMBACKDROP\": \"どれかのはいけい\",\n \"MOTION_MOVESTEPS\": \"%1 ほうごかす\",\n \"MOTION_TURNLEFT\": \"%1 %2 どまわす\",\n \"MOTION_TURNRIGHT\": \"%1 %2 どまわす\",\n \"MOTION_POINTINDIRECTION\": \"%1 どにむける\",\n \"MOTION_POINTTOWARDS\": \"%1 へむける\",\n \"MOTION_POINTTOWARDS_POINTER\": \"マウスのポインター\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"どれかのむき\",\n \"MOTION_GOTO\": \"%1 へいく\",\n \"MOTION_GOTO_POINTER\": \"マウスのポインター\",\n \"MOTION_GOTO_RANDOM\": \"どこかのばしょ\",\n \"MOTION_GOTOXY\": \"xざひょうを %1 、yざひょうを %2 にする\",\n \"MOTION_GLIDESECSTOXY\": \"%1 びょうでxざひょうを %2 に、yざひょうを %3 にかえる\",\n \"MOTION_GLIDETO\": \"%1 びょうで %2 へいく\",\n \"MOTION_GLIDETO_POINTER\": \"マウスのポインター\",\n \"MOTION_GLIDETO_RANDOM\": \"どこかのばしょ\",\n \"MOTION_CHANGEXBY\": \"xざひょうを %1 ずつかえる\",\n \"MOTION_SETX\": \"xざひょうを %1 にする\",\n \"MOTION_CHANGEYBY\": \"yざひょうを %1 ずつかえる\",\n \"MOTION_SETY\": \"yざひょうを %1 にする\",\n \"MOTION_IFONEDGEBOUNCE\": \"もしはしについたら、はねかえる\",\n \"MOTION_SETROTATIONSTYLE\": \"かいてんほうほうを %1 にする\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"さゆうのみ\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"かいてんしない\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"じゆうにかいてん\",\n \"MOTION_XPOSITION\": \"xざひょう\",\n \"MOTION_YPOSITION\": \"yざひょう\",\n \"MOTION_DIRECTION\": \"むき\",\n \"MOTION_SCROLLRIGHT\": \"みぎに %1 スクロールする\",\n \"MOTION_SCROLLUP\": \"うえに %1 スクロールする\",\n \"MOTION_ALIGNSCENE\": \"スクロールいちを %1 にする\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"ひだりした\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"みぎした\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"ちゅうおう\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"ひだりうえ\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"みぎうえ\",\n \"MOTION_XSCROLL\": \"xほうこうのスクロールりょう\",\n \"MOTION_YSCROLL\": \"yほうこうのスクロールほうこう\",\n \"MOTION_STAGE_SELECTED\": \"ステージがせんたくされました: うごきブロックはありません\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"%1 から %2 までのらんすう\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 かつ %2\",\n \"OPERATORS_OR\": \"%1 または %2\",\n \"OPERATORS_NOT\": \"%1 ではない\",\n \"OPERATORS_JOIN\": \"%1 と %2\",\n \"OPERATORS_JOIN_APPLE\": \"りんご\",\n \"OPERATORS_JOIN_BANANA\": \"バナナ\",\n \"OPERATORS_LETTEROF\": \"%2 の %1 ばんめのもじ\",\n \"OPERATORS_LETTEROF_APPLE\": \"り\",\n \"OPERATORS_LENGTH\": \"%1 のながさ\",\n \"OPERATORS_CONTAINS\": \"%1 に %2 がふくまれる\",\n \"OPERATORS_MOD\": \"%1 を %2 でわったあまり\",\n \"OPERATORS_ROUND\": \"%1 をししゃごにゅう\",\n \"OPERATORS_MATHOP\": \"%2 の %1\",\n \"OPERATORS_MATHOP_ABS\": \"ぜったいち\",\n \"OPERATORS_MATHOP_FLOOR\": \"きりさげ\",\n \"OPERATORS_MATHOP_CEILING\": \"きりあげ\",\n \"OPERATORS_MATHOP_SQRT\": \"へいほうこん\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"ていぎ %1\",\n \"SENSING_TOUCHINGOBJECT\": \"%1 にふれた\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"マウスのポインター\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"はし\",\n \"SENSING_TOUCHINGCOLOR\": \"%1 いろにふれた\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 いろが %2 いろにふれた\",\n \"SENSING_DISTANCETO\": \"%1 までのきょり\",\n \"SENSING_DISTANCETO_POINTER\": \"マウスのポインター\",\n \"SENSING_ASKANDWAIT\": \"%1 ときいてまつ\",\n \"SENSING_ASK_TEXT\": \"あなたのなまえはなんですか?\",\n \"SENSING_ANSWER\": \"こたえ\",\n \"SENSING_KEYPRESSED\": \"%1 キーがおされた\",\n \"SENSING_MOUSEDOWN\": \"マウスがおされた\",\n \"SENSING_MOUSEX\": \"マウスのxざひょう\",\n \"SENSING_MOUSEY\": \"マウスのyざひょう\",\n \"SENSING_SETDRAGMODE\": \"ドラッグ %1 ようにする\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"できる\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"できない\",\n \"SENSING_LOUDNESS\": \"おんりょう\",\n \"SENSING_LOUD\": \"うるさい\",\n \"SENSING_TIMER\": \"タイマー\",\n \"SENSING_RESETTIMER\": \"タイマーをリセット\",\n \"SENSING_OF\": \"%2 の %1\",\n \"SENSING_OF_XPOSITION\": \"xざひょう\",\n \"SENSING_OF_YPOSITION\": \"yざひょう\",\n \"SENSING_OF_DIRECTION\": \"むき\",\n \"SENSING_OF_COSTUMENUMBER\": \"コスチューム #\",\n \"SENSING_OF_COSTUMENAME\": \"コスチュームめい\",\n \"SENSING_OF_SIZE\": \"おおきさ\",\n \"SENSING_OF_VOLUME\": \"おんりょう\",\n \"SENSING_OF_BACKDROPNUMBER\": \"はいけい #\",\n \"SENSING_OF_BACKDROPNAME\": \"はいけいのなまえ\",\n \"SENSING_OF_STAGE\": \"ステージ\",\n \"SENSING_CURRENT\": \"げんざいの %1\",\n \"SENSING_CURRENT_YEAR\": \"とし\",\n \"SENSING_CURRENT_MONTH\": \"つき\",\n \"SENSING_CURRENT_DATE\": \"ひ\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"ようび\",\n \"SENSING_CURRENT_HOUR\": \"とき\",\n \"SENSING_CURRENT_MINUTE\": \"ぶん\",\n \"SENSING_CURRENT_SECOND\": \"びょう\",\n \"SENSING_DAYSSINCE2000\": \"2000ねんからのにっすう\",\n \"SENSING_USERNAME\": \"ユーザーめい\",\n \"SENSING_USERID\": \"ユーザーID\",\n \"SOUND_PLAY\": \"%1 のおとをならす\",\n \"SOUND_PLAYUNTILDONE\": \"おわるまで %1 のおとをならす\",\n \"SOUND_STOPALLSOUNDS\": \"すべてのおとをとめる\",\n \"SOUND_SETEFFECTO\": \"%1 のこうかを %2 にする\",\n \"SOUND_CHANGEEFFECTBY\": \"%1 のこうかを %2 ずつかえる\",\n \"SOUND_CLEAREFFECTS\": \"おとのこうかをなくす\",\n \"SOUND_EFFECTS_PITCH\": \"ピッチ\",\n \"SOUND_EFFECTS_PAN\": \"さゆうにパン\",\n \"SOUND_CHANGEVOLUMEBY\": \"おんりょうを %1 ずつかえる\",\n \"SOUND_SETVOLUMETO\": \"おんりょうを %1 %にする\",\n \"SOUND_VOLUME\": \"おんりょう\",\n \"SOUND_RECORD\": \"ろくおん...\",\n \"CATEGORY_MOTION\": \"うごき\",\n \"CATEGORY_LOOKS\": \"みため\",\n \"CATEGORY_SOUND\": \"おと\",\n \"CATEGORY_EVENTS\": \"イベント\",\n \"CATEGORY_CONTROL\": \"せいぎょ\",\n \"CATEGORY_SENSING\": \"しらべる\",\n \"CATEGORY_OPERATORS\": \"えんざん\",\n \"CATEGORY_VARIABLES\": \"へんすう\",\n \"CATEGORY_MYBLOCKS\": \"ブロックていぎ\",\n \"DUPLICATE\": \"ふくせい\",\n \"DELETE\": \"さくじょ\",\n \"ADD_COMMENT\": \"コメントをついか\",\n \"REMOVE_COMMENT\": \"コメントをさくじょ\",\n \"DELETE_BLOCK\": \"ブロックをさくじょ\",\n \"DELETE_X_BLOCKS\": \"%1 このブロックをさくじょ\",\n \"DELETE_ALL_BLOCKS\": \"%1 このブロックをすべてさくじょしますか?\",\n \"CLEAN_UP\": \"きれいにする\",\n \"HELP\": \"ヘルプ\",\n \"UNDO\": \"とりけし\",\n \"REDO\": \"やりなおし\",\n \"EDIT_PROCEDURE\": \"へんしゅう\",\n \"SHOW_PROCEDURE_DEFINITION\": \"ていぎへいく\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"コメントをかく...\",\n \"COLOUR_HUE_LABEL\": \"いろ\",\n \"COLOUR_SATURATION_LABEL\": \"あざやかさ\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"あかるさ\",\n \"CHANGE_VALUE_TITLE\": \"あたいをかえる:\",\n \"RENAME_VARIABLE\": \"へんすうめいをへんこう\",\n \"RENAME_VARIABLE_TITLE\": \"へんすう\\\"%1\\\"をすべていかのなまえにかえる:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"へんすうめいをへんこう\",\n \"NEW_VARIABLE\": \"へんすうをつくる\",\n \"NEW_VARIABLE_TITLE\": \"あたらしいへんすうめい:\",\n \"VARIABLE_MODAL_TITLE\": \"あたらしいへんすう\",\n \"VARIABLE_ALREADY_EXISTS\": \"へんすう\\\"%1\\\"はすでにそんざいします。\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"へんすう\\\"%1\\\"は\\\"%2\\\"かたのへんすうとしてすでにそんざいします。\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"へんすう\\\"%2\\\"がつかわれている\\\"%1\\\"かしょもさくじょしますか?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"へんすう\\\"%1\\\"はていぎ\\\"%2\\\"でつかわれているためさくじょできません\",\n \"DELETE_VARIABLE\": \"へんすう\\\"%1\\\"をさくじょ\",\n \"NEW_PROCEDURE\": \"ブロックをつくる\",\n \"PROCEDURE_ALREADY_EXISTS\": \"ていぎ\\\"%1\\\"はすでにそんざいします。\",\n \"PROCEDURE_DEFAULT_NAME\": \"ブロックめい\",\n \"NEW_LIST\": \"リストをつくる\",\n \"NEW_LIST_TITLE\": \"あたらしいリストめい:\",\n \"LIST_MODAL_TITLE\": \"あたらしいリスト\",\n \"LIST_ALREADY_EXISTS\": \"リスト\\\"%1\\\"はすでにそんざいします。\",\n \"RENAME_LIST_TITLE\": \"リスト\\\"%1\\\"をすべていかのなまえにかえる:\",\n \"RENAME_LIST_MODAL_TITLE\": \"リストめいをへんこう\",\n \"DEFAULT_LIST_ITEM\": \"なにか\",\n \"DELETE_LIST\": \"リスト「%1」をさくじょする\",\n \"RENAME_LIST\": \"リストめいをへんこう\",\n \"NEW_BROADCAST_MESSAGE\": \"あたらしいメッセージ\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"あたらしいメッセージめい:\",\n \"BROADCAST_MODAL_TITLE\": \"あたらしいメッセージ\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"メッセージ1\"\n};\n\nBlockly.ScratchMsgs.locales[\"nb\"] =\n{\n \"CONTROL_FOREVER\": \"gjenta for alltid\",\n \"CONTROL_REPEAT\": \"gjenta %1 ganger\",\n \"CONTROL_IF\": \"hvis %1\",\n \"CONTROL_ELSE\": \"ellers\",\n \"CONTROL_STOP\": \"stopp\",\n \"CONTROL_STOP_ALL\": \"alle\",\n \"CONTROL_STOP_THIS\": \"dette skriptet\",\n \"CONTROL_STOP_OTHER\": \"andre skript i figuren\",\n \"CONTROL_WAIT\": \"vent %1 sekunder\",\n \"CONTROL_WAITUNTIL\": \"vent til %1\",\n \"CONTROL_REPEATUNTIL\": \"gjenta til %1\",\n \"CONTROL_WHILE\": \"gjenta hvis %1\",\n \"CONTROL_FOREACH\": \"for hver %1 i %2\",\n \"CONTROL_STARTASCLONE\": \"når jeg starter som klon\",\n \"CONTROL_CREATECLONEOF\": \"lag klon av %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"meg\",\n \"CONTROL_DELETETHISCLONE\": \"slett denne klonen\",\n \"CONTROL_COUNTER\": \"teller\",\n \"CONTROL_INCRCOUNTER\": \"tell opp med 1\",\n \"CONTROL_CLEARCOUNTER\": \"nullstill telleren\",\n \"CONTROL_ALLATONCE\": \"kjør fort\",\n \"DATA_SETVARIABLETO\": \"sett %1 til %2\",\n \"DATA_CHANGEVARIABLEBY\": \"endre %1 med %2\",\n \"DATA_SHOWVARIABLE\": \"vis variabel %1\",\n \"DATA_HIDEVARIABLE\": \"skjul variabel %1\",\n \"DATA_ADDTOLIST\": \"legg til %1 i %2\",\n \"DATA_DELETEOFLIST\": \"slett element %1 i %2\",\n \"DATA_DELETEALLOFLIST\": \"slett alt i %1\",\n \"DATA_INSERTATLIST\": \"sett inn %1 på plass %2 i %3\",\n \"DATA_REPLACEITEMOFLIST\": \"erstatt element %1 i %2 med %3\",\n \"DATA_ITEMOFLIST\": \"element %1 i %2\",\n \"DATA_ITEMNUMOFLIST\": \"posisjon av %1 i %2\",\n \"DATA_LENGTHOFLIST\": \"lengden av %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 inneholder %2?\",\n \"DATA_SHOWLIST\": \"vis liste %1\",\n \"DATA_HIDELIST\": \"skjul liste %1\",\n \"DATA_INDEX_ALL\": \"alle\",\n \"DATA_INDEX_LAST\": \"siste\",\n \"DATA_INDEX_RANDOM\": \"tilfeldig\",\n \"EVENT_WHENFLAGCLICKED\": \"når %1 klikkes\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"når denne figuren klikkes\",\n \"EVENT_WHENSTAGECLICKED\": \"når scenen klikkes\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"når denne figuren berører %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"når jeg mottar %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"når bakgrunn bytter til %1\",\n \"EVENT_WHENGREATERTHAN\": \"når %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"sekundklokke\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"lydnivå\",\n \"EVENT_BROADCAST\": \"send melding %1\",\n \"EVENT_BROADCASTANDWAIT\": \"send melding %1 og vent\",\n \"EVENT_WHENKEYPRESSED\": \"når %1 trykkes\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"mellomrom\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"pil venstre\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"pil høyre\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"pil ned\",\n \"EVENT_WHENKEYPRESSED_UP\": \"pil opp\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"hvilken som helst\",\n \"LOOKS_SAYFORSECS\": \"si %1 i %2 sekunder\",\n \"LOOKS_SAY\": \"si %1\",\n \"LOOKS_HELLO\": \"Hei!\",\n \"LOOKS_THINKFORSECS\": \"tenk %1 i %2 sekunder\",\n \"LOOKS_THINK\": \"tenk %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"vis\",\n \"LOOKS_HIDE\": \"skjul\",\n \"LOOKS_HIDEALLSPRITES\": \"skjul alle figurer\",\n \"LOOKS_EFFECT_COLOR\": \"farge\",\n \"LOOKS_EFFECT_FISHEYE\": \"fiskeøye\",\n \"LOOKS_EFFECT_WHIRL\": \"virvel\",\n \"LOOKS_EFFECT_PIXELATE\": \"piksel\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaikk\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"lysstyrke\",\n \"LOOKS_EFFECT_GHOST\": \"gjennomsiktig\",\n \"LOOKS_CHANGEEFFECTBY\": \"endre %1 effekt med %2\",\n \"LOOKS_SETEFFECTTO\": \"sett %1 effekt til %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"fjern grafiske effekter\",\n \"LOOKS_CHANGESIZEBY\": \"endre størrelse med %1\",\n \"LOOKS_SETSIZETO\": \"sett størrelse til %1 %\",\n \"LOOKS_SIZE\": \"størrelse\",\n \"LOOKS_CHANGESTRETCHBY\": \"endre strekk med %1\",\n \"LOOKS_SETSTRETCHTO\": \"sett strekk til %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"bytt drakt til %1\",\n \"LOOKS_NEXTCOSTUME\": \"neste drakt\",\n \"LOOKS_SWITCHBACKDROPTO\": \"bytt bakgrunn til %1\",\n \"LOOKS_GOTOFRONTBACK\": \"legg %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"foran alt\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"bakerst\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"gå %1 %2 lag\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"forover\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"bakover\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"bakgrunn %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"drakt %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"nummer\",\n \"LOOKS_NUMBERNAME_NAME\": \"navn\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"bytt bakgrunn til %1 og vent\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"neste bakgrunn\",\n \"LOOKS_NEXTBACKDROP\": \"neste bakgrunn\",\n \"LOOKS_PREVIOUSBACKDROP\": \"forrige bakgrunn\",\n \"LOOKS_RANDOMBACKDROP\": \"tilfeldig bakgrunn\",\n \"MOTION_MOVESTEPS\": \"gå %1 steg\",\n \"MOTION_TURNLEFT\": \"snu %1 %2 grader\",\n \"MOTION_TURNRIGHT\": \"snu %1 %2 grader\",\n \"MOTION_POINTINDIRECTION\": \"pek i retning %1\",\n \"MOTION_POINTTOWARDS\": \"pek mot %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"musepeker\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"tilfeldig retning\",\n \"MOTION_GOTO\": \"gå til %1\",\n \"MOTION_GOTO_POINTER\": \"musepeker\",\n \"MOTION_GOTO_RANDOM\": \"tilfeldig sted\",\n \"MOTION_GOTOXY\": \"gå til x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"gli %1 sekunder til x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"gli %1 sekunder til %2\",\n \"MOTION_GLIDETO_POINTER\": \"musepeker\",\n \"MOTION_GLIDETO_RANDOM\": \"tilfeldig sted\",\n \"MOTION_CHANGEXBY\": \"endre x med %1\",\n \"MOTION_SETX\": \"sett x til %1\",\n \"MOTION_CHANGEYBY\": \"endre y med %1\",\n \"MOTION_SETY\": \"sett y til %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"sprett tilbake ved kanten\",\n \"MOTION_SETROTATIONSTYLE\": \"begrens rotasjon %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"vend sideveis\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"ikke roter\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"fri rotasjon\",\n \"MOTION_XPOSITION\": \"x-posisjon\",\n \"MOTION_YPOSITION\": \"y-posisjon\",\n \"MOTION_DIRECTION\": \"retning\",\n \"MOTION_SCROLLRIGHT\": \"rull høyre %1\",\n \"MOTION_SCROLLUP\": \"rull opp %1\",\n \"MOTION_ALIGNSCENE\": \"flytt bakgrunn %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"nederst til venstre\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"nederst til høyre\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"i midten\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"øverst til venstre\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"øverst til høyre\",\n \"MOTION_XSCROLL\": \"rull x\",\n \"MOTION_YSCROLL\": \"rull y\",\n \"MOTION_STAGE_SELECTED\": \"Scenen er valgt: den har ingen bevegelsesklosser\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"tilfeldig tall fra %1 til %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 og %2\",\n \"OPERATORS_OR\": \"%1 eller %2\",\n \"OPERATORS_NOT\": \"ikke %1\",\n \"OPERATORS_JOIN\": \"sett sammen %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"eple\",\n \"OPERATORS_JOIN_BANANA\": \"banan\",\n \"OPERATORS_LETTEROF\": \"bokstav %1 i %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"p\",\n \"OPERATORS_LENGTH\": \"lengden av %1\",\n \"OPERATORS_CONTAINS\": \"%1 inneholder %2?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"avrund %1\",\n \"OPERATORS_MATHOP\": \"%1 av %2\",\n \"OPERATORS_MATHOP_ABS\": \"absoluttverdi\",\n \"OPERATORS_MATHOP_FLOOR\": \"avrund ned\",\n \"OPERATORS_MATHOP_CEILING\": \"avrund opp\",\n \"OPERATORS_MATHOP_SQRT\": \"kvadratrot\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definer %1\",\n \"SENSING_TOUCHINGOBJECT\": \"berører %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"musepeker\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"kant\",\n \"SENSING_TOUCHINGCOLOR\": \"berører fargen %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"farge %1 berører %2?\",\n \"SENSING_DISTANCETO\": \"avstand til %1\",\n \"SENSING_DISTANCETO_POINTER\": \"musepeker\",\n \"SENSING_ASKANDWAIT\": \"spør %1 og vent\",\n \"SENSING_ASK_TEXT\": \"Hva heter du?\",\n \"SENSING_ANSWER\": \"svar\",\n \"SENSING_KEYPRESSED\": \"tast %1 trykket?\",\n \"SENSING_MOUSEDOWN\": \"museknappen er trykket?\",\n \"SENSING_MOUSEX\": \"mus x\",\n \"SENSING_MOUSEY\": \"mus y\",\n \"SENSING_SETDRAGMODE\": \"%1 å dra med musen\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"tillat\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"ikke tillat\",\n \"SENSING_LOUDNESS\": \"lydnivå\",\n \"SENSING_LOUD\": \"høy lyd?\",\n \"SENSING_TIMER\": \"sekundklokke\",\n \"SENSING_RESETTIMER\": \"nullstill klokken\",\n \"SENSING_OF\": \"%1 av %2\",\n \"SENSING_OF_XPOSITION\": \"x-posisjon\",\n \"SENSING_OF_YPOSITION\": \"y-posisjon\",\n \"SENSING_OF_DIRECTION\": \"retning\",\n \"SENSING_OF_COSTUMENUMBER\": \"drakt nr.\",\n \"SENSING_OF_COSTUMENAME\": \"draktnavn\",\n \"SENSING_OF_SIZE\": \"størrelse\",\n \"SENSING_OF_VOLUME\": \"volum\",\n \"SENSING_OF_BACKDROPNUMBER\": \"bakgrunn nr.\",\n \"SENSING_OF_BACKDROPNAME\": \"navn på bakgrunn\",\n \"SENSING_OF_STAGE\": \"Scene\",\n \"SENSING_CURRENT\": \"%1 nå\",\n \"SENSING_CURRENT_YEAR\": \"år\",\n \"SENSING_CURRENT_MONTH\": \"måned\",\n \"SENSING_CURRENT_DATE\": \"dato\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"ukedag\",\n \"SENSING_CURRENT_HOUR\": \"time\",\n \"SENSING_CURRENT_MINUTE\": \"minutt\",\n \"SENSING_CURRENT_SECOND\": \"sekund\",\n \"SENSING_DAYSSINCE2000\": \"dager siden 2000\",\n \"SENSING_USERNAME\": \"brukernavn\",\n \"SENSING_USERID\": \"brukernavn\",\n \"SOUND_PLAY\": \"start lyden %1\",\n \"SOUND_PLAYUNTILDONE\": \"spill lyden %1 til den er ferdig\",\n \"SOUND_STOPALLSOUNDS\": \"stopp alle lyder\",\n \"SOUND_SETEFFECTO\": \"sett %1 effekt til %2\",\n \"SOUND_CHANGEEFFECTBY\": \"endre %1 effekt med %2\",\n \"SOUND_CLEAREFFECTS\": \"fjern lydeffekter\",\n \"SOUND_EFFECTS_PITCH\": \"tonehøyde\",\n \"SOUND_EFFECTS_PAN\": \"retning\",\n \"SOUND_CHANGEVOLUMEBY\": \"endre volum med %1\",\n \"SOUND_SETVOLUMETO\": \"sett volum %1%\",\n \"SOUND_VOLUME\": \"volum\",\n \"SOUND_RECORD\": \"spill inn...\",\n \"CATEGORY_MOTION\": \"Bevegelse\",\n \"CATEGORY_LOOKS\": \"Utseende\",\n \"CATEGORY_SOUND\": \"Lyd\",\n \"CATEGORY_EVENTS\": \"Hendelser\",\n \"CATEGORY_CONTROL\": \"Styring\",\n \"CATEGORY_SENSING\": \"Sansing\",\n \"CATEGORY_OPERATORS\": \"Operatorer\",\n \"CATEGORY_VARIABLES\": \"Variabler\",\n \"CATEGORY_MYBLOCKS\": \"Mine klosser\",\n \"DUPLICATE\": \"Lag en kopi\",\n \"DELETE\": \"Slett\",\n \"ADD_COMMENT\": \"Skriv en kommentar\",\n \"REMOVE_COMMENT\": \"Fjern kommentar\",\n \"DELETE_BLOCK\": \"Slett kloss\",\n \"DELETE_X_BLOCKS\": \"Slett %1 klosser\",\n \"DELETE_ALL_BLOCKS\": \"Slette disse %1 klossene?\",\n \"CLEAN_UP\": \"Rydd opp klossene\",\n \"HELP\": \"Hjelp\",\n \"UNDO\": \"Angre\",\n \"REDO\": \"Gjør igjen\",\n \"EDIT_PROCEDURE\": \"Rediger\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Gå til definisjonen\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Si noe...\",\n \"COLOUR_HUE_LABEL\": \"Farge\",\n \"COLOUR_SATURATION_LABEL\": \"Fargemetning\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Lysstyrke\",\n \"CHANGE_VALUE_TITLE\": \"Endre verdi:\",\n \"RENAME_VARIABLE\": \"Endre navn på variabel\",\n \"RENAME_VARIABLE_TITLE\": \"Endre variabelnavn \\\"%1\\\" til:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Endre navn på variabel\",\n \"NEW_VARIABLE\": \"Lag en variabel\",\n \"NEW_VARIABLE_TITLE\": \"Nytt variabelnavn:\",\n \"VARIABLE_MODAL_TITLE\": \"Ny variabel\",\n \"VARIABLE_ALREADY_EXISTS\": \"Det finnes allerede en variabel som heter \\\"%1\\\".\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Det finnes allerede en %2-variabel som heter \\\"%1\\\"\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Slette variabelen \\\"%2\\\" som er brukt %1 ganger?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Kan ikke slette variabelen \\\"%1\\\" fordi den brukes i definisjonen av funksjonen \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Slett variabelen \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Lag en kloss\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Det finnes allerede en prosedyre som heter \\\"%1\\\".\",\n \"PROCEDURE_DEFAULT_NAME\": \"klossnavn\",\n \"NEW_LIST\": \"Lag en Liste\",\n \"NEW_LIST_TITLE\": \"Nytt navn på listen:\",\n \"LIST_MODAL_TITLE\": \"Ny liste\",\n \"LIST_ALREADY_EXISTS\": \"Det finnes allerede en liste som heter \\\"%1\\\".\",\n \"RENAME_LIST_TITLE\": \"Endre listenavnet \\\"%1\\\" til:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Gi listen et annet navn\",\n \"DEFAULT_LIST_ITEM\": \"ting\",\n \"DELETE_LIST\": \"Slett listen \\\"%1\\\"\",\n \"RENAME_LIST\": \"Endre listenavn\",\n \"NEW_BROADCAST_MESSAGE\": \"Ny melding\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Skriv ny melding:\",\n \"BROADCAST_MODAL_TITLE\": \"Ny melding\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"melding1\"\n};\n\nBlockly.ScratchMsgs.locales[\"nn\"] =\n{\n \"CONTROL_FOREVER\": \"for alltid\",\n \"CONTROL_REPEAT\": \"gjenta %1 gongar\",\n \"CONTROL_IF\": \"viss %1\",\n \"CONTROL_ELSE\": \"elles\",\n \"CONTROL_STOP\": \"stopp\",\n \"CONTROL_STOP_ALL\": \"alle\",\n \"CONTROL_STOP_THIS\": \"dette skriptet\",\n \"CONTROL_STOP_OTHER\": \"andre skript i figuren\",\n \"CONTROL_WAIT\": \"vent %1 sekund\",\n \"CONTROL_WAITUNTIL\": \"vent til %1\",\n \"CONTROL_REPEATUNTIL\": \"gjenta til %1\",\n \"CONTROL_WHILE\": \"gjenta viss %1\",\n \"CONTROL_FOREACH\": \"for kvar %1 i %2\",\n \"CONTROL_STARTASCLONE\": \"når eg startar som klon\",\n \"CONTROL_CREATECLONEOF\": \"lag klon av %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"meg\",\n \"CONTROL_DELETETHISCLONE\": \"slett denne klonen\",\n \"CONTROL_COUNTER\": \"teljar\",\n \"CONTROL_INCRCOUNTER\": \"auk teljar\",\n \"CONTROL_CLEARCOUNTER\": \"tøm teljar\",\n \"CONTROL_ALLATONCE\": \"alle på éin gong\",\n \"DATA_SETVARIABLETO\": \"set %1 til %2\",\n \"DATA_CHANGEVARIABLEBY\": \"endra %1 med %2\",\n \"DATA_SHOWVARIABLE\": \"vis variabelen %1\",\n \"DATA_HIDEVARIABLE\": \"gøym variabelen %1\",\n \"DATA_ADDTOLIST\": \"legg %1 til %2\",\n \"DATA_DELETEOFLIST\": \"slett element %1 i %2\",\n \"DATA_DELETEALLOFLIST\": \"slett alt i %1\",\n \"DATA_INSERTATLIST\": \"set inn %1 på plass %2 i %3\",\n \"DATA_REPLACEITEMOFLIST\": \"byt ut element %1 i %2 med %3\",\n \"DATA_ITEMOFLIST\": \"element %1 i %2\",\n \"DATA_ITEMNUMOFLIST\": \"posisjon til %1 i %2\",\n \"DATA_LENGTHOFLIST\": \"lengda til %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 inneheld %2?\",\n \"DATA_SHOWLIST\": \"vis lista %1\",\n \"DATA_HIDELIST\": \"gøym lista %1\",\n \"DATA_INDEX_ALL\": \"alle\",\n \"DATA_INDEX_LAST\": \"siste\",\n \"DATA_INDEX_RANDOM\": \"tilfeldig\",\n \"EVENT_WHENFLAGCLICKED\": \"når %1 vert trykt på\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"når denne figuren vert trykt på\",\n \"EVENT_WHENSTAGECLICKED\": \"når scena vert trykt på\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"når figuren rører %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"når eg får meldinga %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"når bakgrunnen byter til %1\",\n \"EVENT_WHENGREATERTHAN\": \"når %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"klokke\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"lydstyrke\",\n \"EVENT_BROADCAST\": \"send meldinga %1\",\n \"EVENT_BROADCASTANDWAIT\": \"send meldinga %1 og vent\",\n \"EVENT_WHENKEYPRESSED\": \"når %1 vert trykt\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"mellomrom\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"pil venstre\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"pil høgre\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"pil ned\",\n \"EVENT_WHENKEYPRESSED_UP\": \"pil opp\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"vilkårleg\",\n \"LOOKS_SAYFORSECS\": \"sei %1 i %2 sekund\",\n \"LOOKS_SAY\": \"sei %1\",\n \"LOOKS_HELLO\": \"Hei!\",\n \"LOOKS_THINKFORSECS\": \"tenk %1 i %2 sekund\",\n \"LOOKS_THINK\": \"tenk %1\",\n \"LOOKS_HMM\": \"Hm …\",\n \"LOOKS_SHOW\": \"vis\",\n \"LOOKS_HIDE\": \"gøym\",\n \"LOOKS_HIDEALLSPRITES\": \"gøym alle figurar\",\n \"LOOKS_EFFECT_COLOR\": \"farge\",\n \"LOOKS_EFFECT_FISHEYE\": \"fiskeauge\",\n \"LOOKS_EFFECT_WHIRL\": \"kvervel\",\n \"LOOKS_EFFECT_PIXELATE\": \"pikselering\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaikk\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"lysstyrke\",\n \"LOOKS_EFFECT_GHOST\": \"gjennomsiktig\",\n \"LOOKS_CHANGEEFFECTBY\": \"endra %1-effekten med %2\",\n \"LOOKS_SETEFFECTTO\": \"set %1-effekten til %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"ta vekk grafiske effektar\",\n \"LOOKS_CHANGESIZEBY\": \"endra storleik med %1\",\n \"LOOKS_SETSIZETO\": \"set storleik til %1 %\",\n \"LOOKS_SIZE\": \"storleik\",\n \"LOOKS_CHANGESTRETCHBY\": \"endra strekking med %1\",\n \"LOOKS_SETSTRETCHTO\": \"set strekking til %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"byt drakt til %1\",\n \"LOOKS_NEXTCOSTUME\": \"neste drakt\",\n \"LOOKS_SWITCHBACKDROPTO\": \"byt bakgrunn til %1\",\n \"LOOKS_GOTOFRONTBACK\": \"legg %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"framfor alt\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"bak alt\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"gå %1 %2 lag\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"framover\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"bakover\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"bakgrunn %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"drakt %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"tal\",\n \"LOOKS_NUMBERNAME_NAME\": \"namn\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"byt bakgrunn til %1 og vent\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"neste bakgrunn\",\n \"LOOKS_NEXTBACKDROP\": \"neste bakgrunn\",\n \"LOOKS_PREVIOUSBACKDROP\": \"førre bakgrunn\",\n \"LOOKS_RANDOMBACKDROP\": \"tilfeldig bakgrunn\",\n \"MOTION_MOVESTEPS\": \"gå %1 steg\",\n \"MOTION_TURNLEFT\": \"snu %1 %2 gradar\",\n \"MOTION_TURNRIGHT\": \"snu %1 %2 gradar\",\n \"MOTION_POINTINDIRECTION\": \"peik i retning %1\",\n \"MOTION_POINTTOWARDS\": \"peik mot %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"musepeikar\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"tilfeldig retning\",\n \"MOTION_GOTO\": \"gå til %1\",\n \"MOTION_GOTO_POINTER\": \"musepeikar\",\n \"MOTION_GOTO_RANDOM\": \"tilfeldig plassering\",\n \"MOTION_GOTOXY\": \"gå til x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"gli %1 sekund til x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"gli %1 sekund til %2\",\n \"MOTION_GLIDETO_POINTER\": \"musepeikar\",\n \"MOTION_GLIDETO_RANDOM\": \"tilfeldig plassering\",\n \"MOTION_CHANGEXBY\": \"endra x med %1\",\n \"MOTION_SETX\": \"set x til %1\",\n \"MOTION_CHANGEYBY\": \"endra y med %1\",\n \"MOTION_SETY\": \"set y til %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"viss ved kant, sprett\",\n \"MOTION_SETROTATIONSTYLE\": \"avgrens rotering til %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"venstre–høgre\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"ikkje roter\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"roter fritt\",\n \"MOTION_XPOSITION\": \"x-posisjon\",\n \"MOTION_YPOSITION\": \"y-posisjon\",\n \"MOTION_DIRECTION\": \"retning\",\n \"MOTION_SCROLLRIGHT\": \"rull til høgre %1\",\n \"MOTION_SCROLLUP\": \"rull opp %1\",\n \"MOTION_ALIGNSCENE\": \"flytt bakgrunn %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"nede til venstre\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"nede til høgre\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"i midten\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"oppe til venstre\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"oppe til høgre\",\n \"MOTION_XSCROLL\": \"rull x\",\n \"MOTION_YSCROLL\": \"rull y\",\n \"MOTION_STAGE_SELECTED\": \"Scene vald: ingen rørsleklossar\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 − %2\",\n \"OPERATORS_MULTIPLY\": \"%1 × %2\",\n \"OPERATORS_DIVIDE\": \"%1 : %2\",\n \"OPERATORS_RANDOM\": \"tilfeldig tal frå %1 til %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 og %2\",\n \"OPERATORS_OR\": \"%1 eller %2\",\n \"OPERATORS_NOT\": \"ikkje %1\",\n \"OPERATORS_JOIN\": \"set saman %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"eple\",\n \"OPERATORS_JOIN_BANANA\": \"banan\",\n \"OPERATORS_LETTEROF\": \"bokstav %1 i %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"e\",\n \"OPERATORS_LENGTH\": \"lengda til %1\",\n \"OPERATORS_CONTAINS\": \"%1 inneheld %2?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"rund av %1\",\n \"OPERATORS_MATHOP\": \"%1 av %2\",\n \"OPERATORS_MATHOP_ABS\": \"abs\",\n \"OPERATORS_MATHOP_FLOOR\": \"golv\",\n \"OPERATORS_MATHOP_CEILING\": \"tak\",\n \"OPERATORS_MATHOP_SQRT\": \"kvadratrot\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e^\",\n \"OPERATORS_MATHOP_10EXP\": \"10^\",\n \"PROCEDURES_DEFINITION\": \"definer %1\",\n \"SENSING_TOUCHINGOBJECT\": \"rører %1\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"musepeikar\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"kant\",\n \"SENSING_TOUCHINGCOLOR\": \"rører fargen %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"fargen %1 rører %2?\",\n \"SENSING_DISTANCETO\": \"avstand til %1\",\n \"SENSING_DISTANCETO_POINTER\": \"musepeikar\",\n \"SENSING_ASKANDWAIT\": \"spør %1 og vent\",\n \"SENSING_ASK_TEXT\": \"Kva heiter du?\",\n \"SENSING_ANSWER\": \"svar\",\n \"SENSING_KEYPRESSED\": \"tasten %1 er trykt?\",\n \"SENSING_MOUSEDOWN\": \"museknappen er trykt?\",\n \"SENSING_MOUSEX\": \"mus x\",\n \"SENSING_MOUSEY\": \"mus y\",\n \"SENSING_SETDRAGMODE\": \"%1 å dra med musa\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"tillate\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"ikkje tillate\",\n \"SENSING_LOUDNESS\": \"lydstyrke\",\n \"SENSING_LOUD\": \"høg lyd?\",\n \"SENSING_TIMER\": \"sekundklokke\",\n \"SENSING_RESETTIMER\": \"nullstill klokka\",\n \"SENSING_OF\": \"%1 av %2\",\n \"SENSING_OF_XPOSITION\": \"x-posisjon\",\n \"SENSING_OF_YPOSITION\": \"y-posisjon\",\n \"SENSING_OF_DIRECTION\": \"retning\",\n \"SENSING_OF_COSTUMENUMBER\": \"drakt nr.\",\n \"SENSING_OF_COSTUMENAME\": \"draktnamn\",\n \"SENSING_OF_SIZE\": \"storleik\",\n \"SENSING_OF_VOLUME\": \"lydstyrke\",\n \"SENSING_OF_BACKDROPNUMBER\": \"bakgrunn nr.\",\n \"SENSING_OF_BACKDROPNAME\": \"bakgrunnsnamn\",\n \"SENSING_OF_STAGE\": \"Scene\",\n \"SENSING_CURRENT\": \"%1 nett no\",\n \"SENSING_CURRENT_YEAR\": \"året\",\n \"SENSING_CURRENT_MONTH\": \"månaden\",\n \"SENSING_CURRENT_DATE\": \"datoen\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"vekedagen\",\n \"SENSING_CURRENT_HOUR\": \"timen\",\n \"SENSING_CURRENT_MINUTE\": \"minuttet\",\n \"SENSING_CURRENT_SECOND\": \"sekundet\",\n \"SENSING_DAYSSINCE2000\": \"dagar sidan år 2000\",\n \"SENSING_USERNAME\": \"brukarnamn\",\n \"SENSING_USERID\": \"brukar-id\",\n \"SOUND_PLAY\": \"start lyden %1\",\n \"SOUND_PLAYUNTILDONE\": \"spel lyden %1 til han er ferdig\",\n \"SOUND_STOPALLSOUNDS\": \"stopp alle lydar\",\n \"SOUND_SETEFFECTO\": \"set %1-effekt til %2\",\n \"SOUND_CHANGEEFFECTBY\": \"endra %1-effekt med %2\",\n \"SOUND_CLEAREFFECTS\": \"fjern lydeffektar\",\n \"SOUND_EFFECTS_PITCH\": \"tonehøgd\",\n \"SOUND_EFFECTS_PAN\": \"venstre–høgre-panorering\",\n \"SOUND_CHANGEVOLUMEBY\": \"endra lydstyrken med %1\",\n \"SOUND_SETVOLUMETO\": \"set lydstyrken til %1 %\",\n \"SOUND_VOLUME\": \"lydstyrke\",\n \"SOUND_RECORD\": \"spel inn …\",\n \"CATEGORY_MOTION\": \"Rørsle\",\n \"CATEGORY_LOOKS\": \"Utsjånad\",\n \"CATEGORY_SOUND\": \"Lyd\",\n \"CATEGORY_EVENTS\": \"Hendingar\",\n \"CATEGORY_CONTROL\": \"Styring\",\n \"CATEGORY_SENSING\": \"Sansing\",\n \"CATEGORY_OPERATORS\": \"Operatorar\",\n \"CATEGORY_VARIABLES\": \"Variablar\",\n \"CATEGORY_MYBLOCKS\": \"Mine klossar\",\n \"DUPLICATE\": \"Lag ein kopi\",\n \"DELETE\": \"Slett\",\n \"ADD_COMMENT\": \"Skriv kommentar\",\n \"REMOVE_COMMENT\": \"Fjern kommentar\",\n \"DELETE_BLOCK\": \"Slett kloss\",\n \"DELETE_X_BLOCKS\": \"Slett %1 klossar\",\n \"DELETE_ALL_BLOCKS\": \"Vil du sletta alle %1 klossane?\",\n \"CLEAN_UP\": \"Rydd opp i klossar\",\n \"HELP\": \"Hjelp\",\n \"UNDO\": \"Angra\",\n \"REDO\": \"Gjer om\",\n \"EDIT_PROCEDURE\": \"Rediger\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Gå til definisjonen\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Sei noko …\",\n \"COLOUR_HUE_LABEL\": \"Farge\",\n \"COLOUR_SATURATION_LABEL\": \"Fargemetting\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Lysstyrke\",\n \"CHANGE_VALUE_TITLE\": \"Endra verdi:\",\n \"RENAME_VARIABLE\": \"Gje nytt namn\",\n \"RENAME_VARIABLE_TITLE\": \"Endra namnet på alle «%1»-variablane til:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Gje nytt namn\",\n \"NEW_VARIABLE\": \"Lag ein variabel\",\n \"NEW_VARIABLE_TITLE\": \"Namn på ny variabel:\",\n \"VARIABLE_MODAL_TITLE\": \"Ny variabel\",\n \"VARIABLE_ALREADY_EXISTS\": \"Det finst alt ein variabel som heiter «%1».\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Det finst alt ein variabel som heiter «%1», for ein annan variabel av type «%2».\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Vil du sletta %1 bruk av variabelen «%2»?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Kan ikkje sletta variabelen «%1», då han er del av definisjonen til funksjonen «%2».\",\n \"DELETE_VARIABLE\": \"Slett variabelen «%1»\",\n \"NEW_PROCEDURE\": \"Lag ein kloss\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Det finst alt ein prosedyre som heiter «%1».\",\n \"PROCEDURE_DEFAULT_NAME\": \"klossnamn\",\n \"NEW_LIST\": \"Lag ei liste\",\n \"NEW_LIST_TITLE\": \"Namn på ny liste:\",\n \"LIST_MODAL_TITLE\": \"Ny liste\",\n \"LIST_ALREADY_EXISTS\": \"Det finst alt ei liste som heiter «%1».\",\n \"RENAME_LIST_TITLE\": \"Endra namnet på alle «%1»-listene til:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Gje nytt namn\",\n \"DEFAULT_LIST_ITEM\": \"ting\",\n \"DELETE_LIST\": \"Slett lista «%1»\",\n \"RENAME_LIST\": \"Gje nytt namn\",\n \"NEW_BROADCAST_MESSAGE\": \"Ny melding\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Namn på ny melding:\",\n \"BROADCAST_MODAL_TITLE\": \"Ny melding\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"melding1\"\n};\n\nBlockly.ScratchMsgs.locales[\"uz\"] =\n{\n \"CONTROL_FOREVER\": \"har doim\",\n \"CONTROL_REPEAT\": \"%1 marta takrorlash\",\n \"CONTROL_IF\": \"agar %1 bo'lsa\",\n \"CONTROL_ELSE\": \"aks holda\",\n \"CONTROL_STOP\": \"to'xtatish\",\n \"CONTROL_STOP_ALL\": \"hammasini\",\n \"CONTROL_STOP_THIS\": \"bu skript\",\n \"CONTROL_STOP_OTHER\": \"boshqa spraytlardagi skriptlar\",\n \"CONTROL_WAIT\": \"%1 soniya kutish\",\n \"CONTROL_WAITUNTIL\": \"%1 gacha kutish\",\n \"CONTROL_REPEATUNTIL\": \"%1 gacha takrorlash\",\n \"CONTROL_WHILE\": \"%1 davomida\",\n \"CONTROL_FOREACH\": \"%2 dagi har bir %1 uchun \",\n \"CONTROL_STARTASCLONE\": \"nusxani qabul qilganda\",\n \"CONTROL_CREATECLONEOF\": \"%1 o'zidan nusxa yaratish\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"o'zini\",\n \"CONTROL_DELETETHISCLONE\": \"bu nusxani o'chirish\",\n \"CONTROL_COUNTER\": \"hisoblagich\",\n \"CONTROL_INCRCOUNTER\": \"hisoblagichni orttirish\",\n \"CONTROL_CLEARCOUNTER\": \"hisoblagichni yangilash\",\n \"CONTROL_ALLATONCE\": \"bir vaqtning o'zida\",\n \"DATA_SETVARIABLETO\": \"%1 ni %2 ga sozlash\",\n \"DATA_CHANGEVARIABLEBY\": \"%1 ni %2 ga o'zgartirish\",\n \"DATA_SHOWVARIABLE\": \"%1 o'zgaruvchini ko'rsatish\",\n \"DATA_HIDEVARIABLE\": \"%1 o'zgaruvchini yashirish\",\n \"DATA_ADDTOLIST\": \"%1 ni %2 ga qo'shish\",\n \"DATA_DELETEOFLIST\": \"%1 ni %2 dan o'chirish\",\n \"DATA_DELETEALLOFLIST\": \"%1 hammasini o'chirish\",\n \"DATA_INSERTATLIST\": \"%1 ni %2 dan %3 ga qo'shish\",\n \"DATA_REPLACEITEMOFLIST\": \"%2 ro'yxatning %1 chi mavzusini %3 ga o'zgartirish\",\n \"DATA_ITEMOFLIST\": \"%2 ro'yxatning %1 chi mavzusi\",\n \"DATA_ITEMNUMOFLIST\": \"%2 ro'yxatda %1 mavzuning joylashuvi\",\n \"DATA_LENGTHOFLIST\": \"uzunligidan %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 %2 ni ichiga oladimi?\",\n \"DATA_SHOWLIST\": \"%1 ro'yxatni ko'rsatish\",\n \"DATA_HIDELIST\": \"%1 ro'yxatni yashirish\",\n \"DATA_INDEX_ALL\": \"hammasi\",\n \"DATA_INDEX_LAST\": \"oxirgisi\",\n \"DATA_INDEX_RANDOM\": \"tasodifiy\",\n \"EVENT_WHENFLAGCLICKED\": \" %1 bosilganda\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"shu sprayt bosilganda\",\n \"EVENT_WHENSTAGECLICKED\": \"sahna bosilganda\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"shu sprayt %1 ga teginganda\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"%1 ga teginganda\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"%1 fon o'zgarganda\",\n \"EVENT_WHENGREATERTHAN\": \"%1 > %2 bo'lganda\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"taymer\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"tovush\",\n \"EVENT_BROADCAST\": \"%1 ni tarqatish\",\n \"EVENT_BROADCASTANDWAIT\": \"%1 ni tarqatib kutish\",\n \"EVENT_WHENKEYPRESSED\": \"%1 bosilganda\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"bo'sh joy\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"chap ko'rsatgich\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"o'ng ko'rsatgich\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"past ko'rsatgich\",\n \"EVENT_WHENKEYPRESSED_UP\": \"yuqori ko'rsatgich\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"ixtiyoriy boshqa\",\n \"LOOKS_SAYFORSECS\": \"%1 ni %2 soniya aytish\",\n \"LOOKS_SAY\": \"%1 aytish\",\n \"LOOKS_HELLO\": \"Salom!\",\n \"LOOKS_THINKFORSECS\": \"%1 ni %2 soniya o'ylash\",\n \"LOOKS_THINK\": \"%1 o'ylash\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"ko'rsatish\",\n \"LOOKS_HIDE\": \"yashirish\",\n \"LOOKS_HIDEALLSPRITES\": \"hamma spraytlarni yashirish\",\n \"LOOKS_EFFECT_COLOR\": \"rang\",\n \"LOOKS_EFFECT_FISHEYE\": \"baliq ko'zi\",\n \"LOOKS_EFFECT_WHIRL\": \"aylanish\",\n \"LOOKS_EFFECT_PIXELATE\": \"piksellashtirish\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozayka\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"yorqinlik\",\n \"LOOKS_EFFECT_GHOST\": \"sharpa\",\n \"LOOKS_CHANGEEFFECTBY\": \"%1 effektni %2 ga o'zgartir\",\n \"LOOKS_SETEFFECTTO\": \"%1 effektni %2 ga sozlash\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"grafik effektlarni tozalsh\",\n \"LOOKS_CHANGESIZEBY\": \"o'lchamni %1 ga o'zgartir\",\n \"LOOKS_SETSIZETO\": \"o'lchamni %1 ga sozlash\",\n \"LOOKS_SIZE\": \"o'lcham\",\n \"LOOKS_CHANGESTRETCHBY\": \"uzunlikni %1 ga o'zgartir\",\n \"LOOKS_SETSTRETCHTO\": \"uzunlikni %1 ga sozlash\",\n \"LOOKS_SWITCHCOSTUMETO\": \"ko'rinishni %1 ga o'zgartir\",\n \"LOOKS_NEXTCOSTUME\": \"keyingi ko'rinish\",\n \"LOOKS_SWITCHBACKDROPTO\": \"fonni %1 ga o'zgartir\",\n \"LOOKS_GOTOFRONTBACK\": \"eng %1 ga o'tkazish\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"oldinga\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"orqaga\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%1 ga %2 qatlam o'tkazish\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"oldinga\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"orqaga\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"fon %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"ko'rinish %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"raqam\",\n \"LOOKS_NUMBERNAME_NAME\": \"nomi\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"%1 fonga o'zgartirib kutish\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"keyingi fon\",\n \"LOOKS_NEXTBACKDROP\": \"keyingi fon\",\n \"LOOKS_PREVIOUSBACKDROP\": \"oldingi fon\",\n \"LOOKS_RANDOMBACKDROP\": \"tasodifiy fon\",\n \"MOTION_MOVESTEPS\": \"%1 qadam yurish\",\n \"MOTION_TURNLEFT\": \"%1 %2 darajaga burilish\",\n \"MOTION_TURNRIGHT\": \"%1 %2 darajaga burilish\",\n \"MOTION_POINTINDIRECTION\": \"%1 harakat yo'nalishi \",\n \"MOTION_POINTTOWARDS\": \"%1 tomonga qarash\",\n \"MOTION_POINTTOWARDS_POINTER\": \"sichqon-ko'rsatkichi\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"tasodifiy yo'nalish\",\n \"MOTION_GOTO\": \"%1 ga borish\",\n \"MOTION_GOTO_POINTER\": \"sichqon-ko'rsatkichi\",\n \"MOTION_GOTO_RANDOM\": \"tasodifiy joyi\",\n \"MOTION_GOTOXY\": \"x: %1 y: %2 ga borish\",\n \"MOTION_GLIDESECSTOXY\": \"%1 soniyada x: %2 y: %3 ga borish\",\n \"MOTION_GLIDETO\": \"%1 soniyada %2 ga borish\",\n \"MOTION_GLIDETO_POINTER\": \"sichqon-ko'rsatkichi\",\n \"MOTION_GLIDETO_RANDOM\": \"tasodifiy joy\",\n \"MOTION_CHANGEXBY\": \"X o'qini %1 ga o'zgartirish\",\n \"MOTION_SETX\": \"X o'qini %1 ga sozlash\",\n \"MOTION_CHANGEYBY\": \"Y o'qini %1 ga o'zgartirish\",\n \"MOTION_SETY\": \"Y o'qini %1 ga sozlash\",\n \"MOTION_IFONEDGEBOUNCE\": \"agar devorga urilsa qaytish\",\n \"MOTION_SETROTATIONSTYLE\": \"burilishni %1 ga sozlash\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"chapga-o'ngga \",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"aylanishni taqiqlash\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"aylanish\",\n \"MOTION_XPOSITION\": \"x koordinatasi\",\n \"MOTION_YPOSITION\": \"y koordinatasi\",\n \"MOTION_DIRECTION\": \"yo'nalish\",\n \"MOTION_SCROLLRIGHT\": \"%1 ni o'ngga olib kelish \",\n \"MOTION_SCROLLUP\": \"%1 yuqoriga olib kelish \",\n \"MOTION_ALIGNSCENE\": \"%1 ko'rinishni o'zgartirish\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"pastga-chapga\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"pastga-o'ngga \",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"o'rta\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"yuqori-chap\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"yuqori-o'ng\",\n \"MOTION_XSCROLL\": \"X yurguzish\",\n \"MOTION_YSCROLL\": \"Y yurguzish\",\n \"MOTION_STAGE_SELECTED\": \"Amallar bloklari\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"%1 dan %2 gacha taxminiy\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 va %2\",\n \"OPERATORS_OR\": \"%1 yoki %2\",\n \"OPERATORS_NOT\": \"%1 bo'lmasa\",\n \"OPERATORS_JOIN\": \"%1 va %2 ni qo'shish\",\n \"OPERATORS_JOIN_APPLE\": \"olma\",\n \"OPERATORS_JOIN_BANANA\": \"banan\",\n \"OPERATORS_LETTEROF\": \"%1 %2 xat\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"uzunligi %1\",\n \"OPERATORS_CONTAINS\": \"%1 tarkibida %2 mavjudmi?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"%1 atrofida\",\n \"OPERATORS_MATHOP\": \"%1 dan %2\",\n \"OPERATORS_MATHOP_ABS\": \"modul\",\n \"OPERATORS_MATHOP_FLOOR\": \"pol\",\n \"OPERATORS_MATHOP_CEILING\": \"ship\",\n \"OPERATORS_MATHOP_SQRT\": \"sqrt\",\n \"OPERATORS_MATHOP_SIN\": \"sinus qiymati\",\n \"OPERATORS_MATHOP_COS\": \"kosinus qiymati\",\n \"OPERATORS_MATHOP_TAN\": \"tan qiymati\",\n \"OPERATORS_MATHOP_ASIN\": \"asinus qiymati\",\n \"OPERATORS_MATHOP_ACOS\": \"akosinus qiymati\",\n \"OPERATORS_MATHOP_ATAN\": \"atan qiymati\",\n \"OPERATORS_MATHOP_LN\": \"Ichida\",\n \"OPERATORS_MATHOP_LOG\": \"logarifm\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"%1 ni belgilash\",\n \"SENSING_TOUCHINGOBJECT\": \"%1 ga teginganda\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"sichqon-ko'rsatkichi\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"qirra\",\n \"SENSING_TOUCHINGCOLOR\": \"%1 ga teginganda\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 rang %2 rangga tegdimi?\",\n \"SENSING_DISTANCETO\": \"%1 gacha masofa\",\n \"SENSING_DISTANCETO_POINTER\": \"sichqon-ko'rsatkichi\",\n \"SENSING_ASKANDWAIT\": \"%1 ni so'rab kutish\",\n \"SENSING_ASK_TEXT\": \"Ismingiz nima?\",\n \"SENSING_ANSWER\": \"javob\",\n \"SENSING_KEYPRESSED\": \"%1 tugmasini bosdingizmi?\",\n \"SENSING_MOUSEDOWN\": \"Sichqonchani bosdingizmi?\",\n \"SENSING_MOUSEX\": \"sichiqoncha X koordinatasi\",\n \"SENSING_MOUSEY\": \"sichiqoncha Y koordinatasi\",\n \"SENSING_SETDRAGMODE\": \"Drag rejimni sudrab %1 ga sozlash\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"oladigan holat\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"bo'lmaydigan holat\",\n \"SENSING_LOUDNESS\": \"tovush\",\n \"SENSING_LOUD\": \"baland ovoz?\",\n \"SENSING_TIMER\": \"taymer\",\n \"SENSING_RESETTIMER\": \"taymerni qaytarish\",\n \"SENSING_OF\": \"%1 dan %2\",\n \"SENSING_OF_XPOSITION\": \"X koordinatasi\",\n \"SENSING_OF_YPOSITION\": \"Y koordinatasi\",\n \"SENSING_OF_DIRECTION\": \"yo'nalish\",\n \"SENSING_OF_COSTUMENUMBER\": \"kostyum #\",\n \"SENSING_OF_COSTUMENAME\": \"kostyum nomi\",\n \"SENSING_OF_SIZE\": \"o'lcham\",\n \"SENSING_OF_VOLUME\": \"ovoz\",\n \"SENSING_OF_BACKDROPNUMBER\": \"fonning soni\",\n \"SENSING_OF_BACKDROPNAME\": \"fonning nomi\",\n \"SENSING_OF_STAGE\": \"Sahna\",\n \"SENSING_CURRENT\": \"hozirgi %1\",\n \"SENSING_CURRENT_YEAR\": \"yil\",\n \"SENSING_CURRENT_MONTH\": \"oy\",\n \"SENSING_CURRENT_DATE\": \"sana\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"hafta kuni\",\n \"SENSING_CURRENT_HOUR\": \"soat\",\n \"SENSING_CURRENT_MINUTE\": \"daqiqa\",\n \"SENSING_CURRENT_SECOND\": \"soniya\",\n \"SENSING_DAYSSINCE2000\": \"2000-yildan keyingi kunlar\",\n \"SENSING_USERNAME\": \"foydalanuvchi ismi\",\n \"SENSING_USERID\": \"foydalanuvchi ID\",\n \"SOUND_PLAY\": \" %1 ni ijro etish\",\n \"SOUND_PLAYUNTILDONE\": \"%1 ni tugaguncha ijro etish\",\n \"SOUND_STOPALLSOUNDS\": \"hamma ovozlarni to'xtat\",\n \"SOUND_SETEFFECTO\": \"%1 effektni %2 ga sozlash\",\n \"SOUND_CHANGEEFFECTBY\": \"%1 effektni %2 ga o'zgartir\",\n \"SOUND_CLEAREFFECTS\": \"ovos effektini o'chirish\",\n \"SOUND_EFFECTS_PITCH\": \"ovoz balandligi\",\n \"SOUND_EFFECTS_PAN\": \"ovoz manzili o'ng-chap\",\n \"SOUND_CHANGEVOLUMEBY\": \"ovozni %1 ga o'zgartirish\",\n \"SOUND_SETVOLUMETO\": \"ovozni %1% ga sozlash\",\n \"SOUND_VOLUME\": \"ovoz\",\n \"SOUND_RECORD\": \"ovoz yozish\",\n \"CATEGORY_MOTION\": \"Harakatlar\",\n \"CATEGORY_LOOKS\": \"Ko'rinishlar\",\n \"CATEGORY_SOUND\": \"Ovozlar\",\n \"CATEGORY_EVENTS\": \"Hodisalar\",\n \"CATEGORY_CONTROL\": \"Boshqaruvchi\",\n \"CATEGORY_SENSING\": \"Sezgirlik\",\n \"CATEGORY_OPERATORS\": \"Amallar\",\n \"CATEGORY_VARIABLES\": \"O'zgaruvchi\",\n \"CATEGORY_MYBLOCKS\": \"Mening bloklarim\",\n \"DUPLICATE\": \"Nusxalash\",\n \"DELETE\": \"O'chirish\",\n \"ADD_COMMENT\": \"Izoh qo'shish\",\n \"REMOVE_COMMENT\": \"Izohni o'chirish\",\n \"DELETE_BLOCK\": \"Blokni o'chirish\",\n \"DELETE_X_BLOCKS\": \"%1 blokni o'chirish\",\n \"DELETE_ALL_BLOCKS\": \"%1 hamma bloklar o'chirilsinmi?\",\n \"CLEAN_UP\": \"Bloklarni tozalash\",\n \"HELP\": \"Yordam\",\n \"UNDO\": \"Bekor qilish\",\n \"REDO\": \"Qaytarish\",\n \"EDIT_PROCEDURE\": \"Oʻzgartirish\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Ta'rifga o'ting\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"biron nima aytish\",\n \"COLOUR_HUE_LABEL\": \"Rang\",\n \"COLOUR_SATURATION_LABEL\": \"To'yinganlik\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Yorqinlik \",\n \"CHANGE_VALUE_TITLE\": \"Qiymatni o'zgartirish:\",\n \"RENAME_VARIABLE\": \"O'zgaruvchini nomlash:\",\n \"RENAME_VARIABLE_TITLE\": \"%1 o'zgaruvchini qayta nomlash\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"O'zgaruvchini nomlash\",\n \"NEW_VARIABLE\": \"O'zgaruvchi yaratish\",\n \"NEW_VARIABLE_TITLE\": \"Yangi o'zgaruvchining nomi:\",\n \"VARIABLE_MODAL_TITLE\": \"Yangi o'zgaruvchi\",\n \"VARIABLE_ALREADY_EXISTS\": \"%1 nomli o'zgaruvchi mavjud\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"\\\"%2\\\" ko'rinish boshqa o'zgaruvchida \\\"%1\\\" o'zgaruvchida allaqachon mavjud\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"\\\"%2\\\" o'zgaruvchisi uchun \\\"%1\\\" ni o'chirmoqchimisiz?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"\\\"%1\\\" o'zgaruvchisini o'chirib bo'lmaydi, chunki u \\\"%2\\\" funksiyasining bir qismi\",\n \"DELETE_VARIABLE\": \"%1 o'zgaruvchini o'chirish\",\n \"NEW_PROCEDURE\": \"blok yaratish\",\n \"PROCEDURE_ALREADY_EXISTS\": \"\\\"%1\\\" usuli allaqachon mavjud\",\n \"PROCEDURE_DEFAULT_NAME\": \"blok nomi\",\n \"NEW_LIST\": \"Ro‘yxat tuzing\",\n \"NEW_LIST_TITLE\": \"Yangi ro'yxat nomi:\",\n \"LIST_MODAL_TITLE\": \"Yangi roʻyxat\",\n \"LIST_ALREADY_EXISTS\": \"\\\"%1\\\" ro'yxat nomi allaqachon mavjud\",\n \"RENAME_LIST_TITLE\": \"Barcha \\\"%1\\\" ro'yxatini qayta nomlash\",\n \"RENAME_LIST_MODAL_TITLE\": \"Ro'yxatni nomlash\",\n \"DEFAULT_LIST_ITEM\": \"narsa\",\n \"DELETE_LIST\": \"%1 ro'yxatni o'chirish\",\n \"RENAME_LIST\": \"ro'yxatni nomlash\",\n \"NEW_BROADCAST_MESSAGE\": \"Yangi xabar\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Yangi xabar nomi:\",\n \"BROADCAST_MODAL_TITLE\": \"Yangi xabar\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"xabar1\"\n};\n\nBlockly.ScratchMsgs.locales[\"th\"] =\n{\n \"CONTROL_FOREVER\": \"วนซ้ำตลอด\",\n \"CONTROL_REPEAT\": \"ทำซ้ำ %1\",\n \"CONTROL_IF\": \"ถ้า %1 แล้ว\",\n \"CONTROL_ELSE\": \"มิฉะนั้น\",\n \"CONTROL_STOP\": \"หยุด\",\n \"CONTROL_STOP_ALL\": \"ทั้งหมด\",\n \"CONTROL_STOP_THIS\": \"สคริปต์นี้\",\n \"CONTROL_STOP_OTHER\": \"สริปต์อื่นในตัวละคร\",\n \"CONTROL_WAIT\": \"รอ %1 วินาที\",\n \"CONTROL_WAITUNTIL\": \"รอจนกระทั่ง %1\",\n \"CONTROL_REPEATUNTIL\": \"ทำซ้ำจน %1\",\n \"CONTROL_WHILE\": \"ขณะที่ %1\",\n \"CONTROL_FOREACH\": \"สำหรับแต่ละ %1 ใน %2\",\n \"CONTROL_STARTASCLONE\": \"เมื่อฉันเริ่มในฐานะโคลน\",\n \"CONTROL_CREATECLONEOF\": \"สร้าง โคลน ของ %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"ตัวฉันเอง\",\n \"CONTROL_DELETETHISCLONE\": \"ลบโคลนตัวนี้\",\n \"CONTROL_COUNTER\": \"ตัวนับ\",\n \"CONTROL_INCRCOUNTER\": \"ตัวนับเพิ่ม\",\n \"CONTROL_CLEARCOUNTER\": \"ล้างตัวนับ\",\n \"CONTROL_ALLATONCE\": \"ทั้งหมดในครั้งเดียว\",\n \"DATA_SETVARIABLETO\": \"ตั้งค่า %1 เป็น %2\",\n \"DATA_CHANGEVARIABLEBY\": \"เปลี่ยน %1 ทีละ %2\",\n \"DATA_SHOWVARIABLE\": \"แสดงตัวแปร %1\",\n \"DATA_HIDEVARIABLE\": \"ซ่อนตัวแปร %1\",\n \"DATA_ADDTOLIST\": \"เพิ่ม %1 ไปยัง %2\",\n \"DATA_DELETEOFLIST\": \"ลบรายการที่ %1 ออกจาก %2\",\n \"DATA_DELETEALLOFLIST\": \"ลบทั้งหมดจาก %1\",\n \"DATA_INSERTATLIST\": \"แทรก %1 ที่ลำดับ %2 ของ %3\",\n \"DATA_REPLACEITEMOFLIST\": \"แทนที่รายการที่ %1 ของ %2 ด้วย %3\",\n \"DATA_ITEMOFLIST\": \"รายการที่ %1 ของ %2\",\n \"DATA_ITEMNUMOFLIST\": \" รายการ # ของ %1 จาก %2\",\n \"DATA_LENGTHOFLIST\": \"ความยาวของ %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 มี %2?\",\n \"DATA_SHOWLIST\": \"แสดงรายการ %1\",\n \"DATA_HIDELIST\": \"ซ่อนรายการ %1\",\n \"DATA_INDEX_ALL\": \"ทั้งหมด\",\n \"DATA_INDEX_LAST\": \"สุดท้าย\",\n \"DATA_INDEX_RANDOM\": \"สุ่ม\",\n \"EVENT_WHENFLAGCLICKED\": \"เมื่อคลิก %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"เมื่อตัวละครนี้ถูกคลิก\",\n \"EVENT_WHENSTAGECLICKED\": \"เมื่อคลิกเวที\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"เมื่อสไปรต์นี้แตะ %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"เมื่อฉันได้รับ %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"เมื่อฉากหลังเปลี่ยนเป็น %1\",\n \"EVENT_WHENGREATERTHAN\": \"เมื่อ %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"ตัวจับเวลา\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"ระดับความดัง\",\n \"EVENT_BROADCAST\": \"กระจาย %1\",\n \"EVENT_BROADCASTANDWAIT\": \"กระจาย %1 และรอ\",\n \"EVENT_WHENKEYPRESSED\": \"เมื่อกดปุ่ม %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"สเปซบาร์\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"ลูกศรชี้ทางซ้าย\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"ลูกศรชี้ขวา\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"ลูกศรชี้ลง\",\n \"EVENT_WHENKEYPRESSED_UP\": \"ลูกศรขึ้น\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"อะไรก็ได้\",\n \"LOOKS_SAYFORSECS\": \"พูด %1 %2 วินาที\",\n \"LOOKS_SAY\": \"พูด %1\",\n \"LOOKS_HELLO\": \"สวัสดี!\",\n \"LOOKS_THINKFORSECS\": \"คิด %1 %2 วินาที\",\n \"LOOKS_THINK\": \"คิด %1\",\n \"LOOKS_HMM\": \"อืมม...\",\n \"LOOKS_SHOW\": \"แสดง\",\n \"LOOKS_HIDE\": \"ซ่อน\",\n \"LOOKS_HIDEALLSPRITES\": \"ซ่อนสไปรต์ทั้งหมด\",\n \"LOOKS_EFFECT_COLOR\": \"สี\",\n \"LOOKS_EFFECT_FISHEYE\": \"ตาปลา\",\n \"LOOKS_EFFECT_WHIRL\": \"หมุนวน\",\n \"LOOKS_EFFECT_PIXELATE\": \"แยกพิกเซล\",\n \"LOOKS_EFFECT_MOSAIC\": \"โมเสก\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"ความสว่าง\",\n \"LOOKS_EFFECT_GHOST\": \"ล่องหน\",\n \"LOOKS_CHANGEEFFECTBY\": \"เปลี่ยนเอฟเฟกต์ %1 ทีละ %2\",\n \"LOOKS_SETEFFECTTO\": \"ตั้งค่าเอฟเฟกต์ %1 เป็น %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"ล้างเอฟเฟคภาพ\",\n \"LOOKS_CHANGESIZEBY\": \"เปลี่ยนขนาดทีละ %1\",\n \"LOOKS_SETSIZETO\": \"กำหนดขนาดเป็น %1 %\",\n \"LOOKS_SIZE\": \"ขนาด\",\n \"LOOKS_CHANGESTRETCHBY\": \"เปลี่ยนความยืดทีละ %1\",\n \"LOOKS_SETSTRETCHTO\": \"ตั้งค่าความยืดเป็น %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"เปลี่ยนคอสตูมเป็น %1\",\n \"LOOKS_NEXTCOSTUME\": \"ชุดถัดไป\",\n \"LOOKS_SWITCHBACKDROPTO\": \"เปลี่ยนฉากหลังเป็น %1\",\n \"LOOKS_GOTOFRONTBACK\": \"ไปที่ระดับ %1 \",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"หน้าสุด\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"หลังสุด\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"ไป %1 %2 ระดับ\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"ด้านหน้า\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"ด้านหลัง\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"ฉากหลัง %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"คอสตูม %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"หมายเลข\",\n \"LOOKS_NUMBERNAME_NAME\": \"ชื่อ\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"เปลี่ยนฉากหลังเป็น %1 และรอ\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"ฉากหลังต่อไป\",\n \"LOOKS_NEXTBACKDROP\": \"ฉากหลังต่อไป\",\n \"LOOKS_PREVIOUSBACKDROP\": \"ฉากหลังก่อนหน้า\",\n \"LOOKS_RANDOMBACKDROP\": \"ฉากหลังแบบสุ่ม\",\n \"MOTION_MOVESTEPS\": \"เคลื่อนที่ %1 ก้าว\",\n \"MOTION_TURNLEFT\": \"หัน %1 %2 องศา\",\n \"MOTION_TURNRIGHT\": \"หัน %1 %2 องศา\",\n \"MOTION_POINTINDIRECTION\": \"หันในทิศทาง %1\",\n \"MOTION_POINTTOWARDS\": \"หันไปทาง %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"ตัวชี้เมาส์\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"สุ่มทิศทาง\",\n \"MOTION_GOTO\": \"ไปที่ %1\",\n \"MOTION_GOTO_POINTER\": \"ตัวชี้เมาส์\",\n \"MOTION_GOTO_RANDOM\": \"ตำแหน่งสุ่ม\",\n \"MOTION_GOTOXY\": \"ไปที่ x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"เหิน %1 วินาที ไปยัง x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"เหิน %1 วินาที ไปยัง %2\",\n \"MOTION_GLIDETO_POINTER\": \"ตัวชี้เมาส์\",\n \"MOTION_GLIDETO_RANDOM\": \"ตำแหน่งสุ่ม\",\n \"MOTION_CHANGEXBY\": \"เปลี่ยน x ทีละ %1\",\n \"MOTION_SETX\": \"ตั้งค่า x เป็น %1\",\n \"MOTION_CHANGEYBY\": \"เปลี่ยน y ทีละ %1\",\n \"MOTION_SETY\": \"ตั้งค่า y เป็น %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"ถ้าชนขอบให้สะท้อนกลับ\",\n \"MOTION_SETROTATIONSTYLE\": \"ตั้งรูปแบบการหมุนเป็น %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"ซ้าย-ขวา\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"ห้ามหมุน\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"รอบด้าน\",\n \"MOTION_XPOSITION\": \"ตำแหน่ง x \",\n \"MOTION_YPOSITION\": \"ตำแหน่ง y\",\n \"MOTION_DIRECTION\": \"ทิศทาง\",\n \"MOTION_SCROLLRIGHT\": \"เลื่อนขวา %1\",\n \"MOTION_SCROLLUP\": \"เลื่อนขึ้น %1\",\n \"MOTION_ALIGNSCENE\": \"แนวฉาก %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"ล่างซ้าย\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"ล่างขวา\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"กึ่งกลาง\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"บนซ้าย\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"บนขวา\",\n \"MOTION_XSCROLL\": \"x เลื่อน\",\n \"MOTION_YSCROLL\": \"y เลื่อน\",\n \"MOTION_STAGE_SELECTED\": \"เลือกเวที: ไม่มีบล็อกเคลื่อนไหว\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"เลือกสุ่มจาก %1 ถึง %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 และ %2\",\n \"OPERATORS_OR\": \"%1 หรือ %2\",\n \"OPERATORS_NOT\": \"ไม่ %1\",\n \"OPERATORS_JOIN\": \"ต่อ %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"แอปเปิ้ล\",\n \"OPERATORS_JOIN_BANANA\": \"กล้วย\",\n \"OPERATORS_LETTEROF\": \"อักษรที่ %1 ของ %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"อ\",\n \"OPERATORS_LENGTH\": \"ความยาวของ %1\",\n \"OPERATORS_CONTAINS\": \"%1 มี %2?\",\n \"OPERATORS_MOD\": \"%1 หารเอาเศษ %2\",\n \"OPERATORS_ROUND\": \"ปัดเศษ %1\",\n \"OPERATORS_MATHOP\": \"%1 ของ %2\",\n \"OPERATORS_MATHOP_ABS\": \"ค่าสัมบูรณ์\",\n \"OPERATORS_MATHOP_FLOOR\": \"พื้น\",\n \"OPERATORS_MATHOP_CEILING\": \"เพดาน\",\n \"OPERATORS_MATHOP_SQRT\": \"รากที่สอง\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"กำหนด %1\",\n \"SENSING_TOUCHINGOBJECT\": \"แตะ %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"ตัวชี้เมาส์\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"ขอบ\",\n \"SENSING_TOUCHINGCOLOR\": \"แตะสี %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"สี %1 แตะกับสี %2?\",\n \"SENSING_DISTANCETO\": \"ระยะห่างไปยัง %1\",\n \"SENSING_DISTANCETO_POINTER\": \"ตัวชี้เมาส์\",\n \"SENSING_ASKANDWAIT\": \"ถาม %1 และรอ\",\n \"SENSING_ASK_TEXT\": \"คุณชื่ออะไร?\",\n \"SENSING_ANSWER\": \"คำตอบ\",\n \"SENSING_KEYPRESSED\": \"ปุ่ม %1 ถูกกด?\",\n \"SENSING_MOUSEDOWN\": \"เมาส์ถูกกด?\",\n \"SENSING_MOUSEX\": \"ตำแหน่ง x ของเมาส์\",\n \"SENSING_MOUSEY\": \"ตำแหน่ง y ของเมาส์\",\n \"SENSING_SETDRAGMODE\": \"ตั้งค่าโหมดลาก %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"ลากได้\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"ลากไม่ได้\",\n \"SENSING_LOUDNESS\": \"ระดับความดัง\",\n \"SENSING_LOUD\": \"เสียงดัง?\",\n \"SENSING_TIMER\": \"จับเวลา\",\n \"SENSING_RESETTIMER\": \"จับเวลาใหม่\",\n \"SENSING_OF\": \"%1 ของ %2\",\n \"SENSING_OF_XPOSITION\": \"ตำแหน่ง x \",\n \"SENSING_OF_YPOSITION\": \"ตำแหน่ง y\",\n \"SENSING_OF_DIRECTION\": \"ทิศทาง\",\n \"SENSING_OF_COSTUMENUMBER\": \"คอสตูม #\",\n \"SENSING_OF_COSTUMENAME\": \"ชื่อคอสตูม\",\n \"SENSING_OF_SIZE\": \"ขนาด\",\n \"SENSING_OF_VOLUME\": \"ระดับเสียง\",\n \"SENSING_OF_BACKDROPNUMBER\": \"ฉากหลัง #\",\n \"SENSING_OF_BACKDROPNAME\": \"ชื่อฉากหลัง\",\n \"SENSING_OF_STAGE\": \"เวที\",\n \"SENSING_CURRENT\": \"%1 ปัจจุบัน\",\n \"SENSING_CURRENT_YEAR\": \"ปี\",\n \"SENSING_CURRENT_MONTH\": \"เดือน\",\n \"SENSING_CURRENT_DATE\": \"วันที่\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"วันของสัปดาห์\",\n \"SENSING_CURRENT_HOUR\": \"ชั่วโมง\",\n \"SENSING_CURRENT_MINUTE\": \"นาที\",\n \"SENSING_CURRENT_SECOND\": \"วินาที\",\n \"SENSING_DAYSSINCE2000\": \"จำนวนวันตั้งแต่ปี ค.ศ 2000\",\n \"SENSING_USERNAME\": \"ชื่อผู้ใช้\",\n \"SENSING_USERID\": \"รหัสผู้ใช้\",\n \"SOUND_PLAY\": \"เริ่มเสียง %1\",\n \"SOUND_PLAYUNTILDONE\": \"เล่นเสียง %1 จนจบ\",\n \"SOUND_STOPALLSOUNDS\": \"หยุดเสียงทั้งหมด\",\n \"SOUND_SETEFFECTO\": \"ตั้งค่าเอฟเฟกต์ %1 เป็น %2\",\n \"SOUND_CHANGEEFFECTBY\": \"เปลี่ยนเอฟเฟกต์ %1 ทีละ %2\",\n \"SOUND_CLEAREFFECTS\": \"ล้างเอฟเฟกต์เสียง\",\n \"SOUND_EFFECTS_PITCH\": \"เสียงสูงต่ำ\",\n \"SOUND_EFFECTS_PAN\": \"แพนเสียงซ้าย/ขวา\",\n \"SOUND_CHANGEVOLUMEBY\": \"เปลี่ยนระดับเสียงทีละ %1\",\n \"SOUND_SETVOLUMETO\": \"ตั้งระดับเสียงเป็น %1%\",\n \"SOUND_VOLUME\": \"ระดับเสียง\",\n \"SOUND_RECORD\": \"อัดบันทึก...\",\n \"CATEGORY_MOTION\": \"เคลื่อนไหว\",\n \"CATEGORY_LOOKS\": \"รูปลักษณ์\",\n \"CATEGORY_SOUND\": \"เสียง\",\n \"CATEGORY_EVENTS\": \"เหตุการณ์\",\n \"CATEGORY_CONTROL\": \"ควบคุม\",\n \"CATEGORY_SENSING\": \"ตรวจจับ\",\n \"CATEGORY_OPERATORS\": \"ตัวดำเนินการ\",\n \"CATEGORY_VARIABLES\": \"ตัวแปร\",\n \"CATEGORY_MYBLOCKS\": \"บล็อกของฉัน\",\n \"DUPLICATE\": \"ทำซ้ำ\",\n \"DELETE\": \"ลบ\",\n \"ADD_COMMENT\": \"เพิ่มคำอธิบาย\",\n \"REMOVE_COMMENT\": \"ลบคำอธิบาย\",\n \"DELETE_BLOCK\": \"ลบบล็อก\",\n \"DELETE_X_BLOCKS\": \"ลบ %1 บล็อก\",\n \"DELETE_ALL_BLOCKS\": \"ลบทั้งหมด %1 บล็อก?\",\n \"CLEAN_UP\": \"จัดระเบียบบล็อก\",\n \"HELP\": \"ช่วยเหลือ\",\n \"UNDO\": \"ย้อนกลับ\",\n \"REDO\": \"ทำซ้ำ\",\n \"EDIT_PROCEDURE\": \"แก้ไข\",\n \"SHOW_PROCEDURE_DEFINITION\": \"ไปยังตัวกำหนด\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"พูดอะไรสักอย่าง...\",\n \"COLOUR_HUE_LABEL\": \"สี\",\n \"COLOUR_SATURATION_LABEL\": \"ความอิ่มตัว\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"ความสว่าง\",\n \"CHANGE_VALUE_TITLE\": \"เปลี่ยนค่า:\",\n \"RENAME_VARIABLE\": \"เปลี่ยนชื่อตัวแปร\",\n \"RENAME_VARIABLE_TITLE\": \"เปลี่ยนชื่อตัวแปร \\\"%1\\\" ทั้งหมดเป็น:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"เปลี่ยนชื่อตัวแปร\",\n \"NEW_VARIABLE\": \"สร้างตัวแปร\",\n \"NEW_VARIABLE_TITLE\": \"ชื่อตัวแปรใหม่:\",\n \"VARIABLE_MODAL_TITLE\": \"ตัวแปรใหม่\",\n \"VARIABLE_ALREADY_EXISTS\": \"มีตัวแปรชื่อ \\\"%1\\\" อยู่แล้ว\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"มีตัวแปรชื่อ \\\"%1\\\" อยู่แล้วสำหรับตัวแปรอื่นชนิด \\\"%2\\\"\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"ลบตัวแปร \\\"%2\\\" ซึ่งใช้อยู่ %1 ที่?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"ไม่สามารถลบตัวแปร \\\"%1\\\" ได้เนื่องจากเป็นส่วนหนึ่งของคำจำกัดความของฟังก์ชัน \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"ลบตัวแปร \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"สร้างบล็อกใหม่\",\n \"PROCEDURE_ALREADY_EXISTS\": \"มีขั้นตอนชื่อ \\\"%1\\\" อยู่แล้ว\",\n \"PROCEDURE_DEFAULT_NAME\": \"ชื่อบล็อก\",\n \"NEW_LIST\": \"สร้างรายการ\",\n \"NEW_LIST_TITLE\": \"ชื่อรายการ:\",\n \"LIST_MODAL_TITLE\": \"รายการใหม่\",\n \"LIST_ALREADY_EXISTS\": \"มีรายการชื่อ \\\"%1\\\" อยู่แล้ว\",\n \"RENAME_LIST_TITLE\": \"เปลี่ยนชื่อรายการ \\\"%1\\\" ทั้งหมดเป็น:\",\n \"RENAME_LIST_MODAL_TITLE\": \"เปลี่ยนชื่อรายการ\",\n \"DEFAULT_LIST_ITEM\": \"สิ่ง\",\n \"DELETE_LIST\": \"ลบรายชื่อ \\\"%1\\\"\",\n \"RENAME_LIST\": \"เปลี่ยนชื่อรายชื่อ\",\n \"NEW_BROADCAST_MESSAGE\": \"ข้อความใหม่\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"ชื่อข้อความใหม่:\",\n \"BROADCAST_MODAL_TITLE\": \"ข้อความใหม่\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"ข้อความ1\"\n};\n\nBlockly.ScratchMsgs.locales[\"km\"] =\n{\n \"CONTROL_FOREVER\": \"រហូត\",\n \"CONTROL_REPEAT\": \"ធ្វើដដែលៗ %1 ដង\",\n \"CONTROL_IF\": \"ប្រសិន %1 នោះ\",\n \"CONTROL_ELSE\": \"បើមិនដូច្នោះទេ\",\n \"CONTROL_STOP\": \"ឈប់\",\n \"CONTROL_STOP_ALL\": \"ទាំងអស់\",\n \"CONTROL_STOP_THIS\": \"ស្គ្រីបនេះ\",\n \"CONTROL_STOP_OTHER\": \"ស្រ្គីបផ្សេងទៀតក្នុងតួអង្គ\",\n \"CONTROL_WAIT\": \"ចាំ %1 វិនាទី\",\n \"CONTROL_WAITUNTIL\": \"ចាំរហូតដល់ %1\",\n \"CONTROL_REPEATUNTIL\": \"ធ្វើដដែលៗរហូតដល់ %1\",\n \"CONTROL_WHILE\": \"ខណៈពេល %1\",\n \"CONTROL_FOREACH\": \"សម្រាប់ %1 នីមួយៗ ក្នុង %2\",\n \"CONTROL_STARTASCLONE\": \"ពេលខ្ញុំចាប់ផ្តើមជារូបចម្លង\",\n \"CONTROL_CREATECLONEOF\": \"ចម្លងរូបរាងនៃ %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"ខ្លួនឯង\",\n \"CONTROL_DELETETHISCLONE\": \"លុបរូបចម្លងនេះ\",\n \"CONTROL_COUNTER\": \"លេខរាប់\",\n \"CONTROL_INCRCOUNTER\": \"បង្កើនលេខរាប់\",\n \"CONTROL_CLEARCOUNTER\": \"លុបលេខរាប់\",\n \"CONTROL_ALLATONCE\": \"ម្តងទាំងអស់\",\n \"DATA_SETVARIABLETO\": \"ដាក់ %1 ទៅជា %2\",\n \"DATA_CHANGEVARIABLEBY\": \"ប្តូរ %1 ចំនួន %2\",\n \"DATA_SHOWVARIABLE\": \"បង្ហាញអថេរ %1\",\n \"DATA_HIDEVARIABLE\": \"លាក់អថេរ %1\",\n \"DATA_ADDTOLIST\": \"បន្ថែម %1 ទៅលើ %2\",\n \"DATA_DELETEOFLIST\": \"លុបធាតុទី %1 ចេញពី %2\",\n \"DATA_DELETEALLOFLIST\": \"លុបធាតុទាំងអស់ក្នុង %1\",\n \"DATA_INSERTATLIST\": \"បញ្ចូល %1 នៅទីតាំង %2 ក្នុង %3\",\n \"DATA_REPLACEITEMOFLIST\": \"ជំនួសធាតុ %1 នៃ %2 ដោយ %3\",\n \"DATA_ITEMOFLIST\": \"ធាតុ %1 នៃ %2\",\n \"DATA_ITEMNUMOFLIST\": \"លេខទីតាំងនៃធាតុ %1 ក្នុង %2\",\n \"DATA_LENGTHOFLIST\": \"ប្រវែងនៃ %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 មាន %2?\",\n \"DATA_SHOWLIST\": \"បង្ហាញបញ្ជី %1\",\n \"DATA_HIDELIST\": \"លាក់បញ្ជី %1\",\n \"DATA_INDEX_ALL\": \"ទាំងអស់\",\n \"DATA_INDEX_LAST\": \"ចុងក្រោយ\",\n \"DATA_INDEX_RANDOM\": \"ចៃដន្យ\",\n \"EVENT_WHENFLAGCLICKED\": \"ពេលចុច %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"ពេលចុចតួអង្គ\",\n \"EVENT_WHENSTAGECLICKED\": \"ពេលចុចឆាក\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"នៅពេលតួអង្គនេះប៉ះ %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"ពេលខ្ញុំទទួលបាន %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"ពេលផ្ទាំងខាងក្រោយប្តូរទៅជា %1\",\n \"EVENT_WHENGREATERTHAN\": \"ពេល %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"ម៉ោងរាប់ថយក្រោយ\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"កម្រិតឮ\",\n \"EVENT_BROADCAST\": \"បញ្ជូនសារ %1\",\n \"EVENT_BROADCASTANDWAIT\": \"បញ្ជូនសារ %1 ហើយចាំ\",\n \"EVENT_WHENKEYPRESSED\": \"ពេលចុច %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"ច្នុចដក​ឃ្លា\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"ព្រួញខាង​ឆ្វេង\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"ព្រួញខាង​ស្ដាំ\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"ព្រួញខាងក្រោម\",\n \"EVENT_WHENKEYPRESSED_UP\": \"ព្រួញ​ខាង​លើ\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"ណាមួយ\",\n \"LOOKS_SAYFORSECS\": \"និយាយ %1 រយៈពេល %2 វិនាទី\",\n \"LOOKS_SAY\": \"និយាយ %1\",\n \"LOOKS_HELLO\": \"សួស្តី!\",\n \"LOOKS_THINKFORSECS\": \"គិត %1 រយៈពេល %2 វិនាទី\",\n \"LOOKS_THINK\": \"គិត %1\",\n \"LOOKS_HMM\": \"អឺ...\",\n \"LOOKS_SHOW\": \"បង្ហាញ\",\n \"LOOKS_HIDE\": \"លាក់\",\n \"LOOKS_HIDEALLSPRITES\": \"លាក់តួអង្គទាំងអស់\",\n \"LOOKS_EFFECT_COLOR\": \"ពណ៌\",\n \"LOOKS_EFFECT_FISHEYE\": \"fisheye\",\n \"LOOKS_EFFECT_WHIRL\": \"whirl\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixelate\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaic\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"កម្រិតពន្លឺ\",\n \"LOOKS_EFFECT_GHOST\": \"ghost\",\n \"LOOKS_CHANGEEFFECTBY\": \"ប្តូរបែបផែន %1 ចំនួន %2\",\n \"LOOKS_SETEFFECTTO\": \"ដាក់បែបផែន %1 ត្រឹម %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"លុបបែបផែនក្រាហ្វិក\",\n \"LOOKS_CHANGESIZEBY\": \"ប្តូរទំហំចំនួន %1\",\n \"LOOKS_SETSIZETO\": \"ដាក់ទំហំត្រឹម %1 %\",\n \"LOOKS_SIZE\": \"ទំហំ\",\n \"LOOKS_CHANGESTRETCHBY\": \"ប្តូរកម្រិតយឺតចំនួន %1\",\n \"LOOKS_SETSTRETCHTO\": \"ដាក់កម្រិតយឺតត្រឹម %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"ប្តូររូបរាងទៅជា %1\",\n \"LOOKS_NEXTCOSTUME\": \"រូបរាងបន្ទាប់\",\n \"LOOKS_SWITCHBACKDROPTO\": \"ប្ដូរផ្ទាំង​ខាងក្រោយ​ទៅជា %1\",\n \"LOOKS_GOTOFRONTBACK\": \"ទៅស្រទាប់ %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"មុខ\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"ក្រោយ\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%1 %2 ស្រទាប់\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"ទៅមុខ\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"ថយក្រោយ\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"ផ្ទាំងខាងក្រោយ %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"រូបរាង %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"លេខ\",\n \"LOOKS_NUMBERNAME_NAME\": \"ឈ្មោះ\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"ប្ដូរផ្ទាំងខាង​ក្រោយ​ទៅជា %1 ហើយ​រងចាំ\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"ផ្ទាំងខាងក្រោយបន្ទាប់\",\n \"LOOKS_NEXTBACKDROP\": \"ផ្ទាំងខាងក្រោយបន្ទាប់\",\n \"LOOKS_PREVIOUSBACKDROP\": \"ផ្ទាំងខាងក្រោយមុន\",\n \"LOOKS_RANDOMBACKDROP\": \"ផ្ទាំងខាងក្រោយចៃដន្យ\",\n \"MOTION_MOVESTEPS\": \"ផ្លាស់ទី %1 ជំហាន\",\n \"MOTION_TURNLEFT\": \"បង្វិល %1 %2 ដឺក្រេ\",\n \"MOTION_TURNRIGHT\": \"បង្វិល %1 %2 ដឺក្រេ\",\n \"MOTION_POINTINDIRECTION\": \"ចង្អុលទៅទិសដៅ %1\",\n \"MOTION_POINTTOWARDS\": \"ចង្អុលទៅ %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"ព្រួញម៉ៅស៍\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"ទិសដៅចៃដន្យ\",\n \"MOTION_GOTO\": \"ទៅកាន់ %1\",\n \"MOTION_GOTO_POINTER\": \"ព្រួញម៉ៅស៍\",\n \"MOTION_GOTO_RANDOM\": \"ទីតាំង​ចៃ​ដន្យ\",\n \"MOTION_GOTOXY\": \"ទៅកាន់ x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"រំកិល %1 វិនាទី ទៅ x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"រំកិល %1 វិនាទី ទៅ %2\",\n \"MOTION_GLIDETO_POINTER\": \"ព្រួញម៉ៅស៍\",\n \"MOTION_GLIDETO_RANDOM\": \"ទីតាំង​ចៃ​ដន្យ\",\n \"MOTION_CHANGEXBY\": \"ប្តូរ x ចំនួន %1\",\n \"MOTION_SETX\": \"ដាក់ x ត្រឹម %1\",\n \"MOTION_CHANGEYBY\": \"ប្តូរ y ចំនួន %1\",\n \"MOTION_SETY\": \"ដាក់ y ត្រឹម %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"បើនៅគែមឆាក, អោយខ្ទាតចេញ\",\n \"MOTION_SETROTATIONSTYLE\": \"ដាក់ស្តាយបង្វិល %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"ឆ្វេង-ស្តាំ\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"កុំ​បង្វិល\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"ពេញមួយជុំ\",\n \"MOTION_XPOSITION\": \"ទីតាំង x\",\n \"MOTION_YPOSITION\": \"ទីតាំង y\",\n \"MOTION_DIRECTION\": \"ទិសដៅ\",\n \"MOTION_SCROLLRIGHT\": \"រមូរស្តាំ %1\",\n \"MOTION_SCROLLUP\": \"រមូរឡើងលើ %1\",\n \"MOTION_ALIGNSCENE\": \"តម្រឹមឈុត %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"ក្រោម-ឆ្វេង\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"ក្រោម-ស្តាំ\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"កណ្តាល\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"លើ-ឆ្វេង\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"លើ-ស្តាំ\",\n \"MOTION_XSCROLL\": \"រមូរ x\",\n \"MOTION_YSCROLL\": \"រមូរ y\",\n \"MOTION_STAGE_SELECTED\": \"អ្នកបានជ្រើសឆាក។ មិនមានប្លុកចលនាទេ\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"យកតម្លៃចៃដន្យពី %1 ទៅ %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 និង %2\",\n \"OPERATORS_OR\": \"%1 ឬ %2\",\n \"OPERATORS_NOT\": \"មិនមែន %1\",\n \"OPERATORS_JOIN\": \"ភ្ជាប់ %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"apple\",\n \"OPERATORS_JOIN_BANANA\": \"banana\",\n \"OPERATORS_LETTEROF\": \"តួអក្សរទី %1 នៃ %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"ប្រវែងនៃ %1\",\n \"OPERATORS_CONTAINS\": \"%1 មាន %2?\",\n \"OPERATORS_MOD\": \"សំណល់នៃ %1 ចែកនឹង %2\",\n \"OPERATORS_ROUND\": \"បង្គត់ %1\",\n \"OPERATORS_MATHOP\": \"%1 នៃ %2\",\n \"OPERATORS_MATHOP_ABS\": \"តម្លៃដាច់ខាត\",\n \"OPERATORS_MATHOP_FLOOR\": \"បង្គត់ចុះ\",\n \"OPERATORS_MATHOP_CEILING\": \"បង្គត់ឡើង\",\n \"OPERATORS_MATHOP_SQRT\": \"ឫស​ការ៉េ\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"កំណត់ន័យ %1\",\n \"SENSING_TOUCHINGOBJECT\": \"ប៉ះ %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"ព្រួញម៉ៅស៍\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"គែម\",\n \"SENSING_TOUCHINGCOLOR\": \"ប៉ះពណ៌ %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"ពណ៌ %1 ប៉ះ %2?\",\n \"SENSING_DISTANCETO\": \"ចម្ងាយពី %1\",\n \"SENSING_DISTANCETO_POINTER\": \"ព្រួញម៉ៅស៍\",\n \"SENSING_ASKANDWAIT\": \"សួរ %1 ហើយចាំ\",\n \"SENSING_ASK_TEXT\": \"តើអ្នកឈ្មោះអ្វី?\",\n \"SENSING_ANSWER\": \"ចម្លើយ\",\n \"SENSING_KEYPRESSED\": \"ច្នុច %1 ត្រូវបានចុច?\",\n \"SENSING_MOUSEDOWN\": \"ចុចម៉ៅស៍?\",\n \"SENSING_MOUSEX\": \"ទីតាំងព្រួញម៉ៅស៍ x\",\n \"SENSING_MOUSEY\": \"ទីតាំងព្រួញម៉ៅស៍ y\",\n \"SENSING_SETDRAGMODE\": \"ដាក់ម៉ូតអូស %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"អាចអូសបាន\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"មិនអាចអូសបាន\",\n \"SENSING_LOUDNESS\": \"កម្រិតឮ\",\n \"SENSING_LOUD\": \"លឺ?\",\n \"SENSING_TIMER\": \"ម៉ោងរាប់ថយក្រោយ\",\n \"SENSING_RESETTIMER\": \"កំណត់ម៉ោងរាប់ថយក្រោយឡើងវិញ\",\n \"SENSING_OF\": \"%1 នៃ %2\",\n \"SENSING_OF_XPOSITION\": \"ទីតាំង x \",\n \"SENSING_OF_YPOSITION\": \"ទីតាំង y\",\n \"SENSING_OF_DIRECTION\": \"ទិសដៅ\",\n \"SENSING_OF_COSTUMENUMBER\": \"រូបរាង #\",\n \"SENSING_OF_COSTUMENAME\": \"ឈ្មោះរូបរាង\",\n \"SENSING_OF_SIZE\": \"ទំហំ\",\n \"SENSING_OF_VOLUME\": \"កម្រិតសម្លេង\",\n \"SENSING_OF_BACKDROPNUMBER\": \"ផ្ទាំងខាងក្រោយ #\",\n \"SENSING_OF_BACKDROPNAME\": \"ឈ្មោះផ្ទាំងខាងក្រោយ\",\n \"SENSING_OF_STAGE\": \"ឆាក\",\n \"SENSING_CURRENT\": \"%1 បច្ចុប្បន្ន\",\n \"SENSING_CURRENT_YEAR\": \"ឆ្នាំ\",\n \"SENSING_CURRENT_MONTH\": \"ខែ\",\n \"SENSING_CURRENT_DATE\": \"ថ្ងៃខែ\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"ថ្ងៃប្រចាំសប្តាហ៍\",\n \"SENSING_CURRENT_HOUR\": \"ម៉ោង\",\n \"SENSING_CURRENT_MINUTE\": \"នាទី\",\n \"SENSING_CURRENT_SECOND\": \"វិនាទី\",\n \"SENSING_DAYSSINCE2000\": \"ចំនួនថ្ងៃចាប់ពីឆ្នាំ 2000\",\n \"SENSING_USERNAME\": \"ឈ្មោះគណនី\",\n \"SENSING_USERID\": \"លេខសម្គាល់អ្នកប្រើ\",\n \"SOUND_PLAY\": \"ផ្តើមសម្លេង %1\",\n \"SOUND_PLAYUNTILDONE\": \"លេងសម្លេង %1 រហូតដល់ចប់\",\n \"SOUND_STOPALLSOUNDS\": \"បញ្ឈប់សម្លេងទាំងអស់\",\n \"SOUND_SETEFFECTO\": \"ដាក់បែបផែន %1 ត្រឹម %2\",\n \"SOUND_CHANGEEFFECTBY\": \"ប្តូរបែបផែន %1 ចំនួន %2\",\n \"SOUND_CLEAREFFECTS\": \"លុបបែបផែនសម្លេង\",\n \"SOUND_EFFECTS_PITCH\": \"កម្រិតខ្ពស់ទាប\",\n \"SOUND_EFFECTS_PAN\": \"កម្រិតឆ្វេងស្តាំ\",\n \"SOUND_CHANGEVOLUMEBY\": \"ប្តូរកម្រិតសម្លេងចំនួន %1\",\n \"SOUND_SETVOLUMETO\": \"ដាក់កម្រិតសម្លេងត្រឹម %1%\",\n \"SOUND_VOLUME\": \"កម្រិតសម្លេង\",\n \"SOUND_RECORD\": \"ថតសម្លេង...\",\n \"CATEGORY_MOTION\": \"ចលនា\",\n \"CATEGORY_LOOKS\": \"រូបរាង\",\n \"CATEGORY_SOUND\": \"សម្លេង\",\n \"CATEGORY_EVENTS\": \"ព្រឹត្តិការណ៍\",\n \"CATEGORY_CONTROL\": \"គ្រប់គ្រង\",\n \"CATEGORY_SENSING\": \"ញ្ញាណ\",\n \"CATEGORY_OPERATORS\": \"ប្រមាណវិធី\",\n \"CATEGORY_VARIABLES\": \"អថេរ\",\n \"CATEGORY_MYBLOCKS\": \"ប្លុកខ្ញុំ\",\n \"DUPLICATE\": \"ចម្លង\",\n \"DELETE\": \"លុប\",\n \"ADD_COMMENT\": \"ដាក់មតិ\",\n \"REMOVE_COMMENT\": \"លុបមតិ\",\n \"DELETE_BLOCK\": \"លុបប្លុក\",\n \"DELETE_X_BLOCKS\": \"លុបប្លុក %1\",\n \"DELETE_ALL_BLOCKS\": \"លុបប្លុកទាំង %1?\",\n \"CLEAN_UP\": \"រៀបរយប្លុក\",\n \"HELP\": \"ជំនួយ\",\n \"UNDO\": \"មិនធ្វើវិញ\",\n \"REDO\": \"ធ្វើឡើងវិញ\",\n \"EDIT_PROCEDURE\": \"កែសម្រួល\",\n \"SHOW_PROCEDURE_DEFINITION\": \"ទៅកាន់និយមន័យ\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"និយាយអ្វីមួយ...\",\n \"COLOUR_HUE_LABEL\": \"ពណ៌\",\n \"COLOUR_SATURATION_LABEL\": \"កម្រិតដិត\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"កម្រិតពន្លឺ\",\n \"CHANGE_VALUE_TITLE\": \"ប្តូរតម្លៃ៖\",\n \"RENAME_VARIABLE\": \"កែឈ្មោះអថេរ\",\n \"RENAME_VARIABLE_TITLE\": \"កែឈ្មោះអថេរ \\\"%1\\\" ទាំងអស់ទៅជា៖\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"កែឈ្មោះអថេរ\",\n \"NEW_VARIABLE\": \"បង្កើតអថេរ\",\n \"NEW_VARIABLE_TITLE\": \"ឈ្មោះអថេរថ្មី ៖\",\n \"VARIABLE_MODAL_TITLE\": \"អថេរថ្មី\",\n \"VARIABLE_ALREADY_EXISTS\": \"អថេរឈ្មោះ \\\"%1\\\" មានរួចហើយ\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"អថេរឈ្មោះ \\\"%1\\\" មានរួចហើយសម្រាប់អថេរប្រភេទ \\\"%2\\\"។\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"លុបអថេរ \\\"%2\\\" និងការប្រើប្រាស់ %1 ដងរបស់វា?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"មិនអាចលុបអថេរ \\\"%1\\\" ទេព្រោះវាទាក់ទងនឹងអនុគមន៍ \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"លុបអថេរ \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"បង្កើតប្លុកមួយ\",\n \"PROCEDURE_ALREADY_EXISTS\": \"ដំណាក់កាលឈ្មោះ \\\"%1\\\" មានរួចហើយ។\",\n \"PROCEDURE_DEFAULT_NAME\": \"ឈ្មោះប្លុក\",\n \"NEW_LIST\": \"បង្កើតបញ្ជី\",\n \"NEW_LIST_TITLE\": \"ឈ្មោះបញ្ជីថ្មី៖\",\n \"LIST_MODAL_TITLE\": \"បញ្ជីថ្មី\",\n \"LIST_ALREADY_EXISTS\": \"បញ្ជីឈ្មោះ \\\"%1\\\" មានរួចហើយ។\",\n \"RENAME_LIST_TITLE\": \"កែឈ្មោះបញ្ជី \\\"%1\\\" ទាំងអស់ទៅជា៖\",\n \"RENAME_LIST_MODAL_TITLE\": \"កែឈ្មោះបញ្ជី\",\n \"DEFAULT_LIST_ITEM\": \"វត្ថុ\",\n \"DELETE_LIST\": \"លុបបញ្ជី \\\"%1\\\"\",\n \"RENAME_LIST\": \"កែឈ្មោះបញ្ជី\",\n \"NEW_BROADCAST_MESSAGE\": \"សារថ្មី\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"ឈ្មោះសារថ្មី៖\",\n \"BROADCAST_MODAL_TITLE\": \"សារថ្មី\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"សារ 1\"\n};\n\nBlockly.ScratchMsgs.locales[\"pl\"] =\n{\n \"CONTROL_FOREVER\": \"zawsze\",\n \"CONTROL_REPEAT\": \"powtarzaj %1\",\n \"CONTROL_IF\": \"jeżeli %1 to\",\n \"CONTROL_ELSE\": \"w przeciwnym razie\",\n \"CONTROL_STOP\": \"zatrzymaj\",\n \"CONTROL_STOP_ALL\": \"wszystko\",\n \"CONTROL_STOP_THIS\": \"ten skrypt\",\n \"CONTROL_STOP_OTHER\": \"inne skrypty duszka\",\n \"CONTROL_WAIT\": \"czekaj %1 sekund\",\n \"CONTROL_WAITUNTIL\": \"czekaj aż %1\",\n \"CONTROL_REPEATUNTIL\": \"powtarzaj aż %1\",\n \"CONTROL_WHILE\": \"podczas gdy %1\",\n \"CONTROL_FOREACH\": \"dla każdego %1 z %2\",\n \"CONTROL_STARTASCLONE\": \"gdy zaczynam jako klon\",\n \"CONTROL_CREATECLONEOF\": \"utwórz klona z %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"siebie\",\n \"CONTROL_DELETETHISCLONE\": \"usuń tego klona\",\n \"CONTROL_COUNTER\": \"licznik\",\n \"CONTROL_INCRCOUNTER\": \"zwiększ licznik\",\n \"CONTROL_CLEARCOUNTER\": \"zeruj licznik\",\n \"CONTROL_ALLATONCE\": \"wszystko na raz\",\n \"DATA_SETVARIABLETO\": \"ustaw %1 na %2\",\n \"DATA_CHANGEVARIABLEBY\": \"zmień %1 o %2\",\n \"DATA_SHOWVARIABLE\": \"pokaż zmienną %1\",\n \"DATA_HIDEVARIABLE\": \"ukryj zmienną %1\",\n \"DATA_ADDTOLIST\": \"dodaj %1 do %2\",\n \"DATA_DELETEOFLIST\": \"usuń %1 z %2\",\n \"DATA_DELETEALLOFLIST\": \"usuń wszystko z %1\",\n \"DATA_INSERTATLIST\": \"wstaw %1 na %2 pozycji z %3\",\n \"DATA_REPLACEITEMOFLIST\": \"zamień %1 z %2 na %3\",\n \"DATA_ITEMOFLIST\": \"element %1 z %2\",\n \"DATA_ITEMNUMOFLIST\": \"pozycja %1 na liście %2\",\n \"DATA_LENGTHOFLIST\": \"długość %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 zawiera %2?\",\n \"DATA_SHOWLIST\": \"pokaż listę %1\",\n \"DATA_HIDELIST\": \"ukryj listę %1\",\n \"DATA_INDEX_ALL\": \"wszystko\",\n \"DATA_INDEX_LAST\": \"ostatni\",\n \"DATA_INDEX_RANDOM\": \"losowa\",\n \"EVENT_WHENFLAGCLICKED\": \"kiedy kliknięto %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"kiedy ten duszek kliknięty\",\n \"EVENT_WHENSTAGECLICKED\": \"kiedy scena kliknięta\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"kiedy ten duszek dotknie %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"kiedy otrzymam %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"kiedy tło zmieni się na %1\",\n \"EVENT_WHENGREATERTHAN\": \"kiedy %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"stoper\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"głośność\",\n \"EVENT_BROADCAST\": \"nadaj komunikat %1\",\n \"EVENT_BROADCASTANDWAIT\": \"nadaj komunikat %1 i czekaj\",\n \"EVENT_WHENKEYPRESSED\": \"kiedy klawisz %1 naciśnięty\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"spacja\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"strzałka w lewo\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"strzałka w prawo\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"strzałka w dół\",\n \"EVENT_WHENKEYPRESSED_UP\": \"strzałka w górę\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"dowolny\",\n \"LOOKS_SAYFORSECS\": \"powiedz %1 przez %2 sekund\",\n \"LOOKS_SAY\": \"powiedz %1\",\n \"LOOKS_HELLO\": \"Cześć!\",\n \"LOOKS_THINKFORSECS\": \"pomyśl %1 przez %2 sekund\",\n \"LOOKS_THINK\": \"pomyśl %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"pokaż\",\n \"LOOKS_HIDE\": \"ukryj\",\n \"LOOKS_HIDEALLSPRITES\": \"ukryj wszystkie duszki\",\n \"LOOKS_EFFECT_COLOR\": \"kolor\",\n \"LOOKS_EFFECT_FISHEYE\": \"rybie oko\",\n \"LOOKS_EFFECT_WHIRL\": \"wir\",\n \"LOOKS_EFFECT_PIXELATE\": \"zniekształć\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaika\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"jasność\",\n \"LOOKS_EFFECT_GHOST\": \"duch\",\n \"LOOKS_CHANGEEFFECTBY\": \"zmień efekt %1 o %2\",\n \"LOOKS_SETEFFECTTO\": \"ustaw efekt %1 na %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"wyczyść efekty graficzne\",\n \"LOOKS_CHANGESIZEBY\": \"zmień rozmiar o %1\",\n \"LOOKS_SETSIZETO\": \"ustaw rozmiar na %1 %\",\n \"LOOKS_SIZE\": \"rozmiar\",\n \"LOOKS_CHANGESTRETCHBY\": \"zmień rozciągnięcie o %1\",\n \"LOOKS_SETSTRETCHTO\": \"ustaw rozciąganie na %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"zmień kostium na %1\",\n \"LOOKS_NEXTCOSTUME\": \"następny kostium\",\n \"LOOKS_SWITCHBACKDROPTO\": \"zmień tło na %1\",\n \"LOOKS_GOTOFRONTBACK\": \"przesuń na %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"na wierzch\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"na spód\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"przesuń %1 o %2 warstw\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"do przodu\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"do tyłu\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"tło %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"kostium %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"liczba\",\n \"LOOKS_NUMBERNAME_NAME\": \"nazwa\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"zmień tło na %1 i czekaj\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"następne tło\",\n \"LOOKS_NEXTBACKDROP\": \"następne tło\",\n \"LOOKS_PREVIOUSBACKDROP\": \"poprzednie tło\",\n \"LOOKS_RANDOMBACKDROP\": \"losowo wybrane tło\",\n \"MOTION_MOVESTEPS\": \"przesuń o %1 kroków\",\n \"MOTION_TURNLEFT\": \"obróć %1 o %2 stopni\",\n \"MOTION_TURNRIGHT\": \"obróć %1 o %2 stopni\",\n \"MOTION_POINTINDIRECTION\": \"ustaw kierunek na %1\",\n \"MOTION_POINTTOWARDS\": \"ustaw w kierunku duszka %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"wskaźnik myszy\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"losowy kierunek\",\n \"MOTION_GOTO\": \"idź do %1\",\n \"MOTION_GOTO_POINTER\": \"wskaźnik myszy\",\n \"MOTION_GOTO_RANDOM\": \"losowa pozycja\",\n \"MOTION_GOTOXY\": \"Idź do x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"leć przez %1 sekund do x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"leć przez %1 sekund do %2\",\n \"MOTION_GLIDETO_POINTER\": \"wskaźnik myszy\",\n \"MOTION_GLIDETO_RANDOM\": \"losowa pozycja\",\n \"MOTION_CHANGEXBY\": \"zmień x o %1\",\n \"MOTION_SETX\": \"ustaw x na %1\",\n \"MOTION_CHANGEYBY\": \"zmień y o %1\",\n \"MOTION_SETY\": \"ustaw y na %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"jeżeli na brzegu, odbij się\",\n \"MOTION_SETROTATIONSTYLE\": \"ustaw styl obrotu na %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"lewo-prawo\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"nie obracaj\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"dookoła\",\n \"MOTION_XPOSITION\": \"pozycja x\",\n \"MOTION_YPOSITION\": \"pozycja y\",\n \"MOTION_DIRECTION\": \"kierunek\",\n \"MOTION_SCROLLRIGHT\": \"przewiń w prawo %1\",\n \"MOTION_SCROLLUP\": \"przewiń w górę %1\",\n \"MOTION_ALIGNSCENE\": \"wyrównaj scenę %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"na dole po lewej stronie\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"na dole z prawej stronie\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"środek\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"na górze po lewej stronie\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"na górze po prawej stronie\",\n \"MOTION_XSCROLL\": \"przewijanie x\",\n \"MOTION_YSCROLL\": \"przewijanie y\",\n \"MOTION_STAGE_SELECTED\": \"wybrana scena: bez bloków ruchu\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"losuj liczbę od %1 do %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 i %2\",\n \"OPERATORS_OR\": \"%1 lub %2\",\n \"OPERATORS_NOT\": \"nie %1\",\n \"OPERATORS_JOIN\": \"połącz %1 i %2\",\n \"OPERATORS_JOIN_APPLE\": \"jabłko\",\n \"OPERATORS_JOIN_BANANA\": \"banan\",\n \"OPERATORS_LETTEROF\": \"litera %1 z %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"j\",\n \"OPERATORS_LENGTH\": \"długość %1\",\n \"OPERATORS_CONTAINS\": \"Czy %1 zawiera %2 ?\",\n \"OPERATORS_MOD\": \"reszta z dzielenia %1 przez %2\",\n \"OPERATORS_ROUND\": \"zaokrąglij %1\",\n \"OPERATORS_MATHOP\": \"%1 z %2\",\n \"OPERATORS_MATHOP_ABS\": \"wartość bezwzględna\",\n \"OPERATORS_MATHOP_FLOOR\": \"podłoga\",\n \"OPERATORS_MATHOP_CEILING\": \"sufit\",\n \"OPERATORS_MATHOP_SQRT\": \"pierwiastek kwadratowy\",\n \"OPERATORS_MATHOP_SIN\": \"sinus\",\n \"OPERATORS_MATHOP_COS\": \"cosinus\",\n \"OPERATORS_MATHOP_TAN\": \"tangens\",\n \"OPERATORS_MATHOP_ASIN\": \"arcus sinus\",\n \"OPERATORS_MATHOP_ACOS\": \"arcus cosinus\",\n \"OPERATORS_MATHOP_ATAN\": \"arcus tangens\",\n \"OPERATORS_MATHOP_LN\": \"logarytm naturalny\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definiuj %1\",\n \"SENSING_TOUCHINGOBJECT\": \"dotyka %1 ?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"wskaźnik myszy\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"krawędź\",\n \"SENSING_TOUCHINGCOLOR\": \"dotyka koloru %1 ?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"kolor %1 dotyka %2 ? \",\n \"SENSING_DISTANCETO\": \"odległość od %1\",\n \"SENSING_DISTANCETO_POINTER\": \"wskaźnik myszy\",\n \"SENSING_ASKANDWAIT\": \"zapytaj %1 i czekaj\",\n \"SENSING_ASK_TEXT\": \"Jak się nazywasz?\",\n \"SENSING_ANSWER\": \"odpowiedź\",\n \"SENSING_KEYPRESSED\": \"klawisz %1 naciśnięty ?\",\n \"SENSING_MOUSEDOWN\": \"kliknięto myszką?\",\n \"SENSING_MOUSEX\": \"x myszy\",\n \"SENSING_MOUSEY\": \"y myszy\",\n \"SENSING_SETDRAGMODE\": \"ustaw tryb przeciągania na %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"z przeciąganiem\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"bez przeciągania\",\n \"SENSING_LOUDNESS\": \"głośność\",\n \"SENSING_LOUD\": \"głośno?\",\n \"SENSING_TIMER\": \"stoper\",\n \"SENSING_RESETTIMER\": \"resetuj stoper\",\n \"SENSING_OF\": \"%1 z %2\",\n \"SENSING_OF_XPOSITION\": \"pozycja x\",\n \"SENSING_OF_YPOSITION\": \"pozycja y\",\n \"SENSING_OF_DIRECTION\": \"kierunek\",\n \"SENSING_OF_COSTUMENUMBER\": \"indeks kostiumu\",\n \"SENSING_OF_COSTUMENAME\": \"nazwa kostiumu\",\n \"SENSING_OF_SIZE\": \"rozmiar\",\n \"SENSING_OF_VOLUME\": \"głośność\",\n \"SENSING_OF_BACKDROPNUMBER\": \"indeks tła\",\n \"SENSING_OF_BACKDROPNAME\": \"nazwa tła\",\n \"SENSING_OF_STAGE\": \"scena\",\n \"SENSING_CURRENT\": \"obecny %1\",\n \"SENSING_CURRENT_YEAR\": \"rok\",\n \"SENSING_CURRENT_MONTH\": \"miesiąc\",\n \"SENSING_CURRENT_DATE\": \"dzień\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"dzień tygodnia\",\n \"SENSING_CURRENT_HOUR\": \"godzina\",\n \"SENSING_CURRENT_MINUTE\": \"minuta\",\n \"SENSING_CURRENT_SECOND\": \"sekunda\",\n \"SENSING_DAYSSINCE2000\": \"dni od 2000\",\n \"SENSING_USERNAME\": \"nazwa użytkownika\",\n \"SENSING_USERID\": \"ID użytkownika\",\n \"SOUND_PLAY\": \"zagraj dźwięk %1\",\n \"SOUND_PLAYUNTILDONE\": \"graj dźwięk %1 aż się skończy\",\n \"SOUND_STOPALLSOUNDS\": \"zakończ wszystkie dźwięki\",\n \"SOUND_SETEFFECTO\": \"ustaw efekt %1 na %2\",\n \"SOUND_CHANGEEFFECTBY\": \"zmień efekt %1 o %2\",\n \"SOUND_CLEAREFFECTS\": \"usuń efekty dźwiękowe\",\n \"SOUND_EFFECTS_PITCH\": \"płynność dźwięku\",\n \"SOUND_EFFECTS_PAN\": \"przesuń w lewo/prawo\",\n \"SOUND_CHANGEVOLUMEBY\": \"zmień głośność o %1\",\n \"SOUND_SETVOLUMETO\": \"ustaw głośność na %1%\",\n \"SOUND_VOLUME\": \"głośność\",\n \"SOUND_RECORD\": \"nagraj...\",\n \"CATEGORY_MOTION\": \"Ruch\",\n \"CATEGORY_LOOKS\": \"Wygląd\",\n \"CATEGORY_SOUND\": \"Dźwięk\",\n \"CATEGORY_EVENTS\": \"Zdarzenia\",\n \"CATEGORY_CONTROL\": \"Kontrola\",\n \"CATEGORY_SENSING\": \"Czujniki\",\n \"CATEGORY_OPERATORS\": \"Wyrażenia\",\n \"CATEGORY_VARIABLES\": \"Zmienne\",\n \"CATEGORY_MYBLOCKS\": \"Moje bloki\",\n \"DUPLICATE\": \"Duplikuj\",\n \"DELETE\": \"Usuń\",\n \"ADD_COMMENT\": \"Dodaj komentarz\",\n \"REMOVE_COMMENT\": \"Usuń komentarz\",\n \"DELETE_BLOCK\": \"Usuń blok\",\n \"DELETE_X_BLOCKS\": \"Usuń %1 bloków\",\n \"DELETE_ALL_BLOCKS\": \"Czy usunąć wszystkie %1 bloków?\",\n \"CLEAN_UP\": \"Posprzątaj bloki\",\n \"HELP\": \"Pomoc\",\n \"UNDO\": \"Cofnij\",\n \"REDO\": \"Ponów\",\n \"EDIT_PROCEDURE\": \"Edycja\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Przejdź do definicji\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Powiedz coś...\",\n \"COLOUR_HUE_LABEL\": \"Kolor\",\n \"COLOUR_SATURATION_LABEL\": \"Nasycenie\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Jasność\",\n \"CHANGE_VALUE_TITLE\": \"Zmień wartość:\",\n \"RENAME_VARIABLE\": \"Zmień nazwę zmiennej\",\n \"RENAME_VARIABLE_TITLE\": \"Zmień nazwę wszystkich zmiennych \\\"%1\\\" na:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Zmień nazwę zmiennej\",\n \"NEW_VARIABLE\": \"Utwórz zmienną\",\n \"NEW_VARIABLE_TITLE\": \"Nowa nazwa zmiennej:\",\n \"VARIABLE_MODAL_TITLE\": \"Nowa zmienna\",\n \"VARIABLE_ALREADY_EXISTS\": \"Zmienna o nazwie \\\"%1\\\" już istnieje.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Zmienna o nazwie \\\"%1\\\" już istnieje dla innego typu zmiennej \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Czy usunąć %1 używając zmiennej \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Nie można usunąć zmiennej \\\"%1\\\", ponieważ stanowi część definicji funkcji \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Usuń zmienną \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Utwórz blok\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Procedura o nazwie \\\"%1\\\" już istnieje.\",\n \"PROCEDURE_DEFAULT_NAME\": \"nazwa bloku\",\n \"NEW_LIST\": \"Stwórz listę\",\n \"NEW_LIST_TITLE\": \"Nowa nazwa lista:\",\n \"LIST_MODAL_TITLE\": \"Nowa lista\",\n \"LIST_ALREADY_EXISTS\": \"Lista o nazwie \\\"%1\\\" już istnieje.\",\n \"RENAME_LIST_TITLE\": \"Zmień nazwy wszystkich list \\\"%1\\\" na:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Zmień nazwę listy\",\n \"DEFAULT_LIST_ITEM\": \"obiekt\",\n \"DELETE_LIST\": \"Usuń listę \\\"%1\\\"\",\n \"RENAME_LIST\": \"Zmień nazwę listy\",\n \"NEW_BROADCAST_MESSAGE\": \"Nowa wiadomość\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Nowa nazwa wiadomości:\",\n \"BROADCAST_MODAL_TITLE\": \"Nowa wiadomość\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"wiadomość1\"\n};\n\nBlockly.ScratchMsgs.locales[\"pt\"] =\n{\n \"CONTROL_FOREVER\": \"repete para sempre\",\n \"CONTROL_REPEAT\": \"repete %1 vezes\",\n \"CONTROL_IF\": \"se %1 , então\",\n \"CONTROL_ELSE\": \"senão,\",\n \"CONTROL_STOP\": \"pára\",\n \"CONTROL_STOP_ALL\": \"tudo\",\n \"CONTROL_STOP_THIS\": \"este guião\",\n \"CONTROL_STOP_OTHER\": \"os teus outros guiões\",\n \"CONTROL_WAIT\": \"espera %1 s\",\n \"CONTROL_WAITUNTIL\": \"espera até que %1\",\n \"CONTROL_REPEATUNTIL\": \"até que %1 , repete\",\n \"CONTROL_WHILE\": \"enquanto %1\",\n \"CONTROL_FOREACH\": \"para cada %1 em %2\",\n \"CONTROL_STARTASCLONE\": \"Quando fores criado como um clone\",\n \"CONTROL_CREATECLONEOF\": \"cria um clone de %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"ti mesmo\",\n \"CONTROL_DELETETHISCLONE\": \"remove-te como clone\",\n \"CONTROL_COUNTER\": \"contador\",\n \"CONTROL_INCRCOUNTER\": \"incrementa o contador\",\n \"CONTROL_CLEARCOUNTER\": \"põe o contador a zero\",\n \"CONTROL_ALLATONCE\": \"executa tudo de uma vez\",\n \"DATA_SETVARIABLETO\": \"altera %1 para %2\",\n \"DATA_CHANGEVARIABLEBY\": \"adiciona a %1 o valor %2\",\n \"DATA_SHOWVARIABLE\": \"mostra a variável %1\",\n \"DATA_HIDEVARIABLE\": \"esconde a variável %1\",\n \"DATA_ADDTOLIST\": \"acrescenta %1 a %2\",\n \"DATA_DELETEOFLIST\": \"remove %1 de %2\",\n \"DATA_DELETEALLOFLIST\": \"remove tudo de %1\",\n \"DATA_INSERTATLIST\": \"insere %1 como %2 de %3\",\n \"DATA_REPLACEITEMOFLIST\": \"substitui %1 de %2 por %3\",\n \"DATA_ITEMOFLIST\": \"%1 de %2\",\n \"DATA_ITEMNUMOFLIST\": \"o número do item %1 em %2\",\n \"DATA_LENGTHOFLIST\": \"o comprimento de %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 contém %2\",\n \"DATA_SHOWLIST\": \"mostra a lista %1\",\n \"DATA_HIDELIST\": \"esconde a lista %1\",\n \"DATA_INDEX_ALL\": \"tudo\",\n \"DATA_INDEX_LAST\": \"o último item\",\n \"DATA_INDEX_RANDOM\": \"um item ao acaso\",\n \"EVENT_WHENFLAGCLICKED\": \"Quando alguém clicar em %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"Quando alguém clicar em ti\",\n \"EVENT_WHENSTAGECLICKED\": \"Quando alguém clicar no palco\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"Quando tocares em %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"Quando receberes a mensagem %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"Quando o cenário mudar para %1\",\n \"EVENT_WHENGREATERTHAN\": \"Quando o valor do sensor %1 exceder %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"o valor do cronómetro\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"o volume no microfone\",\n \"EVENT_BROADCAST\": \"difunde a mensagem %1\",\n \"EVENT_BROADCASTANDWAIT\": \"difunde a mensagem %1 e espera\",\n \"EVENT_WHENKEYPRESSED\": \"Quando alguém pressionar a tecla %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"espaço\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"seta para a esquerda\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"seta para a direita\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"seta para baixo\",\n \"EVENT_WHENKEYPRESSED_UP\": \"seta para cima\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"qualquer\",\n \"LOOKS_SAYFORSECS\": \"diz %1 durante %2 s\",\n \"LOOKS_SAY\": \"diz %1\",\n \"LOOKS_HELLO\": \"Olá!\",\n \"LOOKS_THINKFORSECS\": \"pensa %1 durante %2 s\",\n \"LOOKS_THINK\": \"pensa %1\",\n \"LOOKS_HMM\": \"Hmm…\",\n \"LOOKS_SHOW\": \"mostra-te\",\n \"LOOKS_HIDE\": \"esconde-te\",\n \"LOOKS_HIDEALLSPRITES\": \"esconde todos os actores\",\n \"LOOKS_EFFECT_COLOR\": \"cor\",\n \"LOOKS_EFFECT_FISHEYE\": \"olho de peixe\",\n \"LOOKS_EFFECT_WHIRL\": \"remoinho\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixelização\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaico\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"brilho\",\n \"LOOKS_EFFECT_GHOST\": \"fantasma\",\n \"LOOKS_CHANGEEFFECTBY\": \"adiciona ao teu efeito %1 o valor %2\",\n \"LOOKS_SETEFFECTTO\": \"altera o teu efeito %1 para %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"cancela os teus efeitos gráficos\",\n \"LOOKS_CHANGESIZEBY\": \"adiciona %1 ao teu tamanho\",\n \"LOOKS_SETSIZETO\": \"altera o teu tamanho para %1 %\",\n \"LOOKS_SIZE\": \"o tamanho\",\n \"LOOKS_CHANGESTRETCHBY\": \"adiciona %1 % ao esticamento\",\n \"LOOKS_SETSTRETCHTO\": \"altera o esticamento para %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"muda o teu traje para %1\",\n \"LOOKS_NEXTCOSTUME\": \"passa para o teu próximo traje\",\n \"LOOKS_SWITCHBACKDROPTO\": \"muda o cenário para %1\",\n \"LOOKS_GOTOFRONTBACK\": \"vai para a camada %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"frontal\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"traseira\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%1 %2 camadas\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"avança\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"recua\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"%1 do cenário\",\n \"LOOKS_COSTUMENUMBERNAME\": \"%1 do traje\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"o número\",\n \"LOOKS_NUMBERNAME_NAME\": \"o nome\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"muda o cenário para %1 e espera\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"passa para o teu próximo cenário\",\n \"LOOKS_NEXTBACKDROP\": \"passa para o teu próximo cenário\",\n \"LOOKS_PREVIOUSBACKDROP\": \"o cenário anterior\",\n \"LOOKS_RANDOMBACKDROP\": \"um cenário ao acaso\",\n \"MOTION_MOVESTEPS\": \"anda %1 passos\",\n \"MOTION_TURNLEFT\": \"gira %1 %2 °\",\n \"MOTION_TURNRIGHT\": \"gira %1 %2 °\",\n \"MOTION_POINTINDIRECTION\": \"altera a tua direcção para %1 °\",\n \"MOTION_POINTTOWARDS\": \"aponta em direcção a %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"ponteiro do rato\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"uma direcção ao acaso\",\n \"MOTION_GOTO\": \"vai para %1\",\n \"MOTION_GOTO_POINTER\": \"o ponteiro do rato\",\n \"MOTION_GOTO_RANDOM\": \"uma posição ao acaso\",\n \"MOTION_GOTOXY\": \"vai para a posição x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"desliza em %1 s para a posição x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"desliza em %1 s em direcção a%2\",\n \"MOTION_GLIDETO_POINTER\": \"o ponteiro do rato\",\n \"MOTION_GLIDETO_RANDOM\": \"uma posição ao acaso\",\n \"MOTION_CHANGEXBY\": \"adiciona %1 ao teu x\",\n \"MOTION_SETX\": \"altera o teu x para %1\",\n \"MOTION_CHANGEYBY\": \"adiciona %1 ao teu y\",\n \"MOTION_SETY\": \"altera o teu y para %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"se estiveres a bater na borda, ressalta\",\n \"MOTION_SETROTATIONSTYLE\": \"altera o teu estilo de rotação para %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"olha apenas para a esquerda e para a direita\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"não gires\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"gira a toda a volta\",\n \"MOTION_XPOSITION\": \"o x da tua posição\",\n \"MOTION_YPOSITION\": \"o y da tua posição\",\n \"MOTION_DIRECTION\": \"a direcção\",\n \"MOTION_SCROLLRIGHT\": \"rola %1 para a direita\",\n \"MOTION_SCROLLUP\": \"rola %1 para cima\",\n \"MOTION_ALIGNSCENE\": \"alinha a cena %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"ao fundo e à esquerda\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"ao fundo e à direita\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"a meio\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"no topo e à esquerda\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"no topo e à direita\",\n \"MOTION_XSCROLL\": \"o rolamento em x\",\n \"MOTION_YSCROLL\": \"o rolamento em y\",\n \"MOTION_STAGE_SELECTED\": \"Palco seleccionado: não tem blocos de movimento\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 − %2\",\n \"OPERATORS_MULTIPLY\": \"%1 × %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"um valor ao acaso entre %1 e %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 e %2\",\n \"OPERATORS_OR\": \"%1 ou %2\",\n \"OPERATORS_NOT\": \"é falso que %1\",\n \"OPERATORS_JOIN\": \"a junção de %1 com %2\",\n \"OPERATORS_JOIN_APPLE\": \"maçã\",\n \"OPERATORS_JOIN_BANANA\": \"banana\",\n \"OPERATORS_LETTEROF\": \"o caractere %1 de %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"o comprimento de %1\",\n \"OPERATORS_CONTAINS\": \"%1 contém %2\",\n \"OPERATORS_MOD\": \"o resto de %1 a dividir por %2\",\n \"OPERATORS_ROUND\": \"o arredondamento de %1\",\n \"OPERATORS_MATHOP\": \"%1 de %2\",\n \"OPERATORS_MATHOP_ABS\": \"o valor absoluto\",\n \"OPERATORS_MATHOP_FLOOR\": \"o chão (o maior inteiro não superior)\",\n \"OPERATORS_MATHOP_CEILING\": \"o tecto (menor inteiro não inferior)\",\n \"OPERATORS_MATHOP_SQRT\": \"a raiz quadrada\",\n \"OPERATORS_MATHOP_SIN\": \"o seno\",\n \"OPERATORS_MATHOP_COS\": \"o cosseno\",\n \"OPERATORS_MATHOP_TAN\": \"a tangente\",\n \"OPERATORS_MATHOP_ASIN\": \"o arco-seno\",\n \"OPERATORS_MATHOP_ACOS\": \"o arco-cosseno\",\n \"OPERATORS_MATHOP_ATAN\": \"o arco-tangente\",\n \"OPERATORS_MATHOP_LN\": \"o logaritmo natural\",\n \"OPERATORS_MATHOP_LOG\": \"o logaritmo\",\n \"OPERATORS_MATHOP_EEXP\": \"a exponencial\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"Define %1\",\n \"SENSING_TOUCHINGOBJECT\": \"estás a tocar em %1\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"o ponteiro do rato\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"a borda\",\n \"SENSING_TOUCHINGCOLOR\": \"estás a tocar na cor %1\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"a cor %1 está a tocar na cor %2\",\n \"SENSING_DISTANCETO\": \"a distância até %1\",\n \"SENSING_DISTANCETO_POINTER\": \"o ponteiro do rato\",\n \"SENSING_ASKANDWAIT\": \"pergunta %1 e espera pela resposta\",\n \"SENSING_ASK_TEXT\": \"Como te chamas?\",\n \"SENSING_ANSWER\": \"a resposta\",\n \"SENSING_KEYPRESSED\": \"a tecla %1 está a ser pressionada\",\n \"SENSING_MOUSEDOWN\": \"o botão do rato está pressionado\",\n \"SENSING_MOUSEX\": \"o x da posição do rato\",\n \"SENSING_MOUSEY\": \"o y da posição do rato\",\n \"SENSING_SETDRAGMODE\": \"altera o teu modo de arrasto para %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"arrastável\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"não arrastável\",\n \"SENSING_LOUDNESS\": \"o volume no microfone\",\n \"SENSING_LOUD\": \"o som é forte\",\n \"SENSING_TIMER\": \"o valor do cronómetro\",\n \"SENSING_RESETTIMER\": \"reinicia o cronómetro\",\n \"SENSING_OF\": \"%1 de %2\",\n \"SENSING_OF_XPOSITION\": \"o x da posição\",\n \"SENSING_OF_YPOSITION\": \"o y da posição\",\n \"SENSING_OF_DIRECTION\": \"a direcção\",\n \"SENSING_OF_COSTUMENUMBER\": \"o número do traje\",\n \"SENSING_OF_COSTUMENAME\": \"o nome do traje\",\n \"SENSING_OF_SIZE\": \"o tamanho\",\n \"SENSING_OF_VOLUME\": \"o volume\",\n \"SENSING_OF_BACKDROPNUMBER\": \"o número do cenário\",\n \"SENSING_OF_BACKDROPNAME\": \"o nome do cenário\",\n \"SENSING_OF_STAGE\": \"o palco\",\n \"SENSING_CURRENT\": \"%1 actual\",\n \"SENSING_CURRENT_YEAR\": \"o ano\",\n \"SENSING_CURRENT_MONTH\": \"o mês\",\n \"SENSING_CURRENT_DATE\": \"a data\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"o dia da semana\",\n \"SENSING_CURRENT_HOUR\": \"a hora\",\n \"SENSING_CURRENT_MINUTE\": \"o minuto\",\n \"SENSING_CURRENT_SECOND\": \"o segundo\",\n \"SENSING_DAYSSINCE2000\": \"o número de dias desde 2000\",\n \"SENSING_USERNAME\": \"o nome de utilizador\",\n \"SENSING_USERID\": \"o ID de utilizador\",\n \"SOUND_PLAY\": \"toca o som %1\",\n \"SOUND_PLAYUNTILDONE\": \"toca o som %1 até terminar\",\n \"SOUND_STOPALLSOUNDS\": \"pára todos os sons\",\n \"SOUND_SETEFFECTO\": \"altera o teu efeito %1 para %2\",\n \"SOUND_CHANGEEFFECTBY\": \"adiciona ao teu efeito %1 o valor %2\",\n \"SOUND_CLEAREFFECTS\": \"cancela todos os teus efeitos sonoros\",\n \"SOUND_EFFECTS_PITCH\": \"tom\",\n \"SOUND_EFFECTS_PAN\": \"canal esquerdo/direito\",\n \"SOUND_CHANGEVOLUMEBY\": \"adiciona %1 % ao teu volume\",\n \"SOUND_SETVOLUMETO\": \"altera o teu volume para %1%\",\n \"SOUND_VOLUME\": \"o volume\",\n \"SOUND_RECORD\": \"gravar…\",\n \"CATEGORY_MOTION\": \"Movimento\",\n \"CATEGORY_LOOKS\": \"Aparência\",\n \"CATEGORY_SOUND\": \"Som\",\n \"CATEGORY_EVENTS\": \"Eventos\",\n \"CATEGORY_CONTROL\": \"Controlo\",\n \"CATEGORY_SENSING\": \"Sensores\",\n \"CATEGORY_OPERATORS\": \"Operadores\",\n \"CATEGORY_VARIABLES\": \"Variáveis\",\n \"CATEGORY_MYBLOCKS\": \"Os Meus Blocos\",\n \"DUPLICATE\": \"Duplicar\",\n \"DELETE\": \"Remover\",\n \"ADD_COMMENT\": \"Adicionar Comentário\",\n \"REMOVE_COMMENT\": \"Remover Comentário\",\n \"DELETE_BLOCK\": \"Remover Bloco\",\n \"DELETE_X_BLOCKS\": \"Remover %1 Blocos\",\n \"DELETE_ALL_BLOCKS\": \"Remover todos os %1 blocos?\",\n \"CLEAN_UP\": \"Arrumar Blocos\",\n \"HELP\": \"Ajuda\",\n \"UNDO\": \"Desfazer\",\n \"REDO\": \"Refazer\",\n \"EDIT_PROCEDURE\": \"Editar\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Ir para a definição\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Diga qualquer coisa…\",\n \"COLOUR_HUE_LABEL\": \"Matiz\",\n \"COLOUR_SATURATION_LABEL\": \"Saturação\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Brilho\",\n \"CHANGE_VALUE_TITLE\": \"Alterar o valor:\",\n \"RENAME_VARIABLE\": \"Renomear a variável\",\n \"RENAME_VARIABLE_TITLE\": \"Renomear todas as variáveis «%1» para:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Renomear Variável\",\n \"NEW_VARIABLE\": \"Criar uma Variável\",\n \"NEW_VARIABLE_TITLE\": \"Novo nome da variável:\",\n \"VARIABLE_MODAL_TITLE\": \"Nova Variável\",\n \"VARIABLE_ALREADY_EXISTS\": \"Já existe uma variável com o nome «%1».\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Já existe uma variável com o nome «%1» do tipo «%2».\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Remover %1 utilizações da variável «%2»?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Não é possível remover a variável «%1» porque é parte da definição da função «%2»\",\n \"DELETE_VARIABLE\": \"Remover a variável «%1»\",\n \"NEW_PROCEDURE\": \"Criar um Bloco\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Já existe um procedimento com o nome «%1».\",\n \"PROCEDURE_DEFAULT_NAME\": \"nome do bloco\",\n \"NEW_LIST\": \"Criar uma Lista\",\n \"NEW_LIST_TITLE\": \"Nome da nova lista:\",\n \"LIST_MODAL_TITLE\": \"Nova Lista\",\n \"LIST_ALREADY_EXISTS\": \"Já existe uma lista com o nome «%1».\",\n \"RENAME_LIST_TITLE\": \"Renomear todas as listas «%1» para:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Renomear Lista\",\n \"DEFAULT_LIST_ITEM\": \"uma coisa\",\n \"DELETE_LIST\": \"Remover a lista «%1»\",\n \"RENAME_LIST\": \"Renomear a lista\",\n \"NEW_BROADCAST_MESSAGE\": \"Nova mensagem\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Nome da nova mensagem:\",\n \"BROADCAST_MODAL_TITLE\": \"Nova Mensagem\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"Mensagem 1\"\n};\n\nBlockly.ScratchMsgs.locales[\"pt-br\"] =\n{\n \"CONTROL_FOREVER\": \"sempre\",\n \"CONTROL_REPEAT\": \"repita %1 vezes\",\n \"CONTROL_IF\": \"se %1 então\",\n \"CONTROL_ELSE\": \"senão\",\n \"CONTROL_STOP\": \"pare\",\n \"CONTROL_STOP_ALL\": \"todos\",\n \"CONTROL_STOP_THIS\": \"este script\",\n \"CONTROL_STOP_OTHER\": \"outros scripts no ator\",\n \"CONTROL_WAIT\": \"espere %1 seg\",\n \"CONTROL_WAITUNTIL\": \"espere até que %1\",\n \"CONTROL_REPEATUNTIL\": \"repita até que %1\",\n \"CONTROL_WHILE\": \"enquanto %1\",\n \"CONTROL_FOREACH\": \"para cada %1 em %2\",\n \"CONTROL_STARTASCLONE\": \"quando eu começar como um clone\",\n \"CONTROL_CREATECLONEOF\": \"crie clone de %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"este ator\",\n \"CONTROL_DELETETHISCLONE\": \"apague este clone\",\n \"CONTROL_COUNTER\": \"contador\",\n \"CONTROL_INCRCOUNTER\": \"desenvolver contador\",\n \"CONTROL_CLEARCOUNTER\": \"limpar contador\",\n \"CONTROL_ALLATONCE\": \"todos de uma vez\",\n \"DATA_SETVARIABLETO\": \"mude %1 para %2\",\n \"DATA_CHANGEVARIABLEBY\": \"adicione %2 a %1\",\n \"DATA_SHOWVARIABLE\": \"mostre a variável %1\",\n \"DATA_HIDEVARIABLE\": \"esconda a variável %1\",\n \"DATA_ADDTOLIST\": \"adicione %1 a %2\",\n \"DATA_DELETEOFLIST\": \"apague %1 de %2\",\n \"DATA_DELETEALLOFLIST\": \"apague todos os itens de %1\",\n \"DATA_INSERTATLIST\": \"insira %1 na posição %2 de %3\",\n \"DATA_REPLACEITEMOFLIST\": \"substitua o item %1 de %2 por %3\",\n \"DATA_ITEMOFLIST\": \"item %1 de %2\",\n \"DATA_ITEMNUMOFLIST\": \"item # de %1 em %2\",\n \"DATA_LENGTHOFLIST\": \"tamanho de %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 contém %2?\",\n \"DATA_SHOWLIST\": \"mostre a lista %1\",\n \"DATA_HIDELIST\": \"esconda a lista %1\",\n \"DATA_INDEX_ALL\": \"todos\",\n \"DATA_INDEX_LAST\": \"último\",\n \"DATA_INDEX_RANDOM\": \"aleatório\",\n \"EVENT_WHENFLAGCLICKED\": \"quando %1 for clicado\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"quando este ator for clicado\",\n \"EVENT_WHENSTAGECLICKED\": \"quando o palco for clicado\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"quando este ator tocar %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"quando eu receber %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"quando o cenário mudar para %1\",\n \"EVENT_WHENGREATERTHAN\": \"quando %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"cronômetro\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"ruído\",\n \"EVENT_BROADCAST\": \"transmita %1\",\n \"EVENT_BROADCASTANDWAIT\": \"transmita %1 e espere\",\n \"EVENT_WHENKEYPRESSED\": \"quando a tecla %1 for pressionada\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"espaço\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"seta para esquerda\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"seta para direita\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"seta para baixo\",\n \"EVENT_WHENKEYPRESSED_UP\": \"seta para cima\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"qualquer\",\n \"LOOKS_SAYFORSECS\": \"diga %1 por %2 segundos\",\n \"LOOKS_SAY\": \"diga %1\",\n \"LOOKS_HELLO\": \"Olá!\",\n \"LOOKS_THINKFORSECS\": \"pense %1 por %2 segundos\",\n \"LOOKS_THINK\": \"pense %1\",\n \"LOOKS_HMM\": \"Hummm...\",\n \"LOOKS_SHOW\": \"mostre\",\n \"LOOKS_HIDE\": \"esconda\",\n \"LOOKS_HIDEALLSPRITES\": \"esconda todos os atores\",\n \"LOOKS_EFFECT_COLOR\": \"cor\",\n \"LOOKS_EFFECT_FISHEYE\": \"olho de peixe\",\n \"LOOKS_EFFECT_WHIRL\": \"turbilhão\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixelado\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaico\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"brilho\",\n \"LOOKS_EFFECT_GHOST\": \"fantasma\",\n \"LOOKS_CHANGEEFFECTBY\": \"mude %2 ao efeito %1\",\n \"LOOKS_SETEFFECTTO\": \"defina o efeito %1 como %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"remova os efeitos gráficos\",\n \"LOOKS_CHANGESIZEBY\": \"mude %1 no tamanho\",\n \"LOOKS_SETSIZETO\": \"defina o tamanho como %1 %\",\n \"LOOKS_SIZE\": \"tamanho\",\n \"LOOKS_CHANGESTRETCHBY\": \"mude trajeto por %1\",\n \"LOOKS_SETSTRETCHTO\": \"defina curso para %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"mude para a fantasia %1\",\n \"LOOKS_NEXTCOSTUME\": \"próxima fantasia\",\n \"LOOKS_SWITCHBACKDROPTO\": \"mude para o cenário %1\",\n \"LOOKS_GOTOFRONTBACK\": \"Vá para a camada %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"da frente\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"de trás\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"Vá para %1 %2 camadas\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"frente\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"trás\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"cenário %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"fantasia %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"número\",\n \"LOOKS_NUMBERNAME_NAME\": \"nome\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"mude para o cenário %1 e espere\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"próximo cenário\",\n \"LOOKS_NEXTBACKDROP\": \"próximo cenário\",\n \"LOOKS_PREVIOUSBACKDROP\": \"cenário anterior\",\n \"LOOKS_RANDOMBACKDROP\": \"cenário aleatório\",\n \"MOTION_MOVESTEPS\": \"mova %1 passos\",\n \"MOTION_TURNLEFT\": \"gire %1 %2 graus\",\n \"MOTION_TURNRIGHT\": \"gire %1 %2 graus\",\n \"MOTION_POINTINDIRECTION\": \"aponte para a direção %1\",\n \"MOTION_POINTTOWARDS\": \"aponte para %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"ponteiro do mouse\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"direção aleatória\",\n \"MOTION_GOTO\": \"vá para %1\",\n \"MOTION_GOTO_POINTER\": \"ponteiro do mouse\",\n \"MOTION_GOTO_RANDOM\": \"posição aleatória\",\n \"MOTION_GOTOXY\": \"vá para x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"deslize por %1 segs. até x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"deslize por %1 segs. até %2\",\n \"MOTION_GLIDETO_POINTER\": \"ponteiro do mouse\",\n \"MOTION_GLIDETO_RANDOM\": \"posição aleatória\",\n \"MOTION_CHANGEXBY\": \"adicione %1 a x\",\n \"MOTION_SETX\": \"mude x para %1\",\n \"MOTION_CHANGEYBY\": \"adicione %1 a y\",\n \"MOTION_SETY\": \"mude y para %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"se tocar na borda, volte\",\n \"MOTION_SETROTATIONSTYLE\": \"defina o estilo de rotação para %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"esquerda-direita\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"não rotacionar\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"rotação completa\",\n \"MOTION_XPOSITION\": \"posição x\",\n \"MOTION_YPOSITION\": \"posição y\",\n \"MOTION_DIRECTION\": \"direção\",\n \"MOTION_SCROLLRIGHT\": \"rolar para direita %1 %\",\n \"MOTION_SCROLLUP\": \"rolar para cima %1\",\n \"MOTION_ALIGNSCENE\": \"alinhar cena %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"inferior esquerda\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"inferior direita\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"meio\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"superior esquerdo\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"superior direita\",\n \"MOTION_XSCROLL\": \"rolagem eixo x\",\n \"MOTION_YSCROLL\": \"rolagem eixo y\",\n \"MOTION_STAGE_SELECTED\": \"Palco selecionado: sem blocos de movimento\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"número aleatório entre %1 e %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 e %2\",\n \"OPERATORS_OR\": \"%1 ou %2\",\n \"OPERATORS_NOT\": \"não %1\",\n \"OPERATORS_JOIN\": \"junte %1 com %2\",\n \"OPERATORS_JOIN_APPLE\": \"maçã\",\n \"OPERATORS_JOIN_BANANA\": \"banana\",\n \"OPERATORS_LETTEROF\": \"letra %1 de %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"m\",\n \"OPERATORS_LENGTH\": \"tamanho de %1\",\n \"OPERATORS_CONTAINS\": \"%1 contém %2?\",\n \"OPERATORS_MOD\": \"resto de %1 por %2\",\n \"OPERATORS_ROUND\": \"arredondamento de %1\",\n \"OPERATORS_MATHOP\": \"%1 de %2\",\n \"OPERATORS_MATHOP_ABS\": \"módulo\",\n \"OPERATORS_MATHOP_FLOOR\": \"arredondamento para baixo de\",\n \"OPERATORS_MATHOP_CEILING\": \"arredondamento para cima de\",\n \"OPERATORS_MATHOP_SQRT\": \"raiz quadrada\",\n \"OPERATORS_MATHOP_SIN\": \"sen\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tg\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsen\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctg\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"logaritmo\",\n \"OPERATORS_MATHOP_EEXP\": \"e elevado à \",\n \"OPERATORS_MATHOP_10EXP\": \"10 elevado à \",\n \"PROCEDURES_DEFINITION\": \"defina %1\",\n \"SENSING_TOUCHINGOBJECT\": \"tocando em %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"ponteiro do mouse\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"borda\",\n \"SENSING_TOUCHINGCOLOR\": \"tocando na cor %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"a cor %1 está tocando na cor %2?\",\n \"SENSING_DISTANCETO\": \"distância até %1\",\n \"SENSING_DISTANCETO_POINTER\": \"ponteiro do mouse\",\n \"SENSING_ASKANDWAIT\": \"pergunte %1 e espere\",\n \"SENSING_ASK_TEXT\": \"Qual o seu nome?\",\n \"SENSING_ANSWER\": \"resposta\",\n \"SENSING_KEYPRESSED\": \"tecla %1 pressionada?\",\n \"SENSING_MOUSEDOWN\": \"mouse pressionado?\",\n \"SENSING_MOUSEX\": \"posição x do mouse\",\n \"SENSING_MOUSEY\": \"posição y do mouse\",\n \"SENSING_SETDRAGMODE\": \"defina modo de arrasto para %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"arrastável\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"não arrastável\",\n \"SENSING_LOUDNESS\": \"ruído\",\n \"SENSING_LOUD\": \"alto?\",\n \"SENSING_TIMER\": \"cronômetro\",\n \"SENSING_RESETTIMER\": \"zere o cronômetro\",\n \"SENSING_OF\": \"%1 de %2\",\n \"SENSING_OF_XPOSITION\": \"posição x\",\n \"SENSING_OF_YPOSITION\": \"posição y\",\n \"SENSING_OF_DIRECTION\": \"direção\",\n \"SENSING_OF_COSTUMENUMBER\": \"n° da fantasia\",\n \"SENSING_OF_COSTUMENAME\": \"nome da fantasia\",\n \"SENSING_OF_SIZE\": \"tamanho\",\n \"SENSING_OF_VOLUME\": \"volume\",\n \"SENSING_OF_BACKDROPNUMBER\": \"n° do cenário\",\n \"SENSING_OF_BACKDROPNAME\": \"nome do cenário\",\n \"SENSING_OF_STAGE\": \"Palco\",\n \"SENSING_CURRENT\": \"%1 atual\",\n \"SENSING_CURRENT_YEAR\": \"ano\",\n \"SENSING_CURRENT_MONTH\": \"mês\",\n \"SENSING_CURRENT_DATE\": \"data\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"dia da semana\",\n \"SENSING_CURRENT_HOUR\": \"hora\",\n \"SENSING_CURRENT_MINUTE\": \"minuto\",\n \"SENSING_CURRENT_SECOND\": \"segundo\",\n \"SENSING_DAYSSINCE2000\": \"número de dias desde 2000\",\n \"SENSING_USERNAME\": \"nome de usuário\",\n \"SENSING_USERID\": \"id do usuário\",\n \"SOUND_PLAY\": \"toque o som %1\",\n \"SOUND_PLAYUNTILDONE\": \"toque o som %1 até o fim\",\n \"SOUND_STOPALLSOUNDS\": \"pare todos os sons\",\n \"SOUND_SETEFFECTO\": \"mude o efeito %1 para %2\",\n \"SOUND_CHANGEEFFECTBY\": \"mude %2 no efeito %1\",\n \"SOUND_CLEAREFFECTS\": \"remova os efeitos sonoros \",\n \"SOUND_EFFECTS_PITCH\": \"tom\",\n \"SOUND_EFFECTS_PAN\": \"balanço esquerda/direita\",\n \"SOUND_CHANGEVOLUMEBY\": \"mude volume em %1\",\n \"SOUND_SETVOLUMETO\": \"mude o volume para %1%\",\n \"SOUND_VOLUME\": \"volume\",\n \"SOUND_RECORD\": \"gravar...\",\n \"CATEGORY_MOTION\": \"Movimento\",\n \"CATEGORY_LOOKS\": \"Aparência\",\n \"CATEGORY_SOUND\": \"Som\",\n \"CATEGORY_EVENTS\": \"Eventos\",\n \"CATEGORY_CONTROL\": \"Controle\",\n \"CATEGORY_SENSING\": \"Sensores\",\n \"CATEGORY_OPERATORS\": \"Operadores\",\n \"CATEGORY_VARIABLES\": \"Variáveis\",\n \"CATEGORY_MYBLOCKS\": \"Meus Blocos\",\n \"DUPLICATE\": \"Duplicar\",\n \"DELETE\": \"Apagar\",\n \"ADD_COMMENT\": \"Comentar\",\n \"REMOVE_COMMENT\": \"Remover Comentário\",\n \"DELETE_BLOCK\": \"Apagar Bloco\",\n \"DELETE_X_BLOCKS\": \"Apagar %1 Blocos\",\n \"DELETE_ALL_BLOCKS\": \"Apagar todos os blocos %1?\",\n \"CLEAN_UP\": \"Limpar Blocos\",\n \"HELP\": \"Ajuda\",\n \"UNDO\": \"Desfazer\",\n \"REDO\": \"Refazer\",\n \"EDIT_PROCEDURE\": \"Editar\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Vá para definição\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Diga algo...\",\n \"COLOUR_HUE_LABEL\": \"Cor\",\n \"COLOUR_SATURATION_LABEL\": \"Saturação\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Brilho\",\n \"CHANGE_VALUE_TITLE\": \"Mudar valor:\",\n \"RENAME_VARIABLE\": \"Renomear variável\",\n \"RENAME_VARIABLE_TITLE\": \"Renomear todas as variáveis \\\"%1\\\" para:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Renomear Variável\",\n \"NEW_VARIABLE\": \"Criar uma Variável\",\n \"NEW_VARIABLE_TITLE\": \"Nome da nova variável:\",\n \"VARIABLE_MODAL_TITLE\": \"Nova Variável\",\n \"VARIABLE_ALREADY_EXISTS\": \"Uma variável chamada \\\"%1\\\" já existe.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Uma variável chamada \\\"%1\\\" já existe para outra variável do tipo \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Apagar os %1 usos da variável \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Não é possível apagar a variável '%1' pois ela faz parte da definição do bloco '%2'\",\n \"DELETE_VARIABLE\": \"Apagar a variável '%1'\",\n \"NEW_PROCEDURE\": \"Criar um bloco\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Já existe um bloco chamado '%1'.\",\n \"PROCEDURE_DEFAULT_NAME\": \"nome do bloco\",\n \"NEW_LIST\": \"Criar uma Lista\",\n \"NEW_LIST_TITLE\": \"Nome da nova lista:\",\n \"LIST_MODAL_TITLE\": \"Nova Lista\",\n \"LIST_ALREADY_EXISTS\": \"Já existe uma lista chamada '%1'.\",\n \"RENAME_LIST_TITLE\": \"Renomear todas as listas \\\"%1\\\" para:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Renomear Lista\",\n \"DEFAULT_LIST_ITEM\": \"coisa\",\n \"DELETE_LIST\": \"Apagar a lista \\\"%1\\\"\",\n \"RENAME_LIST\": \"Renomear lista\",\n \"NEW_BROADCAST_MESSAGE\": \"Nova mensagem\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Novo nome de mensagem:\",\n \"BROADCAST_MODAL_TITLE\": \"Nova Mensagem\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"mensagem 1\"\n};\n\nBlockly.ScratchMsgs.locales[\"rap\"] =\n{\n \"CONTROL_FOREVER\": \"mo āŋa paurō te hora\",\n \"CONTROL_REPEAT\": \"haka ʾou %1\",\n \"CONTROL_IF\": \"eʾe %1 oira\",\n \"CONTROL_ELSE\": \"eʾe ina\",\n \"CONTROL_STOP\": \"noho\",\n \"CONTROL_STOP_ALL\": \"taʾatoʾa\",\n \"CONTROL_STOP_THIS\": \"te āŋa nei he programa\",\n \"CONTROL_STOP_OTHER\": \"te tahi programa i te sprite\",\n \"CONTROL_WAIT\": \"e tiaki %1 piere\",\n \"CONTROL_WAITUNTIL\": \"tiaki ki %1\",\n \"CONTROL_REPEATUNTIL\": \"hakaʾou ki %1\",\n \"CONTROL_WHILE\": \"ki te tiaki %1\",\n \"CONTROL_FOREACH\": \"mo te %1 e ai te %2\",\n \"CONTROL_STARTASCLONE\": \"ki haʾamata pahe clon\",\n \"CONTROL_CREATECLONEOF\": \"e aŋa te ko tu meʾe a o te %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"ko au mau ā\",\n \"CONTROL_DELETETHISCLONE\": \"haka kore te clon nei\",\n \"CONTROL_COUNTER\": \"te tataku\",\n \"CONTROL_INCRCOUNTER\": \"e hahaʾo te tataku\",\n \"CONTROL_CLEARCOUNTER\": \"haka kore te tataku\",\n \"CONTROL_ALLATONCE\": \"taʾatoʾa etahi no vece\",\n \"DATA_SETVARIABLETO\": \" e vaʾai ki te %1 te mau %2\",\n \"DATA_CHANGEVARIABLEBY\": \"haka rahi ki te %1 %2\",\n \"DATA_SHOWVARIABLE\": \"haka tikeʾa te variable %1\",\n \"DATA_HIDEVARIABLE\": \"e naʾa te variable %1\",\n \"DATA_ADDTOLIST\": \"ka hahaʾo te %1 ki te %2\",\n \"DATA_DELETEOFLIST\": \"haka kore %1 de %2\",\n \"DATA_DELETEALLOFLIST\": \"haka kore taʾa toʾa te %1\",\n \"DATA_INSERTATLIST\": \"e hahaʾo te %1 ki te %2 o te %3\",\n \"DATA_REPLACEITEMOFLIST\": \"ka hahaʾo te rua meʾe %1 o te %2 hai %3\",\n \"DATA_ITEMOFLIST\": \"meʾe %1 i te %2\",\n \"DATA_ITEMNUMOFLIST\": \"# o te meʾe he %1 i te %2\",\n \"DATA_LENGTHOFLIST\": \"roa roa o te %1\",\n \"DATA_LISTCONTAINSITEM\": \"¿%2 e ai era te %1?\",\n \"DATA_SHOWLIST\": \"haka tikeʾa te parau o te meʾe %1\",\n \"DATA_HIDELIST\": \"naʾa te parau %1\",\n \"DATA_INDEX_ALL\": \"taʾatoʾa\",\n \"DATA_INDEX_LAST\": \"hopeʾa\",\n \"DATA_INDEX_RANDOM\": \"aleatorio\",\n \"EVENT_WHENFLAGCLICKED\": \"ki āŋa te clic i te %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"ki āŋa te clic i te meʾe nei\",\n \"EVENT_WHENSTAGECLICKED\": \"mo ŋatu te clic i te ahu\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"mo te sprite he ŋatu te %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"ki vaʾai mai %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"ki kamiare te tuʾa nui ki te %1\",\n \"EVENT_WHENGREATERTHAN\": \" a he %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"cronómetro\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"volumen o te pakeke\",\n \"EVENT_BROADCAST\": \"haka oho %1\",\n \"EVENT_BROADCASTANDWAIT\": \"e haka oho %1 e tiaki\",\n \"EVENT_WHENKEYPRESSED\": \"mo ŋatu te pito pito %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"kona\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"teʾa maui\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"teʾa mataʾu\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"teʾa ki raro\",\n \"EVENT_WHENKEYPRESSED_UP\": \"teʾa ki ruŋa\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"taʾatoʾa meʾe\",\n \"LOOKS_SAYFORSECS\": \"e ki %1 i te %2 segundos\",\n \"LOOKS_SAY\": \"e ki %1\",\n \"LOOKS_HELLO\": \"¡Iorana!\",\n \"LOOKS_THINKFORSECS\": \"e manaʾu mmmm %1 i te %2\",\n \"LOOKS_THINK\": \"e manaʾu %1\",\n \"LOOKS_HMM\": \"Umm...\",\n \"LOOKS_SHOW\": \"haka tikeʾa\",\n \"LOOKS_HIDE\": \"naʾa\",\n \"LOOKS_HIDEALLSPRITES\": \"ka naʾa te sprite taʾatoʾa\",\n \"LOOKS_EFFECT_COLOR\": \"kiʾea\",\n \"LOOKS_EFFECT_FISHEYE\": \"ojo de pez\",\n \"LOOKS_EFFECT_WHIRL\": \"remolino\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixelar\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaico\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"ʾuira\",\n \"LOOKS_EFFECT_GHOST\": \"haka kore iti\",\n \"LOOKS_CHANGEEFFECTBY\": \"haka rahi te efecto %1 %2\",\n \"LOOKS_SETEFFECTTO\": \"ka vaʾai te efecto %1 te %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"haka kore te efectos graficos\",\n \"LOOKS_CHANGESIZEBY\": \"ka kamiare te nui nui hai %1\",\n \"LOOKS_SETSIZETO\": \"haka noho te nui nui ki te %1 %\",\n \"LOOKS_SIZE\": \"he haito\",\n \"LOOKS_CHANGESTRETCHBY\": \"haka rahi ki te haka roa roa te %1\",\n \"LOOKS_SETSTRETCHTO\": \"haka tano te haka roa roa ki te %1\",\n \"LOOKS_SWITCHCOSTUMETO\": \"ka kamiare te diseño ki te %1\",\n \"LOOKS_NEXTCOSTUME\": \"te rua diseño\",\n \"LOOKS_SWITCHBACKDROPTO\": \"ka kamiare te tuʾa nui ki te %1\",\n \"LOOKS_GOTOFRONTBACK\": \"e oho a capa %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"a muʾa ki te tahi\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"i tuʾa\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \" e oho %2 capas ki te %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"a muʾa ki te tahi\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"a tuʾa \",\n \"LOOKS_BACKDROPNUMBERNAME\": \"%1 o te tuʾa nui\",\n \"LOOKS_COSTUMENUMBERNAME\": \"%1 o te diseño\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"nūmera\",\n \"LOOKS_NUMBERNAME_NAME\": \"iŋoa\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"kamiare te tuʾa nui ki te %1 e ka tiaki\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"te rua tuʾa nui\",\n \"LOOKS_NEXTBACKDROP\": \"te rua tuʾa nui\",\n \"LOOKS_PREVIOUSBACKDROP\": \"tuʾa nui hoki a tuʾa\",\n \"LOOKS_RANDOMBACKDROP\": \"tuʾa nui aleatorio\",\n \"MOTION_MOVESTEPS\": \"e makenu %1 te vaʾe\",\n \"MOTION_TURNLEFT\": \"e teka %1 %2 grados\",\n \"MOTION_TURNRIGHT\": \"e teka %1 %2 grados\",\n \"MOTION_POINTINDIRECTION\": \"ka tuhi ki te kona %1\",\n \"MOTION_POINTTOWARDS\": \"ka tuki ki %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"teʾa kioʾe\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"he oho haŋa te aleatoria\",\n \"MOTION_GOTO\": \"e oho ki te %1\",\n \"MOTION_GOTO_POINTER\": \"teʾa kioʾe\",\n \"MOTION_GOTO_RANDOM\": \"posición aleatoria\",\n \"MOTION_GOTOXY\": \"e oho ki te a x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"haka nini ki te %1 piere ki te x:%2 y: %3\",\n \"MOTION_GLIDETO\": \"haka nini hai %1 piere ki te %2\",\n \"MOTION_GLIDETO_POINTER\": \"teʾa kioʾe\",\n \"MOTION_GLIDETO_RANDOM\": \"posición aleatoria\",\n \"MOTION_CHANGEXBY\": \"haka rahi te a x %1\",\n \"MOTION_SETX\": \"ka vaʾai ki te x te mau %1\",\n \"MOTION_CHANGEYBY\": \"haka rahi te y %1\",\n \"MOTION_SETY\": \"ka vaʾai ki te a e ki te %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"ana hahine ki te titi, ka rere rere\",\n \"MOTION_SETROTATIONSTYLE\": \"fijar estilo de rotación a %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"maūi - mataʾu\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"ina ko haka teka\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"ki te taʾatoʾa kona\",\n \"MOTION_XPOSITION\": \"he noho o te x\",\n \"MOTION_YPOSITION\": \"he noho o te y\",\n \"MOTION_DIRECTION\": \"ara\",\n \"MOTION_SCROLLRIGHT\": \"ka makenu ki te mataʾu %1\",\n \"MOTION_SCROLLUP\": \"ka makenu ki ruŋa %1\",\n \"MOTION_ALIGNSCENE\": \"haka titika te escena %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"i raro ki te maui\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"i raro ki mataʾu\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"ki vaeŋa\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"a ruŋa ki te maui\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"a ruŋa ki te mataʾu\",\n \"MOTION_XSCROLL\": \"he makenu hai x\",\n \"MOTION_YSCROLL\": \"he makenu hai y\",\n \"MOTION_STAGE_SELECTED\": \"escenario tuhi: ina he avahata mo te makenu\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"numera aleatorio i a %1 e %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 e %2\",\n \"OPERATORS_OR\": \"%1 o %2\",\n \"OPERATORS_NOT\": \"ina %1\",\n \"OPERATORS_JOIN\": \"ka haka piri %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"manzana\",\n \"OPERATORS_JOIN_BANANA\": \"maika\",\n \"OPERATORS_LETTEROF\": \" tiaraʾa %1 o te %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"roa roa o te %1\",\n \"OPERATORS_CONTAINS\": \"¿%2 e ai era te %1?\",\n \"OPERATORS_MOD\": \"%1 módulo %2\",\n \"OPERATORS_ROUND\": \"haka taka taka %1\",\n \"OPERATORS_MATHOP\": \"%1 o te %2\",\n \"OPERATORS_MATHOP_ABS\": \"valor absoluto\",\n \"OPERATORS_MATHOP_FLOOR\": \"suelo\",\n \"OPERATORS_MATHOP_CEILING\": \"techo\",\n \"OPERATORS_MATHOP_SQRT\": \"raíz cuadrada\",\n \"OPERATORS_MATHOP_SIN\": \"sen\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsen\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"haka tano te %1\",\n \"SENSING_TOUCHINGOBJECT\": \"¿e puʾa %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"teʾa kioʾe\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"tītī\",\n \"SENSING_TOUCHINGCOLOR\": \"¿e puʾa te kiea %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"¿kiea %1 ē puʾa %2?\",\n \"SENSING_DISTANCETO\": \"roa ki %1\",\n \"SENSING_DISTANCETO_POINTER\": \"teʾa kioʾe\",\n \"SENSING_ASKANDWAIT\": \"e ʾui %1 e he tiaki\",\n \"SENSING_ASK_TEXT\": \"¿ko ai toʾu iŋoa?\",\n \"SENSING_ANSWER\": \"pahono\",\n \"SENSING_KEYPRESSED\": \"¿pito pito %1 ko ŋatu ā?\",\n \"SENSING_MOUSEDOWN\": \"¿kioʾe ko te ŋatu hāŋa ā?\",\n \"SENSING_MOUSEX\": \"he kona noho x o te kioʾe\",\n \"SENSING_MOUSEY\": \"he kona noho y o te kioʾe\",\n \"SENSING_SETDRAGMODE\": \"haka titika te modo makenu ki te %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"e riva ro mo haka makenu\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"e ko tano mo haka makenu\",\n \"SENSING_LOUDNESS\": \"volumen o te pakeke\",\n \"SENSING_LOUD\": \"¿poŋeha?\",\n \"SENSING_TIMER\": \"cronómetro\",\n \"SENSING_RESETTIMER\": \"e haʾamata haka ʾou te cronómetro\",\n \"SENSING_OF\": \"%1 o te %2\",\n \"SENSING_OF_XPOSITION\": \"he noho o te x\",\n \"SENSING_OF_YPOSITION\": \"he noho o te y\",\n \"SENSING_OF_DIRECTION\": \"ara\",\n \"SENSING_OF_COSTUMENUMBER\": \"# o te diseño\",\n \"SENSING_OF_COSTUMENAME\": \"iŋoa o te diseño\",\n \"SENSING_OF_SIZE\": \"he haito\",\n \"SENSING_OF_VOLUME\": \"re´o o te computador\",\n \"SENSING_OF_BACKDROPNUMBER\": \" o te tuʾa nui\",\n \"SENSING_OF_BACKDROPNAME\": \"iŋoa o te tuʾa nui\",\n \"SENSING_OF_STAGE\": \"Ahu\",\n \"SENSING_CURRENT\": \"%1 apī\",\n \"SENSING_CURRENT_YEAR\": \"matahiti\",\n \"SENSING_CURRENT_MONTH\": \"avaʾe\",\n \"SENSING_CURRENT_DATE\": \"mahana\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"mahana o te tapati\",\n \"SENSING_CURRENT_HOUR\": \"hōra\",\n \"SENSING_CURRENT_MINUTE\": \"minuti\",\n \"SENSING_CURRENT_SECOND\": \"segundo\",\n \"SENSING_DAYSSINCE2000\": \"he mahana mai te 2000\",\n \"SENSING_USERNAME\": \"iŋoa o te usuario\",\n \"SENSING_USERID\": \"id o te kope kori\",\n \"SOUND_PLAY\": \"haʾamata te pakeke %1\",\n \"SOUND_PLAYUNTILDONE\": \"ka pakeke %1 ki te oti\",\n \"SOUND_STOPALLSOUNDS\": \"haka noho te pakeke taʾatoʾa\",\n \"SOUND_SETEFFECTO\": \"ka vaʾai te efecto %1 te %2\",\n \"SOUND_CHANGEEFFECTBY\": \"haka rahi te efecto %1 %2\",\n \"SOUND_CLEAREFFECTS\": \"haka kore te efecto o te pakeke\",\n \"SOUND_EFFECTS_PITCH\": \"roa roatano\",\n \"SOUND_EFFECTS_PAN\": \"haka iri te reʾo o a te maui o a te mataʾu\",\n \"SOUND_CHANGEVOLUMEBY\": \"ka kamiare te reʾo ki te %1\",\n \"SOUND_SETVOLUMETO\": \"haka tano te volumen al %1%\",\n \"SOUND_VOLUME\": \"re´o o te computador\",\n \"SOUND_RECORD\": \"hapaʾo…\",\n \"CATEGORY_MOTION\": \"makenu\",\n \"CATEGORY_LOOKS\": \"pahe meʾe no e tahi\",\n \"CATEGORY_SOUND\": \"pakeke\",\n \"CATEGORY_EVENTS\": \"ŋoŋoro\",\n \"CATEGORY_CONTROL\": \"aʾaru\",\n \"CATEGORY_SENSING\": \"sensores\",\n \"CATEGORY_OPERATORS\": \"operadores\",\n \"CATEGORY_VARIABLES\": \"variables\",\n \"CATEGORY_MYBLOCKS\": \"taʾaku avhata poto roa mekera\",\n \"DUPLICATE\": \"haka rahi\",\n \"DELETE\": \"haka kore\",\n \"ADD_COMMENT\": \"hahaʾo te vanāŋa\",\n \"REMOVE_COMMENT\": \"haka kore te vanaŋa\",\n \"DELETE_BLOCK\": \"haka kore te avahata poto roa\",\n \"DELETE_X_BLOCKS\": \"haka kore %1 avahata poto roa o te puŋa\",\n \"DELETE_ALL_BLOCKS\": \"¿haka kore te %1?\",\n \"CLEAN_UP\": \"apapa te mekera avahata poto roa\",\n \"HELP\": \"hāʾuʾu\",\n \"UNDO\": \"moumou\",\n \"REDO\": \"he anga haka ʾou\",\n \"EDIT_PROCEDURE\": \"haka titika\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Go to definition\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"ka ki e tahi meʾe…\",\n \"COLOUR_HUE_LABEL\": \"Kiʾea\",\n \"COLOUR_SATURATION_LABEL\": \"Saturación\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"ʾUira\",\n \"CHANGE_VALUE_TITLE\": \"kamiare te mau:\",\n \"RENAME_VARIABLE\": \"ka nape hakaʾou te variable\",\n \"RENAME_VARIABLE_TITLE\": \"ka papaʾi te variable taʾatoʾa iŋoa ko \\\"%1\\\" a:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"ka nape hakaʾou te variable\",\n \"NEW_VARIABLE\": \"he manaʾu mo āŋa te variable\",\n \"NEW_VARIABLE_TITLE\": \"iŋoa o te variable:\",\n \"VARIABLE_MODAL_TITLE\": \"variable apī\",\n \"VARIABLE_ALREADY_EXISTS\": \"ko ai a te variable iŋoa \\\"%1\\\"\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"ko ai a te variable iŋoa \\\"%1\\\" mo te rua variable o te huru \\\"%2\\\"\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"¿haka kore %1 aŋa o te variable \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"ē ko tano mo haka kore te variable \\\"%1\\\" o te ai he tano o te funcion \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"haka kore te variable %1\",\n \"NEW_PROCEDURE\": \"he manaʾu mo āŋa e tahi avahata poto roa mekerā\",\n \"PROCEDURE_ALREADY_EXISTS\": \"ko ai a te aŋa ioa ko \\\"%1\\\"\",\n \"PROCEDURE_DEFAULT_NAME\": \"iŋoa o te avahata poto roa puŋa\",\n \"NEW_LIST\": \"ka manaʾu mo āŋa te parau\",\n \"NEW_LIST_TITLE\": \"iŋoa o te parau:\",\n \"LIST_MODAL_TITLE\": \"parau apī\",\n \"LIST_ALREADY_EXISTS\": \"A list named \\\"%1\\\" already exists.\",\n \"RENAME_LIST_TITLE\": \"Rename all \\\"%1\\\" lists to:\",\n \"RENAME_LIST_MODAL_TITLE\": \"he nape hakaʾou\",\n \"DEFAULT_LIST_ITEM\": \"meʾe\",\n \"DELETE_LIST\": \"haka kore te parau %1\",\n \"RENAME_LIST\": \"he nape hakaʾou\",\n \"NEW_BROADCAST_MESSAGE\": \"parau apī\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"iŋoa o te papaʾi:\",\n \"BROADCAST_MODAL_TITLE\": \"parau apī\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"ki hāŋa1\"\n};\n\nBlockly.ScratchMsgs.locales[\"ro\"] =\n{\n \"CONTROL_FOREVER\": \"la infinit\",\n \"CONTROL_REPEAT\": \"repetă %1\",\n \"CONTROL_IF\": \"dacă %1 atunci\",\n \"CONTROL_ELSE\": \"altfel\",\n \"CONTROL_STOP\": \"stop\",\n \"CONTROL_STOP_ALL\": \"totul\",\n \"CONTROL_STOP_THIS\": \"acest script\",\n \"CONTROL_STOP_OTHER\": \"alte scripturi pentru personaj\",\n \"CONTROL_WAIT\": \"așteaptă %1 secunde\",\n \"CONTROL_WAITUNTIL\": \"așteaptă până când %1\",\n \"CONTROL_REPEATUNTIL\": \"repetă până când %1\",\n \"CONTROL_WHILE\": \"cât timp %1\",\n \"CONTROL_FOREACH\": \"pentru fiecare %1 în %2\",\n \"CONTROL_STARTASCLONE\": \"când încep ca și clonă\",\n \"CONTROL_CREATECLONEOF\": \"creează o clonă a %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"mea\",\n \"CONTROL_DELETETHISCLONE\": \"șterge această clonă\",\n \"CONTROL_COUNTER\": \"contor\",\n \"CONTROL_INCRCOUNTER\": \"incrementează contor\",\n \"CONTROL_CLEARCOUNTER\": \"resetează contor\",\n \"CONTROL_ALLATONCE\": \"integral\",\n \"DATA_SETVARIABLETO\": \"setează %1 la %2\",\n \"DATA_CHANGEVARIABLEBY\": \"modifică %1 cu %2\",\n \"DATA_SHOWVARIABLE\": \"arată variabila %1\",\n \"DATA_HIDEVARIABLE\": \"ascunde variabila %1\",\n \"DATA_ADDTOLIST\": \"adaugă %1 la %2\",\n \"DATA_DELETEOFLIST\": \"șterge %1 din %2\",\n \"DATA_DELETEALLOFLIST\": \"șterge tot din %1\",\n \"DATA_INSERTATLIST\": \"inserează %1 la %2 din %3\",\n \"DATA_REPLACEITEMOFLIST\": \"înlocuiește item %1 din %2 cu %3\",\n \"DATA_ITEMOFLIST\": \"element %1 din %2\",\n \"DATA_ITEMNUMOFLIST\": \"nr. elementului %1 în %2\",\n \"DATA_LENGTHOFLIST\": \"lungimea lui %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 conține %2?\",\n \"DATA_SHOWLIST\": \"arată lista %1\",\n \"DATA_HIDELIST\": \"ascunde lista %1\",\n \"DATA_INDEX_ALL\": \"totul\",\n \"DATA_INDEX_LAST\": \"ultim\",\n \"DATA_INDEX_RANDOM\": \"aleator\",\n \"EVENT_WHENFLAGCLICKED\": \"când se dă click pe %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"când se dă click pe acest personaj\",\n \"EVENT_WHENSTAGECLICKED\": \"când se dă clic pe scenă\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"când personajul atinge %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"când primesc %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"când decorul se schimbă la %1\",\n \"EVENT_WHENGREATERTHAN\": \"când %1>%2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"cronometru\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"intensitatea sunetului\",\n \"EVENT_BROADCAST\": \"difuzează %1\",\n \"EVENT_BROADCASTANDWAIT\": \"difuzează %1 și așteaptă\",\n \"EVENT_WHENKEYPRESSED\": \"când tasta %1 este apăsată\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"spațiu\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"săgeată stânga\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"săgeată dreapta\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"săgeată jos\",\n \"EVENT_WHENKEYPRESSED_UP\": \"săgeată în sus\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"oricare\",\n \"LOOKS_SAYFORSECS\": \"spune %1 pentru %2 secunde\",\n \"LOOKS_SAY\": \"spune %1\",\n \"LOOKS_HELLO\": \"Salut!\",\n \"LOOKS_THINKFORSECS\": \"gândește %1 pentru %2 secunde \",\n \"LOOKS_THINK\": \"gândește %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"arată\",\n \"LOOKS_HIDE\": \"ascunde\",\n \"LOOKS_HIDEALLSPRITES\": \"ascunde toate personajele\",\n \"LOOKS_EFFECT_COLOR\": \"culoare\",\n \"LOOKS_EFFECT_FISHEYE\": \"ochi de pește\",\n \"LOOKS_EFFECT_WHIRL\": \"vârtej\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixelare\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaic\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"strălucire\",\n \"LOOKS_EFFECT_GHOST\": \"fantomă\",\n \"LOOKS_CHANGEEFFECTBY\": \"modifică efectul %1 cu %2\",\n \"LOOKS_SETEFFECTTO\": \"setează efectul %1 la %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"anulează efectele grafice\",\n \"LOOKS_CHANGESIZEBY\": \"modifică mărimea cu %1\",\n \"LOOKS_SETSIZETO\": \"setează mărimea la %1 %\",\n \"LOOKS_SIZE\": \"mărime\",\n \"LOOKS_CHANGESTRETCHBY\": \"modifică lărgimea cu %1\",\n \"LOOKS_SETSTRETCHTO\": \"setează lărgimea %1\",\n \"LOOKS_SWITCHCOSTUMETO\": \"schimbă costumul la %1\",\n \"LOOKS_NEXTCOSTUME\": \"costumul următor\",\n \"LOOKS_SWITCHBACKDROPTO\": \"schimbă decorul la %1\",\n \"LOOKS_GOTOFRONTBACK\": \"mergi la stratul %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"în față\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"înapoi\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"mergi %1 %2 straturi\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"înainte\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"înapoi\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"decor %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"costumul %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"număr\",\n \"LOOKS_NUMBERNAME_NAME\": \"nume\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"schimbă decorul la %1 și așteaptă\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"decorul următor\",\n \"LOOKS_NEXTBACKDROP\": \"decorul următor\",\n \"LOOKS_PREVIOUSBACKDROP\": \"decorul anterior\",\n \"LOOKS_RANDOMBACKDROP\": \"decor aleatoriu\",\n \"MOTION_MOVESTEPS\": \"mergi %1 pași\",\n \"MOTION_TURNLEFT\": \"rotește-te %1 %2 grade\",\n \"MOTION_TURNRIGHT\": \"rotește-te %1 %2 grade\",\n \"MOTION_POINTINDIRECTION\": \"orientează-te în direcția %1\",\n \"MOTION_POINTTOWARDS\": \"orientează-te spre %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"cursorul mouse-ului\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"direcție aleatoare\",\n \"MOTION_GOTO\": \"mergi la %1\",\n \"MOTION_GOTO_POINTER\": \"cursorul mouse-ului\",\n \"MOTION_GOTO_RANDOM\": \"poziție aleatoare\",\n \"MOTION_GOTOXY\": \"mergi la x %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"glisează în %1 secunde la x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"glisează în %1 secunde la %2 \",\n \"MOTION_GLIDETO_POINTER\": \"cursorul mouse-ului\",\n \"MOTION_GLIDETO_RANDOM\": \"poziție aleatoare\",\n \"MOTION_CHANGEXBY\": \"modifică x cu %1\",\n \"MOTION_SETX\": \"setează x la %1\",\n \"MOTION_CHANGEYBY\": \"modifică y cu %1\",\n \"MOTION_SETY\": \"setează y la %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"dacă atinge marginea, ricoșează\",\n \"MOTION_SETROTATIONSTYLE\": \"setează stilul de rotație %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"stânga-dreapta\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"nu te roti\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"de jur împrejur\",\n \"MOTION_XPOSITION\": \"poziția x\",\n \"MOTION_YPOSITION\": \"poziția y\",\n \"MOTION_DIRECTION\": \"direcția\",\n \"MOTION_SCROLLRIGHT\": \"derulează la dreapta %1\",\n \"MOTION_SCROLLUP\": \"derulează în sus %1\",\n \"MOTION_ALIGNSCENE\": \"aliniază scena %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"stânga-jos\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"dreapta-jos\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"în centru\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"stânga-sus\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"dreapta-sus\",\n \"MOTION_XSCROLL\": \"derulare x\",\n \"MOTION_YSCROLL\": \"derulare y\",\n \"MOTION_STAGE_SELECTED\": \"Scena selectată: fără blocuri de mișcare\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"alege aleator între %1 și %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 și %2\",\n \"OPERATORS_OR\": \"%1 sau %2\",\n \"OPERATORS_NOT\": \"nu %1\",\n \"OPERATORS_JOIN\": \"alătură %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"măr\",\n \"OPERATORS_JOIN_BANANA\": \"banană\",\n \"OPERATORS_LETTEROF\": \"litera %1 din %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"m\",\n \"OPERATORS_LENGTH\": \"lungimea lui %1\",\n \"OPERATORS_CONTAINS\": \"%1 conține %2?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"rotunjește %1\",\n \"OPERATORS_MATHOP\": \"%1 din %2\",\n \"OPERATORS_MATHOP_ABS\": \"modul\",\n \"OPERATORS_MATHOP_FLOOR\": \"partea întreagă\",\n \"OPERATORS_MATHOP_CEILING\": \"rotunjire prin adaos\",\n \"OPERATORS_MATHOP_SQRT\": \"radical\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definește %1\",\n \"SENSING_TOUCHINGOBJECT\": \"atinge %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"cursorul mouse-ului\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"marginea\",\n \"SENSING_TOUCHINGCOLOR\": \"atinge culoarea %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"culoarea %1 atinge %2?\",\n \"SENSING_DISTANCETO\": \"distanța până la %1\",\n \"SENSING_DISTANCETO_POINTER\": \"cursorul mouse-ului\",\n \"SENSING_ASKANDWAIT\": \"întreabă %1 și așteaptă\",\n \"SENSING_ASK_TEXT\": \"Cum te numești?\",\n \"SENSING_ANSWER\": \"răspuns\",\n \"SENSING_KEYPRESSED\": \"tasta %1 apăsată?\",\n \"SENSING_MOUSEDOWN\": \"butonul mouse-ului e apăsat?\",\n \"SENSING_MOUSEX\": \"mouse x\",\n \"SENSING_MOUSEY\": \"mouse y\",\n \"SENSING_SETDRAGMODE\": \"setează mod tragere %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"activat\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"dezactivat\",\n \"SENSING_LOUDNESS\": \"intensitatea sunetului\",\n \"SENSING_LOUD\": \"tare?\",\n \"SENSING_TIMER\": \"cronometru\",\n \"SENSING_RESETTIMER\": \"resetează cronometru\",\n \"SENSING_OF\": \"%1 din %2\",\n \"SENSING_OF_XPOSITION\": \"poziția x\",\n \"SENSING_OF_YPOSITION\": \"poziția y\",\n \"SENSING_OF_DIRECTION\": \"direcția\",\n \"SENSING_OF_COSTUMENUMBER\": \"nr. costum\",\n \"SENSING_OF_COSTUMENAME\": \"denumire costum\",\n \"SENSING_OF_SIZE\": \"mărime\",\n \"SENSING_OF_VOLUME\": \"volum\",\n \"SENSING_OF_BACKDROPNUMBER\": \"nr. decor\",\n \"SENSING_OF_BACKDROPNAME\": \"denumire decor\",\n \"SENSING_OF_STAGE\": \"Scenă\",\n \"SENSING_CURRENT\": \"%1 curent(ă)\",\n \"SENSING_CURRENT_YEAR\": \"anul\",\n \"SENSING_CURRENT_MONTH\": \"luna\",\n \"SENSING_CURRENT_DATE\": \"data\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"ziua săptămânii\",\n \"SENSING_CURRENT_HOUR\": \"ora\",\n \"SENSING_CURRENT_MINUTE\": \"minutul\",\n \"SENSING_CURRENT_SECOND\": \"secunda\",\n \"SENSING_DAYSSINCE2000\": \"zile din 2000\",\n \"SENSING_USERNAME\": \"nume utilizator\",\n \"SENSING_USERID\": \"id utilizator\",\n \"SOUND_PLAY\": \"pornește sunetul %1\",\n \"SOUND_PLAYUNTILDONE\": \"redă sunetul %1 până la final\",\n \"SOUND_STOPALLSOUNDS\": \"oprește toate sunetele\",\n \"SOUND_SETEFFECTO\": \"setează efectul %1 la %2\",\n \"SOUND_CHANGEEFFECTBY\": \"modifică efectul %1 cu %2\",\n \"SOUND_CLEAREFFECTS\": \"șterge efectele audio\",\n \"SOUND_EFFECTS_PITCH\": \"înălțimea sunetului\",\n \"SOUND_EFFECTS_PAN\": \"deplasare la stânga/dreapta\",\n \"SOUND_CHANGEVOLUMEBY\": \"modifică volumul cu %1\",\n \"SOUND_SETVOLUMETO\": \"setează volumul la %1%\",\n \"SOUND_VOLUME\": \"volum\",\n \"SOUND_RECORD\": \"se înregistrează...\",\n \"CATEGORY_MOTION\": \"Mișcare\",\n \"CATEGORY_LOOKS\": \"Aspect\",\n \"CATEGORY_SOUND\": \"Sunet\",\n \"CATEGORY_EVENTS\": \"Evenimente\",\n \"CATEGORY_CONTROL\": \"Control\",\n \"CATEGORY_SENSING\": \"Detectare\",\n \"CATEGORY_OPERATORS\": \"Operatori\",\n \"CATEGORY_VARIABLES\": \"Variabile\",\n \"CATEGORY_MYBLOCKS\": \"Blocurile mele\",\n \"DUPLICATE\": \"Duplică\",\n \"DELETE\": \"Șterge\",\n \"ADD_COMMENT\": \"Adaugă comentariu\",\n \"REMOVE_COMMENT\": \"Șterge comentariul\",\n \"DELETE_BLOCK\": \"Șterge blocul\",\n \"DELETE_X_BLOCKS\": \"Șterge %1 blocuri\",\n \"DELETE_ALL_BLOCKS\": \"Șterg toate %1 blocuri?\",\n \"CLEAN_UP\": \"Șterge blocurile\",\n \"HELP\": \"Ajutor\",\n \"UNDO\": \"Anulează ultima modificare\",\n \"REDO\": \"Refă acțiunea anulată\",\n \"EDIT_PROCEDURE\": \"Editează\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Mergi la definiție\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Spune ceva ...\",\n \"COLOUR_HUE_LABEL\": \"Culoare\",\n \"COLOUR_SATURATION_LABEL\": \"Saturație\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Strălucire\",\n \"CHANGE_VALUE_TITLE\": \"Modifică valoarea:\",\n \"RENAME_VARIABLE\": \"Redenumește variabila\",\n \"RENAME_VARIABLE_TITLE\": \"Redenumește peste tot variabila \\\"%1\\\" la:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Redenumește variabila\",\n \"NEW_VARIABLE\": \"Creează o variabilă\",\n \"NEW_VARIABLE_TITLE\": \"Numele variabilei:\",\n \"VARIABLE_MODAL_TITLE\": \"Variabilă nouă\",\n \"VARIABLE_ALREADY_EXISTS\": \"O variabilă denumită \\\"%1\\\" există deja.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"O variabilă cu numele \\\"%1\\\" există deja pentru o altă variabilă de tip \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Șterge %1 utilizări ale variabilei \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Variabila cu numele \\\"%1\\\" nu poate fi ștearsă deoarece este parte a definiției funcției \\\"%2\\\". \",\n \"DELETE_VARIABLE\": \"Șterge variabila cu numele \\\"%1\\\" .\",\n \"NEW_PROCEDURE\": \"Creează un bloc\",\n \"PROCEDURE_ALREADY_EXISTS\": \"O procedură cu numele \\\"%1\\\" există deja.\",\n \"PROCEDURE_DEFAULT_NAME\": \"numele blocului\",\n \"NEW_LIST\": \"Creează o listă\",\n \"NEW_LIST_TITLE\": \"Noul nume al listei:\",\n \"LIST_MODAL_TITLE\": \"Listă nouă\",\n \"LIST_ALREADY_EXISTS\": \"O listă cu numele \\\"%1\\\" există deja.\",\n \"RENAME_LIST_TITLE\": \"Redenumește peste tot lista \\\"%1\\\" la:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Redenumește lista\",\n \"DEFAULT_LIST_ITEM\": \"element\",\n \"DELETE_LIST\": \"Șterge lista \\\"%1\\\" \",\n \"RENAME_LIST\": \"Redenumește lista\",\n \"NEW_BROADCAST_MESSAGE\": \"Mesaj nou\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Numele mesajului\",\n \"BROADCAST_MODAL_TITLE\": \"Mesaj nou\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"mesaj1\"\n};\n\nBlockly.ScratchMsgs.locales[\"ru\"] =\n{\n \"CONTROL_FOREVER\": \"повторять всегда\",\n \"CONTROL_REPEAT\": \"повторить %1 раз\",\n \"CONTROL_IF\": \"если %1 , то\",\n \"CONTROL_ELSE\": \"иначе\",\n \"CONTROL_STOP\": \"стоп\",\n \"CONTROL_STOP_ALL\": \"все\",\n \"CONTROL_STOP_THIS\": \"этот скрипт\",\n \"CONTROL_STOP_OTHER\": \"другие скрипты спрайта\",\n \"CONTROL_WAIT\": \"ждать %1 секунд\",\n \"CONTROL_WAITUNTIL\": \"ждать до %1\",\n \"CONTROL_REPEATUNTIL\": \"повторять пока не %1\",\n \"CONTROL_WHILE\": \"пока %1\",\n \"CONTROL_FOREACH\": \"для каждого %1 в %2\",\n \"CONTROL_STARTASCLONE\": \"когда я начинаю как клон\",\n \"CONTROL_CREATECLONEOF\": \"создать клон %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"самого себя\",\n \"CONTROL_DELETETHISCLONE\": \"удалить клон\",\n \"CONTROL_COUNTER\": \"счётчик\",\n \"CONTROL_INCRCOUNTER\": \"увеличить счётчик\",\n \"CONTROL_CLEARCOUNTER\": \"очистить счётчик\",\n \"CONTROL_ALLATONCE\": \"все сразу\",\n \"DATA_SETVARIABLETO\": \"задать %1 значение %2\",\n \"DATA_CHANGEVARIABLEBY\": \"изменить %1 на %2\",\n \"DATA_SHOWVARIABLE\": \"показать переменную %1\",\n \"DATA_HIDEVARIABLE\": \"скрыть переменную %1\",\n \"DATA_ADDTOLIST\": \"добавить %1 к %2\",\n \"DATA_DELETEOFLIST\": \"удалить %1 из %2\",\n \"DATA_DELETEALLOFLIST\": \"удалить все из %1\",\n \"DATA_INSERTATLIST\": \"вставить %1 в %3 из %2\",\n \"DATA_REPLACEITEMOFLIST\": \"заменить элемент %1 в %2 на %3\",\n \"DATA_ITEMOFLIST\": \"элемент %1 в %2\",\n \"DATA_ITEMNUMOFLIST\": \"элемент # из %1 в %2\",\n \"DATA_LENGTHOFLIST\": \"длина списка %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 содержит %2?\",\n \"DATA_SHOWLIST\": \"показать список %1\",\n \"DATA_HIDELIST\": \"скрыть список %1\",\n \"DATA_INDEX_ALL\": \"все\",\n \"DATA_INDEX_LAST\": \"последний\",\n \"DATA_INDEX_RANDOM\": \"случайный\",\n \"EVENT_WHENFLAGCLICKED\": \"когда %1 нажат\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"когда спрайт нажат\",\n \"EVENT_WHENSTAGECLICKED\": \"когда кликнут по сцене\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"когда этот спрайт касается %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"когда я получу %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"когда фон сменился на %1\",\n \"EVENT_WHENGREATERTHAN\": \"когда %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"таймер\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"громкость\",\n \"EVENT_BROADCAST\": \"передать %1\",\n \"EVENT_BROADCASTANDWAIT\": \"передать %1 и ждать до конца\",\n \"EVENT_WHENKEYPRESSED\": \"когда клавиша %1 нажата\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"пробел\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"стрелка влево\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"стрелка вправо\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"стрелка вниз\",\n \"EVENT_WHENKEYPRESSED_UP\": \"стрелка вверх\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"любая\",\n \"LOOKS_SAYFORSECS\": \"говорить %1 %2 секунд\",\n \"LOOKS_SAY\": \"сказать %1\",\n \"LOOKS_HELLO\": \"Привет!\",\n \"LOOKS_THINKFORSECS\": \"думать %1 %2 секунд\",\n \"LOOKS_THINK\": \"думать %1\",\n \"LOOKS_HMM\": \"М-м-м...\",\n \"LOOKS_SHOW\": \"показаться\",\n \"LOOKS_HIDE\": \"спрятаться\",\n \"LOOKS_HIDEALLSPRITES\": \"спрятать все спрайты\",\n \"LOOKS_EFFECT_COLOR\": \"цвет\",\n \"LOOKS_EFFECT_FISHEYE\": \"рыбий глаз\",\n \"LOOKS_EFFECT_WHIRL\": \"завихрение\",\n \"LOOKS_EFFECT_PIXELATE\": \"укрупнение пикселей\",\n \"LOOKS_EFFECT_MOSAIC\": \"мозаика\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"яркость\",\n \"LOOKS_EFFECT_GHOST\": \"прозрачность\",\n \"LOOKS_CHANGEEFFECTBY\": \"изменить эффект %1 на %2\",\n \"LOOKS_SETEFFECTTO\": \"установить эффект %1 %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"убрать графические эффекты\",\n \"LOOKS_CHANGESIZEBY\": \"изменить размер на %1 %\",\n \"LOOKS_SETSIZETO\": \"установить размер %1 %\",\n \"LOOKS_SIZE\": \"размер\",\n \"LOOKS_CHANGESTRETCHBY\": \"изменить натяжение на %1\",\n \"LOOKS_SETSTRETCHTO\": \"установить натяжение %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"изменить костюм на %1\",\n \"LOOKS_NEXTCOSTUME\": \"следующий костюм\",\n \"LOOKS_SWITCHBACKDROPTO\": \"переключить фон на %1\",\n \"LOOKS_GOTOFRONTBACK\": \"перейти на %1 слой\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"передний\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"задний\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"перейти %1 на %2 слоя\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"вперёд\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"назад\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"фон %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"костюм %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"номер\",\n \"LOOKS_NUMBERNAME_NAME\": \"имя\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"переключить фон на %1 и ждать\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"следующий фон\",\n \"LOOKS_NEXTBACKDROP\": \"следующий фон\",\n \"LOOKS_PREVIOUSBACKDROP\": \"предыдущий фон\",\n \"LOOKS_RANDOMBACKDROP\": \"случайный фон\",\n \"MOTION_MOVESTEPS\": \"идти %1 шагов\",\n \"MOTION_TURNLEFT\": \"повернуть %1 на %2 градусов\",\n \"MOTION_TURNRIGHT\": \"повернуть %1 на %2 градусов\",\n \"MOTION_POINTINDIRECTION\": \"повернуться в направлении %1\",\n \"MOTION_POINTTOWARDS\": \"повернуться к %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"указатель мыши\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"случайно направление\",\n \"MOTION_GOTO\": \"перейти на %1\",\n \"MOTION_GOTO_POINTER\": \"указатель мыши\",\n \"MOTION_GOTO_RANDOM\": \"случайное положение\",\n \"MOTION_GOTOXY\": \"перейти в x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"плыть %1 секунд в точку x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"плыть %1 секунд к %2\",\n \"MOTION_GLIDETO_POINTER\": \"указатель мыши\",\n \"MOTION_GLIDETO_RANDOM\": \"случайное положение\",\n \"MOTION_CHANGEXBY\": \"изменить x на %1\",\n \"MOTION_SETX\": \"установить x в %1\",\n \"MOTION_CHANGEYBY\": \"изменить y на %1\",\n \"MOTION_SETY\": \"установить y в %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"если касается края, оттолкнуться\",\n \"MOTION_SETROTATIONSTYLE\": \"установить способ вращения %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"влево-вправо\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"не вращать\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"кругом\",\n \"MOTION_XPOSITION\": \"положение x\",\n \"MOTION_YPOSITION\": \"положение y\",\n \"MOTION_DIRECTION\": \"направление\",\n \"MOTION_SCROLLRIGHT\": \"прокрутить вправо %1\",\n \"MOTION_SCROLLUP\": \"прокрутить вверх %1\",\n \"MOTION_ALIGNSCENE\": \"выровнять сцену %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"нижний левый\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"нижний правый\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"середина\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"верхний левый\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"верхний правый\",\n \"MOTION_XSCROLL\": \"x прокрутка\",\n \"MOTION_YSCROLL\": \"y прокрутка\",\n \"MOTION_STAGE_SELECTED\": \"Выбрана сцена: нет блоков движения\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"выдать случайное от %1 до %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 и %2\",\n \"OPERATORS_OR\": \"%1 или %2\",\n \"OPERATORS_NOT\": \"не %1\",\n \"OPERATORS_JOIN\": \"объединить %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"яблоко\",\n \"OPERATORS_JOIN_BANANA\": \"банан\",\n \"OPERATORS_LETTEROF\": \"буква %1 в %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"а\",\n \"OPERATORS_LENGTH\": \"длина %1\",\n \"OPERATORS_CONTAINS\": \"%1 содержит %2?\",\n \"OPERATORS_MOD\": \"%1 модуль %2\",\n \"OPERATORS_ROUND\": \"округлить %1\",\n \"OPERATORS_MATHOP\": \"%1 от %2\",\n \"OPERATORS_MATHOP_ABS\": \"модуль\",\n \"OPERATORS_MATHOP_FLOOR\": \"целое меньшее\",\n \"OPERATORS_MATHOP_CEILING\": \"целое большее\",\n \"OPERATORS_MATHOP_SQRT\": \"квадратный корень\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"определить %1\",\n \"SENSING_TOUCHINGOBJECT\": \"касается %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"указатель мыши\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"край\",\n \"SENSING_TOUCHINGCOLOR\": \"касается цвета %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"цвет %1 касается цвета %2?\",\n \"SENSING_DISTANCETO\": \"расстояние до %1\",\n \"SENSING_DISTANCETO_POINTER\": \"указатель мыши\",\n \"SENSING_ASKANDWAIT\": \"спросить %1 и ждать\",\n \"SENSING_ASK_TEXT\": \"Как тебя зовут?\",\n \"SENSING_ANSWER\": \"ответ\",\n \"SENSING_KEYPRESSED\": \"клавиша %1 нажата?\",\n \"SENSING_MOUSEDOWN\": \"мышь нажата?\",\n \"SENSING_MOUSEX\": \"x мыши\",\n \"SENSING_MOUSEY\": \"y мыши\",\n \"SENSING_SETDRAGMODE\": \"перетаскивать %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"можно\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"нельзя\",\n \"SENSING_LOUDNESS\": \"громкость\",\n \"SENSING_LOUD\": \"громко?\",\n \"SENSING_TIMER\": \"таймер\",\n \"SENSING_RESETTIMER\": \"сбросить таймер\",\n \"SENSING_OF\": \"%1 от %2\",\n \"SENSING_OF_XPOSITION\": \"положение x\",\n \"SENSING_OF_YPOSITION\": \"положение y\",\n \"SENSING_OF_DIRECTION\": \"направление\",\n \"SENSING_OF_COSTUMENUMBER\": \"костюм #\",\n \"SENSING_OF_COSTUMENAME\": \"имя костюма\",\n \"SENSING_OF_SIZE\": \"размер\",\n \"SENSING_OF_VOLUME\": \"громкость\",\n \"SENSING_OF_BACKDROPNUMBER\": \"фон #\",\n \"SENSING_OF_BACKDROPNAME\": \"имя фона\",\n \"SENSING_OF_STAGE\": \"Сцена\",\n \"SENSING_CURRENT\": \"текущий %1\",\n \"SENSING_CURRENT_YEAR\": \"год\",\n \"SENSING_CURRENT_MONTH\": \"месяц\",\n \"SENSING_CURRENT_DATE\": \"дата\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"день недели\",\n \"SENSING_CURRENT_HOUR\": \"час\",\n \"SENSING_CURRENT_MINUTE\": \"минута\",\n \"SENSING_CURRENT_SECOND\": \"секунда\",\n \"SENSING_DAYSSINCE2000\": \"дней с 2000 г\",\n \"SENSING_USERNAME\": \"имя пользователя\",\n \"SENSING_USERID\": \"id пользователя\",\n \"SOUND_PLAY\": \"включить звук %1\",\n \"SOUND_PLAYUNTILDONE\": \"играть звук %1 до конца\",\n \"SOUND_STOPALLSOUNDS\": \"остановить все звуки\",\n \"SOUND_SETEFFECTO\": \"установить эффект %1 в %2\",\n \"SOUND_CHANGEEFFECTBY\": \"изменить %1 эффект на %2\",\n \"SOUND_CLEAREFFECTS\": \"убрать звуковые эффекты\",\n \"SOUND_EFFECTS_PITCH\": \"высота тона\",\n \"SOUND_EFFECTS_PAN\": \"звучание слева/справа\",\n \"SOUND_CHANGEVOLUMEBY\": \"изменить громкость на %1\",\n \"SOUND_SETVOLUMETO\": \"установить громкость %1%\",\n \"SOUND_VOLUME\": \"громкость звука\",\n \"SOUND_RECORD\": \"запись…\",\n \"CATEGORY_MOTION\": \"Движение\",\n \"CATEGORY_LOOKS\": \"Внешний вид\",\n \"CATEGORY_SOUND\": \"Звук\",\n \"CATEGORY_EVENTS\": \"События\",\n \"CATEGORY_CONTROL\": \"Управление\",\n \"CATEGORY_SENSING\": \"Сенсоры\",\n \"CATEGORY_OPERATORS\": \"Операторы\",\n \"CATEGORY_VARIABLES\": \"Переменные\",\n \"CATEGORY_MYBLOCKS\": \"Другие блоки\",\n \"DUPLICATE\": \"Дублировать\",\n \"DELETE\": \"Удалить\",\n \"ADD_COMMENT\": \"Добавить комментарий\",\n \"REMOVE_COMMENT\": \"Удалить комментарий\",\n \"DELETE_BLOCK\": \"Удалить блок\",\n \"DELETE_X_BLOCKS\": \"Удалить %1 блоки\",\n \"DELETE_ALL_BLOCKS\": \"Удалить все %1 блоки?\",\n \"CLEAN_UP\": \"Очистить блоки\",\n \"HELP\": \"Помощь\",\n \"UNDO\": \"Отменить\",\n \"REDO\": \"Вернуть\",\n \"EDIT_PROCEDURE\": \"Редактировать\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Перейти к определению\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Скажи что-нибудь...\",\n \"COLOUR_HUE_LABEL\": \"Цвет\",\n \"COLOUR_SATURATION_LABEL\": \"Насыщенность\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Яркость\",\n \"CHANGE_VALUE_TITLE\": \"Изменить значение:\",\n \"RENAME_VARIABLE\": \"Переименовать переменную\",\n \"RENAME_VARIABLE_TITLE\": \"Переименовать все \\\"%1\\\" переменных в:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Переименовать переменную\",\n \"NEW_VARIABLE\": \"Создать переменную\",\n \"NEW_VARIABLE_TITLE\": \"Имя новой переменной:\",\n \"VARIABLE_MODAL_TITLE\": \"Новая переменная\",\n \"VARIABLE_ALREADY_EXISTS\": \"Переменная с именем \\\"%1\\\" уже существует.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"переменная с именем \\\"%1\\\" уже существует в другом типе переменных \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Удалить %1 использований \\\"%2\\\" переменной?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Нельзя удалить переменную \\\"%1\\\", так как она является частью определения функции \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Удалить переменную \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Создать блок\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Процедура с именем \\\"%1\\\" уже существует.\",\n \"PROCEDURE_DEFAULT_NAME\": \"название блока\",\n \"NEW_LIST\": \"Создать список\",\n \"NEW_LIST_TITLE\": \"Имя нового списка:\",\n \"LIST_MODAL_TITLE\": \"Новый список\",\n \"LIST_ALREADY_EXISTS\": \"Список с именем \\\"%1\\\" уже существует.\",\n \"RENAME_LIST_TITLE\": \"Переименовать все \\\"%1\\\" списки в:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Переименовать список\",\n \"DEFAULT_LIST_ITEM\": \"что-то\",\n \"DELETE_LIST\": \"Удалить список \\\"%1\\\"\",\n \"RENAME_LIST\": \"Переименовать список\",\n \"NEW_BROADCAST_MESSAGE\": \"Новое сообщение\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Новое имя сообщения:\",\n \"BROADCAST_MODAL_TITLE\": \"Новое сообщение\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"сообщение1\"\n};\n\nBlockly.ScratchMsgs.locales[\"sr\"] =\n{\n \"CONTROL_FOREVER\": \"понављај заувек\",\n \"CONTROL_REPEAT\": \"понови %1\",\n \"CONTROL_IF\": \"ако је %1 онда\",\n \"CONTROL_ELSE\": \"у супротном\",\n \"CONTROL_STOP\": \"заустави\",\n \"CONTROL_STOP_ALL\": \"све\",\n \"CONTROL_STOP_THIS\": \"овај програм\",\n \"CONTROL_STOP_OTHER\": \"друге програме лика\",\n \"CONTROL_WAIT\": \"чекај %1 секунду\",\n \"CONTROL_WAITUNTIL\": \"чекај док не %1\",\n \"CONTROL_REPEATUNTIL\": \"понављај до %1\",\n \"CONTROL_WHILE\": \"док је %1\",\n \"CONTROL_FOREACH\": \"за сваки %1 у %2\",\n \"CONTROL_STARTASCLONE\": \"када се појавим као умножак\",\n \"CONTROL_CREATECLONEOF\": \"направи дупликат од %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"мене\",\n \"CONTROL_DELETETHISCLONE\": \"обриши овај умножак\",\n \"CONTROL_COUNTER\": \"бројач\",\n \"CONTROL_INCRCOUNTER\": \"увећај бројач\",\n \"CONTROL_CLEARCOUNTER\": \"обриши бројач\",\n \"CONTROL_ALLATONCE\": \"све одједном\",\n \"DATA_SETVARIABLETO\": \"нека %1 буде %2\",\n \"DATA_CHANGEVARIABLEBY\": \"промени %1 за %2\",\n \"DATA_SHOWVARIABLE\": \"прикажи променљиву %1\",\n \"DATA_HIDEVARIABLE\": \"сакриј променљиву %1\",\n \"DATA_ADDTOLIST\": \"додај %1 у %2\",\n \"DATA_DELETEOFLIST\": \"обриши %1 из %2\",\n \"DATA_DELETEALLOFLIST\": \"обриши све из %1\",\n \"DATA_INSERTATLIST\": \"убаци %1 на %2 у %3\",\n \"DATA_REPLACEITEMOFLIST\": \"замени елемент %1 у %2 са %3\",\n \"DATA_ITEMOFLIST\": \"елемент %1 из %2\",\n \"DATA_ITEMNUMOFLIST\": \"место од %1 у %2\",\n \"DATA_LENGTHOFLIST\": \"дужина %1\",\n \"DATA_LISTCONTAINSITEM\": \"да ли %1 садржи %2?\",\n \"DATA_SHOWLIST\": \"прикажи листу %1\",\n \"DATA_HIDELIST\": \"сакриј листу %1\",\n \"DATA_INDEX_ALL\": \"све\",\n \"DATA_INDEX_LAST\": \"последњи\",\n \"DATA_INDEX_RANDOM\": \"насумичан\",\n \"EVENT_WHENFLAGCLICKED\": \"када је кликнуто на %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"када је кликнуто на овај лик\",\n \"EVENT_WHENSTAGECLICKED\": \"када је кликнуто на позорницу\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"када овај лик додирне %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"када примим %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"када се позадина промени у %1\",\n \"EVENT_WHENGREATERTHAN\": \"када је %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"тајмер\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"јачина звука\",\n \"EVENT_BROADCAST\": \"разгласи %1\",\n \"EVENT_BROADCASTANDWAIT\": \"разгласи %1 и чекај\",\n \"EVENT_WHENKEYPRESSED\": \"када је дирка %1 притиснута\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"размак\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"стрелица лево\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"стрелица десно\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"стрелица доле\",\n \"EVENT_WHENKEYPRESSED_UP\": \"стрелица горе\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"било који\",\n \"LOOKS_SAYFORSECS\": \"изговори %1 током %2 секунде\",\n \"LOOKS_SAY\": \"изговори %1\",\n \"LOOKS_HELLO\": \"Здраво!\",\n \"LOOKS_THINKFORSECS\": \"замисли %1 током %2 секунде\",\n \"LOOKS_THINK\": \"замисли %1\",\n \"LOOKS_HMM\": \"Хмм...\",\n \"LOOKS_SHOW\": \"прикажи\",\n \"LOOKS_HIDE\": \"сакриј\",\n \"LOOKS_HIDEALLSPRITES\": \"сакриј све ликове\",\n \"LOOKS_EFFECT_COLOR\": \"боја\",\n \"LOOKS_EFFECT_FISHEYE\": \"рибље око\",\n \"LOOKS_EFFECT_WHIRL\": \"вртлог\",\n \"LOOKS_EFFECT_PIXELATE\": \"позрнати\",\n \"LOOKS_EFFECT_MOSAIC\": \"мозаик\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"осветљеност\",\n \"LOOKS_EFFECT_GHOST\": \"дух\",\n \"LOOKS_CHANGEEFFECTBY\": \"промени ефекат %1 за %2\",\n \"LOOKS_SETEFFECTTO\": \"нека ефекат %1 буде %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"уклони графичке ефекте\",\n \"LOOKS_CHANGESIZEBY\": \"промени величину за %1\",\n \"LOOKS_SETSIZETO\": \"нека величина буде %1 %\",\n \"LOOKS_SIZE\": \"величина\",\n \"LOOKS_CHANGESTRETCHBY\": \"промени увећање за %1\",\n \"LOOKS_SETSTRETCHTO\": \"нека увећање буде %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"замени костим са %1\",\n \"LOOKS_NEXTCOSTUME\": \"следећи костим\",\n \"LOOKS_SWITCHBACKDROPTO\": \"промени позадину у %1\",\n \"LOOKS_GOTOFRONTBACK\": \"иди на %1 слој\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"напред\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"назад\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"иди %1 %2 слоја\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"проследи\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"уназад\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"позадина %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"костим %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"број\",\n \"LOOKS_NUMBERNAME_NAME\": \"име\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"промени позадину у %1 и чекај\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"следећа позадина\",\n \"LOOKS_NEXTBACKDROP\": \"следећа позадина\",\n \"LOOKS_PREVIOUSBACKDROP\": \"претходна позадина\",\n \"LOOKS_RANDOMBACKDROP\": \"случајна позадина\",\n \"MOTION_MOVESTEPS\": \"иди %1 корака\",\n \"MOTION_TURNLEFT\": \"окрет %1 за %2 степени\",\n \"MOTION_TURNRIGHT\": \"окрет %1 за %2 степени\",\n \"MOTION_POINTINDIRECTION\": \"усмери се ка %1\",\n \"MOTION_POINTTOWARDS\": \"усмери се ка %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"показивач миша\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"насумичан правац\",\n \"MOTION_GOTO\": \"иди до %1\",\n \"MOTION_GOTO_POINTER\": \"показивач миша\",\n \"MOTION_GOTO_RANDOM\": \"насумичан положај\",\n \"MOTION_GOTOXY\": \"иди до x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"клизи %1 секунди до x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"клизи %1 секунди до %2\",\n \"MOTION_GLIDETO_POINTER\": \"показивач миша\",\n \"MOTION_GLIDETO_RANDOM\": \"случајан положај\",\n \"MOTION_CHANGEXBY\": \"промени x за %1\",\n \"MOTION_SETX\": \"нека x буде %1\",\n \"MOTION_CHANGEYBY\": \"промени y за %1\",\n \"MOTION_SETY\": \"нека y буде %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"ако си на рубу, окрени се\",\n \"MOTION_SETROTATIONSTYLE\": \"подеси начин окретања %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"лево-десно\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"без окретања\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"на све стране\",\n \"MOTION_XPOSITION\": \"место х\",\n \"MOTION_YPOSITION\": \"место у\",\n \"MOTION_DIRECTION\": \"смер\",\n \"MOTION_SCROLLRIGHT\": \"клизи у десно %1\",\n \"MOTION_SCROLLUP\": \"клизи горе %1\",\n \"MOTION_ALIGNSCENE\": \"поравнај сцену %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"доле-лево\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"доле-десно\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"средина\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"горе-лево\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"горе-десно\",\n \"MOTION_XSCROLL\": \"x клизање\",\n \"MOTION_YSCROLL\": \"y клизање\",\n \"MOTION_STAGE_SELECTED\": \"Издабрана је позорница: нема блокова за кретање\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"случајан број од %1 до %2 \",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 и %2\",\n \"OPERATORS_OR\": \"%1 или %2\",\n \"OPERATORS_NOT\": \"није %1\",\n \"OPERATORS_JOIN\": \"споји %1 и %2\",\n \"OPERATORS_JOIN_APPLE\": \"јабука\",\n \"OPERATORS_JOIN_BANANA\": \"банана\",\n \"OPERATORS_LETTEROF\": \"%1 слово од %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"ј\",\n \"OPERATORS_LENGTH\": \"дужина %1\",\n \"OPERATORS_CONTAINS\": \"%1 садржи %2\",\n \"OPERATORS_MOD\": \"%1 мод %2\",\n \"OPERATORS_ROUND\": \"заокружи %1\",\n \"OPERATORS_MATHOP\": \"%1 од %2\",\n \"OPERATORS_MATHOP_ABS\": \"абс\",\n \"OPERATORS_MATHOP_FLOOR\": \"цео део\",\n \"OPERATORS_MATHOP_CEILING\": \"цео+1\",\n \"OPERATORS_MATHOP_SQRT\": \"корен\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tg\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"дефиниши %1\",\n \"SENSING_TOUCHINGOBJECT\": \"додирује ли %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"показивач миша\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"ивица\",\n \"SENSING_TOUCHINGCOLOR\": \"додирује ли боју %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"боја %1 додирује %2?\",\n \"SENSING_DISTANCETO\": \"удаљеност од %1\",\n \"SENSING_DISTANCETO_POINTER\": \"показивач миша\",\n \"SENSING_ASKANDWAIT\": \"питај %1 и чекај\",\n \"SENSING_ASK_TEXT\": \"Како се зовеш?\",\n \"SENSING_ANSWER\": \"одговор\",\n \"SENSING_KEYPRESSED\": \"дугме %1 је притиснуто?\",\n \"SENSING_MOUSEDOWN\": \"миш притиснут?\",\n \"SENSING_MOUSEX\": \"миш x\",\n \"SENSING_MOUSEY\": \"миш y\",\n \"SENSING_SETDRAGMODE\": \"нека начин превлачења буде %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"превлачиво\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"није превлачиво\",\n \"SENSING_LOUDNESS\": \"јачина звука\",\n \"SENSING_LOUD\": \"гласно?\",\n \"SENSING_TIMER\": \"тајмер\",\n \"SENSING_RESETTIMER\": \"постави тајмер на 0\",\n \"SENSING_OF\": \"%1 од %2\",\n \"SENSING_OF_XPOSITION\": \"x положај\",\n \"SENSING_OF_YPOSITION\": \"y положај\",\n \"SENSING_OF_DIRECTION\": \"смер\",\n \"SENSING_OF_COSTUMENUMBER\": \"број костима\",\n \"SENSING_OF_COSTUMENAME\": \"име костима\",\n \"SENSING_OF_SIZE\": \"величина\",\n \"SENSING_OF_VOLUME\": \"јачина звука\",\n \"SENSING_OF_BACKDROPNUMBER\": \"број позадине\",\n \"SENSING_OF_BACKDROPNAME\": \"име позадине\",\n \"SENSING_OF_STAGE\": \"Позорница\",\n \"SENSING_CURRENT\": \"тренутно %1\",\n \"SENSING_CURRENT_YEAR\": \"година\",\n \"SENSING_CURRENT_MONTH\": \"месец\",\n \"SENSING_CURRENT_DATE\": \"датум\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"дан у недељи\",\n \"SENSING_CURRENT_HOUR\": \"сат\",\n \"SENSING_CURRENT_MINUTE\": \"минут\",\n \"SENSING_CURRENT_SECOND\": \"секунда\",\n \"SENSING_DAYSSINCE2000\": \"дана после 2000\",\n \"SENSING_USERNAME\": \"корисничко име\",\n \"SENSING_USERID\": \"Корисников ид\",\n \"SOUND_PLAY\": \"покрени звук %1\",\n \"SOUND_PLAYUNTILDONE\": \"репродукуј звук %1 до краја\",\n \"SOUND_STOPALLSOUNDS\": \"заустави све звукове\",\n \"SOUND_SETEFFECTO\": \"нека ефекат %1 буде %2\",\n \"SOUND_CHANGEEFFECTBY\": \"промени ефекат %1 за %2\",\n \"SOUND_CLEAREFFECTS\": \"уклони звучне ефекте\",\n \"SOUND_EFFECTS_PITCH\": \"висина тона\",\n \"SOUND_EFFECTS_PAN\": \"померање лево/десно\",\n \"SOUND_CHANGEVOLUMEBY\": \"промени јачину звука за %1\",\n \"SOUND_SETVOLUMETO\": \"нека јачина звука буде %1%\",\n \"SOUND_VOLUME\": \"јачина звука\",\n \"SOUND_RECORD\": \"сними...\",\n \"CATEGORY_MOTION\": \"Кретање\",\n \"CATEGORY_LOOKS\": \"Изглед\",\n \"CATEGORY_SOUND\": \"Звук\",\n \"CATEGORY_EVENTS\": \"Догађаји\",\n \"CATEGORY_CONTROL\": \"Управљање\",\n \"CATEGORY_SENSING\": \"Осећаји\",\n \"CATEGORY_OPERATORS\": \"Оператори\",\n \"CATEGORY_VARIABLES\": \"Променљиве\",\n \"CATEGORY_MYBLOCKS\": \"Моји блокови\",\n \"DUPLICATE\": \"Умножи\",\n \"DELETE\": \"Обриши\",\n \"ADD_COMMENT\": \"Додај коментар\",\n \"REMOVE_COMMENT\": \"Уклони коментар\",\n \"DELETE_BLOCK\": \"Обриши блок\",\n \"DELETE_X_BLOCKS\": \"Обриши %1 блокова\",\n \"DELETE_ALL_BLOCKS\": \"Обрисати свих %1 блокова?\",\n \"CLEAN_UP\": \"Поспреми блокове\",\n \"HELP\": \"Помоћ\",\n \"UNDO\": \"Опозови\",\n \"REDO\": \"Понови\",\n \"EDIT_PROCEDURE\": \"Уреди\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Иди до дефиниције\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Кажи нешто...\",\n \"COLOUR_HUE_LABEL\": \"Боја\",\n \"COLOUR_SATURATION_LABEL\": \"Засићење\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Осветљеност\",\n \"CHANGE_VALUE_TITLE\": \"Промени вредност:\",\n \"RENAME_VARIABLE\": \"Преименуј променљиву\",\n \"RENAME_VARIABLE_TITLE\": \"Преименуј свих \\\"%1\\\" променљивих у:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Преименуј променљиву\",\n \"NEW_VARIABLE\": \"Направи променљиву\",\n \"NEW_VARIABLE_TITLE\": \"Ново име променљиве:\",\n \"VARIABLE_MODAL_TITLE\": \"Нова променљива\",\n \"VARIABLE_ALREADY_EXISTS\": \"Име променљиве \\\"%1\\\" већ постоји.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Име променљиве \\\"%1\\\" већ постоји код друге променљиве типа \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Обрисати %1 употреба променљиве \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Не могу да обришем променљиву \\\"%1\\\" зато што је она део дефиниције функције \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Обриши променљиву \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Направи блок\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Процедура са именом \\\"%1\\\" већ постоји.\",\n \"PROCEDURE_DEFAULT_NAME\": \"име блока\",\n \"NEW_LIST\": \"Направи листу\",\n \"NEW_LIST_TITLE\": \"Ново име листе:\",\n \"LIST_MODAL_TITLE\": \"Нова листа\",\n \"LIST_ALREADY_EXISTS\": \"Листа са именом \\\"%1\\\" већ постоји.\",\n \"RENAME_LIST_TITLE\": \"Преименуј свих \\\"%1\\\" листи у:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Преименуј листу\",\n \"DEFAULT_LIST_ITEM\": \"ствар\",\n \"DELETE_LIST\": \"Обриши листу \\\"%1\\\"\",\n \"RENAME_LIST\": \"Преименуј листу\",\n \"NEW_BROADCAST_MESSAGE\": \"Нова порука\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Име нове поруке:\",\n \"BROADCAST_MODAL_TITLE\": \"Нова порука\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"порука1\"\n};\n\nBlockly.ScratchMsgs.locales[\"sk\"] =\n{\n \"CONTROL_FOREVER\": \"opakuj stále\",\n \"CONTROL_REPEAT\": \"opakuj %1\",\n \"CONTROL_IF\": \"ak %1\",\n \"CONTROL_ELSE\": \"inak\",\n \"CONTROL_STOP\": \"zastav\",\n \"CONTROL_STOP_ALL\": \"všetko\",\n \"CONTROL_STOP_THIS\": \"tento scenár\",\n \"CONTROL_STOP_OTHER\": \"moje iné scenáre\",\n \"CONTROL_WAIT\": \"čakaj %1 s\",\n \"CONTROL_WAITUNTIL\": \"čakaj až kým %1\",\n \"CONTROL_REPEATUNTIL\": \"opakuj až kým %1\",\n \"CONTROL_WHILE\": \"opakuj ak %1\",\n \"CONTROL_FOREACH\": \"pre každé %1 v %2\",\n \"CONTROL_STARTASCLONE\": \"pri štarte klonu\",\n \"CONTROL_CREATECLONEOF\": \"naklonuj %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"seba\",\n \"CONTROL_DELETETHISCLONE\": \"zruš tento klon\",\n \"CONTROL_COUNTER\": \"počítadlo\",\n \"CONTROL_INCRCOUNTER\": \"zvýš počítadlo\",\n \"CONTROL_CLEARCOUNTER\": \"vynuluj počítadlo\",\n \"CONTROL_ALLATONCE\": \"všetko naraz\",\n \"DATA_SETVARIABLETO\": \"nastav %1 na %2\",\n \"DATA_CHANGEVARIABLEBY\": \"zmeň %1 o %2\",\n \"DATA_SHOWVARIABLE\": \"ukáž premennú %1\",\n \"DATA_HIDEVARIABLE\": \"skry premennú %1\",\n \"DATA_ADDTOLIST\": \"pridaj %1 do %2\",\n \"DATA_DELETEOFLIST\": \"zruš %1 z %2\",\n \"DATA_DELETEALLOFLIST\": \"zruš všetko z %1\",\n \"DATA_INSERTATLIST\": \"vlož %1 na %2 v %3\",\n \"DATA_REPLACEITEMOFLIST\": \"nahraď %1 v %2 hodnotou %3\",\n \"DATA_ITEMOFLIST\": \"prvok %1 z %2\",\n \"DATA_ITEMNUMOFLIST\": \"poradie prvku %1 v %2\",\n \"DATA_LENGTHOFLIST\": \"dĺžka %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 obsahuje %2?\",\n \"DATA_SHOWLIST\": \"ukáž zoznam %1\",\n \"DATA_HIDELIST\": \"skry zoznam %1\",\n \"DATA_INDEX_ALL\": \"všetko\",\n \"DATA_INDEX_LAST\": \"posledný\",\n \"DATA_INDEX_RANDOM\": \"náhodný\",\n \"EVENT_WHENFLAGCLICKED\": \"pri kliknutí na %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"pri kliknutí na mňa\",\n \"EVENT_WHENSTAGECLICKED\": \"pri kliknutí na scénu\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"pri dotyku %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"pri prijatí správy %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"pri zmene pozadia na %1\",\n \"EVENT_WHENGREATERTHAN\": \"pri %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"časovač\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"hlasitosť\",\n \"EVENT_BROADCAST\": \"vyšli správu %1\",\n \"EVENT_BROADCASTANDWAIT\": \"vyšli správu %1 a počkaj\",\n \"EVENT_WHENKEYPRESSED\": \"pri stlačení %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"medzerník\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"šípka vľavo\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"šípka vpravo\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"šípka dole\",\n \"EVENT_WHENKEYPRESSED_UP\": \"šípka hore\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"hociktorý\",\n \"LOOKS_SAYFORSECS\": \"bublina %1 %2 s\",\n \"LOOKS_SAY\": \"bublina %1\",\n \"LOOKS_HELLO\": \"Ahoj!\",\n \"LOOKS_THINKFORSECS\": \"myšlienka %1 %2 s\",\n \"LOOKS_THINK\": \"myšlienka %1\",\n \"LOOKS_HMM\": \"Hm...\",\n \"LOOKS_SHOW\": \"ukáž sa\",\n \"LOOKS_HIDE\": \"skry sa\",\n \"LOOKS_HIDEALLSPRITES\": \"skry všetky postavy\",\n \"LOOKS_EFFECT_COLOR\": \"farba\",\n \"LOOKS_EFFECT_FISHEYE\": \"rybie oko\",\n \"LOOKS_EFFECT_WHIRL\": \"zvírenie\",\n \"LOOKS_EFFECT_PIXELATE\": \"štvorčeky\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaika\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"jas\",\n \"LOOKS_EFFECT_GHOST\": \"duch\",\n \"LOOKS_CHANGEEFFECTBY\": \"zmeň efekt %1 o %2\",\n \"LOOKS_SETEFFECTTO\": \"nastav efekt %1 na %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"zruš grafické efekty\",\n \"LOOKS_CHANGESIZEBY\": \"zmeň veľkosť o %1 %\",\n \"LOOKS_SETSIZETO\": \"nastav veľkosť na %1 %\",\n \"LOOKS_SIZE\": \"veľkosť\",\n \"LOOKS_CHANGESTRETCHBY\": \"zmeň natiahnutie o %1\",\n \"LOOKS_SETSTRETCHTO\": \"nastav natiahnutie na %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"zmeň kostým na %1\",\n \"LOOKS_NEXTCOSTUME\": \"ďalší kostým\",\n \"LOOKS_SWITCHBACKDROPTO\": \"zmeň pozadie na %1\",\n \"LOOKS_GOTOFRONTBACK\": \"prejdi na %1 vrstvu\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"vrchnú\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"spodnú\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"prejdi o %2 vrstiev %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"dopredu\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"dozadu\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"pozadie %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"kostým %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"číslo\",\n \"LOOKS_NUMBERNAME_NAME\": \"meno\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"zmeň pozadie na %1 a počkaj\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"ďalšie pozadie\",\n \"LOOKS_NEXTBACKDROP\": \"ďalšie pozadie\",\n \"LOOKS_PREVIOUSBACKDROP\": \"predchádzajúce pozadie\",\n \"LOOKS_RANDOMBACKDROP\": \"náhodné pozadie\",\n \"MOTION_MOVESTEPS\": \"dopredu %1\",\n \"MOTION_TURNLEFT\": \"vľavo %1 %2\",\n \"MOTION_TURNRIGHT\": \"vpravo %1 %2\",\n \"MOTION_POINTINDIRECTION\": \"smerom %1\",\n \"MOTION_POINTTOWARDS\": \"smerom k %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"myš\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"náhodný smer\",\n \"MOTION_GOTO\": \"skoč na %1\",\n \"MOTION_GOTO_POINTER\": \"myš\",\n \"MOTION_GOTO_RANDOM\": \"náhodná pozícia\",\n \"MOTION_GOTOXY\": \"skoč na x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"kĺž sa %1 s na x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"kĺž sa %1 s na %2\",\n \"MOTION_GLIDETO_POINTER\": \"myš\",\n \"MOTION_GLIDETO_RANDOM\": \"náhodná pozícia\",\n \"MOTION_CHANGEXBY\": \"zmeň x o %1\",\n \"MOTION_SETX\": \"skoč na x: %1\",\n \"MOTION_CHANGEYBY\": \"zmeň y o %1\",\n \"MOTION_SETY\": \"skoč na y: %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"ak na okraji, odraz sa\",\n \"MOTION_SETROTATIONSTYLE\": \"nastav otáčanie %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"vľavo-vpravo\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"žiadne\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"podľa smeru\",\n \"MOTION_XPOSITION\": \"pozícia x\",\n \"MOTION_YPOSITION\": \"pozícia y\",\n \"MOTION_DIRECTION\": \"smer\",\n \"MOTION_SCROLLRIGHT\": \"posuň vpravo %1\",\n \"MOTION_SCROLLUP\": \"presuň hore %1\",\n \"MOTION_ALIGNSCENE\": \"zarovnaj scénu %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"vľavo dolu\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"vpravo dolu\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"stred\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"vľavo hore\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"vpravo hore\",\n \"MOTION_XSCROLL\": \"posunutie x\",\n \"MOTION_YSCROLL\": \"posunutie y\",\n \"MOTION_STAGE_SELECTED\": \"Scéna nemá bloky pre pohyb\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"náhodne od %1 do %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 a %2\",\n \"OPERATORS_OR\": \"%1 alebo %2\",\n \"OPERATORS_NOT\": \"nie je %1\",\n \"OPERATORS_JOIN\": \"spoj %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"jablko\",\n \"OPERATORS_JOIN_BANANA\": \"hruška\",\n \"OPERATORS_LETTEROF\": \"znak %1 z %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"dĺžka %1\",\n \"OPERATORS_CONTAINS\": \"%1 obsahuje %2?\",\n \"OPERATORS_MOD\": \"zvyšok %1 / %2\",\n \"OPERATORS_ROUND\": \"zaokrúhli %1\",\n \"OPERATORS_MATHOP\": \"%1 z %2\",\n \"OPERATORS_MATHOP_ABS\": \"abs\",\n \"OPERATORS_MATHOP_FLOOR\": \"zaokrúhli nadol\",\n \"OPERATORS_MATHOP_CEILING\": \"zaokrúhli nahor\",\n \"OPERATORS_MATHOP_SQRT\": \"odmocnina\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tg\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctg\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"exp\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"blok %1\",\n \"SENSING_TOUCHINGOBJECT\": \"dotýkaš sa %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"myš\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"okraj\",\n \"SENSING_TOUCHINGCOLOR\": \"dotýkaš sa %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 sa dotýkaš %2?\",\n \"SENSING_DISTANCETO\": \"vzdialenosť k %1\",\n \"SENSING_DISTANCETO_POINTER\": \"myš\",\n \"SENSING_ASKANDWAIT\": \"otázka %1\",\n \"SENSING_ASK_TEXT\": \"Ako sa voláš?\",\n \"SENSING_ANSWER\": \"odpoveď\",\n \"SENSING_KEYPRESSED\": \"stlačené %1?\",\n \"SENSING_MOUSEDOWN\": \"stlačené tlačidlo myši?\",\n \"SENSING_MOUSEX\": \"myš x\",\n \"SENSING_MOUSEY\": \"myš y\",\n \"SENSING_SETDRAGMODE\": \"hráč môže presúvať %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"áno \",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"nie\",\n \"SENSING_LOUDNESS\": \"hlasitosť\",\n \"SENSING_LOUD\": \"hlasný?\",\n \"SENSING_TIMER\": \"časovač\",\n \"SENSING_RESETTIMER\": \"vynuluj časovač\",\n \"SENSING_OF\": \"%1 z %2\",\n \"SENSING_OF_XPOSITION\": \"pozícia x\",\n \"SENSING_OF_YPOSITION\": \"pozícia y\",\n \"SENSING_OF_DIRECTION\": \"smer\",\n \"SENSING_OF_COSTUMENUMBER\": \"číslo kostýmu\",\n \"SENSING_OF_COSTUMENAME\": \"meno kostýmu\",\n \"SENSING_OF_SIZE\": \"veľkosť\",\n \"SENSING_OF_VOLUME\": \"hlasitosť\",\n \"SENSING_OF_BACKDROPNUMBER\": \"číslo pozadia\",\n \"SENSING_OF_BACKDROPNAME\": \"meno pozadia\",\n \"SENSING_OF_STAGE\": \"Scéna\",\n \"SENSING_CURRENT\": \"teraz je %1\",\n \"SENSING_CURRENT_YEAR\": \"rok\",\n \"SENSING_CURRENT_MONTH\": \"mesiac\",\n \"SENSING_CURRENT_DATE\": \"deň v mesiaci\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"deň v týždni\",\n \"SENSING_CURRENT_HOUR\": \"hod\",\n \"SENSING_CURRENT_MINUTE\": \"min\",\n \"SENSING_CURRENT_SECOND\": \"s\",\n \"SENSING_DAYSSINCE2000\": \"dní od roku 2000\",\n \"SENSING_USERNAME\": \"používateľ\",\n \"SENSING_USERID\": \"užívateľské id\",\n \"SOUND_PLAY\": \"zahraj zvuk %1\",\n \"SOUND_PLAYUNTILDONE\": \"zahraj zvuk %1 až do konca\",\n \"SOUND_STOPALLSOUNDS\": \"zastav všetky zvuky\",\n \"SOUND_SETEFFECTO\": \"nastav efekt %1 na %2\",\n \"SOUND_CHANGEEFFECTBY\": \"zmeň efekt %1 o %2\",\n \"SOUND_CLEAREFFECTS\": \"zruš zvukové efekty\",\n \"SOUND_EFFECTS_PITCH\": \"frekvencia\",\n \"SOUND_EFFECTS_PAN\": \"stereo\",\n \"SOUND_CHANGEVOLUMEBY\": \"zmeň hlasitosť o %1 %\",\n \"SOUND_SETVOLUMETO\": \"nastav hlasitosť na %1% %\",\n \"SOUND_VOLUME\": \"hlasitosť\",\n \"SOUND_RECORD\": \"nahraj...\",\n \"CATEGORY_MOTION\": \"Pohyb\",\n \"CATEGORY_LOOKS\": \"Vzhľad\",\n \"CATEGORY_SOUND\": \"Zvuk\",\n \"CATEGORY_EVENTS\": \"Udalosti\",\n \"CATEGORY_CONTROL\": \"Riadenie\",\n \"CATEGORY_SENSING\": \"Zisťovanie\",\n \"CATEGORY_OPERATORS\": \"Operácie\",\n \"CATEGORY_VARIABLES\": \"Premenné\",\n \"CATEGORY_MYBLOCKS\": \"Nové bloky\",\n \"DUPLICATE\": \"duplikuj\",\n \"DELETE\": \"zruš\",\n \"ADD_COMMENT\": \"pridaj komentár\",\n \"REMOVE_COMMENT\": \"zruš komentár\",\n \"DELETE_BLOCK\": \"zruš blok\",\n \"DELETE_X_BLOCKS\": \"zruš %1 blokov\",\n \"DELETE_ALL_BLOCKS\": \"Naozaj chceš zrušiť %1 blokov?\",\n \"CLEAN_UP\": \"uprac\",\n \"HELP\": \"pomoc\",\n \"UNDO\": \"späť\",\n \"REDO\": \"znovu\",\n \"EDIT_PROCEDURE\": \"uprav\",\n \"SHOW_PROCEDURE_DEFINITION\": \"zobraz definíciu\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Poznámka\",\n \"COLOUR_HUE_LABEL\": \"farba\",\n \"COLOUR_SATURATION_LABEL\": \"sýtosť\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"jas\",\n \"CHANGE_VALUE_TITLE\": \"Zmeň hodnotu:\",\n \"RENAME_VARIABLE\": \"premenuj\",\n \"RENAME_VARIABLE_TITLE\": \"Premenuj všetky výskyty premennej \\\"%1\\\":\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Premenuj premennú\",\n \"NEW_VARIABLE\": \"Nová premenná\",\n \"NEW_VARIABLE_TITLE\": \"Meno premennej:\",\n \"VARIABLE_MODAL_TITLE\": \"Nová premenná\",\n \"VARIABLE_ALREADY_EXISTS\": \"Premenná s menom \\\"%1\\\" už existuje.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Premenná s menom \\\"%1\\\" už existuje pre inú prememnú typu \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Naozaj mám zrušiť %1 výskytov premennej \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Nemôžem zrušiť premennú \\\"%1\\\", pretože je súčasťou definície funkcie \\\"%2\\\".\",\n \"DELETE_VARIABLE\": \"zruš premennú \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Nový blok\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Blok \\\"%1\\\" už existuje.\",\n \"PROCEDURE_DEFAULT_NAME\": \"meno bloku\",\n \"NEW_LIST\": \"Nový zoznam\",\n \"NEW_LIST_TITLE\": \"Meno nového zoznamu:\",\n \"LIST_MODAL_TITLE\": \"Nový zoznam\",\n \"LIST_ALREADY_EXISTS\": \"Zoznam \\\"%1\\\" už existuje.\",\n \"RENAME_LIST_TITLE\": \"Premenuj zoznam \\\"%1\\\" na:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Premenuj zoznam\",\n \"DEFAULT_LIST_ITEM\": \"hodnota\",\n \"DELETE_LIST\": \"zruš zoznam \\\"%1\\\"\",\n \"RENAME_LIST\": \"premenuj zoznam\",\n \"NEW_BROADCAST_MESSAGE\": \"nová správa...\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Meno novej správy:\",\n \"BROADCAST_MODAL_TITLE\": \"Nová správa\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"správa1\"\n};\n\nBlockly.ScratchMsgs.locales[\"sl\"] =\n{\n \"CONTROL_FOREVER\": \"ponavljaj\",\n \"CONTROL_REPEAT\": \"ponovi %1 krat\",\n \"CONTROL_IF\": \"če %1 potem\",\n \"CONTROL_ELSE\": \"sicer\",\n \"CONTROL_STOP\": \"ustavi\",\n \"CONTROL_STOP_ALL\": \"vse\",\n \"CONTROL_STOP_THIS\": \"te ukaze\",\n \"CONTROL_STOP_OTHER\": \"ostale ukaze za to figuro\",\n \"CONTROL_WAIT\": \"počakaj %1 sekund\",\n \"CONTROL_WAITUNTIL\": \"počakaj dokler ni %1\",\n \"CONTROL_REPEATUNTIL\": \"ponavljaj do %1\",\n \"CONTROL_WHILE\": \"dokler %1\",\n \"CONTROL_FOREACH\": \"za vsak %1 v %2\",\n \"CONTROL_STARTASCLONE\": \"ko začnem kot dvojnik\",\n \"CONTROL_CREATECLONEOF\": \"ustvari dvojnika %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"sebe\",\n \"CONTROL_DELETETHISCLONE\": \"zbriši tega dvojnika\",\n \"CONTROL_COUNTER\": \"števec\",\n \"CONTROL_INCRCOUNTER\": \"povečaj števec\",\n \"CONTROL_CLEARCOUNTER\": \"počisti števec\",\n \"CONTROL_ALLATONCE\": \"vse hkrati\",\n \"DATA_SETVARIABLETO\": \"nastavi %1 na %2\",\n \"DATA_CHANGEVARIABLEBY\": \"spremeni %1 za %2\",\n \"DATA_SHOWVARIABLE\": \"pokaži spremenljivko %1\",\n \"DATA_HIDEVARIABLE\": \"skrij spremenljivko %1\",\n \"DATA_ADDTOLIST\": \"dodaj %1 k %2\",\n \"DATA_DELETEOFLIST\": \"zbriši %1 v %2\",\n \"DATA_DELETEALLOFLIST\": \"izbriši vse v %1\",\n \"DATA_INSERTATLIST\": \"vstavi %1 na %2 v %3\",\n \"DATA_REPLACEITEMOFLIST\": \"zamenjaj %1 v %2 z %3\",\n \"DATA_ITEMOFLIST\": \"element %1 v %2\",\n \"DATA_ITEMNUMOFLIST\": \"predmet # od %1 v %2\",\n \"DATA_LENGTHOFLIST\": \"dolžina %1\",\n \"DATA_LISTCONTAINSITEM\": \"Ali %1 vsebuje %2?\",\n \"DATA_SHOWLIST\": \"pokaži seznam %1\",\n \"DATA_HIDELIST\": \"skrij seznam %1\",\n \"DATA_INDEX_ALL\": \"vse\",\n \"DATA_INDEX_LAST\": \"zadnji\",\n \"DATA_INDEX_RANDOM\": \"naključno\",\n \"EVENT_WHENFLAGCLICKED\": \"ko kliknemo na %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"ko kliknemo to figuro\",\n \"EVENT_WHENSTAGECLICKED\": \"ko kliknemo na oder\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"ko se ta figura dotika %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"ko prejmem %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"ko se ozadje zamenja na %1\",\n \"EVENT_WHENGREATERTHAN\": \"ko je %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"štoparica\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"glasnost\",\n \"EVENT_BROADCAST\": \"objavi %1\",\n \"EVENT_BROADCASTANDWAIT\": \"objavi %1 in čakaj\",\n \"EVENT_WHENKEYPRESSED\": \"ko je pritisnjena tipka %1 \",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"presledek\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"puščica levo\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"puščica desno\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"puščica dol\",\n \"EVENT_WHENKEYPRESSED_UP\": \"puščica gor\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"poljubna\",\n \"LOOKS_SAYFORSECS\": \"reci %1 za %2 sekund\",\n \"LOOKS_SAY\": \"reci %1\",\n \"LOOKS_HELLO\": \"Živjo!\",\n \"LOOKS_THINKFORSECS\": \"pomisli %1 za %2 sekund\",\n \"LOOKS_THINK\": \"pomisli %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"pokaži\",\n \"LOOKS_HIDE\": \"skrij\",\n \"LOOKS_HIDEALLSPRITES\": \"skrij vse figure\",\n \"LOOKS_EFFECT_COLOR\": \"barva\",\n \"LOOKS_EFFECT_FISHEYE\": \"ribje oko\",\n \"LOOKS_EFFECT_WHIRL\": \"vrtinec\",\n \"LOOKS_EFFECT_PIXELATE\": \"pikčasto\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaik\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"svetlost\",\n \"LOOKS_EFFECT_GHOST\": \"duh\",\n \"LOOKS_CHANGEEFFECTBY\": \"spremeni učinek %1 za %2\",\n \"LOOKS_SETEFFECTTO\": \"nastavi učinek %1 na %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"odstrani slikovne učinke\",\n \"LOOKS_CHANGESIZEBY\": \"spremeni velikost za %1\",\n \"LOOKS_SETSIZETO\": \"nastavi velikost na %1 %\",\n \"LOOKS_SIZE\": \"velikost\",\n \"LOOKS_CHANGESTRETCHBY\": \"spremeni razteg za %1\",\n \"LOOKS_SETSTRETCHTO\": \"nastavi razteg na %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"zamenjaj videz na %1\",\n \"LOOKS_NEXTCOSTUME\": \"naslednji videz\",\n \"LOOKS_SWITCHBACKDROPTO\": \"zamenjaj ozadje na %1\",\n \"LOOKS_GOTOFRONTBACK\": \"pojdi na %1 plast\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"spredaj\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"zadaj\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"pojdi %1 %2 plasti\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"naprej\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"nazaj\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"ozadje %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"videz %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"število\",\n \"LOOKS_NUMBERNAME_NAME\": \"ime\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"zamenjaj ozadje na %1 in počakaj\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"naslednje ozadje\",\n \"LOOKS_NEXTBACKDROP\": \"naslednje ozadje\",\n \"LOOKS_PREVIOUSBACKDROP\": \"prejšnje ozadje\",\n \"LOOKS_RANDOMBACKDROP\": \"naključno ozadje\",\n \"MOTION_MOVESTEPS\": \"pojdi %1 korakov\",\n \"MOTION_TURNLEFT\": \"obrni se za %1 %2 stopinj\",\n \"MOTION_TURNRIGHT\": \"obrni se za %1 %2 stopinj\",\n \"MOTION_POINTINDIRECTION\": \"obrni se v smer %1\",\n \"MOTION_POINTTOWARDS\": \"obrni se proti %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"kazalcu miške\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"naključna smer\",\n \"MOTION_GOTO\": \"pojdi na %1\",\n \"MOTION_GOTO_POINTER\": \"kazalcu miške\",\n \"MOTION_GOTO_RANDOM\": \"naključno mesto\",\n \"MOTION_GOTOXY\": \"pojdi na x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"drsi %1 sekund do x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"drsi %1 sekund do %2\",\n \"MOTION_GLIDETO_POINTER\": \"kazalca miške\",\n \"MOTION_GLIDETO_RANDOM\": \"naključnega mesta\",\n \"MOTION_CHANGEXBY\": \"spremeni x za %1\",\n \"MOTION_SETX\": \"nastavi x na %1\",\n \"MOTION_CHANGEYBY\": \"spremeni y za %1\",\n \"MOTION_SETY\": \"nastavi y na %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"odbij se, če si na robu\",\n \"MOTION_SETROTATIONSTYLE\": \"Način vrtenja %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"levo-desno\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"ne zasukaj\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"na vse strani\",\n \"MOTION_XPOSITION\": \"položaj x\",\n \"MOTION_YPOSITION\": \"položaj y\",\n \"MOTION_DIRECTION\": \"smer\",\n \"MOTION_SCROLLRIGHT\": \"premik desno %1\",\n \"MOTION_SCROLLUP\": \"premik gor%1\",\n \"MOTION_ALIGNSCENE\": \"poravnaj sceno %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"levo spodaj\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"desno spodaj\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"sredina\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"levo zgoraj\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"desno zgoraj\",\n \"MOTION_XSCROLL\": \"premik v smeri x\",\n \"MOTION_YSCROLL\": \"premik v smeri y\",\n \"MOTION_STAGE_SELECTED\": \"Izbran oder: ni blokov za premikanje\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"naključno število med %1 in %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 in %2\",\n \"OPERATORS_OR\": \"%1 ali %2\",\n \"OPERATORS_NOT\": \"ne %1\",\n \"OPERATORS_JOIN\": \"združi %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"jabolko\",\n \"OPERATORS_JOIN_BANANA\": \"banana\",\n \"OPERATORS_LETTEROF\": \"%1 črka v %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"b\",\n \"OPERATORS_LENGTH\": \"dolžina %1\",\n \"OPERATORS_CONTAINS\": \"%1 vsebuje %2?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"zaokroži %1\",\n \"OPERATORS_MATHOP\": \"%1 od %2\",\n \"OPERATORS_MATHOP_ABS\": \"absolutna vrednost\",\n \"OPERATORS_MATHOP_FLOOR\": \"zaokroženo navzdol\",\n \"OPERATORS_MATHOP_CEILING\": \"zaokroženo navzgor\",\n \"OPERATORS_MATHOP_SQRT\": \"kvadratni koren \",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tg\",\n \"OPERATORS_MATHOP_ASIN\": \"arcsin\",\n \"OPERATORS_MATHOP_ACOS\": \"arccos\",\n \"OPERATORS_MATHOP_ATAN\": \"arctg\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definiraj %1\",\n \"SENSING_TOUCHINGOBJECT\": \"se dotika %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"kazalca miške\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"roba\",\n \"SENSING_TOUCHINGCOLOR\": \"se dotika barve %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"se barva %1 dotika %2?\",\n \"SENSING_DISTANCETO\": \"razdalja do %1\",\n \"SENSING_DISTANCETO_POINTER\": \"kazalca miške\",\n \"SENSING_ASKANDWAIT\": \"vprašaj %1 in počakaj\",\n \"SENSING_ASK_TEXT\": \"Kako ti je ime?\",\n \"SENSING_ANSWER\": \"odgovor\",\n \"SENSING_KEYPRESSED\": \"je pritisnjena tipka %1?\",\n \"SENSING_MOUSEDOWN\": \"je miškin gumb pritisnjen?\",\n \"SENSING_MOUSEX\": \"miškin x\",\n \"SENSING_MOUSEY\": \"miškin y\",\n \"SENSING_SETDRAGMODE\": \"Možnost premika naj bo %1 \",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"možno premikati\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"ne moremo premikati\",\n \"SENSING_LOUDNESS\": \"glasnost\",\n \"SENSING_LOUD\": \"glasno?\",\n \"SENSING_TIMER\": \"štoparica\",\n \"SENSING_RESETTIMER\": \"ponastavi štoparico\",\n \"SENSING_OF\": \"%1 od %2\",\n \"SENSING_OF_XPOSITION\": \"položaj x\",\n \"SENSING_OF_YPOSITION\": \"položaj y\",\n \"SENSING_OF_DIRECTION\": \"smer\",\n \"SENSING_OF_COSTUMENUMBER\": \"videz #\",\n \"SENSING_OF_COSTUMENAME\": \"ime videza\",\n \"SENSING_OF_SIZE\": \"velikost\",\n \"SENSING_OF_VOLUME\": \"glasnost\",\n \"SENSING_OF_BACKDROPNUMBER\": \"ozadje #\",\n \"SENSING_OF_BACKDROPNAME\": \"ime ozadja\",\n \"SENSING_OF_STAGE\": \"Oder\",\n \"SENSING_CURRENT\": \"trenutni %1\",\n \"SENSING_CURRENT_YEAR\": \"leto\",\n \"SENSING_CURRENT_MONTH\": \"mesec\",\n \"SENSING_CURRENT_DATE\": \"datum\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"dan v tednu\",\n \"SENSING_CURRENT_HOUR\": \"ura\",\n \"SENSING_CURRENT_MINUTE\": \"minuta\",\n \"SENSING_CURRENT_SECOND\": \"sekunda\",\n \"SENSING_DAYSSINCE2000\": \"dni od leta 2000\",\n \"SENSING_USERNAME\": \"uporabniško ime\",\n \"SENSING_USERID\": \"uporabnikova številka\",\n \"SOUND_PLAY\": \"predvajaj zvok %1\",\n \"SOUND_PLAYUNTILDONE\": \"predvajaj zvok %1 do konca\",\n \"SOUND_STOPALLSOUNDS\": \"ustavi vse zvoke\",\n \"SOUND_SETEFFECTO\": \"nastavi učinek %1 na %2\",\n \"SOUND_CHANGEEFFECTBY\": \"spremeni učinek %1 za %2\",\n \"SOUND_CLEAREFFECTS\": \"izbriši zvočne učinke\",\n \"SOUND_EFFECTS_PITCH\": \"višina tona\",\n \"SOUND_EFFECTS_PAN\": \"premik levo/desno\",\n \"SOUND_CHANGEVOLUMEBY\": \"spremeni glasnost za %1\",\n \"SOUND_SETVOLUMETO\": \"nastavi glasnost na %1%\",\n \"SOUND_VOLUME\": \"glasnost\",\n \"SOUND_RECORD\": \"posnami...\",\n \"CATEGORY_MOTION\": \"Gibanje\",\n \"CATEGORY_LOOKS\": \"Videzi\",\n \"CATEGORY_SOUND\": \"Zvok\",\n \"CATEGORY_EVENTS\": \"Dogodki\",\n \"CATEGORY_CONTROL\": \"Krmiljenje\",\n \"CATEGORY_SENSING\": \"Zaznavanje\",\n \"CATEGORY_OPERATORS\": \"Operatorji\",\n \"CATEGORY_VARIABLES\": \"Spremenljivke\",\n \"CATEGORY_MYBLOCKS\": \"Moji bloki\",\n \"DUPLICATE\": \"Podvoji\",\n \"DELETE\": \"Izbriši\",\n \"ADD_COMMENT\": \"Dodaj komentar\",\n \"REMOVE_COMMENT\": \"Odstrani komentar\",\n \"DELETE_BLOCK\": \"Izbriši blok\",\n \"DELETE_X_BLOCKS\": \"Izbriši %1 blokov\",\n \"DELETE_ALL_BLOCKS\": \"Naj izbrišem vseh %1 blokov?\",\n \"CLEAN_UP\": \"Počisti bloke\",\n \"HELP\": \"Pomoč\",\n \"UNDO\": \"Razveljavi\",\n \"REDO\": \"Uveljavi\",\n \"EDIT_PROCEDURE\": \"Uredi\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Pojdi na definicijo\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Reci kaj ...\",\n \"COLOUR_HUE_LABEL\": \"Barva\",\n \"COLOUR_SATURATION_LABEL\": \"Nasičenost\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Svetlost\",\n \"CHANGE_VALUE_TITLE\": \"Spremeni vrednost: \",\n \"RENAME_VARIABLE\": \"Preimenuj spremenljivko\",\n \"RENAME_VARIABLE_TITLE\": \"Preimenuj vse spremenljivke \\\"%1\\\" v:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Preimenuj spremenljivko\",\n \"NEW_VARIABLE\": \"Ustvari spremenljivko\",\n \"NEW_VARIABLE_TITLE\": \"Novo ime spremenljivke:\",\n \"VARIABLE_MODAL_TITLE\": \"Nova spremenljivka\",\n \"VARIABLE_ALREADY_EXISTS\": \"Spremenljivka z imenom \\\"%1\\\" že obstaja.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Spremenljivka z imenom \\\"%1\\\" že obstaja in je tipa \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Izbrisati %1 uporab spremenljivke \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Ne morem izbrisati spremenljivke \\\"%1\\\", ker je del definicije funkcije \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Izbriši spremenljivko \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Ustvari blok\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Postopek z imenom \\\"%1\\\" že obstaja\",\n \"PROCEDURE_DEFAULT_NAME\": \"ime bloka\",\n \"NEW_LIST\": \"Ustvari seznam\",\n \"NEW_LIST_TITLE\": \"Novi ime seznama:\",\n \"LIST_MODAL_TITLE\": \"Nov seznam\",\n \"LIST_ALREADY_EXISTS\": \"Seznam z imenom \\\"%1\\\" že obstaja.\",\n \"RENAME_LIST_TITLE\": \"Preimenuj seznam \\\"%1\\\" v:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Preimenuj seznam\",\n \"DEFAULT_LIST_ITEM\": \"stvar\",\n \"DELETE_LIST\": \"Izbriši seznam \\\"%1\\\" \",\n \"RENAME_LIST\": \"Preimenuj seznam\",\n \"NEW_BROADCAST_MESSAGE\": \"Novo sporočilo\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Ime novega sporočila:\",\n \"BROADCAST_MODAL_TITLE\": \"Novo sporočilo\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"sporočilo1\"\n};\n\nBlockly.ScratchMsgs.locales[\"fi\"] =\n{\n \"CONTROL_FOREVER\": \"ikuisesti\",\n \"CONTROL_REPEAT\": \"toista %1 kertaa\",\n \"CONTROL_IF\": \"jos %1, niin\",\n \"CONTROL_ELSE\": \"tai muuten\",\n \"CONTROL_STOP\": \"pysäytä\",\n \"CONTROL_STOP_ALL\": \"kaikki\",\n \"CONTROL_STOP_THIS\": \"tämä koodi\",\n \"CONTROL_STOP_OTHER\": \"hahmon muut koodit\",\n \"CONTROL_WAIT\": \"odota %1 sekuntia\",\n \"CONTROL_WAITUNTIL\": \"odota kunnes %1\",\n \"CONTROL_REPEATUNTIL\": \"toista kunnes %1\",\n \"CONTROL_WHILE\": \"kun %1\",\n \"CONTROL_FOREACH\": \"jokainen %1 joukossa %2\",\n \"CONTROL_STARTASCLONE\": \"kun aloitan kloonina\",\n \"CONTROL_CREATECLONEOF\": \"luo klooni hahmosta %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"minä itse\",\n \"CONTROL_DELETETHISCLONE\": \"poista tämä klooni\",\n \"CONTROL_COUNTER\": \"laskuri\",\n \"CONTROL_INCRCOUNTER\": \"lisäyslaskuri\",\n \"CONTROL_CLEARCOUNTER\": \"nollaa laskuri\",\n \"CONTROL_ALLATONCE\": \"kaikki kerralla\",\n \"DATA_SETVARIABLETO\": \"aseta %1 arvoon %2\",\n \"DATA_CHANGEVARIABLEBY\": \"lisää muuttujaan %1 arvo %2\",\n \"DATA_SHOWVARIABLE\": \"näytä muuttuja %1\",\n \"DATA_HIDEVARIABLE\": \"piilota muuttuja %1\",\n \"DATA_ADDTOLIST\": \"lisää %1 listaan %2\",\n \"DATA_DELETEOFLIST\": \"poista %1 listasta %2\",\n \"DATA_DELETEALLOFLIST\": \"poista kaikki listasta %1\",\n \"DATA_INSERTATLIST\": \"lisää %1 kohtaan %2 listassa %3\",\n \"DATA_REPLACEITEMOFLIST\": \"korvaa listan %2 kohdan %1 arvo arvolla %3\",\n \"DATA_ITEMOFLIST\": \"listan %2 %1. kohde\",\n \"DATA_ITEMNUMOFLIST\": \"kohteen %1 numero listassa %2\",\n \"DATA_LENGTHOFLIST\": \"listan %1 pituus\",\n \"DATA_LISTCONTAINSITEM\": \"%1 sisältää %2?\",\n \"DATA_SHOWLIST\": \"näytä lista %1\",\n \"DATA_HIDELIST\": \"piilota lista %1\",\n \"DATA_INDEX_ALL\": \"kaikki\",\n \"DATA_INDEX_LAST\": \"viimeinen\",\n \"DATA_INDEX_RANDOM\": \"satunnainen\",\n \"EVENT_WHENFLAGCLICKED\": \"kun klikataan %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"kun tätä hahmoa klikataan\",\n \"EVENT_WHENSTAGECLICKED\": \"kun esiintymislavaa klikataan\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"kun tämä hahmo koskettaa %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"kun vastaanotan %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"kun taustaksi vaihtuu %1\",\n \"EVENT_WHENGREATERTHAN\": \"kun %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"ajastin\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"äänentaso\",\n \"EVENT_BROADCAST\": \"lähetä %1\",\n \"EVENT_BROADCASTANDWAIT\": \"lähetä %1 ja odota\",\n \"EVENT_WHENKEYPRESSED\": \"kun painetaan %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"välilyönti\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"nuoli vasemmalle\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"nuoli oikealle\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"nuoli alas\",\n \"EVENT_WHENKEYPRESSED_UP\": \"nuoli ylös\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"mikä tahansa\",\n \"LOOKS_SAYFORSECS\": \"sano %1 %2 sekunnin ajan\",\n \"LOOKS_SAY\": \"sano %1\",\n \"LOOKS_HELLO\": \"Hei!\",\n \"LOOKS_THINKFORSECS\": \"ajattele %1 %2 sekunnin ajan\",\n \"LOOKS_THINK\": \"ajattele %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"näytä\",\n \"LOOKS_HIDE\": \"piilota\",\n \"LOOKS_HIDEALLSPRITES\": \"piilota kaikki hahmot\",\n \"LOOKS_EFFECT_COLOR\": \"väri\",\n \"LOOKS_EFFECT_FISHEYE\": \"kalansilmä\",\n \"LOOKS_EFFECT_WHIRL\": \"pyörre\",\n \"LOOKS_EFFECT_PIXELATE\": \"pikselöi\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaiikki\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"kirkkaus\",\n \"LOOKS_EFFECT_GHOST\": \"haamu\",\n \"LOOKS_CHANGEEFFECTBY\": \"lisää %1 tehostetta arvolla %2\",\n \"LOOKS_SETEFFECTTO\": \"aseta tehoste %1 arvoon %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"poista graafiset tehosteet\",\n \"LOOKS_CHANGESIZEBY\": \"kasvata kokoa arvolla %1\",\n \"LOOKS_SETSIZETO\": \"aseta koko arvoon %1 %\",\n \"LOOKS_SIZE\": \"koko\",\n \"LOOKS_CHANGESTRETCHBY\": \"lisää venytystä arvolla %1\",\n \"LOOKS_SETSTRETCHTO\": \"aseta venytys arvoon %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"vaihda asusteeksi %1\",\n \"LOOKS_NEXTCOSTUME\": \"seuraava asuste\",\n \"LOOKS_SWITCHBACKDROPTO\": \"vaihda taustaksi %1\",\n \"LOOKS_GOTOFRONTBACK\": \"mene %1 alalle\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"etu\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"taka\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"mene %2 tasoa %1\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"eteenpäin\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"taaksepäin\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"tausta %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"asuste %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"luku\",\n \"LOOKS_NUMBERNAME_NAME\": \"nimi\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"vaihda taustaksi %1 ja odota\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"seuraava tausta\",\n \"LOOKS_NEXTBACKDROP\": \"seuraava tausta\",\n \"LOOKS_PREVIOUSBACKDROP\": \"edellinen tausta\",\n \"LOOKS_RANDOMBACKDROP\": \"satunnainen tausta\",\n \"MOTION_MOVESTEPS\": \"liiku %1 askelta\",\n \"MOTION_TURNLEFT\": \"käänny %1 %2 astetta\",\n \"MOTION_TURNRIGHT\": \"käänny %1 %2 astetta\",\n \"MOTION_POINTINDIRECTION\": \"osoita suuntaan %1\",\n \"MOTION_POINTTOWARDS\": \"osoita kohti %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"hiiren osoitin\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"satunnainen suunta\",\n \"MOTION_GOTO\": \"mene sijaintiin %1\",\n \"MOTION_GOTO_POINTER\": \"hiiren osoitin\",\n \"MOTION_GOTO_RANDOM\": \"satunnainen sijainti\",\n \"MOTION_GOTOXY\": \"mene sijaintiin x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"liu'u %1 sekuntia sijaintiin x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"liu'u %1 sekuntia sijaintiin %2\",\n \"MOTION_GLIDETO_POINTER\": \"hiiren osoitin\",\n \"MOTION_GLIDETO_RANDOM\": \"satunnainen sijainti\",\n \"MOTION_CHANGEXBY\": \"lisää x:n arvoon %1\",\n \"MOTION_SETX\": \"aseta x:n arvoksi %1\",\n \"MOTION_CHANGEYBY\": \"lisää y:n arvoon %1\",\n \"MOTION_SETY\": \"aseta y:n arvoksi %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"kimpoa reunasta\",\n \"MOTION_SETROTATIONSTYLE\": \"aseta kiertotyyliksi %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"vasen-oikea\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"älä kierrä\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"joka suuntaan\",\n \"MOTION_XPOSITION\": \"x-sijainti\",\n \"MOTION_YPOSITION\": \"y-sijainti\",\n \"MOTION_DIRECTION\": \"suunta\",\n \"MOTION_SCROLLRIGHT\": \"kierrä oikealle %1\",\n \"MOTION_SCROLLUP\": \"kierrä ylös %1\",\n \"MOTION_ALIGNSCENE\": \"tasaa näkymä %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"alavasen\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"alaoikea\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"keskikohta\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"ylävasen\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"yläoikea\",\n \"MOTION_XSCROLL\": \"x-kierto\",\n \"MOTION_YSCROLL\": \"y-kierto\",\n \"MOTION_STAGE_SELECTED\": \"Esiintymislava valittu: ei liikelohkoja\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"valitse satunnaisluku väliltä %1 – %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 ja %2\",\n \"OPERATORS_OR\": \"%1 tai %2\",\n \"OPERATORS_NOT\": \"ei %1\",\n \"OPERATORS_JOIN\": \"yhdistä %1 ja %2\",\n \"OPERATORS_JOIN_APPLE\": \"omena\",\n \"OPERATORS_JOIN_BANANA\": \"banaani\",\n \"OPERATORS_LETTEROF\": \"%1. kirjain sanasta %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"o\",\n \"OPERATORS_LENGTH\": \"sanan %1 pituus\",\n \"OPERATORS_CONTAINS\": \"%1 sisältää %2?\",\n \"OPERATORS_MOD\": \"lukujen %1 ja %2 jakojäännös\",\n \"OPERATORS_ROUND\": \"pyöristä %1\",\n \"OPERATORS_MATHOP\": \"%1 luvusta %2\",\n \"OPERATORS_MATHOP_ABS\": \"itseisarvo\",\n \"OPERATORS_MATHOP_FLOOR\": \"pyöristä alaspäin\",\n \"OPERATORS_MATHOP_CEILING\": \"pyöristä ylöspäin\",\n \"OPERATORS_MATHOP_SQRT\": \"neliöjuuri\",\n \"OPERATORS_MATHOP_SIN\": \"sini\",\n \"OPERATORS_MATHOP_COS\": \"kosini\",\n \"OPERATORS_MATHOP_TAN\": \"tangentti\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"luonnollinen logaritmi\",\n \"OPERATORS_MATHOP_LOG\": \"10-kantainen logaritmi\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"määrittele %1\",\n \"SENSING_TOUCHINGOBJECT\": \"koskettaako %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"hiiren osoitin\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"reuna\",\n \"SENSING_TOUCHINGCOLOR\": \"koskettaako väriä %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"koskeeko väri %1 väriä %2?\",\n \"SENSING_DISTANCETO\": \"etäisyys kohteeseen %1\",\n \"SENSING_DISTANCETO_POINTER\": \"hiiren osoitin\",\n \"SENSING_ASKANDWAIT\": \"kysy %1 ja odota\",\n \"SENSING_ASK_TEXT\": \"Mikä on nimesi?\",\n \"SENSING_ANSWER\": \"vastaus\",\n \"SENSING_KEYPRESSED\": \"onko näppäin %1 painettu?\",\n \"SENSING_MOUSEDOWN\": \"onko hiiren nappi painettu?\",\n \"SENSING_MOUSEX\": \"hiiren x-sijainti\",\n \"SENSING_MOUSEY\": \"hiiren y-sijainti\",\n \"SENSING_SETDRAGMODE\": \"aseta raahaustilaksi %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"raahaus sallittu\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"raahaus ei sallittu\",\n \"SENSING_LOUDNESS\": \"äänentaso\",\n \"SENSING_LOUD\": \"kova äänentaso?\",\n \"SENSING_TIMER\": \"ajastin\",\n \"SENSING_RESETTIMER\": \"nollaa ajastin\",\n \"SENSING_OF\": \"kohteen %2 %1\",\n \"SENSING_OF_XPOSITION\": \"x-sijainti\",\n \"SENSING_OF_YPOSITION\": \"y-sijainti\",\n \"SENSING_OF_DIRECTION\": \"suunta\",\n \"SENSING_OF_COSTUMENUMBER\": \"asusteen numero\",\n \"SENSING_OF_COSTUMENAME\": \"asusteen nimi\",\n \"SENSING_OF_SIZE\": \"koko\",\n \"SENSING_OF_VOLUME\": \"äänenvoimakkuus\",\n \"SENSING_OF_BACKDROPNUMBER\": \"taustan numero\",\n \"SENSING_OF_BACKDROPNAME\": \"taustan nimi\",\n \"SENSING_OF_STAGE\": \"Esiintymislava\",\n \"SENSING_CURRENT\": \"nykyinen %1\",\n \"SENSING_CURRENT_YEAR\": \"vuosi\",\n \"SENSING_CURRENT_MONTH\": \"kuukausi\",\n \"SENSING_CURRENT_DATE\": \"päiväys\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"viikonpäivä\",\n \"SENSING_CURRENT_HOUR\": \"tunti\",\n \"SENSING_CURRENT_MINUTE\": \"minuutti\",\n \"SENSING_CURRENT_SECOND\": \"sekunti\",\n \"SENSING_DAYSSINCE2000\": \"päiviä vuoden 2000 jälkeen\",\n \"SENSING_USERNAME\": \"käyttäjänimi\",\n \"SENSING_USERID\": \"käyttäjä-id\",\n \"SOUND_PLAY\": \"soita ääni %1\",\n \"SOUND_PLAYUNTILDONE\": \"soita ääni %1 loppuun\",\n \"SOUND_STOPALLSOUNDS\": \"pysäytä kaikki äänet\",\n \"SOUND_SETEFFECTO\": \"aseta tehoste %1 arvoon %2\",\n \"SOUND_CHANGEEFFECTBY\": \" lisää tehosteeseen %1 arvo %2\",\n \"SOUND_CLEAREFFECTS\": \"poista ääniefektit\",\n \"SOUND_EFFECTS_PITCH\": \"sävelkorkeus\",\n \"SOUND_EFFECTS_PAN\": \"panoroi vasen/oikea\",\n \"SOUND_CHANGEVOLUMEBY\": \"lisää äänenvoimakkuutta arvolla %1\",\n \"SOUND_SETVOLUMETO\": \"aseta äänenvoimakkuudeksi %1%\",\n \"SOUND_VOLUME\": \"äänenvoimakkuus\",\n \"SOUND_RECORD\": \"nauhoita...\",\n \"CATEGORY_MOTION\": \"Liike\",\n \"CATEGORY_LOOKS\": \"Ulkonäkö\",\n \"CATEGORY_SOUND\": \"Ääni\",\n \"CATEGORY_EVENTS\": \"Tapahtumat\",\n \"CATEGORY_CONTROL\": \"Ohjaus\",\n \"CATEGORY_SENSING\": \"Tuntoaisti\",\n \"CATEGORY_OPERATORS\": \"Toiminnot\",\n \"CATEGORY_VARIABLES\": \"Muuttujat\",\n \"CATEGORY_MYBLOCKS\": \"Lohkoni\",\n \"DUPLICATE\": \"Kopioi\",\n \"DELETE\": \"Poista\",\n \"ADD_COMMENT\": \"Lisää kommentti\",\n \"REMOVE_COMMENT\": \"Poista kommentti\",\n \"DELETE_BLOCK\": \"Poista lohko\",\n \"DELETE_X_BLOCKS\": \"Poista %1 lohkoa\",\n \"DELETE_ALL_BLOCKS\": \"Poistetaanko kaikki %1 lohkoa?\",\n \"CLEAN_UP\": \"Siivoa lohkot\",\n \"HELP\": \"Apua\",\n \"UNDO\": \"Kumoa\",\n \"REDO\": \"Tee uudelleen\",\n \"EDIT_PROCEDURE\": \"Muokkaa\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Siirry määrittelyyn\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Sano jotakin...\",\n \"COLOUR_HUE_LABEL\": \"Väri\",\n \"COLOUR_SATURATION_LABEL\": \"Värikylläisyys\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Kirkkaus\",\n \"CHANGE_VALUE_TITLE\": \"Vaihda arvo:\",\n \"RENAME_VARIABLE\": \"Nimeä uudelleen muuttuja\",\n \"RENAME_VARIABLE_TITLE\": \"Nimeä uudelleen kaikki \\\"%1\\\" muuttujaa:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Nimeä uudelleen muuttuja\",\n \"NEW_VARIABLE\": \"Tee muuttuja\",\n \"NEW_VARIABLE_TITLE\": \"Uuden muuttujan nimi:\",\n \"VARIABLE_MODAL_TITLE\": \"Uusi muuttuja\",\n \"VARIABLE_ALREADY_EXISTS\": \"\\\"%1\\\"-niminen muuttuja on jo käytössä.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"\\\"%1\\\"-niminen muuttuja on jo käytössä toisella \\\"%2\\\"-tyyppisellä muuttujalla.\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Poistetaanko \\\"%2\\\"-muuttujan %1 käyttökohdetta?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Ei voitu poistaa \\\"%1\\\"-muuttujaa, koska se on osa \\\"%2\\\"-funktion määrittelyä\",\n \"DELETE_VARIABLE\": \"Poista \\\"%1\\\"-muuttuja\",\n \"NEW_PROCEDURE\": \"Tee lohko\",\n \"PROCEDURE_ALREADY_EXISTS\": \"\\\"%1\\\"-niminen aliohjelma on jo käytössä.\",\n \"PROCEDURE_DEFAULT_NAME\": \"lohkon nimi\",\n \"NEW_LIST\": \"Tee lista\",\n \"NEW_LIST_TITLE\": \"Uuden listan nimi:\",\n \"LIST_MODAL_TITLE\": \"Uusi lista\",\n \"LIST_ALREADY_EXISTS\": \"\\\"%1\\\"-niminen lista on jo käytössä.\",\n \"RENAME_LIST_TITLE\": \"Nimeä uudelleen kaikki \\\"%1\\\" listaa:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Nimeä uudelleen lista\",\n \"DEFAULT_LIST_ITEM\": \"asia\",\n \"DELETE_LIST\": \"Poista \\\"%1\\\"-lista\",\n \"RENAME_LIST\": \"Nimeä uudelleen lista\",\n \"NEW_BROADCAST_MESSAGE\": \"Uusi viesti\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Uuden viestin nimi:\",\n \"BROADCAST_MODAL_TITLE\": \"Uusi viesti\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"viesti1\"\n};\n\nBlockly.ScratchMsgs.locales[\"sv\"] =\n{\n \"CONTROL_FOREVER\": \"för alltid\",\n \"CONTROL_REPEAT\": \"repetera %1\",\n \"CONTROL_IF\": \"om %1 då\",\n \"CONTROL_ELSE\": \"annars\",\n \"CONTROL_STOP\": \"stoppa\",\n \"CONTROL_STOP_ALL\": \"alla\",\n \"CONTROL_STOP_THIS\": \"detta skript\",\n \"CONTROL_STOP_OTHER\": \"andra skript i sprajten\",\n \"CONTROL_WAIT\": \"vänta %1 sekunder\",\n \"CONTROL_WAITUNTIL\": \"vänta tills %1\",\n \"CONTROL_REPEATUNTIL\": \"repetera tills %1\",\n \"CONTROL_WHILE\": \"medan %1\",\n \"CONTROL_FOREACH\": \"för varje %1 i %2\",\n \"CONTROL_STARTASCLONE\": \"när jag startar som klon\",\n \"CONTROL_CREATECLONEOF\": \"skapa klon av %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"mig själv\",\n \"CONTROL_DELETETHISCLONE\": \"radera klonen\",\n \"CONTROL_COUNTER\": \"räknare\",\n \"CONTROL_INCRCOUNTER\": \"öka räknare\",\n \"CONTROL_CLEARCOUNTER\": \"nollställ räknare\",\n \"CONTROL_ALLATONCE\": \"alla samtidig\",\n \"DATA_SETVARIABLETO\": \"sätt %1 till %2\",\n \"DATA_CHANGEVARIABLEBY\": \"ändra %1 med %2\",\n \"DATA_SHOWVARIABLE\": \"visa variabel %1\",\n \"DATA_HIDEVARIABLE\": \"göm variabel %1\",\n \"DATA_ADDTOLIST\": \"lägg till %1 i %2\",\n \"DATA_DELETEOFLIST\": \"ta bort %1 från %2\",\n \"DATA_DELETEALLOFLIST\": \"ta bort alla %1\",\n \"DATA_INSERTATLIST\": \"infoga %1 vid %2 i %3\",\n \"DATA_REPLACEITEMOFLIST\": \"ersätt posten %1 i %2 med %3\",\n \"DATA_ITEMOFLIST\": \"post %1 i %2\",\n \"DATA_ITEMNUMOFLIST\": \"post # av %1 i %2\",\n \"DATA_LENGTHOFLIST\": \"längden av %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 innehåller %2\",\n \"DATA_SHOWLIST\": \"visa listan %1\",\n \"DATA_HIDELIST\": \"göm listan %1\",\n \"DATA_INDEX_ALL\": \"alla\",\n \"DATA_INDEX_LAST\": \"sista\",\n \"DATA_INDEX_RANDOM\": \"slumpmässig\",\n \"EVENT_WHENFLAGCLICKED\": \"när %1 klickas på\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"när denna sprajt klickas på\",\n \"EVENT_WHENSTAGECLICKED\": \"när scenen klickas på\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"när denna sprajt rör %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"när jag tar emot %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"när bakgrunden växlar till %1\",\n \"EVENT_WHENGREATERTHAN\": \"när %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"timer\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"ljudstyrka\",\n \"EVENT_BROADCAST\": \"skicka %1\",\n \"EVENT_BROADCASTANDWAIT\": \"skicka %1 och vänta\",\n \"EVENT_WHENKEYPRESSED\": \"när %1 tangenten trycks ned\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"mellanslag\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"vänsterpil\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"högerpil\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"nedåtpil\",\n \"EVENT_WHENKEYPRESSED_UP\": \"uppåtpil\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"någon\",\n \"LOOKS_SAYFORSECS\": \"säg %1 i %2 sekunder\",\n \"LOOKS_SAY\": \"säg %1\",\n \"LOOKS_HELLO\": \"Hej!\",\n \"LOOKS_THINKFORSECS\": \"tänk %1 i %2 sekunder\",\n \"LOOKS_THINK\": \"tänk %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"visa\",\n \"LOOKS_HIDE\": \"göm\",\n \"LOOKS_HIDEALLSPRITES\": \"göm alla sprajtar\",\n \"LOOKS_EFFECT_COLOR\": \"färg \",\n \"LOOKS_EFFECT_FISHEYE\": \"fisheye\",\n \"LOOKS_EFFECT_WHIRL\": \"virvel\",\n \"LOOKS_EFFECT_PIXELATE\": \"pixla\",\n \"LOOKS_EFFECT_MOSAIC\": \"mosaik\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"ljusstyrka\",\n \"LOOKS_EFFECT_GHOST\": \"genomskinlighet\",\n \"LOOKS_CHANGEEFFECTBY\": \"ändra %1 effekten med %2\",\n \"LOOKS_SETEFFECTTO\": \"sätt %1 effekten till %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"ta bort grafisk effekt\",\n \"LOOKS_CHANGESIZEBY\": \"ändra storlek med %1\",\n \"LOOKS_SETSIZETO\": \"sätt storleken till %1 %\",\n \"LOOKS_SIZE\": \"storlek\",\n \"LOOKS_CHANGESTRETCHBY\": \"ändra töjning med %1\",\n \"LOOKS_SETSTRETCHTO\": \"sätt töjning till %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"ändra klädsel till %1\",\n \"LOOKS_NEXTCOSTUME\": \"nästa klädsel\",\n \"LOOKS_SWITCHBACKDROPTO\": \"växla bakgrund till %1\",\n \"LOOKS_GOTOFRONTBACK\": \"gå till %1 lagret\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"översta\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"tillbaka\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"gå %1 %2 lager\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"upp\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"ned\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"bakgrund %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"klädsel %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"nummer\",\n \"LOOKS_NUMBERNAME_NAME\": \"namn \",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"byt bakgrund till %1 och vänta\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"nästa bakgrund\",\n \"LOOKS_NEXTBACKDROP\": \"nästa bakgrund\",\n \"LOOKS_PREVIOUSBACKDROP\": \"föregående bakgrund\",\n \"LOOKS_RANDOMBACKDROP\": \"slumpvis bakgrund\",\n \"MOTION_MOVESTEPS\": \"gå %1 steg\",\n \"MOTION_TURNLEFT\": \"rotera %1 %2 grader\",\n \"MOTION_TURNRIGHT\": \"rotera %1 %2 grader\",\n \"MOTION_POINTINDIRECTION\": \"peka i riktning %1\",\n \"MOTION_POINTTOWARDS\": \"peka mot %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"muspekare \",\n \"MOTION_POINTTOWARDS_RANDOM\": \"slumpmässig riktning\",\n \"MOTION_GOTO\": \"gå till %1\",\n \"MOTION_GOTO_POINTER\": \"muspekare \",\n \"MOTION_GOTO_RANDOM\": \"slumpmässig position\",\n \"MOTION_GOTOXY\": \"gå till x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"glid %1 sek till x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"glid %1 sekunder till %2\",\n \"MOTION_GLIDETO_POINTER\": \"muspekare \",\n \"MOTION_GLIDETO_RANDOM\": \"slumpmässig position\",\n \"MOTION_CHANGEXBY\": \"ändra x med %1\",\n \"MOTION_SETX\": \"sätt x till %1\",\n \"MOTION_CHANGEYBY\": \"ändra y med %1\",\n \"MOTION_SETY\": \"sätt y till %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"om vid kanten, studsa\",\n \"MOTION_SETROTATIONSTYLE\": \"sätt rotationsstil %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"vänster-höger\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"rotera inte\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"rotera\",\n \"MOTION_XPOSITION\": \"x position\",\n \"MOTION_YPOSITION\": \"y position\",\n \"MOTION_DIRECTION\": \"riktning\",\n \"MOTION_SCROLLRIGHT\": \"skrolla höger %1\",\n \"MOTION_SCROLLUP\": \"skrolla upp %1\",\n \"MOTION_ALIGNSCENE\": \"arrangera scen %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"nedre-vänster\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"nedre-höger\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"mitten\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"övre-vänster\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"övre-höger\",\n \"MOTION_XSCROLL\": \"x scroll\",\n \"MOTION_YSCROLL\": \"y scroll\",\n \"MOTION_STAGE_SELECTED\": \"Scen vald: inga rörelseblock\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"slumptal %1 till %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 och %2\",\n \"OPERATORS_OR\": \"%1 eller %2\",\n \"OPERATORS_NOT\": \"inte %1\",\n \"OPERATORS_JOIN\": \"sammanfoga %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"äpple\",\n \"OPERATORS_JOIN_BANANA\": \"banan\",\n \"OPERATORS_LETTEROF\": \"bokstav %1 av %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"ä\",\n \"OPERATORS_LENGTH\": \"längden av %1\",\n \"OPERATORS_CONTAINS\": \"%1 innehåller %2\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"avrunda %1\",\n \"OPERATORS_MATHOP\": \"%1 av %2\",\n \"OPERATORS_MATHOP_ABS\": \"abs\",\n \"OPERATORS_MATHOP_FLOOR\": \"golv\",\n \"OPERATORS_MATHOP_CEILING\": \"tak\",\n \"OPERATORS_MATHOP_SQRT\": \"sqrt\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"definiera %1\",\n \"SENSING_TOUCHINGOBJECT\": \"rör vid %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"muspekare \",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"kant\",\n \"SENSING_TOUCHINGCOLOR\": \"rör vid färgen %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"rör färgen %1 vid %2?\",\n \"SENSING_DISTANCETO\": \"avstånd till %1\",\n \"SENSING_DISTANCETO_POINTER\": \"muspekare \",\n \"SENSING_ASKANDWAIT\": \"fråga %1 och vänta\",\n \"SENSING_ASK_TEXT\": \"Vad heter du?\",\n \"SENSING_ANSWER\": \"svar\",\n \"SENSING_KEYPRESSED\": \"tangent %1 nedtryckt?\",\n \"SENSING_MOUSEDOWN\": \"musknappen nedtryckt?\",\n \"SENSING_MOUSEX\": \"mus x\",\n \"SENSING_MOUSEY\": \"mus y\",\n \"SENSING_SETDRAGMODE\": \"sätt dragläge %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"dragbar\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"inte dragbar\",\n \"SENSING_LOUDNESS\": \"ljudstyrka\",\n \"SENSING_LOUD\": \"högt ljud?\",\n \"SENSING_TIMER\": \"timer\",\n \"SENSING_RESETTIMER\": \"nollställ timer\",\n \"SENSING_OF\": \"%1 av %2\",\n \"SENSING_OF_XPOSITION\": \"x position\",\n \"SENSING_OF_YPOSITION\": \"y position\",\n \"SENSING_OF_DIRECTION\": \"riktning\",\n \"SENSING_OF_COSTUMENUMBER\": \"klädselnummer\",\n \"SENSING_OF_COSTUMENAME\": \"klädselnamn\",\n \"SENSING_OF_SIZE\": \"storlek\",\n \"SENSING_OF_VOLUME\": \"volym \",\n \"SENSING_OF_BACKDROPNUMBER\": \"bakgrundsnummer\",\n \"SENSING_OF_BACKDROPNAME\": \"bakgrundsnamn\",\n \"SENSING_OF_STAGE\": \"Scen\",\n \"SENSING_CURRENT\": \"aktuell %1\",\n \"SENSING_CURRENT_YEAR\": \"år \",\n \"SENSING_CURRENT_MONTH\": \"månad \",\n \"SENSING_CURRENT_DATE\": \"dag \",\n \"SENSING_CURRENT_DAYOFWEEK\": \"veckodag \",\n \"SENSING_CURRENT_HOUR\": \"timmar \",\n \"SENSING_CURRENT_MINUTE\": \"minuter \",\n \"SENSING_CURRENT_SECOND\": \"sekunder \",\n \"SENSING_DAYSSINCE2000\": \"dagar sedan år 2000\",\n \"SENSING_USERNAME\": \"användarnamn \",\n \"SENSING_USERID\": \"användarnamn\",\n \"SOUND_PLAY\": \"starta ljud %1\",\n \"SOUND_PLAYUNTILDONE\": \"spela ljudet %1 tills färdigt\",\n \"SOUND_STOPALLSOUNDS\": \"stoppa alla ljud\",\n \"SOUND_SETEFFECTO\": \"sätt %1 effekten till %2\",\n \"SOUND_CHANGEEFFECTBY\": \"ändra %1 effekten med %2\",\n \"SOUND_CLEAREFFECTS\": \"ta bort ljudeffekter\",\n \"SOUND_EFFECTS_PITCH\": \"tonhöjd\",\n \"SOUND_EFFECTS_PAN\": \"panorera vänster/höger\",\n \"SOUND_CHANGEVOLUMEBY\": \"ändra volymen med %1\",\n \"SOUND_SETVOLUMETO\": \"sätt volymen till %1%\",\n \"SOUND_VOLUME\": \"volym \",\n \"SOUND_RECORD\": \"spela in...\",\n \"CATEGORY_MOTION\": \"Rörelse\",\n \"CATEGORY_LOOKS\": \"Utseende\",\n \"CATEGORY_SOUND\": \"Ljud\",\n \"CATEGORY_EVENTS\": \"Händelser\",\n \"CATEGORY_CONTROL\": \"Kontroll\",\n \"CATEGORY_SENSING\": \"Känna av\",\n \"CATEGORY_OPERATORS\": \"Operatorer\",\n \"CATEGORY_VARIABLES\": \"Variabler\",\n \"CATEGORY_MYBLOCKS\": \"Mina block\",\n \"DUPLICATE\": \"Kopiera\",\n \"DELETE\": \"Radera\",\n \"ADD_COMMENT\": \"Lägg till kommentar\",\n \"REMOVE_COMMENT\": \"Ta bort kommentar\",\n \"DELETE_BLOCK\": \"Ta bort block\",\n \"DELETE_X_BLOCKS\": \"Ta bort %1 block\",\n \"DELETE_ALL_BLOCKS\": \"Ta bort alla %1 block?\",\n \"CLEAN_UP\": \"Rensa block\",\n \"HELP\": \"Hjälp\",\n \"UNDO\": \"Ångra\",\n \"REDO\": \"Gör om\",\n \"EDIT_PROCEDURE\": \"Redigera\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Gå till definition\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Säg något...\",\n \"COLOUR_HUE_LABEL\": \"Färg\",\n \"COLOUR_SATURATION_LABEL\": \"Mättnad\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Ljusstyrka\",\n \"CHANGE_VALUE_TITLE\": \"Ändra värde:\",\n \"RENAME_VARIABLE\": \"Döp om variabeln\",\n \"RENAME_VARIABLE_TITLE\": \"Döp om alla \\\"%1\\\" variabler till:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Döp om variabel\",\n \"NEW_VARIABLE\": \"Skapa en variabel\",\n \"NEW_VARIABLE_TITLE\": \"Nytt variabelnamn:\",\n \"VARIABLE_MODAL_TITLE\": \"Ny variabel\",\n \"VARIABLE_ALREADY_EXISTS\": \"En variabel \\\"%1\\\" finns redan.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"En variabel \\\"%1\\\" finns redan för en annan variabel av typ \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Ta bort %1 användningar av variabeln \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Kan inte ta bort variabel \\\"%1\\\" för att den är en del av definitionen av funktionen \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Ta bort \\\"%1\\\" variabeln\",\n \"NEW_PROCEDURE\": \"Skapa ett Block\",\n \"PROCEDURE_ALREADY_EXISTS\": \"En funktion \\\"%1\\\" finns redan.\",\n \"PROCEDURE_DEFAULT_NAME\": \"blocknamn\",\n \"NEW_LIST\": \"Skapa en lista\",\n \"NEW_LIST_TITLE\": \"Nytt listnamn:\",\n \"LIST_MODAL_TITLE\": \"Ny lista\",\n \"LIST_ALREADY_EXISTS\": \"En lista \\\"%1\\\" finns redan.\",\n \"RENAME_LIST_TITLE\": \"Döp om alla \\\"%1\\\" listor till:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Döp om lista\",\n \"DEFAULT_LIST_ITEM\": \"grej\",\n \"DELETE_LIST\": \"Radera \\\"%1\\\" listan\",\n \"RENAME_LIST\": \"Döp om listan\",\n \"NEW_BROADCAST_MESSAGE\": \"Nytt meddelande\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Nytt namn på meddelande:\",\n \"BROADCAST_MODAL_TITLE\": \"Nytt meddelande\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"meddelande1\"\n};\n\nBlockly.ScratchMsgs.locales[\"vi\"] =\n{\n \"CONTROL_FOREVER\": \"liên tục\",\n \"CONTROL_REPEAT\": \"lặp lại %1\",\n \"CONTROL_IF\": \"nếu %1 thì\",\n \"CONTROL_ELSE\": \"nếu không thì \",\n \"CONTROL_STOP\": \"dừng lại\",\n \"CONTROL_STOP_ALL\": \"tất cả\",\n \"CONTROL_STOP_THIS\": \"kịch bản này\",\n \"CONTROL_STOP_OTHER\": \"các kịch bản khác cho đối tượng \",\n \"CONTROL_WAIT\": \"đợi %1 giây\",\n \"CONTROL_WAITUNTIL\": \"đợi đến khi %1\",\n \"CONTROL_REPEATUNTIL\": \"lặp lại cho đến khi %1\",\n \"CONTROL_WHILE\": \"trong khi %1\",\n \"CONTROL_FOREACH\": \"với mỗi %1 trong %2\",\n \"CONTROL_STARTASCLONE\": \"khi tôi bắt đầu là một bản sao\",\n \"CONTROL_CREATECLONEOF\": \"tạo bản sao của %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"bản thân tôi\",\n \"CONTROL_DELETETHISCLONE\": \"xóa bản sao này\",\n \"CONTROL_COUNTER\": \"bộ đếm\",\n \"CONTROL_INCRCOUNTER\": \"bộ đếm tăng dần\",\n \"CONTROL_CLEARCOUNTER\": \"xóa bộ đếm\",\n \"CONTROL_ALLATONCE\": \"tất cả cùng một lúc\",\n \"DATA_SETVARIABLETO\": \"đặt %1 thành %2\",\n \"DATA_CHANGEVARIABLEBY\": \"thay đổi %1 một lượng %2\",\n \"DATA_SHOWVARIABLE\": \"hiện biến số %1\",\n \"DATA_HIDEVARIABLE\": \"ẩn biến số %1\",\n \"DATA_ADDTOLIST\": \"thêm phần tử %1 vào trong %2\",\n \"DATA_DELETEOFLIST\": \"xóa phần tử thứ %1 của %2\",\n \"DATA_DELETEALLOFLIST\": \"Xóa hết tất cả trong liệt kê %1\",\n \"DATA_INSERTATLIST\": \"thêm phần tử %1 tại vị trí %2 của %3\",\n \"DATA_REPLACEITEMOFLIST\": \"thay thế phần tử thứ %1 của danh sách %2 bằng %3\",\n \"DATA_ITEMOFLIST\": \"phần tử thứ %1 của %2\",\n \"DATA_ITEMNUMOFLIST\": \"phần tử thứ %1 trong tợp hợp %2\",\n \"DATA_LENGTHOFLIST\": \"kích thước của %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 chứa phần tử %2?\",\n \"DATA_SHOWLIST\": \"hiện danh sách %1\",\n \"DATA_HIDELIST\": \"ăn danh sách %1\",\n \"DATA_INDEX_ALL\": \"tất cả\",\n \"DATA_INDEX_LAST\": \"cuối cùng\",\n \"DATA_INDEX_RANDOM\": \"ngẫu nhiên\",\n \"EVENT_WHENFLAGCLICKED\": \"Khi bấm vào %1\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"Khi bấm vào đối tượng này\",\n \"EVENT_WHENSTAGECLICKED\": \"khi bấm vào phông nền\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"Khi đối tượng này chạm vào %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"khi nhận %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"khi phông nền chuyển thành %1\",\n \"EVENT_WHENGREATERTHAN\": \"khi %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"đồng hồ bấm giờ\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"độ ồn\",\n \"EVENT_BROADCAST\": \"phát tin %1\",\n \"EVENT_BROADCASTANDWAIT\": \"phát tin %1 và đợi\",\n \"EVENT_WHENKEYPRESSED\": \"khi bấm phím %1\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"phím trắng\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"mũi tên trái\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"mũi tên phải\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"mũi tên xuống\",\n \"EVENT_WHENKEYPRESSED_UP\": \"mũi tên lên\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"bất kỳ\",\n \"LOOKS_SAYFORSECS\": \"nói %1 trong %2 giây\",\n \"LOOKS_SAY\": \"nói %1\",\n \"LOOKS_HELLO\": \"Xin chào!\",\n \"LOOKS_THINKFORSECS\": \"nghĩ %1 trong %2 giây\",\n \"LOOKS_THINK\": \"nghĩ %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"hiện\",\n \"LOOKS_HIDE\": \"ẩn\",\n \"LOOKS_HIDEALLSPRITES\": \"ẩn tất cả đối tượng\",\n \"LOOKS_EFFECT_COLOR\": \"màu\",\n \"LOOKS_EFFECT_FISHEYE\": \"gương cầu\",\n \"LOOKS_EFFECT_WHIRL\": \"xoay\",\n \"LOOKS_EFFECT_PIXELATE\": \"nhòe\",\n \"LOOKS_EFFECT_MOSAIC\": \"khảm\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"độ sáng\",\n \"LOOKS_EFFECT_GHOST\": \"bóng ma\",\n \"LOOKS_CHANGEEFFECTBY\": \"thay đổi hiệu ứng %1 một lượng %2\",\n \"LOOKS_SETEFFECTTO\": \"thay đổi hiệu ứng %1 bằng %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"bỏ các hiệu ứng đồ họa\",\n \"LOOKS_CHANGESIZEBY\": \"đổi kích thước một lượng %1\",\n \"LOOKS_SETSIZETO\": \"đặt kích thước thành %1 %\",\n \"LOOKS_SIZE\": \"kích thước\",\n \"LOOKS_CHANGESTRETCHBY\": \"đổi kéo căng một lượng %1\",\n \"LOOKS_SETSTRETCHTO\": \"đặt kéo căng thành %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"chuyển sang thiết kế %1\",\n \"LOOKS_NEXTCOSTUME\": \"trang phục kế tiếp\",\n \"LOOKS_SWITCHBACKDROPTO\": \"đổi phông nền thành %1\",\n \"LOOKS_GOTOFRONTBACK\": \"đi tới lớp %1\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"phía trên cùng\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"phía sau cùng\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"đi %1 %2 lớp\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"tới\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"lùi\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"phông nền %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"thiết kế %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"số\",\n \"LOOKS_NUMBERNAME_NAME\": \"tên\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"đổi phông nền thành %1 và đợi\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"phông nền tiếp theo\",\n \"LOOKS_NEXTBACKDROP\": \"phông nền tiếp theo\",\n \"LOOKS_PREVIOUSBACKDROP\": \"phông nền trước\",\n \"LOOKS_RANDOMBACKDROP\": \"phông nền ngẫu nhiên\",\n \"MOTION_MOVESTEPS\": \"di chuyển %1 bước\",\n \"MOTION_TURNLEFT\": \"xoay %1 %2 độ\",\n \"MOTION_TURNRIGHT\": \"xoay %1 %2 độ\",\n \"MOTION_POINTINDIRECTION\": \"hướng về phía %1\",\n \"MOTION_POINTTOWARDS\": \"hướng về vị trí %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"con trỏ chuột\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"random direction\",\n \"MOTION_GOTO\": \"đi tới %1\",\n \"MOTION_GOTO_POINTER\": \"con trỏ chuột\",\n \"MOTION_GOTO_RANDOM\": \"vị trí ngẫu nhiên\",\n \"MOTION_GOTOXY\": \"đi tới điểm x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"lướt trong %1 giây tới điểm x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"lướt trong %1 giây tới %2\",\n \"MOTION_GLIDETO_POINTER\": \"con trỏ chuột\",\n \"MOTION_GLIDETO_RANDOM\": \"vị trí ngẫu nhiên\",\n \"MOTION_CHANGEXBY\": \"thay đổi hoành độ một lượng %1\",\n \"MOTION_SETX\": \"đặt hoàng độ bằng %1\",\n \"MOTION_CHANGEYBY\": \"thay đổi tung độ một lượng%1\",\n \"MOTION_SETY\": \"đặt tung độ bằng %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"nếu tiếp xúc với cạnh, bật lại\",\n \"MOTION_SETROTATIONSTYLE\": \"đặt kiểu xoay %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"trái - phải\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"không xoay\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"xung quanh\",\n \"MOTION_XPOSITION\": \"hoành độ\",\n \"MOTION_YPOSITION\": \"tung độ\",\n \"MOTION_DIRECTION\": \"hướng\",\n \"MOTION_SCROLLRIGHT\": \"cuộn phải %1\",\n \"MOTION_SCROLLUP\": \"cuộn lên %1\",\n \"MOTION_ALIGNSCENE\": \"căn chỉnh phân cảnh %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"góc trái dưới\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"góc phải dưới\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"giữa\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"góc trái trên\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"góc phải trên\",\n \"MOTION_XSCROLL\": \"cuộn x\",\n \"MOTION_YSCROLL\": \"cuộn y\",\n \"MOTION_STAGE_SELECTED\": \"Đã chọn nền: không có khối lập trình chuyển động\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"lấy ngẫu nhiên từ %1 đến %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 và %2\",\n \"OPERATORS_OR\": \"%1 hoặc %2\",\n \"OPERATORS_NOT\": \"không phải %1\",\n \"OPERATORS_JOIN\": \"kết hợp %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"táo\",\n \"OPERATORS_JOIN_BANANA\": \"chuối\",\n \"OPERATORS_LETTEROF\": \"ký tự thứ %1 của chuỗi %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"t\",\n \"OPERATORS_LENGTH\": \"độ dài của %1\",\n \"OPERATORS_CONTAINS\": \"%1 chứa ký tự %2?\",\n \"OPERATORS_MOD\": \"%1 chia lấy dư %2\",\n \"OPERATORS_ROUND\": \"làm tròn %1\",\n \"OPERATORS_MATHOP\": \"%1 của %2\",\n \"OPERATORS_MATHOP_ABS\": \"giá trị tuyệt đối\",\n \"OPERATORS_MATHOP_FLOOR\": \"làm tròn xuống\",\n \"OPERATORS_MATHOP_CEILING\": \"trần\",\n \"OPERATORS_MATHOP_SQRT\": \"căn bậc hai\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"trong\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"định nghĩa %1\",\n \"SENSING_TOUCHINGOBJECT\": \"đang chạm %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"con trỏ chuột\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"cạnh\",\n \"SENSING_TOUCHINGCOLOR\": \"đang chạm màu %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"màu %1 đang chạm %2?\",\n \"SENSING_DISTANCETO\": \"khoảng cách đến %1\",\n \"SENSING_DISTANCETO_POINTER\": \"con trỏ chuột\",\n \"SENSING_ASKANDWAIT\": \"hỏi %1 và đợi\",\n \"SENSING_ASK_TEXT\": \"Tên của bạn là gì?\",\n \"SENSING_ANSWER\": \"trả lời\",\n \"SENSING_KEYPRESSED\": \"phím %1 được bấm?\",\n \"SENSING_MOUSEDOWN\": \"chuột được nhấn?\",\n \"SENSING_MOUSEX\": \"hoành độ con trỏ chuột\",\n \"SENSING_MOUSEY\": \"tung độ con trỏ chuột\",\n \"SENSING_SETDRAGMODE\": \"đặt chế độ kéo %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"kéo thả được\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"không kéo thả được\",\n \"SENSING_LOUDNESS\": \"độ ồn\",\n \"SENSING_LOUD\": \"tiếng to?\",\n \"SENSING_TIMER\": \"đồng hồ bấm giờ\",\n \"SENSING_RESETTIMER\": \"đặt lại đống hồ bấm giờ\",\n \"SENSING_OF\": \"%1 của %2\",\n \"SENSING_OF_XPOSITION\": \"hoành độ\",\n \"SENSING_OF_YPOSITION\": \"tung độ\",\n \"SENSING_OF_DIRECTION\": \"hướng\",\n \"SENSING_OF_COSTUMENUMBER\": \"thiết kế #\",\n \"SENSING_OF_COSTUMENAME\": \"tên thiết kế\",\n \"SENSING_OF_SIZE\": \"kích thước\",\n \"SENSING_OF_VOLUME\": \"âm lượng\",\n \"SENSING_OF_BACKDROPNUMBER\": \"phông nền #\",\n \"SENSING_OF_BACKDROPNAME\": \"tên phông nền\",\n \"SENSING_OF_STAGE\": \"Sân khấu\",\n \"SENSING_CURRENT\": \"%1 hiện tại\",\n \"SENSING_CURRENT_YEAR\": \"năm\",\n \"SENSING_CURRENT_MONTH\": \"tháng\",\n \"SENSING_CURRENT_DATE\": \"ngày\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"ngày trong tuần\",\n \"SENSING_CURRENT_HOUR\": \"giờ\",\n \"SENSING_CURRENT_MINUTE\": \"phút\",\n \"SENSING_CURRENT_SECOND\": \"giây\",\n \"SENSING_DAYSSINCE2000\": \"số ngày từ năm 2000\",\n \"SENSING_USERNAME\": \"tên đăng nhập\",\n \"SENSING_USERID\": \"id người dùng\",\n \"SOUND_PLAY\": \"bắt đầu âm thanh %1\",\n \"SOUND_PLAYUNTILDONE\": \"phát âm thanh %1 đến hết\",\n \"SOUND_STOPALLSOUNDS\": \"ngừng mọi âm thanh\",\n \"SOUND_SETEFFECTO\": \"đặt hiệu ứng %1 thành %2\",\n \"SOUND_CHANGEEFFECTBY\": \"thay đổi hiệu ứng %1 một lượng %2\",\n \"SOUND_CLEAREFFECTS\": \"xóa hiệu ứng âm thanh\",\n \"SOUND_EFFECTS_PITCH\": \"cao độ\",\n \"SOUND_EFFECTS_PAN\": \"pan trái/phải\",\n \"SOUND_CHANGEVOLUMEBY\": \"thay đổi âm lượng một lượng %1\",\n \"SOUND_SETVOLUMETO\": \"đặt âm lượng %1%\",\n \"SOUND_VOLUME\": \"âm lượng\",\n \"SOUND_RECORD\": \"lưu lại...\",\n \"CATEGORY_MOTION\": \"Chuyển động\",\n \"CATEGORY_LOOKS\": \"Hiển thị\",\n \"CATEGORY_SOUND\": \"Âm thanh\",\n \"CATEGORY_EVENTS\": \"Sự kiện\",\n \"CATEGORY_CONTROL\": \"Điều khiển\",\n \"CATEGORY_SENSING\": \"Cảm biến\",\n \"CATEGORY_OPERATORS\": \"Các phép toán\",\n \"CATEGORY_VARIABLES\": \"Các biến số\",\n \"CATEGORY_MYBLOCKS\": \"Khối của tôi\",\n \"DUPLICATE\": \"Nhân bản\",\n \"DELETE\": \"Xóa\",\n \"ADD_COMMENT\": \"Thêm chú thích\",\n \"REMOVE_COMMENT\": \"Xóa chú thích\",\n \"DELETE_BLOCK\": \"Xóa khối\",\n \"DELETE_X_BLOCKS\": \"Xóa %1 khối\",\n \"DELETE_ALL_BLOCKS\": \"Xóa toàn bộ %1 khối?\",\n \"CLEAN_UP\": \"Xóa hết khối\",\n \"HELP\": \"Trợ giúp\",\n \"UNDO\": \"Hoàn tác\",\n \"REDO\": \"Làm lại \",\n \"EDIT_PROCEDURE\": \"Chỉnh sửa\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Tìm định nghĩa\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Nói gì đó...\",\n \"COLOUR_HUE_LABEL\": \"Màu sắc\",\n \"COLOUR_SATURATION_LABEL\": \"Độ bão hòa\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Độ sáng\",\n \"CHANGE_VALUE_TITLE\": \"Thay đổi giá trị:\",\n \"RENAME_VARIABLE\": \"Đặt tên cho biến\",\n \"RENAME_VARIABLE_TITLE\": \"Đặt tên tất cả biến \\\"%1\\\" thành:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Đặt tên biến\",\n \"NEW_VARIABLE\": \"Tạo một biến\",\n \"NEW_VARIABLE_TITLE\": \"Tên biến mới:\",\n \"VARIABLE_MODAL_TITLE\": \"Biến mới\",\n \"VARIABLE_ALREADY_EXISTS\": \"Một biến với tên\\\"%1\\\" đã tồn tại.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Một biến số tên là \\\"%1\\\" đã có ở trong một biến số khác tên \\\"%2\\\"\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Xóa %1 cách dùng của biến số \\\"%2\\\"\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Không thể xóa biến số \\\"%1\\\" tại vì nó là một phần của chức vụ lập trình \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Xóa biến \\\"%1\\\"\",\n \"NEW_PROCEDURE\": \"Tạo một khối\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Một thủ tục có tên \\\"%1\\\" đã tồn tại.\",\n \"PROCEDURE_DEFAULT_NAME\": \"Tên khối\",\n \"NEW_LIST\": \"Tạo một Danh sách\",\n \"NEW_LIST_TITLE\": \"Tên danh sách mới:\",\n \"LIST_MODAL_TITLE\": \"Danh sách mới\",\n \"LIST_ALREADY_EXISTS\": \"Một danh sách có tên \\\"%1\\\" đã tồn tại.\",\n \"RENAME_LIST_TITLE\": \"Đặt tên tất cả danh sách \\\"%1\\\" thành:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Đặt tên danh sách\",\n \"DEFAULT_LIST_ITEM\": \"cụm\",\n \"DELETE_LIST\": \"Delete the \\\"%1\\\" list\",\n \"RENAME_LIST\": \"Rename list\",\n \"NEW_BROADCAST_MESSAGE\": \"Thông báo mới\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Tên thông báo mới:\",\n \"BROADCAST_MODAL_TITLE\": \"Tin nhắn mới\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"tin nhắn 1\"\n};\n\nBlockly.ScratchMsgs.locales[\"tr\"] =\n{\n \"CONTROL_FOREVER\": \"sürekli tekrarla\",\n \"CONTROL_REPEAT\": \"%1 defa tekrarla\",\n \"CONTROL_IF\": \"eğer %1 ise\",\n \"CONTROL_ELSE\": \"değilse\",\n \"CONTROL_STOP\": \"durdur\",\n \"CONTROL_STOP_ALL\": \"tümü\",\n \"CONTROL_STOP_THIS\": \"bu dizi\",\n \"CONTROL_STOP_OTHER\": \"Kukladaki diğer diziler\",\n \"CONTROL_WAIT\": \"%1 saniye bekle\",\n \"CONTROL_WAITUNTIL\": \"%1 olana kadar bekle\",\n \"CONTROL_REPEATUNTIL\": \"%1 olana kadar tekrarla\",\n \"CONTROL_WHILE\": \"%1 olduğu sürece tekrarla\",\n \"CONTROL_FOREACH\": \"%2 deki her %1 için\",\n \"CONTROL_STARTASCLONE\": \"ikiz olarak başladığımda\",\n \"CONTROL_CREATECLONEOF\": \"%1'in ikizini yarat\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"kendim\",\n \"CONTROL_DELETETHISCLONE\": \"bu ikizi sil\",\n \"CONTROL_COUNTER\": \"sayaç\",\n \"CONTROL_INCRCOUNTER\": \"sayacı artır\",\n \"CONTROL_CLEARCOUNTER\": \"sayacı sıfırla\",\n \"CONTROL_ALLATONCE\": \"tümü tek seferde\",\n \"DATA_SETVARIABLETO\": \"%1 i %2 yap\",\n \"DATA_CHANGEVARIABLEBY\": \"%1 i %2 kadar değiştir\",\n \"DATA_SHOWVARIABLE\": \"%1 değişkenini göster\",\n \"DATA_HIDEVARIABLE\": \"%1 değişkenini gizle\",\n \"DATA_ADDTOLIST\": \"%1 i %2 ye ekle\",\n \"DATA_DELETEOFLIST\": \"%2 nin %1 ini sil\",\n \"DATA_DELETEALLOFLIST\": \"%1'in herşeyini sil\",\n \"DATA_INSERTATLIST\": \"%1 i %3 ün %2 pozisyonuna ekle\",\n \"DATA_REPLACEITEMOFLIST\": \"%2 öğesinin %1 öğesini %3 ile değiştir\",\n \"DATA_ITEMOFLIST\": \"%2 nin %1 öğesi\",\n \"DATA_ITEMNUMOFLIST\": \"%2 nin %1 öğesi\",\n \"DATA_LENGTHOFLIST\": \"%1'in uzunluğu\",\n \"DATA_LISTCONTAINSITEM\": \"%1 %2'yi içeriyor mu? \",\n \"DATA_SHOWLIST\": \"%1 listesini göster\",\n \"DATA_HIDELIST\": \"%1 listesini gizle\",\n \"DATA_INDEX_ALL\": \"tümü\",\n \"DATA_INDEX_LAST\": \"son\",\n \"DATA_INDEX_RANDOM\": \"rastgele\",\n \"EVENT_WHENFLAGCLICKED\": \"%1 tıklandığında\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"bu kukla tıklandığında\",\n \"EVENT_WHENSTAGECLICKED\": \"sahne tıklandığında\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"bu kukla %1 e dokunduğunda\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"%1 haberini aldığımda\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"dekor %1 olarak değiştiğinde\",\n \"EVENT_WHENGREATERTHAN\": \"%1 > %2 olduğunda\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"zamanlayıcı\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"ses yüksekliği\",\n \"EVENT_BROADCAST\": \"%1 haberini sal\",\n \"EVENT_BROADCASTANDWAIT\": \"%1 haberini sal ve bekle\",\n \"EVENT_WHENKEYPRESSED\": \"%1 tuşuna basılınca\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"boşluk\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"sol ok\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"sağ ok\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"aşağı ok\",\n \"EVENT_WHENKEYPRESSED_UP\": \"yukarı ok\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"herhangi\",\n \"LOOKS_SAYFORSECS\": \"%2 saniye boyunca %1 de \",\n \"LOOKS_SAY\": \"%1 de\",\n \"LOOKS_HELLO\": \"Merhaba!\",\n \"LOOKS_THINKFORSECS\": \"%2 saniye boyunca %1 diye düşün\",\n \"LOOKS_THINK\": \"%1 diye düşün\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"göster\",\n \"LOOKS_HIDE\": \"gizle\",\n \"LOOKS_HIDEALLSPRITES\": \"tüm kuklaları gizle\",\n \"LOOKS_EFFECT_COLOR\": \"renk\",\n \"LOOKS_EFFECT_FISHEYE\": \"balık gözü\",\n \"LOOKS_EFFECT_WHIRL\": \"fırıl fırıl döndür\",\n \"LOOKS_EFFECT_PIXELATE\": \"benekleştir\",\n \"LOOKS_EFFECT_MOSAIC\": \"mozaik\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"parlaklık\",\n \"LOOKS_EFFECT_GHOST\": \"hayalet\",\n \"LOOKS_CHANGEEFFECTBY\": \"%1 etkisini %2 değiştir\",\n \"LOOKS_SETEFFECTTO\": \"%1 etkisini %2 yap\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"görsel etkileri temizle\",\n \"LOOKS_CHANGESIZEBY\": \"boyutu %1 birim değiştir\",\n \"LOOKS_SETSIZETO\": \"boyutu % %1 yap\",\n \"LOOKS_SIZE\": \"büyüklük\",\n \"LOOKS_CHANGESTRETCHBY\": \"esnekliği %1 kadar değiştir\",\n \"LOOKS_SETSTRETCHTO\": \"esnekliği % %1 olarak ayarla\",\n \"LOOKS_SWITCHCOSTUMETO\": \"%1 kılığına geç\",\n \"LOOKS_NEXTCOSTUME\": \"sonraki kostüm\",\n \"LOOKS_SWITCHBACKDROPTO\": \"%1 dekoruna geç\",\n \"LOOKS_GOTOFRONTBACK\": \"%1 katmanına git\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"ön\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"arka\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%2 katman %1 git\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"ileri\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"geri\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"dekor %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"kostüm %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"sayı\",\n \"LOOKS_NUMBERNAME_NAME\": \"isim\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"%1 dekoruna geç ve bekle\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"sonraki dekor\",\n \"LOOKS_NEXTBACKDROP\": \"sonraki dekor\",\n \"LOOKS_PREVIOUSBACKDROP\": \"önceki dekor\",\n \"LOOKS_RANDOMBACKDROP\": \"Rastgele dekor\",\n \"MOTION_MOVESTEPS\": \"%1 adım git\",\n \"MOTION_TURNLEFT\": \"%1 %2 derece dön\",\n \"MOTION_TURNRIGHT\": \"%1 %2 derece dön\",\n \"MOTION_POINTINDIRECTION\": \"%1 yönüne yönel\",\n \"MOTION_POINTTOWARDS\": \"%1 yönüne doğru yönel\",\n \"MOTION_POINTTOWARDS_POINTER\": \"fare-imleci\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"rastgele yön\",\n \"MOTION_GOTO\": \"%1'e git\",\n \"MOTION_GOTO_POINTER\": \"fare-imleci\",\n \"MOTION_GOTO_RANDOM\": \"rastgele konuma\",\n \"MOTION_GOTOXY\": \"x: %1 y: %2 konumuna git\",\n \"MOTION_GLIDESECSTOXY\": \"%1 sn.de x: %2 y: %3'a git\",\n \"MOTION_GLIDETO\": \"%1 saniyede %2 noktasına git\",\n \"MOTION_GLIDETO_POINTER\": \"fare-imleci\",\n \"MOTION_GLIDETO_RANDOM\": \"rastgele konum\",\n \"MOTION_CHANGEXBY\": \"x konumunu %1 değiştir\",\n \"MOTION_SETX\": \"x konumunu %1 yap\",\n \"MOTION_CHANGEYBY\": \"y konumunu %1 değiştir\",\n \"MOTION_SETY\": \"y konumunu %1 yap\",\n \"MOTION_IFONEDGEBOUNCE\": \"kenara geldiyse sektir\",\n \"MOTION_SETROTATIONSTYLE\": \"dönüş stilini %1 yap\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"sol-sağ\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"döndürme\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"tüm yönlere\",\n \"MOTION_XPOSITION\": \"x konumu\",\n \"MOTION_YPOSITION\": \"y konumu\",\n \"MOTION_DIRECTION\": \"yön\",\n \"MOTION_SCROLLRIGHT\": \"sağa %1 kaydır\",\n \"MOTION_SCROLLUP\": \"yukarı %1 kaydır\",\n \"MOTION_ALIGNSCENE\": \"%1 sahnesini hizala\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"sol-alt\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"sağ-alt\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"orta\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"sol-üst\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"sağ-üst\",\n \"MOTION_XSCROLL\": \"x ekseninde kaydır\",\n \"MOTION_YSCROLL\": \"y ekseninde kaydır\",\n \"MOTION_STAGE_SELECTED\": \"Sahne seçildi: Hareket blokları yok\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"%1 ile %2 arasında rastgele sayı seç\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 ve %2\",\n \"OPERATORS_OR\": \"%1 veya %2\",\n \"OPERATORS_NOT\": \"%1 değil\",\n \"OPERATORS_JOIN\": \"%1 ve %2'i birleştir\",\n \"OPERATORS_JOIN_APPLE\": \"elma\",\n \"OPERATORS_JOIN_BANANA\": \"muz\",\n \"OPERATORS_LETTEROF\": \"%2 in %1. harfi\",\n \"OPERATORS_LETTEROF_APPLE\": \"bir\",\n \"OPERATORS_LENGTH\": \"%1'in uzunluğu\",\n \"OPERATORS_CONTAINS\": \"%1 %2'i içeriyor mu?\",\n \"OPERATORS_MOD\": \"%1 mod %2\",\n \"OPERATORS_ROUND\": \"%1'i yuvarla\",\n \"OPERATORS_MATHOP\": \"%2 nin %1 i\",\n \"OPERATORS_MATHOP_ABS\": \"mutlak değer\",\n \"OPERATORS_MATHOP_FLOOR\": \"aşağı yuvarla\",\n \"OPERATORS_MATHOP_CEILING\": \"yukarı yuvarla\",\n \"OPERATORS_MATHOP_SQRT\": \"karekök\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"%1 tanımla\",\n \"SENSING_TOUCHINGOBJECT\": \"%1 değiyor mu?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"fare-imlecine\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"kenara\",\n \"SENSING_TOUCHINGCOLOR\": \"%1 rengine dokunuyor mu?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"%1 rengi %2 rengine değiyor mu?\",\n \"SENSING_DISTANCETO\": \"%1'e mesafe\",\n \"SENSING_DISTANCETO_POINTER\": \"fare-imleci\",\n \"SENSING_ASKANDWAIT\": \"%1 diye sor ve bekle\",\n \"SENSING_ASK_TEXT\": \"Adın ne?\",\n \"SENSING_ANSWER\": \"cevap\",\n \"SENSING_KEYPRESSED\": \"%1 tuşuna basıldı mı?\",\n \"SENSING_MOUSEDOWN\": \"fareye basılı mı?\",\n \"SENSING_MOUSEX\": \"farenin x'i\",\n \"SENSING_MOUSEY\": \"farenin y'si\",\n \"SENSING_SETDRAGMODE\": \"sürükleme modunu %1 yap\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"sürüklenebilir\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"sürüklenmez\",\n \"SENSING_LOUDNESS\": \"ses yüksekliği\",\n \"SENSING_LOUD\": \"yüksek ses?\",\n \"SENSING_TIMER\": \"zamanlayıcı\",\n \"SENSING_RESETTIMER\": \"zamanlayıcıyı sıfırla\",\n \"SENSING_OF\": \"%2 nin %1 i\",\n \"SENSING_OF_XPOSITION\": \"x konumu\",\n \"SENSING_OF_YPOSITION\": \"y konumu\",\n \"SENSING_OF_DIRECTION\": \"yön\",\n \"SENSING_OF_COSTUMENUMBER\": \"kostüm #\",\n \"SENSING_OF_COSTUMENAME\": \"kostüm ismi\",\n \"SENSING_OF_SIZE\": \"büyüklük\",\n \"SENSING_OF_VOLUME\": \"ses düzeyi\",\n \"SENSING_OF_BACKDROPNUMBER\": \"dekor #\",\n \"SENSING_OF_BACKDROPNAME\": \"dekorun adı\",\n \"SENSING_OF_STAGE\": \"Sahne\",\n \"SENSING_CURRENT\": \"şimdiki %1\",\n \"SENSING_CURRENT_YEAR\": \"yıl\",\n \"SENSING_CURRENT_MONTH\": \"ay\",\n \"SENSING_CURRENT_DATE\": \"tarih\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"haftanın günü\",\n \"SENSING_CURRENT_HOUR\": \"saat\",\n \"SENSING_CURRENT_MINUTE\": \"dakika\",\n \"SENSING_CURRENT_SECOND\": \"saniye\",\n \"SENSING_DAYSSINCE2000\": \"2000 yılından beri geçen gün\",\n \"SENSING_USERNAME\": \"kullanıcı adı\",\n \"SENSING_USERID\": \"kullanıcı kimliği\",\n \"SOUND_PLAY\": \"%1 sesini başlat\",\n \"SOUND_PLAYUNTILDONE\": \"%1 sesini bitene kadar çal\",\n \"SOUND_STOPALLSOUNDS\": \"tüm sesleri durdur\",\n \"SOUND_SETEFFECTO\": \"%1 etkisini %2 yap\",\n \"SOUND_CHANGEEFFECTBY\": \"%1 etkisini %2 değiştir\",\n \"SOUND_CLEAREFFECTS\": \"ses etkilerini temizle\",\n \"SOUND_EFFECTS_PITCH\": \"ses perdesi\",\n \"SOUND_EFFECTS_PAN\": \"sağa-sola kaydır\",\n \"SOUND_CHANGEVOLUMEBY\": \"ses düzeyini %1 değiştir\",\n \"SOUND_SETVOLUMETO\": \"ses düzeyini %1% yap\",\n \"SOUND_VOLUME\": \"ses düzeyi\",\n \"SOUND_RECORD\": \"kaydet...\",\n \"CATEGORY_MOTION\": \"Hareket\",\n \"CATEGORY_LOOKS\": \"Görünüm\",\n \"CATEGORY_SOUND\": \"Ses\",\n \"CATEGORY_EVENTS\": \"Olaylar\",\n \"CATEGORY_CONTROL\": \"Kontrol\",\n \"CATEGORY_SENSING\": \"Algılama\",\n \"CATEGORY_OPERATORS\": \"Operatörler\",\n \"CATEGORY_VARIABLES\": \"Değişkenler\",\n \"CATEGORY_MYBLOCKS\": \"Bloklarım\",\n \"DUPLICATE\": \"Kopyasını çıkart\",\n \"DELETE\": \"Sil\",\n \"ADD_COMMENT\": \"Yorum Ekle\",\n \"REMOVE_COMMENT\": \"Yorumu Sil\",\n \"DELETE_BLOCK\": \"Bloğu Sil\",\n \"DELETE_X_BLOCKS\": \"%1 Bloklarını Sil\",\n \"DELETE_ALL_BLOCKS\": \"Tüm %1 blokları silinsin mi?\",\n \"CLEAN_UP\": \"Blokları temizle\",\n \"HELP\": \"Yardım\",\n \"UNDO\": \"Geri Al\",\n \"REDO\": \"İleri Al\",\n \"EDIT_PROCEDURE\": \"Düzenle\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Tanımlamaya git\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Birşey söyle...\",\n \"COLOUR_HUE_LABEL\": \"Renk\",\n \"COLOUR_SATURATION_LABEL\": \"Doygunluk\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Parlaklık\",\n \"CHANGE_VALUE_TITLE\": \"Değeri değiştir:\",\n \"RENAME_VARIABLE\": \"Değişkeni yeniden adlandır\",\n \"RENAME_VARIABLE_TITLE\": \"Tüm \\\"%1\\\" değişkenlerini şununla adlandır:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Değişkeni Yeniden Adlandır\",\n \"NEW_VARIABLE\": \"Bir Değişken Oluştur\",\n \"NEW_VARIABLE_TITLE\": \"Yeni değişken adı:\",\n \"VARIABLE_MODAL_TITLE\": \"Yeni Değişken\",\n \"VARIABLE_ALREADY_EXISTS\": \"\\\"%1\\\" adlı değişken zaten var.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"\\\"%1\\\" adlı değişken \\\"%2\\\" tipinde zaten var.\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"%2 değişkeninin %1 kullanımı silinsin mi?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"\\\"%1\\\" değişkenini \\\"%2\\\" fonksiyonunun bir parçası olduğundan dolayı silinemez\",\n \"DELETE_VARIABLE\": \"\\\"%1\\\" değişkenini sil\",\n \"NEW_PROCEDURE\": \"Bir Blok Oluştur\",\n \"PROCEDURE_ALREADY_EXISTS\": \"\\\"%1\\\" adlı prosedür zaten var.\",\n \"PROCEDURE_DEFAULT_NAME\": \"blok adı\",\n \"NEW_LIST\": \"Bir Liste Oluştur\",\n \"NEW_LIST_TITLE\": \"Yeni liste adı:\",\n \"LIST_MODAL_TITLE\": \"Yeni Liste\",\n \"LIST_ALREADY_EXISTS\": \"'%1' adlı liste mevcuttur\",\n \"RENAME_LIST_TITLE\": \"Tüm \\\"%1\\\" listesini şöyle adlandır:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Listeyi Yeniden Adlandır\",\n \"DEFAULT_LIST_ITEM\": \"şey\",\n \"DELETE_LIST\": \"\\\"%1\\\" listesini sil\",\n \"RENAME_LIST\": \"Listeyi yeniden adlandır\",\n \"NEW_BROADCAST_MESSAGE\": \"Yeni haber\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Yeni haber adı:\",\n \"BROADCAST_MODAL_TITLE\": \"Yeni Haber\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"haber1\"\n};\n\nBlockly.ScratchMsgs.locales[\"uk\"] =\n{\n \"CONTROL_FOREVER\": \"завжди\",\n \"CONTROL_REPEAT\": \"повторити %1\",\n \"CONTROL_IF\": \"якщо %1 то\",\n \"CONTROL_ELSE\": \"інакше\",\n \"CONTROL_STOP\": \"зупинити\",\n \"CONTROL_STOP_ALL\": \"все\",\n \"CONTROL_STOP_THIS\": \"цей скрипт\",\n \"CONTROL_STOP_OTHER\": \"інші скрипти цього спрайту\",\n \"CONTROL_WAIT\": \"чекати %1 секунд\",\n \"CONTROL_WAITUNTIL\": \"чекати поки %1\",\n \"CONTROL_REPEATUNTIL\": \"повторити до %1\",\n \"CONTROL_WHILE\": \"поки %1\",\n \"CONTROL_FOREACH\": \"для кожного %1 в %2\",\n \"CONTROL_STARTASCLONE\": \"коли я починаю як клон\",\n \"CONTROL_CREATECLONEOF\": \"створити клон з %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"myself\",\n \"CONTROL_DELETETHISCLONE\": \"вилучити цей клон\",\n \"CONTROL_COUNTER\": \"лічильник\",\n \"CONTROL_INCRCOUNTER\": \"збільшити лічильник\",\n \"CONTROL_CLEARCOUNTER\": \"очистити лічильник\",\n \"CONTROL_ALLATONCE\": \"всі одночасно\",\n \"DATA_SETVARIABLETO\": \"надати %1 значення %2\",\n \"DATA_CHANGEVARIABLEBY\": \"змінити %1 на %2\",\n \"DATA_SHOWVARIABLE\": \"показати змінну %1\",\n \"DATA_HIDEVARIABLE\": \"сховати змінну %1\",\n \"DATA_ADDTOLIST\": \"додати %1 до %2\",\n \"DATA_DELETEOFLIST\": \"вилучити %1 з %2\",\n \"DATA_DELETEALLOFLIST\": \"вилучити все з %1\",\n \"DATA_INSERTATLIST\": \"вставити %1 на місці %2 списку %3\",\n \"DATA_REPLACEITEMOFLIST\": \"замінити елемент %1 в %2 на %3\",\n \"DATA_ITEMOFLIST\": \"елемент %1 з %2\",\n \"DATA_ITEMNUMOFLIST\": \"елемент # %1 з %2\",\n \"DATA_LENGTHOFLIST\": \"довжина %1\",\n \"DATA_LISTCONTAINSITEM\": \"%1 містить %2?\",\n \"DATA_SHOWLIST\": \"показати список %1\",\n \"DATA_HIDELIST\": \"сховати список %1\",\n \"DATA_INDEX_ALL\": \"все\",\n \"DATA_INDEX_LAST\": \"останні\",\n \"DATA_INDEX_RANDOM\": \"випадково\",\n \"EVENT_WHENFLAGCLICKED\": \"коли %1 натиснуто\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"коли спрайт натиснуто\",\n \"EVENT_WHENSTAGECLICKED\": \"коли сцену натиснуто\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"коли цей спрайт торкнеться %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"коли я отримую %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"коли тло зміниться на %1\",\n \"EVENT_WHENGREATERTHAN\": \"коли %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"таймер\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"гучність\",\n \"EVENT_BROADCAST\": \"оповістити %1\",\n \"EVENT_BROADCASTANDWAIT\": \"оповістити %1 і чекати\",\n \"EVENT_WHENKEYPRESSED\": \"коли клавішу %1 натиснуто \",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"пропуск\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"стрілка ліворуч\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"стрілка праворуч\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"стрілка вниз\",\n \"EVENT_WHENKEYPRESSED_UP\": \"стрілка вгору\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"будь-яка\",\n \"LOOKS_SAYFORSECS\": \"говорити %1 %2 сек\",\n \"LOOKS_SAY\": \"говорити %1\",\n \"LOOKS_HELLO\": \"Привіт!\",\n \"LOOKS_THINKFORSECS\": \"подумати %1 %2 сек\",\n \"LOOKS_THINK\": \"подумати %1\",\n \"LOOKS_HMM\": \"Хмм...\",\n \"LOOKS_SHOW\": \"показати\",\n \"LOOKS_HIDE\": \"сховати\",\n \"LOOKS_HIDEALLSPRITES\": \"сховати усі спрайти\",\n \"LOOKS_EFFECT_COLOR\": \"колір\",\n \"LOOKS_EFFECT_FISHEYE\": \"роздуття\",\n \"LOOKS_EFFECT_WHIRL\": \"закручування\",\n \"LOOKS_EFFECT_PIXELATE\": \"пікселями\",\n \"LOOKS_EFFECT_MOSAIC\": \"мозаїка\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"яскравість\",\n \"LOOKS_EFFECT_GHOST\": \"привид\",\n \"LOOKS_CHANGEEFFECTBY\": \"змінити ефект %1 на %2\",\n \"LOOKS_SETEFFECTTO\": \"встановити ефект %1 в %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"очистити графічні ефекти\",\n \"LOOKS_CHANGESIZEBY\": \"змінити розмір на %1\",\n \"LOOKS_SETSIZETO\": \"задати розмір %1\",\n \"LOOKS_SIZE\": \"розмір\",\n \"LOOKS_CHANGESTRETCHBY\": \"змінити розтяг на %1\",\n \"LOOKS_SETSTRETCHTO\": \"задати розтяг %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"змінити образ на %1\",\n \"LOOKS_NEXTCOSTUME\": \"наступний образ\",\n \"LOOKS_SWITCHBACKDROPTO\": \"змінити тло на %1\",\n \"LOOKS_GOTOFRONTBACK\": \"помістити на %1 план\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"передній\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"задній\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"перемістити %1 на %2 шар\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"вперед\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"назад\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"тло %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"образ %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"номер\",\n \"LOOKS_NUMBERNAME_NAME\": \"назва\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"змінити тло на %1 та чекати\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"наступне тло\",\n \"LOOKS_NEXTBACKDROP\": \"наступне тло\",\n \"LOOKS_PREVIOUSBACKDROP\": \"попереднє тло\",\n \"LOOKS_RANDOMBACKDROP\": \"випадкове тло\",\n \"MOTION_MOVESTEPS\": \"перемістити на %1 кроків\",\n \"MOTION_TURNLEFT\": \"поворот %1 на %2 градусів\",\n \"MOTION_TURNRIGHT\": \"поворот %1 на %2 градусів\",\n \"MOTION_POINTINDIRECTION\": \"повернути в напрямку %1\",\n \"MOTION_POINTTOWARDS\": \"слідувати за %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"вказівник\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"випадковий напрям\",\n \"MOTION_GOTO\": \"перейти до %1\",\n \"MOTION_GOTO_POINTER\": \"вказівник\",\n \"MOTION_GOTO_RANDOM\": \"випадкова позиція\",\n \"MOTION_GOTOXY\": \"перемістити в x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"ковзати %1 сек до x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"ковзати %1 сек до %2\",\n \"MOTION_GLIDETO_POINTER\": \"вказівник\",\n \"MOTION_GLIDETO_RANDOM\": \"випадкова позиція\",\n \"MOTION_CHANGEXBY\": \"змінити x на %1\",\n \"MOTION_SETX\": \"задати x %1\",\n \"MOTION_CHANGEYBY\": \"змінити y на %1\",\n \"MOTION_SETY\": \"задати y %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"якщо на межі, відбити\",\n \"MOTION_SETROTATIONSTYLE\": \"стиль обертання %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"зліва-направо\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"не обертати\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"навколо\",\n \"MOTION_XPOSITION\": \"значення x\",\n \"MOTION_YPOSITION\": \"значення y\",\n \"MOTION_DIRECTION\": \"напрям\",\n \"MOTION_SCROLLRIGHT\": \"прокрутити праворуч %1\",\n \"MOTION_SCROLLUP\": \"прокрутити вгору %1\",\n \"MOTION_ALIGNSCENE\": \"вирівняти сцену %1\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"внизу-ліворуч\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"вниз-праворуч\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"посередині\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"зверху-ліворуч\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"зверху-праворуч\",\n \"MOTION_XSCROLL\": \"x прокрутка\",\n \"MOTION_YSCROLL\": \"y прокрутка\",\n \"MOTION_STAGE_SELECTED\": \"Обрано Сцену: немає блоків руху\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"випадкове від %1 до %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 і %2\",\n \"OPERATORS_OR\": \"%1 або %2\",\n \"OPERATORS_NOT\": \"не %1\",\n \"OPERATORS_JOIN\": \"з'єднати %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"яблуко\",\n \"OPERATORS_JOIN_BANANA\": \"банан\",\n \"OPERATORS_LETTEROF\": \"символ %1 у %2\",\n \"OPERATORS_LETTEROF_APPLE\": \"я\",\n \"OPERATORS_LENGTH\": \"довжина %1\",\n \"OPERATORS_CONTAINS\": \"%1 містить %2?\",\n \"OPERATORS_MOD\": \"остача %1 на %2\",\n \"OPERATORS_ROUND\": \"округлити %1\",\n \"OPERATORS_MATHOP\": \"%1 з %2\",\n \"OPERATORS_MATHOP_ABS\": \"abs\",\n \"OPERATORS_MATHOP_FLOOR\": \"менше ціле\",\n \"OPERATORS_MATHOP_CEILING\": \"більше ціле\",\n \"OPERATORS_MATHOP_SQRT\": \"sqrt\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"визначити %1\",\n \"SENSING_TOUCHINGOBJECT\": \"торкається %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"вказівник\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"межа\",\n \"SENSING_TOUCHINGCOLOR\": \"торкається кольору %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"колір %1 торкається %2?\",\n \"SENSING_DISTANCETO\": \"відстань до %1\",\n \"SENSING_DISTANCETO_POINTER\": \"вказівник\",\n \"SENSING_ASKANDWAIT\": \"запитати %1 і чекати\",\n \"SENSING_ASK_TEXT\": \"Як вас звати?\",\n \"SENSING_ANSWER\": \"відповідь\",\n \"SENSING_KEYPRESSED\": \"клавішу %1 натиснуто?\",\n \"SENSING_MOUSEDOWN\": \"мишку натиснуто?\",\n \"SENSING_MOUSEX\": \"мишка x\",\n \"SENSING_MOUSEY\": \"мишка y\",\n \"SENSING_SETDRAGMODE\": \"перетягувати %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"дозволено\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"не дозволено\",\n \"SENSING_LOUDNESS\": \"гучність\",\n \"SENSING_LOUD\": \"гучно?\",\n \"SENSING_TIMER\": \"таймер\",\n \"SENSING_RESETTIMER\": \"перезапустити таймер\",\n \"SENSING_OF\": \"%1 з %2\",\n \"SENSING_OF_XPOSITION\": \"значення x\",\n \"SENSING_OF_YPOSITION\": \"значення y\",\n \"SENSING_OF_DIRECTION\": \"напрям\",\n \"SENSING_OF_COSTUMENUMBER\": \"образ #\",\n \"SENSING_OF_COSTUMENAME\": \"ім’я образу\",\n \"SENSING_OF_SIZE\": \"розмір\",\n \"SENSING_OF_VOLUME\": \"гучність\",\n \"SENSING_OF_BACKDROPNUMBER\": \"тло #\",\n \"SENSING_OF_BACKDROPNAME\": \"ім’я тла\",\n \"SENSING_OF_STAGE\": \"Сцена\",\n \"SENSING_CURRENT\": \"сьогодні %1\",\n \"SENSING_CURRENT_YEAR\": \"рік\",\n \"SENSING_CURRENT_MONTH\": \"місяць\",\n \"SENSING_CURRENT_DATE\": \"дата\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"день тижня\",\n \"SENSING_CURRENT_HOUR\": \"година\",\n \"SENSING_CURRENT_MINUTE\": \"хвилина \",\n \"SENSING_CURRENT_SECOND\": \"секунда\",\n \"SENSING_DAYSSINCE2000\": \"днів після 2000\",\n \"SENSING_USERNAME\": \"користувач\",\n \"SENSING_USERID\": \"користувач ID\",\n \"SOUND_PLAY\": \"відтворити звук %1\",\n \"SOUND_PLAYUNTILDONE\": \"відтворити звук %1 до кінця\",\n \"SOUND_STOPALLSOUNDS\": \"зупинити всі звуки\",\n \"SOUND_SETEFFECTO\": \"встановити ефект %1 в %2\",\n \"SOUND_CHANGEEFFECTBY\": \"змінити ефект %1 на %2\",\n \"SOUND_CLEAREFFECTS\": \"очистити звукові ефекти\",\n \"SOUND_EFFECTS_PITCH\": \"висота\",\n \"SOUND_EFFECTS_PAN\": \"панорама\",\n \"SOUND_CHANGEVOLUMEBY\": \"змінити гучність на %1\",\n \"SOUND_SETVOLUMETO\": \"встановити гучність %1%\",\n \"SOUND_VOLUME\": \"гучність\",\n \"SOUND_RECORD\": \"запис...\",\n \"CATEGORY_MOTION\": \"Рух\",\n \"CATEGORY_LOOKS\": \"Вигляд\",\n \"CATEGORY_SOUND\": \"Звук\",\n \"CATEGORY_EVENTS\": \"Події\",\n \"CATEGORY_CONTROL\": \"Керування\",\n \"CATEGORY_SENSING\": \"Датчики\",\n \"CATEGORY_OPERATORS\": \"Оператори\",\n \"CATEGORY_VARIABLES\": \"Змінні\",\n \"CATEGORY_MYBLOCKS\": \"Мої блоки\",\n \"DUPLICATE\": \"Дублювати\",\n \"DELETE\": \"Вилучити\",\n \"ADD_COMMENT\": \"Додати коментар\",\n \"REMOVE_COMMENT\": \"Вилучити коментар\",\n \"DELETE_BLOCK\": \"Вилучити блок\",\n \"DELETE_X_BLOCKS\": \"Вилучити %1 блоки\",\n \"DELETE_ALL_BLOCKS\": \"Вилучити всі %1 блоки?\",\n \"CLEAN_UP\": \"Впорядкувати блоки\",\n \"HELP\": \"Допомога\",\n \"UNDO\": \"Скасувати\",\n \"REDO\": \"Повернути\",\n \"EDIT_PROCEDURE\": \"Правка\",\n \"SHOW_PROCEDURE_DEFINITION\": \"Перейти до визначення\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"Скажіть щось...\",\n \"COLOUR_HUE_LABEL\": \"Колір\",\n \"COLOUR_SATURATION_LABEL\": \"Насиченість\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"Яскравість\",\n \"CHANGE_VALUE_TITLE\": \"Змінити значення:\",\n \"RENAME_VARIABLE\": \"Перейменувати змінну\",\n \"RENAME_VARIABLE_TITLE\": \"Перейменувати усі \\\"%1\\\" змінні на:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"Перейменувати змінну\",\n \"NEW_VARIABLE\": \"Створити змінну\",\n \"NEW_VARIABLE_TITLE\": \"Нове ім'я змінної:\",\n \"VARIABLE_MODAL_TITLE\": \"Нова змінна\",\n \"VARIABLE_ALREADY_EXISTS\": \"Змінна з іменем \\\"%1\\\" вже існує.\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"Ім'я змінної \\\"%1\\\" вже використано для змінної з типом \\\"%2\\\".\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"Вилучити %1 використання змінної \\\"%2\\\"?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"Не можна вилучити змінну \\\"%1\\\" оскільки вона визначена у функції \\\"%2\\\"\",\n \"DELETE_VARIABLE\": \"Вилучити змінну '%1'\",\n \"NEW_PROCEDURE\": \"Створити блок\",\n \"PROCEDURE_ALREADY_EXISTS\": \"Процедура з іменем '%1' вже існує\",\n \"PROCEDURE_DEFAULT_NAME\": \"назва блоку\",\n \"NEW_LIST\": \"Створити список\",\n \"NEW_LIST_TITLE\": \"Нове ім’я списку:\",\n \"LIST_MODAL_TITLE\": \"Новий список\",\n \"LIST_ALREADY_EXISTS\": \"Список з іменем '%1' вже існує\",\n \"RENAME_LIST_TITLE\": \"Перейменувати усі списки \\\"%1\\\" на:\",\n \"RENAME_LIST_MODAL_TITLE\": \"Перейменувати список\",\n \"DEFAULT_LIST_ITEM\": \"щось\",\n \"DELETE_LIST\": \"Вилучити список \\\"%1\\\"\",\n \"RENAME_LIST\": \"Перейменувати список\",\n \"NEW_BROADCAST_MESSAGE\": \"Нове повідомлення\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"Нове ім’я повідомлення:\",\n \"BROADCAST_MODAL_TITLE\": \"Нове повідомлення\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"повідомлення1\"\n};\n\nBlockly.ScratchMsgs.locales[\"zh-cn\"] =\n{\n \"CONTROL_FOREVER\": \"重复执行\",\n \"CONTROL_REPEAT\": \"重复执行 %1 次\",\n \"CONTROL_IF\": \"如果 %1 那么\",\n \"CONTROL_ELSE\": \"否则\",\n \"CONTROL_STOP\": \"停止\",\n \"CONTROL_STOP_ALL\": \"全部脚本\",\n \"CONTROL_STOP_THIS\": \"这个脚本\",\n \"CONTROL_STOP_OTHER\": \"该角色的其他脚本\",\n \"CONTROL_WAIT\": \"等待 %1 秒\",\n \"CONTROL_WAITUNTIL\": \"等待 %1\",\n \"CONTROL_REPEATUNTIL\": \"重复执行直到 %1\",\n \"CONTROL_WHILE\": \"当 %1 重复执行\",\n \"CONTROL_FOREACH\": \"对于 %2 中的每个 %1\",\n \"CONTROL_STARTASCLONE\": \"当作为克隆体启动时\",\n \"CONTROL_CREATECLONEOF\": \"克隆 %1\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"自己\",\n \"CONTROL_DELETETHISCLONE\": \"删除此克隆体\",\n \"CONTROL_COUNTER\": \"计数器\",\n \"CONTROL_INCRCOUNTER\": \"计数器加一\",\n \"CONTROL_CLEARCOUNTER\": \"计数器归零\",\n \"CONTROL_ALLATONCE\": \"所有脚本\",\n \"DATA_SETVARIABLETO\": \"将 %1 设为 %2\",\n \"DATA_CHANGEVARIABLEBY\": \"将 %1 增加 %2\",\n \"DATA_SHOWVARIABLE\": \"显示变量 %1\",\n \"DATA_HIDEVARIABLE\": \"隐藏变量 %1\",\n \"DATA_ADDTOLIST\": \"将 %1 加入 %2\",\n \"DATA_DELETEOFLIST\": \"删除 %2 的第 %1 项\",\n \"DATA_DELETEALLOFLIST\": \"删除 %1 的全部项目\",\n \"DATA_INSERTATLIST\": \"在 %3 的第 %2 项前插入 %1\",\n \"DATA_REPLACEITEMOFLIST\": \"将 %2 的第 %1 项替换为 %3\",\n \"DATA_ITEMOFLIST\": \"%2 的第 %1 项\",\n \"DATA_ITEMNUMOFLIST\": \"%2 中第一个 %1 的编号\",\n \"DATA_LENGTHOFLIST\": \"%1 的项目数\",\n \"DATA_LISTCONTAINSITEM\": \"%1 包含 %2 ?\",\n \"DATA_SHOWLIST\": \"显示列表 %1\",\n \"DATA_HIDELIST\": \"隐藏列表 %1\",\n \"DATA_INDEX_ALL\": \"全部\",\n \"DATA_INDEX_LAST\": \"末尾\",\n \"DATA_INDEX_RANDOM\": \"随机\",\n \"EVENT_WHENFLAGCLICKED\": \"当 %1 被点击\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"当角色被点击\",\n \"EVENT_WHENSTAGECLICKED\": \"当舞台被点击\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"当该角色碰到 %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"当接收到 %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"当背景换成 %1\",\n \"EVENT_WHENGREATERTHAN\": \"当 %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"计时器\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"响度\",\n \"EVENT_BROADCAST\": \"广播 %1\",\n \"EVENT_BROADCASTANDWAIT\": \"广播 %1 并等待\",\n \"EVENT_WHENKEYPRESSED\": \"当按下 %1 键\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"空格\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"←\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"→\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"↓\",\n \"EVENT_WHENKEYPRESSED_UP\": \"↑\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"任意\",\n \"LOOKS_SAYFORSECS\": \"说 %1 %2 秒\",\n \"LOOKS_SAY\": \"说 %1\",\n \"LOOKS_HELLO\": \"你好!\",\n \"LOOKS_THINKFORSECS\": \"思考 %1 %2 秒\",\n \"LOOKS_THINK\": \"思考 %1\",\n \"LOOKS_HMM\": \"嗯……\",\n \"LOOKS_SHOW\": \"显示\",\n \"LOOKS_HIDE\": \"隐藏\",\n \"LOOKS_HIDEALLSPRITES\": \"隐藏所有角色\",\n \"LOOKS_EFFECT_COLOR\": \"颜色\",\n \"LOOKS_EFFECT_FISHEYE\": \"鱼眼\",\n \"LOOKS_EFFECT_WHIRL\": \"漩涡\",\n \"LOOKS_EFFECT_PIXELATE\": \"像素化\",\n \"LOOKS_EFFECT_MOSAIC\": \"马赛克\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"亮度\",\n \"LOOKS_EFFECT_GHOST\": \"虚像\",\n \"LOOKS_CHANGEEFFECTBY\": \"将 %1 特效增加 %2\",\n \"LOOKS_SETEFFECTTO\": \"将 %1 特效设定为 %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"清除图形特效\",\n \"LOOKS_CHANGESIZEBY\": \"将大小增加 %1\",\n \"LOOKS_SETSIZETO\": \"将大小设为 %1\",\n \"LOOKS_SIZE\": \"大小\",\n \"LOOKS_CHANGESTRETCHBY\": \"伸缩%1\",\n \"LOOKS_SETSTRETCHTO\": \"设置伸缩为%1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"换成 %1 造型\",\n \"LOOKS_NEXTCOSTUME\": \"下一个造型\",\n \"LOOKS_SWITCHBACKDROPTO\": \"换成 %1 背景\",\n \"LOOKS_GOTOFRONTBACK\": \"移到最 %1 \",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"前面\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"后面\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"%1 %2 层\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"前移\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"后移\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"背景 %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"造型 %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"编号\",\n \"LOOKS_NUMBERNAME_NAME\": \"名称\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"换成 %1 背景并等待\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"下一个背景\",\n \"LOOKS_NEXTBACKDROP\": \"下一个背景\",\n \"LOOKS_PREVIOUSBACKDROP\": \"上一个背景\",\n \"LOOKS_RANDOMBACKDROP\": \"随机背景\",\n \"MOTION_MOVESTEPS\": \"移动 %1 步\",\n \"MOTION_TURNLEFT\": \"左转 %1 %2 度\",\n \"MOTION_TURNRIGHT\": \"右转 %1 %2 度\",\n \"MOTION_POINTINDIRECTION\": \"面向 %1 方向\",\n \"MOTION_POINTTOWARDS\": \"面向 %1\",\n \"MOTION_POINTTOWARDS_POINTER\": \"鼠标指针\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"随机方向\",\n \"MOTION_GOTO\": \"移到 %1\",\n \"MOTION_GOTO_POINTER\": \"鼠标指针\",\n \"MOTION_GOTO_RANDOM\": \"随机位置\",\n \"MOTION_GOTOXY\": \"移到 x: %1 y: %2\",\n \"MOTION_GLIDESECSTOXY\": \"在 %1 秒内滑行到 x: %2 y: %3\",\n \"MOTION_GLIDETO\": \"在 %1 秒内滑行到 %2\",\n \"MOTION_GLIDETO_POINTER\": \"鼠标指针\",\n \"MOTION_GLIDETO_RANDOM\": \"随机位置\",\n \"MOTION_CHANGEXBY\": \"将x坐标增加 %1\",\n \"MOTION_SETX\": \"将x坐标设为 %1\",\n \"MOTION_CHANGEYBY\": \"将y坐标增加 %1\",\n \"MOTION_SETY\": \"将y坐标设为 %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"碰到边缘就反弹\",\n \"MOTION_SETROTATIONSTYLE\": \"将旋转方式设为 %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"左右翻转\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"不可旋转\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"任意旋转\",\n \"MOTION_XPOSITION\": \"x 坐标\",\n \"MOTION_YPOSITION\": \"y 坐标\",\n \"MOTION_DIRECTION\": \"方向\",\n \"MOTION_SCROLLRIGHT\": \"向右滚动 %1\",\n \"MOTION_SCROLLUP\": \"向上滚动 %1\",\n \"MOTION_ALIGNSCENE\": \"和场景 %1 对齐\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"左下角\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"右下角\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"中间\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"左上角\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"右上角\",\n \"MOTION_XSCROLL\": \"x滚动位置\",\n \"MOTION_YSCROLL\": \"y滚动位置\",\n \"MOTION_STAGE_SELECTED\": \"选中了舞台:不可使用运动类积木\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"在 %1 和 %2 之间取随机数\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 与 %2\",\n \"OPERATORS_OR\": \"%1 或 %2\",\n \"OPERATORS_NOT\": \"%1 不成立\",\n \"OPERATORS_JOIN\": \"连接 %1 和 %2\",\n \"OPERATORS_JOIN_APPLE\": \"苹果\",\n \"OPERATORS_JOIN_BANANA\": \"香蕉\",\n \"OPERATORS_LETTEROF\": \"%2 的第 %1 个字符\",\n \"OPERATORS_LETTEROF_APPLE\": \"果\",\n \"OPERATORS_LENGTH\": \"%1 的字符数\",\n \"OPERATORS_CONTAINS\": \"%1 包含 %2 ?\",\n \"OPERATORS_MOD\": \"%1 除以 %2 的余数\",\n \"OPERATORS_ROUND\": \"四舍五入 %1\",\n \"OPERATORS_MATHOP\": \"%1 %2\",\n \"OPERATORS_MATHOP_ABS\": \"绝对值\",\n \"OPERATORS_MATHOP_FLOOR\": \"向下取整\",\n \"OPERATORS_MATHOP_CEILING\": \"向上取整\",\n \"OPERATORS_MATHOP_SQRT\": \"平方根\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"定义 %1\",\n \"SENSING_TOUCHINGOBJECT\": \"碰到 %1 ?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"鼠标指针\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"舞台边缘\",\n \"SENSING_TOUCHINGCOLOR\": \"碰到颜色 %1 ?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"颜色 %1 碰到 %2 ?\",\n \"SENSING_DISTANCETO\": \"到 %1 的距离\",\n \"SENSING_DISTANCETO_POINTER\": \"鼠标指针\",\n \"SENSING_ASKANDWAIT\": \"询问 %1 并等待\",\n \"SENSING_ASK_TEXT\": \"你叫什么名字?\",\n \"SENSING_ANSWER\": \"回答\",\n \"SENSING_KEYPRESSED\": \"按下 %1 键?\",\n \"SENSING_MOUSEDOWN\": \"按下鼠标?\",\n \"SENSING_MOUSEX\": \"鼠标的x坐标\",\n \"SENSING_MOUSEY\": \"鼠标的y坐标\",\n \"SENSING_SETDRAGMODE\": \"将拖动模式设为 %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"可拖动\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"不可拖动\",\n \"SENSING_LOUDNESS\": \"响度\",\n \"SENSING_LOUD\": \"响声?\",\n \"SENSING_TIMER\": \"计时器\",\n \"SENSING_RESETTIMER\": \"计时器归零\",\n \"SENSING_OF\": \"%2 的 %1\",\n \"SENSING_OF_XPOSITION\": \"x 坐标\",\n \"SENSING_OF_YPOSITION\": \"y 坐标\",\n \"SENSING_OF_DIRECTION\": \"方向\",\n \"SENSING_OF_COSTUMENUMBER\": \"造型编号\",\n \"SENSING_OF_COSTUMENAME\": \"造型名称\",\n \"SENSING_OF_SIZE\": \"大小\",\n \"SENSING_OF_VOLUME\": \"音量\",\n \"SENSING_OF_BACKDROPNUMBER\": \"背景编号\",\n \"SENSING_OF_BACKDROPNAME\": \"背景名称\",\n \"SENSING_OF_STAGE\": \"舞台\",\n \"SENSING_CURRENT\": \"当前时间的 %1\",\n \"SENSING_CURRENT_YEAR\": \"年\",\n \"SENSING_CURRENT_MONTH\": \"月\",\n \"SENSING_CURRENT_DATE\": \"日\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"星期\",\n \"SENSING_CURRENT_HOUR\": \"时\",\n \"SENSING_CURRENT_MINUTE\": \"分\",\n \"SENSING_CURRENT_SECOND\": \"秒\",\n \"SENSING_DAYSSINCE2000\": \"2000年至今的天数\",\n \"SENSING_USERNAME\": \"用户名\",\n \"SENSING_USERID\": \"用户id\",\n \"SOUND_PLAY\": \"播放声音 %1\",\n \"SOUND_PLAYUNTILDONE\": \"播放声音 %1 等待播完\",\n \"SOUND_STOPALLSOUNDS\": \"停止所有声音\",\n \"SOUND_SETEFFECTO\": \"将 %1 音效设为 %2\",\n \"SOUND_CHANGEEFFECTBY\": \"将 %1 音效增加 %2\",\n \"SOUND_CLEAREFFECTS\": \"清除音效\",\n \"SOUND_EFFECTS_PITCH\": \"音调\",\n \"SOUND_EFFECTS_PAN\": \"左右平衡\",\n \"SOUND_CHANGEVOLUMEBY\": \"将音量增加 %1\",\n \"SOUND_SETVOLUMETO\": \"将音量设为 %1%\",\n \"SOUND_VOLUME\": \"音量\",\n \"SOUND_RECORD\": \"录制…\",\n \"CATEGORY_MOTION\": \"运动\",\n \"CATEGORY_LOOKS\": \"外观\",\n \"CATEGORY_SOUND\": \"声音\",\n \"CATEGORY_EVENTS\": \"事件\",\n \"CATEGORY_CONTROL\": \"控制\",\n \"CATEGORY_SENSING\": \"侦测\",\n \"CATEGORY_OPERATORS\": \"运算\",\n \"CATEGORY_VARIABLES\": \"变量\",\n \"CATEGORY_MYBLOCKS\": \"自制积木\",\n \"DUPLICATE\": \"复制\",\n \"DELETE\": \"删除\",\n \"ADD_COMMENT\": \"添加注释\",\n \"REMOVE_COMMENT\": \"删除注释\",\n \"DELETE_BLOCK\": \"删除\",\n \"DELETE_X_BLOCKS\": \"删除 %1 积木\",\n \"DELETE_ALL_BLOCKS\": \"删除全部 %1 积木?\",\n \"CLEAN_UP\": \"整理积木\",\n \"HELP\": \"帮助\",\n \"UNDO\": \"撤销\",\n \"REDO\": \"重做\",\n \"EDIT_PROCEDURE\": \"编辑\",\n \"SHOW_PROCEDURE_DEFINITION\": \"查看定义\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"说些什么……\",\n \"COLOUR_HUE_LABEL\": \"颜色\",\n \"COLOUR_SATURATION_LABEL\": \"饱和度\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"亮度\",\n \"CHANGE_VALUE_TITLE\": \"更改变量:\",\n \"RENAME_VARIABLE\": \"修改变量名\",\n \"RENAME_VARIABLE_TITLE\": \"将所有的「%1」变量名改为:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"修改变量名\",\n \"NEW_VARIABLE\": \"建立一个变量\",\n \"NEW_VARIABLE_TITLE\": \"新变量名:\",\n \"VARIABLE_MODAL_TITLE\": \"新建变量\",\n \"VARIABLE_ALREADY_EXISTS\": \"已经存在名为「%1」的变量。\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"已经存在一个名为「%1」的变量,其类型为「%2」。\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"删除%1处「%2」变量吗?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"无法删除变量「%1」,因为函数「%2」的定义中用到了它\",\n \"DELETE_VARIABLE\": \"删除变量「%1」\",\n \"NEW_PROCEDURE\": \"制作新的积木\",\n \"PROCEDURE_ALREADY_EXISTS\": \"已经存在名为「%1」的程序。\",\n \"PROCEDURE_DEFAULT_NAME\": \"积木名称\",\n \"NEW_LIST\": \"建立一个列表\",\n \"NEW_LIST_TITLE\": \"新的列表名:\",\n \"LIST_MODAL_TITLE\": \"新建列表\",\n \"LIST_ALREADY_EXISTS\": \"名为 「%1」 的列表已存在。\",\n \"RENAME_LIST_TITLE\": \"将所有的「%1」列表改名为:\",\n \"RENAME_LIST_MODAL_TITLE\": \"修改列表名\",\n \"DEFAULT_LIST_ITEM\": \"东西\",\n \"DELETE_LIST\": \"删除「%1」列表\",\n \"RENAME_LIST\": \"修改列表名\",\n \"NEW_BROADCAST_MESSAGE\": \"新消息\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"新消息的名称:\",\n \"BROADCAST_MODAL_TITLE\": \"新消息\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"消息1\"\n};\n\nBlockly.ScratchMsgs.locales[\"zh-tw\"] =\n{\n \"CONTROL_FOREVER\": \"重複無限次\",\n \"CONTROL_REPEAT\": \"重複 %1 次\",\n \"CONTROL_IF\": \"如果 %1 那麼\",\n \"CONTROL_ELSE\": \"否則\",\n \"CONTROL_STOP\": \"停止\",\n \"CONTROL_STOP_ALL\": \"全部\",\n \"CONTROL_STOP_THIS\": \"這個程式\",\n \"CONTROL_STOP_OTHER\": \"這個物件的其它程式\",\n \"CONTROL_WAIT\": \"等待 %1 秒\",\n \"CONTROL_WAITUNTIL\": \"等待直到 %1\",\n \"CONTROL_REPEATUNTIL\": \"重複直到 %1\",\n \"CONTROL_WHILE\": \"當 %1\",\n \"CONTROL_FOREACH\": \"計數 %1 於 %2\",\n \"CONTROL_STARTASCLONE\": \"當分身產生\",\n \"CONTROL_CREATECLONEOF\": \"建立 %1 的分身\",\n \"CONTROL_CREATECLONEOF_MYSELF\": \"自己\",\n \"CONTROL_DELETETHISCLONE\": \"分身刪除\",\n \"CONTROL_COUNTER\": \"計數器\",\n \"CONTROL_INCRCOUNTER\": \"計數器累計\",\n \"CONTROL_CLEARCOUNTER\": \"計數器重置\",\n \"CONTROL_ALLATONCE\": \"全部一起\",\n \"DATA_SETVARIABLETO\": \"變數 %1 設為 %2\",\n \"DATA_CHANGEVARIABLEBY\": \"變數 %1 改變 %2\",\n \"DATA_SHOWVARIABLE\": \"變數 %1 顯示\",\n \"DATA_HIDEVARIABLE\": \"變數 %1 隱藏\",\n \"DATA_ADDTOLIST\": \"添加 %1 到 %2\",\n \"DATA_DELETEOFLIST\": \"刪除 %2 的第 %1 項\",\n \"DATA_DELETEALLOFLIST\": \"刪除 %1 的所有項目\",\n \"DATA_INSERTATLIST\": \"插入 %1 到 %3 的第 %2 項\",\n \"DATA_REPLACEITEMOFLIST\": \"替換 %2 的第 %1 項為 %3\",\n \"DATA_ITEMOFLIST\": \"%2 的第 %1 項\",\n \"DATA_ITEMNUMOFLIST\": \"%1 在 %2 裡的項目編號\",\n \"DATA_LENGTHOFLIST\": \"清單 %1 的長度\",\n \"DATA_LISTCONTAINSITEM\": \"清單 %1 包含 %2?\",\n \"DATA_SHOWLIST\": \"清單 %1 顯示\",\n \"DATA_HIDELIST\": \"清單 %1 隱藏\",\n \"DATA_INDEX_ALL\": \"全部\",\n \"DATA_INDEX_LAST\": \"末\",\n \"DATA_INDEX_RANDOM\": \"隨機\",\n \"EVENT_WHENFLAGCLICKED\": \"當 %1 被點擊\",\n \"EVENT_WHENTHISSPRITECLICKED\": \"當角色被點擊\",\n \"EVENT_WHENSTAGECLICKED\": \"當舞台被點擊\",\n \"EVENT_WHENTOUCHINGOBJECT\": \"當角色碰到 %1\",\n \"EVENT_WHENBROADCASTRECEIVED\": \"當收到訊息 %1\",\n \"EVENT_WHENBACKDROPSWITCHESTO\": \"當背景換成 %1\",\n \"EVENT_WHENGREATERTHAN\": \"當 %1 > %2\",\n \"EVENT_WHENGREATERTHAN_TIMER\": \"計時器\",\n \"EVENT_WHENGREATERTHAN_LOUDNESS\": \"聲音響度\",\n \"EVENT_BROADCAST\": \"廣播訊息 %1\",\n \"EVENT_BROADCASTANDWAIT\": \"廣播訊息 %1 並等待\",\n \"EVENT_WHENKEYPRESSED\": \"當 %1 鍵被按下\",\n \"EVENT_WHENKEYPRESSED_SPACE\": \"空白\",\n \"EVENT_WHENKEYPRESSED_LEFT\": \"向左\",\n \"EVENT_WHENKEYPRESSED_RIGHT\": \"向右\",\n \"EVENT_WHENKEYPRESSED_DOWN\": \"向下\",\n \"EVENT_WHENKEYPRESSED_UP\": \"向上\",\n \"EVENT_WHENKEYPRESSED_ANY\": \"任何\",\n \"LOOKS_SAYFORSECS\": \"說出 %1 持續 %2 秒\",\n \"LOOKS_SAY\": \"說出 %1\",\n \"LOOKS_HELLO\": \"Hello!\",\n \"LOOKS_THINKFORSECS\": \"想著 %1 持續 %2 秒\",\n \"LOOKS_THINK\": \"想著 %1\",\n \"LOOKS_HMM\": \"Hmm...\",\n \"LOOKS_SHOW\": \"顯示\",\n \"LOOKS_HIDE\": \"隱藏\",\n \"LOOKS_HIDEALLSPRITES\": \"隱藏所有角色\",\n \"LOOKS_EFFECT_COLOR\": \"顏色\",\n \"LOOKS_EFFECT_FISHEYE\": \"魚眼\",\n \"LOOKS_EFFECT_WHIRL\": \"漩渦\",\n \"LOOKS_EFFECT_PIXELATE\": \"像素化\",\n \"LOOKS_EFFECT_MOSAIC\": \"馬賽克\",\n \"LOOKS_EFFECT_BRIGHTNESS\": \"亮度\",\n \"LOOKS_EFFECT_GHOST\": \"幻影\",\n \"LOOKS_CHANGEEFFECTBY\": \"圖像效果 %1 改變 %2\",\n \"LOOKS_SETEFFECTTO\": \"圖像效果 %1 設為 %2\",\n \"LOOKS_CLEARGRAPHICEFFECTS\": \"圖像效果清除\",\n \"LOOKS_CHANGESIZEBY\": \"尺寸改變 %1\",\n \"LOOKS_SETSIZETO\": \"尺寸設為 %1 %\",\n \"LOOKS_SIZE\": \"尺寸\",\n \"LOOKS_CHANGESTRETCHBY\": \"伸縮改變 %1\",\n \"LOOKS_SETSTRETCHTO\": \"伸縮設為 %1 %\",\n \"LOOKS_SWITCHCOSTUMETO\": \"造型換成 %1\",\n \"LOOKS_NEXTCOSTUME\": \"造型換成下一個\",\n \"LOOKS_SWITCHBACKDROPTO\": \"背景換成 %1\",\n \"LOOKS_GOTOFRONTBACK\": \"圖層移到 %1 層\",\n \"LOOKS_GOTOFRONTBACK_FRONT\": \"最上\",\n \"LOOKS_GOTOFRONTBACK_BACK\": \"最下\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS\": \"圖層 %1 移 %2 層\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD\": \"上\",\n \"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD\": \"下\",\n \"LOOKS_BACKDROPNUMBERNAME\": \"背景 %1\",\n \"LOOKS_COSTUMENUMBERNAME\": \"造型 %1\",\n \"LOOKS_NUMBERNAME_NUMBER\": \"編號\",\n \"LOOKS_NUMBERNAME_NAME\": \"名稱\",\n \"LOOKS_SWITCHBACKDROPTOANDWAIT\": \"背景換成 %1 並等待\",\n \"LOOKS_NEXTBACKDROP_BLOCK\": \"背景換成下一個\",\n \"LOOKS_NEXTBACKDROP\": \"下一個背景\",\n \"LOOKS_PREVIOUSBACKDROP\": \"上一個背景\",\n \"LOOKS_RANDOMBACKDROP\": \"任一個背景\",\n \"MOTION_MOVESTEPS\": \"移動 %1 點\",\n \"MOTION_TURNLEFT\": \"左轉 %1 %2 度\",\n \"MOTION_TURNRIGHT\": \"右轉 %1 %2 度\",\n \"MOTION_POINTINDIRECTION\": \"面朝 %1 度\",\n \"MOTION_POINTTOWARDS\": \"面朝 %1 向\",\n \"MOTION_POINTTOWARDS_POINTER\": \"鼠標\",\n \"MOTION_POINTTOWARDS_RANDOM\": \"隨機\",\n \"MOTION_GOTO\": \"定位到 %1 位置\",\n \"MOTION_GOTO_POINTER\": \"鼠標\",\n \"MOTION_GOTO_RANDOM\": \"隨機\",\n \"MOTION_GOTOXY\": \"定位到 x:%1 y:%2\",\n \"MOTION_GLIDESECSTOXY\": \"滑行 %1 秒到 x:%2 y:%3\",\n \"MOTION_GLIDETO\": \"滑行 %1 秒到 %2 位置\",\n \"MOTION_GLIDETO_POINTER\": \"鼠標\",\n \"MOTION_GLIDETO_RANDOM\": \"隨機\",\n \"MOTION_CHANGEXBY\": \"x 改變 %1\",\n \"MOTION_SETX\": \"x 設為 %1\",\n \"MOTION_CHANGEYBY\": \"y 改變 %1\",\n \"MOTION_SETY\": \"y 設為 %1\",\n \"MOTION_IFONEDGEBOUNCE\": \"碰到邊緣就反彈\",\n \"MOTION_SETROTATIONSTYLE\": \"迴轉方式設為 %1\",\n \"MOTION_SETROTATIONSTYLE_LEFTRIGHT\": \"左-右\",\n \"MOTION_SETROTATIONSTYLE_DONTROTATE\": \"不旋轉\",\n \"MOTION_SETROTATIONSTYLE_ALLAROUND\": \"不設限\",\n \"MOTION_XPOSITION\": \"x 座標\",\n \"MOTION_YPOSITION\": \"y 座標\",\n \"MOTION_DIRECTION\": \"方向\",\n \"MOTION_SCROLLRIGHT\": \"滾動向右 %1\",\n \"MOTION_SCROLLUP\": \"滾動向上 %1\",\n \"MOTION_ALIGNSCENE\": \"場景 %1 對齊\",\n \"MOTION_ALIGNSCENE_BOTTOMLEFT\": \"左下\",\n \"MOTION_ALIGNSCENE_BOTTOMRIGHT\": \"右下\",\n \"MOTION_ALIGNSCENE_MIDDLE\": \"中間\",\n \"MOTION_ALIGNSCENE_TOPLEFT\": \"左上\",\n \"MOTION_ALIGNSCENE_TOPRIGHT\": \"右上\",\n \"MOTION_XSCROLL\": \"x 捲軸\",\n \"MOTION_YSCROLL\": \"y 捲軸\",\n \"MOTION_STAGE_SELECTED\": \"目前選擇的物件是「舞台」:無可用的動作積木\",\n \"OPERATORS_ADD\": \"%1 + %2\",\n \"OPERATORS_SUBTRACT\": \"%1 - %2\",\n \"OPERATORS_MULTIPLY\": \"%1 * %2\",\n \"OPERATORS_DIVIDE\": \"%1 / %2\",\n \"OPERATORS_RANDOM\": \"隨機取數 %1 到 %2\",\n \"OPERATORS_GT\": \"%1 > %2\",\n \"OPERATORS_LT\": \"%1 < %2\",\n \"OPERATORS_EQUALS\": \"%1 = %2\",\n \"OPERATORS_AND\": \"%1 且 %2\",\n \"OPERATORS_OR\": \"%1 或 %2\",\n \"OPERATORS_NOT\": \"%1 不成立\",\n \"OPERATORS_JOIN\": \"字串組合 %1 %2\",\n \"OPERATORS_JOIN_APPLE\": \"apple\",\n \"OPERATORS_JOIN_BANANA\": \"banana\",\n \"OPERATORS_LETTEROF\": \"字串 %2 的第 %1 字\",\n \"OPERATORS_LETTEROF_APPLE\": \"a\",\n \"OPERATORS_LENGTH\": \"字串 %1 的長度\",\n \"OPERATORS_CONTAINS\": \"字串 %1 包含 %2?\",\n \"OPERATORS_MOD\": \"%1 除以 %2 的餘數\",\n \"OPERATORS_ROUND\": \"四捨五入數值 %1\",\n \"OPERATORS_MATHOP\": \"%1 數值 %2\",\n \"OPERATORS_MATHOP_ABS\": \"絕對值\",\n \"OPERATORS_MATHOP_FLOOR\": \"無條件捨去\",\n \"OPERATORS_MATHOP_CEILING\": \"無條件進位\",\n \"OPERATORS_MATHOP_SQRT\": \"平方根\",\n \"OPERATORS_MATHOP_SIN\": \"sin\",\n \"OPERATORS_MATHOP_COS\": \"cos\",\n \"OPERATORS_MATHOP_TAN\": \"tan\",\n \"OPERATORS_MATHOP_ASIN\": \"asin\",\n \"OPERATORS_MATHOP_ACOS\": \"acos\",\n \"OPERATORS_MATHOP_ATAN\": \"atan\",\n \"OPERATORS_MATHOP_LN\": \"ln\",\n \"OPERATORS_MATHOP_LOG\": \"log\",\n \"OPERATORS_MATHOP_EEXP\": \"e ^\",\n \"OPERATORS_MATHOP_10EXP\": \"10 ^\",\n \"PROCEDURES_DEFINITION\": \"定義 %1\",\n \"SENSING_TOUCHINGOBJECT\": \"碰到 %1?\",\n \"SENSING_TOUCHINGOBJECT_POINTER\": \"鼠標\",\n \"SENSING_TOUCHINGOBJECT_EDGE\": \"邊緣\",\n \"SENSING_TOUCHINGCOLOR\": \"碰到顏色 %1?\",\n \"SENSING_COLORISTOUCHINGCOLOR\": \"顏色 %1 碰到 顏色 %2?\",\n \"SENSING_DISTANCETO\": \"與 %1 的間距\",\n \"SENSING_DISTANCETO_POINTER\": \"鼠標\",\n \"SENSING_ASKANDWAIT\": \"詢問 %1 並等待\",\n \"SENSING_ASK_TEXT\": \"你的名字是?\",\n \"SENSING_ANSWER\": \"詢問的答案\",\n \"SENSING_KEYPRESSED\": \"%1 鍵被按下?\",\n \"SENSING_MOUSEDOWN\": \"滑鼠鍵被按下?\",\n \"SENSING_MOUSEX\": \"鼠標的 x\",\n \"SENSING_MOUSEY\": \"鼠標的 y\",\n \"SENSING_SETDRAGMODE\": \"拖曳方式設為 %1\",\n \"SENSING_SETDRAGMODE_DRAGGABLE\": \"可拖曳\",\n \"SENSING_SETDRAGMODE_NOTDRAGGABLE\": \"不可拖曳\",\n \"SENSING_LOUDNESS\": \"聲音響度\",\n \"SENSING_LOUD\": \"大聲?\",\n \"SENSING_TIMER\": \"計時器\",\n \"SENSING_RESETTIMER\": \"計時器重置\",\n \"SENSING_OF\": \"%2 的 %1\",\n \"SENSING_OF_XPOSITION\": \"x 座標\",\n \"SENSING_OF_YPOSITION\": \"y 座標\",\n \"SENSING_OF_DIRECTION\": \"方向\",\n \"SENSING_OF_COSTUMENUMBER\": \"造型編號\",\n \"SENSING_OF_COSTUMENAME\": \"造型名稱\",\n \"SENSING_OF_SIZE\": \"尺寸\",\n \"SENSING_OF_VOLUME\": \"音量\",\n \"SENSING_OF_BACKDROPNUMBER\": \"背景編號\",\n \"SENSING_OF_BACKDROPNAME\": \"背景名稱\",\n \"SENSING_OF_STAGE\": \"舞台\",\n \"SENSING_CURRENT\": \"目前時間的 %1\",\n \"SENSING_CURRENT_YEAR\": \"年\",\n \"SENSING_CURRENT_MONTH\": \"月\",\n \"SENSING_CURRENT_DATE\": \"日\",\n \"SENSING_CURRENT_DAYOFWEEK\": \"週\",\n \"SENSING_CURRENT_HOUR\": \"時\",\n \"SENSING_CURRENT_MINUTE\": \"分\",\n \"SENSING_CURRENT_SECOND\": \"秒\",\n \"SENSING_DAYSSINCE2000\": \"2000年迄今日數\",\n \"SENSING_USERNAME\": \"用戶名稱\",\n \"SENSING_USERID\": \"用戶 ID\",\n \"SOUND_PLAY\": \"播放音效 %1\",\n \"SOUND_PLAYUNTILDONE\": \"播放音效 %1 直到結束\",\n \"SOUND_STOPALLSOUNDS\": \"停播所有音效\",\n \"SOUND_SETEFFECTO\": \"聲音效果 %1 設為 %2\",\n \"SOUND_CHANGEEFFECTBY\": \"聲音效果 %1 改變 %2\",\n \"SOUND_CLEAREFFECTS\": \"聲音效果清除\",\n \"SOUND_EFFECTS_PITCH\": \"音高\",\n \"SOUND_EFFECTS_PAN\": \"聲道左/右\",\n \"SOUND_CHANGEVOLUMEBY\": \"音量改變 %1\",\n \"SOUND_SETVOLUMETO\": \"音量設為 %1%\",\n \"SOUND_VOLUME\": \"音量\",\n \"SOUND_RECORD\": \"錄音…\",\n \"CATEGORY_MOTION\": \"動作\",\n \"CATEGORY_LOOKS\": \"外觀\",\n \"CATEGORY_SOUND\": \"音效\",\n \"CATEGORY_EVENTS\": \"事件\",\n \"CATEGORY_CONTROL\": \"控制\",\n \"CATEGORY_SENSING\": \"偵測\",\n \"CATEGORY_OPERATORS\": \"運算\",\n \"CATEGORY_VARIABLES\": \"變數\",\n \"CATEGORY_MYBLOCKS\": \"函式積木\",\n \"DUPLICATE\": \"複製\",\n \"DELETE\": \"刪除\",\n \"ADD_COMMENT\": \"添加註解\",\n \"REMOVE_COMMENT\": \"移除註解\",\n \"DELETE_BLOCK\": \"刪除積木\",\n \"DELETE_X_BLOCKS\": \"刪除 %1 個積木\",\n \"DELETE_ALL_BLOCKS\": \"要刪除全部(%1 個)積木?\",\n \"CLEAN_UP\": \"整理積木\",\n \"HELP\": \"幫助\",\n \"UNDO\": \"復原\",\n \"REDO\": \"重做\",\n \"EDIT_PROCEDURE\": \"編輯\",\n \"SHOW_PROCEDURE_DEFINITION\": \"移至定義\",\n \"WORKSPACE_COMMENT_DEFAULT_TEXT\": \"說些什麼…\",\n \"COLOUR_HUE_LABEL\": \"顏色\",\n \"COLOUR_SATURATION_LABEL\": \"彩度\",\n \"COLOUR_BRIGHTNESS_LABEL\": \"亮度\",\n \"CHANGE_VALUE_TITLE\": \"改成:\",\n \"RENAME_VARIABLE\": \"重新命名變數\",\n \"RENAME_VARIABLE_TITLE\": \"將變數 %1 重新命名為:\",\n \"RENAME_VARIABLE_MODAL_TITLE\": \"重新命名變數\",\n \"NEW_VARIABLE\": \"建立一個變數\",\n \"NEW_VARIABLE_TITLE\": \"新變數的名稱\",\n \"VARIABLE_MODAL_TITLE\": \"新的變數\",\n \"VARIABLE_ALREADY_EXISTS\": \"變數名稱「%1」已經被使用。\",\n \"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE\": \"變數名稱「%1」已經被使用在 %2 型別了。\",\n \"DELETE_VARIABLE_CONFIRMATION\": \"刪除正在使用的變數 %2 的 %1 個地方?\",\n \"CANNOT_DELETE_VARIABLE_PROCEDURE\": \"無法刪除變數 %1,因為它是函式 %2 定義中的一部分。\",\n \"DELETE_VARIABLE\": \"刪除變數 %1\",\n \"NEW_PROCEDURE\": \"建立一個積木\",\n \"PROCEDURE_ALREADY_EXISTS\": \"程序名稱「%1」已經被使用。\",\n \"PROCEDURE_DEFAULT_NAME\": \"積木名稱\",\n \"NEW_LIST\": \"建立一個清單\",\n \"NEW_LIST_TITLE\": \"新清單的名稱\",\n \"LIST_MODAL_TITLE\": \"新的清單\",\n \"LIST_ALREADY_EXISTS\": \"清單名稱「%1」已經被使用。\",\n \"RENAME_LIST_TITLE\": \"將清單 %1 重新命名為:\",\n \"RENAME_LIST_MODAL_TITLE\": \"重新命名清單\",\n \"DEFAULT_LIST_ITEM\": \"thing\",\n \"DELETE_LIST\": \"刪除清單 %1\",\n \"RENAME_LIST\": \"重新命名清單\",\n \"NEW_BROADCAST_MESSAGE\": \"新的訊息\",\n \"NEW_BROADCAST_MESSAGE_TITLE\": \"新訊息的名稱\",\n \"BROADCAST_MODAL_TITLE\": \"新的訊息\",\n \"DEFAULT_BROADCAST_MESSAGE_NAME\": \"message1\"\n};\n// End of combined translations\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = Blockly;\n","/*** IMPORTS FROM imports-loader ***/\nvar Blockly = require(\"./shim/blockly_compressed_vertical.Blockly\");\n\n// Do not edit this file; automatically generated by build.py.\n'use strict';\n\n\nBlockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=68;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.LINE_SCROLL_MULTIPLIER=15;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:\"sprites.png\"};Blockly.SVG_NS=\"http://www.w3.org/2000/svg\";Blockly.HTML_NS=\"http://www.w3.org/1999/xhtml\";\nBlockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;\nBlockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.Categories={motion:\"motion\",looks:\"looks\",sound:\"sounds\",pen:\"pen\",data:\"data\",dataLists:\"data-lists\",event:\"events\",control:\"control\",sensing:\"sensing\",operators:\"operators\",more:\"more\"};Blockly.DELETE_AREA_NONE=null;\nBlockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME=\"VARIABLE\";Blockly.PROCEDURE_CATEGORY_NAME=\"PROCEDURE\";Blockly.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";Blockly.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";Blockly.NEW_BROADCAST_MESSAGE_ID=\"NEW_BROADCAST_MESSAGE_ID\";Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE=\"broadcast_msg\";Blockly.LIST_VARIABLE_TYPE=\"list\";Blockly.SCALAR_VARIABLE_TYPE=\"\";Blockly.PROCEDURES_DEFINITION_BLOCK_TYPE=\"procedures_definition\";\nBlockly.PROCEDURES_PROTOTYPE_BLOCK_TYPE=\"procedures_prototype\";Blockly.PROCEDURES_CALL_BLOCK_TYPE=\"procedures_call\";Blockly.StatusButtonState={READY:\"ready\",NOT_READY:\"not ready\"};\nBlockly.Blocks.colour={};function randomColour(){return\"#\"+(\"00000\"+Math.floor(Math.random()*Math.pow(2,24)).toString(16)).substr(-6)}Blockly.Blocks.colour_picker={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_colour_slider\",name:\"COLOUR\",colour:randomColour()}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:\"Colour\"})}};/*\n\n Visual Blocks Editor\n\n Copyright 2016 Massachusetts Institute of Technology\n All rights reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nBlockly.Colours={motion:{primary:\"#4C97FF\",secondary:\"#4280D7\",tertiary:\"#3373CC\"},looks:{primary:\"#9966FF\",secondary:\"#855CD6\",tertiary:\"#774DCB\"},sounds:{primary:\"#CF63CF\",secondary:\"#C94FC9\",tertiary:\"#BD42BD\"},control:{primary:\"#FFAB19\",secondary:\"#EC9C13\",tertiary:\"#CF8B17\"},event:{primary:\"#FFBF00\",secondary:\"#E6AC00\",tertiary:\"#CC9900\"},sensing:{primary:\"#5CB1D6\",secondary:\"#47A8D1\",tertiary:\"#2E8EB8\"},pen:{primary:\"#0fBD8C\",secondary:\"#0DA57A\",tertiary:\"#0B8E69\"},operators:{primary:\"#59C059\",\nsecondary:\"#46B946\",tertiary:\"#389438\"},data:{primary:\"#FF8C1A\",secondary:\"#FF8000\",tertiary:\"#DB6E00\"},data_lists:{primary:\"#FF661A\",secondary:\"#FF5500\",tertiary:\"#E64D00\"},more:{primary:\"#FF6680\",secondary:\"#FF4D6A\",tertiary:\"#FF3355\"},text:\"#575E75\",workspace:\"#F9F9F9\",toolboxHover:\"#4C97FF\",toolboxSelected:\"#e9eef2\",toolboxText:\"#575E75\",toolbox:\"#FFFFFF\",flyout:\"#F9F9F9\",scrollbar:\"#CECDCE\",scrollbarHover:\"#CECDCE\",textField:\"#FFFFFF\",insertionMarker:\"#000000\",insertionMarkerOpacity:.2,dragShadowOpacity:.3,\nstackGlow:\"#FFF200\",stackGlowSize:4,stackGlowOpacity:1,replacementGlow:\"#FFFFFF\",replacementGlowSize:2,replacementGlowOpacity:1,colourPickerStroke:\"#FFFFFF\",fieldShadow:\"rgba(0,0,0,0.1)\",dropDownShadow:\"rgba(0, 0, 0, .3)\",numPadBackground:\"#547AB2\",numPadBorder:\"#435F91\",numPadActiveBackground:\"#435F91\",numPadText:\"white\",valueReportBackground:\"#FFFFFF\",valueReportBorder:\"#AAAAAA\"};\nBlockly.Colours.overrideColours=function(c){if(c)for(var a in c)if(c.hasOwnProperty(a)&&Blockly.Colours.hasOwnProperty(a)){var b=c[a];if(goog.isObject(b))for(var d in b)b.hasOwnProperty(d)&&Blockly.Colours[a].hasOwnProperty(d)&&(Blockly.Colours[a][d]=b[d]);else Blockly.Colours[a]=b}};Blockly.Blocks.math={};Blockly.Blocks.math_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",value:\"0\"}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_integer={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",precision:1}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_whole_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",min:0,precision:1}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_positive_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",min:0}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_angle={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_angle\",name:\"NUM\",value:90}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};Blockly.Blocks.matrix={};Blockly.Blocks.matrix={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_matrix\",name:\"MATRIX\"}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:\"Number\",extensions:[\"colours_pen\"]})}};Blockly.Blocks.note={};Blockly.Blocks.note={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_note\",name:\"NOTE\",value:60}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:\"Number\",colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};Blockly.Blocks.texts={};Blockly.Blocks.text={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_input\",name:\"TEXT\"}],output:\"String\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = Blockly;\n","/*** IMPORTS FROM imports-loader ***/\nvar goog = require(\"./shim/blockly_compressed_vertical.goog\");\nvar Blockly = require(\"./shim/blockly_compressed_vertical-blocks_compressed\");\n\n// Do not edit this file; automatically generated by build.py.\n'use strict';\n\n/*\n\n Visual Blocks Editor\n\n Copyright 2016 Massachusetts Institute of Technology\n All rights reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nBlockly.Colours={motion:{primary:\"#4C97FF\",secondary:\"#4280D7\",tertiary:\"#3373CC\"},looks:{primary:\"#9966FF\",secondary:\"#855CD6\",tertiary:\"#774DCB\"},sounds:{primary:\"#CF63CF\",secondary:\"#C94FC9\",tertiary:\"#BD42BD\"},control:{primary:\"#FFAB19\",secondary:\"#EC9C13\",tertiary:\"#CF8B17\"},event:{primary:\"#FFBF00\",secondary:\"#E6AC00\",tertiary:\"#CC9900\"},sensing:{primary:\"#5CB1D6\",secondary:\"#47A8D1\",tertiary:\"#2E8EB8\"},pen:{primary:\"#0fBD8C\",secondary:\"#0DA57A\",tertiary:\"#0B8E69\"},operators:{primary:\"#59C059\",\nsecondary:\"#46B946\",tertiary:\"#389438\"},data:{primary:\"#FF8C1A\",secondary:\"#FF8000\",tertiary:\"#DB6E00\"},data_lists:{primary:\"#FF661A\",secondary:\"#FF5500\",tertiary:\"#E64D00\"},more:{primary:\"#FF6680\",secondary:\"#FF4D6A\",tertiary:\"#FF3355\"},text:\"#575E75\",workspace:\"#F9F9F9\",toolboxHover:\"#4C97FF\",toolboxSelected:\"#e9eef2\",toolboxText:\"#575E75\",toolbox:\"#FFFFFF\",flyout:\"#F9F9F9\",scrollbar:\"#CECDCE\",scrollbarHover:\"#CECDCE\",textField:\"#FFFFFF\",insertionMarker:\"#000000\",insertionMarkerOpacity:.2,dragShadowOpacity:.3,\nstackGlow:\"#FFF200\",stackGlowSize:4,stackGlowOpacity:1,replacementGlow:\"#FFFFFF\",replacementGlowSize:2,replacementGlowOpacity:1,colourPickerStroke:\"#FFFFFF\",fieldShadow:\"rgba(0,0,0,0.1)\",dropDownShadow:\"rgba(0, 0, 0, .3)\",numPadBackground:\"#547AB2\",numPadBorder:\"#435F91\",numPadActiveBackground:\"#435F91\",numPadText:\"white\",valueReportBackground:\"#FFFFFF\",valueReportBorder:\"#AAAAAA\"};\nBlockly.Colours.overrideColours=function(a){if(a)for(var b in a)if(a.hasOwnProperty(b)&&Blockly.Colours.hasOwnProperty(b)){var c=a[b];if(goog.isObject(c))for(var d in c)c.hasOwnProperty(d)&&Blockly.Colours[b].hasOwnProperty(d)&&(Blockly.Colours[b][d]=c[d]);else Blockly.Colours[b]=c}};\nBlockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=68;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.LINE_SCROLL_MULTIPLIER=15;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:\"sprites.png\"};Blockly.SVG_NS=\"http://www.w3.org/2000/svg\";Blockly.HTML_NS=\"http://www.w3.org/1999/xhtml\";\nBlockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;\nBlockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.Categories={motion:\"motion\",looks:\"looks\",sound:\"sounds\",pen:\"pen\",data:\"data\",dataLists:\"data-lists\",event:\"events\",control:\"control\",sensing:\"sensing\",operators:\"operators\",more:\"more\"};Blockly.DELETE_AREA_NONE=null;\nBlockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME=\"VARIABLE\";Blockly.PROCEDURE_CATEGORY_NAME=\"PROCEDURE\";Blockly.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";Blockly.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";Blockly.NEW_BROADCAST_MESSAGE_ID=\"NEW_BROADCAST_MESSAGE_ID\";Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE=\"broadcast_msg\";Blockly.LIST_VARIABLE_TYPE=\"list\";Blockly.SCALAR_VARIABLE_TYPE=\"\";Blockly.PROCEDURES_DEFINITION_BLOCK_TYPE=\"procedures_definition\";\nBlockly.PROCEDURES_PROTOTYPE_BLOCK_TYPE=\"procedures_prototype\";Blockly.PROCEDURES_CALL_BLOCK_TYPE=\"procedures_call\";Blockly.StatusButtonState={READY:\"ready\",NOT_READY:\"not ready\"};\nBlockly.ScratchBlocks={};Blockly.ScratchBlocks.VerticalExtensions={};Blockly.ScratchBlocks.VerticalExtensions.colourHelper=function(a){var b=Blockly.Colours[a];if(!(b&&b.primary&&b.secondary&&b.tertiary))throw Error('Could not find colours for category \"'+a+'\"');return function(){this.setColourFromRawValues_(b.primary,b.secondary,b.tertiary)}};Blockly.ScratchBlocks.VerticalExtensions.COLOUR_TEXTFIELD=function(){this.setColourFromRawValues_(Blockly.Colours.textField,Blockly.Colours.textField,Blockly.Colours.textField)};\nBlockly.ScratchBlocks.VerticalExtensions.SHAPE_STATEMENT=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_HAT=function(){this.setInputsInline(!0);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_END=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null)};\nBlockly.ScratchBlocks.VerticalExtensions.OUTPUT_NUMBER=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,\"Number\")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_STRING=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,\"String\")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_BOOLEAN=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);this.setOutput(!0,\"Boolean\")};\nBlockly.ScratchBlocks.VerticalExtensions.PROCEDURE_DEF_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this));for(var b=0,c;c=a[b];b++)if(c.text==Blockly.Msg.DELETE_BLOCK){var d=this.getInput(\"custom_block\");if(d&&d.connection&&d.connection.targetBlock())var e=d.connection.targetBlock().getProcCode();else return;var f=this;c.callback=function(){Blockly.Procedures.deleteProcedureDefCallback(e,f)||alert(\"To delete a block definition, first remove all uses of the block\")}}for(b=\n0;c=a[b];b++)if(c.text==Blockly.Msg.DUPLICATE){a.splice(b,1);break}}};Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_CALL_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this))}};Blockly.ScratchBlocks.VerticalExtensions.SCRATCH_EXTENSION=function(){this.isScratchExtension=!0};\nBlockly.ScratchBlocks.VerticalExtensions.registerAll=function(){for(var a=\"control data data_lists sounds motion looks event sensing pen operators more\".split(\" \"),b=0;b10151590001001100100101010100110100-1010010110110helloworld1worldworldhelloworld10101010101100010101000100600.25';Blockly.Blocks.event={};Blockly.Blocks.event_whentouchingobject={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENTOUCHINGOBJECT,args0:[{type:\"input_value\",name:\"TOUCHINGOBJECTMENU\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_touchingobjectmenu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TOUCHINGOBJECTMENU\",options:[[Blockly.Msg.SENSING_TOUCHINGOBJECT_POINTER,\"_mouse_\"],[Blockly.Msg.SENSING_TOUCHINGOBJECT_EDGE,\"_edge_\"]]}],extensions:[\"colours_event\",\"output_string\"]})}};\nBlockly.Blocks.event_whenflagclicked={init:function(){this.jsonInit({id:\"event_whenflagclicked\",message0:Blockly.Msg.EVENT_WHENFLAGCLICKED,args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"green-flag.svg\",width:24,height:24,alt:\"flag\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenthisspriteclicked={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENTHISSPRITECLICKED,category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};Blockly.Blocks.event_whenstageclicked={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENSTAGECLICKED,category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenbroadcastreceived={init:function(){this.jsonInit({id:\"event_whenbroadcastreceived\",message0:Blockly.Msg.EVENT_WHENBROADCASTRECEIVED,args0:[{type:\"field_variable\",name:\"BROADCAST_OPTION\",variableTypes:[Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE],variable:Blockly.Msg.DEFAULT_BROADCAST_MESSAGE_NAME}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenbackdropswitchesto={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENBACKDROPSWITCHESTO,args0:[{type:\"field_dropdown\",name:\"BACKDROP\",options:[[\"backdrop1\",\"BACKDROP1\"]]}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whengreaterthan={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENGREATERTHAN,args0:[{type:\"field_dropdown\",name:\"WHENGREATERTHANMENU\",options:[[Blockly.Msg.EVENT_WHENGREATERTHAN_LOUDNESS,\"LOUDNESS\"],[Blockly.Msg.EVENT_WHENGREATERTHAN_TIMER,\"TIMER\"]]},{type:\"input_value\",name:\"VALUE\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_broadcast_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_variable\",name:\"BROADCAST_OPTION\",variableTypes:[Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE],variable:Blockly.Msg.DEFAULT_BROADCAST_MESSAGE_NAME}],colour:Blockly.Colours.event.secondary,colourSecondary:Blockly.Colours.event.secondary,colourTertiary:Blockly.Colours.event.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.event_broadcast={init:function(){this.jsonInit({id:\"event_broadcast\",message0:Blockly.Msg.EVENT_BROADCAST,args0:[{type:\"input_value\",name:\"BROADCAST_INPUT\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_statement\"]})}};Blockly.Blocks.event_broadcastandwait={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_BROADCASTANDWAIT,args0:[{type:\"input_value\",name:\"BROADCAST_INPUT\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_statement\"]})}};\nBlockly.Blocks.event_whenkeypressed={init:function(){this.jsonInit({id:\"event_whenkeypressed\",message0:Blockly.Msg.EVENT_WHENKEYPRESSED,args0:[{type:\"field_dropdown\",name:\"KEY_OPTION\",options:[[Blockly.Msg.EVENT_WHENKEYPRESSED_SPACE,\"space\"],[Blockly.Msg.EVENT_WHENKEYPRESSED_UP,\"up arrow\"],[Blockly.Msg.EVENT_WHENKEYPRESSED_DOWN,\"down arrow\"],[Blockly.Msg.EVENT_WHENKEYPRESSED_RIGHT,\"right arrow\"],[Blockly.Msg.EVENT_WHENKEYPRESSED_LEFT,\"left arrow\"],[Blockly.Msg.EVENT_WHENKEYPRESSED_ANY,\"any\"],[\"a\",\n\"a\"],[\"b\",\"b\"],[\"c\",\"c\"],[\"d\",\"d\"],[\"e\",\"e\"],[\"f\",\"f\"],[\"g\",\"g\"],[\"h\",\"h\"],[\"i\",\"i\"],[\"j\",\"j\"],[\"k\",\"k\"],[\"l\",\"l\"],[\"m\",\"m\"],[\"n\",\"n\"],[\"o\",\"o\"],[\"p\",\"p\"],[\"q\",\"q\"],[\"r\",\"r\"],[\"s\",\"s\"],[\"t\",\"t\"],[\"u\",\"u\"],[\"v\",\"v\"],[\"w\",\"w\"],[\"x\",\"x\"],[\"y\",\"y\"],[\"z\",\"z\"],[\"0\",\"0\"],[\"1\",\"1\"],[\"2\",\"2\"],[\"3\",\"3\"],[\"4\",\"4\"],[\"5\",\"5\"],[\"6\",\"6\"],[\"7\",\"7\"],[\"8\",\"8\"],[\"9\",\"9\"]]}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};Blockly.Blocks.extensions={};Blockly.Blocks.extension_pen_down={init:function(){this.jsonInit({message0:\"%1 %2 pen down\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/pen-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"shape_statement\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_music_drum={init:function(){this.jsonInit({message0:\"%1 %2 play drum %3\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/music-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"},{type:\"input_value\",name:\"NUMBER\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"shape_statement\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_wedo_motor={init:function(){this.jsonInit({message0:\"%1 %2 turn a motor %3\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/wedo2-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"},{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"rotate-right.svg\",width:24,height:24}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"shape_statement\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_wedo_hat={init:function(){this.jsonInit({message0:\"%1 %2 when I am wearing a hat\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/wedo2-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"shape_hat\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_wedo_boolean={init:function(){this.jsonInit({message0:\"%1 %2 O RLY?\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/wedo2-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"output_boolean\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_wedo_tilt_reporter={init:function(){this.jsonInit({message0:\"%1 %2 tilt angle %3\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/wedo2-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"},{type:\"input_value\",name:\"TILT\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"output_number\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_wedo_tilt_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TILT\",options:[[\"Any\",\"Any\"],[\"Whirl\",\"Whirl\"],[\"South\",\"South\"],[\"Back in time\",\"Back in time\"]]}],extensions:[\"colours_more\",\"output_string\"]})}};\nBlockly.Blocks.extension_music_reporter={init:function(){this.jsonInit({message0:\"%1 %2 hey now, you're an all-star\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/music-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"}],category:Blockly.Categories.more,extensions:[\"colours_more\",\"output_number\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_microbit_display={init:function(){this.jsonInit({message0:\"%1 %2 display %3\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/microbit-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"},{type:\"input_value\",name:\"MATRIX\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\",\"scratch_extension\"]})}};\nBlockly.Blocks.extension_music_play_note={init:function(){this.jsonInit({message0:\"%1 %2 play note %3 for %4 beats\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"extensions/music-block-icon.svg\",width:40,height:40},{type:\"field_vertical_separator\"},{type:\"input_value\",name:\"NOTE\"},{type:\"input_value\",name:\"BEATS\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\",\"scratch_extension\"]})}};Blockly.Blocks.looks={};Blockly.Blocks.looks_sayforsecs={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SAYFORSECS,args0:[{type:\"input_value\",name:\"MESSAGE\"},{type:\"input_value\",name:\"SECS\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_say={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SAY,args0:[{type:\"input_value\",name:\"MESSAGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_thinkforsecs={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_THINKFORSECS,args0:[{type:\"input_value\",name:\"MESSAGE\"},{type:\"input_value\",name:\"SECS\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_think={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_THINK,args0:[{type:\"input_value\",name:\"MESSAGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_show={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SHOW,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_hide={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_HIDE,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_hideallsprites={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_HIDEALLSPRITES,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_changeeffectby={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_CHANGEEFFECTBY,args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:[[Blockly.Msg.LOOKS_EFFECT_COLOR,\"COLOR\"],[Blockly.Msg.LOOKS_EFFECT_FISHEYE,\"FISHEYE\"],[Blockly.Msg.LOOKS_EFFECT_WHIRL,\"WHIRL\"],[Blockly.Msg.LOOKS_EFFECT_PIXELATE,\"PIXELATE\"],[Blockly.Msg.LOOKS_EFFECT_MOSAIC,\"MOSAIC\"],[Blockly.Msg.LOOKS_EFFECT_BRIGHTNESS,\"BRIGHTNESS\"],[Blockly.Msg.LOOKS_EFFECT_GHOST,\"GHOST\"]]},{type:\"input_value\",name:\"CHANGE\"}],\ncategory:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_seteffectto={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SETEFFECTTO,args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:[[Blockly.Msg.LOOKS_EFFECT_COLOR,\"COLOR\"],[Blockly.Msg.LOOKS_EFFECT_FISHEYE,\"FISHEYE\"],[Blockly.Msg.LOOKS_EFFECT_WHIRL,\"WHIRL\"],[Blockly.Msg.LOOKS_EFFECT_PIXELATE,\"PIXELATE\"],[Blockly.Msg.LOOKS_EFFECT_MOSAIC,\"MOSAIC\"],[Blockly.Msg.LOOKS_EFFECT_BRIGHTNESS,\"BRIGHTNESS\"],[Blockly.Msg.LOOKS_EFFECT_GHOST,\"GHOST\"]]},{type:\"input_value\",name:\"VALUE\"}],\ncategory:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_cleargraphiceffects={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_CLEARGRAPHICEFFECTS,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_changesizeby={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_CHANGESIZEBY,args0:[{type:\"input_value\",name:\"CHANGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_setsizeto={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SETSIZETO,args0:[{type:\"input_value\",name:\"SIZE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_size={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SIZE,category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};Blockly.Blocks.looks_changestretchby={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_CHANGESTRETCHBY,args0:[{type:\"input_value\",name:\"CHANGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_setstretchto={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SETSTRETCHTO,args0:[{type:\"input_value\",name:\"STRETCH\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_costume={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"COSTUME\",options:[[\"costume1\",\"COSTUME1\"],[\"costume2\",\"COSTUME2\"]]}],colour:Blockly.Colours.looks.secondary,colourSecondary:Blockly.Colours.looks.secondary,colourTertiary:Blockly.Colours.looks.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.looks_switchcostumeto={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SWITCHCOSTUMETO,args0:[{type:\"input_value\",name:\"COSTUME\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_nextcostume={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_NEXTCOSTUME,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_switchbackdropto={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SWITCHBACKDROPTO,args0:[{type:\"input_value\",name:\"BACKDROP\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_backdrops={init:function(){this.jsonInit({id:\"looks_backdrops\",message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"BACKDROP\",options:[[\"backdrop1\",\"BACKDROP1\"]]}],colour:Blockly.Colours.looks.secondary,colourSecondary:Blockly.Colours.looks.secondary,colourTertiary:Blockly.Colours.looks.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.looks_gotofrontback={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_GOTOFRONTBACK,args0:[{type:\"field_dropdown\",name:\"FRONT_BACK\",options:[[Blockly.Msg.LOOKS_GOTOFRONTBACK_FRONT,\"front\"],[Blockly.Msg.LOOKS_GOTOFRONTBACK_BACK,\"back\"]]}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_goforwardbackwardlayers={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS,args0:[{type:\"field_dropdown\",name:\"FORWARD_BACKWARD\",options:[[Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD,\"forward\"],[Blockly.Msg.LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD,\"backward\"]]},{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_backdropnumbername={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_BACKDROPNUMBERNAME,args0:[{type:\"field_dropdown\",name:\"NUMBER_NAME\",options:[[Blockly.Msg.LOOKS_NUMBERNAME_NUMBER,\"number\"],[Blockly.Msg.LOOKS_NUMBERNAME_NAME,\"name\"]]}],category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};\nBlockly.Blocks.looks_costumenumbername={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_COSTUMENUMBERNAME,args0:[{type:\"field_dropdown\",name:\"NUMBER_NAME\",options:[[Blockly.Msg.LOOKS_NUMBERNAME_NUMBER,\"number\"],[Blockly.Msg.LOOKS_NUMBERNAME_NAME,\"name\"]]}],category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};\nBlockly.Blocks.looks_switchbackdroptoandwait={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SWITCHBACKDROPTOANDWAIT,args0:[{type:\"input_value\",name:\"BACKDROP\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_nextbackdrop={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_NEXTBACKDROP_BLOCK,category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.motion={};Blockly.Blocks.motion_movesteps={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_MOVESTEPS,args0:[{type:\"input_value\",name:\"STEPS\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_turnright={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_TURNRIGHT,args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"rotate-right.svg\",width:24,height:24},{type:\"input_value\",name:\"DEGREES\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_turnleft={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_TURNLEFT,args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"rotate-left.svg\",width:24,height:24},{type:\"input_value\",name:\"DEGREES\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_pointindirection={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_POINTINDIRECTION,args0:[{type:\"input_value\",name:\"DIRECTION\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_pointtowards_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TOWARDS\",options:[[Blockly.Msg.MOTION_POINTTOWARDS_POINTER,\"_mouse_\"],[Blockly.Msg.MOTION_POINTTOWARDS_RANDOM,\"_random_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_pointtowards={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_POINTTOWARDS,args0:[{type:\"input_value\",name:\"TOWARDS\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_goto_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TO\",options:[[Blockly.Msg.MOTION_GOTO_POINTER,\"_mouse_\"],[Blockly.Msg.MOTION_GOTO_RANDOM,\"_random_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_gotoxy={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_GOTOXY,args0:[{type:\"input_value\",name:\"X\"},{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_goto={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_GOTO,args0:[{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_glidesecstoxy={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_GLIDESECSTOXY,args0:[{type:\"input_value\",name:\"SECS\"},{type:\"input_value\",name:\"X\"},{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_glideto_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TO\",options:[[Blockly.Msg.MOTION_GLIDETO_POINTER,\"_mouse_\"],[Blockly.Msg.MOTION_GLIDETO_RANDOM,\"_random_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_glideto={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_GLIDETO,args0:[{type:\"input_value\",name:\"SECS\"},{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_changexby={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_CHANGEXBY,args0:[{type:\"input_value\",name:\"DX\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_setx={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_SETX,args0:[{type:\"input_value\",name:\"X\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_changeyby={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_CHANGEYBY,args0:[{type:\"input_value\",name:\"DY\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_sety={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_SETY,args0:[{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_ifonedgebounce={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_IFONEDGEBOUNCE,category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_setrotationstyle={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_SETROTATIONSTYLE,args0:[{type:\"field_dropdown\",name:\"STYLE\",options:[[Blockly.Msg.MOTION_SETROTATIONSTYLE_LEFTRIGHT,\"left-right\"],[Blockly.Msg.MOTION_SETROTATIONSTYLE_DONTROTATE,\"don't rotate\"],[Blockly.Msg.MOTION_SETROTATIONSTYLE_ALLAROUND,\"all around\"]]}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_xposition={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_XPOSITION,category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};Blockly.Blocks.motion_yposition={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_YPOSITION,category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};\nBlockly.Blocks.motion_direction={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_DIRECTION,category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};Blockly.Blocks.motion_scroll_right={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_SCROLLRIGHT,args0:[{type:\"input_value\",name:\"DISTANCE\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_scroll_up={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_SCROLLUP,args0:[{type:\"input_value\",name:\"DISTANCE\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_align_scene={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_ALIGNSCENE,args0:[{type:\"field_dropdown\",name:\"ALIGNMENT\",options:[[Blockly.Msg.MOTION_ALIGNSCENE_BOTTOMLEFT,\"bottom-left\"],[Blockly.Msg.MOTION_ALIGNSCENE_BOTTOMRIGHT,\"bottom-right\"],[Blockly.Msg.MOTION_ALIGNSCENE_MIDDLE,\"middle\"],[Blockly.Msg.MOTION_ALIGNSCENE_TOPLEFT,\"top-left\"],[Blockly.Msg.MOTION_ALIGNSCENE_TOPRIGHT,\"top-right\"]]}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_xscroll={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_XSCROLL,category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"output_number\"]})}};Blockly.Blocks.motion_yscroll={init:function(){this.jsonInit({message0:Blockly.Msg.MOTION_YSCROLL,category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"output_number\"]})}};\nBlockly.Blocks.operators={};Blockly.Blocks.operator_add={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_ADD,args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_subtract={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_SUBTRACT,args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_multiply={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_MULTIPLY,args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_divide={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_DIVIDE,args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_random={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_RANDOM,args0:[{type:\"input_value\",name:\"FROM\"},{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_lt={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_LT,args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_equals={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_EQUALS,args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_gt={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_GT,args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_and={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_AND,args0:[{type:\"input_value\",name:\"OPERAND1\",check:\"Boolean\"},{type:\"input_value\",name:\"OPERAND2\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_or={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_OR,args0:[{type:\"input_value\",name:\"OPERAND1\",check:\"Boolean\"},{type:\"input_value\",name:\"OPERAND2\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_not={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_NOT,args0:[{type:\"input_value\",name:\"OPERAND\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};Blockly.Blocks.operator_join={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_JOIN,args0:[{type:\"input_value\",name:\"STRING1\"},{type:\"input_value\",name:\"STRING2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};\nBlockly.Blocks.operator_letter_of={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_LETTEROF,args0:[{type:\"input_value\",name:\"LETTER\"},{type:\"input_value\",name:\"STRING\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};Blockly.Blocks.operator_length={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_LENGTH,args0:[{type:\"input_value\",name:\"STRING\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};\nBlockly.Blocks.operator_contains={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_CONTAINS,args0:[{type:\"input_value\",name:\"STRING1\"},{type:\"input_value\",name:\"STRING2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_mod={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_MOD,args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.operator_round={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_ROUND,args0:[{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_mathop={init:function(){this.jsonInit({message0:Blockly.Msg.OPERATORS_MATHOP,args0:[{type:\"field_dropdown\",name:\"OPERATOR\",options:[[Blockly.Msg.OPERATORS_MATHOP_ABS,\"abs\"],[Blockly.Msg.OPERATORS_MATHOP_FLOOR,\"floor\"],[Blockly.Msg.OPERATORS_MATHOP_CEILING,\"ceiling\"],[Blockly.Msg.OPERATORS_MATHOP_SQRT,\"sqrt\"],[Blockly.Msg.OPERATORS_MATHOP_SIN,\"sin\"],[Blockly.Msg.OPERATORS_MATHOP_COS,\"cos\"],[Blockly.Msg.OPERATORS_MATHOP_TAN,\"tan\"],[Blockly.Msg.OPERATORS_MATHOP_ASIN,\"asin\"],[Blockly.Msg.OPERATORS_MATHOP_ACOS,\n\"acos\"],[Blockly.Msg.OPERATORS_MATHOP_ATAN,\"atan\"],[Blockly.Msg.OPERATORS_MATHOP_LN,\"ln\"],[Blockly.Msg.OPERATORS_MATHOP_LOG,\"log\"],[Blockly.Msg.OPERATORS_MATHOP_EEXP,\"e ^\"],[Blockly.Msg.OPERATORS_MATHOP_10EXP,\"10 ^\"]]},{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.ScratchBlocks.ProcedureUtils={};Blockly.ScratchBlocks.ProcedureUtils.callerMutationToDom=function(){var a=document.createElement(\"mutation\");a.setAttribute(\"proccode\",this.procCode_);a.setAttribute(\"argumentids\",JSON.stringify(this.argumentIds_));a.setAttribute(\"warp\",JSON.stringify(this.warp_));return a};\nBlockly.ScratchBlocks.ProcedureUtils.callerDomToMutation=function(a){this.procCode_=a.getAttribute(\"proccode\");this.generateShadows_=JSON.parse(a.getAttribute(\"generateshadows\"));this.argumentIds_=JSON.parse(a.getAttribute(\"argumentids\"));this.warp_=JSON.parse(a.getAttribute(\"warp\"));this.updateDisplay_()};\nBlockly.ScratchBlocks.ProcedureUtils.definitionMutationToDom=function(a){var b=document.createElement(\"mutation\");a&&b.setAttribute(\"generateshadows\",!0);b.setAttribute(\"proccode\",this.procCode_);b.setAttribute(\"argumentids\",JSON.stringify(this.argumentIds_));b.setAttribute(\"argumentnames\",JSON.stringify(this.displayNames_));b.setAttribute(\"argumentdefaults\",JSON.stringify(this.argumentDefaults_));b.setAttribute(\"warp\",JSON.stringify(this.warp_));return b};\nBlockly.ScratchBlocks.ProcedureUtils.definitionDomToMutation=function(a){this.procCode_=a.getAttribute(\"proccode\");this.warp_=JSON.parse(a.getAttribute(\"warp\"));var b=this.argumentIds_,c=this.displayNames_;this.argumentIds_=JSON.parse(a.getAttribute(\"argumentids\"));this.displayNames_=JSON.parse(a.getAttribute(\"argumentnames\"));this.argumentDefaults_=JSON.parse(a.getAttribute(\"argumentdefaults\"));this.updateDisplay_();this.updateArgumentReporterNames_&&this.updateArgumentReporterNames_(b,c)};\nBlockly.ScratchBlocks.ProcedureUtils.getProcCode=function(){return this.procCode_};Blockly.ScratchBlocks.ProcedureUtils.updateDisplay_=function(){var a=this.rendered;this.rendered=!1;var b=this.disconnectOldBlocks_();this.removeAllInputs_();this.createAllInputs_(b);this.deleteShadows_(b);(this.rendered=a)&&!this.isInsertionMarker()&&(this.initSvg(),this.render())};\nBlockly.ScratchBlocks.ProcedureUtils.disconnectOldBlocks_=function(){for(var a={},b=0,c;c=this.inputList[b];b++)if(c.connection){var d=c.connection.targetBlock(),e={shadow:c.connection.getShadowDom(),block:d};a[c.name]=e;c.connection.setShadowDom(null);d&&c.connection.disconnect()}return a};Blockly.ScratchBlocks.ProcedureUtils.removeAllInputs_=function(){for(var a=0,b;b=this.inputList[a];a++)b.dispose();this.inputList=[]};\nBlockly.ScratchBlocks.ProcedureUtils.createAllInputs_=function(a){var b=this.procCode_.split(/(?=[^\\\\]%[nbs])/);b=b.map(function(a){return a.trim()});for(var c=0,d=0,e;e=b[d];d++){if(\"%\"==e.substring(0,1)){var f=e.substring(1,2);if(\"n\"!=f&&\"b\"!=f&&\"s\"!=f)throw Error(\"Found an custom procedure with an invalid type: \"+f);e=e.substring(2).trim();var g=this.argumentIds_[c],h=this.appendValueInput(g);\"b\"==f&&h.setCheck(\"Boolean\");this.populateArgument_(f,c,a,g,h);c++}else e=e.trim();this.addProcedureLabel_(e.replace(/\\\\%/,\n\"%\"))}};Blockly.ScratchBlocks.ProcedureUtils.deleteShadows_=function(a){if(a)for(var b in a){var c=a[b];c&&(c=c.block)&&c.isShadow()&&(c.dispose(),a[b]=null)}};Blockly.ScratchBlocks.ProcedureUtils.addLabelField_=function(a){this.appendDummyInput().appendField(a)};Blockly.ScratchBlocks.ProcedureUtils.addLabelEditor_=function(a){a&&this.appendDummyInput(Blockly.utils.genUid()).appendField(new Blockly.FieldTextInputRemovable(a))};\nBlockly.ScratchBlocks.ProcedureUtils.buildShadowDom_=function(a){var b=goog.dom.createDom(\"shadow\");if(\"n\"==a){var c=\"math_number\";a=\"NUM\";var d=\"1\"}else c=\"text\",a=\"TEXT\",d=\"\";b.setAttribute(\"type\",c);c=goog.dom.createDom(\"field\",null,d);c.setAttribute(\"name\",a);b.appendChild(c);return b};\nBlockly.ScratchBlocks.ProcedureUtils.attachShadow_=function(a,b){if(\"n\"==b||\"s\"==b){var c=\"n\"==b?\"math_number\":\"text\";Blockly.Events.disable();try{var d=this.workspace.newBlock(c);\"n\"==b?d.setFieldValue(\"1\",\"NUM\"):d.setFieldValue(\"\",\"TEXT\");d.setShadow(!0);this.isInsertionMarker()||(d.initSvg(),d.render(!1))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(d));d.outputConnection.connect(a.connection)}};\nBlockly.ScratchBlocks.ProcedureUtils.createArgumentReporter_=function(a,b){a=\"n\"==a||\"s\"==a?\"argument_reporter_string_number\":\"argument_reporter_boolean\";Blockly.Events.disable();try{var c=this.workspace.newBlock(a);c.setShadow(!0);c.setFieldValue(b,\"VALUE\");this.isInsertionMarker()||(c.initSvg(),c.render(!1))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(c));return c};\nBlockly.ScratchBlocks.ProcedureUtils.populateArgumentOnCaller_=function(a,b,c,d,e){var f=b=null;c&&d in c&&(d=c[d],b=d.block,f=d.shadow);c&&b?(c[e.name]=null,b.outputConnection.connect(e.connection),\"b\"!=a&&this.generateShadows_&&(a=f||this.buildShadowDom_(a),console.log(\"setting shadow dom: \"+a),e.connection.setShadowDom(a))):this.generateShadows_&&this.attachShadow_(e,a)};\nBlockly.ScratchBlocks.ProcedureUtils.populateArgumentOnPrototype_=function(a,b,c,d,e){var f=null;c&&d in c&&(f=c[d].block);d=Blockly.ScratchBlocks.ProcedureUtils.checkOldTypeMatches_(f,a);b=this.displayNames_[b];c&&f&&d?(a=f,a.setFieldValue(b,\"VALUE\"),c[e.name]=null):a=this.createArgumentReporter_(a,b);e.connection.connect(a.outputConnection)};\nBlockly.ScratchBlocks.ProcedureUtils.populateArgumentOnDeclaration_=function(a,b,c,d,e){var f=null;c&&d in c&&(f=c[d].block);d=Blockly.ScratchBlocks.ProcedureUtils.checkOldTypeMatches_(f,a);b=this.displayNames_[b];f&&d?(a=f,f.setFieldValue(b,\"TEXT\"),c[e.name]=null):a=this.createArgumentEditor_(a,b);e.connection.connect(a.outputConnection)};\nBlockly.ScratchBlocks.ProcedureUtils.checkOldTypeMatches_=function(a,b){return a?(\"n\"==b||\"s\"==b)&&\"argument_reporter_string_number\"==a.type||\"b\"==b&&\"argument_reporter_boolean\"==a.type?!0:!1:!1};\nBlockly.ScratchBlocks.ProcedureUtils.createArgumentEditor_=function(a,b){Blockly.Events.disable();try{var c=\"n\"==a||\"s\"==a?this.workspace.newBlock(\"argument_editor_string_number\"):this.workspace.newBlock(\"argument_editor_boolean\");c.setFieldValue(b,\"TEXT\");c.setShadow(!0);this.isInsertionMarker()||(c.initSvg(),c.render(!1))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(c));return c};\nBlockly.ScratchBlocks.ProcedureUtils.updateDeclarationProcCode_=function(){this.procCode_=\"\";this.displayNames_=[];this.argumentIds_=[];for(var a=0;a>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;\ngoog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(a.clone)return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};\ngoog.bindJs_=function(a,b,c){if(!a)throw Error();if(2Number(a[1])?!1:b('(()=>{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a(\"es6-impl\",function(){return!0});a(\"es7\",function(){return b(\"2 ** 2 == 4\")});a(\"es8\",function(){return b(\"async () => 1, true\")});a(\"es_next\",function(){return b(\"({...rest} = {}), true\")});\nreturn c},goog.Transpiler.prototype.needsTranspile=function(a){if(\"always\"==goog.TRANSPILE)return!0;if(\"never\"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a];throw Error(\"Unknown language mode: \"+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.DebugLoader=function(){this.dependencies_=\n{loadFlags:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}};this.oldIeWaiting_=!1;this.queuedModules_=[];this.lastNonModuleScriptIndex_=0},goog.DebugLoader.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader.prototype.earlyProcessLoad=function(a){goog.DebugLoader.IS_OLD_IE_&&this.maybeProcessDeferredDep_(a)},goog.DebugLoader.prototype.load=function(a){var b=this.getPathFromDeps_(a);if(b){var c=[],d={},e=this.dependencies_,f=this,g=function(a){if(!(a in\ne.written||a in e.visited)){e.visited[a]=!0;if(a in e.requires)for(var b in e.requires[a])if(!f.isProvided(b))if(b in e.nameToPath)g(e.nameToPath[b]);else throw Error(\"Undefined nameToPath for \"+b);a in d||(d[a]=!0,c.push(a))}};g(b);for(a=0;a\\x3c/script>')},goog.DebugLoader.prototype.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement(\"script\");c.type=\"text/javascript\";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.DebugLoader.prototype.writeScriptTag_=function(a,b){if(this.inHtmlDocument()){var c=goog.global.document;\nif(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&\"complete\"==c.readyState){if(/\\bdeps.js$/.test(a))return!1;throw Error('Cannot write \"'+a+'\" after document load');}void 0===b?goog.DebugLoader.IS_OLD_IE_?(this.oldIeWaiting_=!0,b=\" onreadystatechange='goog.debugLoader_.onScriptLoad_(this, \"+ ++this.lastNonModuleScriptIndex_+\")' \",c.write('\n //\n // Has one line before it which is invalid according to GLSL ES 3.00\n //\n\n var lineOffset = 0;\n\n if (spaceRE.test(shaderSource)) {\n lineOffset = 1;\n shaderSource = shaderSource.replace(spaceRE, '');\n } // Load the shader source\n\n\n gl.shaderSource(shader, shaderSource); // Compile the shader\n\n gl.compileShader(shader); // Check the compile status\n\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n // Something went wrong during compilation; get the error\n var lastError = gl.getShaderInfoLog(shader);\n errFn(addLineNumbers(shaderSource, lineOffset) + \"\\n*** Error compiling shader: \" + lastError);\n gl.deleteShader(shader);\n return null;\n }\n\n return shader;\n}\n/**\n * @typedef {Object} ProgramOptions\n * @property {function(string)} [errorCallback] callback for errors\n * @property {Object.} [attribLocations] a attribute name to location map\n * @property {(module:twgl.BufferInfo|Object.|string[])} [transformFeedbackVaryings] If passed\n * a BufferInfo will use the attribs names inside. If passed an object of AttribInfos will use the names from that object. Otherwise\n * you can pass an array of names.\n * @property {number} [transformFeedbackMode] the mode to pass `gl.transformFeedbackVaryings`. Defaults to `SEPARATE_ATTRIBS`.\n * @memberOf module:twgl\n */\n\n/**\n * Gets the program options based on all these optional arguments\n * @param {module:twgl.ProgramOptions|string[]} [opt_attribs] Options for the program or an array of attribs names. Locations will be assigned by index if not passed in\n * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.\n * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console\n * on error. If you want something else pass an callback. It's passed an error message.\n * @return {module:twgl.ProgramOptions} an instance of ProgramOptions based on the arguments pased on\n */\n\n\nfunction getProgramOptions(opt_attribs, opt_locations, opt_errorCallback) {\n var transformFeedbackVaryings;\n\n if (typeof opt_locations === 'function') {\n opt_errorCallback = opt_locations;\n opt_locations = undefined;\n }\n\n if (typeof opt_attribs === 'function') {\n opt_errorCallback = opt_attribs;\n opt_attribs = undefined;\n } else if (opt_attribs && !Array.isArray(opt_attribs)) {\n // If we have an errorCallback we can just return this object\n // Otherwise we need to construct one with default errorCallback\n if (opt_attribs.errorCallback) {\n return opt_attribs;\n }\n\n var opt = opt_attribs;\n opt_errorCallback = opt.errorCallback;\n opt_attribs = opt.attribLocations;\n transformFeedbackVaryings = opt.transformFeedbackVaryings;\n }\n\n var options = {\n errorCallback: opt_errorCallback || error,\n transformFeedbackVaryings: transformFeedbackVaryings\n };\n\n if (opt_attribs) {\n var attribLocations = {};\n\n if (Array.isArray(opt_attribs)) {\n opt_attribs.forEach(function (attrib, ndx) {\n attribLocations[attrib] = opt_locations ? opt_locations[ndx] : ndx;\n });\n } else {\n attribLocations = opt_attribs;\n }\n\n options.attribLocations = attribLocations;\n }\n\n return options;\n}\n\nvar defaultShaderType = [\"VERTEX_SHADER\", \"FRAGMENT_SHADER\"];\n\nfunction getShaderTypeFromScriptType(scriptType) {\n if (scriptType.indexOf(\"frag\") >= 0) {\n return gl.FRAGMENT_SHADER;\n } else if (scriptType.indexOf(\"vert\") >= 0) {\n return gl.VERTEX_SHADER;\n }\n\n return undefined;\n}\n\nfunction deleteShaders(gl, shaders) {\n shaders.forEach(function (shader) {\n gl.deleteShader(shader);\n });\n}\n/**\n * Creates a program, attaches (and/or compiles) shaders, binds attrib locations, links the\n * program and calls useProgram.\n *\n * NOTE: There are 4 signatures for this function\n *\n * twgl.createProgram(gl, [vs, fs], options);\n * twgl.createProgram(gl, [vs, fs], opt_errFunc);\n * twgl.createProgram(gl, [vs, fs], opt_attribs, opt_errFunc);\n * twgl.createProgram(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc);\n *\n * @param {WebGLShader[]|string[]} shaders The shaders to attach, or element ids for their source, or strings that contain their source\n * @param {module:twgl.ProgramOptions|string[]} [opt_attribs] Options for the program or an array of attribs names. Locations will be assigned by index if not passed in\n * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.\n * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors. By default it just prints an error to the console\n * on error. If you want something else pass an callback. It's passed an error message.\n * @return {WebGLProgram?} the created program or null if error.\n * @memberOf module:twgl/programs\n */\n\n\nfunction createProgram(gl, shaders, opt_attribs, opt_locations, opt_errorCallback) {\n var progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback);\n var realShaders = [];\n var newShaders = [];\n\n for (var ndx = 0; ndx < shaders.length; ++ndx) {\n var shader = shaders[ndx];\n\n if (typeof shader === 'string') {\n var elem = getElementById(shader);\n var src = elem ? elem.text : shader;\n var type = gl[defaultShaderType[ndx]];\n\n if (elem && elem.type) {\n type = getShaderTypeFromScriptType(elem.type) || type;\n }\n\n shader = loadShader(gl, src, type, progOptions.errorCallback);\n newShaders.push(shader);\n }\n\n if (helper.isShader(gl, shader)) {\n realShaders.push(shader);\n }\n }\n\n if (realShaders.length !== shaders.length) {\n progOptions.errorCallback(\"not enough shaders for program\");\n deleteShaders(gl, newShaders);\n return null;\n }\n\n var program = gl.createProgram();\n realShaders.forEach(function (shader) {\n gl.attachShader(program, shader);\n });\n\n if (progOptions.attribLocations) {\n Object.keys(progOptions.attribLocations).forEach(function (attrib) {\n gl.bindAttribLocation(program, progOptions.attribLocations[attrib], attrib);\n });\n }\n\n var varyings = progOptions.transformFeedbackVaryings;\n\n if (varyings) {\n if (varyings.attribs) {\n varyings = varyings.attribs;\n }\n\n if (!Array.isArray(varyings)) {\n varyings = Object.keys(varyings);\n }\n\n gl.transformFeedbackVaryings(program, varyings, progOptions.transformFeedbackMode || gl.SEPARATE_ATTRIBS);\n }\n\n gl.linkProgram(program); // Check the link status\n\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n // something went wrong with the link\n var lastError = gl.getProgramInfoLog(program);\n progOptions.errorCallback(\"Error in program linking:\" + lastError);\n gl.deleteProgram(program);\n deleteShaders(gl, newShaders);\n return null;\n }\n\n return program;\n}\n/**\n * Loads a shader from a script tag.\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {string} scriptId The id of the script tag.\n * @param {number} [opt_shaderType] The type of shader. If not passed in it will\n * be derived from the type of the script tag.\n * @param {module:twgl.ErrorCallback} [opt_errorCallback] callback for errors.\n * @return {WebGLShader?} The created shader or null if error.\n */\n\n\nfunction createShaderFromScript(gl, scriptId, opt_shaderType, opt_errorCallback) {\n var shaderSource = \"\";\n var shaderScript = getElementById(scriptId);\n\n if (!shaderScript) {\n throw \"*** Error: unknown script element\" + scriptId;\n }\n\n shaderSource = shaderScript.text;\n var shaderType = opt_shaderType || getShaderTypeFromScriptType(shaderScript.type);\n\n if (!shaderType) {\n throw \"*** Error: unknown shader type\";\n }\n\n return loadShader(gl, shaderSource, shaderType, opt_errorCallback);\n}\n/**\n * Creates a program from 2 script tags.\n *\n * NOTE: There are 4 signatures for this function\n *\n * twgl.createProgramFromScripts(gl, [vs, fs], opt_options);\n * twgl.createProgramFromScripts(gl, [vs, fs], opt_errFunc);\n * twgl.createProgramFromScripts(gl, [vs, fs], opt_attribs, opt_errFunc);\n * twgl.createProgramFromScripts(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc);\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext\n * to use.\n * @param {string[]} shaderScriptIds Array of ids of the script\n * tags for the shaders. The first is assumed to be the\n * vertex shader, the second the fragment shader.\n * @param {string[]} [opt_attribs] An array of attribs names. Locations will be assigned by index if not passed in\n * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.\n * @param {module:twgl.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console\n * on error. If you want something else pass an callback. It's passed an error message.\n * @return {WebGLProgram} The created program.\n * @memberOf module:twgl/programs\n */\n\n\nfunction createProgramFromScripts(gl, shaderScriptIds, opt_attribs, opt_locations, opt_errorCallback) {\n var progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback);\n var shaders = [];\n\n for (var ii = 0; ii < shaderScriptIds.length; ++ii) {\n var shader = createShaderFromScript(gl, shaderScriptIds[ii], gl[defaultShaderType[ii]], progOptions.errorCallback);\n\n if (!shader) {\n return null;\n }\n\n shaders.push(shader);\n }\n\n return createProgram(gl, shaders, progOptions);\n}\n/**\n * Creates a program from 2 sources.\n *\n * NOTE: There are 4 signatures for this function\n *\n * twgl.createProgramFromSource(gl, [vs, fs], opt_options);\n * twgl.createProgramFromSource(gl, [vs, fs], opt_errFunc);\n * twgl.createProgramFromSource(gl, [vs, fs], opt_attribs, opt_errFunc);\n * twgl.createProgramFromSource(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc);\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext\n * to use.\n * @param {string[]} shaderSources Array of sources for the\n * shaders. The first is assumed to be the vertex shader,\n * the second the fragment shader.\n * @param {string[]} [opt_attribs] An array of attribs names. Locations will be assigned by index if not passed in\n * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.\n * @param {module:twgl.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console\n * on error. If you want something else pass an callback. It's passed an error message.\n * @return {WebGLProgram} The created program.\n * @memberOf module:twgl/programs\n */\n\n\nfunction createProgramFromSources(gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) {\n var progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback);\n var shaders = [];\n\n for (var ii = 0; ii < shaderSources.length; ++ii) {\n var shader = loadShader(gl, shaderSources[ii], gl[defaultShaderType[ii]], progOptions.errorCallback);\n\n if (!shader) {\n return null;\n }\n\n shaders.push(shader);\n }\n\n return createProgram(gl, shaders, progOptions);\n}\n/**\n * Returns true if attribute/uniform is a reserved/built in\n *\n * It makes no sense to me why GL returns these because it's\n * illegal to call `gl.getUniformLocation` and `gl.getAttribLocation`\n * with names that start with `gl_` (and `webgl_` in WebGL)\n *\n * I can only assume they are there because they might count\n * when computing the number of uniforms/attributes used when you want to\n * know if you are near the limit. That doesn't really make sense\n * to me but the fact that these get returned are in the spec.\n *\n * @param {WebGLActiveInfo} info As returned from `gl.getActiveUniform` or\n * `gl.getActiveAttrib`.\n * @return {bool} true if it's reserved\n */\n\n\nfunction isBuiltIn(info) {\n var name = info.name;\n return name.startsWith(\"gl_\") || name.startsWith(\"webgl_\");\n}\n/**\n * Creates setter functions for all uniforms of a shader\n * program.\n *\n * @see {@link module:twgl.setUniforms}\n *\n * @param {WebGLProgram} program the program to create setters for.\n * @returns {Object.} an object with a setter by name for each uniform\n * @memberOf module:twgl/programs\n */\n\n\nfunction createUniformSetters(gl, program) {\n var textureUnit = 0;\n /**\n * Creates a setter for a uniform of the given program with it's\n * location embedded in the setter.\n * @param {WebGLProgram} program\n * @param {WebGLUniformInfo} uniformInfo\n * @returns {function} the created setter.\n */\n\n function createUniformSetter(program, uniformInfo) {\n var location = gl.getUniformLocation(program, uniformInfo.name);\n var isArray = uniformInfo.size > 1 && uniformInfo.name.substr(-3) === \"[0]\";\n var type = uniformInfo.type;\n var typeInfo = typeMap[type];\n\n if (!typeInfo) {\n throw \"unknown type: 0x\" + type.toString(16); // we should never get here.\n }\n\n var setter;\n\n if (typeInfo.bindPoint) {\n // it's a sampler\n var unit = textureUnit;\n textureUnit += uniformInfo.size;\n\n if (isArray) {\n setter = typeInfo.arraySetter(gl, type, unit, location, uniformInfo.size);\n } else {\n setter = typeInfo.setter(gl, type, unit, location, uniformInfo.size);\n }\n } else {\n if (typeInfo.arraySetter && isArray) {\n setter = typeInfo.arraySetter(gl, location);\n } else {\n setter = typeInfo.setter(gl, location);\n }\n }\n\n setter.location = location;\n return setter;\n }\n\n var uniformSetters = {};\n var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n\n for (var ii = 0; ii < numUniforms; ++ii) {\n var uniformInfo = gl.getActiveUniform(program, ii);\n\n if (isBuiltIn(uniformInfo)) {\n continue;\n }\n\n var name = uniformInfo.name; // remove the array suffix.\n\n if (name.substr(-3) === \"[0]\") {\n name = name.substr(0, name.length - 3);\n }\n\n var setter = createUniformSetter(program, uniformInfo);\n uniformSetters[name] = setter;\n }\n\n return uniformSetters;\n}\n/**\n * @typedef {Object} TransformFeedbackInfo\n * @property {number} index index of transform feedback\n * @property {number} type GL type\n * @property {number} size 1 - 4\n * @memberOf module:twgl\n */\n\n/**\n * Create TransformFeedbackInfo for passing to bind/unbindTransformFeedbackInfo.\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {WebGLProgram} program an existing WebGLProgram.\n * @return {Object}\n * @memberOf module:twgl\n */\n\n\nfunction createTransformFeedbackInfo(gl, program) {\n var info = {};\n var numVaryings = gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS);\n\n for (var ii = 0; ii < numVaryings; ++ii) {\n var varying = gl.getTransformFeedbackVarying(program, ii);\n info[varying.name] = {\n index: ii,\n type: varying.type,\n size: varying.size\n };\n }\n\n return info;\n}\n/**\n * Binds buffers for transform feedback.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {(module:twgl.ProgramInfo|Object)} transformFeedbackInfo A ProgramInfo or TransformFeedbackInfo.\n * @param {(module:twgl.BufferInfo|Object)} [bufferInfo] A BufferInfo or set of AttribInfos.\n * @memberOf module:twgl\n */\n\n\nfunction bindTransformFeedbackInfo(gl, transformFeedbackInfo, bufferInfo) {\n if (transformFeedbackInfo.transformFeedbackInfo) {\n transformFeedbackInfo = transformFeedbackInfo.transformFeedbackInfo;\n }\n\n if (bufferInfo.attribs) {\n bufferInfo = bufferInfo.attribs;\n }\n\n for (var name in bufferInfo) {\n var varying = transformFeedbackInfo[name];\n\n if (varying) {\n var buf = bufferInfo[name];\n\n if (buf.offset) {\n gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, varying.index, buf.buffer, buf.offset, buf.size);\n } else {\n gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, varying.index, buf.buffer);\n }\n }\n }\n}\n/**\n * Unbinds buffers afetr transform feedback.\n *\n * Buffers can not be bound to 2 bind points so if you try to bind a buffer used\n * in a transform feedback as an ARRAY_BUFFER for an attribute it will fail.\n *\n * This function unbinds all buffers that were bound with {@link module:twgl.bindTransformFeedbackInfo}.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {(module:twgl.ProgramInfo|Object)} transformFeedbackInfo A ProgramInfo or TransformFeedbackInfo.\n * @param {(module:twgl.BufferInfo|Object)} [bufferInfo] A BufferInfo or set of AttribInfos.\n */\n\n\nfunction unbindTransformFeedbackInfo(gl, transformFeedbackInfo, bufferInfo) {\n if (transformFeedbackInfo.transformFeedbackInfo) {\n transformFeedbackInfo = transformFeedbackInfo.transformFeedbackInfo;\n }\n\n if (bufferInfo.attribs) {\n bufferInfo = bufferInfo.attribs;\n }\n\n for (var name in bufferInfo) {\n var varying = transformFeedbackInfo[name];\n\n if (varying) {\n gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, varying.index, null);\n }\n }\n}\n/**\n * Creates a transform feedback and sets the buffers\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {module:twgl.ProgramInfo} programInfo A ProgramInfo as returned from {@link module:twgl.createProgramInfo}\n * @param {(module:twgl.BufferInfo|Object)} [bufferInfo] A BufferInfo or set of AttribInfos.\n * @return {WebGLTransformFeedback} the created transform feedback\n * @memberOf module:twgl\n */\n\n\nfunction createTransformFeedback(gl, programInfo, bufferInfo) {\n var tf = gl.createTransformFeedback();\n gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, tf);\n gl.useProgram(programInfo.program);\n bindTransformFeedbackInfo(gl, programInfo, bufferInfo);\n gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, null); // This is only needed because of a bug in Chrome 56. Will remove\n // when chrome fixes it.\n\n unbindTransformFeedbackInfo(gl, programInfo, bufferInfo);\n return tf;\n}\n/**\n * @typedef {Object} UniformData\n * @property {number} type The WebGL type enum for this uniform\n * @property {number} size The number of elements for this uniform\n * @property {number} blockNdx The block index this uniform appears in\n * @property {number} offset The byte offset in the block for this uniform's value\n * @memberOf module:twgl\n */\n\n/**\n * The specification for one UniformBlockObject\n *\n * @typedef {Object} BlockSpec\n * @property {number} index The index of the block.\n * @property {number} size The size in bytes needed for the block\n * @property {number[]} uniformIndices The indices of the uniforms used by the block. These indices\n * correspond to entries in a UniformData array in the {@link module:twgl.UniformBlockSpec}.\n * @property {bool} usedByVertexShader Self explanitory\n * @property {bool} usedByFragmentShader Self explanitory\n * @property {bool} used Self explanitory\n * @memberOf module:twgl\n */\n\n/**\n * A `UniformBlockSpec` represents the data needed to create and bind\n * UniformBlockObjects for a given program\n *\n * @typedef {Object} UniformBlockSpec\n * @property {Object. blockSpecs The BlockSpec for each block by block name\n * @property {UniformData[]} uniformData An array of data for each uniform by uniform index.\n * @memberOf module:twgl\n */\n\n/**\n * Creates a UniformBlockSpec for the given program.\n *\n * A UniformBlockSpec represents the data needed to create and bind\n * UniformBlockObjects\n *\n * @param {WebGL2RenderingContext} gl A WebGL2 Rendering Context\n * @param {WebGLProgram} program A WebGLProgram for a successfully linked program\n * @return {module:twgl.UniformBlockSpec} The created UniformBlockSpec\n * @memberOf module:twgl/programs\n */\n\n\nfunction createUniformBlockSpecFromProgram(gl, program) {\n var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n var uniformData = [];\n var uniformIndices = [];\n\n for (var ii = 0; ii < numUniforms; ++ii) {\n uniformIndices.push(ii);\n uniformData.push({});\n var uniformInfo = gl.getActiveUniform(program, ii);\n\n if (isBuiltIn(uniformInfo)) {\n break;\n } // REMOVE [0]?\n\n\n uniformData[ii].name = uniformInfo.name;\n }\n\n [[\"UNIFORM_TYPE\", \"type\"], [\"UNIFORM_SIZE\", \"size\"], // num elements\n [\"UNIFORM_BLOCK_INDEX\", \"blockNdx\"], [\"UNIFORM_OFFSET\", \"offset\"]].forEach(function (pair) {\n var pname = pair[0];\n var key = pair[1];\n gl.getActiveUniforms(program, uniformIndices, gl[pname]).forEach(function (value, ndx) {\n uniformData[ndx][key] = value;\n });\n });\n var blockSpecs = {};\n var numUniformBlocks = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);\n\n for (var _ii = 0; _ii < numUniformBlocks; ++_ii) {\n var name = gl.getActiveUniformBlockName(program, _ii);\n var blockSpec = {\n index: _ii,\n usedByVertexShader: gl.getActiveUniformBlockParameter(program, _ii, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n usedByFragmentShader: gl.getActiveUniformBlockParameter(program, _ii, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n size: gl.getActiveUniformBlockParameter(program, _ii, gl.UNIFORM_BLOCK_DATA_SIZE),\n uniformIndices: gl.getActiveUniformBlockParameter(program, _ii, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)\n };\n blockSpec.used = blockSpec.usedByVertexSahder || blockSpec.usedByFragmentShader;\n blockSpecs[name] = blockSpec;\n }\n\n return {\n blockSpecs: blockSpecs,\n uniformData: uniformData\n };\n}\n\nvar arraySuffixRE = /\\[\\d+\\]\\.$/; // better way to check?\n\n/**\n * Represents a UniformBlockObject including an ArrayBuffer with all the uniform values\n * and a corresponding WebGLBuffer to hold those values on the GPU\n *\n * @typedef {Object} UniformBlockInfo\n * @property {string} name The name of the block\n * @property {ArrayBuffer} array The array buffer that contains the uniform values\n * @property {Float32Array} asFloat A float view on the array buffer. This is useful\n * inspecting the contents of the buffer in the debugger.\n * @property {WebGLBuffer} buffer A WebGL buffer that will hold a copy of the uniform values for rendering.\n * @property {number} [offset] offset into buffer\n * @property {Object.} uniforms A uniform name to ArrayBufferView map.\n * each Uniform has a correctly typed `ArrayBufferView` into array at the correct offset\n * and length of that uniform. So for example a float uniform would have a 1 float `Float32Array`\n * view. A single mat4 would have a 16 element `Float32Array` view. An ivec2 would have an\n * `Int32Array` view, etc.\n * @memberOf module:twgl\n */\n\n/**\n * Creates a `UniformBlockInfo` for the specified block\n *\n * Note: **If the blockName matches no existing blocks a warning is printed to the console and a dummy\n * `UniformBlockInfo` is returned**. This is because when debugging GLSL\n * it is common to comment out large portions of a shader or for example set\n * the final output to a constant. When that happens blocks get optimized out.\n * If this function did not create dummy blocks your code would crash when debugging.\n *\n * @param {WebGL2RenderingContext} gl A WebGL2RenderingContext\n * @param {WebGLProgram} program A WebGLProgram\n * @param {module:twgl.UniformBlockSpec} uinformBlockSpec. A UniformBlockSpec as returned\n * from {@link module:twgl.createUniformBlockSpecFromProgram}.\n * @param {string} blockName The name of the block.\n * @return {module:twgl.UniformBlockInfo} The created UniformBlockInfo\n * @memberOf module:twgl/programs\n */\n\nfunction createUniformBlockInfoFromProgram(gl, program, uniformBlockSpec, blockName) {\n var blockSpecs = uniformBlockSpec.blockSpecs;\n var uniformData = uniformBlockSpec.uniformData;\n var blockSpec = blockSpecs[blockName];\n\n if (!blockSpec) {\n warn(\"no uniform block object named:\", blockName);\n return {\n name: blockName,\n uniforms: {}\n };\n }\n\n var array = new ArrayBuffer(blockSpec.size);\n var buffer = gl.createBuffer();\n var uniformBufferIndex = blockSpec.index;\n gl.bindBuffer(gl.UNIFORM_BUFFER, buffer);\n gl.uniformBlockBinding(program, blockSpec.index, uniformBufferIndex);\n var prefix = blockName + \".\";\n\n if (arraySuffixRE.test(prefix)) {\n prefix = prefix.replace(arraySuffixRE, \".\");\n }\n\n var uniforms = {};\n blockSpec.uniformIndices.forEach(function (uniformNdx) {\n var data = uniformData[uniformNdx];\n var typeInfo = typeMap[data.type];\n var Type = typeInfo.Type;\n var length = data.size * typeInfo.size;\n var name = data.name;\n\n if (name.substr(0, prefix.length) === prefix) {\n name = name.substr(prefix.length);\n }\n\n uniforms[name] = new Type(array, data.offset, length / Type.BYTES_PER_ELEMENT);\n });\n return {\n name: blockName,\n array: array,\n asFloat: new Float32Array(array),\n // for debugging\n buffer: buffer,\n uniforms: uniforms\n };\n}\n/**\n * Creates a `UniformBlockInfo` for the specified block\n *\n * Note: **If the blockName matches no existing blocks a warning is printed to the console and a dummy\n * `UniformBlockInfo` is returned**. This is because when debugging GLSL\n * it is common to comment out large portions of a shader or for example set\n * the final output to a constant. When that happens blocks get optimized out.\n * If this function did not create dummy blocks your code would crash when debugging.\n *\n * @param {WebGL2RenderingContext} gl A WebGL2RenderingContext\n * @param {module:twgl.ProgramInfo} programInfo a `ProgramInfo`\n * as returned from {@link module:twgl.createProgramInfo}\n * @param {string} blockName The name of the block.\n * @return {module:twgl.UniformBlockInfo} The created UniformBlockInfo\n * @memberOf module:twgl/programs\n */\n\n\nfunction createUniformBlockInfo(gl, programInfo, blockName) {\n return createUniformBlockInfoFromProgram(gl, programInfo.program, programInfo.uniformBlockSpec, blockName);\n}\n/**\n * Binds a unform block to the matching uniform block point.\n * Matches by blocks by name so blocks must have the same name not just the same\n * structure.\n *\n * If you have changed any values and you upload the valus into the corresponding WebGLBuffer\n * call {@link module:twgl.setUniformBlock} instead.\n *\n * @param {WebGL2RenderingContext} gl A WebGL 2 rendering context.\n * @param {(module:twgl.ProgramInfo|module:twgl.UniformBlockSpec)} programInfo a `ProgramInfo`\n * as returned from {@link module:twgl.createProgramInfo} or or `UniformBlockSpec` as\n * returned from {@link module:twgl.createUniformBlockSpecFromProgram}.\n * @param {module:twgl.UniformBlockInfo} uniformBlockInfo a `UniformBlockInfo` as returned from\n * {@link module:twgl.createUniformBlockInfo}.\n * @return {bool} true if buffer was bound. If the programInfo has no block with the same block name\n * no buffer is bound.\n * @memberOf module:twgl/programs\n */\n\n\nfunction bindUniformBlock(gl, programInfo, uniformBlockInfo) {\n var uniformBlockSpec = programInfo.uniformBlockSpec || programInfo;\n var blockSpec = uniformBlockSpec.blockSpecs[uniformBlockInfo.name];\n\n if (blockSpec) {\n var bufferBindIndex = blockSpec.index;\n gl.bindBufferRange(gl.UNIFORM_BUFFER, bufferBindIndex, uniformBlockInfo.buffer, uniformBlockInfo.offset || 0, uniformBlockInfo.array.byteLength);\n return true;\n }\n\n return false;\n}\n/**\n * Uploads the current uniform values to the corresponding WebGLBuffer\n * and binds that buffer to the program's corresponding bind point for the uniform block object.\n *\n * If you haven't changed any values and you only need to bind the uniform block object\n * call {@link module:twgl.bindUniformBlock} instead.\n *\n * @param {WebGL2RenderingContext} gl A WebGL 2 rendering context.\n * @param {(module:twgl.ProgramInfo|module:twgl.UniformBlockSpec)} programInfo a `ProgramInfo`\n * as returned from {@link module:twgl.createProgramInfo} or or `UniformBlockSpec` as\n * returned from {@link module:twgl.createUniformBlockSpecFromProgram}.\n * @param {module:twgl.UniformBlockInfo} uniformBlockInfo a `UniformBlockInfo` as returned from\n * {@link module:twgl.createUniformBlockInfo}.\n * @memberOf module:twgl/programs\n */\n\n\nfunction setUniformBlock(gl, programInfo, uniformBlockInfo) {\n if (bindUniformBlock(gl, programInfo, uniformBlockInfo)) {\n gl.bufferData(gl.UNIFORM_BUFFER, uniformBlockInfo.array, gl.DYNAMIC_DRAW);\n }\n}\n/**\n * Sets values of a uniform block object\n *\n * @param {module:twgl.UniformBlockInfo} uniformBlockInfo A UniformBlockInfo as returned by {@link module:twgl.createUniformBlockInfo}.\n * @param {Object.} values A uniform name to value map where the value is correct for the given\n * type of uniform. So for example given a block like\n *\n * uniform SomeBlock {\n * float someFloat;\n * vec2 someVec2;\n * vec3 someVec3Array[2];\n * int someInt;\n * }\n *\n * You can set the values of the uniform block with\n *\n * twgl.setBlockUniforms(someBlockInfo, {\n * someFloat: 12.3,\n * someVec2: [1, 2],\n * someVec3Array: [1, 2, 3, 4, 5, 6],\n * someInt: 5,\n * }\n *\n * Arrays can be JavaScript arrays or typed arrays\n *\n * Any name that doesn't match will be ignored\n * @memberOf module:twgl/programs\n */\n\n\nfunction setBlockUniforms(uniformBlockInfo, values) {\n var uniforms = uniformBlockInfo.uniforms;\n\n for (var name in values) {\n var array = uniforms[name];\n\n if (array) {\n var value = values[name];\n\n if (value.length) {\n array.set(value);\n } else {\n array[0] = value;\n }\n }\n }\n}\n/**\n * Set uniforms and binds related textures.\n *\n * example:\n *\n * const programInfo = createProgramInfo(\n * gl, [\"some-vs\", \"some-fs\"]);\n *\n * const tex1 = gl.createTexture();\n * const tex2 = gl.createTexture();\n *\n * ... assume we setup the textures with data ...\n *\n * const uniforms = {\n * u_someSampler: tex1,\n * u_someOtherSampler: tex2,\n * u_someColor: [1,0,0,1],\n * u_somePosition: [0,1,1],\n * u_someMatrix: [\n * 1,0,0,0,\n * 0,1,0,0,\n * 0,0,1,0,\n * 0,0,0,0,\n * ],\n * };\n *\n * gl.useProgram(program);\n *\n * This will automatically bind the textures AND set the\n * uniforms.\n *\n * twgl.setUniforms(programInfo, uniforms);\n *\n * For the example above it is equivalent to\n *\n * var texUnit = 0;\n * gl.activeTexture(gl.TEXTURE0 + texUnit);\n * gl.bindTexture(gl.TEXTURE_2D, tex1);\n * gl.uniform1i(u_someSamplerLocation, texUnit++);\n * gl.activeTexture(gl.TEXTURE0 + texUnit);\n * gl.bindTexture(gl.TEXTURE_2D, tex2);\n * gl.uniform1i(u_someSamplerLocation, texUnit++);\n * gl.uniform4fv(u_someColorLocation, [1, 0, 0, 1]);\n * gl.uniform3fv(u_somePositionLocation, [0, 1, 1]);\n * gl.uniformMatrix4fv(u_someMatrix, false, [\n * 1,0,0,0,\n * 0,1,0,0,\n * 0,0,1,0,\n * 0,0,0,0,\n * ]);\n *\n * Note it is perfectly reasonable to call `setUniforms` multiple times. For example\n *\n * const uniforms = {\n * u_someSampler: tex1,\n * u_someOtherSampler: tex2,\n * };\n *\n * const moreUniforms {\n * u_someColor: [1,0,0,1],\n * u_somePosition: [0,1,1],\n * u_someMatrix: [\n * 1,0,0,0,\n * 0,1,0,0,\n * 0,0,1,0,\n * 0,0,0,0,\n * ],\n * };\n *\n * twgl.setUniforms(programInfo, uniforms);\n * twgl.setUniforms(programInfo, moreUniforms);\n *\n * You can also add WebGLSamplers to uniform samplers as in\n *\n * const uniforms = {\n * u_someSampler: {\n * texture: someWebGLTexture,\n * sampler: someWebGLSampler,\n * },\n * };\n *\n * In which case both the sampler and texture will be bound to the\n * same unit.\n *\n * @param {(module:twgl.ProgramInfo|Object.)} setters a `ProgramInfo` as returned from `createProgramInfo` or the setters returned from\n * `createUniformSetters`.\n * @param {Object.} values an object with values for the\n * uniforms.\n * You can pass multiple objects by putting them in an array or by calling with more arguments.For example\n *\n * const sharedUniforms = {\n * u_fogNear: 10,\n * u_projection: ...\n * ...\n * };\n *\n * const localUniforms = {\n * u_world: ...\n * u_diffuseColor: ...\n * };\n *\n * twgl.setUniforms(programInfo, sharedUniforms, localUniforms);\n *\n * // is the same as\n *\n * twgl.setUniforms(programInfo, [sharedUniforms, localUniforms]);\n *\n * // is the same as\n *\n * twgl.setUniforms(programInfo, sharedUniforms);\n * twgl.setUniforms(programInfo, localUniforms};\n *\n * @memberOf module:twgl/programs\n */\n\n\nfunction setUniforms(setters, values) {\n // eslint-disable-line\n var actualSetters = setters.uniformSetters || setters;\n var numArgs = arguments.length;\n\n for (var andx = 1; andx < numArgs; ++andx) {\n var vals = arguments[andx];\n\n if (Array.isArray(vals)) {\n var numValues = vals.length;\n\n for (var ii = 0; ii < numValues; ++ii) {\n setUniforms(actualSetters, vals[ii]);\n }\n } else {\n for (var name in vals) {\n var setter = actualSetters[name];\n\n if (setter) {\n setter(vals[name]);\n }\n }\n }\n }\n}\n/**\n * Creates setter functions for all attributes of a shader\n * program. You can pass this to {@link module:twgl.setBuffersAndAttributes} to set all your buffers and attributes.\n *\n * @see {@link module:twgl.setAttributes} for example\n * @param {WebGLProgram} program the program to create setters for.\n * @return {Object.} an object with a setter for each attribute by name.\n * @memberOf module:twgl/programs\n */\n\n\nfunction createAttributeSetters(gl, program) {\n var attribSetters = {};\n var numAttribs = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n\n for (var ii = 0; ii < numAttribs; ++ii) {\n var attribInfo = gl.getActiveAttrib(program, ii);\n\n if (isBuiltIn(attribInfo)) {\n continue;\n }\n\n var index = gl.getAttribLocation(program, attribInfo.name);\n var typeInfo = attrTypeMap[attribInfo.type];\n var setter = typeInfo.setter(gl, index, typeInfo);\n setter.location = index;\n attribSetters[attribInfo.name] = setter;\n }\n\n return attribSetters;\n}\n/**\n * Sets attributes and binds buffers (deprecated... use {@link module:twgl.setBuffersAndAttributes})\n *\n * Example:\n *\n * const program = createProgramFromScripts(\n * gl, [\"some-vs\", \"some-fs\");\n *\n * const attribSetters = createAttributeSetters(program);\n *\n * const positionBuffer = gl.createBuffer();\n * const texcoordBuffer = gl.createBuffer();\n *\n * const attribs = {\n * a_position: {buffer: positionBuffer, numComponents: 3},\n * a_texcoord: {buffer: texcoordBuffer, numComponents: 2},\n * };\n *\n * gl.useProgram(program);\n *\n * This will automatically bind the buffers AND set the\n * attributes.\n *\n * setAttributes(attribSetters, attribs);\n *\n * Properties of attribs. For each attrib you can add\n * properties:\n *\n * * type: the type of data in the buffer. Default = gl.FLOAT\n * * normalize: whether or not to normalize the data. Default = false\n * * stride: the stride. Default = 0\n * * offset: offset into the buffer. Default = 0\n * * divisor: the divisor for instances. Default = undefined\n *\n * For example if you had 3 value float positions, 2 value\n * float texcoord and 4 value uint8 colors you'd setup your\n * attribs like this\n *\n * const attribs = {\n * a_position: {buffer: positionBuffer, numComponents: 3},\n * a_texcoord: {buffer: texcoordBuffer, numComponents: 2},\n * a_color: {\n * buffer: colorBuffer,\n * numComponents: 4,\n * type: gl.UNSIGNED_BYTE,\n * normalize: true,\n * },\n * };\n *\n * @param {Object.} setters Attribute setters as returned from createAttributeSetters\n * @param {Object.} buffers AttribInfos mapped by attribute name.\n * @memberOf module:twgl/programs\n * @deprecated use {@link module:twgl.setBuffersAndAttributes}\n */\n\n\nfunction setAttributes(setters, buffers) {\n for (var name in buffers) {\n var setter = setters[name];\n\n if (setter) {\n setter(buffers[name]);\n }\n }\n}\n/**\n * Sets attributes and buffers including the `ELEMENT_ARRAY_BUFFER` if appropriate\n *\n * Example:\n *\n * const programInfo = createProgramInfo(\n * gl, [\"some-vs\", \"some-fs\");\n *\n * const arrays = {\n * position: { numComponents: 3, data: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0], },\n * texcoord: { numComponents: 2, data: [0, 0, 0, 1, 1, 0, 1, 1], },\n * };\n *\n * const bufferInfo = createBufferInfoFromArrays(gl, arrays);\n *\n * gl.useProgram(programInfo.program);\n *\n * This will automatically bind the buffers AND set the\n * attributes.\n *\n * setBuffersAndAttributes(gl, programInfo, bufferInfo);\n *\n * For the example above it is equivilent to\n *\n * gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);\n * gl.enableVertexAttribArray(a_positionLocation);\n * gl.vertexAttribPointer(a_positionLocation, 3, gl.FLOAT, false, 0, 0);\n * gl.bindBuffer(gl.ARRAY_BUFFER, texcoordBuffer);\n * gl.enableVertexAttribArray(a_texcoordLocation);\n * gl.vertexAttribPointer(a_texcoordLocation, 4, gl.FLOAT, false, 0, 0);\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext.\n * @param {(module:twgl.ProgramInfo|Object.)} setters A `ProgramInfo` as returned from {@link module:twgl.createProgrmaInfo} or Attribute setters as returned from {@link module:twgl.createAttributeSetters}\n * @param {(module:twgl.BufferInfo|module:twgl.vertexArrayInfo)} buffers a `BufferInfo` as returned from {@link module:twgl.createBufferInfoFromArrays}.\n * or a `VertexArrayInfo` as returned from {@link module:twgl.createVertexArrayInfo}\n * @memberOf module:twgl/programs\n */\n\n\nfunction setBuffersAndAttributes(gl, programInfo, buffers) {\n if (buffers.vertexArrayObject) {\n gl.bindVertexArray(buffers.vertexArrayObject);\n } else {\n setAttributes(programInfo.attribSetters || programInfo, buffers.attribs);\n\n if (buffers.indices) {\n gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffers.indices);\n }\n }\n}\n/**\n * @typedef {Object} ProgramInfo\n * @property {WebGLProgram} program A shader program\n * @property {Object} uniformSetters object of setters as returned from createUniformSetters,\n * @property {Object} attribSetters object of setters as returned from createAttribSetters,\n * @propetty {module:twgl.UniformBlockSpec} [uniformBlockSpace] a uniform block spec for making UniformBlockInfos with createUniformBlockInfo etc..\n * @property {Object} [transformFeedbackInfo] info for transform feedbacks\n * @memberOf module:twgl\n */\n\n/**\n * Creates a ProgramInfo from an existing program.\n *\n * A ProgramInfo contains\n *\n * programInfo = {\n * program: WebGLProgram,\n * uniformSetters: object of setters as returned from createUniformSetters,\n * attribSetters: object of setters as returned from createAttribSetters,\n * }\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext\n * to use.\n * @param {WebGLProgram} program an existing WebGLProgram.\n * @return {module:twgl.ProgramInfo} The created ProgramInfo.\n * @memberOf module:twgl/programs\n */\n\n\nfunction createProgramInfoFromProgram(gl, program) {\n var uniformSetters = createUniformSetters(gl, program);\n var attribSetters = createAttributeSetters(gl, program);\n var programInfo = {\n program: program,\n uniformSetters: uniformSetters,\n attribSetters: attribSetters\n };\n\n if (utils.isWebGL2(gl)) {\n programInfo.uniformBlockSpec = createUniformBlockSpecFromProgram(gl, program);\n programInfo.transformFeedbackInfo = createTransformFeedbackInfo(gl, program);\n }\n\n return programInfo;\n}\n/**\n * Creates a ProgramInfo from 2 sources.\n *\n * A ProgramInfo contains\n *\n * programInfo = {\n * program: WebGLProgram,\n * uniformSetters: object of setters as returned from createUniformSetters,\n * attribSetters: object of setters as returned from createAttribSetters,\n * }\n *\n * NOTE: There are 4 signatures for this function\n *\n * twgl.createProgramInfo(gl, [vs, fs], options);\n * twgl.createProgramInfo(gl, [vs, fs], opt_errFunc);\n * twgl.createProgramInfo(gl, [vs, fs], opt_attribs, opt_errFunc);\n * twgl.createProgramInfo(gl, [vs, fs], opt_attribs, opt_locations, opt_errFunc);\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext\n * to use.\n * @param {string[]} shaderSources Array of sources for the\n * shaders or ids. The first is assumed to be the vertex shader,\n * the second the fragment shader.\n * @param {module:twgl.ProgramOptions|string[]} [opt_attribs] Options for the program or an array of attribs names. Locations will be assigned by index if not passed in\n * @param {number[]} [opt_locations] The locations for the attributes. A parallel array to opt_attribs letting you assign locations.\n * @param {module:twgl.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console\n * on error. If you want something else pass an callback. It's passed an error message.\n * @return {module:twgl.ProgramInfo?} The created ProgramInfo or null if it failed to link or compile\n * @memberOf module:twgl/programs\n */\n\n\nfunction createProgramInfo(gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) {\n var progOptions = getProgramOptions(opt_attribs, opt_locations, opt_errorCallback);\n var good = true;\n shaderSources = shaderSources.map(function (source) {\n // Lets assume if there is no \\n it's an id\n if (source.indexOf(\"\\n\") < 0) {\n var script = getElementById(source);\n\n if (!script) {\n progOptions.errorCallback(\"no element with id: \" + source);\n good = false;\n } else {\n source = script.text;\n }\n }\n\n return source;\n });\n\n if (!good) {\n return null;\n }\n\n var program = createProgramFromSources(gl, shaderSources, progOptions);\n\n if (!program) {\n return null;\n }\n\n return createProgramInfoFromProgram(gl, program);\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.axisRotate = axisRotate;\nexports.axisRotation = axisRotation;\nexports.copy = copy;\nexports.frustum = frustum;\nexports.getAxis = getAxis;\nexports.getTranslation = getTranslation;\nexports.identity = identity;\nexports.inverse = inverse;\nexports.lookAt = lookAt;\nexports.multiply = multiply;\nexports.negate = negate;\nexports.ortho = ortho;\nexports.perspective = perspective;\nexports.rotateX = rotateX;\nexports.rotateY = rotateY;\nexports.rotateZ = rotateZ;\nexports.rotationX = rotationX;\nexports.rotationY = rotationY;\nexports.rotationZ = rotationZ;\nexports.scale = scale;\nexports.scaling = scaling;\nexports.setAxis = setAxis;\nexports.setDefaultType = setDefaultType;\nexports.setTranslation = setTranslation;\nexports.transformDirection = transformDirection;\nexports.transformNormal = transformNormal;\nexports.transformPoint = transformPoint;\nexports.translate = translate;\nexports.translation = translation;\nexports.transpose = transpose;\n\nvar v3 = _interopRequireWildcard(__webpack_require__(3));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * 4x4 Matrix math math functions.\n *\n * Almost all functions take an optional `dst` argument. If it is not passed in the\n * functions will create a new matrix. In other words you can do this\n *\n * const mat = m4.translation([1, 2, 3]); // Creates a new translation matrix\n *\n * or\n *\n * const mat = m4.create();\n * m4.translation([1, 2, 3], mat); // Puts translation matrix in mat.\n *\n * The first style is often easier but depending on where it's used it generates garbage where\n * as there is almost never allocation with the second style.\n *\n * It is always save to pass any matrix as the destination. So for example\n *\n * const mat = m4.identity();\n * const trans = m4.translation([1, 2, 3]);\n * m4.multiply(mat, trans, mat); // Multiplies mat * trans and puts result in mat.\n *\n * @module twgl/m4\n */\nvar MatType = Float32Array;\nvar tempV3a = v3.create();\nvar tempV3b = v3.create();\nvar tempV3c = v3.create();\n/**\n * A JavaScript array with 16 values or a Float32Array with 16 values.\n * When created by the library will create the default type which is `Float32Array`\n * but can be set by calling {@link module:twgl/m4.setDefaultType}.\n * @typedef {(number[]|Float32Array)} Mat4\n * @memberOf module:twgl/m4\n */\n\n/**\n * Sets the type this library creates for a Mat4\n * @param {constructor} ctor the constructor for the type. Either `Float32Array` or `Array`\n * @return {constructor} previous constructor for Mat4\n */\n\nfunction setDefaultType(ctor) {\n var oldType = MatType;\n MatType = ctor;\n return oldType;\n}\n/**\n * Negates a matrix.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} -m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction negate(m, dst) {\n dst = dst || new MatType(16);\n dst[0] = -m[0];\n dst[1] = -m[1];\n dst[2] = -m[2];\n dst[3] = -m[3];\n dst[4] = -m[4];\n dst[5] = -m[5];\n dst[6] = -m[6];\n dst[7] = -m[7];\n dst[8] = -m[8];\n dst[9] = -m[9];\n dst[10] = -m[10];\n dst[11] = -m[11];\n dst[12] = -m[12];\n dst[13] = -m[13];\n dst[14] = -m[14];\n dst[15] = -m[15];\n return dst;\n}\n/**\n * Copies a matrix.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {module:twgl/m4.Mat4} [dst] The matrix.\n * @return {module:twgl/m4.Mat4} A copy of m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction copy(m, dst) {\n dst = dst || new MatType(16);\n dst[0] = m[0];\n dst[1] = m[1];\n dst[2] = m[2];\n dst[3] = m[3];\n dst[4] = m[4];\n dst[5] = m[5];\n dst[6] = m[6];\n dst[7] = m[7];\n dst[8] = m[8];\n dst[9] = m[9];\n dst[10] = m[10];\n dst[11] = m[11];\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n return dst;\n}\n/**\n * Creates an n-by-n identity matrix.\n *\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} An n-by-n identity matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction identity(dst) {\n dst = dst || new MatType(16);\n dst[0] = 1;\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = 1;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = 1;\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Takes the transpose of a matrix.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The transpose of m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction transpose(m, dst) {\n dst = dst || new MatType(16);\n\n if (dst === m) {\n var t;\n t = m[1];\n m[1] = m[4];\n m[4] = t;\n t = m[2];\n m[2] = m[8];\n m[8] = t;\n t = m[3];\n m[3] = m[12];\n m[12] = t;\n t = m[6];\n m[6] = m[9];\n m[9] = t;\n t = m[7];\n m[7] = m[13];\n m[13] = t;\n t = m[11];\n m[11] = m[14];\n m[14] = t;\n return dst;\n }\n\n var m00 = m[0 * 4 + 0];\n var m01 = m[0 * 4 + 1];\n var m02 = m[0 * 4 + 2];\n var m03 = m[0 * 4 + 3];\n var m10 = m[1 * 4 + 0];\n var m11 = m[1 * 4 + 1];\n var m12 = m[1 * 4 + 2];\n var m13 = m[1 * 4 + 3];\n var m20 = m[2 * 4 + 0];\n var m21 = m[2 * 4 + 1];\n var m22 = m[2 * 4 + 2];\n var m23 = m[2 * 4 + 3];\n var m30 = m[3 * 4 + 0];\n var m31 = m[3 * 4 + 1];\n var m32 = m[3 * 4 + 2];\n var m33 = m[3 * 4 + 3];\n dst[0] = m00;\n dst[1] = m10;\n dst[2] = m20;\n dst[3] = m30;\n dst[4] = m01;\n dst[5] = m11;\n dst[6] = m21;\n dst[7] = m31;\n dst[8] = m02;\n dst[9] = m12;\n dst[10] = m22;\n dst[11] = m32;\n dst[12] = m03;\n dst[13] = m13;\n dst[14] = m23;\n dst[15] = m33;\n return dst;\n}\n/**\n * Computes the inverse of a 4-by-4 matrix.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The inverse of m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction inverse(m, dst) {\n dst = dst || new MatType(16);\n var m00 = m[0 * 4 + 0];\n var m01 = m[0 * 4 + 1];\n var m02 = m[0 * 4 + 2];\n var m03 = m[0 * 4 + 3];\n var m10 = m[1 * 4 + 0];\n var m11 = m[1 * 4 + 1];\n var m12 = m[1 * 4 + 2];\n var m13 = m[1 * 4 + 3];\n var m20 = m[2 * 4 + 0];\n var m21 = m[2 * 4 + 1];\n var m22 = m[2 * 4 + 2];\n var m23 = m[2 * 4 + 3];\n var m30 = m[3 * 4 + 0];\n var m31 = m[3 * 4 + 1];\n var m32 = m[3 * 4 + 2];\n var m33 = m[3 * 4 + 3];\n var tmp_0 = m22 * m33;\n var tmp_1 = m32 * m23;\n var tmp_2 = m12 * m33;\n var tmp_3 = m32 * m13;\n var tmp_4 = m12 * m23;\n var tmp_5 = m22 * m13;\n var tmp_6 = m02 * m33;\n var tmp_7 = m32 * m03;\n var tmp_8 = m02 * m23;\n var tmp_9 = m22 * m03;\n var tmp_10 = m02 * m13;\n var tmp_11 = m12 * m03;\n var tmp_12 = m20 * m31;\n var tmp_13 = m30 * m21;\n var tmp_14 = m10 * m31;\n var tmp_15 = m30 * m11;\n var tmp_16 = m10 * m21;\n var tmp_17 = m20 * m11;\n var tmp_18 = m00 * m31;\n var tmp_19 = m30 * m01;\n var tmp_20 = m00 * m21;\n var tmp_21 = m20 * m01;\n var tmp_22 = m00 * m11;\n var tmp_23 = m10 * m01;\n var t0 = tmp_0 * m11 + tmp_3 * m21 + tmp_4 * m31 - (tmp_1 * m11 + tmp_2 * m21 + tmp_5 * m31);\n var t1 = tmp_1 * m01 + tmp_6 * m21 + tmp_9 * m31 - (tmp_0 * m01 + tmp_7 * m21 + tmp_8 * m31);\n var t2 = tmp_2 * m01 + tmp_7 * m11 + tmp_10 * m31 - (tmp_3 * m01 + tmp_6 * m11 + tmp_11 * m31);\n var t3 = tmp_5 * m01 + tmp_8 * m11 + tmp_11 * m21 - (tmp_4 * m01 + tmp_9 * m11 + tmp_10 * m21);\n var d = 1.0 / (m00 * t0 + m10 * t1 + m20 * t2 + m30 * t3);\n dst[0] = d * t0;\n dst[1] = d * t1;\n dst[2] = d * t2;\n dst[3] = d * t3;\n dst[4] = d * (tmp_1 * m10 + tmp_2 * m20 + tmp_5 * m30 - (tmp_0 * m10 + tmp_3 * m20 + tmp_4 * m30));\n dst[5] = d * (tmp_0 * m00 + tmp_7 * m20 + tmp_8 * m30 - (tmp_1 * m00 + tmp_6 * m20 + tmp_9 * m30));\n dst[6] = d * (tmp_3 * m00 + tmp_6 * m10 + tmp_11 * m30 - (tmp_2 * m00 + tmp_7 * m10 + tmp_10 * m30));\n dst[7] = d * (tmp_4 * m00 + tmp_9 * m10 + tmp_10 * m20 - (tmp_5 * m00 + tmp_8 * m10 + tmp_11 * m20));\n dst[8] = d * (tmp_12 * m13 + tmp_15 * m23 + tmp_16 * m33 - (tmp_13 * m13 + tmp_14 * m23 + tmp_17 * m33));\n dst[9] = d * (tmp_13 * m03 + tmp_18 * m23 + tmp_21 * m33 - (tmp_12 * m03 + tmp_19 * m23 + tmp_20 * m33));\n dst[10] = d * (tmp_14 * m03 + tmp_19 * m13 + tmp_22 * m33 - (tmp_15 * m03 + tmp_18 * m13 + tmp_23 * m33));\n dst[11] = d * (tmp_17 * m03 + tmp_20 * m13 + tmp_23 * m23 - (tmp_16 * m03 + tmp_21 * m13 + tmp_22 * m23));\n dst[12] = d * (tmp_14 * m22 + tmp_17 * m32 + tmp_13 * m12 - (tmp_16 * m32 + tmp_12 * m12 + tmp_15 * m22));\n dst[13] = d * (tmp_20 * m32 + tmp_12 * m02 + tmp_19 * m22 - (tmp_18 * m22 + tmp_21 * m32 + tmp_13 * m02));\n dst[14] = d * (tmp_18 * m12 + tmp_23 * m32 + tmp_15 * m02 - (tmp_22 * m32 + tmp_14 * m02 + tmp_19 * m12));\n dst[15] = d * (tmp_22 * m22 + tmp_16 * m02 + tmp_21 * m12 - (tmp_20 * m12 + tmp_23 * m22 + tmp_17 * m02));\n return dst;\n}\n/**\n * Multiplies two 4-by-4 matrices with a on the left and b on the right\n * @param {module:twgl/m4.Mat4} a The matrix on the left.\n * @param {module:twgl/m4.Mat4} b The matrix on the right.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The matrix product of a and b.\n * @memberOf module:twgl/m4\n */\n\n\nfunction multiply(a, b, dst) {\n dst = dst || new MatType(16);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a10 = a[4 + 0];\n var a11 = a[4 + 1];\n var a12 = a[4 + 2];\n var a13 = a[4 + 3];\n var a20 = a[8 + 0];\n var a21 = a[8 + 1];\n var a22 = a[8 + 2];\n var a23 = a[8 + 3];\n var a30 = a[12 + 0];\n var a31 = a[12 + 1];\n var a32 = a[12 + 2];\n var a33 = a[12 + 3];\n var b00 = b[0];\n var b01 = b[1];\n var b02 = b[2];\n var b03 = b[3];\n var b10 = b[4 + 0];\n var b11 = b[4 + 1];\n var b12 = b[4 + 2];\n var b13 = b[4 + 3];\n var b20 = b[8 + 0];\n var b21 = b[8 + 1];\n var b22 = b[8 + 2];\n var b23 = b[8 + 3];\n var b30 = b[12 + 0];\n var b31 = b[12 + 1];\n var b32 = b[12 + 2];\n var b33 = b[12 + 3];\n dst[0] = a00 * b00 + a10 * b01 + a20 * b02 + a30 * b03;\n dst[1] = a01 * b00 + a11 * b01 + a21 * b02 + a31 * b03;\n dst[2] = a02 * b00 + a12 * b01 + a22 * b02 + a32 * b03;\n dst[3] = a03 * b00 + a13 * b01 + a23 * b02 + a33 * b03;\n dst[4] = a00 * b10 + a10 * b11 + a20 * b12 + a30 * b13;\n dst[5] = a01 * b10 + a11 * b11 + a21 * b12 + a31 * b13;\n dst[6] = a02 * b10 + a12 * b11 + a22 * b12 + a32 * b13;\n dst[7] = a03 * b10 + a13 * b11 + a23 * b12 + a33 * b13;\n dst[8] = a00 * b20 + a10 * b21 + a20 * b22 + a30 * b23;\n dst[9] = a01 * b20 + a11 * b21 + a21 * b22 + a31 * b23;\n dst[10] = a02 * b20 + a12 * b21 + a22 * b22 + a32 * b23;\n dst[11] = a03 * b20 + a13 * b21 + a23 * b22 + a33 * b23;\n dst[12] = a00 * b30 + a10 * b31 + a20 * b32 + a30 * b33;\n dst[13] = a01 * b30 + a11 * b31 + a21 * b32 + a31 * b33;\n dst[14] = a02 * b30 + a12 * b31 + a22 * b32 + a32 * b33;\n dst[15] = a03 * b30 + a13 * b31 + a23 * b32 + a33 * b33;\n return dst;\n}\n/**\n * Sets the translation component of a 4-by-4 matrix to the given\n * vector.\n * @param {module:twgl/m4.Mat4} a The matrix.\n * @param {Vec3} v The vector.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} a once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction setTranslation(a, v, dst) {\n dst = dst || identity();\n\n if (a !== dst) {\n dst[0] = a[0];\n dst[1] = a[1];\n dst[2] = a[2];\n dst[3] = a[3];\n dst[4] = a[4];\n dst[5] = a[5];\n dst[6] = a[6];\n dst[7] = a[7];\n dst[8] = a[8];\n dst[9] = a[9];\n dst[10] = a[10];\n dst[11] = a[11];\n }\n\n dst[12] = v[0];\n dst[13] = v[1];\n dst[14] = v[2];\n dst[15] = 1;\n return dst;\n}\n/**\n * Returns the translation component of a 4-by-4 matrix as a vector with 3\n * entries.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} [dst] vector..\n * @return {Vec3} The translation component of m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction getTranslation(m, dst) {\n dst = dst || v3.create();\n dst[0] = m[12];\n dst[1] = m[13];\n dst[2] = m[14];\n return dst;\n}\n/**\n * Returns an axis of a 4x4 matrix as a vector with 3 entries\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {number} axis The axis 0 = x, 1 = y, 2 = z;\n * @return {Vec3} [dst] vector.\n * @return {Vec3} The axis component of m.\n * @memberOf module:twgl/m4\n */\n\n\nfunction getAxis(m, axis, dst) {\n dst = dst || v3.create();\n var off = axis * 4;\n dst[0] = m[off + 0];\n dst[1] = m[off + 1];\n dst[2] = m[off + 2];\n return dst;\n}\n/**\n * Sets an axis of a 4x4 matrix as a vector with 3 entries\n * @param {Vec3} v the axis vector\n * @param {number} axis The axis 0 = x, 1 = y, 2 = z;\n * @param {module:twgl/m4.Mat4} [dst] The matrix to set. If none a new one is created\n * @return {module:twgl/m4.Mat4} dst\n * @memberOf module:twgl/m4\n */\n\n\nfunction setAxis(a, v, axis, dst) {\n if (dst !== a) {\n dst = copy(a, dst);\n }\n\n var off = axis * 4;\n dst[off + 0] = v[0];\n dst[off + 1] = v[1];\n dst[off + 2] = v[2];\n return dst;\n}\n/**\n * Computes a 4-by-4 perspective transformation matrix given the angular height\n * of the frustum, the aspect ratio, and the near and far clipping planes. The\n * arguments define a frustum extending in the negative z direction. The given\n * angle is the vertical angle of the frustum, and the horizontal angle is\n * determined to produce the given aspect ratio. The arguments near and far are\n * the distances to the near and far clipping planes. Note that near and far\n * are not z coordinates, but rather they are distances along the negative\n * z-axis. The matrix generated sends the viewing frustum to the unit box.\n * We assume a unit box extending from -1 to 1 in the x and y dimensions and\n * from 0 to 1 in the z dimension.\n * @param {number} fieldOfViewYInRadians The camera angle from top to bottom (in radians).\n * @param {number} aspect The aspect ratio width / height.\n * @param {number} zNear The depth (negative z coordinate)\n * of the near clipping plane.\n * @param {number} zFar The depth (negative z coordinate)\n * of the far clipping plane.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The perspective matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction perspective(fieldOfViewYInRadians, aspect, zNear, zFar, dst) {\n dst = dst || new MatType(16);\n var f = Math.tan(Math.PI * 0.5 - 0.5 * fieldOfViewYInRadians);\n var rangeInv = 1.0 / (zNear - zFar);\n dst[0] = f / aspect;\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = f;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = (zNear + zFar) * rangeInv;\n dst[11] = -1;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = zNear * zFar * rangeInv * 2;\n dst[15] = 0;\n return dst;\n}\n/**\n * Computes a 4-by-4 othogonal transformation matrix given the left, right,\n * bottom, and top dimensions of the near clipping plane as well as the\n * near and far clipping plane distances.\n * @param {number} left Left side of the near clipping plane viewport.\n * @param {number} right Right side of the near clipping plane viewport.\n * @param {number} top Top of the near clipping plane viewport.\n * @param {number} bottom Bottom of the near clipping plane viewport.\n * @param {number} near The depth (negative z coordinate)\n * of the near clipping plane.\n * @param {number} far The depth (negative z coordinate)\n * of the far clipping plane.\n * @param {module:twgl/m4.Mat4} [dst] Output matrix.\n * @return {module:twgl/m4.Mat4} The perspective matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction ortho(left, right, bottom, top, near, far, dst) {\n dst = dst || new MatType(16);\n dst[0] = 2 / (right - left);\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = 2 / (top - bottom);\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = 2 / (near - far);\n dst[11] = 0;\n dst[12] = (right + left) / (left - right);\n dst[13] = (top + bottom) / (bottom - top);\n dst[14] = (far + near) / (near - far);\n dst[15] = 1;\n return dst;\n}\n/**\n * Computes a 4-by-4 perspective transformation matrix given the left, right,\n * top, bottom, near and far clipping planes. The arguments define a frustum\n * extending in the negative z direction. The arguments near and far are the\n * distances to the near and far clipping planes. Note that near and far are not\n * z coordinates, but rather they are distances along the negative z-axis. The\n * matrix generated sends the viewing frustum to the unit box. We assume a unit\n * box extending from -1 to 1 in the x and y dimensions and from 0 to 1 in the z\n * dimension.\n * @param {number} left The x coordinate of the left plane of the box.\n * @param {number} right The x coordinate of the right plane of the box.\n * @param {number} bottom The y coordinate of the bottom plane of the box.\n * @param {number} top The y coordinate of the right plane of the box.\n * @param {number} near The negative z coordinate of the near plane of the box.\n * @param {number} far The negative z coordinate of the far plane of the box.\n * @param {module:twgl/m4.Mat4} [dst] Output matrix.\n * @return {module:twgl/m4.Mat4} The perspective projection matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction frustum(left, right, bottom, top, near, far, dst) {\n dst = dst || new MatType(16);\n var dx = right - left;\n var dy = top - bottom;\n var dz = near - far;\n dst[0] = 2 * near / dx;\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = 2 * near / dy;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = (left + right) / dx;\n dst[9] = (top + bottom) / dy;\n dst[10] = far / dz;\n dst[11] = -1;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = near * far / dz;\n dst[15] = 0;\n return dst;\n}\n/**\n * Computes a 4-by-4 look-at transformation.\n *\n * This is a matrix which positions the camera itself. If you want\n * a view matrix (a matrix which moves things in front of the camera)\n * take the inverse of this.\n *\n * @param {Vec3} eye The position of the eye.\n * @param {Vec3} target The position meant to be viewed.\n * @param {Vec3} up A vector pointing up.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The look-at matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction lookAt(eye, target, up, dst) {\n dst = dst || new MatType(16);\n var xAxis = tempV3a;\n var yAxis = tempV3b;\n var zAxis = tempV3c;\n v3.normalize(v3.subtract(eye, target, zAxis), zAxis);\n v3.normalize(v3.cross(up, zAxis, xAxis), xAxis);\n v3.normalize(v3.cross(zAxis, xAxis, yAxis), yAxis);\n dst[0] = xAxis[0];\n dst[1] = xAxis[1];\n dst[2] = xAxis[2];\n dst[3] = 0;\n dst[4] = yAxis[0];\n dst[5] = yAxis[1];\n dst[6] = yAxis[2];\n dst[7] = 0;\n dst[8] = zAxis[0];\n dst[9] = zAxis[1];\n dst[10] = zAxis[2];\n dst[11] = 0;\n dst[12] = eye[0];\n dst[13] = eye[1];\n dst[14] = eye[2];\n dst[15] = 1;\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which translates by the given vector v.\n * @param {Vec3} v The vector by\n * which to translate.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The translation matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction translation(v, dst) {\n dst = dst || new MatType(16);\n dst[0] = 1;\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = 1;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = 1;\n dst[11] = 0;\n dst[12] = v[0];\n dst[13] = v[1];\n dst[14] = v[2];\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix by translation by the given vector v.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} v The vector by\n * which to translate.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction translate(m, v, dst) {\n dst = dst || new MatType(16);\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n var m00 = m[0];\n var m01 = m[1];\n var m02 = m[2];\n var m03 = m[3];\n var m10 = m[1 * 4 + 0];\n var m11 = m[1 * 4 + 1];\n var m12 = m[1 * 4 + 2];\n var m13 = m[1 * 4 + 3];\n var m20 = m[2 * 4 + 0];\n var m21 = m[2 * 4 + 1];\n var m22 = m[2 * 4 + 2];\n var m23 = m[2 * 4 + 3];\n var m30 = m[3 * 4 + 0];\n var m31 = m[3 * 4 + 1];\n var m32 = m[3 * 4 + 2];\n var m33 = m[3 * 4 + 3];\n\n if (m !== dst) {\n dst[0] = m00;\n dst[1] = m01;\n dst[2] = m02;\n dst[3] = m03;\n dst[4] = m10;\n dst[5] = m11;\n dst[6] = m12;\n dst[7] = m13;\n dst[8] = m20;\n dst[9] = m21;\n dst[10] = m22;\n dst[11] = m23;\n }\n\n dst[12] = m00 * v0 + m10 * v1 + m20 * v2 + m30;\n dst[13] = m01 * v0 + m11 * v1 + m21 * v2 + m31;\n dst[14] = m02 * v0 + m12 * v1 + m22 * v2 + m32;\n dst[15] = m03 * v0 + m13 * v1 + m23 * v2 + m33;\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which rotates around the x-axis by the given angle.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The rotation matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotationX(angleInRadians, dst) {\n dst = dst || new MatType(16);\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[0] = 1;\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = c;\n dst[6] = s;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = -s;\n dst[10] = c;\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix by a rotation around the x-axis by the given\n * angle.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotateX(m, angleInRadians, dst) {\n dst = dst || new MatType(16);\n var m10 = m[4];\n var m11 = m[5];\n var m12 = m[6];\n var m13 = m[7];\n var m20 = m[8];\n var m21 = m[9];\n var m22 = m[10];\n var m23 = m[11];\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[4] = c * m10 + s * m20;\n dst[5] = c * m11 + s * m21;\n dst[6] = c * m12 + s * m22;\n dst[7] = c * m13 + s * m23;\n dst[8] = c * m20 - s * m10;\n dst[9] = c * m21 - s * m11;\n dst[10] = c * m22 - s * m12;\n dst[11] = c * m23 - s * m13;\n\n if (m !== dst) {\n dst[0] = m[0];\n dst[1] = m[1];\n dst[2] = m[2];\n dst[3] = m[3];\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n }\n\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which rotates around the y-axis by the given angle.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The rotation matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotationY(angleInRadians, dst) {\n dst = dst || new MatType(16);\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[0] = c;\n dst[1] = 0;\n dst[2] = -s;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = 1;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = s;\n dst[9] = 0;\n dst[10] = c;\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix by a rotation around the y-axis by the given\n * angle.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotateY(m, angleInRadians, dst) {\n dst = dst || new MatType(16);\n var m00 = m[0 * 4 + 0];\n var m01 = m[0 * 4 + 1];\n var m02 = m[0 * 4 + 2];\n var m03 = m[0 * 4 + 3];\n var m20 = m[2 * 4 + 0];\n var m21 = m[2 * 4 + 1];\n var m22 = m[2 * 4 + 2];\n var m23 = m[2 * 4 + 3];\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[0] = c * m00 - s * m20;\n dst[1] = c * m01 - s * m21;\n dst[2] = c * m02 - s * m22;\n dst[3] = c * m03 - s * m23;\n dst[8] = c * m20 + s * m00;\n dst[9] = c * m21 + s * m01;\n dst[10] = c * m22 + s * m02;\n dst[11] = c * m23 + s * m03;\n\n if (m !== dst) {\n dst[4] = m[4];\n dst[5] = m[5];\n dst[6] = m[6];\n dst[7] = m[7];\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n }\n\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which rotates around the z-axis by the given angle.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The rotation matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotationZ(angleInRadians, dst) {\n dst = dst || new MatType(16);\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[0] = c;\n dst[1] = s;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = -s;\n dst[5] = c;\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = 1;\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix by a rotation around the z-axis by the given\n * angle.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction rotateZ(m, angleInRadians, dst) {\n dst = dst || new MatType(16);\n var m00 = m[0 * 4 + 0];\n var m01 = m[0 * 4 + 1];\n var m02 = m[0 * 4 + 2];\n var m03 = m[0 * 4 + 3];\n var m10 = m[1 * 4 + 0];\n var m11 = m[1 * 4 + 1];\n var m12 = m[1 * 4 + 2];\n var m13 = m[1 * 4 + 3];\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n dst[0] = c * m00 + s * m10;\n dst[1] = c * m01 + s * m11;\n dst[2] = c * m02 + s * m12;\n dst[3] = c * m03 + s * m13;\n dst[4] = c * m10 - s * m00;\n dst[5] = c * m11 - s * m01;\n dst[6] = c * m12 - s * m02;\n dst[7] = c * m13 - s * m03;\n\n if (m !== dst) {\n dst[8] = m[8];\n dst[9] = m[9];\n dst[10] = m[10];\n dst[11] = m[11];\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n }\n\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which rotates around the given axis by the given\n * angle.\n * @param {Vec3} axis The axis\n * about which to rotate.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} A matrix which rotates angle radians\n * around the axis.\n * @memberOf module:twgl/m4\n */\n\n\nfunction axisRotation(axis, angleInRadians, dst) {\n dst = dst || new MatType(16);\n var x = axis[0];\n var y = axis[1];\n var z = axis[2];\n var n = Math.sqrt(x * x + y * y + z * z);\n x /= n;\n y /= n;\n z /= n;\n var xx = x * x;\n var yy = y * y;\n var zz = z * z;\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n var oneMinusCosine = 1 - c;\n dst[0] = xx + (1 - xx) * c;\n dst[1] = x * y * oneMinusCosine + z * s;\n dst[2] = x * z * oneMinusCosine - y * s;\n dst[3] = 0;\n dst[4] = x * y * oneMinusCosine - z * s;\n dst[5] = yy + (1 - yy) * c;\n dst[6] = y * z * oneMinusCosine + x * s;\n dst[7] = 0;\n dst[8] = x * z * oneMinusCosine + y * s;\n dst[9] = y * z * oneMinusCosine - x * s;\n dst[10] = zz + (1 - zz) * c;\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix by rotation around the given axis by the\n * given angle.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} axis The axis\n * about which to rotate.\n * @param {number} angleInRadians The angle by which to rotate (in radians).\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction axisRotate(m, axis, angleInRadians, dst) {\n dst = dst || new MatType(16);\n var x = axis[0];\n var y = axis[1];\n var z = axis[2];\n var n = Math.sqrt(x * x + y * y + z * z);\n x /= n;\n y /= n;\n z /= n;\n var xx = x * x;\n var yy = y * y;\n var zz = z * z;\n var c = Math.cos(angleInRadians);\n var s = Math.sin(angleInRadians);\n var oneMinusCosine = 1 - c;\n var r00 = xx + (1 - xx) * c;\n var r01 = x * y * oneMinusCosine + z * s;\n var r02 = x * z * oneMinusCosine - y * s;\n var r10 = x * y * oneMinusCosine - z * s;\n var r11 = yy + (1 - yy) * c;\n var r12 = y * z * oneMinusCosine + x * s;\n var r20 = x * z * oneMinusCosine + y * s;\n var r21 = y * z * oneMinusCosine - x * s;\n var r22 = zz + (1 - zz) * c;\n var m00 = m[0];\n var m01 = m[1];\n var m02 = m[2];\n var m03 = m[3];\n var m10 = m[4];\n var m11 = m[5];\n var m12 = m[6];\n var m13 = m[7];\n var m20 = m[8];\n var m21 = m[9];\n var m22 = m[10];\n var m23 = m[11];\n dst[0] = r00 * m00 + r01 * m10 + r02 * m20;\n dst[1] = r00 * m01 + r01 * m11 + r02 * m21;\n dst[2] = r00 * m02 + r01 * m12 + r02 * m22;\n dst[3] = r00 * m03 + r01 * m13 + r02 * m23;\n dst[4] = r10 * m00 + r11 * m10 + r12 * m20;\n dst[5] = r10 * m01 + r11 * m11 + r12 * m21;\n dst[6] = r10 * m02 + r11 * m12 + r12 * m22;\n dst[7] = r10 * m03 + r11 * m13 + r12 * m23;\n dst[8] = r20 * m00 + r21 * m10 + r22 * m20;\n dst[9] = r20 * m01 + r21 * m11 + r22 * m21;\n dst[10] = r20 * m02 + r21 * m12 + r22 * m22;\n dst[11] = r20 * m03 + r21 * m13 + r22 * m23;\n\n if (m !== dst) {\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n }\n\n return dst;\n}\n/**\n * Creates a 4-by-4 matrix which scales in each dimension by an amount given by\n * the corresponding entry in the given vector; assumes the vector has three\n * entries.\n * @param {Vec3} v A vector of\n * three entries specifying the factor by which to scale in each dimension.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} The scaling matrix.\n * @memberOf module:twgl/m4\n */\n\n\nfunction scaling(v, dst) {\n dst = dst || new MatType(16);\n dst[0] = v[0];\n dst[1] = 0;\n dst[2] = 0;\n dst[3] = 0;\n dst[4] = 0;\n dst[5] = v[1];\n dst[6] = 0;\n dst[7] = 0;\n dst[8] = 0;\n dst[9] = 0;\n dst[10] = v[2];\n dst[11] = 0;\n dst[12] = 0;\n dst[13] = 0;\n dst[14] = 0;\n dst[15] = 1;\n return dst;\n}\n/**\n * Modifies the given 4-by-4 matrix, scaling in each dimension by an amount\n * given by the corresponding entry in the given vector; assumes the vector has\n * three entries.\n * @param {module:twgl/m4.Mat4} m The matrix to be modified.\n * @param {Vec3} v A vector of three entries specifying the\n * factor by which to scale in each dimension.\n * @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..\n * @return {module:twgl/m4.Mat4} m once modified.\n * @memberOf module:twgl/m4\n */\n\n\nfunction scale(m, v, dst) {\n dst = dst || new MatType(16);\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n dst[0] = v0 * m[0 * 4 + 0];\n dst[1] = v0 * m[0 * 4 + 1];\n dst[2] = v0 * m[0 * 4 + 2];\n dst[3] = v0 * m[0 * 4 + 3];\n dst[4] = v1 * m[1 * 4 + 0];\n dst[5] = v1 * m[1 * 4 + 1];\n dst[6] = v1 * m[1 * 4 + 2];\n dst[7] = v1 * m[1 * 4 + 3];\n dst[8] = v2 * m[2 * 4 + 0];\n dst[9] = v2 * m[2 * 4 + 1];\n dst[10] = v2 * m[2 * 4 + 2];\n dst[11] = v2 * m[2 * 4 + 3];\n\n if (m !== dst) {\n dst[12] = m[12];\n dst[13] = m[13];\n dst[14] = m[14];\n dst[15] = m[15];\n }\n\n return dst;\n}\n/**\n * Takes a 4-by-4 matrix and a vector with 3 entries,\n * interprets the vector as a point, transforms that point by the matrix, and\n * returns the result as a vector with 3 entries.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} v The point.\n * @param {Vec3} dst optional vec3 to store result\n * @return {Vec3} dst or new vec3 if not provided\n * @memberOf module:twgl/m4\n */\n\n\nfunction transformPoint(m, v, dst) {\n dst = dst || v3.create();\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n var d = v0 * m[0 * 4 + 3] + v1 * m[1 * 4 + 3] + v2 * m[2 * 4 + 3] + m[3 * 4 + 3];\n dst[0] = (v0 * m[0 * 4 + 0] + v1 * m[1 * 4 + 0] + v2 * m[2 * 4 + 0] + m[3 * 4 + 0]) / d;\n dst[1] = (v0 * m[0 * 4 + 1] + v1 * m[1 * 4 + 1] + v2 * m[2 * 4 + 1] + m[3 * 4 + 1]) / d;\n dst[2] = (v0 * m[0 * 4 + 2] + v1 * m[1 * 4 + 2] + v2 * m[2 * 4 + 2] + m[3 * 4 + 2]) / d;\n return dst;\n}\n/**\n * Takes a 4-by-4 matrix and a vector with 3 entries, interprets the vector as a\n * direction, transforms that direction by the matrix, and returns the result;\n * assumes the transformation of 3-dimensional space represented by the matrix\n * is parallel-preserving, i.e. any combination of rotation, scaling and\n * translation, but not a perspective distortion. Returns a vector with 3\n * entries.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} v The direction.\n * @param {Vec3} dst optional Vec3 to store result\n * @return {Vec3} dst or new Vec3 if not provided\n * @memberOf module:twgl/m4\n */\n\n\nfunction transformDirection(m, v, dst) {\n dst = dst || v3.create();\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n dst[0] = v0 * m[0 * 4 + 0] + v1 * m[1 * 4 + 0] + v2 * m[2 * 4 + 0];\n dst[1] = v0 * m[0 * 4 + 1] + v1 * m[1 * 4 + 1] + v2 * m[2 * 4 + 1];\n dst[2] = v0 * m[0 * 4 + 2] + v1 * m[1 * 4 + 2] + v2 * m[2 * 4 + 2];\n return dst;\n}\n/**\n * Takes a 4-by-4 matrix m and a vector v with 3 entries, interprets the vector\n * as a normal to a surface, and computes a vector which is normal upon\n * transforming that surface by the matrix. The effect of this function is the\n * same as transforming v (as a direction) by the inverse-transpose of m. This\n * function assumes the transformation of 3-dimensional space represented by the\n * matrix is parallel-preserving, i.e. any combination of rotation, scaling and\n * translation, but not a perspective distortion. Returns a vector with 3\n * entries.\n * @param {module:twgl/m4.Mat4} m The matrix.\n * @param {Vec3} v The normal.\n * @param {Vec3} [dst] The direction.\n * @return {Vec3} The transformed direction.\n * @memberOf module:twgl/m4\n */\n\n\nfunction transformNormal(m, v, dst) {\n dst = dst || v3.create();\n var mi = inverse(m);\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n dst[0] = v0 * mi[0 * 4 + 0] + v1 * mi[0 * 4 + 1] + v2 * mi[0 * 4 + 2];\n dst[1] = v0 * mi[1 * 4 + 0] + v1 * mi[1 * 4 + 1] + v2 * mi[1 * 4 + 2];\n dst[2] = v0 * mi[2 * 4 + 0] + v1 * mi[2 * 4 + 1] + v2 * mi[2 * 4 + 2];\n return dst;\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.createAttribsFromArrays = createAttribsFromArrays;\nexports.createBuffersFromArrays = createBuffersFromArrays;\nexports.createBufferFromArray = createBufferFromArray;\nexports.createBufferFromTypedArray = createBufferFromTypedArray;\nexports.createBufferInfoFromArrays = createBufferInfoFromArrays;\nexports.setAttribInfoBufferFromArray = setAttribInfoBufferFromArray;\nexports.setAttributePrefix = setAttributePrefix;\nexports.setAttributeDefaults_ = setDefaults;\nexports.getNumComponents_ = getNumComponents;\nexports.getArray_ = getArray;\n\nvar typedArrays = _interopRequireWildcard(__webpack_require__(1));\n\nvar helper = _interopRequireWildcard(__webpack_require__(0));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * Low level attribute and buffer related functions\n *\n * You should generally not need to use these functions. They are provided\n * for those cases where you're doing something out of the ordinary\n * and you need lower level access.\n *\n * For backward compatibily they are available at both `twgl.attributes` and `twgl`\n * itself\n *\n * See {@link module:twgl} for core functions\n *\n * @module twgl/attributes\n */\n// make sure we don't see a global gl\nvar gl = undefined; // eslint-disable-line\n\nvar defaults = {\n attribPrefix: \"\"\n};\n/**\n * Sets the default attrib prefix\n *\n * When writing shaders I prefer to name attributes with `a_`, uniforms with `u_` and varyings with `v_`\n * as it makes it clear where they came from. But, when building geometry I prefer using unprefixed names.\n *\n * In otherwords I'll create arrays of geometry like this\n *\n * var arrays = {\n * position: ...\n * normal: ...\n * texcoord: ...\n * };\n *\n * But need those mapped to attributes and my attributes start with `a_`.\n *\n * @deprecated see {@link module:twgl.setDefaults}\n * @param {string} prefix prefix for attribs\n * @memberOf module:twgl/attributes\n */\n\nfunction setAttributePrefix(prefix) {\n defaults.attribPrefix = prefix;\n}\n\nfunction setDefaults(newDefaults) {\n helper.copyExistingProperties(newDefaults, defaults);\n}\n\nfunction setBufferFromTypedArray(gl, type, buffer, array, drawType) {\n gl.bindBuffer(type, buffer);\n gl.bufferData(type, array, drawType || gl.STATIC_DRAW);\n}\n/**\n * Given typed array creates a WebGLBuffer and copies the typed array\n * into it.\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView|WebGLBuffer} typedArray the typed array. Note: If a WebGLBuffer is passed in it will just be returned. No action will be taken\n * @param {number} [type] the GL bind type for the buffer. Default = `gl.ARRAY_BUFFER`.\n * @param {number} [drawType] the GL draw type for the buffer. Default = 'gl.STATIC_DRAW`.\n * @return {WebGLBuffer} the created WebGLBuffer\n * @memberOf module:twgl/attributes\n */\n\n\nfunction createBufferFromTypedArray(gl, typedArray, type, drawType) {\n if (helper.isBuffer(gl, typedArray)) {\n return typedArray;\n }\n\n type = type || gl.ARRAY_BUFFER;\n var buffer = gl.createBuffer();\n setBufferFromTypedArray(gl, type, buffer, typedArray, drawType);\n return buffer;\n}\n\nfunction isIndices(name) {\n return name === \"indices\";\n} // This is really just a guess. Though I can't really imagine using\n// anything else? Maybe for some compression?\n\n\nfunction getNormalizationForTypedArray(typedArray) {\n if (typedArray instanceof Int8Array) {\n return true;\n } // eslint-disable-line\n\n\n if (typedArray instanceof Uint8Array) {\n return true;\n } // eslint-disable-line\n\n\n return false;\n} // This is really just a guess. Though I can't really imagine using\n// anything else? Maybe for some compression?\n\n\nfunction getNormalizationForTypedArrayType(typedArrayType) {\n if (typedArrayType === Int8Array) {\n return true;\n } // eslint-disable-line\n\n\n if (typedArrayType === Uint8Array) {\n return true;\n } // eslint-disable-line\n\n\n return false;\n}\n\nfunction getArray(array) {\n return array.length ? array : array.data;\n}\n\nvar texcoordRE = /coord|texture/i;\nvar colorRE = /color|colour/i;\n\nfunction guessNumComponentsFromName(name, length) {\n var numComponents;\n\n if (texcoordRE.test(name)) {\n numComponents = 2;\n } else if (colorRE.test(name)) {\n numComponents = 4;\n } else {\n numComponents = 3; // position, normals, indices ...\n }\n\n if (length % numComponents > 0) {\n throw \"Can not guess numComponents for attribute '\" + name + \"'. Tried \" + numComponents + \" but \" + length + \" values is not evenly divisible by \" + numComponents + \". You should specify it.\";\n }\n\n return numComponents;\n}\n\nfunction getNumComponents(array, arrayName) {\n return array.numComponents || array.size || guessNumComponentsFromName(arrayName, getArray(array).length);\n}\n\nfunction makeTypedArray(array, name) {\n if (typedArrays.isArrayBuffer(array)) {\n return array;\n }\n\n if (typedArrays.isArrayBuffer(array.data)) {\n return array.data;\n }\n\n if (Array.isArray(array)) {\n array = {\n data: array\n };\n }\n\n var Type = array.type;\n\n if (!Type) {\n if (isIndices(name)) {\n Type = Uint16Array;\n } else {\n Type = Float32Array;\n }\n }\n\n return new Type(array.data);\n}\n/**\n * The info for an attribute. This is effectively just the arguments to `gl.vertexAttribPointer` plus the WebGLBuffer\n * for the attribute.\n *\n * @typedef {Object} AttribInfo\n * @property {number} [numComponents] the number of components for this attribute.\n * @property {number} [size] synonym for `numComponents`.\n * @property {number} [type] the type of the attribute (eg. `gl.FLOAT`, `gl.UNSIGNED_BYTE`, etc...) Default = `gl.FLOAT`\n * @property {boolean} [normalize] whether or not to normalize the data. Default = false\n * @property {number} [offset] offset into buffer in bytes. Default = 0\n * @property {number} [stride] the stride in bytes per element. Default = 0\n * @property {number} [divisor] the divisor in instances. Default = undefined. Note: undefined = don't call gl.vertexAttribDivisor\n * where as anything else = do call it with this value\n * @property {WebGLBuffer} buffer the buffer that contains the data for this attribute\n * @property {number} [drawType] the draw type passed to gl.bufferData. Default = gl.STATIC_DRAW\n * @memberOf module:twgl\n */\n\n/**\n * Use this type of array spec when TWGL can't guess the type or number of compoments of an array\n * @typedef {Object} FullArraySpec\n * @property {(number|number[]|ArrayBufferView)} data The data of the array. A number alone becomes the number of elements of type.\n * @property {number} [numComponents] number of components for `vertexAttribPointer`. Default is based on the name of the array.\n * If `coord` is in the name assumes `numComponents = 2`.\n * If `color` is in the name assumes `numComponents = 4`.\n * otherwise assumes `numComponents = 3`\n * @property {constructor} type The type. This is only used if `data` is a JavaScript array. It is the constructor for the typedarray. (eg. `Uint8Array`).\n * For example if you want colors in a `Uint8Array` you might have a `FullArraySpec` like `{ type: Uint8Array, data: [255,0,255,255, ...], }`.\n * @property {number} [size] synonym for `numComponents`.\n * @property {boolean} [normalize] normalize for `vertexAttribPointer`. Default is true if type is `Int8Array` or `Uint8Array` otherwise false.\n * @property {number} [stride] stride for `vertexAttribPointer`. Default = 0\n * @property {number} [offset] offset for `vertexAttribPointer`. Default = 0\n * @property {number} [divisor] divisor for `vertexAttribDivisor`. Default = undefined. Note: undefined = don't call gl.vertexAttribDivisor\n * where as anything else = do call it with this value\n * @property {string} [attrib] name of attribute this array maps to. Defaults to same name as array prefixed by the default attribPrefix.\n * @property {string} [name] synonym for `attrib`.\n * @property {string} [attribName] synonym for `attrib`.\n * @memberOf module:twgl\n */\n\n/**\n * An individual array in {@link module:twgl.Arrays}\n *\n * When passed to {@link module:twgl.createBufferInfoFromArrays} if an ArraySpec is `number[]` or `ArrayBufferView`\n * the types will be guessed based on the name. `indices` will be `Uint16Array`, everything else will\n * be `Float32Array`. If an ArraySpec is a number it's the number of floats for an empty (zeroed) buffer.\n *\n * @typedef {(number|number[]|ArrayBufferView|module:twgl.FullArraySpec)} ArraySpec\n * @memberOf module:twgl\n */\n\n/**\n * This is a JavaScript object of arrays by name. The names should match your shader's attributes. If your\n * attributes have a common prefix you can specify it by calling {@link module:twgl.setAttributePrefix}.\n *\n * Bare JavaScript Arrays\n *\n * var arrays = {\n * position: [-1, 1, 0],\n * normal: [0, 1, 0],\n * ...\n * }\n *\n * Bare TypedArrays\n *\n * var arrays = {\n * position: new Float32Array([-1, 1, 0]),\n * color: new Uint8Array([255, 128, 64, 255]),\n * ...\n * }\n *\n * * Will guess at `numComponents` if not specified based on name.\n *\n * If `coord` is in the name assumes `numComponents = 2`\n *\n * If `color` is in the name assumes `numComponents = 4`\n *\n * otherwise assumes `numComponents = 3`\n *\n * Objects with various fields. See {@link module:twgl.FullArraySpec}.\n *\n * var arrays = {\n * position: { numComponents: 3, data: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0], },\n * texcoord: { numComponents: 2, data: [0, 0, 0, 1, 1, 0, 1, 1], },\n * normal: { numComponents: 3, data: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1], },\n * indices: { numComponents: 3, data: [0, 1, 2, 1, 2, 3], },\n * };\n *\n * @typedef {Object.} Arrays\n * @memberOf module:twgl\n */\n\n/**\n * Creates a set of attribute data and WebGLBuffers from set of arrays\n *\n * Given\n *\n * var arrays = {\n * position: { numComponents: 3, data: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0], },\n * texcoord: { numComponents: 2, data: [0, 0, 0, 1, 1, 0, 1, 1], },\n * normal: { numComponents: 3, data: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1], },\n * color: { numComponents: 4, data: [255, 255, 255, 255, 255, 0, 0, 255, 0, 0, 255, 255], type: Uint8Array, },\n * indices: { numComponents: 3, data: [0, 1, 2, 1, 2, 3], },\n * };\n *\n * returns something like\n *\n * var attribs = {\n * position: { numComponents: 3, type: gl.FLOAT, normalize: false, buffer: WebGLBuffer, },\n * texcoord: { numComponents: 2, type: gl.FLOAT, normalize: false, buffer: WebGLBuffer, },\n * normal: { numComponents: 3, type: gl.FLOAT, normalize: false, buffer: WebGLBuffer, },\n * color: { numComponents: 4, type: gl.UNSIGNED_BYTE, normalize: true, buffer: WebGLBuffer, },\n * };\n *\n * notes:\n *\n * * Arrays can take various forms\n *\n * Bare JavaScript Arrays\n *\n * var arrays = {\n * position: [-1, 1, 0],\n * normal: [0, 1, 0],\n * ...\n * }\n *\n * Bare TypedArrays\n *\n * var arrays = {\n * position: new Float32Array([-1, 1, 0]),\n * color: new Uint8Array([255, 128, 64, 255]),\n * ...\n * }\n *\n * * Will guess at `numComponents` if not specified based on name.\n *\n * If `coord` is in the name assumes `numComponents = 2`\n *\n * If `color` is in the name assumes `numComponents = 4`\n *\n * otherwise assumes `numComponents = 3`\n *\n * @param {WebGLRenderingContext} gl The webgl rendering context.\n * @param {module:twgl.Arrays} arrays The arrays\n * @return {Object.} the attribs\n * @memberOf module:twgl/attributes\n */\n\n\nfunction createAttribsFromArrays(gl, arrays) {\n var attribs = {};\n Object.keys(arrays).forEach(function (arrayName) {\n if (!isIndices(arrayName)) {\n var array = arrays[arrayName];\n var attribName = array.attrib || array.name || array.attribName || defaults.attribPrefix + arrayName;\n var buffer;\n var type;\n var normalization;\n var numComponents;\n var numValues;\n\n if (typeof array === \"number\" || typeof array.data === \"number\") {\n numValues = array.data || array;\n var arrayType = array.type || Float32Array;\n var numBytes = numValues * arrayType.BYTES_PER_ELEMENT;\n type = typedArrays.getGLTypeForTypedArrayType(arrayType);\n normalization = array.normalize !== undefined ? array.normalize : getNormalizationForTypedArrayType(arrayType);\n numComponents = array.numComponents || array.size || guessNumComponentsFromName(arrayName, numValues);\n buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, numBytes, array.drawType || gl.STATIC_DRAW);\n } else {\n var typedArray = makeTypedArray(array, arrayName);\n buffer = createBufferFromTypedArray(gl, typedArray, undefined, array.drawType);\n type = typedArrays.getGLTypeForTypedArray(typedArray);\n normalization = array.normalize !== undefined ? array.normalize : getNormalizationForTypedArray(typedArray);\n numComponents = getNumComponents(array, arrayName);\n numValues = typedArray.length;\n }\n\n attribs[attribName] = {\n buffer: buffer,\n numComponents: numComponents,\n type: type,\n normalize: normalization,\n stride: array.stride || 0,\n offset: array.offset || 0,\n divisor: array.divisor === undefined ? undefined : array.divisor,\n drawType: array.drawType\n };\n }\n });\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n return attribs;\n}\n/**\n * Sets the contents of a buffer attached to an attribInfo\n *\n * This is helper function to dynamically update a buffer.\n *\n * Let's say you make a bufferInfo\n *\n * var arrays = {\n * position: new Float32Array([0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0]),\n * texcoord: new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]),\n * normal: new Float32Array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1]),\n * indices: new Uint16Array([0, 1, 2, 1, 2, 3]),\n * };\n * var bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);\n *\n * And you want to dynamically upate the positions. You could do this\n *\n * // assuming arrays.position has already been updated with new data.\n * twgl.setAttribInfoBufferFromArray(gl, bufferInfo.attribs.position, arrays.position);\n *\n * @param {WebGLRenderingContext} gl\n * @param {AttribInfo} attribInfo The attribInfo who's buffer contents to set. NOTE: If you have an attribute prefix\n * the name of the attribute will include the prefix.\n * @param {ArraySpec} array Note: it is arguably ineffient to pass in anything but a typed array because anything\n * else will have to be converted to a typed array before it can be used by WebGL. During init time that\n * inefficiency is usually not important but if you're updating data dynamically best to be efficient.\n * @param {number} [offset] an optional offset into the buffer. This is only an offset into the WebGL buffer\n * not the array. To pass in an offset into the array itself use a typed array and create an `ArrayBufferView`\n * for the portion of the array you want to use.\n *\n * var someArray = new Float32Array(1000); // an array with 1000 floats\n * var someSubArray = new Float32Array(someArray.buffer, offsetInBytes, sizeInUnits); // a view into someArray\n *\n * Now you can pass `someSubArray` into setAttribInfoBufferFromArray`\n * @memberOf module:twgl/attributes\n */\n\n\nfunction setAttribInfoBufferFromArray(gl, attribInfo, array, offset) {\n array = makeTypedArray(array);\n\n if (offset !== undefined) {\n gl.bindBuffer(gl.ARRAY_BUFFER, attribInfo.buffer);\n gl.bufferSubData(gl.ARRAY_BUFFER, offset, array);\n } else {\n setBufferFromTypedArray(gl, gl.ARRAY_BUFFER, attribInfo.buffer, array, attribInfo.drawType);\n }\n}\n\nfunction getBytesPerValueForGLType(gl, type) {\n if (type === gl.BYTE) return 1; // eslint-disable-line\n\n if (type === gl.UNSIGNED_BYTE) return 1; // eslint-disable-line\n\n if (type === gl.SHORT) return 2; // eslint-disable-line\n\n if (type === gl.UNSIGNED_SHORT) return 2; // eslint-disable-line\n\n if (type === gl.INT) return 4; // eslint-disable-line\n\n if (type === gl.UNSIGNED_INT) return 4; // eslint-disable-line\n\n if (type === gl.FLOAT) return 4; // eslint-disable-line\n\n return 0;\n}\n/**\n * tries to get the number of elements from a set of arrays.\n */\n\n\nvar positionKeys = ['position', 'positions', 'a_position'];\n\nfunction getNumElementsFromNonIndexedArrays(arrays) {\n var key;\n\n for (var _ii = 0; _ii < positionKeys.length; ++_ii) {\n key = positionKeys[_ii];\n\n if (key in arrays) {\n break;\n }\n }\n\n if (ii === positionKeys.length) {\n key = Object.keys(arrays)[0];\n }\n\n var array = arrays[key];\n var length = getArray(array).length;\n var numComponents = getNumComponents(array, key);\n var numElements = length / numComponents;\n\n if (length % numComponents > 0) {\n throw \"numComponents \" + numComponents + \" not correct for length \" + length;\n }\n\n return numElements;\n}\n\nfunction getNumElementsFromAttributes(gl, attribs) {\n var key;\n var ii;\n\n for (ii = 0; ii < positionKeys.length; ++ii) {\n key = positionKeys[ii];\n\n if (key in attribs) {\n break;\n }\n\n key = defaults.attribPrefix + key;\n\n if (key in attribs) {\n break;\n }\n }\n\n if (ii === positionKeys.length) {\n key = Object.keys(attribs)[0];\n }\n\n var attrib = attribs[key];\n gl.bindBuffer(gl.ARRAY_BUFFER, attrib.buffer);\n var numBytes = gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE);\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n var bytesPerValue = getBytesPerValueForGLType(gl, attrib.type);\n var totalElements = numBytes / bytesPerValue;\n var numComponents = attrib.numComponents || attrib.size; // TODO: check stride\n\n var numElements = totalElements / numComponents;\n\n if (numElements % 1 !== 0) {\n throw \"numComponents \" + numComponents + \" not correct for length \" + length;\n }\n\n return numElements;\n}\n/**\n * @typedef {Object} BufferInfo\n * @property {number} numElements The number of elements to pass to `gl.drawArrays` or `gl.drawElements`.\n * @property {number} [elementType] The type of indices `UNSIGNED_BYTE`, `UNSIGNED_SHORT` etc..\n * @property {WebGLBuffer} [indices] The indices `ELEMENT_ARRAY_BUFFER` if any indices exist.\n * @property {Object.} [attribs] The attribs approriate to call `setAttributes`\n * @memberOf module:twgl\n */\n\n/**\n * Creates a BufferInfo from an object of arrays.\n *\n * This can be passed to {@link module:twgl.setBuffersAndAttributes} and to\n * {@link module:twgl:drawBufferInfo}.\n *\n * Given an object like\n *\n * var arrays = {\n * position: { numComponents: 3, data: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0], },\n * texcoord: { numComponents: 2, data: [0, 0, 0, 1, 1, 0, 1, 1], },\n * normal: { numComponents: 3, data: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1], },\n * indices: { numComponents: 3, data: [0, 1, 2, 1, 2, 3], },\n * };\n *\n * Creates an BufferInfo like this\n *\n * bufferInfo = {\n * numElements: 4, // or whatever the number of elements is\n * indices: WebGLBuffer, // this property will not exist if there are no indices\n * attribs: {\n * a_position: { buffer: WebGLBuffer, numComponents: 3, },\n * a_normal: { buffer: WebGLBuffer, numComponents: 3, },\n * a_texcoord: { buffer: WebGLBuffer, numComponents: 2, },\n * },\n * };\n *\n * The properties of arrays can be JavaScript arrays in which case the number of components\n * will be guessed.\n *\n * var arrays = {\n * position: [0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0],\n * texcoord: [0, 0, 0, 1, 1, 0, 1, 1],\n * normal: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1],\n * indices: [0, 1, 2, 1, 2, 3],\n * };\n *\n * They can also by TypedArrays\n *\n * var arrays = {\n * position: new Float32Array([0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0]),\n * texcoord: new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]),\n * normal: new Float32Array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1]),\n * indices: new Uint16Array([0, 1, 2, 1, 2, 3]),\n * };\n *\n * Or augmentedTypedArrays\n *\n * var positions = createAugmentedTypedArray(3, 4);\n * var texcoords = createAugmentedTypedArray(2, 4);\n * var normals = createAugmentedTypedArray(3, 4);\n * var indices = createAugmentedTypedArray(3, 2, Uint16Array);\n *\n * positions.push([0, 0, 0, 10, 0, 0, 0, 10, 0, 10, 10, 0]);\n * texcoords.push([0, 0, 0, 1, 1, 0, 1, 1]);\n * normals.push([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1]);\n * indices.push([0, 1, 2, 1, 2, 3]);\n *\n * var arrays = {\n * position: positions,\n * texcoord: texcoords,\n * normal: normals,\n * indices: indices,\n * };\n *\n * For the last example it is equivalent to\n *\n * var bufferInfo = {\n * attribs: {\n * a_position: { numComponents: 3, buffer: gl.createBuffer(), },\n * a_texcoods: { numComponents: 2, buffer: gl.createBuffer(), },\n * a_normals: { numComponents: 3, buffer: gl.createBuffer(), },\n * },\n * indices: gl.createBuffer(),\n * numElements: 6,\n * };\n *\n * gl.bindBuffer(gl.ARRAY_BUFFER, bufferInfo.attribs.a_position.buffer);\n * gl.bufferData(gl.ARRAY_BUFFER, arrays.position, gl.STATIC_DRAW);\n * gl.bindBuffer(gl.ARRAY_BUFFER, bufferInfo.attribs.a_texcoord.buffer);\n * gl.bufferData(gl.ARRAY_BUFFER, arrays.texcoord, gl.STATIC_DRAW);\n * gl.bindBuffer(gl.ARRAY_BUFFER, bufferInfo.attribs.a_normal.buffer);\n * gl.bufferData(gl.ARRAY_BUFFER, arrays.normal, gl.STATIC_DRAW);\n * gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufferInfo.indices);\n * gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, arrays.indices, gl.STATIC_DRAW);\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @param {module:twgl.Arrays} arrays Your data\n * @return {module:twgl.BufferInfo} A BufferInfo\n * @memberOf module:twgl/attributes\n */\n\n\nfunction createBufferInfoFromArrays(gl, arrays) {\n var bufferInfo = {\n attribs: createAttribsFromArrays(gl, arrays)\n };\n var indices = arrays.indices;\n\n if (indices) {\n var newIndices = makeTypedArray(indices, \"indices\");\n bufferInfo.indices = createBufferFromTypedArray(gl, newIndices, gl.ELEMENT_ARRAY_BUFFER);\n bufferInfo.numElements = newIndices.length;\n bufferInfo.elementType = typedArrays.getGLTypeForTypedArray(newIndices);\n } else {\n bufferInfo.numElements = getNumElementsFromAttributes(gl, bufferInfo.attribs);\n }\n\n return bufferInfo;\n}\n/**\n * Creates a buffer from an array, typed array, or array spec\n *\n * Given something like this\n *\n * [1, 2, 3],\n *\n * or\n *\n * new Uint16Array([1,2,3]);\n *\n * or\n *\n * {\n * data: [1, 2, 3],\n * type: Uint8Array,\n * }\n *\n * returns a WebGLBuffer that constains the given data.\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext.\n * @param {module:twgl.ArraySpec} array an array, typed array, or array spec.\n * @param {string} arrayName name of array. Used to guess the type if type can not be dervied other wise.\n * @return {WebGLBuffer} a WebGLBuffer containing the data in array.\n * @memberOf module:twgl/attributes\n */\n\n\nfunction createBufferFromArray(gl, array, arrayName) {\n var type = arrayName === \"indices\" ? gl.ELEMENT_ARRAY_BUFFER : gl.ARRAY_BUFFER;\n var typedArray = makeTypedArray(array, arrayName);\n return createBufferFromTypedArray(gl, typedArray, type);\n}\n/**\n * Creates buffers from arrays or typed arrays\n *\n * Given something like this\n *\n * var arrays = {\n * positions: [1, 2, 3],\n * normals: [0, 0, 1],\n * }\n *\n * returns something like\n *\n * buffers = {\n * positions: WebGLBuffer,\n * normals: WebGLBuffer,\n * }\n *\n * If the buffer is named 'indices' it will be made an ELEMENT_ARRAY_BUFFER.\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext.\n * @param {module:twgl.Arrays} arrays\n * @return {Object} returns an object with one WebGLBuffer per array\n * @memberOf module:twgl/attributes\n */\n\n\nfunction createBuffersFromArrays(gl, arrays) {\n var buffers = {};\n Object.keys(arrays).forEach(function (key) {\n buffers[key] = createBufferFromArray(gl, arrays[key], key);\n }); // Ugh!\n\n if (arrays.indices) {\n buffers.numElements = arrays.indices.length;\n buffers.elementType = typedArrays.getGLTypeForTypedArray(makeTypedArray(arrays.indices), 'indices');\n } else {\n buffers.numElements = getNumElementsFromNonIndexedArrays(arrays);\n }\n\n return buffers;\n}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.setTextureDefaults_ = setDefaults;\nexports.createSampler = createSampler;\nexports.createSamplers = createSamplers;\nexports.setSamplerParameters = setSamplerParameters;\nexports.createTexture = createTexture;\nexports.setEmptyTexture = setEmptyTexture;\nexports.setTextureFromArray = setTextureFromArray;\nexports.loadTextureFromUrl = loadTextureFromUrl;\nexports.setTextureFromElement = setTextureFromElement;\nexports.setTextureFilteringForSize = setTextureFilteringForSize;\nexports.setTextureParameters = setTextureParameters;\nexports.setDefaultTextureColor = setDefaultTextureColor;\nexports.createTextures = createTextures;\nexports.resizeTexture = resizeTexture;\nexports.getNumComponentsForFormat = getNumComponentsForFormat;\nexports.getBytesPerElementForInternalFormat = getBytesPerElementForInternalFormat;\n\nvar utils = _interopRequireWildcard(__webpack_require__(4));\n\nvar typedArrays = _interopRequireWildcard(__webpack_require__(1));\n\nvar helper = _interopRequireWildcard(__webpack_require__(0));\n\nvar _globalObject = _interopRequireDefault(__webpack_require__(2));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * Low level texture related functions\n *\n * You should generally not need to use these functions. They are provided\n * for those cases where you're doing something out of the ordinary\n * and you need lower level access.\n *\n * For backward compatibily they are available at both `twgl.textures` and `twgl`\n * itself\n *\n * See {@link module:twgl} for core functions\n *\n * @module twgl/textures\n */\n// make sure we don't see a global gl\nvar gl = undefined; // eslint-disable-line\n\nvar defaults = {\n textureColor: new Uint8Array([128, 192, 255, 255]),\n textureOptions: {},\n crossOrigin: undefined\n};\nvar isArrayBuffer = typedArrays.isArrayBuffer; // Should we make this on demand?\n\nvar ctx = _globalObject.default.document && _globalObject.default.document.createElement ? _globalObject.default.document.createElement(\"canvas\").getContext(\"2d\") : null; // NOTE: Chrome supports 2D canvas in a Worker (behind flag as of v64 but\n// not only does Firefox NOT support it but Firefox freezes immediately\n// if you try to create one instead of just returning null and continuing.\n// : (global.OffscreenCanvas && (new global.OffscreenCanvas(1, 1)).getContext(\"2d\")); // OffscreenCanvas may not support 2d\n// NOTE: We can maybe remove some of the need for the 2d canvas. In WebGL2\n// we can use the various unpack settings. Otherwise we could try using\n// the ability of an imagebitmap to be cut. Unfortunately cutting an imagebitmap\n// is async and the current TWGL code expects a non-Async result though that\n// might not be a problem. ImageBitmap though is not available in Edge or Safari\n// as of 2018-01-02\n\n/* PixelFormat */\n\nvar ALPHA = 0x1906;\nvar RGB = 0x1907;\nvar RGBA = 0x1908;\nvar LUMINANCE = 0x1909;\nvar LUMINANCE_ALPHA = 0x190A;\nvar DEPTH_COMPONENT = 0x1902;\nvar DEPTH_STENCIL = 0x84F9;\n/* TextureWrapMode */\n\nvar REPEAT = 0x2901; // eslint-disable-line\n\nvar MIRRORED_REPEAT = 0x8370; // eslint-disable-line\n\n/* TextureMagFilter */\n\nvar NEAREST = 0x2600; // eslint-disable-line\n\n/* TextureMinFilter */\n\nvar NEAREST_MIPMAP_NEAREST = 0x2700; // eslint-disable-line\n\nvar LINEAR_MIPMAP_NEAREST = 0x2701; // eslint-disable-line\n\nvar NEAREST_MIPMAP_LINEAR = 0x2702; // eslint-disable-line\n\nvar LINEAR_MIPMAP_LINEAR = 0x2703; // eslint-disable-line\n\nvar R8 = 0x8229;\nvar R8_SNORM = 0x8F94;\nvar R16F = 0x822D;\nvar R32F = 0x822E;\nvar R8UI = 0x8232;\nvar R8I = 0x8231;\nvar RG16UI = 0x823A;\nvar RG16I = 0x8239;\nvar RG32UI = 0x823C;\nvar RG32I = 0x823B;\nvar RG8 = 0x822B;\nvar RG8_SNORM = 0x8F95;\nvar RG16F = 0x822F;\nvar RG32F = 0x8230;\nvar RG8UI = 0x8238;\nvar RG8I = 0x8237;\nvar R16UI = 0x8234;\nvar R16I = 0x8233;\nvar R32UI = 0x8236;\nvar R32I = 0x8235;\nvar RGB8 = 0x8051;\nvar SRGB8 = 0x8C41;\nvar RGB565 = 0x8D62;\nvar RGB8_SNORM = 0x8F96;\nvar R11F_G11F_B10F = 0x8C3A;\nvar RGB9_E5 = 0x8C3D;\nvar RGB16F = 0x881B;\nvar RGB32F = 0x8815;\nvar RGB8UI = 0x8D7D;\nvar RGB8I = 0x8D8F;\nvar RGB16UI = 0x8D77;\nvar RGB16I = 0x8D89;\nvar RGB32UI = 0x8D71;\nvar RGB32I = 0x8D83;\nvar RGBA8 = 0x8058;\nvar SRGB8_ALPHA8 = 0x8C43;\nvar RGBA8_SNORM = 0x8F97;\nvar RGB5_A1 = 0x8057;\nvar RGBA4 = 0x8056;\nvar RGB10_A2 = 0x8059;\nvar RGBA16F = 0x881A;\nvar RGBA32F = 0x8814;\nvar RGBA8UI = 0x8D7C;\nvar RGBA8I = 0x8D8E;\nvar RGB10_A2UI = 0x906F;\nvar RGBA16UI = 0x8D76;\nvar RGBA16I = 0x8D88;\nvar RGBA32I = 0x8D82;\nvar RGBA32UI = 0x8D70;\nvar DEPTH_COMPONENT16 = 0x81A5;\nvar DEPTH_COMPONENT24 = 0x81A6;\nvar DEPTH_COMPONENT32F = 0x8CAC;\nvar DEPTH32F_STENCIL8 = 0x8CAD;\nvar DEPTH24_STENCIL8 = 0x88F0;\n/* DataType */\n\nvar BYTE = 0x1400;\nvar UNSIGNED_BYTE = 0x1401;\nvar SHORT = 0x1402;\nvar UNSIGNED_SHORT = 0x1403;\nvar INT = 0x1404;\nvar UNSIGNED_INT = 0x1405;\nvar FLOAT = 0x1406;\nvar UNSIGNED_SHORT_4_4_4_4 = 0x8033;\nvar UNSIGNED_SHORT_5_5_5_1 = 0x8034;\nvar UNSIGNED_SHORT_5_6_5 = 0x8363;\nvar HALF_FLOAT = 0x140B;\nvar HALF_FLOAT_OES = 0x8D61; // Thanks Khronos for making this different >:(\n\nvar UNSIGNED_INT_2_10_10_10_REV = 0x8368;\nvar UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;\nvar UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;\nvar FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;\nvar UNSIGNED_INT_24_8 = 0x84FA;\nvar RG = 0x8227;\nvar RG_INTEGER = 0x8228;\nvar RED = 0x1903;\nvar RED_INTEGER = 0x8D94;\nvar RGB_INTEGER = 0x8D98;\nvar RGBA_INTEGER = 0x8D99;\nvar formatInfo = {};\n{\n // NOTE: this is named `numColorComponents` vs `numComponents` so we can let Uglify mangle\n // the name.\n var f = formatInfo;\n f[ALPHA] = {\n numColorComponents: 1\n };\n f[LUMINANCE] = {\n numColorComponents: 1\n };\n f[LUMINANCE_ALPHA] = {\n numColorComponents: 2\n };\n f[RGB] = {\n numColorComponents: 3\n };\n f[RGBA] = {\n numColorComponents: 4\n };\n f[RED] = {\n numColorComponents: 1\n };\n f[RED_INTEGER] = {\n numColorComponents: 1\n };\n f[RG] = {\n numColorComponents: 2\n };\n f[RG_INTEGER] = {\n numColorComponents: 2\n };\n f[RGB] = {\n numColorComponents: 3\n };\n f[RGB_INTEGER] = {\n numColorComponents: 3\n };\n f[RGBA] = {\n numColorComponents: 4\n };\n f[RGBA_INTEGER] = {\n numColorComponents: 4\n };\n f[DEPTH_COMPONENT] = {\n numColorComponents: 1\n };\n f[DEPTH_STENCIL] = {\n numColorComponents: 2\n };\n}\nvar textureInternalFormatInfo = {};\n{\n // NOTE: these properties need unique names so we can let Uglify mangle the name.\n var t = textureInternalFormatInfo; // unsized formats\n\n t[ALPHA] = {\n textureFormat: ALPHA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [1, 2, 2, 4],\n type: [UNSIGNED_BYTE, HALF_FLOAT, HALF_FLOAT_OES, FLOAT]\n };\n t[LUMINANCE] = {\n textureFormat: LUMINANCE,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [1, 2, 2, 4],\n type: [UNSIGNED_BYTE, HALF_FLOAT, HALF_FLOAT_OES, FLOAT]\n };\n t[LUMINANCE_ALPHA] = {\n textureFormat: LUMINANCE_ALPHA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [2, 4, 4, 8],\n type: [UNSIGNED_BYTE, HALF_FLOAT, HALF_FLOAT_OES, FLOAT]\n };\n t[RGB] = {\n textureFormat: RGB,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [3, 6, 6, 12, 2],\n type: [UNSIGNED_BYTE, HALF_FLOAT, HALF_FLOAT_OES, FLOAT, UNSIGNED_SHORT_5_6_5]\n };\n t[RGBA] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [4, 8, 8, 16, 2, 2],\n type: [UNSIGNED_BYTE, HALF_FLOAT, HALF_FLOAT_OES, FLOAT, UNSIGNED_SHORT_4_4_4_4, UNSIGNED_SHORT_5_5_5_1]\n }; // sized formats\n\n t[R8] = {\n textureFormat: RED,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 1,\n type: UNSIGNED_BYTE\n };\n t[R8_SNORM] = {\n textureFormat: RED,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: 1,\n type: BYTE\n };\n t[R16F] = {\n textureFormat: RED,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [4, 2],\n type: [FLOAT, HALF_FLOAT]\n };\n t[R32F] = {\n textureFormat: RED,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 4,\n type: FLOAT\n };\n t[R8UI] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 1,\n type: UNSIGNED_BYTE\n };\n t[R8I] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 1,\n type: BYTE\n };\n t[R16UI] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 2,\n type: UNSIGNED_SHORT\n };\n t[R16I] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 2,\n type: SHORT\n };\n t[R32UI] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_INT\n };\n t[R32I] = {\n textureFormat: RED_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: INT\n };\n t[RG8] = {\n textureFormat: RG,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 2,\n type: UNSIGNED_BYTE\n };\n t[RG8_SNORM] = {\n textureFormat: RG,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: 2,\n type: BYTE\n };\n t[RG16F] = {\n textureFormat: RG,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [8, 4],\n type: [FLOAT, HALF_FLOAT]\n };\n t[RG32F] = {\n textureFormat: RG,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 8,\n type: FLOAT\n };\n t[RG8UI] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 2,\n type: UNSIGNED_BYTE\n };\n t[RG8I] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 2,\n type: BYTE\n };\n t[RG16UI] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_SHORT\n };\n t[RG16I] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: SHORT\n };\n t[RG32UI] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 8,\n type: UNSIGNED_INT\n };\n t[RG32I] = {\n textureFormat: RG_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 8,\n type: INT\n };\n t[RGB8] = {\n textureFormat: RGB,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 3,\n type: UNSIGNED_BYTE\n };\n t[SRGB8] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: 3,\n type: UNSIGNED_BYTE\n };\n t[RGB565] = {\n textureFormat: RGB,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [3, 2],\n type: [UNSIGNED_BYTE, UNSIGNED_SHORT_5_6_5]\n };\n t[RGB8_SNORM] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: 3,\n type: BYTE\n };\n t[R11F_G11F_B10F] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [12, 6, 4],\n type: [FLOAT, HALF_FLOAT, UNSIGNED_INT_10F_11F_11F_REV]\n };\n t[RGB9_E5] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [12, 6, 4],\n type: [FLOAT, HALF_FLOAT, UNSIGNED_INT_5_9_9_9_REV]\n };\n t[RGB16F] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [12, 6],\n type: [FLOAT, HALF_FLOAT]\n };\n t[RGB32F] = {\n textureFormat: RGB,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 12,\n type: FLOAT\n };\n t[RGB8UI] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 3,\n type: UNSIGNED_BYTE\n };\n t[RGB8I] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 3,\n type: BYTE\n };\n t[RGB16UI] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 6,\n type: UNSIGNED_SHORT\n };\n t[RGB16I] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 6,\n type: SHORT\n };\n t[RGB32UI] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 12,\n type: UNSIGNED_INT\n };\n t[RGB32I] = {\n textureFormat: RGB_INTEGER,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 12,\n type: INT\n };\n t[RGBA8] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 4,\n type: UNSIGNED_BYTE\n };\n t[SRGB8_ALPHA8] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 4,\n type: UNSIGNED_BYTE\n };\n t[RGBA8_SNORM] = {\n textureFormat: RGBA,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: 4,\n type: BYTE\n };\n t[RGB5_A1] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [4, 2, 4],\n type: [UNSIGNED_BYTE, UNSIGNED_SHORT_5_5_5_1, UNSIGNED_INT_2_10_10_10_REV]\n };\n t[RGBA4] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: [4, 2],\n type: [UNSIGNED_BYTE, UNSIGNED_SHORT_4_4_4_4]\n };\n t[RGB10_A2] = {\n textureFormat: RGBA,\n colorRenderable: true,\n textureFilterable: true,\n bytesPerElement: 4,\n type: UNSIGNED_INT_2_10_10_10_REV\n };\n t[RGBA16F] = {\n textureFormat: RGBA,\n colorRenderable: false,\n textureFilterable: true,\n bytesPerElement: [16, 8],\n type: [FLOAT, HALF_FLOAT]\n };\n t[RGBA32F] = {\n textureFormat: RGBA,\n colorRenderable: false,\n textureFilterable: false,\n bytesPerElement: 16,\n type: FLOAT\n };\n t[RGBA8UI] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_BYTE\n };\n t[RGBA8I] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: BYTE\n };\n t[RGB10_A2UI] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_INT_2_10_10_10_REV\n };\n t[RGBA16UI] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 8,\n type: UNSIGNED_SHORT\n };\n t[RGBA16I] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 8,\n type: SHORT\n };\n t[RGBA32I] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 16,\n type: INT\n };\n t[RGBA32UI] = {\n textureFormat: RGBA_INTEGER,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 16,\n type: UNSIGNED_INT\n }; // Sized Internal\n\n t[DEPTH_COMPONENT16] = {\n textureFormat: DEPTH_COMPONENT,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: [2, 4],\n type: [UNSIGNED_SHORT, UNSIGNED_INT]\n };\n t[DEPTH_COMPONENT24] = {\n textureFormat: DEPTH_COMPONENT,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_INT\n };\n t[DEPTH_COMPONENT32F] = {\n textureFormat: DEPTH_COMPONENT,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: FLOAT\n };\n t[DEPTH24_STENCIL8] = {\n textureFormat: DEPTH_STENCIL,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: UNSIGNED_INT_24_8\n };\n t[DEPTH32F_STENCIL8] = {\n textureFormat: DEPTH_STENCIL,\n colorRenderable: true,\n textureFilterable: false,\n bytesPerElement: 4,\n type: FLOAT_32_UNSIGNED_INT_24_8_REV\n };\n Object.keys(t).forEach(function (internalFormat) {\n var info = t[internalFormat];\n info.bytesPerElementMap = {};\n\n if (Array.isArray(info.bytesPerElement)) {\n info.bytesPerElement.forEach(function (bytesPerElement, ndx) {\n var type = info.type[ndx];\n info.bytesPerElementMap[type] = bytesPerElement;\n });\n } else {\n var type = info.type;\n info.bytesPerElementMap[type] = info.bytesPerElement;\n }\n });\n}\n/**\n * Gets the number of bytes per element for a given internalFormat / type\n * @param {number} internalFormat The internalFormat parameter from texImage2D etc..\n * @param {number} type The type parameter for texImage2D etc..\n * @return {number} the number of bytes per element for the given internalFormat, type combo\n * @memberOf module:twgl/textures\n */\n\nfunction getBytesPerElementForInternalFormat(internalFormat, type) {\n var info = textureInternalFormatInfo[internalFormat];\n\n if (!info) {\n throw \"unknown internal format\";\n }\n\n var bytesPerElement = info.bytesPerElementMap[type];\n\n if (bytesPerElement === undefined) {\n throw \"unknown internal format\";\n }\n\n return bytesPerElement;\n}\n/**\n * Gets the format for a given internalFormat\n *\n * @param {number} internalFormat The internal format\n * @return {{format:number, type:number}} the corresponding format and type\n */\n\n\nfunction getFormatAndTypeForInternalFormat(internalFormat) {\n var info = textureInternalFormatInfo[internalFormat];\n\n if (!info) {\n throw \"unknown internal format\";\n }\n\n return {\n format: info.textureFormat,\n type: Array.isArray(info.type) ? info.type[0] : info.type\n };\n}\n/**\n * Returns true if value is power of 2\n * @param {number} value number to check.\n * @return true if value is power of 2\n */\n\n\nfunction isPowerOf2(value) {\n return (value & value - 1) === 0;\n}\n/**\n * Gets whether or not we can generate mips for the given format\n * @param {number} internalFormat The internalFormat parameter from texImage2D etc..\n * @param {number} type The type parameter for texImage2D etc..\n * @return {boolean} true if we can generate mips\n */\n\n\nfunction canGenerateMipmap(gl, width, height, internalFormat\n/*, type */\n) {\n if (!utils.isWebGL2(gl)) {\n return isPowerOf2(width) && isPowerOf2(height);\n }\n\n var info = textureInternalFormatInfo[internalFormat];\n\n if (!info) {\n throw \"unknown internal format\";\n }\n\n return info.colorRenderable && info.textureFilterable;\n}\n/**\n * Gets whether or not we can generate mips for the given format\n * @param {number} internalFormat The internalFormat parameter from texImage2D etc..\n * @param {number} type The type parameter for texImage2D etc..\n * @return {boolean} true if we can generate mips\n */\n\n\nfunction canFilter(internalFormat\n/*, type */\n) {\n var info = textureInternalFormatInfo[internalFormat];\n\n if (!info) {\n throw \"unknown internal format\";\n }\n\n return info.textureFilterable;\n}\n/**\n * Gets the number of compontents for a given image format.\n * @param {number} format the format.\n * @return {number} the number of components for the format.\n * @memberOf module:twgl/textures\n */\n\n\nfunction getNumComponentsForFormat(format) {\n var info = formatInfo[format];\n\n if (!info) {\n throw \"unknown format: \" + format;\n }\n\n return info.numColorComponents;\n}\n/**\n * Gets the texture type for a given array type.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @return {number} the gl texture type\n */\n\n\nfunction getTextureTypeForArrayType(gl, src, defaultType) {\n if (isArrayBuffer(src)) {\n return typedArrays.getGLTypeForTypedArray(src);\n }\n\n return defaultType || gl.UNSIGNED_BYTE;\n}\n\nfunction guessDimensions(gl, target, width, height, numElements) {\n if (numElements % 1 !== 0) {\n throw \"can't guess dimensions\";\n }\n\n if (!width && !height) {\n var size = Math.sqrt(numElements / (target === gl.TEXTURE_CUBE_MAP ? 6 : 1));\n\n if (size % 1 === 0) {\n width = size;\n height = size;\n } else {\n width = numElements;\n height = 1;\n }\n } else if (!height) {\n height = numElements / width;\n\n if (height % 1) {\n throw \"can't guess dimensions\";\n }\n } else if (!width) {\n width = numElements / height;\n\n if (width % 1) {\n throw \"can't guess dimensions\";\n }\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * Sets the default texture color.\n *\n * The default texture color is used when loading textures from\n * urls. Because the URL will be loaded async we'd like to be\n * able to use the texture immediately. By putting a 1x1 pixel\n * color in the texture we can start using the texture before\n * the URL has loaded.\n *\n * @param {number[]} color Array of 4 values in the range 0 to 1\n * @deprecated see {@link module:twgl.setDefaults}\n * @memberOf module:twgl/textures\n */\n\n\nfunction setDefaultTextureColor(color) {\n defaults.textureColor = new Uint8Array([color[0] * 255, color[1] * 255, color[2] * 255, color[3] * 255]);\n}\n\nfunction setDefaults(newDefaults) {\n helper.copyExistingProperties(newDefaults, defaults);\n\n if (newDefaults.textureColor) {\n setDefaultTextureColor(newDefaults.textureColor);\n }\n}\n/**\n * A function to generate the source for a texture.\n * @callback TextureFunc\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @param {module:twgl.TextureOptions} options the texture options\n * @return {*} Returns any of the things documentented for `src` for {@link module:twgl.TextureOptions}.\n * @memberOf module:twgl\n */\n\n/**\n * Texture options passed to most texture functions. Each function will use whatever options\n * are appropriate for its needs. This lets you pass the same options to all functions.\n *\n * Note: A `TexImageSource` is defined in the WebGL spec as a `HTMLImageElement`, `HTMLVideoElement`,\n * `HTMLCanvasElement`, `ImageBitmap`, or `ImageData`.\n *\n * @typedef {Object} TextureOptions\n * @property {number} [target] the type of texture `gl.TEXTURE_2D` or `gl.TEXTURE_CUBE_MAP`. Defaults to `gl.TEXTURE_2D`.\n * @property {number} [level] the mip level to affect. Defaults to 0. Note, if set auto will be considered false unless explicitly set to true.\n * @property {number} [width] the width of the texture. Only used if src is an array or typed array or null.\n * @property {number} [height] the height of a texture. Only used if src is an array or typed array or null.\n * @property {number} [depth] the depth of a texture. Only used if src is an array or type array or null and target is `TEXTURE_3D` .\n * @property {number} [min] the min filter setting (eg. `gl.LINEAR`). Defaults to `gl.NEAREST_MIPMAP_LINEAR`\n * or if texture is not a power of 2 on both dimensions then defaults to `gl.LINEAR`.\n * @property {number} [mag] the mag filter setting (eg. `gl.LINEAR`). Defaults to `gl.LINEAR`\n * @property {number} [minMag] both the min and mag filter settings.\n * @property {number} [internalFormat] internal format for texture. Defaults to `gl.RGBA`\n * @property {number} [format] format for texture. Defaults to `gl.RGBA`.\n * @property {number} [type] type for texture. Defaults to `gl.UNSIGNED_BYTE` unless `src` is ArrayBufferView. If `src`\n * is ArrayBufferView defaults to type that matches ArrayBufferView type.\n * @property {number} [wrap] Texture wrapping for both S and T (and R if TEXTURE_3D or WebGLSampler). Defaults to `gl.REPEAT` for 2D unless src is WebGL1 and src not npot and `gl.CLAMP_TO_EDGE` for cube\n * @property {number} [wrapS] Texture wrapping for S. Defaults to `gl.REPEAT` and `gl.CLAMP_TO_EDGE` for cube. If set takes precedence over `wrap`.\n * @property {number} [wrapT] Texture wrapping for T. Defaults to `gl.REPEAT` and `gl.CLAMP_TO_EDGE` for cube. If set takes precedence over `wrap`.\n * @property {number} [wrapR] Texture wrapping for R. Defaults to `gl.REPEAT` and `gl.CLAMP_TO_EDGE` for cube. If set takes precedence over `wrap`.\n * @property {number} [minLod] TEXTURE_MIN_LOD setting\n * @property {number} [maxLod] TEXTURE_MAX_LOD setting\n * @property {number} [baseLevel] TEXTURE_BASE_LEVEL setting\n * @property {number} [maxLevel] TEXTURE_MAX_LEVEL setting\n * @property {number} [unpackAlignment] The `gl.UNPACK_ALIGNMENT` used when uploading an array. Defaults to 1.\n * @property {number} [premultiplyAlpha] Whether or not to premultiply alpha. Defaults to whatever the current setting is.\n * This lets you set it once before calling `twgl.createTexture` or `twgl.createTextures` and only override\n * the current setting for specific textures.\n * @property {number} [flipY] Whether or not to flip the texture vertically on upload. Defaults to whatever the current setting is.\n * This lets you set it once before calling `twgl.createTexture` or `twgl.createTextures` and only override\n * the current setting for specific textures.\n * @property {number} [colorspaceConversion] Whether or not to let the browser do colorspace conversion of the texture on upload. Defaults to whatever the current setting is.\n * This lets you set it once before calling `twgl.createTexture` or `twgl.createTextures` and only override\n * the current setting for specific textures.\n * @property {(number[]|ArrayBufferView)} color color used as temporary 1x1 pixel color for textures loaded async when src is a string.\n * If it's a JavaScript array assumes color is 0 to 1 like most GL colors as in `[1, 0, 0, 1] = red=1, green=0, blue=0, alpha=0`.\n * Defaults to `[0.5, 0.75, 1, 1]`. See {@link module:twgl.setDefaultTextureColor}. If `false` texture is set. Can be used to re-load a texture\n * @property {boolean} [auto] If `undefined` or `true`, in WebGL1, texture filtering is set automatically for non-power of 2 images and\n * mips are generated for power of 2 images. In WebGL2 mips are generated if they can be. Note: if `level` is set above\n * then then `auto` is assumed to be `false` unless explicity set to `true`.\n * @property {number[]} [cubeFaceOrder] The order that cube faces are pulled out of an img or set of images. The default is\n *\n * [gl.TEXTURE_CUBE_MAP_POSITIVE_X,\n * gl.TEXTURE_CUBE_MAP_NEGATIVE_X,\n * gl.TEXTURE_CUBE_MAP_POSITIVE_Y,\n * gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,\n * gl.TEXTURE_CUBE_MAP_POSITIVE_Z,\n * gl.TEXTURE_CUBE_MAP_NEGATIVE_Z]\n *\n * @property {(number[]|ArrayBufferView|TexImageSource|TexImageSource[]|string|string[]|module:twgl.TextureFunc)} [src] source for texture\n *\n * If `string` then it's assumed to be a URL to an image. The image will be downloaded async. A usable\n * 1x1 pixel texture will be returned immediatley. The texture will be updated once the image has downloaded.\n * If `target` is `gl.TEXTURE_CUBE_MAP` will attempt to divide image into 6 square pieces. 1x6, 6x1, 3x2, 2x3.\n * The pieces will be uploaded in `cubeFaceOrder`\n *\n * If `string[]` or `TexImageSource[]` and target is `gl.TEXTURE_CUBE_MAP` then it must have 6 entries, one for each face of a cube map.\n *\n * If `string[]` or `TexImageSource[]` and target is `gl.TEXTURE_2D_ARRAY` then eact entry is a slice of the a 2d array texture\n * and will be scaled to the specified width and height OR to the size of the first image that loads.\n *\n * If `TexImageSource` then it wil be used immediately to create the contents of the texture. Examples `HTMLImageElement`,\n * `HTMLCanvasElement`, `HTMLVideoElement`.\n *\n * If `number[]` or `ArrayBufferView` it's assumed to be data for a texture. If `width` or `height` is\n * not specified it is guessed as follows. First the number of elements is computed by `src.length / numComponents`\n * where `numComponents` is derived from `format`. If `target` is `gl.TEXTURE_CUBE_MAP` then `numElements` is divided\n * by 6. Then\n *\n * * If neither `width` nor `height` are specified and `sqrt(numElements)` is an integer then width and height\n * are set to `sqrt(numElements)`. Otherwise `width = numElements` and `height = 1`.\n *\n * * If only one of `width` or `height` is specified then the other equals `numElements / specifiedDimension`.\n *\n * If `number[]` will be converted to `type`.\n *\n * If `src` is a function it will be called with a `WebGLRenderingContext` and these options.\n * Whatever it returns is subject to these rules. So it can return a string url, an `HTMLElement`\n * an array etc...\n *\n * If `src` is undefined then an empty texture will be created of size `width` by `height`.\n *\n * @property {string} [crossOrigin] What to set the crossOrigin property of images when they are downloaded.\n * default: undefined. Also see {@link module:twgl.setDefaults}.\n *\n * @memberOf module:twgl\n */\n// NOTE: While querying GL is considered slow it's not remotely as slow\n// as uploading a texture. On top of that you're unlikely to call this in\n// a perf critical loop. Even if upload a texture every frame that's unlikely\n// to be more than 1 or 2 textures a frame. In other words, the benefits of\n// making the API easy to use outweigh any supposed perf benefits\n//\n// Also note I get that having one global of these is bad practice.\n// As long as it's used correctly it means no garbage which probably\n// doesn't matter when dealing with textures but old habits die hard.\n\n\nvar lastPackState = {};\n/**\n * Saves any packing state that will be set based on the options.\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n */\n\nfunction savePackState(gl, options) {\n if (options.colorspaceConversion !== undefined) {\n lastPackState.colorspaceConversion = gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL);\n gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, options.colorspaceConversion);\n }\n\n if (options.premultiplyAlpha !== undefined) {\n lastPackState.premultiplyAlpha = gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, options.premultiplyAlpha);\n }\n\n if (options.flipY !== undefined) {\n lastPackState.flipY = gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL);\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, options.flipY);\n }\n}\n/**\n * Restores any packing state that was set based on the options.\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n */\n\n\nfunction restorePackState(gl, options) {\n if (options.colorspaceConversion !== undefined) {\n gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, lastPackState.colorspaceConversion);\n }\n\n if (options.premultiplyAlpha !== undefined) {\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, lastPackState.premultiplyAlpha);\n }\n\n if (options.flipY !== undefined) {\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, lastPackState.flipY);\n }\n}\n/**\n * Saves state related to data size\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n */\n\n\nfunction saveSkipState(gl) {\n lastPackState.unpackAlignment = gl.getParameter(gl.UNPACK_ALIGNMENT);\n\n if (utils.isWebGL2(gl)) {\n lastPackState.unpackRowLength = gl.getParameter(gl.UNPACK_ROW_LENGTH);\n lastPackState.unpackImageHeight = gl.getParameter(gl.UNPACK_IMAGE_HEIGHT);\n lastPackState.unpackSkipPixels = gl.getParameter(gl.UNPACK_SKIP_PIXELS);\n lastPackState.unpackSkipRows = gl.getParameter(gl.UNPACK_SKIP_ROWS);\n lastPackState.unpackSkipImages = gl.getParameter(gl.UNPACK_SKIP_IMAGES);\n }\n}\n/**\n * Restores state related to data size\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n */\n\n\nfunction restoreSkipState(gl) {\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, lastPackState.unpackAlignment);\n\n if (utils.isWebGL2(gl)) {\n gl.pixelStorei(gl.UNPACK_ROW_LENGTH, lastPackState.unpackRowLength);\n gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT, lastPackState.unpackImageHeight);\n gl.pixelStorei(gl.UNPACK_SKIP_PIXELS, lastPackState.unpackSkipPixels);\n gl.pixelStorei(gl.UNPACK_SKIP_ROWS, lastPackState.unpackSkipRows);\n gl.pixelStorei(gl.UNPACK_SKIP_IMAGES, lastPackState.unpackSkipImages);\n }\n}\n/**\n * Sets the parameters of a texture or sampler\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {number|WebGLSampler} target texture target or sampler\n * @param {function()} parameteriFn texParamteri or samplerParameteri fn\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n */\n\n\nfunction setTextureSamplerParameters(gl, target, parameteriFn, options) {\n if (options.minMag) {\n parameteriFn.call(gl, target, gl.TEXTURE_MIN_FILTER, options.minMag);\n parameteriFn.call(gl, target, gl.TEXTURE_MAG_FILTER, options.minMag);\n }\n\n if (options.min) {\n parameteriFn.call(gl, target, gl.TEXTURE_MIN_FILTER, options.min);\n }\n\n if (options.mag) {\n parameteriFn.call(gl, target, gl.TEXTURE_MAG_FILTER, options.mag);\n }\n\n if (options.wrap) {\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_S, options.wrap);\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_T, options.wrap);\n\n if (target === gl.TEXTURE_3D || helper.isSampler(gl, target)) {\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_R, options.wrap);\n }\n }\n\n if (options.wrapR) {\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_R, options.wrapR);\n }\n\n if (options.wrapS) {\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_S, options.wrapS);\n }\n\n if (options.wrapT) {\n parameteriFn.call(gl, target, gl.TEXTURE_WRAP_T, options.wrapT);\n }\n\n if (options.minLod) {\n parameteriFn.call(gl, target, gl.TEXTURE_MIN_LOD, options.minLod);\n }\n\n if (options.maxLod) {\n parameteriFn.call(gl, target, gl.TEXTURE_MAX_LOD, options.maxLod);\n }\n\n if (options.baseLevel) {\n parameteriFn.call(gl, target, gl.TEXTURE_BASE_LEVEL, options.baseLevel);\n }\n\n if (options.maxLevel) {\n parameteriFn.call(gl, target, gl.TEXTURE_MAX_LEVEL, options.maxLevel);\n }\n}\n/**\n * Sets the texture parameters of a texture.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @memberOf module:twgl/textures\n */\n\n\nfunction setTextureParameters(gl, tex, options) {\n var target = options.target || gl.TEXTURE_2D;\n gl.bindTexture(target, tex);\n setTextureSamplerParameters(gl, target, gl.texParameteri, options);\n}\n/**\n * Sets the sampler parameters of a sampler.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLSampler} sampler the WebGLSampler to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @memberOf module:twgl/textures\n */\n\n\nfunction setSamplerParameters(gl, sampler, options) {\n setTextureSamplerParameters(gl, sampler, gl.samplerParameteri, options);\n}\n/**\n * Creates a new sampler object and sets parameters.\n *\n * Example:\n *\n * const sampler = twgl.createSampler(gl, {\n * minMag: gl.NEAREST, // sets both TEXTURE_MIN_FILTER and TEXTURE_MAG_FILTER\n * wrap: gl.CLAMP_TO_NEAREST, // sets both TEXTURE_WRAP_S and TEXTURE_WRAP_T and TEXTURE_WRAP_R\n * });\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {Object.} options A object of TextureOptions one per sampler.\n * @return {Object.} the created samplers by name\n */\n\n\nfunction createSampler(gl, options) {\n var sampler = gl.createSampler();\n setSamplerParameters(gl, sampler, options);\n return sampler;\n}\n/**\n * Creates a multiple sampler objects and sets parameters on each.\n *\n * Example:\n *\n * const samplers = twgl.createSamplers(gl, {\n * nearest: {\n * minMag: gl.NEAREST,\n * },\n * nearestClampS: {\n * minMag: gl.NEAREST,\n * wrapS: gl.CLAMP_TO_NEAREST,\n * },\n * linear: {\n * minMag: gl.LINEAR,\n * },\n * nearestClamp: {\n * minMag: gl.NEAREST,\n * wrap: gl.CLAMP_TO_EDGE,\n * },\n * linearClamp: {\n * minMag: gl.LINEAR,\n * wrap: gl.CLAMP_TO_EDGE,\n * },\n * linearClampT: {\n * minMag: gl.LINEAR,\n * wrapT: gl.CLAMP_TO_EDGE,\n * },\n * });\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set on the sampler\n */\n\n\nfunction createSamplers(gl, samplerOptions) {\n var samplers = {};\n Object.keys(samplerOptions).forEach(function (name) {\n samplers[name] = createSampler(gl, samplerOptions[name]);\n });\n return samplers;\n}\n/**\n * Makes a 1x1 pixel\n * If no color is passed in uses the default color which can be set by calling `setDefaultTextureColor`.\n * @param {(number[]|ArrayBufferView)} [color] The color using 0-1 values\n * @return {Uint8Array} Unit8Array with color.\n */\n\n\nfunction make1Pixel(color) {\n color = color || defaults.textureColor;\n\n if (isArrayBuffer(color)) {\n return color;\n }\n\n return new Uint8Array([color[0] * 255, color[1] * 255, color[2] * 255, color[3] * 255]);\n}\n/**\n * Sets filtering or generates mips for texture based on width or height\n * If width or height is not passed in uses `options.width` and//or `options.height`\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @param {number} [width] width of texture\n * @param {number} [height] height of texture\n * @param {number} [internalFormat] The internalFormat parameter from texImage2D etc..\n * @param {number} [type] The type parameter for texImage2D etc..\n * @memberOf module:twgl/textures\n */\n\n\nfunction setTextureFilteringForSize(gl, tex, options, width, height, internalFormat, type) {\n options = options || defaults.textureOptions;\n internalFormat = internalFormat || gl.RGBA;\n type = type || gl.UNSIGNED_BYTE;\n var target = options.target || gl.TEXTURE_2D;\n width = width || options.width;\n height = height || options.height;\n gl.bindTexture(target, tex);\n\n if (canGenerateMipmap(gl, width, height, internalFormat, type)) {\n gl.generateMipmap(target);\n } else {\n var filtering = canFilter(internalFormat, type) ? gl.LINEAR : gl.NEAREST;\n gl.texParameteri(target, gl.TEXTURE_MIN_FILTER, filtering);\n gl.texParameteri(target, gl.TEXTURE_MAG_FILTER, filtering);\n gl.texParameteri(target, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(target, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n }\n}\n\nfunction shouldAutomaticallySetTextureFilteringForSize(options) {\n return options.auto === true || options.auto === undefined && options.level === undefined;\n}\n/**\n * Gets an array of cubemap face enums\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @return {number[]} cubemap face enums\n */\n\n\nfunction getCubeFaceOrder(gl, options) {\n options = options || {};\n return options.cubeFaceOrder || [gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z];\n}\n/**\n * @typedef {Object} FaceInfo\n * @property {number} face gl enum for texImage2D\n * @property {number} ndx face index (0 - 5) into source data\n * @ignore\n */\n\n/**\n * Gets an array of FaceInfos\n * There's a bug in some NVidia drivers that will crash the driver if\n * `gl.TEXTURE_CUBE_MAP_POSITIVE_X` is not uploaded first. So, we take\n * the user's desired order from his faces to WebGL and make sure we\n * do the faces in WebGL order\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @return {FaceInfo[]} cubemap face infos. Arguably the `face` property of each element is redundent but\n * it's needed internally to sort the array of `ndx` properties by `face`.\n */\n\n\nfunction getCubeFacesWithNdx(gl, options) {\n var faces = getCubeFaceOrder(gl, options); // work around bug in NVidia drivers. We have to upload the first face first else the driver crashes :(\n\n var facesWithNdx = faces.map(function (face, ndx) {\n return {\n face: face,\n ndx: ndx\n };\n });\n facesWithNdx.sort(function (a, b) {\n return a.face - b.face;\n });\n return facesWithNdx;\n}\n/**\n * Set a texture from the contents of an element. Will also set\n * texture filtering or generate mips based on the dimensions of the element\n * unless `options.auto === false`. If `target === gl.TEXTURE_CUBE_MAP` will\n * attempt to slice image into 1x6, 2x3, 3x2, or 6x1 images, one for each face.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {HTMLElement} element a canvas, img, or video element.\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @memberOf module:twgl/textures\n * @kind function\n */\n\n\nfunction setTextureFromElement(gl, tex, element, options) {\n options = options || defaults.textureOptions;\n var target = options.target || gl.TEXTURE_2D;\n var level = options.level || 0;\n var width = element.width;\n var height = element.height;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type = options.type || formatType.type;\n savePackState(gl, options);\n gl.bindTexture(target, tex);\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n // guess the parts\n var imgWidth = element.width;\n var imgHeight = element.height;\n var size;\n var slices;\n\n if (imgWidth / 6 === imgHeight) {\n // It's 6x1\n size = imgHeight;\n slices = [0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0];\n } else if (imgHeight / 6 === imgWidth) {\n // It's 1x6\n size = imgWidth;\n slices = [0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5];\n } else if (imgWidth / 3 === imgHeight / 2) {\n // It's 3x2\n size = imgWidth / 3;\n slices = [0, 0, 1, 0, 2, 0, 0, 1, 1, 1, 2, 1];\n } else if (imgWidth / 2 === imgHeight / 3) {\n // It's 2x3\n size = imgWidth / 2;\n slices = [0, 0, 1, 0, 0, 1, 1, 1, 0, 2, 1, 2];\n } else {\n throw \"can't figure out cube map from element: \" + (element.src ? element.src : element.nodeName);\n }\n\n if (ctx) {\n ctx.canvas.width = size;\n ctx.canvas.height = size;\n width = size;\n height = size;\n getCubeFacesWithNdx(gl, options).forEach(function (f) {\n var xOffset = slices[f.ndx * 2 + 0] * size;\n var yOffset = slices[f.ndx * 2 + 1] * size;\n ctx.drawImage(element, xOffset, yOffset, size, size, 0, 0, size, size);\n gl.texImage2D(f.face, level, internalFormat, format, type, ctx.canvas);\n }); // Free up the canvas memory\n\n ctx.canvas.width = 1;\n ctx.canvas.height = 1;\n } else if (_globalObject.default.createImageBitmap) {\n // NOTE: It seems like we should prefer ImageBitmap because unlike canvas it's\n // note lossy? (alpha is not premultiplied? although I'm not sure what\n width = size;\n height = size;\n getCubeFacesWithNdx(gl, options).forEach(function (f) {\n var xOffset = slices[f.ndx * 2 + 0] * size;\n var yOffset = slices[f.ndx * 2 + 1] * size; // We can't easily use a default texture color here as it would have to match\n // the type across all faces where as with a 2D one there's only one face\n // so we're replacing everything all at once. It also has to be the correct size.\n // On the other hand we need all faces to be the same size so as one face loads\n // the rest match else the texture will be unrenderable.\n\n gl.texImage2D(f.face, level, internalFormat, size, size, 0, format, type, null);\n\n _globalObject.default.createImageBitmap(element, xOffset, yOffset, size, size, {\n premultiplyAlpha: 'none',\n colorSpaceConversion: 'none'\n }).then(function (imageBitmap) {\n savePackState(gl, options);\n gl.bindTexture(target, tex);\n gl.texImage2D(f.face, level, internalFormat, format, type, imageBitmap);\n restorePackState(gl, options);\n\n if (shouldAutomaticallySetTextureFilteringForSize(options)) {\n setTextureFilteringForSize(gl, tex, options, width, height, internalFormat, type);\n }\n });\n });\n }\n } else if (target === gl.TEXTURE_3D || target === gl.TEXTURE_2D_ARRAY) {\n var smallest = Math.min(element.width, element.height);\n var largest = Math.max(element.width, element.height);\n var depth = largest / smallest;\n\n if (depth % 1 !== 0) {\n throw \"can not compute 3D dimensions of element\";\n }\n\n var xMult = element.width === largest ? 1 : 0;\n var yMult = element.height === largest ? 1 : 0;\n saveSkipState(gl);\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);\n gl.pixelStorei(gl.UNPACK_ROW_LENGTH, element.width);\n gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT, 0);\n gl.pixelStorei(gl.UNPACK_SKIP_IMAGES, 0);\n gl.texImage3D(target, level, internalFormat, smallest, smallest, smallest, 0, format, type, null);\n\n for (var d = 0; d < depth; ++d) {\n var srcX = d * smallest * xMult;\n var srcY = d * smallest * yMult;\n gl.pixelStorei(gl.UNPACK_SKIP_PIXELS, srcX);\n gl.pixelStorei(gl.UNPACK_SKIP_ROWS, srcY);\n gl.texSubImage3D(target, level, 0, 0, d, smallest, smallest, 1, format, type, element);\n }\n\n restoreSkipState(gl);\n } else {\n gl.texImage2D(target, level, internalFormat, format, type, element);\n }\n\n restorePackState(gl, options);\n\n if (shouldAutomaticallySetTextureFilteringForSize(options)) {\n setTextureFilteringForSize(gl, tex, options, width, height, internalFormat, type);\n }\n\n setTextureParameters(gl, tex, options);\n}\n\nfunction noop() {}\n/**\n * Loads an image\n * @param {string} url url to image\n * @param {string} crossOrigin\n * @param {function(err, img)} [callback] a callback that's passed an error and the image. The error will be non-null\n * if there was an error\n * @return {HTMLImageElement} the image being loaded.\n */\n\n\nfunction loadImage(url, crossOrigin, callback) {\n callback = callback || noop;\n var img;\n\n if (_globalObject.default.Image) {\n img = new _globalObject.default.Image();\n crossOrigin = crossOrigin !== undefined ? crossOrigin : defaults.crossOrigin;\n\n if (crossOrigin !== undefined) {\n img.crossOrigin = crossOrigin;\n }\n\n var clearEventHandlers = function clearEventHandlers() {\n img.removeEventListener('error', onError); // eslint-disable-line\n\n img.removeEventListener('load', onLoad); // eslint-disable-line\n\n img = null;\n };\n\n var onError = function onError() {\n var msg = \"couldn't load image: \" + url;\n helper.error(msg);\n callback(msg, img);\n clearEventHandlers();\n };\n\n var onLoad = function onLoad() {\n callback(null, img);\n clearEventHandlers();\n };\n\n img.addEventListener('error', onError);\n img.addEventListener('load', onLoad);\n img.src = url;\n return img;\n } else if (_globalObject.default.ImageBitmap) {\n var err;\n var bm;\n\n var cb = function cb() {\n callback(err, bm);\n };\n\n var options = {};\n\n if (crossOrigin) {\n options.mode = 'cors'; // TODO: not sure how to translate image.crossOrigin\n }\n\n fetch(url, options).then(function (response) {\n if (!response.ok) {\n throw response;\n }\n\n return response.blob();\n }).then(function (blob) {\n return _globalObject.default.createImageBitmap(blob, {\n premultiplyAlpha: 'none',\n colorSpaceConversion: 'none'\n });\n }).then(function (bitmap) {\n // not sure if this works. We don't want\n // to catch the user's error. So, call\n // the callback in a timeout so we're\n // not in this scope inside the promise.\n bm = bitmap;\n setTimeout(cb);\n }).catch(function (e) {\n err = e;\n setTimeout(cb);\n });\n img = null;\n }\n\n return img;\n}\n/**\n * check if object is a TexImageSource\n *\n * @param {Object} obj Object to test\n * @return {boolean} true if object is a TexImageSource\n */\n\n\nfunction isTexImageSource(obj) {\n return _globalObject.default.ImageBitmap && obj instanceof _globalObject.default.ImageBitmap || _globalObject.default.ImageData && obj instanceof _globalObject.default.ImageData || _globalObject.default.HTMLElement && obj instanceof _globalObject.default.HTMLElement;\n}\n/**\n * if obj is an TexImageSource then just\n * uses it otherwise if obj is a string\n * then load it first.\n *\n * @param {string|TexImageSource} obj\n * @param {string} crossOrigin\n * @param {function(err, img)} [callback] a callback that's passed an error and the image. The error will be non-null\n * if there was an error\n */\n\n\nfunction loadAndUseImage(obj, crossOrigin, callback) {\n if (isTexImageSource(obj)) {\n setTimeout(function () {\n callback(null, obj);\n });\n return obj;\n }\n\n return loadImage(obj, crossOrigin, callback);\n}\n/**\n * Sets a texture to a 1x1 pixel color. If `options.color === false` is nothing happens. If it's not set\n * the default texture color is used which can be set by calling `setDefaultTextureColor`.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @memberOf module:twgl/textures\n */\n\n\nfunction setTextureTo1PixelColor(gl, tex, options) {\n options = options || defaults.textureOptions;\n var target = options.target || gl.TEXTURE_2D;\n gl.bindTexture(target, tex);\n\n if (options.color === false) {\n return;\n } // Assume it's a URL\n // Put 1x1 pixels in texture. That makes it renderable immediately regardless of filtering.\n\n\n var color = make1Pixel(options.color);\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n for (var ii = 0; ii < 6; ++ii) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);\n }\n } else if (target === gl.TEXTURE_3D || target === gl.TEXTURE_2D_ARRAY) {\n gl.texImage3D(target, 0, gl.RGBA, 1, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);\n } else {\n gl.texImage2D(target, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);\n }\n}\n/**\n * The src image(s) used to create a texture.\n *\n * When you call {@link module:twgl.createTexture} or {@link module:twgl.createTextures}\n * you can pass in urls for images to load into the textures. If it's a single url\n * then this will be a single HTMLImageElement. If it's an array of urls used for a cubemap\n * this will be a corresponding array of images for the cubemap.\n *\n * @typedef {HTMLImageElement|HTMLImageElement[]} TextureSrc\n * @memberOf module:twgl\n */\n\n/**\n * A callback for when an image finished downloading and been uploaded into a texture\n * @callback TextureReadyCallback\n * @param {*} err If truthy there was an error.\n * @param {WebGLTexture} texture the texture.\n * @param {module:twgl.TextureSrc} souce image(s) used to as the src for the texture\n * @memberOf module:twgl\n */\n\n/**\n * A callback for when all images have finished downloading and been uploaded into their respective textures\n * @callback TexturesReadyCallback\n * @param {*} err If truthy there was an error.\n * @param {Object.} textures the created textures by name. Same as returned by {@link module:twgl.createTextures}.\n * @param {Object.} sources the image(s) used for the texture by name.\n * @memberOf module:twgl\n */\n\n/**\n * A callback for when an image finished downloading and been uploaded into a texture\n * @callback CubemapReadyCallback\n * @param {*} err If truthy there was an error.\n * @param {WebGLTexture} tex the texture.\n * @param {HTMLImageElement[]} imgs the images for each face.\n * @memberOf module:twgl\n */\n\n/**\n * A callback for when an image finished downloading and been uploaded into a texture\n * @callback ThreeDReadyCallback\n * @param {*} err If truthy there was an error.\n * @param {WebGLTexture} tex the texture.\n * @param {HTMLImageElement[]} imgs the images for each slice.\n * @memberOf module:twgl\n */\n\n/**\n * Loads a texture from an image from a Url as specified in `options.src`\n * If `options.color !== false` will set the texture to a 1x1 pixel color so that the texture is\n * immediately useable. It will be updated with the contents of the image once the image has finished\n * downloading. Filtering options will be set as approriate for image unless `options.auto === false`.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * @param {module:twgl.TextureReadyCallback} [callback] A function to be called when the image has finished loading. err will\n * be non null if there was an error.\n * @return {HTMLImageElement} the image being downloaded.\n * @memberOf module:twgl/textures\n */\n\n\nfunction loadTextureFromUrl(gl, tex, options, callback) {\n callback = callback || noop;\n options = options || defaults.textureOptions;\n setTextureTo1PixelColor(gl, tex, options); // Because it's async we need to copy the options.\n\n options = Object.assign({}, options);\n var img = loadAndUseImage(options.src, options.crossOrigin, function (err, img) {\n if (err) {\n callback(err, tex, img);\n } else {\n setTextureFromElement(gl, tex, img, options);\n callback(null, tex, img);\n }\n });\n return img;\n}\n/**\n * Loads a cubemap from 6 urls or TexImageSources as specified in `options.src`. Will set the cubemap to a 1x1 pixel color\n * so that it is usable immediately unless `option.color === false`.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @param {module:twgl.CubemapReadyCallback} [callback] A function to be called when all the images have finished loading. err will\n * be non null if there was an error.\n * @memberOf module:twgl/textures\n */\n\n\nfunction loadCubemapFromUrls(gl, tex, options, callback) {\n callback = callback || noop;\n var urls = options.src;\n\n if (urls.length !== 6) {\n throw \"there must be 6 urls for a cubemap\";\n }\n\n var level = options.level || 0;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type = options.type || gl.UNSIGNED_BYTE;\n var target = options.target || gl.TEXTURE_2D;\n\n if (target !== gl.TEXTURE_CUBE_MAP) {\n throw \"target must be TEXTURE_CUBE_MAP\";\n }\n\n setTextureTo1PixelColor(gl, tex, options); // Because it's async we need to copy the options.\n\n options = Object.assign({}, options);\n var numToLoad = 6;\n var errors = [];\n var faces = getCubeFaceOrder(gl, options);\n var imgs; // eslint-disable-line\n\n function uploadImg(faceTarget) {\n return function (err, img) {\n --numToLoad;\n\n if (err) {\n errors.push(err);\n } else {\n if (img.width !== img.height) {\n errors.push(\"cubemap face img is not a square: \" + img.src);\n } else {\n savePackState(gl, options);\n gl.bindTexture(target, tex); // So assuming this is the first image we now have one face that's img sized\n // and 5 faces that are 1x1 pixel so size the other faces\n\n if (numToLoad === 5) {\n // use the default order\n getCubeFaceOrder(gl).forEach(function (otherTarget) {\n // Should we re-use the same face or a color?\n gl.texImage2D(otherTarget, level, internalFormat, format, type, img);\n });\n } else {\n gl.texImage2D(faceTarget, level, internalFormat, format, type, img);\n }\n\n restorePackState(gl, options);\n\n if (shouldAutomaticallySetTextureFilteringForSize(options)) {\n gl.generateMipmap(target);\n }\n }\n }\n\n if (numToLoad === 0) {\n callback(errors.length ? errors : undefined, tex, imgs);\n }\n };\n }\n\n imgs = urls.map(function (url, ndx) {\n return loadAndUseImage(url, options.crossOrigin, uploadImg(faces[ndx]));\n });\n}\n/**\n * Loads a 2d array or 3d texture from urls OR TexImageSources as specified in `options.src`.\n * Will set the texture to a 1x1 pixel color\n * so that it is usable immediately unless `option.color === false`.\n *\n * If the width and height is not specified the width and height of the first\n * image loaded will be used. Note that since images are loaded async\n * which image downloads first is unknown.\n *\n * If an image is not the same size as the width and height it will be scaled\n * to that width and height.\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @param {module:twgl.ThreeDReadyCallback} [callback] A function to be called when all the images have finished loading. err will\n * be non null if there was an error.\n * @memberOf module:twgl/textures\n */\n\n\nfunction loadSlicesFromUrls(gl, tex, options, callback) {\n callback = callback || noop;\n var urls = options.src;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type = options.type || gl.UNSIGNED_BYTE;\n var target = options.target || gl.TEXTURE_2D_ARRAY;\n\n if (target !== gl.TEXTURE_3D && target !== gl.TEXTURE_2D_ARRAY) {\n throw \"target must be TEXTURE_3D or TEXTURE_2D_ARRAY\";\n }\n\n setTextureTo1PixelColor(gl, tex, options); // Because it's async we need to copy the options.\n\n options = Object.assign({}, options);\n var numToLoad = urls.length;\n var errors = [];\n var imgs; // eslint-disable-line\n\n var level = options.level || 0;\n var width = options.width;\n var height = options.height;\n var depth = urls.length;\n var firstImage = true;\n\n function uploadImg(slice) {\n return function (err, img) {\n --numToLoad;\n\n if (err) {\n errors.push(err);\n } else {\n savePackState(gl, options);\n gl.bindTexture(target, tex);\n\n if (firstImage) {\n firstImage = false;\n width = options.width || img.width;\n height = options.height || img.height;\n gl.texImage3D(target, level, internalFormat, width, height, depth, 0, format, type, null); // put it in every slice otherwise some slices will be 0,0,0,0\n\n for (var s = 0; s < depth; ++s) {\n gl.texSubImage3D(target, level, 0, 0, s, width, height, 1, format, type, img);\n }\n } else {\n var src = img;\n\n if (img.width !== width || img.height !== height) {\n // Size the image to fix\n src = ctx.canvas;\n ctx.canvas.width = width;\n ctx.canvas.height = height;\n ctx.drawImage(img, 0, 0, width, height);\n }\n\n gl.texSubImage3D(target, level, 0, 0, slice, width, height, 1, format, type, src); // free the canvas memory\n\n if (src === ctx.canvas) {\n ctx.canvas.width = 0;\n ctx.canvas.height = 0;\n }\n }\n\n restorePackState(gl, options);\n\n if (shouldAutomaticallySetTextureFilteringForSize(options)) {\n gl.generateMipmap(target);\n }\n }\n\n if (numToLoad === 0) {\n callback(errors.length ? errors : undefined, tex, imgs);\n }\n };\n }\n\n imgs = urls.map(function (url, ndx) {\n return loadAndUseImage(url, options.crossOrigin, uploadImg(ndx));\n });\n}\n/**\n * Sets a texture from an array or typed array. If the width or height is not provided will attempt to\n * guess the size. See {@link module:twgl.TextureOptions}.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {(number[]|ArrayBufferView)} src An array or typed arry with texture data.\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * This is often the same options you passed in when you created the texture.\n * @memberOf module:twgl/textures\n */\n\n\nfunction setTextureFromArray(gl, tex, src, options) {\n options = options || defaults.textureOptions;\n var target = options.target || gl.TEXTURE_2D;\n gl.bindTexture(target, tex);\n var width = options.width;\n var height = options.height;\n var depth = options.depth;\n var level = options.level || 0;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type = options.type || getTextureTypeForArrayType(gl, src, formatType.type);\n\n if (!isArrayBuffer(src)) {\n var Type = typedArrays.getTypedArrayTypeForGLType(type);\n src = new Type(src);\n } else if (src instanceof Uint8ClampedArray) {\n src = new Uint8Array(src.buffer);\n }\n\n var bytesPerElement = getBytesPerElementForInternalFormat(internalFormat, type);\n var numElements = src.byteLength / bytesPerElement; // TODO: check UNPACK_ALIGNMENT?\n\n if (numElements % 1) {\n throw \"length wrong size for format: \" + utils.glEnumToString(gl, format);\n }\n\n var dimensions;\n\n if (target === gl.TEXTURE_3D) {\n if (!width && !height && !depth) {\n var size = Math.cbrt(numElements);\n\n if (size % 1 !== 0) {\n throw \"can't guess cube size of array of numElements: \" + numElements;\n }\n\n width = size;\n height = size;\n depth = size;\n } else if (width && (!height || !depth)) {\n dimensions = guessDimensions(gl, target, height, depth, numElements / width);\n height = dimensions.width;\n depth = dimensions.height;\n } else if (height && (!width || !depth)) {\n dimensions = guessDimensions(gl, target, width, depth, numElements / height);\n width = dimensions.width;\n depth = dimensions.height;\n } else {\n dimensions = guessDimensions(gl, target, width, height, numElements / depth);\n width = dimensions.width;\n height = dimensions.height;\n }\n } else {\n dimensions = guessDimensions(gl, target, width, height, numElements);\n width = dimensions.width;\n height = dimensions.height;\n }\n\n saveSkipState(gl);\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, options.unpackAlignment || 1);\n savePackState(gl, options);\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n var elementsPerElement = bytesPerElement / src.BYTES_PER_ELEMENT;\n var faceSize = numElements / 6 * elementsPerElement;\n getCubeFacesWithNdx(gl, options).forEach(function (f) {\n var offset = faceSize * f.ndx;\n var data = src.subarray(offset, offset + faceSize);\n gl.texImage2D(f.face, level, internalFormat, width, height, 0, format, type, data);\n });\n } else if (target === gl.TEXTURE_3D) {\n gl.texImage3D(target, level, internalFormat, width, height, depth, 0, format, type, src);\n } else {\n gl.texImage2D(target, level, internalFormat, width, height, 0, format, type, src);\n }\n\n restorePackState(gl, options);\n restoreSkipState(gl);\n return {\n width: width,\n height: height,\n depth: depth,\n type: type\n };\n}\n/**\n * Sets a texture with no contents of a certain size. In other words calls `gl.texImage2D` with `null`.\n * You must set `options.width` and `options.height`.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the WebGLTexture to set parameters for\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @memberOf module:twgl/textures\n */\n\n\nfunction setEmptyTexture(gl, tex, options) {\n var target = options.target || gl.TEXTURE_2D;\n gl.bindTexture(target, tex);\n var level = options.level || 0;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type = options.type || formatType.type;\n savePackState(gl, options);\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n for (var ii = 0; ii < 6; ++ii) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, level, internalFormat, options.width, options.height, 0, format, type, null);\n }\n } else if (target === gl.TEXTURE_3D) {\n gl.texImage3D(target, level, internalFormat, options.width, options.height, options.depth, 0, format, type, null);\n } else {\n gl.texImage2D(target, level, internalFormat, options.width, options.height, 0, format, type, null);\n }\n\n restorePackState(gl, options);\n}\n/**\n * Creates a texture based on the options passed in.\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.TextureOptions} [options] A TextureOptions object with whatever parameters you want set.\n * @param {module:twgl.TextureReadyCallback} [callback] A callback called when an image has been downloaded and uploaded to the texture.\n * @return {WebGLTexture} the created texture.\n * @memberOf module:twgl/textures\n */\n\n\nfunction createTexture(gl, options, callback) {\n callback = callback || noop;\n options = options || defaults.textureOptions;\n var tex = gl.createTexture();\n var target = options.target || gl.TEXTURE_2D;\n var width = options.width || 1;\n var height = options.height || 1;\n var internalFormat = options.internalFormat || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var type = options.type || formatType.type;\n gl.bindTexture(target, tex);\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n // this should have been the default for CUBEMAPS :(\n gl.texParameteri(target, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(target, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n }\n\n var src = options.src;\n\n if (src) {\n if (typeof src === \"function\") {\n src = src(gl, options);\n }\n\n if (typeof src === \"string\") {\n loadTextureFromUrl(gl, tex, options, callback);\n } else if (isArrayBuffer(src) || Array.isArray(src) && (typeof src[0] === 'number' || Array.isArray(src[0]) || isArrayBuffer(src[0]))) {\n var dimensions = setTextureFromArray(gl, tex, src, options);\n width = dimensions.width;\n height = dimensions.height;\n type = dimensions.type;\n } else if (Array.isArray(src) && (typeof src[0] === 'string' || isTexImageSource(src[0]))) {\n if (target === gl.TEXTURE_CUBE_MAP) {\n loadCubemapFromUrls(gl, tex, options, callback);\n } else {\n loadSlicesFromUrls(gl, tex, options, callback);\n }\n } else if (isTexImageSource(src)) {\n setTextureFromElement(gl, tex, src, options);\n width = src.width;\n height = src.height;\n } else {\n throw \"unsupported src type\";\n }\n } else {\n setEmptyTexture(gl, tex, options);\n }\n\n if (shouldAutomaticallySetTextureFilteringForSize(options)) {\n setTextureFilteringForSize(gl, tex, options, width, height, internalFormat, type);\n }\n\n setTextureParameters(gl, tex, options);\n return tex;\n}\n/**\n * Resizes a texture based on the options passed in.\n *\n * Note: This is not a generic resize anything function.\n * It's mostly used by {@link module:twgl.resizeFramebufferInfo}\n * It will use `options.src` if it exists to try to determine a `type`\n * otherwise it will assume `gl.UNSIGNED_BYTE`. No data is provided\n * for the texture. Texture parameters will be set accordingly\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {WebGLTexture} tex the texture to resize\n * @param {module:twgl.TextureOptions} options A TextureOptions object with whatever parameters you want set.\n * @param {number} [width] the new width. If not passed in will use `options.width`\n * @param {number} [height] the new height. If not passed in will use `options.height`\n * @memberOf module:twgl/textures\n */\n\n\nfunction resizeTexture(gl, tex, options, width, height) {\n width = width || options.width;\n height = height || options.height;\n var target = options.target || gl.TEXTURE_2D;\n gl.bindTexture(target, tex);\n var level = options.level || 0;\n var internalFormat = options.internalFormat || options.format || gl.RGBA;\n var formatType = getFormatAndTypeForInternalFormat(internalFormat);\n var format = options.format || formatType.format;\n var type;\n var src = options.src;\n\n if (!src) {\n type = options.type || formatType.type;\n } else if (isArrayBuffer(src) || Array.isArray(src) && typeof src[0] === 'number') {\n type = options.type || getTextureTypeForArrayType(gl, src, formatType.type);\n } else {\n type = options.type || formatType.type;\n }\n\n if (target === gl.TEXTURE_CUBE_MAP) {\n for (var ii = 0; ii < 6; ++ii) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, level, internalFormat, width, height, 0, format, type, null);\n }\n } else {\n gl.texImage2D(target, level, internalFormat, width, height, 0, format, type, null);\n }\n}\n/**\n * Check if a src is an async request.\n * if src is a string we're going to download an image\n * if src is an array of strings we're going to download cubemap images\n * @param {*} src The src from a TextureOptions\n * @returns {bool} true if src is async.\n */\n\n\nfunction isAsyncSrc(src) {\n return typeof src === 'string' || Array.isArray(src) && typeof src[0] === 'string';\n}\n/**\n * Creates a bunch of textures based on the passed in options.\n *\n * Example:\n *\n * const textures = twgl.createTextures(gl, {\n * // a power of 2 image\n * hftIcon: { src: \"images/hft-icon-16.png\", mag: gl.NEAREST },\n * // a non-power of 2 image\n * clover: { src: \"images/clover.jpg\" },\n * // From a canvas\n * fromCanvas: { src: ctx.canvas },\n * // A cubemap from 6 images\n * yokohama: {\n * target: gl.TEXTURE_CUBE_MAP,\n * src: [\n * 'images/yokohama/posx.jpg',\n * 'images/yokohama/negx.jpg',\n * 'images/yokohama/posy.jpg',\n * 'images/yokohama/negy.jpg',\n * 'images/yokohama/posz.jpg',\n * 'images/yokohama/negz.jpg',\n * ],\n * },\n * // A cubemap from 1 image (can be 1x6, 2x3, 3x2, 6x1)\n * goldengate: {\n * target: gl.TEXTURE_CUBE_MAP,\n * src: 'images/goldengate.jpg',\n * },\n * // A 2x2 pixel texture from a JavaScript array\n * checker: {\n * mag: gl.NEAREST,\n * min: gl.LINEAR,\n * src: [\n * 255,255,255,255,\n * 192,192,192,255,\n * 192,192,192,255,\n * 255,255,255,255,\n * ],\n * },\n * // a 1x2 pixel texture from a typed array.\n * stripe: {\n * mag: gl.NEAREST,\n * min: gl.LINEAR,\n * format: gl.LUMINANCE,\n * src: new Uint8Array([\n * 255,\n * 128,\n * 255,\n * 128,\n * 255,\n * 128,\n * 255,\n * 128,\n * ]),\n * width: 1,\n * },\n * });\n *\n * Now\n *\n * * `textures.hftIcon` will be a 2d texture\n * * `textures.clover` will be a 2d texture\n * * `textures.fromCanvas` will be a 2d texture\n * * `textures.yohohama` will be a cubemap texture\n * * `textures.goldengate` will be a cubemap texture\n * * `textures.checker` will be a 2d texture\n * * `textures.stripe` will be a 2d texture\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {Object.} options A object of TextureOptions one per texture.\n * @param {module:twgl.TexturesReadyCallback} [callback] A callback called when all textures have been downloaded.\n * @return {Object.} the created textures by name\n * @memberOf module:twgl/textures\n */\n\n\nfunction createTextures(gl, textureOptions, callback) {\n callback = callback || noop;\n var numDownloading = 0;\n var errors = [];\n var textures = {};\n var images = {};\n\n function callCallbackIfReady() {\n if (numDownloading === 0) {\n setTimeout(function () {\n callback(errors.length ? errors : undefined, textures, images);\n }, 0);\n }\n }\n\n Object.keys(textureOptions).forEach(function (name) {\n var options = textureOptions[name];\n var onLoadFn;\n\n if (isAsyncSrc(options.src)) {\n onLoadFn = function onLoadFn(err, tex, img) {\n images[name] = img;\n --numDownloading;\n\n if (err) {\n errors.push(err);\n }\n\n callCallbackIfReady();\n };\n\n ++numDownloading;\n }\n\n textures[name] = createTexture(gl, options, onLoadFn);\n }); // queue the callback if there are no images to download.\n // We do this because if your code is structured to wait for\n // images to download but then you comment out all the async\n // images your code would break.\n\n callCallbackIfReady();\n return textures;\n} // Using quotes prevents Uglify from changing the names.\n// No speed diff AFAICT.\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar _exportNames = {\n m4: true,\n v3: true,\n primitives: true\n};\nexports.primitives = exports.v3 = exports.m4 = void 0;\n\nvar m4 = _interopRequireWildcard(__webpack_require__(6));\n\nexports.m4 = m4;\n\nvar v3 = _interopRequireWildcard(__webpack_require__(3));\n\nexports.v3 = v3;\n\nvar primitives = _interopRequireWildcard(__webpack_require__(10));\n\nexports.primitives = primitives;\n\nvar _twgl = __webpack_require__(11);\n\nObject.keys(_twgl).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _twgl[key];\n});\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.create3DFVertices = create3DFVertices;\nexports.createAugmentedTypedArray = createAugmentedTypedArray;\nexports.createCubeVertices = createCubeVertices;\nexports.createPlaneVertices = createPlaneVertices;\nexports.createSphereVertices = createSphereVertices;\nexports.createTruncatedConeVertices = createTruncatedConeVertices;\nexports.createXYQuadVertices = createXYQuadVertices;\nexports.createCresentVertices = createCresentVertices;\nexports.createCylinderVertices = createCylinderVertices;\nexports.createTorusVertices = createTorusVertices;\nexports.createDiscVertices = createDiscVertices;\nexports.deindexVertices = deindexVertices;\nexports.flattenNormals = flattenNormals;\nexports.makeRandomVertexColors = makeRandomVertexColors;\nexports.reorientDirections = reorientDirections;\nexports.reorientNormals = reorientNormals;\nexports.reorientPositions = reorientPositions;\nexports.reorientVertices = reorientVertices;\nexports.concatVertices = concatVertices;\nexports.duplicateVertices = duplicateVertices;\nexports.createDiscBuffers = exports.createDiscBufferInfo = exports.createTorusBuffers = exports.createTorusBufferInfo = exports.createCylinderBuffers = exports.createCylinderBufferInfo = exports.createCresentBuffers = exports.createCresentBufferInfo = exports.createXYQuadBuffers = exports.createXYQuadBufferInfo = exports.createTruncatedConeBuffers = exports.createTruncatedConeBufferInfo = exports.createSphereBuffers = exports.createSphereBufferInfo = exports.createPlaneBuffers = exports.createPlaneBufferInfo = exports.createCubeBuffers = exports.createCubeBufferInfo = exports.create3DFBuffers = exports.create3DFBufferInfo = void 0;\n\nvar attributes = _interopRequireWildcard(__webpack_require__(7));\n\nvar helper = _interopRequireWildcard(__webpack_require__(0));\n\nvar typedArrays = _interopRequireWildcard(__webpack_require__(1));\n\nvar m4 = _interopRequireWildcard(__webpack_require__(6));\n\nvar v3 = _interopRequireWildcard(__webpack_require__(3));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * Various functions to make simple primitives\n *\n * note: Most primitive functions come in 3 styles\n *\n * * `createSomeShapeBufferInfo`\n *\n * These functions are almost always the functions you want to call. They\n * create vertices then make WebGLBuffers and create {@link module:twgl.AttribInfo}s\n * returing a {@link module:twgl.BufferInfo} you can pass to {@link module:twgl.setBuffersAndAttributes}\n * and {@link module:twgl.drawBufferInfo} etc...\n *\n * * `createSomeShapeBuffers`\n *\n * These create WebGLBuffers and put your data in them but nothing else.\n * It's a shortcut to doing it yourself if you don't want to use\n * the higher level functions.\n *\n * * `createSomeShapeVertices`\n *\n * These just create vertices, no buffers. This allows you to manipulate the vertices\n * or add more data before generating a {@link module:twgl.BufferInfo}. Once you're finished\n * manipulating the vertices call {@link module:twgl.createBufferInfoFromArrays}.\n *\n * example:\n *\n * const arrays = twgl.primitives.createPlaneArrays(1);\n * twgl.primitives.reorientVertices(arrays, m4.rotationX(Math.PI * 0.5));\n * const bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);\n *\n * @module twgl/primitives\n */\nvar getArray = attributes.getArray_; // eslint-disable-line\n\nvar getNumComponents = attributes.getNumComponents_; // eslint-disable-line\n\n/**\n * Add `push` to a typed array. It just keeps a 'cursor'\n * and allows use to `push` values into the array so we\n * don't have to manually compute offsets\n * @param {TypedArray} typedArray TypedArray to augment\n * @param {number} numComponents number of components.\n */\n\nfunction augmentTypedArray(typedArray, numComponents) {\n var cursor = 0;\n\n typedArray.push = function () {\n for (var ii = 0; ii < arguments.length; ++ii) {\n var value = arguments[ii];\n\n if (value instanceof Array || typedArrays.isArrayBuffer(value)) {\n for (var jj = 0; jj < value.length; ++jj) {\n typedArray[cursor++] = value[jj];\n }\n } else {\n typedArray[cursor++] = value;\n }\n }\n };\n\n typedArray.reset = function (opt_index) {\n cursor = opt_index || 0;\n };\n\n typedArray.numComponents = numComponents;\n Object.defineProperty(typedArray, 'numElements', {\n get: function get() {\n return this.length / this.numComponents | 0;\n }\n });\n return typedArray;\n}\n/**\n * creates a typed array with a `push` function attached\n * so that you can easily *push* values.\n *\n * `push` can take multiple arguments. If an argument is an array each element\n * of the array will be added to the typed array.\n *\n * Example:\n *\n * const array = createAugmentedTypedArray(3, 2); // creates a Float32Array with 6 values\n * array.push(1, 2, 3);\n * array.push([4, 5, 6]);\n * // array now contains [1, 2, 3, 4, 5, 6]\n *\n * Also has `numComponents` and `numElements` properties.\n *\n * @param {number} numComponents number of components\n * @param {number} numElements number of elements. The total size of the array will be `numComponents * numElements`.\n * @param {constructor} opt_type A constructor for the type. Default = `Float32Array`.\n * @return {ArrayBufferView} A typed array.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createAugmentedTypedArray(numComponents, numElements, opt_type) {\n var Type = opt_type || Float32Array;\n return augmentTypedArray(new Type(numComponents * numElements), numComponents);\n}\n\nfunction allButIndices(name) {\n return name !== \"indices\";\n}\n/**\n * Given indexed vertices creates a new set of vertices unindexed by expanding the indexed vertices.\n * @param {Object.} vertices The indexed vertices to deindex\n * @return {Object.} The deindexed vertices\n * @memberOf module:twgl/primitives\n */\n\n\nfunction deindexVertices(vertices) {\n var indices = vertices.indices;\n var newVertices = {};\n var numElements = indices.length;\n\n function expandToUnindexed(channel) {\n var srcBuffer = vertices[channel];\n var numComponents = srcBuffer.numComponents;\n var dstBuffer = createAugmentedTypedArray(numComponents, numElements, srcBuffer.constructor);\n\n for (var ii = 0; ii < numElements; ++ii) {\n var ndx = indices[ii];\n var offset = ndx * numComponents;\n\n for (var jj = 0; jj < numComponents; ++jj) {\n dstBuffer.push(srcBuffer[offset + jj]);\n }\n }\n\n newVertices[channel] = dstBuffer;\n }\n\n Object.keys(vertices).filter(allButIndices).forEach(expandToUnindexed);\n return newVertices;\n}\n/**\n * flattens the normals of deindexed vertices in place.\n * @param {Object.} vertices The deindexed vertices who's normals to flatten\n * @return {Object.} The flattened vertices (same as was passed in)\n * @memberOf module:twgl/primitives\n */\n\n\nfunction flattenNormals(vertices) {\n if (vertices.indices) {\n throw \"can't flatten normals of indexed vertices. deindex them first\";\n }\n\n var normals = vertices.normal;\n var numNormals = normals.length;\n\n for (var ii = 0; ii < numNormals; ii += 9) {\n // pull out the 3 normals for this triangle\n var nax = normals[ii + 0];\n var nay = normals[ii + 1];\n var naz = normals[ii + 2];\n var nbx = normals[ii + 3];\n var nby = normals[ii + 4];\n var nbz = normals[ii + 5];\n var ncx = normals[ii + 6];\n var ncy = normals[ii + 7];\n var ncz = normals[ii + 8]; // add them\n\n var nx = nax + nbx + ncx;\n var ny = nay + nby + ncy;\n var nz = naz + nbz + ncz; // normalize them\n\n var length = Math.sqrt(nx * nx + ny * ny + nz * nz);\n nx /= length;\n ny /= length;\n nz /= length; // copy them back in\n\n normals[ii + 0] = nx;\n normals[ii + 1] = ny;\n normals[ii + 2] = nz;\n normals[ii + 3] = nx;\n normals[ii + 4] = ny;\n normals[ii + 5] = nz;\n normals[ii + 6] = nx;\n normals[ii + 7] = ny;\n normals[ii + 8] = nz;\n }\n\n return vertices;\n}\n\nfunction applyFuncToV3Array(array, matrix, fn) {\n var len = array.length;\n var tmp = new Float32Array(3);\n\n for (var ii = 0; ii < len; ii += 3) {\n fn(matrix, [array[ii], array[ii + 1], array[ii + 2]], tmp);\n array[ii] = tmp[0];\n array[ii + 1] = tmp[1];\n array[ii + 2] = tmp[2];\n }\n}\n\nfunction transformNormal(mi, v, dst) {\n dst = dst || v3.create();\n var v0 = v[0];\n var v1 = v[1];\n var v2 = v[2];\n dst[0] = v0 * mi[0 * 4 + 0] + v1 * mi[0 * 4 + 1] + v2 * mi[0 * 4 + 2];\n dst[1] = v0 * mi[1 * 4 + 0] + v1 * mi[1 * 4 + 1] + v2 * mi[1 * 4 + 2];\n dst[2] = v0 * mi[2 * 4 + 0] + v1 * mi[2 * 4 + 1] + v2 * mi[2 * 4 + 2];\n return dst;\n}\n/**\n * Reorients directions by the given matrix..\n * @param {number[]|TypedArray} array The array. Assumes value floats per element.\n * @param {Matrix} matrix A matrix to multiply by.\n * @return {number[]|TypedArray} the same array that was passed in\n * @memberOf module:twgl/primitives\n */\n\n\nfunction reorientDirections(array, matrix) {\n applyFuncToV3Array(array, matrix, m4.transformDirection);\n return array;\n}\n/**\n * Reorients normals by the inverse-transpose of the given\n * matrix..\n * @param {number[]|TypedArray} array The array. Assumes value floats per element.\n * @param {Matrix} matrix A matrix to multiply by.\n * @return {number[]|TypedArray} the same array that was passed in\n * @memberOf module:twgl/primitives\n */\n\n\nfunction reorientNormals(array, matrix) {\n applyFuncToV3Array(array, m4.inverse(matrix), transformNormal);\n return array;\n}\n/**\n * Reorients positions by the given matrix. In other words, it\n * multiplies each vertex by the given matrix.\n * @param {number[]|TypedArray} array The array. Assumes value floats per element.\n * @param {Matrix} matrix A matrix to multiply by.\n * @return {number[]|TypedArray} the same array that was passed in\n * @memberOf module:twgl/primitives\n */\n\n\nfunction reorientPositions(array, matrix) {\n applyFuncToV3Array(array, matrix, m4.transformPoint);\n return array;\n}\n/**\n * Reorients arrays by the given matrix. Assumes arrays have\n * names that contains 'pos' could be reoriented as positions,\n * 'binorm' or 'tan' as directions, and 'norm' as normals.\n *\n * @param {Object.} arrays The vertices to reorient\n * @param {Matrix} matrix matrix to reorient by.\n * @return {Object.} same arrays that were passed in.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction reorientVertices(arrays, matrix) {\n Object.keys(arrays).forEach(function (name) {\n var array = arrays[name];\n\n if (name.indexOf(\"pos\") >= 0) {\n reorientPositions(array, matrix);\n } else if (name.indexOf(\"tan\") >= 0 || name.indexOf(\"binorm\") >= 0) {\n reorientDirections(array, matrix);\n } else if (name.indexOf(\"norm\") >= 0) {\n reorientNormals(array, matrix);\n }\n });\n return arrays;\n}\n/**\n * Creates XY quad BufferInfo\n *\n * The default with no parameters will return a 2x2 quad with values from -1 to +1.\n * If you want a unit quad with that goes from 0 to 1 you'd call it with\n *\n * twgl.primitives.createXYQuadBufferInfo(gl, 1, 0.5, 0.5);\n *\n * If you want a unit quad centered above 0,0 you'd call it with\n *\n * twgl.primitives.createXYQuadBufferInfo(gl, 1, 0, 0.5);\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [size] the size across the quad. Defaults to 2 which means vertices will go from -1 to +1\n * @param {number} [xOffset] the amount to offset the quad in X\n * @param {number} [yOffset] the amount to offset the quad in Y\n * @return {Object.} the created XY Quad BufferInfo\n * @memberOf module:twgl/primitives\n * @function createXYQuadBufferInfo\n */\n\n/**\n * Creates XY quad Buffers\n *\n * The default with no parameters will return a 2x2 quad with values from -1 to +1.\n * If you want a unit quad with that goes from 0 to 1 you'd call it with\n *\n * twgl.primitives.createXYQuadBufferInfo(gl, 1, 0.5, 0.5);\n *\n * If you want a unit quad centered above 0,0 you'd call it with\n *\n * twgl.primitives.createXYQuadBufferInfo(gl, 1, 0, 0.5);\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [size] the size across the quad. Defaults to 2 which means vertices will go from -1 to +1\n * @param {number} [xOffset] the amount to offset the quad in X\n * @param {number} [yOffset] the amount to offset the quad in Y\n * @return {module:twgl.BufferInfo} the created XY Quad buffers\n * @memberOf module:twgl/primitives\n * @function createXYQuadBuffers\n */\n\n/**\n * Creates XY quad vertices\n *\n * The default with no parameters will return a 2x2 quad with values from -1 to +1.\n * If you want a unit quad with that goes from 0 to 1 you'd call it with\n *\n * twgl.primitives.createXYQuadVertices(1, 0.5, 0.5);\n *\n * If you want a unit quad centered above 0,0 you'd call it with\n *\n * twgl.primitives.createXYQuadVertices(1, 0, 0.5);\n *\n * @param {number} [size] the size across the quad. Defaults to 2 which means vertices will go from -1 to +1\n * @param {number} [xOffset] the amount to offset the quad in X\n * @param {number} [yOffset] the amount to offset the quad in Y\n * @return {Object. the created XY Quad vertices\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createXYQuadVertices(size, xOffset, yOffset) {\n size = size || 2;\n xOffset = xOffset || 0;\n yOffset = yOffset || 0;\n size *= 0.5;\n return {\n position: {\n numComponents: 2,\n data: [xOffset + -1 * size, yOffset + -1 * size, xOffset + 1 * size, yOffset + -1 * size, xOffset + -1 * size, yOffset + 1 * size, xOffset + 1 * size, yOffset + 1 * size]\n },\n normal: [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1],\n texcoord: [0, 0, 1, 0, 0, 1, 1, 1],\n indices: [0, 1, 2, 2, 1, 3]\n };\n}\n/**\n * Creates XZ plane BufferInfo.\n *\n * The created plane has position, normal, and texcoord data\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [width] Width of the plane. Default = 1\n * @param {number} [depth] Depth of the plane. Default = 1\n * @param {number} [subdivisionsWidth] Number of steps across the plane. Default = 1\n * @param {number} [subdivisionsDepth] Number of steps down the plane. Default = 1\n * @param {Matrix4} [matrix] A matrix by which to multiply all the vertices.\n * @return {@module:twgl.BufferInfo} The created plane BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createPlaneBufferInfo\n */\n\n/**\n * Creates XZ plane buffers.\n *\n * The created plane has position, normal, and texcoord data\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [width] Width of the plane. Default = 1\n * @param {number} [depth] Depth of the plane. Default = 1\n * @param {number} [subdivisionsWidth] Number of steps across the plane. Default = 1\n * @param {number} [subdivisionsDepth] Number of steps down the plane. Default = 1\n * @param {Matrix4} [matrix] A matrix by which to multiply all the vertices.\n * @return {Object.} The created plane buffers.\n * @memberOf module:twgl/primitives\n * @function createPlaneBuffers\n */\n\n/**\n * Creates XZ plane vertices.\n *\n * The created plane has position, normal, and texcoord data\n *\n * @param {number} [width] Width of the plane. Default = 1\n * @param {number} [depth] Depth of the plane. Default = 1\n * @param {number} [subdivisionsWidth] Number of steps across the plane. Default = 1\n * @param {number} [subdivisionsDepth] Number of steps down the plane. Default = 1\n * @param {Matrix4} [matrix] A matrix by which to multiply all the vertices.\n * @return {Object.} The created plane vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createPlaneVertices(width, depth, subdivisionsWidth, subdivisionsDepth, matrix) {\n width = width || 1;\n depth = depth || 1;\n subdivisionsWidth = subdivisionsWidth || 1;\n subdivisionsDepth = subdivisionsDepth || 1;\n matrix = matrix || m4.identity();\n var numVertices = (subdivisionsWidth + 1) * (subdivisionsDepth + 1);\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n\n for (var z = 0; z <= subdivisionsDepth; z++) {\n for (var x = 0; x <= subdivisionsWidth; x++) {\n var u = x / subdivisionsWidth;\n var v = z / subdivisionsDepth;\n positions.push(width * u - width * 0.5, 0, depth * v - depth * 0.5);\n normals.push(0, 1, 0);\n texcoords.push(u, v);\n }\n }\n\n var numVertsAcross = subdivisionsWidth + 1;\n var indices = createAugmentedTypedArray(3, subdivisionsWidth * subdivisionsDepth * 2, Uint16Array);\n\n for (var _z = 0; _z < subdivisionsDepth; _z++) {\n // eslint-disable-line\n for (var _x = 0; _x < subdivisionsWidth; _x++) {\n // eslint-disable-line\n // Make triangle 1 of quad.\n indices.push((_z + 0) * numVertsAcross + _x, (_z + 1) * numVertsAcross + _x, (_z + 0) * numVertsAcross + _x + 1); // Make triangle 2 of quad.\n\n indices.push((_z + 1) * numVertsAcross + _x, (_z + 1) * numVertsAcross + _x + 1, (_z + 0) * numVertsAcross + _x + 1);\n }\n }\n\n var arrays = reorientVertices({\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n }, matrix);\n return arrays;\n}\n/**\n * Creates sphere BufferInfo.\n *\n * The created sphere has position, normal, and texcoord data\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius radius of the sphere.\n * @param {number} subdivisionsAxis number of steps around the sphere.\n * @param {number} subdivisionsHeight number of vertically on the sphere.\n * @param {number} [opt_startLatitudeInRadians] where to start the\n * top of the sphere. Default = 0.\n * @param {number} [opt_endLatitudeInRadians] Where to end the\n * bottom of the sphere. Default = Math.PI.\n * @param {number} [opt_startLongitudeInRadians] where to start\n * wrapping the sphere. Default = 0.\n * @param {number} [opt_endLongitudeInRadians] where to end\n * wrapping the sphere. Default = 2 * Math.PI.\n * @return {module:twgl.BufferInfo} The created sphere BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createSphereBufferInfo\n */\n\n/**\n * Creates sphere buffers.\n *\n * The created sphere has position, normal, and texcoord data\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius radius of the sphere.\n * @param {number} subdivisionsAxis number of steps around the sphere.\n * @param {number} subdivisionsHeight number of vertically on the sphere.\n * @param {number} [opt_startLatitudeInRadians] where to start the\n * top of the sphere. Default = 0.\n * @param {number} [opt_endLatitudeInRadians] Where to end the\n * bottom of the sphere. Default = Math.PI.\n * @param {number} [opt_startLongitudeInRadians] where to start\n * wrapping the sphere. Default = 0.\n * @param {number} [opt_endLongitudeInRadians] where to end\n * wrapping the sphere. Default = 2 * Math.PI.\n * @return {Object.} The created sphere buffers.\n * @memberOf module:twgl/primitives\n * @function createSphereBuffers\n */\n\n/**\n * Creates sphere vertices.\n *\n * The created sphere has position, normal, and texcoord data\n *\n * @param {number} radius radius of the sphere.\n * @param {number} subdivisionsAxis number of steps around the sphere.\n * @param {number} subdivisionsHeight number of vertically on the sphere.\n * @param {number} [opt_startLatitudeInRadians] where to start the\n * top of the sphere. Default = 0.\n * @param {number} [opt_endLatitudeInRadians] Where to end the\n * bottom of the sphere. Default = Math.PI.\n * @param {number} [opt_startLongitudeInRadians] where to start\n * wrapping the sphere. Default = 0.\n * @param {number} [opt_endLongitudeInRadians] where to end\n * wrapping the sphere. Default = 2 * Math.PI.\n * @return {Object.} The created sphere vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createSphereVertices(radius, subdivisionsAxis, subdivisionsHeight, opt_startLatitudeInRadians, opt_endLatitudeInRadians, opt_startLongitudeInRadians, opt_endLongitudeInRadians) {\n if (subdivisionsAxis <= 0 || subdivisionsHeight <= 0) {\n throw Error('subdivisionAxis and subdivisionHeight must be > 0');\n }\n\n opt_startLatitudeInRadians = opt_startLatitudeInRadians || 0;\n opt_endLatitudeInRadians = opt_endLatitudeInRadians || Math.PI;\n opt_startLongitudeInRadians = opt_startLongitudeInRadians || 0;\n opt_endLongitudeInRadians = opt_endLongitudeInRadians || Math.PI * 2;\n var latRange = opt_endLatitudeInRadians - opt_startLatitudeInRadians;\n var longRange = opt_endLongitudeInRadians - opt_startLongitudeInRadians; // We are going to generate our sphere by iterating through its\n // spherical coordinates and generating 2 triangles for each quad on a\n // ring of the sphere.\n\n var numVertices = (subdivisionsAxis + 1) * (subdivisionsHeight + 1);\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices); // Generate the individual vertices in our vertex buffer.\n\n for (var y = 0; y <= subdivisionsHeight; y++) {\n for (var x = 0; x <= subdivisionsAxis; x++) {\n // Generate a vertex based on its spherical coordinates\n var u = x / subdivisionsAxis;\n var v = y / subdivisionsHeight;\n var theta = longRange * u;\n var phi = latRange * v;\n var sinTheta = Math.sin(theta);\n var cosTheta = Math.cos(theta);\n var sinPhi = Math.sin(phi);\n var cosPhi = Math.cos(phi);\n var ux = cosTheta * sinPhi;\n var uy = cosPhi;\n var uz = sinTheta * sinPhi;\n positions.push(radius * ux, radius * uy, radius * uz);\n normals.push(ux, uy, uz);\n texcoords.push(1 - u, v);\n }\n }\n\n var numVertsAround = subdivisionsAxis + 1;\n var indices = createAugmentedTypedArray(3, subdivisionsAxis * subdivisionsHeight * 2, Uint16Array);\n\n for (var _x2 = 0; _x2 < subdivisionsAxis; _x2++) {\n // eslint-disable-line\n for (var _y = 0; _y < subdivisionsHeight; _y++) {\n // eslint-disable-line\n // Make triangle 1 of quad.\n indices.push((_y + 0) * numVertsAround + _x2, (_y + 0) * numVertsAround + _x2 + 1, (_y + 1) * numVertsAround + _x2); // Make triangle 2 of quad.\n\n indices.push((_y + 1) * numVertsAround + _x2, (_y + 0) * numVertsAround + _x2 + 1, (_y + 1) * numVertsAround + _x2 + 1);\n }\n }\n\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * Array of the indices of corners of each face of a cube.\n * @type {Array.}\n */\n\n\nvar CUBE_FACE_INDICES = [[3, 7, 5, 1], // right\n[6, 2, 0, 4], // left\n[6, 7, 3, 2], // ??\n[0, 1, 5, 4], // ??\n[7, 6, 4, 5], // front\n[2, 3, 1, 0]];\n/**\n * Creates a BufferInfo for a cube.\n *\n * The cube is created around the origin. (-size / 2, size / 2).\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [size] width, height and depth of the cube.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createCubeBufferInfo\n */\n\n/**\n * Creates the buffers and indices for a cube.\n *\n * The cube is created around the origin. (-size / 2, size / 2).\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} [size] width, height and depth of the cube.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function createCubeBuffers\n */\n\n/**\n * Creates the vertices and indices for a cube.\n *\n * The cube is created around the origin. (-size / 2, size / 2).\n *\n * @param {number} [size] width, height and depth of the cube.\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\nfunction createCubeVertices(size) {\n size = size || 1;\n var k = size / 2;\n var cornerVertices = [[-k, -k, -k], [+k, -k, -k], [-k, +k, -k], [+k, +k, -k], [-k, -k, +k], [+k, -k, +k], [-k, +k, +k], [+k, +k, +k]];\n var faceNormals = [[+1, +0, +0], [-1, +0, +0], [+0, +1, +0], [+0, -1, +0], [+0, +0, +1], [+0, +0, -1]];\n var uvCoords = [[1, 0], [0, 0], [0, 1], [1, 1]];\n var numVertices = 6 * 4;\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n var indices = createAugmentedTypedArray(3, 6 * 2, Uint16Array);\n\n for (var f = 0; f < 6; ++f) {\n var faceIndices = CUBE_FACE_INDICES[f];\n\n for (var v = 0; v < 4; ++v) {\n var position = cornerVertices[faceIndices[v]];\n var normal = faceNormals[f];\n var uv = uvCoords[v]; // Each face needs all four vertices because the normals and texture\n // coordinates are not all the same.\n\n positions.push(position);\n normals.push(normal);\n texcoords.push(uv);\n } // Two triangles make a square face.\n\n\n var offset = 4 * f;\n indices.push(offset + 0, offset + 1, offset + 2);\n indices.push(offset + 0, offset + 2, offset + 3);\n }\n\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * Creates a BufferInfo for a truncated cone, which is like a cylinder\n * except that it has different top and bottom radii. A truncated cone\n * can also be used to create cylinders and regular cones. The\n * truncated cone will be created centered about the origin, with the\n * y axis as its vertical axis.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} bottomRadius Bottom radius of truncated cone.\n * @param {number} topRadius Top radius of truncated cone.\n * @param {number} height Height of truncated cone.\n * @param {number} radialSubdivisions The number of subdivisions around the\n * truncated cone.\n * @param {number} verticalSubdivisions The number of subdivisions down the\n * truncated cone.\n * @param {boolean} [opt_topCap] Create top cap. Default = true.\n * @param {boolean} [opt_bottomCap] Create bottom cap. Default = true.\n * @return {module:twgl.BufferInfo} The created cone BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createTruncatedConeBufferInfo\n */\n\n/**\n * Creates buffers for a truncated cone, which is like a cylinder\n * except that it has different top and bottom radii. A truncated cone\n * can also be used to create cylinders and regular cones. The\n * truncated cone will be created centered about the origin, with the\n * y axis as its vertical axis.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} bottomRadius Bottom radius of truncated cone.\n * @param {number} topRadius Top radius of truncated cone.\n * @param {number} height Height of truncated cone.\n * @param {number} radialSubdivisions The number of subdivisions around the\n * truncated cone.\n * @param {number} verticalSubdivisions The number of subdivisions down the\n * truncated cone.\n * @param {boolean} [opt_topCap] Create top cap. Default = true.\n * @param {boolean} [opt_bottomCap] Create bottom cap. Default = true.\n * @return {Object.} The created cone buffers.\n * @memberOf module:twgl/primitives\n * @function createTruncatedConeBuffers\n */\n\n/**\n * Creates vertices for a truncated cone, which is like a cylinder\n * except that it has different top and bottom radii. A truncated cone\n * can also be used to create cylinders and regular cones. The\n * truncated cone will be created centered about the origin, with the\n * y axis as its vertical axis. .\n *\n * @param {number} bottomRadius Bottom radius of truncated cone.\n * @param {number} topRadius Top radius of truncated cone.\n * @param {number} height Height of truncated cone.\n * @param {number} radialSubdivisions The number of subdivisions around the\n * truncated cone.\n * @param {number} verticalSubdivisions The number of subdivisions down the\n * truncated cone.\n * @param {boolean} [opt_topCap] Create top cap. Default = true.\n * @param {boolean} [opt_bottomCap] Create bottom cap. Default = true.\n * @return {Object.} The created cone vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createTruncatedConeVertices(bottomRadius, topRadius, height, radialSubdivisions, verticalSubdivisions, opt_topCap, opt_bottomCap) {\n if (radialSubdivisions < 3) {\n throw Error('radialSubdivisions must be 3 or greater');\n }\n\n if (verticalSubdivisions < 1) {\n throw Error('verticalSubdivisions must be 1 or greater');\n }\n\n var topCap = opt_topCap === undefined ? true : opt_topCap;\n var bottomCap = opt_bottomCap === undefined ? true : opt_bottomCap;\n var extra = (topCap ? 2 : 0) + (bottomCap ? 2 : 0);\n var numVertices = (radialSubdivisions + 1) * (verticalSubdivisions + 1 + extra);\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n var indices = createAugmentedTypedArray(3, radialSubdivisions * (verticalSubdivisions + extra) * 2, Uint16Array);\n var vertsAroundEdge = radialSubdivisions + 1; // The slant of the cone is constant across its surface\n\n var slant = Math.atan2(bottomRadius - topRadius, height);\n var cosSlant = Math.cos(slant);\n var sinSlant = Math.sin(slant);\n var start = topCap ? -2 : 0;\n var end = verticalSubdivisions + (bottomCap ? 2 : 0);\n\n for (var yy = start; yy <= end; ++yy) {\n var v = yy / verticalSubdivisions;\n var y = height * v;\n var ringRadius = void 0;\n\n if (yy < 0) {\n y = 0;\n v = 1;\n ringRadius = bottomRadius;\n } else if (yy > verticalSubdivisions) {\n y = height;\n v = 1;\n ringRadius = topRadius;\n } else {\n ringRadius = bottomRadius + (topRadius - bottomRadius) * (yy / verticalSubdivisions);\n }\n\n if (yy === -2 || yy === verticalSubdivisions + 2) {\n ringRadius = 0;\n v = 0;\n }\n\n y -= height / 2;\n\n for (var ii = 0; ii < vertsAroundEdge; ++ii) {\n var sin = Math.sin(ii * Math.PI * 2 / radialSubdivisions);\n var cos = Math.cos(ii * Math.PI * 2 / radialSubdivisions);\n positions.push(sin * ringRadius, y, cos * ringRadius);\n normals.push(yy < 0 || yy > verticalSubdivisions ? 0 : sin * cosSlant, yy < 0 ? -1 : yy > verticalSubdivisions ? 1 : sinSlant, yy < 0 || yy > verticalSubdivisions ? 0 : cos * cosSlant);\n texcoords.push(ii / radialSubdivisions, 1 - v);\n }\n }\n\n for (var _yy = 0; _yy < verticalSubdivisions + extra; ++_yy) {\n // eslint-disable-line\n for (var _ii = 0; _ii < radialSubdivisions; ++_ii) {\n // eslint-disable-line\n indices.push(vertsAroundEdge * (_yy + 0) + 0 + _ii, vertsAroundEdge * (_yy + 0) + 1 + _ii, vertsAroundEdge * (_yy + 1) + 1 + _ii);\n indices.push(vertsAroundEdge * (_yy + 0) + 0 + _ii, vertsAroundEdge * (_yy + 1) + 1 + _ii, vertsAroundEdge * (_yy + 1) + 0 + _ii);\n }\n }\n\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * Expands RLE data\n * @param {number[]} rleData data in format of run-length, x, y, z, run-length, x, y, z\n * @param {number[]} [padding] value to add each entry with.\n * @return {number[]} the expanded rleData\n */\n\n\nfunction expandRLEData(rleData, padding) {\n padding = padding || [];\n var data = [];\n\n for (var ii = 0; ii < rleData.length; ii += 4) {\n var runLength = rleData[ii];\n var element = rleData.slice(ii + 1, ii + 4);\n element.push.apply(element, padding);\n\n for (var jj = 0; jj < runLength; ++jj) {\n data.push.apply(data, element);\n }\n }\n\n return data;\n}\n/**\n * Creates 3D 'F' BufferInfo.\n * An 'F' is useful because you can easily tell which way it is oriented.\n * The created 'F' has position, normal, texcoord, and color buffers.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function create3DFBufferInfo\n */\n\n/**\n * Creates 3D 'F' buffers.\n * An 'F' is useful because you can easily tell which way it is oriented.\n * The created 'F' has position, normal, texcoord, and color buffers.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function create3DFBuffers\n */\n\n/**\n * Creates 3D 'F' vertices.\n * An 'F' is useful because you can easily tell which way it is oriented.\n * The created 'F' has position, normal, texcoord, and color arrays.\n *\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction create3DFVertices() {\n var positions = [// left column front\n 0, 0, 0, 0, 150, 0, 30, 0, 0, 0, 150, 0, 30, 150, 0, 30, 0, 0, // top rung front\n 30, 0, 0, 30, 30, 0, 100, 0, 0, 30, 30, 0, 100, 30, 0, 100, 0, 0, // middle rung front\n 30, 60, 0, 30, 90, 0, 67, 60, 0, 30, 90, 0, 67, 90, 0, 67, 60, 0, // left column back\n 0, 0, 30, 30, 0, 30, 0, 150, 30, 0, 150, 30, 30, 0, 30, 30, 150, 30, // top rung back\n 30, 0, 30, 100, 0, 30, 30, 30, 30, 30, 30, 30, 100, 0, 30, 100, 30, 30, // middle rung back\n 30, 60, 30, 67, 60, 30, 30, 90, 30, 30, 90, 30, 67, 60, 30, 67, 90, 30, // top\n 0, 0, 0, 100, 0, 0, 100, 0, 30, 0, 0, 0, 100, 0, 30, 0, 0, 30, // top rung front\n 100, 0, 0, 100, 30, 0, 100, 30, 30, 100, 0, 0, 100, 30, 30, 100, 0, 30, // under top rung\n 30, 30, 0, 30, 30, 30, 100, 30, 30, 30, 30, 0, 100, 30, 30, 100, 30, 0, // between top rung and middle\n 30, 30, 0, 30, 60, 30, 30, 30, 30, 30, 30, 0, 30, 60, 0, 30, 60, 30, // top of middle rung\n 30, 60, 0, 67, 60, 30, 30, 60, 30, 30, 60, 0, 67, 60, 0, 67, 60, 30, // front of middle rung\n 67, 60, 0, 67, 90, 30, 67, 60, 30, 67, 60, 0, 67, 90, 0, 67, 90, 30, // bottom of middle rung.\n 30, 90, 0, 30, 90, 30, 67, 90, 30, 30, 90, 0, 67, 90, 30, 67, 90, 0, // front of bottom\n 30, 90, 0, 30, 150, 30, 30, 90, 30, 30, 90, 0, 30, 150, 0, 30, 150, 30, // bottom\n 0, 150, 0, 0, 150, 30, 30, 150, 30, 0, 150, 0, 30, 150, 30, 30, 150, 0, // left side\n 0, 0, 0, 0, 0, 30, 0, 150, 30, 0, 0, 0, 0, 150, 30, 0, 150, 0];\n var texcoords = [// left column front\n 0.22, 0.19, 0.22, 0.79, 0.34, 0.19, 0.22, 0.79, 0.34, 0.79, 0.34, 0.19, // top rung front\n 0.34, 0.19, 0.34, 0.31, 0.62, 0.19, 0.34, 0.31, 0.62, 0.31, 0.62, 0.19, // middle rung front\n 0.34, 0.43, 0.34, 0.55, 0.49, 0.43, 0.34, 0.55, 0.49, 0.55, 0.49, 0.43, // left column back\n 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, // top rung back\n 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, // middle rung back\n 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, // top\n 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, // top rung front\n 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, // under top rung\n 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, // between top rung and middle\n 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, // top of middle rung\n 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, // front of middle rung\n 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, // bottom of middle rung.\n 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, // front of bottom\n 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, // bottom\n 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, // left side\n 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0];\n var normals = expandRLEData([// left column front\n // top rung front\n // middle rung front\n 18, 0, 0, 1, // left column back\n // top rung back\n // middle rung back\n 18, 0, 0, -1, // top\n 6, 0, 1, 0, // top rung front\n 6, 1, 0, 0, // under top rung\n 6, 0, -1, 0, // between top rung and middle\n 6, 1, 0, 0, // top of middle rung\n 6, 0, 1, 0, // front of middle rung\n 6, 1, 0, 0, // bottom of middle rung.\n 6, 0, -1, 0, // front of bottom\n 6, 1, 0, 0, // bottom\n 6, 0, -1, 0, // left side\n 6, -1, 0, 0]);\n var colors = expandRLEData([// left column front\n // top rung front\n // middle rung front\n 18, 200, 70, 120, // left column back\n // top rung back\n // middle rung back\n 18, 80, 70, 200, // top\n 6, 70, 200, 210, // top rung front\n 6, 200, 200, 70, // under top rung\n 6, 210, 100, 70, // between top rung and middle\n 6, 210, 160, 70, // top of middle rung\n 6, 70, 180, 210, // front of middle rung\n 6, 100, 70, 210, // bottom of middle rung.\n 6, 76, 210, 100, // front of bottom\n 6, 140, 210, 80, // bottom\n 6, 90, 130, 110, // left side\n 6, 160, 160, 220], [255]);\n var numVerts = positions.length / 3;\n var arrays = {\n position: createAugmentedTypedArray(3, numVerts),\n texcoord: createAugmentedTypedArray(2, numVerts),\n normal: createAugmentedTypedArray(3, numVerts),\n color: createAugmentedTypedArray(4, numVerts, Uint8Array),\n indices: createAugmentedTypedArray(3, numVerts / 3, Uint16Array)\n };\n arrays.position.push(positions);\n arrays.texcoord.push(texcoords);\n arrays.normal.push(normals);\n arrays.color.push(colors);\n\n for (var ii = 0; ii < numVerts; ++ii) {\n arrays.indices.push(ii);\n }\n\n return arrays;\n}\n/**\n * Creates cresent BufferInfo.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} verticalRadius The vertical radius of the cresent.\n * @param {number} outerRadius The outer radius of the cresent.\n * @param {number} innerRadius The inner radius of the cresent.\n * @param {number} thickness The thickness of the cresent.\n * @param {number} subdivisionsDown number of steps around the cresent.\n * @param {number} subdivisionsThick number of vertically on the cresent.\n * @param {number} [startOffset] Where to start arc. Default 0.\n * @param {number} [endOffset] Where to end arg. Default 1.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createCresentBufferInfo\n */\n\n/**\n * Creates cresent buffers.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} verticalRadius The vertical radius of the cresent.\n * @param {number} outerRadius The outer radius of the cresent.\n * @param {number} innerRadius The inner radius of the cresent.\n * @param {number} thickness The thickness of the cresent.\n * @param {number} subdivisionsDown number of steps around the cresent.\n * @param {number} subdivisionsThick number of vertically on the cresent.\n * @param {number} [startOffset] Where to start arc. Default 0.\n * @param {number} [endOffset] Where to end arg. Default 1.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function createCresentBuffers\n */\n\n/**\n * Creates cresent vertices.\n *\n * @param {number} verticalRadius The vertical radius of the cresent.\n * @param {number} outerRadius The outer radius of the cresent.\n * @param {number} innerRadius The inner radius of the cresent.\n * @param {number} thickness The thickness of the cresent.\n * @param {number} subdivisionsDown number of steps around the cresent.\n * @param {number} subdivisionsThick number of vertically on the cresent.\n * @param {number} [startOffset] Where to start arc. Default 0.\n * @param {number} [endOffset] Where to end arg. Default 1.\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createCresentVertices(verticalRadius, outerRadius, innerRadius, thickness, subdivisionsDown, startOffset, endOffset) {\n if (subdivisionsDown <= 0) {\n throw Error('subdivisionDown must be > 0');\n }\n\n startOffset = startOffset || 0;\n endOffset = endOffset || 1;\n var subdivisionsThick = 2;\n var offsetRange = endOffset - startOffset;\n var numVertices = (subdivisionsDown + 1) * 2 * (2 + subdivisionsThick);\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n\n function lerp(a, b, s) {\n return a + (b - a) * s;\n }\n\n function createArc(arcRadius, x, normalMult, normalAdd, uMult, uAdd) {\n for (var z = 0; z <= subdivisionsDown; z++) {\n var uBack = x / (subdivisionsThick - 1);\n var v = z / subdivisionsDown;\n var xBack = (uBack - 0.5) * 2;\n var angle = (startOffset + v * offsetRange) * Math.PI;\n var s = Math.sin(angle);\n var c = Math.cos(angle);\n var radius = lerp(verticalRadius, arcRadius, s);\n var px = xBack * thickness;\n var py = c * verticalRadius;\n var pz = s * radius;\n positions.push(px, py, pz);\n var n = v3.add(v3.multiply([0, s, c], normalMult), normalAdd);\n normals.push(n);\n texcoords.push(uBack * uMult + uAdd, v);\n }\n } // Generate the individual vertices in our vertex buffer.\n\n\n for (var x = 0; x < subdivisionsThick; x++) {\n var uBack = (x / (subdivisionsThick - 1) - 0.5) * 2;\n createArc(outerRadius, x, [1, 1, 1], [0, 0, 0], 1, 0);\n createArc(outerRadius, x, [0, 0, 0], [uBack, 0, 0], 0, 0);\n createArc(innerRadius, x, [1, 1, 1], [0, 0, 0], 1, 0);\n createArc(innerRadius, x, [0, 0, 0], [uBack, 0, 0], 0, 1);\n } // Do outer surface.\n\n\n var indices = createAugmentedTypedArray(3, subdivisionsDown * 2 * (2 + subdivisionsThick), Uint16Array);\n\n function createSurface(leftArcOffset, rightArcOffset) {\n for (var z = 0; z < subdivisionsDown; ++z) {\n // Make triangle 1 of quad.\n indices.push(leftArcOffset + z + 0, leftArcOffset + z + 1, rightArcOffset + z + 0); // Make triangle 2 of quad.\n\n indices.push(leftArcOffset + z + 1, rightArcOffset + z + 1, rightArcOffset + z + 0);\n }\n }\n\n var numVerticesDown = subdivisionsDown + 1; // front\n\n createSurface(numVerticesDown * 0, numVerticesDown * 4); // right\n\n createSurface(numVerticesDown * 5, numVerticesDown * 7); // back\n\n createSurface(numVerticesDown * 6, numVerticesDown * 2); // left\n\n createSurface(numVerticesDown * 3, numVerticesDown * 1);\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * Creates cylinder BufferInfo. The cylinder will be created around the origin\n * along the y-axis.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius Radius of cylinder.\n * @param {number} height Height of cylinder.\n * @param {number} radialSubdivisions The number of subdivisions around the cylinder.\n * @param {number} verticalSubdivisions The number of subdivisions down the cylinder.\n * @param {boolean} [topCap] Create top cap. Default = true.\n * @param {boolean} [bottomCap] Create bottom cap. Default = true.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createCylinderBufferInfo\n */\n\n/**\n * Creates cylinder buffers. The cylinder will be created around the origin\n * along the y-axis.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius Radius of cylinder.\n * @param {number} height Height of cylinder.\n * @param {number} radialSubdivisions The number of subdivisions around the cylinder.\n * @param {number} verticalSubdivisions The number of subdivisions down the cylinder.\n * @param {boolean} [topCap] Create top cap. Default = true.\n * @param {boolean} [bottomCap] Create bottom cap. Default = true.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function createCylinderBuffers\n */\n\n/**\n * Creates cylinder vertices. The cylinder will be created around the origin\n * along the y-axis.\n *\n * @param {number} radius Radius of cylinder.\n * @param {number} height Height of cylinder.\n * @param {number} radialSubdivisions The number of subdivisions around the cylinder.\n * @param {number} verticalSubdivisions The number of subdivisions down the cylinder.\n * @param {boolean} [topCap] Create top cap. Default = true.\n * @param {boolean} [bottomCap] Create bottom cap. Default = true.\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createCylinderVertices(radius, height, radialSubdivisions, verticalSubdivisions, topCap, bottomCap) {\n return createTruncatedConeVertices(radius, radius, height, radialSubdivisions, verticalSubdivisions, topCap, bottomCap);\n}\n/**\n * Creates BufferInfo for a torus\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius radius of center of torus circle.\n * @param {number} thickness radius of torus ring.\n * @param {number} radialSubdivisions The number of subdivisions around the torus.\n * @param {number} bodySubdivisions The number of subdivisions around the body torus.\n * @param {boolean} [startAngle] start angle in radians. Default = 0.\n * @param {boolean} [endAngle] end angle in radians. Default = Math.PI * 2.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createTorusBufferInfo\n */\n\n/**\n * Creates buffers for a torus\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius radius of center of torus circle.\n * @param {number} thickness radius of torus ring.\n * @param {number} radialSubdivisions The number of subdivisions around the torus.\n * @param {number} bodySubdivisions The number of subdivisions around the body torus.\n * @param {boolean} [startAngle] start angle in radians. Default = 0.\n * @param {boolean} [endAngle] end angle in radians. Default = Math.PI * 2.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function createTorusBuffers\n */\n\n/**\n * Creates vertices for a torus\n *\n * @param {number} radius radius of center of torus circle.\n * @param {number} thickness radius of torus ring.\n * @param {number} radialSubdivisions The number of subdivisions around the torus.\n * @param {number} bodySubdivisions The number of subdivisions around the body torus.\n * @param {boolean} [startAngle] start angle in radians. Default = 0.\n * @param {boolean} [endAngle] end angle in radians. Default = Math.PI * 2.\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createTorusVertices(radius, thickness, radialSubdivisions, bodySubdivisions, startAngle, endAngle) {\n if (radialSubdivisions < 3) {\n throw Error('radialSubdivisions must be 3 or greater');\n }\n\n if (bodySubdivisions < 3) {\n throw Error('verticalSubdivisions must be 3 or greater');\n }\n\n startAngle = startAngle || 0;\n endAngle = endAngle || Math.PI * 2;\n var range = endAngle - startAngle;\n var radialParts = radialSubdivisions + 1;\n var bodyParts = bodySubdivisions + 1;\n var numVertices = radialParts * bodyParts;\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n var indices = createAugmentedTypedArray(3, radialSubdivisions * bodySubdivisions * 2, Uint16Array);\n\n for (var slice = 0; slice < bodyParts; ++slice) {\n var v = slice / bodySubdivisions;\n var sliceAngle = v * Math.PI * 2;\n var sliceSin = Math.sin(sliceAngle);\n var ringRadius = radius + sliceSin * thickness;\n var ny = Math.cos(sliceAngle);\n var y = ny * thickness;\n\n for (var ring = 0; ring < radialParts; ++ring) {\n var u = ring / radialSubdivisions;\n var ringAngle = startAngle + u * range;\n var xSin = Math.sin(ringAngle);\n var zCos = Math.cos(ringAngle);\n var x = xSin * ringRadius;\n var z = zCos * ringRadius;\n var nx = xSin * sliceSin;\n var nz = zCos * sliceSin;\n positions.push(x, y, z);\n normals.push(nx, ny, nz);\n texcoords.push(u, 1 - v);\n }\n }\n\n for (var _slice = 0; _slice < bodySubdivisions; ++_slice) {\n // eslint-disable-line\n for (var _ring = 0; _ring < radialSubdivisions; ++_ring) {\n // eslint-disable-line\n var nextRingIndex = 1 + _ring;\n var nextSliceIndex = 1 + _slice;\n indices.push(radialParts * _slice + _ring, radialParts * nextSliceIndex + _ring, radialParts * _slice + nextRingIndex);\n indices.push(radialParts * nextSliceIndex + _ring, radialParts * nextSliceIndex + nextRingIndex, radialParts * _slice + nextRingIndex);\n }\n }\n\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * Creates a disc BufferInfo. The disc will be in the xz plane, centered at\n * the origin. When creating, at least 3 divisions, or pie\n * pieces, need to be specified, otherwise the triangles making\n * up the disc will be degenerate. You can also specify the\n * number of radial pieces `stacks`. A value of 1 for\n * stacks will give you a simple disc of pie pieces. If you\n * want to create an annulus you can set `innerRadius` to a\n * value > 0. Finally, `stackPower` allows you to have the widths\n * increase or decrease as you move away from the center. This\n * is particularly useful when using the disc as a ground plane\n * with a fixed camera such that you don't need the resolution\n * of small triangles near the perimeter. For example, a value\n * of 2 will produce stacks whose ouside radius increases with\n * the square of the stack index. A value of 1 will give uniform\n * stacks.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius Radius of the ground plane.\n * @param {number} divisions Number of triangles in the ground plane (at least 3).\n * @param {number} [stacks] Number of radial divisions (default=1).\n * @param {number} [innerRadius] Default 0.\n * @param {number} [stackPower] Power to raise stack size to for decreasing width.\n * @return {module:twgl.BufferInfo} The created BufferInfo.\n * @memberOf module:twgl/primitives\n * @function createDiscBufferInfo\n */\n\n/**\n * Creates disc buffers. The disc will be in the xz plane, centered at\n * the origin. When creating, at least 3 divisions, or pie\n * pieces, need to be specified, otherwise the triangles making\n * up the disc will be degenerate. You can also specify the\n * number of radial pieces `stacks`. A value of 1 for\n * stacks will give you a simple disc of pie pieces. If you\n * want to create an annulus you can set `innerRadius` to a\n * value > 0. Finally, `stackPower` allows you to have the widths\n * increase or decrease as you move away from the center. This\n * is particularly useful when using the disc as a ground plane\n * with a fixed camera such that you don't need the resolution\n * of small triangles near the perimeter. For example, a value\n * of 2 will produce stacks whose ouside radius increases with\n * the square of the stack index. A value of 1 will give uniform\n * stacks.\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext.\n * @param {number} radius Radius of the ground plane.\n * @param {number} divisions Number of triangles in the ground plane (at least 3).\n * @param {number} [stacks] Number of radial divisions (default=1).\n * @param {number} [innerRadius] Default 0.\n * @param {number} [stackPower] Power to raise stack size to for decreasing width.\n * @return {Object.} The created buffers.\n * @memberOf module:twgl/primitives\n * @function createDiscBuffers\n */\n\n/**\n * Creates disc vertices. The disc will be in the xz plane, centered at\n * the origin. When creating, at least 3 divisions, or pie\n * pieces, need to be specified, otherwise the triangles making\n * up the disc will be degenerate. You can also specify the\n * number of radial pieces `stacks`. A value of 1 for\n * stacks will give you a simple disc of pie pieces. If you\n * want to create an annulus you can set `innerRadius` to a\n * value > 0. Finally, `stackPower` allows you to have the widths\n * increase or decrease as you move away from the center. This\n * is particularly useful when using the disc as a ground plane\n * with a fixed camera such that you don't need the resolution\n * of small triangles near the perimeter. For example, a value\n * of 2 will produce stacks whose ouside radius increases with\n * the square of the stack index. A value of 1 will give uniform\n * stacks.\n *\n * @param {number} radius Radius of the ground plane.\n * @param {number} divisions Number of triangles in the ground plane (at least 3).\n * @param {number} [stacks] Number of radial divisions (default=1).\n * @param {number} [innerRadius] Default 0.\n * @param {number} [stackPower] Power to raise stack size to for decreasing width.\n * @return {Object.} The created vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction createDiscVertices(radius, divisions, stacks, innerRadius, stackPower) {\n if (divisions < 3) {\n throw Error('divisions must be at least 3');\n }\n\n stacks = stacks ? stacks : 1;\n stackPower = stackPower ? stackPower : 1;\n innerRadius = innerRadius ? innerRadius : 0; // Note: We don't share the center vertex because that would\n // mess up texture coordinates.\n\n var numVertices = (divisions + 1) * (stacks + 1);\n var positions = createAugmentedTypedArray(3, numVertices);\n var normals = createAugmentedTypedArray(3, numVertices);\n var texcoords = createAugmentedTypedArray(2, numVertices);\n var indices = createAugmentedTypedArray(3, stacks * divisions * 2, Uint16Array);\n var firstIndex = 0;\n var radiusSpan = radius - innerRadius;\n var pointsPerStack = divisions + 1; // Build the disk one stack at a time.\n\n for (var stack = 0; stack <= stacks; ++stack) {\n var stackRadius = innerRadius + radiusSpan * Math.pow(stack / stacks, stackPower);\n\n for (var i = 0; i <= divisions; ++i) {\n var theta = 2.0 * Math.PI * i / divisions;\n var x = stackRadius * Math.cos(theta);\n var z = stackRadius * Math.sin(theta);\n positions.push(x, 0, z);\n normals.push(0, 1, 0);\n texcoords.push(1 - i / divisions, stack / stacks);\n\n if (stack > 0 && i !== divisions) {\n // a, b, c and d are the indices of the vertices of a quad. unless\n // the current stack is the one closest to the center, in which case\n // the vertices a and b connect to the center vertex.\n var a = firstIndex + (i + 1);\n var b = firstIndex + i;\n var c = firstIndex + i - pointsPerStack;\n var d = firstIndex + (i + 1) - pointsPerStack; // Make a quad of the vertices a, b, c, d.\n\n indices.push(a, b, c);\n indices.push(a, c, d);\n }\n }\n\n firstIndex += divisions + 1;\n }\n\n return {\n position: positions,\n normal: normals,\n texcoord: texcoords,\n indices: indices\n };\n}\n/**\n * creates a random integer between 0 and range - 1 inclusive.\n * @param {number} range\n * @return {number} random value between 0 and range - 1 inclusive.\n */\n\n\nfunction randInt(range) {\n return Math.random() * range | 0;\n}\n/**\n * Used to supply random colors\n * @callback RandomColorFunc\n * @param {number} ndx index of triangle/quad if unindexed or index of vertex if indexed\n * @param {number} channel 0 = red, 1 = green, 2 = blue, 3 = alpha\n * @return {number} a number from 0 to 255\n * @memberOf module:twgl/primitives\n */\n\n/**\n * @typedef {Object} RandomVerticesOptions\n * @property {number} [vertsPerColor] Defaults to 3 for non-indexed vertices\n * @property {module:twgl/primitives.RandomColorFunc} [rand] A function to generate random numbers\n * @memberOf module:twgl/primitives\n */\n\n/**\n * Creates an augmentedTypedArray of random vertex colors.\n * If the vertices are indexed (have an indices array) then will\n * just make random colors. Otherwise assumes they are triangles\n * and makes one random color for every 3 vertices.\n * @param {Object.} vertices Vertices as returned from one of the createXXXVertices functions.\n * @param {module:twgl/primitives.RandomVerticesOptions} [options] options.\n * @return {Object.} same vertices as passed in with `color` added.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction makeRandomVertexColors(vertices, options) {\n options = options || {};\n var numElements = vertices.position.numElements;\n var vcolors = createAugmentedTypedArray(4, numElements, Uint8Array);\n\n var rand = options.rand || function (ndx, channel) {\n return channel < 3 ? randInt(256) : 255;\n };\n\n vertices.color = vcolors;\n\n if (vertices.indices) {\n // just make random colors if index\n for (var ii = 0; ii < numElements; ++ii) {\n vcolors.push(rand(ii, 0), rand(ii, 1), rand(ii, 2), rand(ii, 3));\n }\n } else {\n // make random colors per triangle\n var numVertsPerColor = options.vertsPerColor || 3;\n var numSets = numElements / numVertsPerColor;\n\n for (var _ii2 = 0; _ii2 < numSets; ++_ii2) {\n // eslint-disable-line\n var color = [rand(_ii2, 0), rand(_ii2, 1), rand(_ii2, 2), rand(_ii2, 3)];\n\n for (var jj = 0; jj < numVertsPerColor; ++jj) {\n vcolors.push(color);\n }\n }\n }\n\n return vertices;\n}\n/**\n * creates a function that calls fn to create vertices and then\n * creates a buffers for them\n */\n\n\nfunction createBufferFunc(fn) {\n return function (gl) {\n var arrays = fn.apply(this, Array.prototype.slice.call(arguments, 1));\n return attributes.createBuffersFromArrays(gl, arrays);\n };\n}\n/**\n * creates a function that calls fn to create vertices and then\n * creates a bufferInfo object for them\n */\n\n\nfunction createBufferInfoFunc(fn) {\n return function (gl) {\n var arrays = fn.apply(null, Array.prototype.slice.call(arguments, 1));\n return attributes.createBufferInfoFromArrays(gl, arrays);\n };\n}\n\nvar arraySpecPropertyNames = [\"numComponents\", \"size\", \"type\", \"normalize\", \"stride\", \"offset\", \"attrib\", \"name\", \"attribName\"];\n/**\n * Copy elements from one array to another\n *\n * @param {Array|TypedArray} src source array\n * @param {Array|TypedArray} dst dest array\n * @param {number} dstNdx index in dest to copy src\n * @param {number} [offset] offset to add to copied values\n */\n\nfunction copyElements(src, dst, dstNdx, offset) {\n offset = offset || 0;\n var length = src.length;\n\n for (var ii = 0; ii < length; ++ii) {\n dst[dstNdx + ii] = src[ii] + offset;\n }\n}\n/**\n * Creates an array of the same time\n *\n * @param {(number[]|ArrayBufferView|module:twgl.FullArraySpec)} srcArray array who's type to copy\n * @param {number} length size of new array\n * @return {(number[]|ArrayBufferView|module:twgl.FullArraySpec)} array with same type as srcArray\n */\n\n\nfunction createArrayOfSameType(srcArray, length) {\n var arraySrc = getArray(srcArray);\n var newArray = new arraySrc.constructor(length);\n var newArraySpec = newArray; // If it appears to have been augmented make new one augemented\n\n if (arraySrc.numComponents && arraySrc.numElements) {\n augmentTypedArray(newArray, arraySrc.numComponents);\n } // If it was a fullspec make new one a fullspec\n\n\n if (srcArray.data) {\n newArraySpec = {\n data: newArray\n };\n helper.copyNamedProperties(arraySpecPropertyNames, srcArray, newArraySpec);\n }\n\n return newArraySpec;\n}\n/**\n * Concatinates sets of vertices\n *\n * Assumes the vertices match in composition. For example\n * if one set of vertices has positions, normals, and indices\n * all sets of vertices must have positions, normals, and indices\n * and of the same type.\n *\n * Example:\n *\n * const cubeVertices = twgl.primtiives.createCubeVertices(2);\n * const sphereVertices = twgl.primitives.createSphereVertices(1, 10, 10);\n * // move the sphere 2 units up\n * twgl.primitives.reorientVertices(\n * sphereVertices, twgl.m4.translation([0, 2, 0]));\n * // merge the sphere with the cube\n * const cubeSphereVertices = twgl.primitives.concatVertices(\n * [cubeVertices, sphereVertices]);\n * // turn them into WebGL buffers and attrib data\n * const bufferInfo = twgl.createBufferInfoFromArrays(gl, cubeSphereVertices);\n *\n * @param {module:twgl.Arrays[]} arrays Array of arrays of vertices\n * @return {module:twgl.Arrays} The concatinated vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction concatVertices(arrayOfArrays) {\n var names = {};\n var baseName; // get names of all arrays.\n // and numElements for each set of vertices\n\n var _loop = function _loop(ii) {\n var arrays = arrayOfArrays[ii];\n Object.keys(arrays).forEach(function (name) {\n // eslint-disable-line\n if (!names[name]) {\n names[name] = [];\n }\n\n if (!baseName && name !== 'indices') {\n baseName = name;\n }\n\n var arrayInfo = arrays[name];\n var numComponents = getNumComponents(arrayInfo, name);\n var array = getArray(arrayInfo);\n var numElements = array.length / numComponents;\n names[name].push(numElements);\n });\n };\n\n for (var ii = 0; ii < arrayOfArrays.length; ++ii) {\n _loop(ii);\n } // compute length of combined array\n // and return one for reference\n\n\n function getLengthOfCombinedArrays(name) {\n var length = 0;\n var arraySpec;\n\n for (var ii = 0; ii < arrayOfArrays.length; ++ii) {\n var arrays = arrayOfArrays[ii];\n var arrayInfo = arrays[name];\n var array = getArray(arrayInfo);\n length += array.length;\n\n if (!arraySpec || arrayInfo.data) {\n arraySpec = arrayInfo;\n }\n }\n\n return {\n length: length,\n spec: arraySpec\n };\n }\n\n function copyArraysToNewArray(name, base, newArray) {\n var baseIndex = 0;\n var offset = 0;\n\n for (var ii = 0; ii < arrayOfArrays.length; ++ii) {\n var arrays = arrayOfArrays[ii];\n var arrayInfo = arrays[name];\n var array = getArray(arrayInfo);\n\n if (name === 'indices') {\n copyElements(array, newArray, offset, baseIndex);\n baseIndex += base[ii];\n } else {\n copyElements(array, newArray, offset);\n }\n\n offset += array.length;\n }\n }\n\n var base = names[baseName];\n var newArrays = {};\n Object.keys(names).forEach(function (name) {\n var info = getLengthOfCombinedArrays(name);\n var newArraySpec = createArrayOfSameType(info.spec, info.length);\n copyArraysToNewArray(name, base, getArray(newArraySpec));\n newArrays[name] = newArraySpec;\n });\n return newArrays;\n}\n/**\n * Creates a duplicate set of vertices\n *\n * This is useful for calling reorientVertices when you\n * also want to keep the original available\n *\n * @param {module:twgl.Arrays} arrays of vertices\n * @return {module:twgl.Arrays} The dupilicated vertices.\n * @memberOf module:twgl/primitives\n */\n\n\nfunction duplicateVertices(arrays) {\n var newArrays = {};\n Object.keys(arrays).forEach(function (name) {\n var arraySpec = arrays[name];\n var srcArray = getArray(arraySpec);\n var newArraySpec = createArrayOfSameType(arraySpec, srcArray.length);\n copyElements(srcArray, getArray(newArraySpec), 0);\n newArrays[name] = newArraySpec;\n });\n return newArrays;\n}\n\nvar create3DFBufferInfo = createBufferInfoFunc(create3DFVertices);\nexports.create3DFBufferInfo = create3DFBufferInfo;\nvar create3DFBuffers = createBufferFunc(create3DFVertices);\nexports.create3DFBuffers = create3DFBuffers;\nvar createCubeBufferInfo = createBufferInfoFunc(createCubeVertices);\nexports.createCubeBufferInfo = createCubeBufferInfo;\nvar createCubeBuffers = createBufferFunc(createCubeVertices);\nexports.createCubeBuffers = createCubeBuffers;\nvar createPlaneBufferInfo = createBufferInfoFunc(createPlaneVertices);\nexports.createPlaneBufferInfo = createPlaneBufferInfo;\nvar createPlaneBuffers = createBufferFunc(createPlaneVertices);\nexports.createPlaneBuffers = createPlaneBuffers;\nvar createSphereBufferInfo = createBufferInfoFunc(createSphereVertices);\nexports.createSphereBufferInfo = createSphereBufferInfo;\nvar createSphereBuffers = createBufferFunc(createSphereVertices);\nexports.createSphereBuffers = createSphereBuffers;\nvar createTruncatedConeBufferInfo = createBufferInfoFunc(createTruncatedConeVertices);\nexports.createTruncatedConeBufferInfo = createTruncatedConeBufferInfo;\nvar createTruncatedConeBuffers = createBufferFunc(createTruncatedConeVertices);\nexports.createTruncatedConeBuffers = createTruncatedConeBuffers;\nvar createXYQuadBufferInfo = createBufferInfoFunc(createXYQuadVertices);\nexports.createXYQuadBufferInfo = createXYQuadBufferInfo;\nvar createXYQuadBuffers = createBufferFunc(createXYQuadVertices);\nexports.createXYQuadBuffers = createXYQuadBuffers;\nvar createCresentBufferInfo = createBufferInfoFunc(createCresentVertices);\nexports.createCresentBufferInfo = createCresentBufferInfo;\nvar createCresentBuffers = createBufferFunc(createCresentVertices);\nexports.createCresentBuffers = createCresentBuffers;\nvar createCylinderBufferInfo = createBufferInfoFunc(createCylinderVertices);\nexports.createCylinderBufferInfo = createCylinderBufferInfo;\nvar createCylinderBuffers = createBufferFunc(createCylinderVertices);\nexports.createCylinderBuffers = createCylinderBuffers;\nvar createTorusBufferInfo = createBufferInfoFunc(createTorusVertices);\nexports.createTorusBufferInfo = createTorusBufferInfo;\nvar createTorusBuffers = createBufferFunc(createTorusVertices);\nexports.createTorusBuffers = createTorusBuffers;\nvar createDiscBufferInfo = createBufferInfoFunc(createDiscVertices);\nexports.createDiscBufferInfo = createDiscBufferInfo;\nvar createDiscBuffers = createBufferFunc(createDiscVertices);\nexports.createDiscBuffers = createDiscBuffers;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar _exportNames = {\n addExtensionsToContext: true,\n getContext: true,\n getWebGLContext: true,\n resizeCanvasToDisplaySize: true,\n setDefaults: true\n};\nexports.addExtensionsToContext = addExtensionsToContext;\nexports.getContext = getContext;\nexports.getWebGLContext = getWebGLContext;\nexports.resizeCanvasToDisplaySize = resizeCanvasToDisplaySize;\nexports.setDefaults = setDefaults;\n\nvar attributes = _interopRequireWildcard(__webpack_require__(7));\n\nObject.keys(attributes).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = attributes[key];\n});\n\nvar textures = _interopRequireWildcard(__webpack_require__(8));\n\nObject.keys(textures).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = textures[key];\n});\n\nvar helper = _interopRequireWildcard(__webpack_require__(0));\n\nvar utils = _interopRequireWildcard(__webpack_require__(4));\n\nObject.keys(utils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = utils[key];\n});\n\nvar _draw = __webpack_require__(12);\n\nObject.keys(_draw).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _draw[key];\n});\n\nvar _framebuffers = __webpack_require__(13);\n\nObject.keys(_framebuffers).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _framebuffers[key];\n});\n\nvar _programs = __webpack_require__(5);\n\nObject.keys(_programs).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _programs[key];\n});\n\nvar _typedarrays = __webpack_require__(1);\n\nObject.keys(_typedarrays).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _typedarrays[key];\n});\n\nvar _vertexArrays = __webpack_require__(14);\n\nObject.keys(_vertexArrays).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n exports[key] = _vertexArrays[key];\n});\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * The main TWGL module.\n *\n * For most use cases you shouldn't need anything outside this module.\n * Exceptions between the stuff added to twgl-full (v3, m4, primitives)\n *\n * @module twgl\n * @borrows module:twgl/attributes.setAttribInfoBufferFromArray as setAttribInfoBufferFromArray\n * @borrows module:twgl/attributes.createBufferInfoFromArrays as createBufferInfoFromArrays\n * @borrows module:twgl/attributes.createVertexArrayInfo as createVertexArrayInfo\n * @borrows module:twgl/draw.drawBufferInfo as drawBufferInfo\n * @borrows module:twgl/draw.drawObjectList as drawObjectList\n * @borrows module:twgl/framebuffers.createFramebufferInfo as createFramebufferInfo\n * @borrows module:twgl/framebuffers.resizeFramebufferInfo as resizeFramebufferInfo\n * @borrows module:twgl/framebuffers.bindFramebufferInfo as bindFramebufferInfo\n * @borrows module:twgl/programs.createProgramInfo as createProgramInfo\n * @borrows module:twgl/programs.createUniformBlockInfo as createUniformBlockInfo\n * @borrows module:twgl/programs.bindUniformBlock as bindUniformBlock\n * @borrows module:twgl/programs.setUniformBlock as setUniformBlock\n * @borrows module:twgl/programs.setBlockUniforms as setBlockUniforms\n * @borrows module:twgl/programs.setUniforms as setUniforms\n * @borrows module:twgl/programs.setBuffersAndAttributes as setBuffersAndAttributes\n * @borrows module:twgl/textures.setTextureFromArray as setTextureFromArray\n * @borrows module:twgl/textures.createTexture as createTexture\n * @borrows module:twgl/textures.resizeTexture as resizeTexture\n * @borrows module:twgl/textures.createTextures as createTextures\n */\n// make sure we don't see a global gl\nvar gl = undefined; // eslint-disable-line\n\nvar defaults = {\n addExtensionsToContext: true\n};\n/**\n * Various default settings for twgl.\n *\n * Note: You can call this any number of times. Example:\n *\n * twgl.setDefaults({ textureColor: [1, 0, 0, 1] });\n * twgl.setDefaults({ attribPrefix: 'a_' });\n *\n * is equivalent to\n *\n * twgl.setDefaults({\n * textureColor: [1, 0, 0, 1],\n * attribPrefix: 'a_',\n * });\n *\n * @typedef {Object} Defaults\n * @property {string} attribPrefix The prefix to stick on attributes\n *\n * When writing shaders I prefer to name attributes with `a_`, uniforms with `u_` and varyings with `v_`\n * as it makes it clear where they came from. But, when building geometry I prefer using unprefixed names.\n *\n * In otherwords I'll create arrays of geometry like this\n *\n * const arrays = {\n * position: ...\n * normal: ...\n * texcoord: ...\n * };\n *\n * But need those mapped to attributes and my attributes start with `a_`.\n *\n * Default: `\"\"`\n *\n * @property {number[]} textureColor Array of 4 values in the range 0 to 1\n *\n * The default texture color is used when loading textures from\n * urls. Because the URL will be loaded async we'd like to be\n * able to use the texture immediately. By putting a 1x1 pixel\n * color in the texture we can start using the texture before\n * the URL has loaded.\n *\n * Default: `[0.5, 0.75, 1, 1]`\n *\n * @property {string} crossOrigin\n *\n * If not undefined sets the crossOrigin attribute on images\n * that twgl creates when downloading images for textures.\n *\n * Also see {@link module:twgl.TextureOptions}.\n *\n * @property {bool} addExtensionsToContext\n *\n * If true, then, when twgl will try to add any supported WebGL extensions\n * directly to the context under their normal GL names. For example\n * if ANGLE_instances_arrays exists then twgl would enable it,\n * add the functions `vertexAttribDivisor`, `drawArraysInstanced`,\n * `drawElementsInstanced`, and the constant `VERTEX_ATTRIB_ARRAY_DIVISOR`\n * to the `WebGLRenderingContext`.\n *\n * @memberOf module:twgl\n */\n\n/**\n * Sets various defaults for twgl.\n *\n * In the interest of terseness which is kind of the point\n * of twgl I've integrated a few of the older functions here\n *\n * @param {module:twgl.Defaults} newDefaults The default settings.\n * @memberOf module:twgl\n */\n\nfunction setDefaults(newDefaults) {\n helper.copyExistingProperties(newDefaults, defaults);\n attributes.setAttributeDefaults_(newDefaults); // eslint-disable-line\n\n textures.setTextureDefaults_(newDefaults); // eslint-disable-line\n}\n\nvar prefixRE = /^(.*?)_/;\n\nfunction addExtensionToContext(gl, extensionName) {\n utils.glEnumToString(gl, 0);\n var ext = gl.getExtension(extensionName);\n\n if (ext) {\n var enums = {};\n var fnSuffix = prefixRE.exec(extensionName)[1];\n var enumSuffix = '_' + fnSuffix;\n\n for (var key in ext) {\n var value = ext[key];\n var isFunc = typeof value === 'function';\n var suffix = isFunc ? fnSuffix : enumSuffix;\n var name = key; // examples of where this is not true are WEBGL_compressed_texture_s3tc\n // and WEBGL_compressed_texture_pvrtc\n\n if (key.endsWith(suffix)) {\n name = key.substring(0, key.length - suffix.length);\n }\n\n if (gl[name] !== undefined) {\n if (!isFunc && gl[name] !== value) {\n helper.warn(name, gl[name], value, key);\n }\n } else {\n if (isFunc) {\n gl[name] = function (origFn) {\n return function () {\n return origFn.apply(ext, arguments);\n };\n }(value);\n } else {\n gl[name] = value;\n enums[name] = value;\n }\n }\n } // pass the modified enums to glEnumToString\n\n\n enums.constructor = {\n name: ext.constructor.name\n };\n utils.glEnumToString(enums, 0);\n }\n\n return ext;\n}\n/*\n * If you're wondering why the code doesn't just iterate\n * over all extensions using `gl.getExtensions` is that it's possible\n * some future extension is incompatible with this code. Rather than\n * have thing suddenly break it seems better to manually add to this\n * list.\n *\n */\n\n\nvar supportedExtensions = ['ANGLE_instanced_arrays', 'EXT_blend_minmax', 'EXT_color_buffer_float', 'EXT_color_buffer_half_float', 'EXT_disjoint_timer_query', 'EXT_disjoint_timer_query_webgl2', 'EXT_frag_depth', 'EXT_sRGB', 'EXT_shader_texture_lod', 'EXT_texture_filter_anisotropic', 'OES_element_index_uint', 'OES_standard_derivatives', 'OES_texture_float', 'OES_texture_float_linear', 'OES_texture_half_float', 'OES_texture_half_float_linear', 'OES_vertex_array_object', 'WEBGL_color_buffer_float', 'WEBGL_compressed_texture_atc', 'WEBGL_compressed_texture_etc1', 'WEBGL_compressed_texture_pvrtc', 'WEBGL_compressed_texture_s3tc', 'WEBGL_compressed_texture_s3tc_srgb', 'WEBGL_depth_texture', 'WEBGL_draw_buffers'];\n/**\n * Attempts to enable all of the following extensions\n * and add their functions and constants to the\n * `WebGLRenderingContext` using their normal non-extension like names.\n *\n * ANGLE_instanced_arrays\n * EXT_blend_minmax\n * EXT_color_buffer_float\n * EXT_color_buffer_half_float\n * EXT_disjoint_timer_query\n * EXT_disjoint_timer_query_webgl2\n * EXT_frag_depth\n * EXT_sRGB\n * EXT_shader_texture_lod\n * EXT_texture_filter_anisotropic\n * OES_element_index_uint\n * OES_standard_derivatives\n * OES_texture_float\n * OES_texture_float_linear\n * OES_texture_half_float\n * OES_texture_half_float_linear\n * OES_vertex_array_object\n * WEBGL_color_buffer_float\n * WEBGL_compressed_texture_atc\n * WEBGL_compressed_texture_etc1\n * WEBGL_compressed_texture_pvrtc\n * WEBGL_compressed_texture_s3tc\n * WEBGL_compressed_texture_s3tc_srgb\n * WEBGL_depth_texture\n * WEBGL_draw_buffers\n *\n * For example if `ANGLE_instanced_arrays` exists then the functions\n * `drawArraysInstanced`, `drawElementsInstanced`, `vertexAttribDivisor`\n * and the constant `VERTEX_ATTRIB_ARRAY_DIVISOR` are added to the\n * `WebGLRenderingContext`.\n *\n * Note that if you want to know if the extension exists you should\n * probably call `gl.getExtension` for each extension. Alternatively\n * you can check for the existance of the functions or constants that\n * are expected to be added. For example\n *\n * if (gl.drawBuffers) {\n * // Either WEBGL_draw_buffers was enabled OR you're running in WebGL2\n * ....\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @memberOf module:twgl\n */\n\nfunction addExtensionsToContext(gl) {\n for (var ii = 0; ii < supportedExtensions.length; ++ii) {\n addExtensionToContext(gl, supportedExtensions[ii]);\n }\n}\n/**\n * Creates a webgl context.\n * @param {HTMLCanvasElement} canvas The canvas tag to get\n * context from. If one is not passed in one will be\n * created.\n * @return {WebGLRenderingContext} The created context.\n */\n\n\nfunction create3DContext(canvas, opt_attribs) {\n var names = [\"webgl\", \"experimental-webgl\"];\n var context = null;\n\n for (var ii = 0; ii < names.length; ++ii) {\n context = canvas.getContext(names[ii], opt_attribs);\n\n if (context) {\n if (defaults.addExtensionsToContext) {\n addExtensionsToContext(context);\n }\n\n break;\n }\n }\n\n return context;\n}\n/**\n * Gets a WebGL1 context.\n *\n * Note: Will attempt to enable Vertex Array Objects\n * and add WebGL2 entry points. (unless you first set defaults with\n * `twgl.setDefaults({enableVertexArrayObjects: false})`;\n *\n * @param {HTMLCanvasElement} canvas a canvas element.\n * @param {WebGLContextCreationAttirbutes} [opt_attribs] optional webgl context creation attributes\n * @memberOf module:twgl\n */\n\n\nfunction getWebGLContext(canvas, opt_attribs) {\n var gl = create3DContext(canvas, opt_attribs);\n return gl;\n}\n/**\n * Creates a webgl context.\n *\n * Will return a WebGL2 context if possible.\n *\n * You can check if it's WebGL2 with\n *\n * twgl.isWebGL2(gl);\n *\n * @param {HTMLCanvasElement} canvas The canvas tag to get\n * context from. If one is not passed in one will be\n * created.\n * @return {WebGLRenderingContext} The created context.\n */\n\n\nfunction createContext(canvas, opt_attribs) {\n var names = [\"webgl2\", \"webgl\", \"experimental-webgl\"];\n var context = null;\n\n for (var ii = 0; ii < names.length; ++ii) {\n context = canvas.getContext(names[ii], opt_attribs);\n\n if (context) {\n if (defaults.addExtensionsToContext) {\n addExtensionsToContext(context);\n }\n\n break;\n }\n }\n\n return context;\n}\n/**\n * Gets a WebGL context. Will create a WebGL2 context if possible.\n *\n * You can check if it's WebGL2 with\n *\n * function isWebGL2(gl) {\n * return gl.getParameter(gl.VERSION).indexOf(\"WebGL 2.0 \") == 0;\n * }\n *\n * Note: For a WebGL1 context will attempt to enable Vertex Array Objects\n * and add WebGL2 entry points. (unless you first set defaults with\n * `twgl.setDefaults({enableVertexArrayObjects: false})`;\n *\n * @param {HTMLCanvasElement} canvas a canvas element.\n * @param {WebGLContextCreationAttirbutes} [opt_attribs] optional webgl context creation attributes\n * @return {WebGLRenderingContext} The created context.\n * @memberOf module:twgl\n */\n\n\nfunction getContext(canvas, opt_attribs) {\n var gl = createContext(canvas, opt_attribs);\n return gl;\n}\n/**\n * Resize a canvas to match the size it's displayed.\n * @param {HTMLCanvasElement} canvas The canvas to resize.\n * @param {number} [multiplier] So you can pass in `window.devicePixelRatio` or other scale value if you want to.\n * @return {boolean} true if the canvas was resized.\n * @memberOf module:twgl\n */\n\n\nfunction resizeCanvasToDisplaySize(canvas, multiplier) {\n multiplier = multiplier || 1;\n multiplier = Math.max(0, multiplier);\n var width = canvas.clientWidth * multiplier | 0;\n var height = canvas.clientHeight * multiplier | 0;\n\n if (canvas.width !== width || canvas.height !== height) {\n canvas.width = width;\n canvas.height = height;\n return true;\n }\n\n return false;\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.drawBufferInfo = drawBufferInfo;\nexports.drawObjectList = drawObjectList;\n\nvar programs = _interopRequireWildcard(__webpack_require__(5));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * Drawing related functions\n *\n * For backward compatibily they are available at both `twgl.draw` and `twgl`\n * itself\n *\n * See {@link module:twgl} for core functions\n *\n * @module twgl/draw\n */\n\n/**\n * Calls `gl.drawElements` or `gl.drawArrays`, whichever is appropriate\n *\n * normally you'd call `gl.drawElements` or `gl.drawArrays` yourself\n * but calling this means if you switch from indexed data to non-indexed\n * data you don't have to remember to update your draw call.\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @param {(module:twgl.BufferInfo|module:twgl.VertexArrayInfo)} bufferInfo A BufferInfo as returned from {@link module:twgl.createBufferInfoFromArrays} or\n * a VertexArrayInfo as returned from {@link module:twgl.createVertexArrayInfo}\n * @param {enum} [type] eg (gl.TRIANGLES, gl.LINES, gl.POINTS, gl.TRIANGLE_STRIP, ...). Defaults to `gl.TRIANGLES`\n * @param {number} [count] An optional count. Defaults to bufferInfo.numElements\n * @param {number} [offset] An optional offset. Defaults to 0.\n * @param {number} [instanceCount] An optional instanceCount. if set then `drawArraysInstanced` or `drawElementsInstanced` will be called\n * @memberOf module:twgl/draw\n */\nfunction drawBufferInfo(gl, bufferInfo, type, count, offset, instanceCount) {\n type = type === undefined ? gl.TRIANGLES : type;\n var indices = bufferInfo.indices;\n var elementType = bufferInfo.elementType;\n var numElements = count === undefined ? bufferInfo.numElements : count;\n offset = offset === undefined ? 0 : offset;\n\n if (elementType || indices) {\n if (instanceCount !== undefined) {\n gl.drawElementsInstanced(type, numElements, elementType === undefined ? gl.UNSIGNED_SHORT : bufferInfo.elementType, offset, instanceCount);\n } else {\n gl.drawElements(type, numElements, elementType === undefined ? gl.UNSIGNED_SHORT : bufferInfo.elementType, offset);\n }\n } else {\n if (instanceCount !== undefined) {\n gl.drawArraysInstanced(type, offset, numElements, instanceCount);\n } else {\n gl.drawArrays(type, offset, numElements);\n }\n }\n}\n/**\n * A DrawObject is useful for putting objects in to an array and passing them to {@link module:twgl.drawObjectList}.\n *\n * You need either a `BufferInfo` or a `VertexArrayInfo`.\n *\n * @typedef {Object} DrawObject\n * @property {boolean} [active] whether or not to draw. Default = `true` (must be `false` to be not true). In otherwords `undefined` = `true`\n * @property {number} [type] type to draw eg. `gl.TRIANGLES`, `gl.LINES`, etc...\n * @property {module:twgl.ProgramInfo} programInfo A ProgramInfo as returned from {@link module:twgl.createProgramInfo}\n * @property {module:twgl.BufferInfo} [bufferInfo] A BufferInfo as returned from {@link module:twgl.createBufferInfoFromArrays}\n * @property {module:twgl.VertexArrayInfo} [vertexArrayInfo] A VertexArrayInfo as returned from {@link module:twgl.createVertexArrayInfo}\n * @property {Object} uniforms The values for the uniforms.\n * You can pass multiple objects by putting them in an array. For example\n *\n * var sharedUniforms = {\n * u_fogNear: 10,\n * u_projection: ...\n * ...\n * };\n *\n * var localUniforms = {\n * u_world: ...\n * u_diffuseColor: ...\n * };\n *\n * var drawObj = {\n * ...\n * uniforms: [sharedUniforms, localUniforms],\n * };\n *\n * @property {number} [offset] the offset to pass to `gl.drawArrays` or `gl.drawElements`. Defaults to 0.\n * @property {number} [count] the count to pass to `gl.drawArrays` or `gl.drawElemnts`. Defaults to bufferInfo.numElements.\n * @property {number} [instanceCount] the number of instances. Defaults to undefined.\n * @memberOf module:twgl\n */\n\n/**\n * Draws a list of objects\n * @param {DrawObject[]} objectsToDraw an array of objects to draw.\n * @memberOf module:twgl/draw\n */\n\n\nfunction drawObjectList(gl, objectsToDraw) {\n var lastUsedProgramInfo = null;\n var lastUsedBufferInfo = null;\n objectsToDraw.forEach(function (object) {\n if (object.active === false) {\n return;\n }\n\n var programInfo = object.programInfo;\n var bufferInfo = object.vertexArrayInfo || object.bufferInfo;\n var bindBuffers = false;\n var type = object.type === undefined ? gl.TRIANGLES : object.type;\n\n if (programInfo !== lastUsedProgramInfo) {\n lastUsedProgramInfo = programInfo;\n gl.useProgram(programInfo.program); // We have to rebind buffers when changing programs because we\n // only bind buffers the program uses. So if 2 programs use the same\n // bufferInfo but the 1st one uses only positions the when the\n // we switch to the 2nd one some of the attributes will not be on.\n\n bindBuffers = true;\n } // Setup all the needed attributes.\n\n\n if (bindBuffers || bufferInfo !== lastUsedBufferInfo) {\n if (lastUsedBufferInfo && lastUsedBufferInfo.vertexArrayObject && !bufferInfo.vertexArrayObject) {\n gl.bindVertexArray(null);\n }\n\n lastUsedBufferInfo = bufferInfo;\n programs.setBuffersAndAttributes(gl, programInfo, bufferInfo);\n } // Set the uniforms.\n\n\n programs.setUniforms(programInfo, object.uniforms); // Draw\n\n drawBufferInfo(gl, bufferInfo, type, object.count, object.offset, object.instanceCount);\n });\n\n if (lastUsedBufferInfo.vertexArrayObject) {\n gl.bindVertexArray(null);\n }\n}\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.bindFramebufferInfo = bindFramebufferInfo;\nexports.createFramebufferInfo = createFramebufferInfo;\nexports.resizeFramebufferInfo = resizeFramebufferInfo;\n\nvar textures = _interopRequireWildcard(__webpack_require__(8));\n\nvar helper = _interopRequireWildcard(__webpack_require__(0));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * Framebuffer related functions\n *\n * For backward compatibily they are available at both `twgl.framebuffer` and `twgl`\n * itself\n *\n * See {@link module:twgl} for core functions\n *\n * @module twgl/framebuffers\n */\n// make sure we don't see a global gl\nvar gl = undefined; // eslint-disable-line\n\nvar UNSIGNED_BYTE = 0x1401;\n/* PixelFormat */\n\nvar DEPTH_COMPONENT = 0x1902;\nvar RGBA = 0x1908;\n/* Framebuffer Object. */\n\nvar RGBA4 = 0x8056;\nvar RGB5_A1 = 0x8057;\nvar RGB565 = 0x8D62;\nvar DEPTH_COMPONENT16 = 0x81A5;\nvar STENCIL_INDEX = 0x1901;\nvar STENCIL_INDEX8 = 0x8D48;\nvar DEPTH_STENCIL = 0x84F9;\nvar COLOR_ATTACHMENT0 = 0x8CE0;\nvar DEPTH_ATTACHMENT = 0x8D00;\nvar STENCIL_ATTACHMENT = 0x8D20;\nvar DEPTH_STENCIL_ATTACHMENT = 0x821A;\n/* TextureWrapMode */\n\nvar REPEAT = 0x2901; // eslint-disable-line\n\nvar CLAMP_TO_EDGE = 0x812F;\nvar MIRRORED_REPEAT = 0x8370; // eslint-disable-line\n\n/* TextureMagFilter */\n\nvar NEAREST = 0x2600; // eslint-disable-line\n\nvar LINEAR = 0x2601;\n/* TextureMinFilter */\n\nvar NEAREST_MIPMAP_NEAREST = 0x2700; // eslint-disable-line\n\nvar LINEAR_MIPMAP_NEAREST = 0x2701; // eslint-disable-line\n\nvar NEAREST_MIPMAP_LINEAR = 0x2702; // eslint-disable-line\n\nvar LINEAR_MIPMAP_LINEAR = 0x2703; // eslint-disable-line\n\n/**\n * The options for a framebuffer attachment.\n *\n * Note: For a `format` that is a texture include all the texture\n * options from {@link module:twgl.TextureOptions} for example\n * `min`, `mag`, `clamp`, etc... Note that unlike {@link module:twgl.TextureOptions}\n * `auto` defaults to `false` for attachment textures but `min` and `mag` default\n * to `gl.LINEAR` and `wrap` defaults to `CLAMP_TO_EDGE`\n *\n * @typedef {Object} AttachmentOptions\n * @property {number} [attach] The attachment point. Defaults\n * to `gl.COLOR_ATTACTMENT0 + ndx` unless type is a depth or stencil type\n * then it's gl.DEPTH_ATTACHMENT or `gl.DEPTH_STENCIL_ATTACHMENT` depending\n * on the format or attachment type.\n * @property {number} [format] The format. If one of `gl.RGBA4`,\n * `gl.RGB565`, `gl.RGB5_A1`, `gl.DEPTH_COMPONENT16`,\n * `gl.STENCIL_INDEX8` or `gl.DEPTH_STENCIL` then will create a\n * renderbuffer. Otherwise will create a texture. Default = `gl.RGBA`\n * @property {number} [type] The type. Used for texture. Default = `gl.UNSIGNED_BYTE`.\n * @property {number} [target] The texture target for `gl.framebufferTexture2D`.\n * Defaults to `gl.TEXTURE_2D`. Set to appropriate face for cube maps.\n * @property {number} [level] level for `gl.framebufferTexture2D`. Defaults to 0.\n * @property {WebGLObject} [attachment] An existing renderbuffer or texture.\n * If provided will attach this Object. This allows you to share\n * attachemnts across framebuffers.\n * @memberOf module:twgl\n */\n\nvar defaultAttachments = [{\n format: RGBA,\n type: UNSIGNED_BYTE,\n min: LINEAR,\n wrap: CLAMP_TO_EDGE\n}, {\n format: DEPTH_STENCIL\n}];\nvar attachmentsByFormat = {};\nattachmentsByFormat[DEPTH_STENCIL] = DEPTH_STENCIL_ATTACHMENT;\nattachmentsByFormat[STENCIL_INDEX] = STENCIL_ATTACHMENT;\nattachmentsByFormat[STENCIL_INDEX8] = STENCIL_ATTACHMENT;\nattachmentsByFormat[DEPTH_COMPONENT] = DEPTH_ATTACHMENT;\nattachmentsByFormat[DEPTH_COMPONENT16] = DEPTH_ATTACHMENT;\n\nfunction getAttachmentPointForFormat(format) {\n return attachmentsByFormat[format];\n}\n\nvar renderbufferFormats = {};\nrenderbufferFormats[RGBA4] = true;\nrenderbufferFormats[RGB5_A1] = true;\nrenderbufferFormats[RGB565] = true;\nrenderbufferFormats[DEPTH_STENCIL] = true;\nrenderbufferFormats[DEPTH_COMPONENT16] = true;\nrenderbufferFormats[STENCIL_INDEX] = true;\nrenderbufferFormats[STENCIL_INDEX8] = true;\n\nfunction isRenderbufferFormat(format) {\n return renderbufferFormats[format];\n}\n/**\n * @typedef {Object} FramebufferInfo\n * @property {WebGLFramebuffer} framebuffer The WebGLFramebuffer for this framebufferInfo\n * @property {WebGLObject[]} attachments The created attachments in the same order as passed in to {@link module:twgl.createFramebufferInfo}.\n * @memberOf module:twgl\n */\n\n/**\n * Creates a framebuffer and attachments.\n *\n * This returns a {@link module:twgl.FramebufferInfo} because it needs to return the attachments as well as the framebuffer.\n *\n * The simplest usage\n *\n * // create an RGBA/UNSIGNED_BYTE texture and DEPTH_STENCIL renderbuffer\n * const fbi = twgl.createFramebufferInfo(gl);\n *\n * More complex usage\n *\n * // create an RGB565 renderbuffer and a STENCIL_INDEX8 renderbuffer\n * const attachments = [\n * { format: RGB565, mag: NEAREST },\n * { format: STENCIL_INDEX8 },\n * ]\n * const fbi = twgl.createFramebufferInfo(gl, attachments);\n *\n * Passing in a specific size\n *\n * const width = 256;\n * const height = 256;\n * const fbi = twgl.createFramebufferInfo(gl, attachments, width, height);\n *\n * **Note!!** It is up to you to check if the framebuffer is renderable by calling `gl.checkFramebufferStatus`.\n * [WebGL only guarantees 3 combinations of attachments work](https://www.khronos.org/registry/webgl/specs/latest/1.0/#6.6).\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.AttachmentOptions[]} [attachments] which attachments to create. If not provided the default is a framebuffer with an\n * `RGBA`, `UNSIGNED_BYTE` texture `COLOR_ATTACHMENT0` and a `DEPTH_STENCIL` renderbuffer `DEPTH_STENCIL_ATTACHMENT`.\n * @param {number} [width] the width for the attachments. Default = size of drawingBuffer\n * @param {number} [height] the height for the attachments. Defautt = size of drawingBuffer\n * @return {module:twgl.FramebufferInfo} the framebuffer and attachments.\n * @memberOf module:twgl/framebuffers\n */\n\n\nfunction createFramebufferInfo(gl, attachments, width, height) {\n var target = gl.FRAMEBUFFER;\n var fb = gl.createFramebuffer();\n gl.bindFramebuffer(target, fb);\n width = width || gl.drawingBufferWidth;\n height = height || gl.drawingBufferHeight;\n attachments = attachments || defaultAttachments;\n var colorAttachmentCount = 0;\n var framebufferInfo = {\n framebuffer: fb,\n attachments: [],\n width: width,\n height: height\n };\n attachments.forEach(function (attachmentOptions) {\n var attachment = attachmentOptions.attachment;\n var format = attachmentOptions.format;\n var attachmentPoint = getAttachmentPointForFormat(format);\n\n if (!attachmentPoint) {\n attachmentPoint = COLOR_ATTACHMENT0 + colorAttachmentCount++;\n }\n\n if (!attachment) {\n if (isRenderbufferFormat(format)) {\n attachment = gl.createRenderbuffer();\n gl.bindRenderbuffer(gl.RENDERBUFFER, attachment);\n gl.renderbufferStorage(gl.RENDERBUFFER, format, width, height);\n } else {\n var textureOptions = Object.assign({}, attachmentOptions);\n textureOptions.width = width;\n textureOptions.height = height;\n\n if (textureOptions.auto === undefined) {\n textureOptions.auto = false;\n textureOptions.min = textureOptions.min || textureOptions.minMag || gl.LINEAR;\n textureOptions.mag = textureOptions.mag || textureOptions.minMag || gl.LINEAR;\n textureOptions.wrapS = textureOptions.wrapS || textureOptions.wrap || gl.CLAMP_TO_EDGE;\n textureOptions.wrapT = textureOptions.wrapT || textureOptions.wrap || gl.CLAMP_TO_EDGE;\n }\n\n attachment = textures.createTexture(gl, textureOptions);\n }\n }\n\n if (helper.isRenderbuffer(gl, attachment)) {\n gl.framebufferRenderbuffer(target, attachmentPoint, gl.RENDERBUFFER, attachment);\n } else if (helper.isTexture(gl, attachment)) {\n gl.framebufferTexture2D(target, attachmentPoint, attachmentOptions.texTarget || gl.TEXTURE_2D, attachment, attachmentOptions.level || 0);\n } else {\n throw \"unknown attachment type\";\n }\n\n framebufferInfo.attachments.push(attachment);\n });\n return framebufferInfo;\n}\n/**\n * Resizes the attachments of a framebuffer.\n *\n * You need to pass in the same `attachments` as you passed in {@link module:twgl.createFramebufferInfo}\n * because TWGL has no idea the format/type of each attachment.\n *\n * The simplest usage\n *\n * // create an RGBA/UNSIGNED_BYTE texture and DEPTH_STENCIL renderbuffer\n * const fbi = twgl.createFramebufferInfo(gl);\n *\n * ...\n *\n * function render() {\n * if (twgl.resizeCanvasToDisplaySize(gl.canvas)) {\n * // resize the attachments\n * twgl.resizeFramebufferInfo(gl, fbi);\n * }\n *\n * More complex usage\n *\n * // create an RGB565 renderbuffer and a STENCIL_INDEX8 renderbuffer\n * const attachments = [\n * { format: RGB565, mag: NEAREST },\n * { format: STENCIL_INDEX8 },\n * ]\n * const fbi = twgl.createFramebufferInfo(gl, attachments);\n *\n * ...\n *\n * function render() {\n * if (twgl.resizeCanvasToDisplaySize(gl.canvas)) {\n * // resize the attachments to match\n * twgl.resizeFramebufferInfo(gl, fbi, attachments);\n * }\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.FramebufferInfo} framebufferInfo a framebufferInfo as returned from {@link module:twgl.createFramebufferInfo}.\n * @param {module:twgl.AttachmentOptions[]} [attachments] the same attachments options as passed to {@link module:twgl.createFramebufferInfo}.\n * @param {number} [width] the width for the attachments. Default = size of drawingBuffer\n * @param {number} [height] the height for the attachments. Defautt = size of drawingBuffer\n * @memberOf module:twgl/framebuffers\n */\n\n\nfunction resizeFramebufferInfo(gl, framebufferInfo, attachments, width, height) {\n width = width || gl.drawingBufferWidth;\n height = height || gl.drawingBufferHeight;\n framebufferInfo.width = width;\n framebufferInfo.height = height;\n attachments = attachments || defaultAttachments;\n attachments.forEach(function (attachmentOptions, ndx) {\n var attachment = framebufferInfo.attachments[ndx];\n var format = attachmentOptions.format;\n\n if (helper.isRenderbuffer(gl, attachment)) {\n gl.bindRenderbuffer(gl.RENDERBUFFER, attachment);\n gl.renderbufferStorage(gl.RENDERBUFFER, format, width, height);\n } else if (helper.isTexture(gl, attachment)) {\n textures.resizeTexture(gl, attachment, attachmentOptions, width, height);\n } else {\n throw \"unknown attachment type\";\n }\n });\n}\n/**\n * Binds a framebuffer\n *\n * This function pretty much soley exists because I spent hours\n * trying to figure out why something I wrote wasn't working only\n * to realize I forget to set the viewport dimensions.\n * My hope is this function will fix that.\n *\n * It is effectively the same as\n *\n * gl.bindFramebuffer(gl.FRAMEBUFFER, someFramebufferInfo.framebuffer);\n * gl.viewport(0, 0, someFramebufferInfo.width, someFramebufferInfo.height);\n *\n * @param {WebGLRenderingContext} gl the WebGLRenderingContext\n * @param {module:twgl.FramebufferInfo} [framebufferInfo] a framebufferInfo as returned from {@link module:twgl.createFramebufferInfo}.\n * If not passed will bind the canvas.\n * @param {number} [target] The target. If not passed `gl.FRAMEBUFFER` will be used.\n * @memberOf module:twgl/framebuffers\n */\n\n\nfunction bindFramebufferInfo(gl, framebufferInfo, target) {\n target = target || gl.FRAMEBUFFER;\n\n if (framebufferInfo) {\n gl.bindFramebuffer(target, framebufferInfo.framebuffer);\n gl.viewport(0, 0, framebufferInfo.width, framebufferInfo.height);\n } else {\n gl.bindFramebuffer(target, null);\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.createVertexArrayInfo = createVertexArrayInfo;\nexports.createVAOAndSetAttributes = createVAOAndSetAttributes;\nexports.createVAOFromBufferInfo = createVAOFromBufferInfo;\n\nvar programs = _interopRequireWildcard(__webpack_require__(5));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\n/*\n * Copyright 2015, Gregg Tavares.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Gregg Tavares. nor the names of his\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * vertex array object related functions\n *\n * You should generally not need to use these functions. They are provided\n * for those cases where you're doing something out of the ordinary\n * and you need lower level access.\n *\n * For backward compatibily they are available at both `twgl.attributes` and `twgl`\n * itself\n *\n * See {@link module:twgl} for core functions\n *\n * @module twgl/vertexArrays\n */\n\n/**\n * @typedef {Object} VertexArrayInfo\n * @property {number} numElements The number of elements to pass to `gl.drawArrays` or `gl.drawElements`.\n * @property {number} [elementType] The type of indices `UNSIGNED_BYTE`, `UNSIGNED_SHORT` etc..\n * @property {WebGLVertexArrayObject} [vertexArrayObject] a vertex array object\n * @memberOf module:twgl\n */\n\n/**\n * Creates a VertexArrayInfo from a BufferInfo and one or more ProgramInfos\n *\n * This can be passed to {@link module:twgl.setBuffersAndAttributes} and to\n * {@link module:twgl:drawBufferInfo}.\n *\n * > **IMPORTANT:** Vertex Array Objects are **not** a direct analog for a BufferInfo. Vertex Array Objects\n * assign buffers to specific attributes at creation time. That means they can only be used with programs\n * who's attributes use the same attribute locations for the same purposes.\n *\n * > Bind your attribute locations by passing an array of attribute names to {@link module:twgl.createProgramInfo}\n * or use WebGL 2's GLSL ES 3's `layout(location = )` to make sure locations match.\n *\n * also\n *\n * > **IMPORTANT:** After calling twgl.setBuffersAndAttribute with a BufferInfo that uses a Vertex Array Object\n * that Vertex Array Object will be bound. That means **ANY MANIPULATION OF ELEMENT_ARRAY_BUFFER or ATTRIBUTES**\n * will affect the Vertex Array Object state.\n *\n * > Call `gl.bindVertexArray(null)` to get back manipulating the global attributes and ELEMENT_ARRAY_BUFFER.\n *\n * @param {WebGLRenderingContext} gl A WebGLRenderingContext\n * @param {module:twgl.ProgramInfo|module:twgl.ProgramInfo[]} programInfo a programInfo or array of programInfos\n * @param {module:twgl.BufferInfo} bufferInfo BufferInfo as returned from createBufferInfoFromArrays etc...\n *\n * You need to make sure every attribute that will be used is bound. So for example assume shader 1\n * uses attributes A, B, C and shader 2 uses attributes A, B, D. If you only pass in the programInfo\n * for shader 1 then only attributes A, B, and C will have their attributes set because TWGL doesn't\n * now attribute D's location.\n *\n * So, you can pass in both shader 1 and shader 2's programInfo\n *\n * @return {module:twgl.VertexArrayInfo} The created VertexArrayInfo\n *\n * @memberOf module:twgl/vertexArrays\n */\nfunction createVertexArrayInfo(gl, programInfos, bufferInfo) {\n var vao = gl.createVertexArray();\n gl.bindVertexArray(vao);\n\n if (!programInfos.length) {\n programInfos = [programInfos];\n }\n\n programInfos.forEach(function (programInfo) {\n programs.setBuffersAndAttributes(gl, programInfo, bufferInfo);\n });\n gl.bindVertexArray(null);\n return {\n numElements: bufferInfo.numElements,\n elementType: bufferInfo.elementType,\n vertexArrayObject: vao\n };\n}\n/**\n * Creates a vertex array object and then sets the attributes on it\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.\n * @param {Object.} setters Attribute setters as returned from createAttributeSetters\n * @param {Object.} attribs AttribInfos mapped by attribute name.\n * @param {WebGLBuffer} [indices] an optional ELEMENT_ARRAY_BUFFER of indices\n * @memberOf module:twgl/vertexArrays\n */\n\n\nfunction createVAOAndSetAttributes(gl, setters, attribs, indices) {\n var vao = gl.createVertexArray();\n gl.bindVertexArray(vao);\n programs.setAttributes(setters, attribs);\n\n if (indices) {\n gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indices);\n } // We unbind this because otherwise any change to ELEMENT_ARRAY_BUFFER\n // like when creating buffers for other stuff will mess up this VAO's binding\n\n\n gl.bindVertexArray(null);\n return vao;\n}\n/**\n * Creates a vertex array object and then sets the attributes\n * on it\n *\n * @param {WebGLRenderingContext} gl The WebGLRenderingContext\n * to use.\n * @param {Object.| module:twgl.ProgramInfo} programInfo as returned from createProgramInfo or Attribute setters as returned from createAttributeSetters\n * @param {module:twgl.BufferInfo} bufferInfo BufferInfo as returned from createBufferInfoFromArrays etc...\n * @param {WebGLBuffer} [indices] an optional ELEMENT_ARRAY_BUFFER of indices\n * @memberOf module:twgl/vertexArrays\n */\n\n\nfunction createVAOFromBufferInfo(gl, programInfo, bufferInfo) {\n return createVAOAndSetAttributes(gl, programInfo.attribSetters || programInfo, bufferInfo.attribs, bufferInfo.indices);\n}\n\n/***/ })\n/******/ ]);\n});","// Generated by CoffeeScript 1.7.1\nvar UnicodeTrie, inflate;\n\ninflate = require('tiny-inflate');\n\nUnicodeTrie = (function() {\n var DATA_BLOCK_LENGTH, DATA_GRANULARITY, DATA_MASK, INDEX_1_OFFSET, INDEX_2_BLOCK_LENGTH, INDEX_2_BMP_LENGTH, INDEX_2_MASK, INDEX_SHIFT, LSCP_INDEX_2_LENGTH, LSCP_INDEX_2_OFFSET, OMITTED_BMP_INDEX_1_LENGTH, SHIFT_1, SHIFT_1_2, SHIFT_2, UTF8_2B_INDEX_2_LENGTH, UTF8_2B_INDEX_2_OFFSET;\n\n SHIFT_1 = 6 + 5;\n\n SHIFT_2 = 5;\n\n SHIFT_1_2 = SHIFT_1 - SHIFT_2;\n\n OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> SHIFT_1;\n\n INDEX_2_BLOCK_LENGTH = 1 << SHIFT_1_2;\n\n INDEX_2_MASK = INDEX_2_BLOCK_LENGTH - 1;\n\n INDEX_SHIFT = 2;\n\n DATA_BLOCK_LENGTH = 1 << SHIFT_2;\n\n DATA_MASK = DATA_BLOCK_LENGTH - 1;\n\n LSCP_INDEX_2_OFFSET = 0x10000 >> SHIFT_2;\n\n LSCP_INDEX_2_LENGTH = 0x400 >> SHIFT_2;\n\n INDEX_2_BMP_LENGTH = LSCP_INDEX_2_OFFSET + LSCP_INDEX_2_LENGTH;\n\n UTF8_2B_INDEX_2_OFFSET = INDEX_2_BMP_LENGTH;\n\n UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6;\n\n INDEX_1_OFFSET = UTF8_2B_INDEX_2_OFFSET + UTF8_2B_INDEX_2_LENGTH;\n\n DATA_GRANULARITY = 1 << INDEX_SHIFT;\n\n function UnicodeTrie(data) {\n var isBuffer, uncompressedLength, view;\n isBuffer = typeof data.readUInt32BE === 'function' && typeof data.slice === 'function';\n if (isBuffer || data instanceof Uint8Array) {\n if (isBuffer) {\n this.highStart = data.readUInt32BE(0);\n this.errorValue = data.readUInt32BE(4);\n uncompressedLength = data.readUInt32BE(8);\n data = data.slice(12);\n } else {\n view = new DataView(data.buffer);\n this.highStart = view.getUint32(0);\n this.errorValue = view.getUint32(4);\n uncompressedLength = view.getUint32(8);\n data = data.subarray(12);\n }\n data = inflate(data, new Uint8Array(uncompressedLength));\n data = inflate(data, new Uint8Array(uncompressedLength));\n this.data = new Uint32Array(data.buffer);\n } else {\n this.data = data.data, this.highStart = data.highStart, this.errorValue = data.errorValue;\n }\n }\n\n UnicodeTrie.prototype.get = function(codePoint) {\n var index;\n if (codePoint < 0 || codePoint > 0x10ffff) {\n return this.errorValue;\n }\n if (codePoint < 0xd800 || (codePoint > 0xdbff && codePoint <= 0xffff)) {\n index = (this.data[codePoint >> SHIFT_2] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n if (codePoint <= 0xffff) {\n index = (this.data[LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> SHIFT_2)] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n if (codePoint < this.highStart) {\n index = this.data[(INDEX_1_OFFSET - OMITTED_BMP_INDEX_1_LENGTH) + (codePoint >> SHIFT_1)];\n index = this.data[index + ((codePoint >> SHIFT_2) & INDEX_2_MASK)];\n index = (index << INDEX_SHIFT) + (codePoint & DATA_MASK);\n return this.data[index];\n }\n return this.data[this.data.length - DATA_GRANULARITY];\n };\n\n return UnicodeTrie;\n\n})();\n\nmodule.exports = UnicodeTrie;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\n\nfunction encodeSync(audioData, opts) {\n opts = opts || {};\n\n audioData = toAudioData(audioData);\n\n if (audioData === null) {\n throw new TypeError(\"Invalid AudioData\");\n }\n\n var floatingPoint = !!(opts.floatingPoint || opts.float);\n var bitDepth = floatingPoint ? 32 : ((opts.bitDepth|0) || 16);\n var bytes = bitDepth >> 3;\n var length = audioData.length * audioData.numberOfChannels * bytes;\n var dataView = new DataView(new Uint8Array(44 + length).buffer);\n var writer = createWriter(dataView);\n\n var format = {\n formatId: floatingPoint ? 0x0003 : 0x0001,\n floatingPoint: floatingPoint,\n numberOfChannels: audioData.numberOfChannels,\n sampleRate: audioData.sampleRate,\n bitDepth: bitDepth\n };\n\n writeHeader(writer, format, dataView.buffer.byteLength - 8);\n\n var err = writeData(writer, format, length, audioData, opts);\n\n if (err instanceof Error) {\n throw err;\n }\n\n return dataView.buffer;\n}\n\nfunction encode(audioData, opts) {\n return new Promise(function(resolve) {\n resolve(encodeSync(audioData, opts));\n });\n}\n\nfunction toAudioData(data) {\n var audioData = {};\n\n if (typeof data.sampleRate !== \"number\") {\n return null;\n }\n if (!Array.isArray(data.channelData)) {\n return null;\n }\n if (!(data.channelData[0] instanceof Float32Array)) {\n return null;\n }\n\n audioData.numberOfChannels = data.channelData.length;\n audioData.length = data.channelData[0].length|0;\n audioData.sampleRate = data.sampleRate|0;\n audioData.channelData = data.channelData;\n\n return audioData;\n}\n\nfunction writeHeader(writer, format, length) {\n var bytes = format.bitDepth >> 3;\n\n writer.string(\"RIFF\");\n writer.uint32(length);\n writer.string(\"WAVE\");\n\n writer.string(\"fmt \");\n writer.uint32(16);\n writer.uint16(format.floatingPoint ? 0x0003 : 0x0001);\n writer.uint16(format.numberOfChannels);\n writer.uint32(format.sampleRate);\n writer.uint32(format.sampleRate * format.numberOfChannels * bytes);\n writer.uint16(format.numberOfChannels * bytes);\n writer.uint16(format.bitDepth);\n}\n\nfunction writeData(writer, format, length, audioData, opts) {\n var bitDepth = format.bitDepth;\n var encoderOption = format.floatingPoint ? \"f\" : opts.symmetric ? \"s\" : \"\";\n var methodName = \"pcm\" + bitDepth + encoderOption;\n\n if (!writer[methodName]) {\n return new TypeError(\"Not supported bit depth: \" + bitDepth);\n }\n\n var write = writer[methodName].bind(writer);\n var numberOfChannels = format.numberOfChannels;\n var channelData = audioData.channelData;\n\n writer.string(\"data\");\n writer.uint32(length);\n\n for (var i = 0, imax = audioData.length; i < imax; i++) {\n for (var ch = 0; ch < numberOfChannels; ch++) {\n write(channelData[ch][i]);\n }\n }\n}\n\nfunction createWriter(dataView) {\n var pos = 0;\n\n return {\n int16: function(value) {\n dataView.setInt16(pos, value, true);\n pos += 2;\n },\n uint16: function(value) {\n dataView.setUint16(pos, value, true);\n pos += 2;\n },\n uint32: function(value) {\n dataView.setUint32(pos, value, true);\n pos += 4;\n },\n string: function(value) {\n for (var i = 0, imax = value.length; i < imax; i++) {\n dataView.setUint8(pos++, value.charCodeAt(i));\n }\n },\n pcm8: function(value) {\n value = Math.max(-1, Math.min(value, +1));\n value = (value * 0.5 + 0.5) * 255;\n value = Math.round(value)|0;\n dataView.setUint8(pos, value, true);\n pos += 1;\n },\n pcm8s: function(value) {\n value = Math.round(value * 128) + 128;\n value = Math.max(0, Math.min(value, 255));\n dataView.setUint8(pos, value, true);\n pos += 1;\n },\n pcm16: function(value) {\n value = Math.max(-1, Math.min(value, +1));\n value = value < 0 ? value * 32768 : value * 32767;\n value = Math.round(value)|0;\n dataView.setInt16(pos, value, true);\n pos += 2;\n },\n pcm16s: function(value) {\n value = Math.round(value * 32768);\n value = Math.max(-32768, Math.min(value, 32767));\n dataView.setInt16(pos, value, true);\n pos += 2;\n },\n pcm24: function(value) {\n value = Math.max(-1, Math.min(value, +1));\n value = value < 0 ? 0x1000000 + value * 8388608 : value * 8388607;\n value = Math.round(value)|0;\n\n var x0 = (value >> 0) & 0xFF;\n var x1 = (value >> 8) & 0xFF;\n var x2 = (value >> 16) & 0xFF;\n\n dataView.setUint8(pos + 0, x0);\n dataView.setUint8(pos + 1, x1);\n dataView.setUint8(pos + 2, x2);\n pos += 3;\n },\n pcm24s: function(value) {\n value = Math.round(value * 8388608);\n value = Math.max(-8388608, Math.min(value, 8388607));\n\n var x0 = (value >> 0) & 0xFF;\n var x1 = (value >> 8) & 0xFF;\n var x2 = (value >> 16) & 0xFF;\n\n dataView.setUint8(pos + 0, x0);\n dataView.setUint8(pos + 1, x1);\n dataView.setUint8(pos + 2, x2);\n pos += 3;\n },\n pcm32: function(value) {\n value = Math.max(-1, Math.min(value, +1));\n value = value < 0 ? value * 2147483648 : value * 2147483647;\n value = Math.round(value)|0;\n dataView.setInt32(pos, value, true);\n pos += 4;\n },\n pcm32s: function(value) {\n value = Math.round(value * 2147483648);\n value = Math.max(-2147483648, Math.min(value, +2147483647));\n dataView.setInt32(pos, value, true);\n pos += 4;\n },\n pcm32f: function(value) {\n dataView.setFloat32(pos, value, true);\n pos += 4;\n }\n };\n}\n\nmodule.exports.encode = encode;\nmodule.exports.encode.sync = encodeSync;\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = function() {\n return require(\"!!C:\\\\scratch3\\\\scratch-gui\\\\node_modules\\\\worker-loader\\\\dist\\\\workers\\\\InlineWorker.js\")(\"/******/ (function(modules) { // webpackBootstrap\\n/******/ \\t// The module cache\\n/******/ \\tvar installedModules = {};\\n/******/\\n/******/ \\t// The require function\\n/******/ \\tfunction __webpack_require__(moduleId) {\\n/******/\\n/******/ \\t\\t// Check if module is in cache\\n/******/ \\t\\tif(installedModules[moduleId]) {\\n/******/ \\t\\t\\treturn installedModules[moduleId].exports;\\n/******/ \\t\\t}\\n/******/ \\t\\t// Create a new module (and put it into the cache)\\n/******/ \\t\\tvar module = installedModules[moduleId] = {\\n/******/ \\t\\t\\ti: moduleId,\\n/******/ \\t\\t\\tl: false,\\n/******/ \\t\\t\\texports: {}\\n/******/ \\t\\t};\\n/******/\\n/******/ \\t\\t// Execute the module function\\n/******/ \\t\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\n/******/\\n/******/ \\t\\t// Flag the module as loaded\\n/******/ \\t\\tmodule.l = true;\\n/******/\\n/******/ \\t\\t// Return the exports of the module\\n/******/ \\t\\treturn module.exports;\\n/******/ \\t}\\n/******/\\n/******/\\n/******/ \\t// expose the modules object (__webpack_modules__)\\n/******/ \\t__webpack_require__.m = modules;\\n/******/\\n/******/ \\t// expose the module cache\\n/******/ \\t__webpack_require__.c = installedModules;\\n/******/\\n/******/ \\t// define getter function for harmony exports\\n/******/ \\t__webpack_require__.d = function(exports, name, getter) {\\n/******/ \\t\\tif(!__webpack_require__.o(exports, name)) {\\n/******/ \\t\\t\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\n/******/ \\t\\t}\\n/******/ \\t};\\n/******/\\n/******/ \\t// define __esModule on exports\\n/******/ \\t__webpack_require__.r = function(exports) {\\n/******/ \\t\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n/******/ \\t\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n/******/ \\t\\t}\\n/******/ \\t\\tObject.defineProperty(exports, '__esModule', { value: true });\\n/******/ \\t};\\n/******/\\n/******/ \\t// create a fake namespace object\\n/******/ \\t// mode & 1: value is a module id, require it\\n/******/ \\t// mode & 2: merge all properties of value into the ns\\n/******/ \\t// mode & 4: return value when already ns object\\n/******/ \\t// mode & 8|1: behave like require\\n/******/ \\t__webpack_require__.t = function(value, mode) {\\n/******/ \\t\\tif(mode & 1) value = __webpack_require__(value);\\n/******/ \\t\\tif(mode & 8) return value;\\n/******/ \\t\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\n/******/ \\t\\tvar ns = Object.create(null);\\n/******/ \\t\\t__webpack_require__.r(ns);\\n/******/ \\t\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\n/******/ \\t\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\n/******/ \\t\\treturn ns;\\n/******/ \\t};\\n/******/\\n/******/ \\t// getDefaultExport function for compatibility with non-harmony modules\\n/******/ \\t__webpack_require__.n = function(module) {\\n/******/ \\t\\tvar getter = module && module.__esModule ?\\n/******/ \\t\\t\\tfunction getDefault() { return module['default']; } :\\n/******/ \\t\\t\\tfunction getModuleExports() { return module; };\\n/******/ \\t\\t__webpack_require__.d(getter, 'a', getter);\\n/******/ \\t\\treturn getter;\\n/******/ \\t};\\n/******/\\n/******/ \\t// Object.prototype.hasOwnProperty.call\\n/******/ \\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\n/******/\\n/******/ \\t// __webpack_public_path__\\n/******/ \\t__webpack_require__.p = \\\"\\\";\\n/******/\\n/******/\\n/******/ \\t// Load entry module and return exports\\n/******/ \\treturn __webpack_require__(__webpack_require__.s = \\\"./node_modules/babel-loader/lib/index.js?!./node_modules/scratch-storage/src/FetchWorkerTool.worker.js\\\");\\n/******/ })\\n/************************************************************************/\\n/******/ ({\\n\\n/***/ \\\"./node_modules/babel-loader/lib/index.js?!./node_modules/scratch-storage/src/FetchWorkerTool.worker.js\\\":\\n/*!************************************************************************************************************!*\\\\\\n !*** ./node_modules/babel-loader/lib??ref--4!./node_modules/scratch-storage/src/FetchWorkerTool.worker.js ***!\\n \\\\************************************************************************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\n/* eslint-env worker */\\nvar jobsActive = 0;\\nvar complete = [];\\nvar intervalId = null;\\n/**\\n * Register a step function.\\n *\\n * Step checks if there are completed jobs and if there are sends them to the\\n * parent. Then it checks the jobs count. If there are no further jobs, clear\\n * the step.\\n */\\n\\nvar registerStep = function registerStep() {\\n intervalId = setInterval(function () {\\n if (complete.length) {\\n // Send our chunk of completed requests and instruct postMessage to\\n // transfer the buffers instead of copying them.\\n postMessage(complete.slice(), // Instruct postMessage that these buffers in the sent message\\n // should use their Transferable trait. After the postMessage\\n // call the \\\"buffers\\\" will still be in complete if you looked,\\n // but they will all be length 0 as the data they reference has\\n // been sent to the window. This lets us send a lot of data\\n // without the normal postMessage behaviour of making a copy of\\n // all of the data for the window.\\n complete.map(function (response) {\\n return response.buffer;\\n }).filter(Boolean));\\n complete.length = 0;\\n }\\n\\n if (jobsActive === 0) {\\n clearInterval(intervalId);\\n intervalId = null;\\n }\\n }, 1);\\n};\\n/**\\n * Receive a job from the parent and fetch the requested data.\\n * @param {object} options.job A job id, url, and options descriptor to perform.\\n */\\n\\n\\nvar onMessage = function onMessage(_ref) {\\n var job = _ref.data;\\n\\n if (jobsActive === 0 && !intervalId) {\\n registerStep();\\n }\\n\\n jobsActive++;\\n fetch(job.url, job.options).then(function (response) {\\n return response.arrayBuffer();\\n }).then(function (buffer) {\\n return complete.push({\\n id: job.id,\\n buffer: buffer\\n });\\n }).catch(function (error) {\\n return complete.push({\\n id: job.id,\\n error: error\\n });\\n }).then(function () {\\n return jobsActive--;\\n });\\n};\\n\\nif (self.fetch) {\\n postMessage({\\n support: {\\n fetch: true\\n }\\n });\\n self.addEventListener('message', onMessage);\\n} else {\\n postMessage({\\n support: {\\n fetch: false\\n }\\n });\\n self.addEventListener('message', function (_ref2) {\\n var job = _ref2.data;\\n postMessage([{\\n id: job.id,\\n error: new Error('fetch is unavailable')\\n }]);\\n });\\n}\\n\\n/***/ })\\n\\n/******/ });\\n//# sourceMappingURL=326c5f98902ccd335b5b.worker.js.map\", __webpack_public_path__ + \"326c5f98902ccd335b5b.worker.js\");\n};","'use strict';\n\n// http://stackoverflow.com/questions/10343913/how-to-create-a-web-worker-from-a-string\n\nvar URL = window.URL || window.webkitURL;\n\nmodule.exports = function (content, url) {\n try {\n try {\n var blob;\n\n try {\n // BlobBuilder = Deprecated, but widely implemented\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n\n blob = new BlobBuilder();\n\n blob.append(content);\n\n blob = blob.getBlob();\n } catch (e) {\n // The proposed API\n blob = new Blob([content]);\n }\n\n return new Worker(URL.createObjectURL(blob));\n } catch (e) {\n return new Worker('data:application/javascript,' + encodeURIComponent(content));\n }\n } catch (e) {\n if (!url) {\n throw Error('Inline worker is not supported');\n }\n\n return new Worker(url);\n }\n};","\"use strict\";\nvar window = require(\"global/window\")\nvar isFunction = require(\"is-function\")\nvar parseHeaders = require(\"parse-headers\")\nvar xtend = require(\"xtend\")\n\nmodule.exports = createXHR\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = createXHR;\ncreateXHR.XMLHttpRequest = window.XMLHttpRequest || noop\ncreateXHR.XDomainRequest = \"withCredentials\" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest\n\nforEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function(method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function(uri, options, callback) {\n options = initParams(uri, options, callback)\n options.method = method.toUpperCase()\n return _createXHR(options)\n }\n})\n\nfunction forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i++) {\n iterator(array[i])\n }\n}\n\nfunction isEmpty(obj){\n for(var i in obj){\n if(obj.hasOwnProperty(i)) return false\n }\n return true\n}\n\nfunction initParams(uri, options, callback) {\n var params = uri\n\n if (isFunction(options)) {\n callback = options\n if (typeof uri === \"string\") {\n params = {uri:uri}\n }\n } else {\n params = xtend(options, {uri: uri})\n }\n\n params.callback = callback\n return params\n}\n\nfunction createXHR(uri, options, callback) {\n options = initParams(uri, options, callback)\n return _createXHR(options)\n}\n\nfunction _createXHR(options) {\n if(typeof options.callback === \"undefined\"){\n throw new Error(\"callback argument missing\")\n }\n\n var called = false\n var callback = function cbOnce(err, response, body){\n if(!called){\n called = true\n options.callback(err, response, body)\n }\n }\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0)\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined\n\n if (xhr.response) {\n body = xhr.response\n } else {\n body = xhr.responseText || getXml(xhr)\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body)\n } catch (e) {}\n }\n\n return body\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer)\n if(!(evt instanceof Error)){\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\") )\n }\n evt.statusCode = 0\n return callback(evt, failureResponse)\n }\n\n // will load the data & process the response in a special response object\n function loadFunc() {\n if (aborted) return\n var status\n clearTimeout(timeoutTimer)\n if(options.useXDR && xhr.status===undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200\n } else {\n status = (xhr.status === 1223 ? 204 : xhr.status)\n }\n var response = failureResponse\n var err = null\n\n if (status !== 0){\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n }\n if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders())\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\")\n }\n return callback(err, response, response.body)\n }\n\n var xhr = options.xhr || null\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest()\n }else{\n xhr = new createXHR.XMLHttpRequest()\n }\n }\n\n var key\n var aborted\n var uri = xhr.url = options.uri || options.url\n var method = xhr.method = options.method || \"GET\"\n var body = options.body || options.data\n var headers = xhr.headers = options.headers || {}\n var sync = !!options.sync\n var isJson = false\n var timeoutTimer\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n }\n\n if (\"json\" in options && options.json !== false) {\n isJson = true\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\") //Don't override existing accept header declared by user\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\") //Don't override existing accept header declared by user\n body = JSON.stringify(options.json === true ? body : options.json)\n }\n }\n\n xhr.onreadystatechange = readystatechange\n xhr.onload = loadFunc\n xhr.onerror = errorFunc\n // IE9 must have onprogress be set to a unique function.\n xhr.onprogress = function () {\n // IE must die\n }\n xhr.onabort = function(){\n aborted = true;\n }\n xhr.ontimeout = errorFunc\n xhr.open(method, uri, !sync, options.username, options.password)\n //has to be after open\n if(!sync) {\n xhr.withCredentials = !!options.withCredentials\n }\n // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n if (!sync && options.timeout > 0 ) {\n timeoutTimer = setTimeout(function(){\n if (aborted) return\n aborted = true//IE9 may still call readystatechange\n xhr.abort(\"timeout\")\n var e = new Error(\"XMLHttpRequest timeout\")\n e.code = \"ETIMEDOUT\"\n errorFunc(e)\n }, options.timeout )\n }\n\n if (xhr.setRequestHeader) {\n for(key in headers){\n if(headers.hasOwnProperty(key)){\n xhr.setRequestHeader(key, headers[key])\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\")\n }\n\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType\n }\n\n if (\"beforeSend\" in options &&\n typeof options.beforeSend === \"function\"\n ) {\n options.beforeSend(xhr)\n }\n\n // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n xhr.send(body || null)\n\n return xhr\n\n\n}\n\nfunction getXml(xhr) {\n // xhr.responseXML will throw Exception \"InvalidStateError\" or \"DOMException\"\n // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.\n try {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML\n }\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\"\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML\n }\n } catch (e) {}\n\n return null\n}\n\nfunction noop() {}\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport bindAll from 'lodash.bindall';\nimport ReactTooltip from 'react-tooltip';\n\nimport styles from './action-menu.css';\n\nconst CLOSE_DELAY = 300; // ms\n\nclass ActionMenu extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'clickDelayer',\n 'handleClosePopover',\n 'handleToggleOpenState',\n 'handleTouchStart',\n 'handleTouchOutside',\n 'setButtonRef',\n 'setContainerRef'\n ]);\n this.state = {\n isOpen: false,\n forceHide: false\n };\n this.mainTooltipId = `tooltip-${Math.random()}`;\n }\n componentDidMount () {\n // Touch start on the main button is caught to trigger open and not click\n this.buttonRef.addEventListener('touchstart', this.handleTouchStart);\n // Touch start on document is used to trigger close if it is outside\n document.addEventListener('touchstart', this.handleTouchOutside);\n }\n shouldComponentUpdate (newProps, newState) {\n // This check prevents re-rendering while the project is updating.\n // @todo check only the state and the title because it is enough to know\n // if anything substantial has changed\n // This is needed because of the sloppy way the props are passed as a new object,\n // which should be refactored.\n return newState.isOpen !== this.state.isOpen ||\n newState.forceHide !== this.state.forceHide ||\n newProps.title !== this.props.title;\n }\n componentWillUnmount () {\n this.buttonRef.removeEventListener('touchstart', this.handleTouchStart);\n document.removeEventListener('touchstart', this.handleTouchOutside);\n }\n handleClosePopover () {\n this.closeTimeoutId = setTimeout(() => {\n this.setState({isOpen: false});\n this.closeTimeoutId = null;\n }, CLOSE_DELAY);\n }\n handleToggleOpenState () {\n // Mouse enter back in after timeout was started prevents it from closing.\n if (this.closeTimeoutId) {\n clearTimeout(this.closeTimeoutId);\n this.closeTimeoutId = null;\n } else if (!this.state.isOpen) {\n this.setState({\n isOpen: true,\n forceHide: false\n });\n }\n }\n handleTouchOutside (e) {\n if (this.state.isOpen && !this.containerRef.contains(e.target)) {\n this.setState({isOpen: false});\n ReactTooltip.hide();\n }\n }\n clickDelayer (fn) {\n // Return a wrapped action that manages the menu closing.\n // @todo we may be able to use react-transition for this in the future\n // for now all this work is to ensure the menu closes BEFORE the\n // (possibly slow) action is started.\n return event => {\n ReactTooltip.hide();\n if (fn) fn(event);\n // Blur the button so it does not keep focus after being clicked\n // This prevents keyboard events from triggering the button\n this.buttonRef.blur();\n this.setState({forceHide: true, isOpen: false}, () => {\n setTimeout(() => this.setState({forceHide: false}));\n });\n };\n }\n handleTouchStart (e) {\n // Prevent this touch from becoming a click if menu is closed\n if (!this.state.isOpen) {\n e.preventDefault();\n this.handleToggleOpenState();\n }\n }\n setButtonRef (ref) {\n this.buttonRef = ref;\n }\n setContainerRef (ref) {\n this.containerRef = ref;\n }\n render () {\n const {\n className,\n img: mainImg,\n title: mainTitle,\n moreButtons,\n tooltipPlace,\n onClick\n } = this.props;\n\n return (\n \n \n \n \n \n
\n
\n {(moreButtons || []).map(({img, title, onClick: handleClick,\n fileAccept, fileChange, fileInput, fileMultiple}, keyId) => {\n const isComingSoon = !handleClick;\n const hasFileInput = fileInput;\n const tooltipId = `${this.mainTooltipId}-${title}`;\n return (\n
\n \n \n {hasFileInput ? (\n ) : null}\n \n \n
\n );\n })}\n
\n
\n \n );\n }\n}\n\nActionMenu.propTypes = {\n className: PropTypes.string,\n img: PropTypes.string,\n moreButtons: PropTypes.arrayOf(PropTypes.shape({\n img: PropTypes.string,\n title: PropTypes.node.isRequired,\n onClick: PropTypes.func, // Optional, \"coming soon\" if no callback provided\n fileAccept: PropTypes.string, // Optional, only for file upload\n fileChange: PropTypes.func, // Optional, only for file upload\n fileInput: PropTypes.func, // Optional, only for file upload\n fileMultiple: PropTypes.bool // Optional, only for file upload\n })),\n onClick: PropTypes.func.isRequired,\n title: PropTypes.node.isRequired,\n tooltipPlace: PropTypes.string\n};\n\nexport default ActionMenu;\n","module.exports = __webpack_public_path__ + \"static/assets/385aa4b73a425883b4f9e91501a52299.svg\";","module.exports = __webpack_public_path__ + \"static/assets/c3421543ab6c9e154f4294257ce0d078.svg\";","module.exports = __webpack_public_path__ + \"static/assets/e587d9d7e9a2f1f28041ba5c15db7a40.svg\";","module.exports = __webpack_public_path__ + \"static/assets/94b06fb716871f81bec601724e29a457.svg\";","module.exports = __webpack_public_path__ + \"static/assets/551aae506dfa65ce3b45713b5300a678.svg\";","module.exports = __webpack_public_path__ + \"static/assets/497f797eeffe5fa7e6a626abc0db08a1.svg\";","module.exports = __webpack_public_path__ + \"static/assets/301439e2e5ab88b658368ee525e6752b.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {FormattedMessage} from 'react-intl';\n\nimport Box from '../box/box.jsx';\nimport CloseButton from '../close-button/close-button.jsx';\nimport Spinner from '../spinner/spinner.jsx';\nimport {AlertLevels} from '../../lib/alerts/index.jsx';\n\nimport styles from './alert.css';\n\nconst closeButtonColors = {\n [AlertLevels.SUCCESS]: CloseButton.COLOR_GREEN,\n [AlertLevels.WARN]: CloseButton.COLOR_ORANGE\n};\n\nconst AlertComponent = ({\n content,\n closeButton,\n extensionName,\n iconSpinner,\n iconURL,\n level,\n showDownload,\n showSaveNow,\n onCloseAlert,\n onDownload,\n onSaveNow,\n onReconnect,\n showReconnect\n}) => (\n \n {/* TODO: implement Rtl handling */}\n {(iconSpinner || iconURL) && (\n
\n {iconSpinner && (\n \n )}\n {iconURL && (\n \n )}\n
\n )}\n
\n {extensionName ? (\n \n ) : content}\n
\n
\n {showSaveNow && (\n \n \n \n )}\n {showDownload && (\n \n \n \n )}\n {showReconnect && (\n \n \n \n )}\n {closeButton && (\n \n \n \n )}\n
\n \n);\n\nAlertComponent.propTypes = {\n closeButton: PropTypes.bool,\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n extensionName: PropTypes.string,\n iconSpinner: PropTypes.bool,\n iconURL: PropTypes.string,\n level: PropTypes.string,\n onCloseAlert: PropTypes.func.isRequired,\n onDownload: PropTypes.func,\n onReconnect: PropTypes.func,\n onSaveNow: PropTypes.func,\n showDownload: PropTypes.func,\n showReconnect: PropTypes.bool,\n showSaveNow: PropTypes.bool\n};\n\nAlertComponent.defaultProps = {\n level: AlertLevels.WARN\n};\n\nexport default AlertComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Box from '../box/box.jsx';\nimport Alert from '../../containers/alert.jsx';\n\nimport styles from './alerts.css';\n\nconst AlertsComponent = ({\n alertsList,\n className,\n onCloseAlert\n}) => (\n \n \n {alertsList.map((a, index) => (\n \n ))}\n \n \n);\n\nAlertsComponent.propTypes = {\n alertsList: PropTypes.arrayOf(PropTypes.object),\n className: PropTypes.string,\n onCloseAlert: PropTypes.func\n};\n\nexport default AlertsComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Spinner from '../spinner/spinner.jsx';\nimport {AlertLevels} from '../../lib/alerts/index.jsx';\n\nimport styles from './inline-message.css';\n\nconst InlineMessageComponent = ({\n content,\n iconSpinner,\n level\n}) => (\n \n {/* TODO: implement Rtl handling */}\n {iconSpinner && (\n \n )}\n {content}\n \n);\n\nInlineMessageComponent.propTypes = {\n content: PropTypes.element,\n iconSpinner: PropTypes.bool,\n level: PropTypes.string\n};\n\nInlineMessageComponent.defaultProps = {\n level: AlertLevels.INFO\n};\n\nexport default InlineMessageComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Selector from './selector.jsx';\nimport styles from './asset-panel.css';\n\nconst AssetPanel = props => (\n \n \n \n {props.children}\n \n \n);\n\nAssetPanel.propTypes = {\n ...Selector.propTypes\n};\n\nexport default AssetPanel;\n","module.exports = __webpack_public_path__ + \"static/assets/44e4859e354c81d66c73f741df2e5ec7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/c9528ee4be1a12380a6c9caf73bd99e9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/9cfdd378e4cc977fe663ca932e530ec6.svg\";","module.exports = __webpack_public_path__ + \"static/assets/35c6867250ec4f430624bc9e2e7072d7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/38ac2210b486d930f72c951ad081e4c0.svg\";","module.exports = __webpack_public_path__ + \"static/assets/63e5827c1506216bd7c9927a4e5eb558.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport SpriteSelectorItem from '../../containers/sprite-selector-item.jsx';\nimport Box from '../box/box.jsx';\nimport ActionMenu from '../action-menu/action-menu.jsx';\nimport SortableAsset from './sortable-asset.jsx';\nimport SortableHOC from '../../lib/sortable-hoc.jsx';\nimport DragConstants from '../../lib/drag-constants';\n\nimport styles from './selector.css';\n\nconst Selector = props => {\n const {\n buttons,\n containerRef,\n dragType,\n isRtl,\n items,\n selectedItemIndex,\n draggingIndex,\n draggingType,\n ordering,\n onAddSortable,\n onRemoveSortable,\n onDeleteClick,\n onDuplicateClick,\n onExportClick,\n onItemClick\n } = props;\n\n const isRelevantDrag = draggingType === dragType;\n\n let newButtonSection = null;\n\n if (buttons.length > 0) {\n const {img, title, onClick} = buttons[0];\n const moreButtons = buttons.slice(1);\n newButtonSection = (\n \n \n \n );\n }\n\n return (\n \n \n {items.map((item, index) => (\n \n \n \n ))}\n \n {newButtonSection}\n \n );\n};\n\nSelector.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string.isRequired,\n img: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })),\n containerRef: PropTypes.func,\n dragType: PropTypes.oneOf(Object.keys(DragConstants)),\n draggingIndex: PropTypes.number,\n draggingType: PropTypes.oneOf(Object.keys(DragConstants)),\n isRtl: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({\n url: PropTypes.string,\n name: PropTypes.string.isRequired\n })),\n onAddSortable: PropTypes.func,\n onDeleteClick: PropTypes.func,\n onDuplicateClick: PropTypes.func,\n onExportClick: PropTypes.func,\n onItemClick: PropTypes.func.isRequired,\n onRemoveSortable: PropTypes.func,\n ordering: PropTypes.arrayOf(PropTypes.number),\n selectedItemIndex: PropTypes.number.isRequired\n};\n\nexport default SortableHOC(Selector);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport bindAll from 'lodash.bindall';\n\nclass SortableAsset extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'setRef'\n ]);\n }\n componentDidMount () {\n this.props.onAddSortable(this.ref);\n }\n componentWillUnmount () {\n this.props.onRemoveSortable(this.ref);\n }\n setRef (ref) {\n this.ref = ref;\n }\n render () {\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nSortableAsset.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n index: PropTypes.number.isRequired,\n onAddSortable: PropTypes.func.isRequired,\n onRemoveSortable: PropTypes.func.isRequired\n};\n\nexport default SortableAsset;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport SelectionHandle from './selection-handle.jsx';\nimport Playhead from './playhead.jsx';\n\nconst AudioSelector = props => (\n \n {props.trimStart === null ? null : (\n \n \n \n \n \n )}\n {props.playhead ? (\n \n ) : null}\n \n);\n\nAudioSelector.propTypes = {\n containerRef: PropTypes.func,\n onNewSelectionMouseDown: PropTypes.func.isRequired,\n onTrimEndMouseDown: PropTypes.func.isRequired,\n onTrimStartMouseDown: PropTypes.func.isRequired,\n playhead: PropTypes.number,\n trimEnd: PropTypes.number,\n trimStart: PropTypes.number\n};\n\nexport default AudioSelector;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport SelectionHandle from './selection-handle.jsx';\nimport Playhead from './playhead.jsx';\n\nconst AudioTrimmer = props => (\n \n {props.trimStart === null ? null : (\n \n \n \n \n )}\n {props.playhead ? (\n \n ) : null}\n {props.trimEnd === null ? null : (\n \n \n \n \n )}\n \n);\n\nAudioTrimmer.propTypes = {\n containerRef: PropTypes.func,\n onTrimEndMouseDown: PropTypes.func.isRequired,\n onTrimStartMouseDown: PropTypes.func.isRequired,\n playhead: PropTypes.number,\n trimEnd: PropTypes.number,\n trimStart: PropTypes.number\n};\n\nexport default AudioTrimmer;\n","module.exports = __webpack_public_path__ + \"static/assets/610fb87d66b6749aeb96d475ceb62940.svg\";","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport styles from './audio-trimmer.css';\n\nconst Playhead = props => (\n
\n \n
\n);\n\nPlayhead.propTypes = {\n playbackPosition: PropTypes.number\n};\n\nexport default Playhead;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport handleIcon from './icon--handle.svg';\n\nconst SelectionHandle = props => (\n \n \n \n \n \n \n \n \n);\n\nSelectionHandle.propTypes = {\n handleStyle: PropTypes.string,\n onMouseDown: PropTypes.func\n};\n\nexport default SelectionHandle;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {FormattedMessage} from 'react-intl';\nimport DragConstants from '../../lib/drag-constants';\nimport {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx';\nimport SpriteSelectorItem from '../../containers/sprite-selector-item.jsx';\nimport styles from './backpack.css';\n\n// TODO make sprite selector item not require onClick\nconst noop = () => {};\n\nconst dragTypeMap = { // Keys correspond with the backpack-server item types\n costume: DragConstants.BACKPACK_COSTUME,\n sound: DragConstants.BACKPACK_SOUND,\n script: DragConstants.BACKPACK_CODE,\n sprite: DragConstants.BACKPACK_SPRITE\n};\n\nconst Backpack = ({\n blockDragOver,\n containerRef,\n contents,\n dragOver,\n error,\n expanded,\n loading,\n showMore,\n onToggle,\n onDelete,\n onMouseEnter,\n onMouseLeave,\n onMore\n}) => (\n
\n \n {onToggle ? (\n \n ) : (\n \n \n \n )}\n
\n {expanded ? (\n \n {error ? (\n
\n \n
\n ) : (\n loading ? (\n
\n \n
\n ) : (\n contents.length > 0 ? (\n
\n {contents.map(item => (\n \n ))}\n {showMore && (\n \n \n \n )}\n
\n ) : (\n
\n \n
\n )\n )\n )}\n \n ) : null}\n \n);\n\nBackpack.propTypes = {\n blockDragOver: PropTypes.bool,\n containerRef: PropTypes.func,\n contents: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string\n })),\n dragOver: PropTypes.bool,\n error: PropTypes.bool,\n expanded: PropTypes.bool,\n loading: PropTypes.bool,\n onDelete: PropTypes.func,\n onMore: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onToggle: PropTypes.func,\n showMore: PropTypes.bool\n};\n\nBackpack.defaultProps = {\n blockDragOver: false,\n contents: [],\n dragOver: false,\n expanded: false,\n loading: false,\n showMore: false,\n onMore: null,\n onToggle: null\n};\n\nexport default Backpack;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\nimport Box from '../box/box.jsx';\nimport styles from './blocks.css';\n\nconst BlocksComponent = props => {\n const {\n containerRef,\n dragOver,\n ...componentProps\n } = props;\n return (\n \n );\n};\nBlocksComponent.propTypes = {\n containerRef: PropTypes.func,\n dragOver: PropTypes.bool\n};\nexport default BlocksComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport stylePropType from 'react-style-proptype';\nimport styles from './box.css';\n\nconst getRandomColor = (function () {\n // In \"DEBUG\" mode this is used to output a random background color for each\n // box. The function gives the same \"random\" set for each seed, allowing re-\n // renders of the same content to give the same random display.\n const random = (function (seed) {\n let mW = seed;\n let mZ = 987654321;\n const mask = 0xffffffff;\n return function () {\n mZ = ((36969 * (mZ & 65535)) + (mZ >> 16)) & mask;\n mW = ((18000 * (mW & 65535)) + (mW >> 16)) & mask;\n let result = ((mZ << 16) + mW) & mask;\n result /= 4294967296;\n return result + 1;\n };\n }(601));\n return function () {\n const r = Math.max(parseInt(random() * 100, 10) % 256, 1);\n const g = Math.max(parseInt(random() * 100, 10) % 256, 1);\n const b = Math.max(parseInt(random() * 100, 10) % 256, 1);\n return `rgb(${r},${g},${b})`;\n };\n}());\n\nconst Box = props => {\n const {\n alignContent,\n alignItems,\n alignSelf,\n basis,\n children,\n className,\n componentRef,\n direction,\n element,\n grow,\n height,\n justifyContent,\n width,\n wrap,\n shrink,\n style,\n ...componentProps\n } = props;\n return React.createElement(element, {\n className: classNames(className, styles.box),\n ref: componentRef,\n style: Object.assign(\n {\n alignContent: alignContent,\n alignItems: alignItems,\n alignSelf: alignSelf,\n flexBasis: basis,\n flexDirection: direction,\n flexGrow: grow,\n flexShrink: shrink,\n flexWrap: wrap,\n justifyContent: justifyContent,\n width: width,\n height: height\n },\n process.env.DEBUG ? {\n backgroundColor: getRandomColor(),\n outline: `1px solid black`\n } : {},\n style\n ),\n ...componentProps\n }, children);\n};\nBox.propTypes = {\n /** Defines how the browser distributes space between and around content items vertically within this box. */\n alignContent: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'stretch'\n ]),\n /** Defines how the browser distributes space between and around flex items horizontally within this box. */\n alignItems: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'\n ]),\n /** Specifies how this box should be aligned inside of its container (requires the container to be flexable). */\n alignSelf: PropTypes.oneOf([\n 'auto', 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'\n ]),\n /** Specifies the initial length of this box */\n basis: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['auto'])\n ]),\n /** Specifies the the HTML nodes which will be child elements of this box. */\n children: PropTypes.node,\n /** Specifies the class name that will be set on this box */\n className: PropTypes.string,\n /**\n * A callback function whose first parameter is the underlying dom elements.\n * This call back will be executed immediately after the component is mounted or unmounted\n */\n componentRef: PropTypes.func,\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction */\n direction: PropTypes.oneOf([\n 'row', 'row-reverse', 'column', 'column-reverse'\n ]),\n /** Specifies the type of HTML element of this box. Defaults to div. */\n element: PropTypes.string,\n /** Specifies the flex grow factor of a flex item. */\n grow: PropTypes.number,\n /** The height in pixels (if specified as a number) or a string if different units are required. */\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content */\n justifyContent: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'space-between', 'space-around'\n ]),\n /** Specifies the flex shrink factor of a flex item. */\n shrink: PropTypes.number,\n /** An object whose keys are css property names and whose values correspond the the css property. */\n style: stylePropType,\n /** The width in pixels (if specified as a number) or a string if different units are required. */\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n /** How whitespace should wrap within this block. */\n wrap: PropTypes.oneOf([\n 'nowrap', 'wrap', 'wrap-reverse'\n ])\n};\nBox.defaultProps = {\n element: 'div',\n style: {}\n};\nexport default Box;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactModal from 'react-modal';\nimport Box from '../box/box.jsx';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\n\nimport styles from './browser-modal.css';\nimport unhappyBrowser from './unsupported-browser.svg';\n\nconst messages = defineMessages({\n label: {\n id: 'gui.unsupportedBrowser.label',\n defaultMessage: 'Browser is not supported',\n description: ''\n },\n error: {\n id: 'gui.unsupportedBrowser.errorLabel',\n defaultMessage: 'An Error Occurred',\n description: 'Heading shown when there is an unhandled exception in an unsupported browser'\n }\n});\n\nconst BrowserModal = ({intl, ...props}) => {\n const label = props.error ? messages.error : messages.label;\n return (\n \n
\n \n \n \n\n \n

\n \n

\n

\n { /* eslint-disable max-len */ }\n {\n props.error ? : \n }\n { /* eslint-enable max-len */ }\n

\n\n \n \n \n \n\n \n
\n \n \n \n )\n }}\n />\n
\n
\n
\n \n );\n};\n\nBrowserModal.propTypes = {\n error: PropTypes.bool,\n intl: intlShape.isRequired,\n isRtl: PropTypes.bool,\n onBack: PropTypes.func.isRequired\n};\n\nBrowserModal.defaultProps = {\n error: false\n};\n\nconst WrappedBrowserModal = injectIntl(BrowserModal);\n\nWrappedBrowserModal.setAppElement = ReactModal.setAppElement;\n\nexport default WrappedBrowserModal;\n","module.exports = __webpack_public_path__ + \"static/assets/89a5687599f173f2b910aa5fcd862b42.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './button.css';\n\nconst ButtonComponent = ({\n className,\n disabled,\n iconClassName,\n iconSrc,\n onClick,\n children,\n ...props\n}) => {\n\n if (disabled) {\n onClick = function () {};\n }\n\n const icon = iconSrc && (\n \n );\n\n return (\n \n {icon}\n
{children}
\n \n );\n};\n\nButtonComponent.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n iconClassName: PropTypes.string,\n iconSrc: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport default ButtonComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./camera-modal.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./camera-modal.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./camera-modal.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, injectIntl, intlShape} from 'react-intl';\nimport Box from '../box/box.jsx';\nimport Modal from '../../containers/modal.jsx';\nimport styles from './camera-modal.css';\nimport backIcon from './icon--back.svg';\nimport cameraIcon from '../action-menu/icon--camera.svg';\n\nconst messages = defineMessages({\n cameraModalTitle: {\n defaultMessage: 'Take a Photo',\n description: 'Title for prompt to take a picture (to add as a new costume).',\n id: 'gui.cameraModal.cameraModalTitle'\n },\n loadingCameraMessage: {\n defaultMessage: 'Loading Camera...',\n description: 'Notification to the user that the camera is loading',\n id: 'gui.cameraModal.loadingCameraMessage'\n },\n permissionRequest: {\n defaultMessage: 'We need your permission to use your camera',\n description: 'Notification to the user that the app needs camera access',\n id: 'gui.cameraModal.permissionRequest'\n },\n retakePhoto: {\n defaultMessage: 'Retake Photo',\n description: 'A button that allows the user to take the picture again, replacing the old one',\n id: 'gui.cameraModal.retakePhoto'\n },\n save: {\n defaultMessage: 'Save',\n description: 'A button that allows the user to save the photo they took as a costume',\n id: 'gui.cameraModal.save'\n },\n takePhotoButton: {\n defaultMessage: 'Take Photo',\n description: 'A button to take a photo',\n id: 'gui.cameraModal.takePhoto'\n },\n loadingCaption: {\n defaultMessage: 'Loading...',\n description: 'A caption for a disabled button while the video from the camera is still loading',\n id: 'gui.cameraModal.loadingCaption'\n },\n enableCameraCaption: {\n defaultMessage: 'Enable Camera',\n description: 'A caption for a disabled button prompting the user to enable camera access',\n id: 'gui.cameraModal.enableCameraCaption'\n }\n});\n\nconst CameraModal = ({intl, ...props}) => (\n \n \n \n
\n {props.access ? intl.formatMessage(messages.loadingCameraMessage) :\n `↖️ \\u00A0${intl.formatMessage(messages.permissionRequest)}`}\n
\n \n {props.capture ? (\n
\n ) : null}\n \n {props.capture ?\n \n \n {intl.formatMessage(messages.retakePhoto)}\n \n {intl.formatMessage(messages.save)}\n \n :\n \n \n \n \n
\n {props.access ?\n \n {props.loaded ?\n intl.formatMessage(messages.takePhotoButton) :\n intl.formatMessage(messages.loadingCaption)}\n :\n \n {intl.formatMessage(messages.enableCameraCaption)}\n \n }\n
\n\n
\n }\n \n \n);\n\nCameraModal.propTypes = {\n access: PropTypes.bool,\n canvasRef: PropTypes.func.isRequired,\n capture: PropTypes.string,\n intl: intlShape.isRequired,\n loaded: PropTypes.bool,\n onBack: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onCapture: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired\n};\n\nexport default injectIntl(CameraModal);\n","module.exports = __webpack_public_path__ + \"static/assets/21988681fa28c8ce37982ca26463a6f5.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React, {Fragment} from 'react';\nimport classNames from 'classnames';\nimport {FormattedMessage} from 'react-intl';\nimport Draggable from 'react-draggable';\n\nimport styles from './card.css';\n\nimport shrinkIcon from './icon--shrink.svg';\nimport expandIcon from './icon--expand.svg';\n\nimport rightArrow from './icon--next.svg';\nimport leftArrow from './icon--prev.svg';\n\nimport helpIcon from '../../lib/assets/icon--tutorials.svg';\nimport closeIcon from './icon--close.svg';\n\nimport {translateVideo} from '../../lib/libraries/decks/translate-video.js';\nimport {translateImage} from '../../lib/libraries/decks/translate-image.js';\n\nconst CardHeader = ({onCloseCards, onShrinkExpandCards, onShowAll, totalSteps, step, expanded}) => (\n
\n \n \n \n
\n {totalSteps > 1 ? (\n
\n {Array(totalSteps).fill(0)\n .map((_, i) => (\n \n ))}\n
\n ) : null}\n
\n \n \n {expanded ?\n :\n \n }\n
\n \n \n \n
\n \n \n);\n\nclass VideoStep extends React.Component {\n\n componentDidMount () {\n const script = document.createElement('script');\n script.src = `https://fast.wistia.com/embed/medias/${this.props.video}.jsonp`;\n script.async = true;\n script.setAttribute('id', 'wistia-video-content');\n document.body.appendChild(script);\n\n const script2 = document.createElement('script');\n script2.src = 'https://fast.wistia.com/assets/external/E-v1.js';\n script2.async = true;\n script2.setAttribute('id', 'wistia-video-api');\n document.body.appendChild(script2);\n }\n\n // We use the Wistia API here to update or pause the video dynamically:\n // https://wistia.com/support/developers/player-api\n componentDidUpdate (prevProps) {\n // Ensure the wistia API is loaded and available\n if (!(window.Wistia && window.Wistia.api)) return;\n\n // Get a handle on the currently loaded video\n const video = window.Wistia.api(prevProps.video);\n\n // Reset the video source if a new video has been chosen from the library\n if (prevProps.video !== this.props.video) {\n video.replaceWith(this.props.video);\n }\n\n // Pause the video if the modal is being shrunken\n if (!this.props.expanded) {\n video.pause();\n }\n }\n\n componentWillUnmount () {\n const script = document.getElementById('wistia-video-content');\n script.parentNode.removeChild(script);\n\n const script2 = document.getElementById('wistia-video-api');\n script2.parentNode.removeChild(script2);\n }\n\n render () {\n return (\n
\n \n  \n
\n \n );\n }\n}\n\nVideoStep.propTypes = {\n expanded: PropTypes.bool.isRequired,\n video: PropTypes.string.isRequired\n};\n\nconst ImageStep = ({title, image}) => (\n \n
\n {title}\n
\n
\n \n
\n
\n);\n\nImageStep.propTypes = {\n image: PropTypes.string.isRequired,\n title: PropTypes.node.isRequired\n};\n\nconst NextPrevButtons = ({isRtl, onNextStep, onPrevStep, expanded}) => (\n \n {onNextStep ? (\n
\n
\n \n \n
\n
\n ) : null}\n {onPrevStep ? (\n
\n
\n \n \n
\n
\n ) : null}\n
\n);\n\nNextPrevButtons.propTypes = {\n expanded: PropTypes.bool.isRequired,\n isRtl: PropTypes.bool,\n onNextStep: PropTypes.func,\n onPrevStep: PropTypes.func\n};\nCardHeader.propTypes = {\n expanded: PropTypes.bool.isRequired,\n onCloseCards: PropTypes.func.isRequired,\n onShowAll: PropTypes.func.isRequired,\n onShrinkExpandCards: PropTypes.func.isRequired,\n step: PropTypes.number,\n totalSteps: PropTypes.number\n};\n\nconst PreviewsStep = ({deckIds, content, onActivateDeckFactory, onShowAll}) => (\n \n
\n \n
\n
\n {deckIds.slice(0, 2).map(id => (\n \n \n
{content[id].name}
\n
\n ))}\n \n
\n \n \n
\n \n
\n);\n\nPreviewsStep.propTypes = {\n content: PropTypes.shape({\n id: PropTypes.shape({\n name: PropTypes.node.isRequired,\n img: PropTypes.string.isRequired,\n steps: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.node,\n image: PropTypes.string,\n video: PropTypes.string,\n deckIds: PropTypes.arrayOf(PropTypes.string)\n }))\n })\n }).isRequired,\n deckIds: PropTypes.arrayOf(PropTypes.string).isRequired,\n onActivateDeckFactory: PropTypes.func.isRequired,\n onShowAll: PropTypes.func.isRequired\n};\n\nconst Cards = props => {\n const {\n activeDeckId,\n content,\n dragging,\n isRtl,\n locale,\n onActivateDeckFactory,\n onCloseCards,\n onShrinkExpandCards,\n onDrag,\n onStartDrag,\n onEndDrag,\n onShowAll,\n onNextStep,\n onPrevStep,\n showVideos,\n step,\n expanded,\n ...posProps\n } = props;\n let {x, y} = posProps;\n\n if (activeDeckId === null) return;\n\n // Tutorial cards need to calculate their own dragging bounds\n // to allow for dragging the cards off the left, right and bottom\n // edges of the workspace.\n const cardHorizontalDragOffset = 400; // ~80% of card width\n const cardVerticalDragOffset = expanded ? 257 : 0; // ~80% of card height, if expanded\n const menuBarHeight = 48; // TODO: get pre-calculated from elsewhere?\n const wideCardWidth = 500;\n\n if (x === 0 && y === 0) {\n // initialize positions\n x = isRtl ? (-190 - wideCardWidth - cardHorizontalDragOffset) : 292;\n x += cardHorizontalDragOffset;\n // The tallest cards are about 320px high, and the default position is pinned\n // to near the bottom of the blocks palette to allow room to work above.\n const tallCardHeight = 320;\n const bottomMargin = 60; // To avoid overlapping the backpack region\n y = window.innerHeight - tallCardHeight - bottomMargin - menuBarHeight;\n }\n\n const steps = content[activeDeckId].steps;\n\n return (\n // Custom overlay to act as the bounding parent for the draggable, using values from above\n \n \n
\n
\n \n
\n {steps[step].deckIds ? (\n \n ) : (\n steps[step].video ? (\n showVideos ? (\n \n ) : ( // Else show the deck image and title\n \n )\n ) : (\n \n )\n )}\n {steps[step].trackingPixel && steps[step].trackingPixel}\n
\n 0 ? onPrevStep : null}\n />\n
\n
\n \n \n );\n};\n\nCards.propTypes = {\n activeDeckId: PropTypes.string.isRequired,\n content: PropTypes.shape({\n id: PropTypes.shape({\n name: PropTypes.node.isRequired,\n img: PropTypes.string.isRequired,\n steps: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.node,\n image: PropTypes.string,\n video: PropTypes.string,\n deckIds: PropTypes.arrayOf(PropTypes.string)\n }))\n })\n }),\n dragging: PropTypes.bool.isRequired,\n expanded: PropTypes.bool.isRequired,\n isRtl: PropTypes.bool.isRequired,\n locale: PropTypes.string.isRequired,\n onActivateDeckFactory: PropTypes.func.isRequired,\n onCloseCards: PropTypes.func.isRequired,\n onDrag: PropTypes.func,\n onEndDrag: PropTypes.func,\n onNextStep: PropTypes.func.isRequired,\n onPrevStep: PropTypes.func.isRequired,\n onShowAll: PropTypes.func,\n onShrinkExpandCards: PropTypes.func.isRequired,\n onStartDrag: PropTypes.func,\n showVideos: PropTypes.bool,\n step: PropTypes.number.isRequired,\n x: PropTypes.number,\n y: PropTypes.number\n};\n\nCards.defaultProps = {\n showVideos: true\n};\n\nexport {\n Cards as default,\n // Others exported for testability\n ImageStep,\n VideoStep\n};\n","module.exports = __webpack_public_path__ + \"static/assets/a3e689235188ba10c5cfd75730cb88a7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/04e28ba12fe914cf4f131dcb85ae82d6.svg\";","module.exports = __webpack_public_path__ + \"static/assets/a80790c977586cc0595b5fe2f0bcb39a.svg\";","module.exports = __webpack_public_path__ + \"static/assets/33592a76d0d0fdaa4a32b2ea41db5e16.svg\";","module.exports = __webpack_public_path__ + \"static/assets/76121b7f4eff7d7ca0d49a45479d3f3f.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './close-button.css';\nimport closeIcon from './icon--close.svg';\nimport closeIconOrange from './icon--close-orange.svg';\nimport backIcon from '../../lib/assets/icon--back.svg';\n\nlet closeIcons = {};\n\nconst CloseButton = props => (\n \n {props.buttonType === 'back' ?\n :\n \n }\n \n);\n\nCloseButton.SIZE_SMALL = 'small';\nCloseButton.SIZE_LARGE = 'large';\n\nCloseButton.COLOR_NEUTRAL = 'neutral';\nCloseButton.COLOR_GREEN = 'green';\nCloseButton.COLOR_ORANGE = 'orange';\ncloseIcons = {\n [CloseButton.COLOR_NEUTRAL]: closeIcon,\n [CloseButton.COLOR_GREEN]: closeIcon, // TODO: temporary, need green icon\n [CloseButton.COLOR_ORANGE]: closeIconOrange\n};\n\n\nCloseButton.propTypes = {\n buttonType: PropTypes.oneOf(['back', 'close']),\n className: PropTypes.string,\n color: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n size: PropTypes.oneOf([CloseButton.SIZE_SMALL, CloseButton.SIZE_LARGE])\n};\n\nCloseButton.defaultProps = {\n color: CloseButton.COLOR_NEUTRAL,\n size: CloseButton.SIZE_LARGE,\n buttonType: 'close'\n};\n\nexport default CloseButton;\n","module.exports = __webpack_public_path__ + \"static/assets/ee54d776d2cda9a3c537ac7e8f144037.svg\";","module.exports = __webpack_public_path__ + \"static/assets/cb666b99d3528f91b52f985dfb102afa.svg\";","module.exports = __webpack_public_path__ + \"static/assets/97926439955086f8ee4aabbd81580f17.png\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import bindAll from 'lodash.bindall';\nimport classNames from 'classnames';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport styles from './coming-soon.css';\n\nimport awwCatIcon from './aww-cat.png';\nimport coolCatIcon from './cool-cat.png';\n\nconst messages = defineMessages({\n message1: {\n defaultMessage: 'Don\\'t worry, we\\'re on it {emoji}',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message1'\n },\n message2: {\n defaultMessage: 'Coming Soon...',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message2'\n },\n message3: {\n defaultMessage: 'We\\'re working on it {emoji}',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message3'\n }\n});\n\nclass ComingSoonContent extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'setHide',\n 'setShow',\n 'getRandomMessage'\n ]);\n this.state = {\n isShowing: false\n };\n }\n setShow () {\n // needed to set the opacity to 1, since the default is .9 on show\n this.setState({isShowing: true});\n }\n setHide () {\n this.setState({isShowing: false});\n }\n getRandomMessage () {\n // randomly chooses a messages from `messages` to display in the tooltip.\n const images = [awwCatIcon, coolCatIcon];\n const messageNumber = Math.floor(Math.random() * Object.keys(messages).length) + 1;\n const imageNumber = Math.floor(Math.random() * Object.keys(images).length);\n return (\n \n )\n }}\n />\n );\n }\n render () {\n return (\n \n );\n }\n}\n\nComingSoonContent.propTypes = {\n className: PropTypes.string,\n intl: intlShape,\n place: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n tooltipId: PropTypes.string.isRequired\n};\n\nComingSoonContent.defaultProps = {\n place: 'bottom'\n};\n\nconst ComingSoon = injectIntl(ComingSoonContent);\n\nconst ComingSoonTooltip = props => (\n
\n \n {props.children}\n
\n \n \n);\n\nComingSoonTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n delayHide: PropTypes.number,\n delayShow: PropTypes.number,\n place: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n tooltipClassName: PropTypes.string,\n tooltipId: PropTypes.string.isRequired\n};\n\nComingSoonTooltip.defaultProps = {\n delayHide: 0,\n delayShow: 0\n};\n\nexport {\n ComingSoon as ComingSoonComponent,\n ComingSoonTooltip\n};\n","module.exports = __webpack_public_path__ + \"static/assets/3e83d9d800459175308f0b45b117af16.png\";","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport keyMirror from 'keymirror';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\n\nimport closeIcon from '../close-button/icon--close.svg';\n\nimport radarIcon from './icons/searching.png';\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport backIcon from './icons/back.svg';\n\nimport styles from './connection-modal.css';\n\nconst PHASES = keyMirror({\n prescan: null,\n pressbutton: null,\n notfound: null\n});\n\nconst AutoScanningStep = props => (\n \n \n
\n
\n {props.phase === PHASES.prescan && (\n \n \n \n \n )}\n {props.phase === PHASES.pressbutton && (\n \n \n \n \n )}\n {props.phase === PHASES.notfound && (\n \n \n \n )}\n
\n
\n
\n \n \n {props.phase === PHASES.prescan && (\n \n )}\n {props.phase === PHASES.pressbutton && (\n \n )}\n \n \n \n {props.phase === PHASES.prescan && (\n \n \n \n )}\n {props.phase === PHASES.pressbutton && (\n
\n \n \n \n \n \n \n
\n )}\n {props.phase === PHASES.notfound && (\n \n \n \n \n )}\n
\n
\n
\n);\n\nAutoScanningStep.propTypes = {\n connectionTipIconURL: PropTypes.string,\n onRefresh: PropTypes.func,\n onStartScan: PropTypes.func,\n phase: PropTypes.oneOf(Object.keys(PHASES))\n};\n\nAutoScanningStep.defaultProps = {\n phase: PHASES.prescan\n};\n\nexport {\n AutoScanningStep as default,\n PHASES\n};\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport styles from './connection-modal.css';\nimport classNames from 'classnames';\n\nconst ConnectedStep = props => (\n \n \n \n
\n \n \n
\n
\n
\n \n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n
\n);\n\nConnectedStep.propTypes = {\n connectionIconURL: PropTypes.string.isRequired,\n onCancel: PropTypes.func,\n onDisconnect: PropTypes.func\n};\n\nexport default ConnectedStep;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\n\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport closeIcon from '../close-button/icon--close.svg';\n\nimport styles from './connection-modal.css';\n\nconst ConnectingStep = props => (\n \n \n \n
\n \n \n
\n
\n
\n \n \n {props.connectingMessage}\n \n \n
\n \n \n \n \n \n \n
\n
\n
\n);\n\nConnectingStep.propTypes = {\n connectingMessage: PropTypes.node.isRequired,\n connectionIconURL: PropTypes.string.isRequired,\n onDisconnect: PropTypes.func\n};\n\nexport default ConnectingStep;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport keyMirror from 'keymirror';\n\nimport Box from '../box/box.jsx';\nimport Modal from '../../containers/modal.jsx';\n\nimport ScanningStep from '../../containers/scanning-step.jsx';\nimport AutoScanningStep from '../../containers/auto-scanning-step.jsx';\nimport ConnectingStep from './connecting-step.jsx';\nimport ConnectedStep from './connected-step.jsx';\nimport ErrorStep from './error-step.jsx';\nimport UnavailableStep from './unavailable-step.jsx';\n\nimport styles from './connection-modal.css';\n\nconst PHASES = keyMirror({\n scanning: null,\n connecting: null,\n connected: null,\n error: null,\n unavailable: null\n});\n\nconst ConnectionModalComponent = props => (\n \n \n {props.phase === PHASES.scanning && !props.useAutoScan && }\n {props.phase === PHASES.scanning && props.useAutoScan && }\n {props.phase === PHASES.connecting && }\n {props.phase === PHASES.connected && }\n {props.phase === PHASES.error && }\n {props.phase === PHASES.unavailable && }\n \n \n);\n\nConnectionModalComponent.propTypes = {\n connectingMessage: PropTypes.node.isRequired,\n connectionSmallIconURL: PropTypes.string,\n connectionTipIconURL: PropTypes.string,\n name: PropTypes.node,\n onCancel: PropTypes.func.isRequired,\n onHelp: PropTypes.func.isRequired,\n phase: PropTypes.oneOf(Object.keys(PHASES)).isRequired,\n title: PropTypes.string.isRequired,\n useAutoScan: PropTypes.bool.isRequired\n};\n\nConnectionModalComponent.defaultProps = {\n connectingMessage: 'Connecting'\n};\n\nexport {\n ConnectionModalComponent as default,\n PHASES\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport styles from './connection-modal.css';\n\nconst Dots = props => (\n \n \n {Array(props.total).fill(0)\n .map((_, i) => {\n let type = 'inactive';\n if (props.counter === i) type = 'active';\n if (props.success) type = 'success';\n if (props.error) type = 'error';\n return ();\n })}\n \n
\n);\n\nDots.propTypes = {\n className: PropTypes.string,\n counter: PropTypes.number,\n error: PropTypes.bool,\n success: PropTypes.bool,\n total: PropTypes.number\n};\n\nconst Dot = props => (\n \n);\n\nDot.propTypes = {\n type: PropTypes.string\n};\n\nexport default Dots;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport helpIcon from './icons/help.svg';\nimport backIcon from './icons/back.svg';\n\nimport styles from './connection-modal.css';\n\nconst ErrorStep = props => (\n \n \n \n
\n \n
\n
\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n);\n\nErrorStep.propTypes = {\n connectionIconURL: PropTypes.string.isRequired,\n onHelp: PropTypes.func,\n onScanning: PropTypes.func\n};\n\nexport default ErrorStep;\n","module.exports = __webpack_public_path__ + \"static/assets/42157e6edddc19588c3c2ff188703799.svg\";","module.exports = __webpack_public_path__ + \"static/assets/0fd9fd69a38ab79358df5a77b29702c8.svg\";","module.exports = __webpack_public_path__ + \"static/assets/8b8f2d052b4092ec47ad66c30c8b1642.svg\";","module.exports = __webpack_public_path__ + \"static/assets/4b6100c9f591be6470cdfd4697de0b54.svg\";","module.exports = __webpack_public_path__ + \"static/assets/71655cde34ae75f48cb8820abf4b31e7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/05e05756b592740a3670417b4df19ca9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/572a212c2e777e3a9061c97453497009.png\";","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\nimport bindAll from 'lodash.bindall';\nimport Box from '../box/box.jsx';\n\nimport styles from './connection-modal.css';\n\nclass PeripheralTile extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleConnecting'\n ]);\n }\n handleConnecting () {\n this.props.onConnecting(this.props.peripheralId);\n }\n render () {\n return (\n \n \n \n \n \n \n \n \n {this.props.name}\n \n \n \n \n \n -80\n })}\n />\n -60\n })}\n />\n -40\n })}\n />\n -20\n })}\n />\n \n \n \n \n \n \n );\n }\n}\n\nPeripheralTile.propTypes = {\n connectionSmallIconURL: PropTypes.string,\n name: PropTypes.string,\n onConnecting: PropTypes.func,\n peripheralId: PropTypes.string,\n rssi: PropTypes.number\n};\n\nexport default PeripheralTile;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport PeripheralTile from './peripheral-tile.jsx';\nimport Dots from './dots.jsx';\n\nimport radarIcon from './icons/searching.png';\nimport refreshIcon from './icons/refresh.svg';\n\nimport styles from './connection-modal.css';\n\nconst ScanningStep = props => (\n \n \n {props.scanning ? (\n props.peripheralList.length === 0 ? (\n
\n
\n \n \n
\n
\n ) : (\n
\n {props.peripheralList.map(peripheral =>\n ()\n )}\n
\n )\n ) : (\n \n \n \n )}\n
\n \n \n \n \n \n \n \n \n \n \n
\n);\n\nScanningStep.propTypes = {\n connectionSmallIconURL: PropTypes.string,\n onConnecting: PropTypes.func,\n onRefresh: PropTypes.func,\n peripheralList: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n rssi: PropTypes.number,\n peripheralId: PropTypes.string\n })),\n scanning: PropTypes.bool.isRequired\n};\n\nScanningStep.defaultProps = {\n peripheralList: [],\n scanning: true\n};\n\nexport default ScanningStep;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport helpIcon from './icons/help.svg';\nimport backIcon from './icons/back.svg';\nimport bluetoothIcon from './icons/bluetooth.svg';\nimport scratchLinkIcon from './icons/scratchlink.svg';\n\nimport styles from './connection-modal.css';\n\nconst UnavailableStep = props => (\n \n \n
\n
\n
\n {'1'}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n {'2'}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);\n\nUnavailableStep.propTypes = {\n onHelp: PropTypes.func,\n onScanning: PropTypes.func\n};\n\nexport default UnavailableStep;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport {ContextMenu, MenuItem} from 'react-contextmenu';\nimport classNames from 'classnames';\n\nimport styles from './context-menu.css';\n\nconst StyledContextMenu = props => (\n \n);\n\nconst StyledMenuItem = props => (\n \n);\n\nconst BorderedMenuItem = props => (\n \n);\n\nconst DangerousMenuItem = props => (\n \n);\n\n\nexport {\n BorderedMenuItem,\n DangerousMenuItem,\n StyledContextMenu as ContextMenu,\n StyledMenuItem as MenuItem\n};\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, injectIntl, intlShape} from 'react-intl';\n\nimport GreenFlag from '../green-flag/green-flag.jsx';\nimport StopAll from '../stop-all/stop-all.jsx';\nimport TurboMode from '../turbo-mode/turbo-mode.jsx';\n\nimport styles from './controls.css';\n\nconst messages = defineMessages({\n goTitle: {\n id: 'gui.controls.go',\n defaultMessage: 'Go',\n description: 'Green flag button title'\n },\n stopTitle: {\n id: 'gui.controls.stop',\n defaultMessage: 'Stop',\n description: 'Stop button title'\n }\n});\n\nconst Controls = function (props) {\n const {\n active,\n className,\n intl,\n onGreenFlagClick,\n onStopAllClick,\n turbo,\n ...componentProps\n } = props;\n return (\n \n \n \n {turbo ? (\n \n ) : null}\n \n );\n};\n\nControls.propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n intl: intlShape.isRequired,\n onGreenFlagClick: PropTypes.func.isRequired,\n onStopAllClick: PropTypes.func.isRequired,\n turbo: PropTypes.bool\n};\n\nControls.defaultProps = {\n active: false,\n turbo: false\n};\n\nexport default injectIntl(Controls);\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Box from '../box/box.jsx';\nimport {FormattedMessage} from 'react-intl';\n\nimport styles from './crash-message.css';\nimport reloadIcon from './reload.svg';\n\nconst CrashMessage = props => (\n
\n \n \n

\n \n

\n

\n \n

\n {props.eventId && (\n

\n \n

\n )}\n \n \n \n
\n
\n);\n\nCrashMessage.propTypes = {\n eventId: PropTypes.string,\n onReload: PropTypes.func.isRequired\n};\n\nexport default CrashMessage;\n","module.exports = __webpack_public_path__ + \"static/assets/dd98971c2c185caf86144b6b5234d0fa.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Modal from '../../containers/modal.jsx';\nimport Box from '../box/box.jsx';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\n\nimport booleanInputIcon from './icon--boolean-input.svg';\nimport textInputIcon from './icon--text-input.svg';\nimport labelIcon from './icon--label.svg';\n\nimport styles from './custom-procedures.css';\n\nconst messages = defineMessages({\n myblockModalTitle: {\n defaultMessage: 'Make a Block',\n description: 'Title for the modal where you create a custom block.',\n id: 'gui.customProcedures.myblockModalTitle'\n }\n});\n\nconst CustomProcedures = props => (\n \n \n \n
\n \n \n
\n \n
\n
\n \n
\n
\n \n \n
\n \n
\n
\n \n
\n \n \n \n
\n \n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n);\n\nCustomProcedures.propTypes = {\n componentRef: PropTypes.func.isRequired,\n intl: intlShape,\n onAddBoolean: PropTypes.func.isRequired,\n onAddLabel: PropTypes.func.isRequired,\n onAddTextNumber: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n onToggleWarp: PropTypes.func.isRequired,\n warp: PropTypes.bool.isRequired\n};\n\nexport default injectIntl(CustomProcedures);\n","module.exports = __webpack_public_path__ + \"static/assets/10811a978de201353d564df7ba1ddb58.svg\";","module.exports = __webpack_public_path__ + \"static/assets/8beb9da10f72d02b48baf0b24ac72449.svg\";","module.exports = __webpack_public_path__ + \"static/assets/2a70b21aaaed0619bdfcdec91db1ebe8.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './delete-button.css';\nimport deleteIcon from './icon--delete.svg';\n\nconst DeleteButton = props => (\n \n
\n \n
\n \n\n);\n\nDeleteButton.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n tabIndex: PropTypes.number\n};\n\nDeleteButton.defaultProps = {\n tabIndex: 0\n};\n\nexport default DeleteButton;\n","module.exports = __webpack_public_path__ + \"static/assets/a5787bb7364d8131ed49a8f53037d7f4.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport bindAll from 'lodash.bindall';\nimport React from 'react';\nimport {getEventXY} from '../../lib/touch-utils';\n\nimport styles from './dial.css';\n\nimport dialFace from './icon--dial.svg';\nimport dialHandle from './icon--handle.svg';\n\nclass Dial extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleMouseDown',\n 'handleMouseMove',\n 'containerRef',\n 'handleRef',\n 'unbindMouseEvents'\n ]);\n }\n\n componentDidMount () {\n // Manually add touch/mouse handlers so that preventDefault can be used\n // to prevent scrolling on touch.\n // Tracked as a react issue https://github.com/facebook/react/issues/6436\n this.handleElement.addEventListener('mousedown', this.handleMouseDown);\n this.handleElement.addEventListener('touchstart', this.handleMouseDown);\n }\n\n componentWillUnmount () {\n this.unbindMouseEvents();\n this.handleElement.removeEventListener('mousedown', this.handleMouseDown);\n this.handleElement.removeEventListener('touchstart', this.handleMouseDown);\n }\n\n /**\n * Get direction from dial center to mouse move event.\n * @param {Event} e - Mouse move event.\n * @returns {number} Direction in degrees, clockwise, 90=horizontal.\n */\n directionToMouseEvent (e) {\n const {x: mx, y: my} = getEventXY(e);\n const bbox = this.containerElement.getBoundingClientRect();\n const cy = bbox.top + (bbox.height / 2);\n const cx = bbox.left + (bbox.width / 2);\n const angle = Math.atan2(my - cy, mx - cx);\n const degrees = angle * (180 / Math.PI);\n return degrees + 90; // To correspond with scratch coordinate system\n }\n\n /**\n * Create SVG path data string for the dial \"gauge\", the overlaid arc slice.\n * @param {number} radius - The radius of the dial.\n * @param {number} direction - Direction in degrees, clockwise, 90=horizontal.\n * @returns {string} Path data string for the gauge.\n */\n gaugePath (radius, direction) {\n const rads = (direction) * (Math.PI / 180);\n const path = [];\n path.push(`M ${radius} 0`);\n path.push(`L ${radius} ${radius}`);\n path.push(`L ${radius + (radius * Math.sin(rads))} ${radius - (radius * Math.cos(rads))}`);\n path.push(`A ${radius} ${radius} 0 0 ${direction < 0 ? 1 : 0} ${radius} 0`);\n path.push(`Z`);\n return path.join(' ');\n }\n\n handleMouseMove (e) {\n this.props.onChange(this.directionToMouseEvent(e) + this.directionOffset);\n e.preventDefault();\n }\n\n unbindMouseEvents () {\n window.removeEventListener('mousemove', this.handleMouseMove);\n window.removeEventListener('mouseup', this.unbindMouseEvents);\n window.removeEventListener('touchmove', this.handleMouseMove);\n window.removeEventListener('touchend', this.unbindMouseEvents);\n }\n\n handleMouseDown (e) {\n // Because the drag handle is not a single point, there is some initial\n // difference between the current sprite direction and the direction to the mouse\n // Store this offset to prevent jumping when the mouse is moved.\n this.directionOffset = this.props.direction - this.directionToMouseEvent(e);\n window.addEventListener('mousemove', this.handleMouseMove);\n window.addEventListener('mouseup', this.unbindMouseEvents);\n window.addEventListener('touchmove', this.handleMouseMove);\n window.addEventListener('touchend', this.unbindMouseEvents);\n e.preventDefault();\n }\n\n containerRef (el) {\n this.containerElement = el;\n }\n\n handleRef (el) {\n this.handleElement = el;\n }\n\n render () {\n const {direction, radius} = this.props;\n return (\n
\n \n \n \n \n \n \n
\n \n );\n }\n}\n\nDial.propTypes = {\n direction: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n radius: PropTypes.number\n};\n\nDial.defaultProps = {\n direction: 90, // degrees\n radius: 56 // px\n};\n\nexport default Dial;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Popover from 'react-popover';\nimport {injectIntl, intlShape, defineMessages, FormattedMessage} from 'react-intl';\n\nimport Label from '../forms/label.jsx';\nimport Input from '../forms/input.jsx';\nimport BufferedInputHOC from '../forms/buffered-input-hoc.jsx';\nimport Dial from './dial.jsx';\n\nimport styles from './direction-picker.css';\n\nimport allAroundIcon from './icon--all-around.svg';\nimport leftRightIcon from './icon--left-right.svg';\nimport dontRotateIcon from './icon--dont-rotate.svg';\n\nconst BufferedInput = BufferedInputHOC(Input);\n\nconst directionLabel = (\n \n);\n\nconst RotationStyles = {\n ALL_AROUND: 'all around',\n LEFT_RIGHT: 'left-right',\n DONT_ROTATE: \"don't rotate\"\n};\n\nconst messages = defineMessages({\n allAround: {\n id: 'gui.directionPicker.rotationStyles.allAround',\n description: 'Button to change to the all around rotation style',\n defaultMessage: 'All Around'\n },\n leftRight: {\n id: 'gui.directionPicker.rotationStyles.leftRight',\n description: 'Button to change to the left-right rotation style',\n defaultMessage: 'Left/Right'\n },\n dontRotate: {\n id: 'gui.directionPicker.rotationStyles.dontRotate',\n description: 'Button to change to the dont rotate rotation style',\n defaultMessage: 'Do not rotate'\n }\n});\n\nconst DirectionPicker = props => (\n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n }\n isOpen={props.popoverOpen}\n preferPlace=\"above\"\n onOuterAction={props.onClosePopover}\n >\n \n \n \n\n);\n\nDirectionPicker.propTypes = {\n direction: PropTypes.number,\n disabled: PropTypes.bool.isRequired,\n intl: intlShape,\n labelAbove: PropTypes.bool,\n onChangeDirection: PropTypes.func.isRequired,\n onClickAllAround: PropTypes.func.isRequired,\n onClickDontRotate: PropTypes.func.isRequired,\n onClickLeftRight: PropTypes.func.isRequired,\n onClosePopover: PropTypes.func.isRequired,\n onOpenPopover: PropTypes.func.isRequired,\n popoverOpen: PropTypes.bool.isRequired,\n rotationStyle: PropTypes.string\n};\n\nDirectionPicker.defaultProps = {\n labelAbove: false\n};\n\nconst WrappedDirectionPicker = injectIntl(DirectionPicker);\n\nexport {\n WrappedDirectionPicker as default,\n RotationStyles\n};\n","module.exports = __webpack_public_path__ + \"static/assets/85288751058f7704ffdb91f15d189260.svg\";","module.exports = __webpack_public_path__ + \"static/assets/3732270cfcc864cbbd939ae7213f1a5a.svg\";","module.exports = __webpack_public_path__ + \"static/assets/e7c972c634096b89b182b99441a20b1d.svg\";","module.exports = __webpack_public_path__ + \"static/assets/14120e6444ca2744dad272d8ca2a4646.svg\";","module.exports = __webpack_public_path__ + \"static/assets/148e4f4cfc7a1a253eb52c50bbb635a0.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './divider.css';\n\nconst Divider = ({className}) => (\n
\n);\n\nDivider.propTypes = {\n className: PropTypes.string\n};\n\nexport default Divider;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './drag-layer.css';\n\n/* eslint no-confusing-arrow: [\"error\", {\"allowParens\": true}] */\nconst DragLayer = ({dragging, img, currentOffset}) => (dragging ? (\n
\n \n \n
\n
\n) : null);\n\nDragLayer.propTypes = {\n currentOffset: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n }),\n dragging: PropTypes.bool.isRequired,\n img: PropTypes.string\n};\n\nexport default DragLayer;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport filterIcon from './icon--filter.svg';\nimport xIcon from './icon--x.svg';\nimport styles from './filter.css';\n\nconst FilterComponent = props => {\n const {\n className,\n onChange,\n onClear,\n placeholderText,\n filterQuery,\n inputClassName\n } = props;\n return (\n 0\n })}\n >\n \n \n \n \n \n \n );\n};\n\nFilterComponent.propTypes = {\n className: PropTypes.string,\n filterQuery: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n placeholderText: PropTypes.string\n};\nFilterComponent.defaultProps = {\n placeholderText: 'Search'\n};\nexport default FilterComponent;\n","module.exports = __webpack_public_path__ + \"static/assets/a4451ef35d29c4997f7c8e837da8af44.svg\";","module.exports = __webpack_public_path__ + \"static/assets/9c49ade683c0f0d75796136ff5d1030f.svg\";","import bindAll from 'lodash.bindall';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * Higher Order Component to manage inputs that submit on blur and \n * @param {React.Component} Input text input that consumes onChange, onBlur, onKeyPress\n * @returns {React.Component} Buffered input that calls onSubmit on blur and \n */\nexport default function (Input) {\n class BufferedInput extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleChange',\n 'handleKeyPress',\n 'handleFlush'\n ]);\n this.state = {\n value: null\n };\n }\n handleKeyPress (e) {\n if (e.key === 'Enter') {\n this.handleFlush();\n e.target.blur();\n }\n }\n handleFlush () {\n const isNumeric = typeof this.props.value === 'number';\n const validatesNumeric = isNumeric ? !isNaN(this.state.value) : true;\n if (this.state.value !== null && validatesNumeric) {\n this.props.onSubmit(isNumeric ? Number(this.state.value) : this.state.value);\n }\n this.setState({value: null});\n }\n handleChange (e) {\n this.setState({value: e.target.value});\n }\n render () {\n const bufferedValue = this.state.value === null ? this.props.value : this.state.value;\n return (\n \n );\n }\n }\n\n BufferedInput.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n };\n\n return BufferedInput;\n}\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './input.css';\n\nconst Input = props => {\n const {small, ...componentProps} = props;\n return (\n \n );\n};\n\nInput.propTypes = {\n className: PropTypes.string,\n small: PropTypes.bool\n};\n\nInput.defaultProps = {\n small: false\n};\n\nexport default Input;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './label.css';\n\nconst Label = props => (\n \n);\n\nLabel.propTypes = {\n above: PropTypes.bool,\n children: PropTypes.node,\n secondary: PropTypes.bool,\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired\n};\n\nLabel.defaultProps = {\n above: false,\n secondary: false\n};\n\nexport default Label;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport greenFlagIcon from './icon--green-flag.svg';\nimport styles from './green-flag.css';\n\nconst GreenFlagComponent = function (props) {\n const {\n active,\n className,\n onClick,\n title,\n ...componentProps\n } = props;\n return (\n \n );\n};\nGreenFlagComponent.propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n title: PropTypes.string\n};\nGreenFlagComponent.defaultProps = {\n active: false,\n title: 'Go'\n};\nexport default GreenFlagComponent;\n","module.exports = __webpack_public_path__ + \"static/assets/2e0c4790f8f9cf28e3c346b9cef0fcb6.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport omit from 'lodash.omit';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, FormattedMessage, injectIntl, intlShape} from 'react-intl';\nimport {connect} from 'react-redux';\nimport MediaQuery from 'react-responsive';\nimport {Tab, Tabs, TabList, TabPanel} from 'react-tabs';\nimport tabStyles from 'react-tabs/style/react-tabs.css';\nimport VM from 'scratch-vm';\nimport Renderer from 'scratch-render';\n\nimport Blocks from '../../containers/blocks.jsx';\nimport CostumeTab from '../../containers/costume-tab.jsx';\nimport TargetPane from '../../containers/target-pane.jsx';\nimport SoundTab from '../../containers/sound-tab.jsx';\nimport StageWrapper from '../../containers/stage-wrapper.jsx';\nimport Loader from '../loader/loader.jsx';\nimport Box from '../box/box.jsx';\nimport MenuBar from '../menu-bar/menu-bar.jsx';\nimport CostumeLibrary from '../../containers/costume-library.jsx';\nimport BackdropLibrary from '../../containers/backdrop-library.jsx';\nimport Watermark from '../../containers/watermark.jsx';\n\nimport Backpack from '../../containers/backpack.jsx';\nimport WebGlModal from '../../containers/webgl-modal.jsx';\nimport TipsLibrary from '../../containers/tips-library.jsx';\nimport Cards from '../../containers/cards.jsx';\nimport Alerts from '../../containers/alerts.jsx';\nimport DragLayer from '../../containers/drag-layer.jsx';\nimport ConnectionModal from '../../containers/connection-modal.jsx';\nimport TelemetryModal from '../telemetry-modal/telemetry-modal.jsx';\n\nimport layout, {STAGE_SIZE_MODES} from '../../lib/layout-constants';\nimport {resolveStageSize} from '../../lib/screen-utils';\n\nimport styles from './gui.css';\nimport addExtensionIcon from './icon--extensions.svg';\nimport codeIcon from './icon--code.svg';\nimport costumesIcon from './icon--costumes.svg';\nimport soundsIcon from './icon--sounds.svg';\n\nconst messages = defineMessages({\n addExtension: {\n id: 'gui.gui.addExtension',\n description: 'Button to add an extension in the target pane',\n defaultMessage: 'Add Extension'\n }\n});\n\n// Cache this value to only retrieve it once the first time.\n// Assume that it doesn't change for a session.\nlet isRendererSupported = null;\n\nconst GUIComponent = props => {\n const {\n accountNavOpen,\n activeTabIndex,\n alertsVisible,\n authorId,\n authorThumbnailUrl,\n authorUsername,\n basePath,\n backdropLibraryVisible,\n backpackHost,\n backpackVisible,\n blocksTabVisible,\n cardsVisible,\n canChangeLanguage,\n canCreateNew,\n canEditTitle,\n canManageFiles,\n canRemix,\n canSave,\n canCreateCopy,\n canShare,\n canUseCloud,\n children,\n connectionModalVisible,\n costumeLibraryVisible,\n costumesTabVisible,\n enableCommunity,\n intl,\n isCreating,\n isFullScreen,\n isPlayerOnly,\n isRtl,\n isShared,\n loading,\n logo,\n renderLogin,\n onClickAccountNav,\n onCloseAccountNav,\n onLogOut,\n onOpenRegistration,\n onToggleLoginOpen,\n onActivateCostumesTab,\n onActivateSoundsTab,\n onActivateTab,\n onClickLogo,\n onExtensionButtonClick,\n onProjectTelemetryEvent,\n onRequestCloseBackdropLibrary,\n onRequestCloseCostumeLibrary,\n onRequestCloseTelemetryModal,\n onSeeCommunity,\n onShare,\n onTelemetryModalCancel,\n onTelemetryModalOptIn,\n onTelemetryModalOptOut,\n showComingSoon,\n soundsTabVisible,\n stageSizeMode,\n targetIsStage,\n telemetryModalVisible,\n tipsLibraryVisible,\n vm,\n ...componentProps\n } = omit(props, 'dispatch');\n if (children) {\n return {children};\n }\n\n const tabClassNames = {\n tabs: styles.tabs,\n tab: classNames(tabStyles.reactTabsTab, styles.tab),\n tabList: classNames(tabStyles.reactTabsTabList, styles.tabList),\n tabPanel: classNames(tabStyles.reactTabsTabPanel, styles.tabPanel),\n tabPanelSelected: classNames(tabStyles.reactTabsTabPanelSelected, styles.isSelected),\n tabSelected: classNames(tabStyles.reactTabsTabSelected, styles.isSelected)\n };\n\n if (isRendererSupported === null) {\n isRendererSupported = Renderer.isSupported();\n }\n\n return ({isFullSize => {\n const stageSize = resolveStageSize(stageSizeMode, isFullSize);\n\n return isPlayerOnly ? (\n \n {alertsVisible ? (\n \n ) : null}\n \n ) : (\n \n {telemetryModalVisible ? (\n \n ) : null}\n {loading ? (\n \n ) : null}\n {isCreating ? (\n \n ) : null}\n {isRendererSupported ? null : (\n \n )}\n {tipsLibraryVisible ? (\n \n ) : null}\n {cardsVisible ? (\n \n ) : null}\n {alertsVisible ? (\n \n ) : null}\n {connectionModalVisible ? (\n \n ) : null}\n {costumeLibraryVisible ? (\n \n ) : null}\n {backdropLibraryVisible ? (\n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n \n {targetIsStage ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {costumesTabVisible ? : null}\n \n \n {soundsTabVisible ? : null}\n \n \n {backpackVisible ? (\n \n ) : null}\n \n\n \n \n \n \n \n \n \n \n \n
\n );\n }});\n};\n\nGUIComponent.propTypes = {\n accountNavOpen: PropTypes.bool,\n activeTabIndex: PropTypes.number,\n authorId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), // can be false\n authorThumbnailUrl: PropTypes.string,\n authorUsername: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), // can be false\n backdropLibraryVisible: PropTypes.bool,\n backpackHost: PropTypes.string,\n backpackVisible: PropTypes.bool,\n basePath: PropTypes.string,\n blocksTabVisible: PropTypes.bool,\n canChangeLanguage: PropTypes.bool,\n canCreateCopy: PropTypes.bool,\n canCreateNew: PropTypes.bool,\n canEditTitle: PropTypes.bool,\n canManageFiles: PropTypes.bool,\n canRemix: PropTypes.bool,\n canSave: PropTypes.bool,\n canShare: PropTypes.bool,\n canUseCloud: PropTypes.bool,\n cardsVisible: PropTypes.bool,\n children: PropTypes.node,\n costumeLibraryVisible: PropTypes.bool,\n costumesTabVisible: PropTypes.bool,\n enableCommunity: PropTypes.bool,\n intl: intlShape.isRequired,\n isCreating: PropTypes.bool,\n isFullScreen: PropTypes.bool,\n isPlayerOnly: PropTypes.bool,\n isRtl: PropTypes.bool,\n isShared: PropTypes.bool,\n loading: PropTypes.bool,\n logo: PropTypes.string,\n onActivateCostumesTab: PropTypes.func,\n onActivateSoundsTab: PropTypes.func,\n onActivateTab: PropTypes.func,\n onClickAccountNav: PropTypes.func,\n onClickLogo: PropTypes.func,\n onCloseAccountNav: PropTypes.func,\n onExtensionButtonClick: PropTypes.func,\n onLogOut: PropTypes.func,\n onOpenRegistration: PropTypes.func,\n onRequestCloseBackdropLibrary: PropTypes.func,\n onRequestCloseCostumeLibrary: PropTypes.func,\n onRequestCloseTelemetryModal: PropTypes.func,\n onSeeCommunity: PropTypes.func,\n onShare: PropTypes.func,\n onTabSelect: PropTypes.func,\n onTelemetryModalCancel: PropTypes.func,\n onTelemetryModalOptIn: PropTypes.func,\n onTelemetryModalOptOut: PropTypes.func,\n onToggleLoginOpen: PropTypes.func,\n renderLogin: PropTypes.func,\n showComingSoon: PropTypes.bool,\n soundsTabVisible: PropTypes.bool,\n stageSizeMode: PropTypes.oneOf(Object.keys(STAGE_SIZE_MODES)),\n targetIsStage: PropTypes.bool,\n telemetryModalVisible: PropTypes.bool,\n tipsLibraryVisible: PropTypes.bool,\n vm: PropTypes.instanceOf(VM).isRequired\n};\nGUIComponent.defaultProps = {\n backpackHost: null,\n backpackVisible: false,\n basePath: './',\n canChangeLanguage: true,\n canCreateNew: false,\n canEditTitle: false,\n canManageFiles: true,\n canRemix: false,\n canSave: false,\n canCreateCopy: false,\n canShare: false,\n canUseCloud: false,\n enableCommunity: false,\n isCreating: false,\n isShared: false,\n loading: false,\n showComingSoon: false,\n stageSizeMode: STAGE_SIZE_MODES.large\n};\n\nconst mapStateToProps = state => ({\n // This is the button's mode, as opposed to the actual current state\n stageSizeMode: state.scratchGui.stageSize.stageSize\n});\n\nexport default injectIntl(connect(\n mapStateToProps\n)(GUIComponent));\n","module.exports = __webpack_public_path__ + \"static/assets/257e3788c5fbfe56c151a97e97dc20d8.svg\";","module.exports = __webpack_public_path__ + \"static/assets/1dfe5425b42628b6f1df1f39e97a319f.svg\";","module.exports = __webpack_public_path__ + \"static/assets/5f4208a6b7257c456c018d57efc8a7e9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/2258ea6dfe9ad15440ca55aca291698d.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport styles from './icon-button.css';\n\nconst IconButton = ({\n img,\n disabled,\n className,\n title,\n onClick\n}) => (\n \n \n
\n {title}\n
\n \n);\n\nIconButton.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n img: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n title: PropTypes.node.isRequired\n};\n\nexport default IconButton;\n","module.exports = __webpack_public_path__ + \"static/assets/1319094a51748798730f01d1dc0972ac.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport locales from 'scratch-l10n';\nimport styles from './language-selector.css';\n\n// supported languages to exclude from the menu, but allow as a URL option\nconst ignore = [];\n\nconst LanguageSelector = ({currentLocale, label, onChange}) => (\n \n {\n Object.keys(locales)\n .filter(l => !ignore.includes(l))\n .map(locale => (\n \n {locales[locale].name}\n \n ))\n }\n \n);\n\nLanguageSelector.propTypes = {\n currentLocale: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func\n};\n\nexport default LanguageSelector;\n","module.exports = __webpack_public_path__ + \"static/assets/dfe35552790fb5ff38c78a43f5e62f30.svg\";","module.exports = __webpack_public_path__ + \"static/assets/1bb0adb555e07593962e9fc28ec7566d.svg\";","module.exports = __webpack_public_path__ + \"static/assets/582b9f12ce60392a8ef736c5dfabb4ce.svg\";","module.exports = __webpack_public_path__ + \"static/assets/7bd7487b704797cb5ab3cb441486ea70.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport PlayButton from '../../containers/play-button.jsx';\nimport styles from './library-item.css';\nimport classNames from 'classnames';\n\nimport bluetoothIconURL from './bluetooth.svg';\nimport internetConnectionIconURL from './internet-connection.svg';\n\n/* eslint-disable react/prefer-stateless-function */\nclass LibraryItemComponent extends React.PureComponent {\n render () {\n return this.props.featured ? (\n \n
\n {this.props.disabled ? (\n
\n \n
\n ) : null}\n \n
\n {this.props.insetIconURL ? (\n
\n \n
\n ) : null}\n \n {this.props.name}\n
\n {this.props.description}\n \n {this.props.bluetoothRequired || this.props.internetConnectionRequired || this.props.collaborator ? (\n
\n
\n {this.props.bluetoothRequired || this.props.internetConnectionRequired ? (\n
\n
\n \n
\n \n {this.props.bluetoothRequired ? (\n \n ) : null}\n {this.props.internetConnectionRequired ? (\n \n ) : null}\n
\n
\n ) : null}\n
\n
\n {this.props.collaborator ? (\n
\n
\n \n
\n \n {this.props.collaborator}\n
\n
\n ) : null}\n \n \n ) : null}\n \n ) : (\n \n {/* Layers of wrapping is to prevent layout thrashing on animation */}\n \n \n \n \n \n {this.props.name}\n {this.props.showPlayButton ? (\n \n ) : null}\n \n );\n }\n}\n/* eslint-enable react/prefer-stateless-function */\n\n\nLibraryItemComponent.propTypes = {\n bluetoothRequired: PropTypes.bool,\n collaborator: PropTypes.string,\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node\n ]),\n disabled: PropTypes.bool,\n extensionId: PropTypes.string,\n featured: PropTypes.bool,\n hidden: PropTypes.bool,\n iconURL: PropTypes.string,\n insetIconURL: PropTypes.string,\n internetConnectionRequired: PropTypes.bool,\n isPlaying: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node\n ]),\n onBlur: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n onKeyPress: PropTypes.func.isRequired,\n onMouseEnter: PropTypes.func.isRequired,\n onMouseLeave: PropTypes.func.isRequired,\n onPlay: PropTypes.func.isRequired,\n onStop: PropTypes.func.isRequired,\n showPlayButton: PropTypes.bool\n};\n\nLibraryItemComponent.defaultProps = {\n disabled: false,\n showPlayButton: false\n};\n\nexport default LibraryItemComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport bindAll from 'lodash.bindall';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, injectIntl, intlShape} from 'react-intl';\n\nimport LibraryItem from '../../containers/library-item.jsx';\nimport Modal from '../../containers/modal.jsx';\nimport Divider from '../divider/divider.jsx';\nimport Filter from '../filter/filter.jsx';\nimport TagButton from '../../containers/tag-button.jsx';\nimport Spinner from '../spinner/spinner.jsx';\n\nimport styles from './library.css';\n\nconst messages = defineMessages({\n filterPlaceholder: {\n id: 'gui.library.filterPlaceholder',\n defaultMessage: 'Search',\n description: 'Placeholder text for library search field'\n },\n allTag: {\n id: 'gui.library.allTag',\n defaultMessage: 'All',\n description: 'Label for library tag to revert to all items after filtering by tag.'\n }\n});\n\nconst ALL_TAG = {tag: 'all', intlLabel: messages.allTag};\nconst tagListPrefix = [ALL_TAG];\n\nclass LibraryComponent extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleClose',\n 'handleFilterChange',\n 'handleFilterClear',\n 'handleMouseEnter',\n 'handleMouseLeave',\n 'handlePlayingEnd',\n 'handleSelect',\n 'handleTagClick',\n 'setFilteredDataRef'\n ]);\n this.state = {\n playingItem: null,\n filterQuery: '',\n selectedTag: ALL_TAG.tag,\n loaded: false\n };\n }\n componentDidMount () {\n // Allow the spinner to display before loading the content\n setTimeout(() => {\n this.setState({loaded: true});\n });\n if (this.props.setStopHandler) this.props.setStopHandler(this.handlePlayingEnd);\n }\n componentDidUpdate (prevProps, prevState) {\n if (prevState.filterQuery !== this.state.filterQuery ||\n prevState.selectedTag !== this.state.selectedTag) {\n this.scrollToTop();\n }\n }\n handleSelect (id) {\n this.handleClose();\n this.props.onItemSelected(this.getFilteredData()[id]);\n }\n handleClose () {\n this.props.onRequestClose();\n }\n handleTagClick (tag) {\n if (this.state.playingItem === null) {\n this.setState({\n filterQuery: '',\n selectedTag: tag.toLowerCase()\n });\n } else {\n this.props.onItemMouseLeave(this.getFilteredData()[[this.state.playingItem]]);\n this.setState({\n filterQuery: '',\n playingItem: null,\n selectedTag: tag.toLowerCase()\n });\n }\n }\n handleMouseEnter (id) {\n // don't restart if mouse over already playing item\n if (this.props.onItemMouseEnter && this.state.playingItem !== id) {\n this.props.onItemMouseEnter(this.getFilteredData()[id]);\n this.setState({\n playingItem: id\n });\n }\n }\n handleMouseLeave (id) {\n if (this.props.onItemMouseLeave) {\n this.props.onItemMouseLeave(this.getFilteredData()[id]);\n this.setState({\n playingItem: null\n });\n }\n }\n handlePlayingEnd () {\n if (this.state.playingItem !== null) {\n this.setState({\n playingItem: null\n });\n }\n }\n handleFilterChange (event) {\n if (this.state.playingItem === null) {\n this.setState({\n filterQuery: event.target.value,\n selectedTag: ALL_TAG.tag\n });\n } else {\n this.props.onItemMouseLeave(this.getFilteredData()[[this.state.playingItem]]);\n this.setState({\n filterQuery: event.target.value,\n playingItem: null,\n selectedTag: ALL_TAG.tag\n });\n }\n }\n handleFilterClear () {\n this.setState({filterQuery: ''});\n }\n getFilteredData () {\n if (this.state.selectedTag === 'all') {\n if (!this.state.filterQuery) return this.props.data;\n return this.props.data.filter(dataItem => (\n (dataItem.tags || [])\n // Second argument to map sets `this`\n .map(String.prototype.toLowerCase.call, String.prototype.toLowerCase)\n .concat(dataItem.name ?\n (typeof dataItem.name === 'string' ?\n // Use the name if it is a string, else use formatMessage to get the translated name\n dataItem.name : this.props.intl.formatMessage(dataItem.name.props)\n ).toLowerCase() :\n null)\n .join('\\n') // unlikely to partially match newlines\n .indexOf(this.state.filterQuery.toLowerCase()) !== -1\n ));\n }\n return this.props.data.filter(dataItem => (\n dataItem.tags &&\n dataItem.tags\n .map(String.prototype.toLowerCase.call, String.prototype.toLowerCase)\n .indexOf(this.state.selectedTag) !== -1\n ));\n }\n scrollToTop () {\n this.filteredDataRef.scrollTop = 0;\n }\n setFilteredDataRef (ref) {\n this.filteredDataRef = ref;\n }\n render () {\n return (\n \n {(this.props.filterable || this.props.tags) && (\n
\n {this.props.filterable && (\n \n )}\n {this.props.filterable && this.props.tags && (\n \n )}\n {this.props.tags &&\n
\n {tagListPrefix.concat(this.props.tags).map((tagProps, id) => (\n \n ))}\n
\n }\n
\n )}\n \n {this.state.loaded ? this.getFilteredData().map((dataItem, index) => (\n