@robotical/martyblocks 2.1.13 → 2.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/lib.min.js +1 -1
  2. package/package.json +1 -1
package/dist/lib.min.js CHANGED
@@ -28,7 +28,7 @@ object-assign
28
28
  * Available via the MIT license.
29
29
  * see: http://github.com/greggman/twgl.js for details
30
30
  */
31
- var A;A=function(){return n=[function(e,t,n){"use strict";t.__esModule=!0,t.copyExistingProperties=function(t,n){Object.keys(n).forEach(function(e){n.hasOwnProperty(e)&&t.hasOwnProperty(e)&&(n[e]=t[e])})},t.copyNamedProperties=function(e,n,A){e.forEach(function(e){var t=n[e];void 0!==t&&(A[e]=t)})},t.isBuffer=function(e,t){A=A||e.createBuffer();return t instanceof A.constructor},t.isRenderbuffer=function(e,t){o=o||e.createRenderbuffer();return t instanceof o.constructor},t.isShader=function(e,t){a=a||e.createShader(e.VERTEX_SHADER);return t instanceof a.constructor},t.isTexture=function(e,t){i=i||e.createTexture();return t instanceof i.constructor},t.isSampler=function(e,t){if(!r){if(!e.createSampler)return!1;r=e.createSampler()}return t instanceof r.constructor},t.warn=t.error=void 0;n=(n=n(2))&&n.__esModule?n:{default:n};var A,o,a,i,r,s=n.default.console&&n.default.console.error&&"function"==typeof n.default.console.error?n.default.console.error.bind(n.default.console):function(){},s=(t.error=s,n.default.console&&n.default.console.warn&&"function"==typeof n.default.console.warn?n.default.console.warn.bind(n.default.console):function(){});t.warn=s},function(e,t,n){"use strict";t.__esModule=!0,t.getGLTypeForTypedArray=function(e){if(e instanceof Int8Array)return o;if(e instanceof Uint8Array)return a;if(e instanceof Uint8ClampedArray)return a;if(e instanceof Int16Array)return i;if(e instanceof Uint16Array)return r;if(e instanceof Int32Array)return s;if(e instanceof Uint32Array)return l;if(e instanceof Float32Array)return u;throw"unsupported typed array type"},t.getGLTypeForTypedArrayType=function(e){if(e===Int8Array)return o;if(e===Uint8Array)return a;if(e===Uint8ClampedArray)return a;if(e===Int16Array)return i;if(e===Uint16Array)return r;if(e===Int32Array)return s;if(e===Uint32Array)return l;if(e!==Float32Array)throw"unsupported typed array type";return u},t.getTypedArrayTypeForGLType=function(e){e=c[e];if(e)return e;throw"unknown gl type"},t.isArrayBuffer=void 0;var A=(n=n(2))&&n.__esModule?n:{default:n};var o=5120,a=5121,i=5122,r=5123,s=5124,l=5125,u=5126,c={},n=c;n[o]=Int8Array,n[a]=Uint8Array,n[i]=Int16Array,n[r]=Uint16Array,n[s]=Int32Array,n[l]=Uint32Array,n[u]=Float32Array,n[32819]=Uint16Array,n[32820]=Uint16Array,n[33635]=Uint16Array,n[5131]=Uint16Array,n[33640]=Uint32Array,n[35899]=Uint32Array,n[35902]=Uint32Array,n[36269]=Uint32Array,n[34042]=Uint32Array;n=A.default.SharedArrayBuffer?function(e){return e&&e.buffer&&(e.buffer instanceof ArrayBuffer||e.buffer instanceof A.default.SharedArrayBuffer)}:function(e){return e&&e.buffer&&e.buffer instanceof ArrayBuffer};t.isArrayBuffer=n},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var A="undefined"!=typeof self?self:"undefined"!=typeof window?window:{};t.default=A},function(e,t,n){"use strict";t.__esModule=!0,t.add=function(e,t,n){return(n=n||new a(3))[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n},t.copy=function(e,t){return(t=t||new a(3))[0]=e[0],t[1]=e[1],t[2]=e[2],t},t.create=function(e,t,n){var A=new a(3);e&&(A[0]=e);t&&(A[1]=t);n&&(A[2]=n);return A},t.cross=function(e,t,n){n=n||new a(3);var A=e[2]*t[0]-e[0]*t[2],o=e[0]*t[1]-e[1]*t[0];return n[0]=e[1]*t[2]-e[2]*t[1],n[1]=A,n[2]=o,n},t.distance=function(e,t){var n=e[0]-t[0],A=e[1]-t[1],e=e[2]-t[2];return Math.sqrt(n*n+A*A+e*e)},t.distanceSq=function(e,t){var n=e[0]-t[0],A=e[1]-t[1],e=e[2]-t[2];return n*n+A*A+e*e},t.divide=function(e,t,n){return(n=n||new a(3))[0]=e[0]/t[0],n[1]=e[1]/t[1],n[2]=e[2]/t[2],n},t.divScalar=function(e,t,n){return(n=n||new a(3))[0]=e[0]/t,n[1]=e[1]/t,n[2]=e[2]/t,n},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},t.lerp=function(e,t,n,A){return(A=A||new a(3))[0]=(1-n)*e[0]+n*t[0],A[1]=(1-n)*e[1]+n*t[1],A[2]=(1-n)*e[2]+n*t[2],A},t.length=function(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])},t.lengthSq=function(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]},t.mulScalar=function(e,t,n){return(n=n||new a(3))[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n},t.multiply=function(e,t,n){return(n=n||new a(3))[0]=e[0]*t[0],n[1]=e[1]*t[1],n[2]=e[2]*t[2],n},t.negate=function(e,t){return(t=t||new a(3))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},t.normalize=function(e,t){t=t||new a(3);var n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=Math.sqrt(n);1e-5<n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=0,t[1]=0,t[2]=0);return t},t.setDefaultType=function(e){var t=a;return a=e,t},t.subtract=function(e,t,n){return(n=n||new a(3))[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n};var a=Float32Array},function(e,t,n){"use strict";t.__esModule=!0,t.isWebGL1=function(e){return!e.texStorage2D},t.isWebGL2=function(e){return!!e.texStorage2D},t.glEnumToString=void 0;function A(e,t){var n,A=e,e=A.constructor.name;if(!a[e]){for(var o in A)"number"==typeof A[o]&&(n=i[A[o]],i[A[o]]=n?"".concat(n," | ").concat(o):o);a[e]=!0}return i[t]||"0x"+t.toString(16)}var a,i;a={},i={};t.glEnumToString=A},function(Y,e,t){"use strict";e.__esModule=!0,e.createAttributeSetters=U,e.createProgram=T,e.createProgramFromScripts=function(e,t,n,A,o){for(var a=y(n,A,o),i=[],r=0;r<t.length;++r){var s=function(e,t,n,A){var o="",a=p(t);if(!a)throw"*** Error: unknown script element"+t;o=a.text;t=n||M(a.type);if(t)return I(e,o,t,A);throw"*** Error: unknown shader type"}(e,t[r],e[b[r]],a.errorCallback);if(!s)return null;i.push(s)}return T(e,i,a)},e.createProgramFromSources=S,e.createProgramInfo=function(e,t,n,A,o){var a=y(n,A,o),i=!0;return t=t.map(function(e){var t;return e.indexOf("\n")<0&&((t=p(e))?e=t.text:(a.errorCallback("no element with id: "+e),i=!1)),e}),i&&(n=S(e,t,a))?L(e,n):null},e.createProgramInfoFromProgram=L,e.createUniformSetters=D,e.createUniformBlockSpecFromProgram=O,e.createUniformBlockInfoFromProgram=R,e.createUniformBlockInfo=function(e,t,n){return R(e,t.program,t.uniformBlockSpec,n)},e.createTransformFeedback=function(e,t,n){var A=e.createTransformFeedback();return e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,A),e.useProgram(t.program),N(e,t,n),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null),function(e,t,n){t.transformFeedbackInfo&&(t=t.transformFeedbackInfo);n.attribs&&(n=n.attribs);for(var A in n){A=t[A];A&&e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,A.index,null)}}(e,t,n),A},e.createTransformFeedbackInfo=v,e.bindTransformFeedbackInfo=N,e.setAttributes=G,e.setBuffersAndAttributes=function(e,t,n){n.vertexArrayObject?e.bindVertexArray(n.vertexArrayObject):(G(t.attribSetters||t,n.attribs),n.indices&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n.indices))},e.setUniforms=function e(t,n){var A=t.uniformSetters||t;var o=arguments.length;for(var a=1;a<o;++a){var i=arguments[a];if(Array.isArray(i))for(var r=i.length,s=0;s<r;++s)e(A,i[s]);else for(var l in i){var u=A[l];u&&u(i[l])}}},e.setUniformBlock=function(e,t,n){_(e,t,n)&&e.bufferData(e.UNIFORM_BUFFER,n.array,e.DYNAMIC_DRAW)},e.setBlockUniforms=function(e,t){var n,A=e.uniforms;for(n in t){var o,a=A[n];a&&((o=t[n]).length?a.set(o):a[0]=o)}},e.bindUniformBlock=_;var s=n(t(4)),h=n(t(0)),t=(e=t(2))&&e.__esModule?e:{default:e};function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var r=h.error,x=h.warn,p=t.default&&t.default.document&&t.default.document.getElementById?t.default.document.getElementById.bind(t.default.document):function(){return null},d={};function l(e,t){return d[t].bindPoint}function A(t,n){return function(e){t.uniform1i(n,e)}}function o(t,n){return function(e){t.uniform1iv(n,e)}}function a(t,n){return function(e){t.uniform2iv(n,e)}}function i(t,n){return function(e){t.uniform3iv(n,e)}}function u(t,n){return function(e){t.uniform4iv(n,e)}}function c(n,e,A,o){var a=l(0,e);return s.isWebGL2(n)?function(e){var t,e=h.isTexture(n,e)?(t=e,null):(t=e.texture,e.sampler);n.uniform1i(o,A),n.activeTexture(n.TEXTURE0+A),n.bindTexture(a,t),n.bindSampler(A,e)}:function(e){n.uniform1i(o,A),n.activeTexture(n.TEXTURE0+A),n.bindTexture(a,e)}}function g(A,e,o,t,n){for(var a=l(0,e),i=new Int32Array(n),r=0;r<n;++r)i[r]=o+r;return s.isWebGL2(A)?function(e){A.uniform1iv(t,i),e.forEach(function(e,t){var n;A.activeTexture(A.TEXTURE0+i[t]),t=h.isTexture(A,e)?(n=e,null):(n=e.texture,e.sampler),A.bindSampler(o,t),A.bindTexture(a,n)})}:function(e){A.uniform1iv(t,i),e.forEach(function(e,t){A.activeTexture(A.TEXTURE0+i[t]),A.bindTexture(a,e)})}}function m(t,n){return function(e){t.bindBuffer(t.ARRAY_BUFFER,e.buffer),t.enableVertexAttribArray(n),t.vertexAttribPointer(n,e.numComponents||e.size,e.type||t.FLOAT,e.normalize||!1,e.stride||0,e.offset||0),void 0!==e.divisor&&t.vertexAttribDivisor(n,e.divisor)}}function B(t,n){return function(e){t.bindBuffer(t.ARRAY_BUFFER,e.buffer),t.enableVertexAttribArray(n),t.vertexAttribIPointer(n,e.numComponents||e.size,e.type||t.INT,e.stride||0,e.offset||0),void 0!==e.divisor&&t.vertexAttribDivisor(n,e.divisor)}}function f(l,u,e){var c=e.size,g=e.count;return function(e){l.bindBuffer(l.ARRAY_BUFFER,e.buffer);for(var t=e.size||e.numComponents||c,n=t/g,A=e.type||l.FLOAT,o=d[A].size*t,a=e.normalize||!1,i=e.offset||0,r=o/g,s=0;s<g;++s)l.enableVertexAttribArray(u+s),l.vertexAttribPointer(u+s,n,A,a,o,i+r*s),void 0!==e.divisor&&l.vertexAttribDivisor(u+s,e.divisor)}}d[5126]={Type:Float32Array,size:4,setter:function(t,n){return function(e){t.uniform1f(n,e)}},arraySetter:function(t,n){return function(e){t.uniform1fv(n,e)}}},d[35664]={Type:Float32Array,size:8,setter:function(t,n){return function(e){t.uniform2fv(n,e)}}},d[35665]={Type:Float32Array,size:12,setter:function(t,n){return function(e){t.uniform3fv(n,e)}}},d[35666]={Type:Float32Array,size:16,setter:function(t,n){return function(e){t.uniform4fv(n,e)}}},d[5124]={Type:Int32Array,size:4,setter:A,arraySetter:o},d[35667]={Type:Int32Array,size:8,setter:a},d[35668]={Type:Int32Array,size:12,setter:i},d[35669]={Type:Int32Array,size:16,setter:u},d[5125]={Type:Uint32Array,size:4,setter:function(t,n){return function(e){t.uniform1ui(n,e)}},arraySetter:function(t,n){return function(e){t.uniform1uiv(n,e)}}},d[36294]={Type:Uint32Array,size:8,setter:function(t,n){return function(e){t.uniform2uiv(n,e)}}},d[36295]={Type:Uint32Array,size:12,setter:function(t,n){return function(e){t.uniform3uiv(n,e)}}},d[36296]={Type:Uint32Array,size:16,setter:function(t,n){return function(e){t.uniform4uiv(n,e)}}},d[35670]={Type:Uint32Array,size:4,setter:A,arraySetter:o},d[35671]={Type:Uint32Array,size:8,setter:a},d[35672]={Type:Uint32Array,size:12,setter:i},d[35673]={Type:Uint32Array,size:16,setter:u},d[35674]={Type:Float32Array,size:16,setter:function(t,n){return function(e){t.uniformMatrix2fv(n,!1,e)}}},d[35675]={Type:Float32Array,size:36,setter:function(t,n){return function(e){t.uniformMatrix3fv(n,!1,e)}}},d[35676]={Type:Float32Array,size:64,setter:function(t,n){return function(e){t.uniformMatrix4fv(n,!1,e)}}},d[35685]={Type:Float32Array,size:24,setter:function(t,n){return function(e){t.uniformMatrix2x3fv(n,!1,e)}}},d[35686]={Type:Float32Array,size:32,setter:function(t,n){return function(e){t.uniformMatrix2x4fv(n,!1,e)}}},d[35687]={Type:Float32Array,size:24,setter:function(t,n){return function(e){t.uniformMatrix3x2fv(n,!1,e)}}},d[35688]={Type:Float32Array,size:48,setter:function(t,n){return function(e){t.uniformMatrix3x4fv(n,!1,e)}}},d[35689]={Type:Float32Array,size:32,setter:function(t,n){return function(e){t.uniformMatrix4x2fv(n,!1,e)}}},d[35690]={Type:Float32Array,size:48,setter:function(t,n){return function(e){t.uniformMatrix4x3fv(n,!1,e)}}},d[35678]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[35680]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[35679]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[35682]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36289]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36292]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36293]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36298]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36299]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[36300]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36303]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36306]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36307]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[36308]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36311]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866};var E={},w=(E[5126]={size:4,setter:m},E[35664]={size:8,setter:m},E[35665]={size:12,setter:m},E[35666]={size:16,setter:m},E[5124]={size:4,setter:B},E[35667]={size:8,setter:B},E[35668]={size:12,setter:B},E[35669]={size:16,setter:B},E[5125]={size:4,setter:B},E[36294]={size:8,setter:B},E[36295]={size:12,setter:B},E[36296]={size:16,setter:B},E[35670]={size:4,setter:B},E[35671]={size:8,setter:B},E[35672]={size:12,setter:B},E[35673]={size:16,setter:B},E[35674]={size:4,setter:f,count:2},E[35675]={size:9,setter:f,count:3},E[35676]={size:16,setter:f,count:4},void 0);var C=/^[ \t]*\n/;function I(e,t,n,A){var o,a,A=A||r,n=e.createShader(n),i=0;return C.test(t)&&(i=1,t=t.replace(C,"")),e.shaderSource(n,t),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)?n:(o=e.getShaderInfoLog(n),A((a=(a=i)||0,++a,t.split("\n").map(function(e,t){return t+a+": "+e}).join("\n")+"\n*** Error compiling shader: "+o)),e.deleteShader(n),null)}function y(e,n,t){if("function"==typeof n&&(t=n,n=void 0),"function"==typeof e)t=e,e=void 0;else if(e&&!Array.isArray(e)){if(e.errorCallback)return e;var A=e;t=A.errorCallback,e=A.attribLocations,A=A.transformFeedbackVaryings}var o,t={errorCallback:t||r,transformFeedbackVaryings:A};return e&&(o={},Array.isArray(e)?e.forEach(function(e,t){o[e]=n?n[t]:t}):o=e,t.attribLocations=o),t}var b=["VERTEX_SHADER","FRAGMENT_SHADER"];function M(e){return 0<=e.indexOf("frag")?w.FRAGMENT_SHADER:0<=e.indexOf("vert")?w.VERTEX_SHADER:void 0}function Q(t,e){e.forEach(function(e){t.deleteShader(e)})}function T(t,e,n,A,o){for(var a,i=y(n,A,o),r=[],s=[],l=0;l<e.length;++l){var u,c,g,d=e[l];"string"==typeof d&&(c=(u=p(d))?u.text:d,g=t[b[l]],u&&u.type&&(g=M(u.type)||g),d=I(t,c,g,i.errorCallback),s.push(d)),h.isShader(t,d)&&r.push(d)}return r.length!==e.length?(i.errorCallback("not enough shaders for program"),Q(t,s),null):(a=t.createProgram(),r.forEach(function(e){t.attachShader(a,e)}),i.attribLocations&&Object.keys(i.attribLocations).forEach(function(e){t.bindAttribLocation(a,i.attribLocations[e],e)}),(n=i.transformFeedbackVaryings)&&(n.attribs&&(n=n.attribs),Array.isArray(n)||(n=Object.keys(n)),t.transformFeedbackVaryings(a,n,i.transformFeedbackMode||t.SEPARATE_ATTRIBS)),t.linkProgram(a),t.getProgramParameter(a,t.LINK_STATUS)?a:(A=t.getProgramInfoLog(a),i.errorCallback("Error in program linking:"+A),t.deleteProgram(a),Q(t,s),null))}function S(e,t,n,A,o){for(var a=y(n,A,o),i=[],r=0;r<t.length;++r){var s=I(e,t[r],e[b[r]],a.errorCallback);if(!s)return null;i.push(s)}return T(e,i,a)}function k(e){e=e.name;return e.startsWith("gl_")||e.startsWith("webgl_")}function D(i,e){var r=0;for(var t={},n=i.getProgramParameter(e,i.ACTIVE_UNIFORMS),A=0;A<n;++A){var o,a=i.getActiveUniform(e,A);k(a)||("[0]"===(o=a.name).substr(-3)&&(o=o.substr(0,o.length-3)),a=function(e,t){var n,e=i.getUniformLocation(e,t.name),A=1<t.size&&"[0]"===t.name.substr(-3),o=t.type,a=d[o];if(a)return(n=a.bindPoint?(n=r,r+=t.size,A?a.arraySetter(i,o,n,e,t.size):a.setter(i,o,n,e,t.size)):a.arraySetter&&A?a.arraySetter(i,e):a.setter(i,e)).location=e,n;throw"unknown type: 0x"+o.toString(16)}(e,a),t[o]=a)}return t}function v(e,t){for(var n={},A=e.getProgramParameter(t,e.TRANSFORM_FEEDBACK_VARYINGS),o=0;o<A;++o){var a=e.getTransformFeedbackVarying(t,o);n[a.name]={index:o,type:a.type,size:a.size}}return n}function N(e,t,n){for(var A in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),n=n.attribs?n.attribs:n){var o=t[A];o&&((A=n[A]).offset?e.bindBufferRange(e.TRANSFORM_FEEDBACK_BUFFER,o.index,A.buffer,A.offset,A.size):e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,o.index,A.buffer))}}function O(A,o){for(var e=A.getProgramParameter(o,A.ACTIVE_UNIFORMS),a=[],i=[],t=0;t<e;++t){i.push(t),a.push({});var n=A.getActiveUniform(o,t);if(k(n))break;a[t].name=n.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach(function(e){var t=e[0],n=e[1];A.getActiveUniforms(o,i,A[t]).forEach(function(e,t){a[t][n]=e})});for(var r={},s=A.getProgramParameter(o,A.ACTIVE_UNIFORM_BLOCKS),l=0;l<s;++l){var u=A.getActiveUniformBlockName(o,l),c={index:l,usedByVertexShader:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),usedByFragmentShader:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),size:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_DATA_SIZE),uniformIndices:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)};c.used=c.usedByVertexSahder||c.usedByFragmentShader,r[u]=c}return{blockSpecs:r,uniformData:a}}var F=/\[\d+\]\.$/;function R(e,t,n,A){var o,a,i,r,s=n.blockSpecs,l=n.uniformData,n=s[A];return n?(o=new ArrayBuffer(n.size),s=e.createBuffer(),a=n.index,e.bindBuffer(e.UNIFORM_BUFFER,s),e.uniformBlockBinding(t,n.index,a),i=A+".",F.test(i)&&(i=i.replace(F,".")),r={},n.uniformIndices.forEach(function(e){var e=l[e],t=d[e.type],n=t.Type,t=e.size*t.size,A=e.name;A.substr(0,i.length)===i&&(A=A.substr(i.length)),r[A]=new n(o,e.offset,t/n.BYTES_PER_ELEMENT)}),{name:A,array:o,asFloat:new Float32Array(o),buffer:s,uniforms:r}):(x("no uniform block object named:",A),{name:A,uniforms:{}})}function _(e,t,n){var t=(t.uniformBlockSpec||t).blockSpecs[n.name];return!!t&&(t=t.index,e.bindBufferRange(e.UNIFORM_BUFFER,t,n.buffer,n.offset||0,n.array.byteLength),!0)}function U(e,t){for(var n={},A=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),o=0;o<A;++o){var a,i,r=e.getActiveAttrib(t,o);k(r)||(a=e.getAttribLocation(t,r.name),(i=(i=E[r.type]).setter(e,a,i)).location=a,n[r.name]=i)}return n}function G(e,t){for(var n in t){var A=e[n];A&&A(t[n])}}function L(e,t){var n={program:t,uniformSetters:D(e,t),attribSetters:U(e,t)};return s.isWebGL2(e)&&(n.uniformBlockSpec=O(e,t),n.transformFeedbackInfo=v(e,t)),n}},function(e,t,n){"use strict";t.__esModule=!0,t.axisRotate=function(e,t,n,A){A=A||new H(16);var o=t[0],a=t[1],t=t[2],i=Math.sqrt(o*o+a*a+t*t),r=(o/=i)*o,s=(a/=i)*a,i=(t/=i)*t,l=Math.cos(n),n=Math.sin(n),u=1-l,r=r+(1-r)*l,c=o*a*u+t*n,g=o*t*u-a*n,d=o*a*u-t*n,s=s+(1-s)*l,h=a*t*u+o*n,p=o*t*u+a*n,a=a*t*u-o*n,t=i+(1-i)*l,u=e[0],o=e[1],n=e[2],i=e[3],l=e[4],m=e[5],B=e[6],f=e[7],E=e[8],w=e[9],C=e[10],I=e[11];A[0]=r*u+c*l+g*E,A[1]=r*o+c*m+g*w,A[2]=r*n+c*B+g*C,A[3]=r*i+c*f+g*I,A[4]=d*u+s*l+h*E,A[5]=d*o+s*m+h*w,A[6]=d*n+s*B+h*C,A[7]=d*i+s*f+h*I,A[8]=p*u+a*l+t*E,A[9]=p*o+a*m+t*w,A[10]=p*n+a*B+t*C,A[11]=p*i+a*f+t*I,e!==A&&(A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15]);return A},t.axisRotation=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],e=e[2],a=Math.sqrt(A*A+o*o+e*e),i=(A/=a)*A,r=(o/=a)*o,a=(e/=a)*e,s=Math.cos(t),t=Math.sin(t),l=1-s;return n[0]=i+(1-i)*s,n[1]=A*o*l+e*t,n[2]=A*e*l-o*t,n[3]=0,n[4]=A*o*l-e*t,n[5]=r+(1-r)*s,n[6]=o*e*l+A*t,n[7]=0,n[8]=A*e*l+o*t,n[9]=o*e*l-A*t,n[10]=a+(1-a)*s,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},t.copy=o,t.frustum=function(e,t,n,A,o,a,i){i=i||new H(16);var r=t-e,s=A-n,l=o-a;return i[0]=2*o/r,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=2*o/s,i[6]=0,i[7]=0,i[8]=(e+t)/r,i[9]=(A+n)/s,i[10]=a/l,i[11]=-1,i[12]=0,i[13]=0,i[14]=o*a/l,i[15]=0,i},t.getAxis=function(e,t,n){n=n||r.create();t*=4;return n[0]=e[0+t],n[1]=e[1+t],n[2]=e[2+t],n},t.getTranslation=function(e,t){return(t=t||r.create())[0]=e[12],t[1]=e[13],t[2]=e[14],t},t.identity=A,t.inverse=a,t.lookAt=function(e,t,n,A){A=A||new H(16);var o=s,a=l,i=u;return r.normalize(r.subtract(e,t,i),i),r.normalize(r.cross(n,i,o),o),r.normalize(r.cross(i,o,a),a),A[0]=o[0],A[1]=o[1],A[2]=o[2],A[3]=0,A[4]=a[0],A[5]=a[1],A[6]=a[2],A[7]=0,A[8]=i[0],A[9]=i[1],A[10]=i[2],A[11]=0,A[12]=e[0],A[13]=e[1],A[14]=e[2],A[15]=1,A},t.multiply=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[4],s=e[5],l=e[6],u=e[7],c=e[8],g=e[9],d=e[10],h=e[11],p=e[12],m=e[13],B=e[14],e=e[15],f=t[0],E=t[1],w=t[2],C=t[3],I=t[4],y=t[5],b=t[6],M=t[7],Q=t[8],T=t[9],S=t[10],k=t[11],D=t[12],v=t[13],N=t[14],t=t[15];return n[0]=A*f+r*E+c*w+p*C,n[1]=o*f+s*E+g*w+m*C,n[2]=a*f+l*E+d*w+B*C,n[3]=i*f+u*E+h*w+e*C,n[4]=A*I+r*y+c*b+p*M,n[5]=o*I+s*y+g*b+m*M,n[6]=a*I+l*y+d*b+B*M,n[7]=i*I+u*y+h*b+e*M,n[8]=A*Q+r*T+c*S+p*k,n[9]=o*Q+s*T+g*S+m*k,n[10]=a*Q+l*T+d*S+B*k,n[11]=i*Q+u*T+h*S+e*k,n[12]=A*D+r*v+c*N+p*t,n[13]=o*D+s*v+g*N+m*t,n[14]=a*D+l*v+d*N+B*t,n[15]=i*D+u*v+h*N+e*t,n},t.negate=function(e,t){return(t=t||new H(16))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},t.ortho=function(e,t,n,A,o,a,i){return(i=i||new H(16))[0]=2/(t-e),i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=2/(A-n),i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=2/(o-a),i[11]=0,i[12]=(t+e)/(e-t),i[13]=(A+n)/(n-A),i[14]=(a+o)/(o-a),i[15]=1,i},t.perspective=function(e,t,n,A,o){o=o||new H(16);var e=Math.tan(.5*Math.PI-.5*e),a=1/(n-A);return o[0]=e/t,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=e,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(n+A)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=n*A*a*2,o[15]=0,o},t.rotateX=function(e,t,n){n=n||new H(16);var A=e[4],o=e[5],a=e[6],i=e[7],r=e[8],s=e[9],l=e[10],u=e[11],c=Math.cos(t),t=Math.sin(t);n[4]=c*A+t*r,n[5]=c*o+t*s,n[6]=c*a+t*l,n[7]=c*i+t*u,n[8]=c*r-t*A,n[9]=c*s-t*o,n[10]=c*l-t*a,n[11]=c*u-t*i,e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotateY=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[8],s=e[9],l=e[10],u=e[11],c=Math.cos(t),t=Math.sin(t);n[0]=c*A-t*r,n[1]=c*o-t*s,n[2]=c*a-t*l,n[3]=c*i-t*u,n[8]=c*r+t*A,n[9]=c*s+t*o,n[10]=c*l+t*a,n[11]=c*u+t*i,e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotateZ=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[4],s=e[5],l=e[6],u=e[7],c=Math.cos(t),t=Math.sin(t);n[0]=c*A+t*r,n[1]=c*o+t*s,n[2]=c*a+t*l,n[3]=c*i+t*u,n[4]=c*r-t*A,n[5]=c*s-t*o,n[6]=c*l-t*a,n[7]=c*u-t*i,e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotationX=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=e,t[7]=0,t[8]=0,t[9]=-e,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationY=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=n,t[1]=0,t[2]=-e,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=e,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationZ=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=n,t[1]=e,t[2]=0,t[3]=0,t[4]=-e,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.scale=function(e,t,n){n=n||new H(16);var A=t[0],o=t[1],t=t[2];n[0]=A*e[0],n[1]=A*e[1],n[2]=A*e[2],n[3]=A*e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=o*e[7],n[8]=t*e[8],n[9]=t*e[9],n[10]=t*e[10],n[11]=t*e[11],e!==n&&(n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.scaling=function(e,t){return(t=t||new H(16))[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.setAxis=function(e,t,n,A){A!==e&&(A=o(e,A));e=4*n;return A[0+e]=t[0],A[1+e]=t[1],A[2+e]=t[2],A},t.setDefaultType=function(e){var t=H;return H=e,t},t.setTranslation=function(e,t,n){n=n||A(),e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11]);return n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},t.transformDirection=function(e,t,n){n=n||r.create();var A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[4]+t*e[8],n[1]=A*e[1]+o*e[5]+t*e[9],n[2]=A*e[2]+o*e[6]+t*e[10],n},t.transformNormal=function(e,t,n){n=n||r.create();var e=a(e),A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[1]+t*e[2],n[1]=A*e[4]+o*e[5]+t*e[6],n[2]=A*e[8]+o*e[9]+t*e[10],n},t.transformPoint=function(e,t,n){n=n||r.create();var A=t[0],o=t[1],t=t[2],a=A*e[3]+o*e[7]+t*e[11]+e[15];return n[0]=(A*e[0]+o*e[4]+t*e[8]+e[12])/a,n[1]=(A*e[1]+o*e[5]+t*e[9]+e[13])/a,n[2]=(A*e[2]+o*e[6]+t*e[10]+e[14])/a,n},t.translate=function(e,t,n){n=n||new H(16);var A=t[0],o=t[1],t=t[2],a=e[0],i=e[1],r=e[2],s=e[3],l=e[4],u=e[5],c=e[6],g=e[7],d=e[8],h=e[9],p=e[10],m=e[11],B=e[12],f=e[13],E=e[14],w=e[15];e!==n&&(n[0]=a,n[1]=i,n[2]=r,n[3]=s,n[4]=l,n[5]=u,n[6]=c,n[7]=g,n[8]=d,n[9]=h,n[10]=p,n[11]=m);return n[12]=a*A+l*o+d*t+B,n[13]=i*A+u*o+h*t+f,n[14]=r*A+c*o+p*t+E,n[15]=s*A+g*o+m*t+w,n},t.translation=function(e,t){return(t=t||new H(16))[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},t.transpose=function(e,t){var n,A,o,a,i,r,s,l,u,c,g,d,h,p,m;return(t=t||new H(16))===e?(n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n):(n=e[0],A=e[1],o=e[2],a=e[3],i=e[4],r=e[5],s=e[6],l=e[7],u=e[8],c=e[9],g=e[10],d=e[11],h=e[12],p=e[13],m=e[14],e=e[15],t[0]=n,t[1]=i,t[2]=u,t[3]=h,t[4]=A,t[5]=r,t[6]=c,t[7]=p,t[8]=o,t[9]=s,t[10]=g,t[11]=m,t[12]=a,t[13]=l,t[14]=d,t[15]=e),t};var r=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(3));var H=Float32Array,s=r.create(),l=r.create(),u=r.create();function o(e,t){return(t=t||new H(16))[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function A(e){return(e=e||new H(16))[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function a(e,t){t=t||new H(16);var n=e[0],A=e[1],o=e[2],a=e[3],i=e[4],r=e[5],s=e[6],l=e[7],u=e[8],c=e[9],g=e[10],d=e[11],h=e[12],p=e[13],m=e[14],e=e[15],B=g*e,f=m*d,E=s*e,w=m*l,C=s*d,I=g*l,y=o*e,b=m*a,M=o*d,Q=g*a,T=o*l,S=s*a,k=u*p,D=h*c,v=i*p,N=h*r,O=i*c,F=u*r,R=n*p,Y=h*A,x=n*c,_=u*A,U=n*r,G=i*A,L=B*r+w*c+C*p-(f*r+E*c+I*p),P=f*A+y*c+Q*p-(B*A+b*c+M*p),p=E*A+b*r+T*p-(w*A+y*r+S*p),A=I*A+M*r+S*c-(C*A+Q*r+T*c),r=1/(n*L+i*P+u*p+h*A);return t[0]=r*L,t[1]=r*P,t[2]=r*p,t[3]=r*A,t[4]=r*(f*i+E*u+I*h-(B*i+w*u+C*h)),t[5]=r*(B*n+b*u+M*h-(f*n+y*u+Q*h)),t[6]=r*(w*n+y*i+S*h-(E*n+b*i+T*h)),t[7]=r*(C*n+Q*i+T*u-(I*n+M*i+S*u)),t[8]=r*(k*l+N*d+O*e-(D*l+v*d+F*e)),t[9]=r*(D*a+R*d+_*e-(k*a+Y*d+x*e)),t[10]=r*(v*a+Y*l+U*e-(N*a+R*l+G*e)),t[11]=r*(F*a+x*l+G*d-(O*a+_*l+U*d)),t[12]=r*(v*g+F*m+D*s-(O*m+k*s+N*g)),t[13]=r*(x*m+k*o+Y*g-(R*g+_*m+D*o)),t[14]=r*(R*s+G*m+N*o-(U*m+v*o+Y*s)),t[15]=r*(U*g+O*o+_*s-(x*s+G*g+F*o)),t}},function(e,t,n){"use strict";t.__esModule=!0,t.createAttribsFromArrays=l,t.createBuffersFromArrays=function(t,n){var A={};Object.keys(n).forEach(function(e){A[e]=c(t,n[e],e)}),n.indices?(A.numElements=n.indices.length,A.elementType=d.getGLTypeForTypedArray(E(n.indices),"indices")):A.numElements=function(e){for(var t,n=0;n<u.length&&!((t=u[n])in e);++n);ii===u.length&&(t=Object.keys(e)[0]);var A=e[t],o=r(A).length,A=f(A,t),a=o/A;if(0<o%A)throw"numComponents "+A+" not correct for length "+o;return a}(n);return A},t.createBufferFromArray=c,t.createBufferFromTypedArray=p,t.createBufferInfoFromArrays=function(e,t){var n={attribs:l(e,t)},t=t.indices;t?(t=E(t,"indices"),n.indices=p(e,t,e.ELEMENT_ARRAY_BUFFER),n.numElements=t.length,n.elementType=d.getGLTypeForTypedArray(t)):n.numElements=function(e,t){var n,A;for(A=0;A<u.length&&!((n=u[A])in t)&&!((n=h.attribPrefix+n)in t);++A);A===u.length&&(n=Object.keys(t)[0]);var o=t[n],a=(e.bindBuffer(e.ARRAY_BUFFER,o.buffer),e.getBufferParameter(e.ARRAY_BUFFER,e.BUFFER_SIZE)),e=(e.bindBuffer(e.ARRAY_BUFFER,null),function(e,t){return t===e.BYTE||t===e.UNSIGNED_BYTE?1:t===e.SHORT||t===e.UNSIGNED_SHORT?2:t===e.INT||t===e.UNSIGNED_INT||t===e.FLOAT?4:0}(e,o.type)),a=a/e,e=o.numComponents||o.size,o=a/e;if(o%1==0)return o;throw"numComponents "+e+" not correct for length "+length}(e,n.attribs);return n},t.setAttribInfoBufferFromArray=function(e,t,n,A){n=E(n),void 0!==A?(e.bindBuffer(e.ARRAY_BUFFER,t.buffer),e.bufferSubData(e.ARRAY_BUFFER,A,n)):i(e,e.ARRAY_BUFFER,t.buffer,n,t.drawType)},t.setAttributePrefix=function(e){h.attribPrefix=e},t.setAttributeDefaults_=function(e){a.copyExistingProperties(e,h)},t.getNumComponents_=f,t.getArray_=r;var d=A(n(1)),a=A(n(0));function A(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var h={attribPrefix:""};function i(e,t,n,A,o){e.bindBuffer(t,n),e.bufferData(t,A,o||e.STATIC_DRAW)}function p(e,t,n,A){if(a.isBuffer(e,t))return t;n=n||e.ARRAY_BUFFER;var o=e.createBuffer();return i(e,n,o,t,A),o}function m(e){return"indices"===e}function r(e){return e.length?e:e.data}var o=/coord|texture/i,s=/color|colour/i;function B(e,t){var n=o.test(e)?2:s.test(e)?4:3;if(0<t%n)throw"Can not guess numComponents for attribute '"+e+"'. Tried "+n+" but "+t+" values is not evenly divisible by "+n+". You should specify it.";return n}function f(e,t){return e.numComponents||e.size||B(t,r(e).length)}function E(e,t){return d.isArrayBuffer(e)?e:d.isArrayBuffer(e.data)?e.data:new((e=Array.isArray(e)?{data:e}:e).type||(m(t)?Uint16Array:Float32Array))(e.data)}function l(u,c){var g={};return Object.keys(c).forEach(function(e){var t,n,A,o,a,i,r,s,l;m(e)||(n=(t=c[e]).attrib||t.name||t.attribName||h.attribPrefix+e,"number"==typeof t||"number"==typeof t.data?(r=(A=t.data||t)*(l=t.type||Float32Array).BYTES_PER_ELEMENT,o=d.getGLTypeForTypedArrayType(l),l=void 0!==t.normalize?t.normalize:(l=l)===Int8Array||l===Uint8Array,a=t.numComponents||t.size||B(e,A),i=u.createBuffer(),u.bindBuffer(u.ARRAY_BUFFER,i),u.bufferData(u.ARRAY_BUFFER,r,t.drawType||u.STATIC_DRAW)):(r=E(t,e),i=p(u,r,void 0,t.drawType),o=d.getGLTypeForTypedArray(r),l=void 0!==t.normalize?t.normalize:(s=r)instanceof Int8Array||s instanceof Uint8Array,a=f(t,e),A=r.length),g[n]={buffer:i,numComponents:a,type:o,normalize:l,stride:t.stride||0,offset:t.offset||0,divisor:void 0===t.divisor?void 0:t.divisor,drawType:t.drawType})}),u.bindBuffer(u.ARRAY_BUFFER,null),g}var u=["position","positions","a_position"];function c(e,t,n){var A="indices"===n?e.ELEMENT_ARRAY_BUFFER:e.ARRAY_BUFFER;return p(e,E(t,n),A)}},function(Y,e,t){"use strict";e.__esModule=!0,e.setTextureDefaults_=function(e){d.copyExistingProperties(e,I),e.textureColor&&G(e.textureColor)},e.createSampler=z,e.createSamplers=function(t,n){var A={};return Object.keys(n).forEach(function(e){A[e]=z(t,n[e])}),A},e.setSamplerParameters=j,e.createTexture=q,e.setEmptyTexture=X,e.setTextureFromArray=K,e.loadTextureFromUrl=J,e.setTextureFromElement=v,e.setTextureFilteringForSize=S,e.setTextureParameters=T,e.setDefaultTextureColor=G,e.createTextures=function(o,a,e){e=e||N;var i=0,r=[],s={},l={};function u(){0===i&&setTimeout(function(){e(r.length?r:void 0,s,l)},0)}return Object.keys(a).forEach(function(A){var e,t,n=a[A];("string"==typeof(t=n.src)||Array.isArray(t)&&"string"==typeof t[0])&&(e=function(e,t,n){l[A]=n,--i,e&&r.push(e),u()},++i),s[A]=q(o,n,e)}),u(),s},e.resizeTexture=function(e,t,n,A,o){A=A||n.width,o=o||n.height;var a,i=n.target||e.TEXTURE_2D,r=(e.bindTexture(i,t),n.level||0),s=n.internalFormat||n.format||e.RGBA,t=b(s),l=n.format||t.format,u=n.src;a=u&&(f(u)||Array.isArray(u)&&"number"==typeof u[0])?n.type||U(e,u,t.type):n.type||t.type;if(i===e.TEXTURE_CUBE_MAP)for(var c=0;c<6;++c)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+c,r,s,A,o,0,l,a,null);else e.texImage2D(i,r,s,A,o,0,l,a,null)},e.getNumComponentsForFormat=function(e){var t=u[e];if(t)return t.numColorComponents;throw"unknown format: "+e},e.getBytesPerElementForInternalFormat=x;var m=n(t(4)),B=n(t(1)),d=n(t(0)),C=(e=t(2))&&e.__esModule?e:{default:e};function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var I={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},f=B.isArrayBuffer,y=C.default.document&&C.default.document.createElement?C.default.document.createElement("canvas").getContext("2d"):null,t=6407,e=6408,A=5121,o=5126,a=5131,i=33320,r=36244,s=36248,l=36249,u={},c=u,g=(c[6406]={numColorComponents:1},c[6409]={numColorComponents:1},c[6410]={numColorComponents:2},c[t]={numColorComponents:3},c[e]={numColorComponents:4},c[6403]={numColorComponents:1},c[r]={numColorComponents:1},c[33319]={numColorComponents:2},c[i]={numColorComponents:2},c[t]={numColorComponents:3},c[s]={numColorComponents:3},c[e]={numColorComponents:4},c[l]={numColorComponents:4},c[6402]={numColorComponents:1},c[34041]={numColorComponents:2},{}),h=g;function x(e,t){e=g[e];if(!e)throw"unknown internal format";e=e.bytesPerElementMap[t];if(void 0===e)throw"unknown internal format";return e}function b(e){e=g[e];if(e)return{format:e.textureFormat,type:Array.isArray(e.type)?e.type[0]:e.type};throw"unknown internal format"}function _(e){return 0==(e&e-1)}function U(e,t,n){return f(t)?B.getGLTypeForTypedArray(t):n||e.UNSIGNED_BYTE}function E(e,t,n,A,o){if(o%1!=0)throw"can't guess dimensions";if(n||A){if(A){if(!n&&(n=o/A)%1)throw"can't guess dimensions"}else if((A=o/n)%1)throw"can't guess dimensions"}else{t=Math.sqrt(o/(t===e.TEXTURE_CUBE_MAP?6:1));A=t%1==0?n=t:(n=o,1)}return{width:n,height:A}}function G(e){I.textureColor=new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}h[6406]={textureFormat:6406,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[A,a,36193,o]},h[6409]={textureFormat:6409,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[A,a,36193,o]},h[6410]={textureFormat:6410,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[A,a,36193,o]},h[t]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[A,a,36193,o,33635]},h[e]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[A,a,36193,o,32819,32820]},h[33321]={textureFormat:6403,colorRenderable:!0,textureFilterable:!0,bytesPerElement:1,type:A},h[36756]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:1,type:5120},h[33325]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[o,a]},h[33326]={textureFormat:6403,colorRenderable:!1,textureFilterable:!1,bytesPerElement:4,type:o},h[33330]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:A},h[33329]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:5120},h[33332]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5123},h[33331]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5122},h[33334]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},h[33333]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5124},h[33323]={textureFormat:33319,colorRenderable:!0,textureFilterable:!0,bytesPerElement:2,type:A},h[36757]={textureFormat:33319,colorRenderable:!1,textureFilterable:!0,bytesPerElement:2,type:5120},h[33327]={textureFormat:33319,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[o,a]},h[33328]={textureFormat:33319,colorRenderable:!1,textureFilterable:!1,bytesPerElement:8,type:o},h[33336]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:A},h[33335]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5120},h[33338]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5123},h[33337]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5122},h[33340]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5125},h[33339]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5124},h[32849]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:3,type:A},h[35905]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:A},h[36194]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[A,33635]},h[36758]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:5120},h[35898]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[o,a,35899]},h[35901]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[o,a,35902]},h[34843]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[o,a]},h[34837]={textureFormat:t,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:o},h[36221]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:A},h[36239]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:5120},h[36215]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5123},h[36233]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5122},h[36209]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5125},h[36227]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5124},h[32856]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:A},h[35907]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:A},h[36759]={textureFormat:e,colorRenderable:!1,textureFilterable:!0,bytesPerElement:4,type:5120},h[32855]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[A,32820,33640]},h[32854]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[A,32819]},h[32857]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:33640},h[34842]={textureFormat:e,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[o,a]},h[34836]={textureFormat:e,colorRenderable:!1,textureFilterable:!1,bytesPerElement:16,type:o},h[36220]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:A},h[36238]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5120},h[36975]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:33640},h[36214]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5123},h[36232]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5122},h[36226]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5124},h[36208]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5125},h[33189]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5123,5125]},h[33190]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},h[36012]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:o},h[35056]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:34042},h[36013]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:36269},Object.keys(h).forEach(function(e){var n=h[e];n.bytesPerElementMap={},Array.isArray(n.bytesPerElement)?n.bytesPerElement.forEach(function(e,t){t=n.type[t];n.bytesPerElementMap[t]=e}):(e=n.type,n.bytesPerElementMap[e]=n.bytesPerElement)});var p={};function M(e,t){void 0!==t.colorspaceConversion&&(p.colorspaceConversion=e.getParameter(e.UNPACK_COLORSPACE_CONVERSION_WEBGL),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.colorspaceConversion)),void 0!==t.premultiplyAlpha&&(p.premultiplyAlpha=e.getParameter(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha)),void 0!==t.flipY&&(p.flipY=e.getParameter(e.UNPACK_FLIP_Y_WEBGL),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY))}function Q(e,t){void 0!==t.colorspaceConversion&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,p.colorspaceConversion),void 0!==t.premultiplyAlpha&&e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p.premultiplyAlpha),void 0!==t.flipY&&e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,p.flipY)}function L(e){p.unpackAlignment=e.getParameter(e.UNPACK_ALIGNMENT),m.isWebGL2(e)&&(p.unpackRowLength=e.getParameter(e.UNPACK_ROW_LENGTH),p.unpackImageHeight=e.getParameter(e.UNPACK_IMAGE_HEIGHT),p.unpackSkipPixels=e.getParameter(e.UNPACK_SKIP_PIXELS),p.unpackSkipRows=e.getParameter(e.UNPACK_SKIP_ROWS),p.unpackSkipImages=e.getParameter(e.UNPACK_SKIP_IMAGES))}function P(e){e.pixelStorei(e.UNPACK_ALIGNMENT,p.unpackAlignment),m.isWebGL2(e)&&(e.pixelStorei(e.UNPACK_ROW_LENGTH,p.unpackRowLength),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,p.unpackImageHeight),e.pixelStorei(e.UNPACK_SKIP_PIXELS,p.unpackSkipPixels),e.pixelStorei(e.UNPACK_SKIP_ROWS,p.unpackSkipRows),e.pixelStorei(e.UNPACK_SKIP_IMAGES,p.unpackSkipImages))}function H(e,t,n,A){A.minMag&&(n.call(e,t,e.TEXTURE_MIN_FILTER,A.minMag),n.call(e,t,e.TEXTURE_MAG_FILTER,A.minMag)),A.min&&n.call(e,t,e.TEXTURE_MIN_FILTER,A.min),A.mag&&n.call(e,t,e.TEXTURE_MAG_FILTER,A.mag),A.wrap&&(n.call(e,t,e.TEXTURE_WRAP_S,A.wrap),n.call(e,t,e.TEXTURE_WRAP_T,A.wrap),t!==e.TEXTURE_3D&&!d.isSampler(e,t)||n.call(e,t,e.TEXTURE_WRAP_R,A.wrap)),A.wrapR&&n.call(e,t,e.TEXTURE_WRAP_R,A.wrapR),A.wrapS&&n.call(e,t,e.TEXTURE_WRAP_S,A.wrapS),A.wrapT&&n.call(e,t,e.TEXTURE_WRAP_T,A.wrapT),A.minLod&&n.call(e,t,e.TEXTURE_MIN_LOD,A.minLod),A.maxLod&&n.call(e,t,e.TEXTURE_MAX_LOD,A.maxLod),A.baseLevel&&n.call(e,t,e.TEXTURE_BASE_LEVEL,A.baseLevel),A.maxLevel&&n.call(e,t,e.TEXTURE_MAX_LEVEL,A.maxLevel)}function T(e,t,n){var A=n.target||e.TEXTURE_2D;e.bindTexture(A,t),H(e,A,e.texParameteri,n)}function j(e,t,n){H(e,t,e.samplerParameteri,n)}function z(e,t){var n=e.createSampler();return j(e,n,t),n}function S(e,t,n,A,o,a,i){n=n||I.textureOptions,a=a||e.RGBA,i=i||e.UNSIGNED_BYTE;i=n.target||e.TEXTURE_2D;A=A||n.width,o=o||n.height,e.bindTexture(i,t),!function(e,t,n,A){if(!m.isWebGL2(e))return _(t)&&_(n);if(e=g[A])return e.colorRenderable&&e.textureFilterable;throw"unknown internal format"}(e,A,o,a)?(n=function(e){if(e=g[e])return e.textureFilterable;throw"unknown internal format"}(a)?e.LINEAR:e.NEAREST,e.texParameteri(i,e.TEXTURE_MIN_FILTER,n),e.texParameteri(i,e.TEXTURE_MAG_FILTER,n),e.texParameteri(i,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(i,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)):e.generateMipmap(i)}function k(e){return!0===e.auto||void 0===e.auto&&void 0===e.level}function w(e,t){return(t=t||{}).cubeFaceOrder||[e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z]}function D(e,t){e=w(e,t).map(function(e,t){return{face:e,ndx:t}});return e.sort(function(e,t){return e.face-t.face}),e}function v(A,o,a,i){var r=(i=i||I.textureOptions).target||A.TEXTURE_2D,s=i.level||0,l=a.width,u=a.height,c=i.internalFormat||i.format||A.RGBA,e=b(c),g=i.format||e.format,d=i.type||e.type;if(M(A,i),A.bindTexture(r,o),r===A.TEXTURE_CUBE_MAP){var h,p,e=a.width,t=a.height;if(e/6===t)h=t,p=[0,0,1,0,2,0,3,0,4,0,5,0];else if(t/6===e)h=e,p=[0,0,0,1,0,2,0,3,0,4,0,5];else if(e/3==t/2)h=e/3,p=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(e/2!=t/3)throw"can't figure out cube map from element: "+(a.src||a.nodeName);h=e/2,p=[0,0,1,0,0,1,1,1,0,2,1,2]}y?(y.canvas.width=h,y.canvas.height=h,u=l=h,D(A,i).forEach(function(e){var t=p[2*e.ndx+0]*h,n=p[2*e.ndx+1]*h;y.drawImage(a,t,n,h,h,0,0,h,h),A.texImage2D(e.face,s,c,g,d,y.canvas)}),y.canvas.width=1,y.canvas.height=1):C.default.createImageBitmap&&(u=l=h,D(A,i).forEach(function(t){var e=p[2*t.ndx+0]*h,n=p[2*t.ndx+1]*h;A.texImage2D(t.face,s,c,h,h,0,g,d,null),C.default.createImageBitmap(a,e,n,h,h,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then(function(e){M(A,i),A.bindTexture(r,o),A.texImage2D(t.face,s,c,g,d,e),Q(A,i),k(i)&&S(A,o,i,l,u,c,d)})}))}else if(r===A.TEXTURE_3D||r===A.TEXTURE_2D_ARRAY){var n=Math.min(a.width,a.height),t=Math.max(a.width,a.height),m=t/n;if(m%1!=0)throw"can not compute 3D dimensions of element";var B=a.width===t?1:0,f=a.height===t?1:0;L(A),A.pixelStorei(A.UNPACK_ALIGNMENT,1),A.pixelStorei(A.UNPACK_ROW_LENGTH,a.width),A.pixelStorei(A.UNPACK_IMAGE_HEIGHT,0),A.pixelStorei(A.UNPACK_SKIP_IMAGES,0),A.texImage3D(r,s,c,n,n,n,0,g,d,null);for(var E=0;E<m;++E){var w=E*n*f;A.pixelStorei(A.UNPACK_SKIP_PIXELS,E*n*B),A.pixelStorei(A.UNPACK_SKIP_ROWS,w),A.texSubImage3D(r,s,0,0,E,n,n,1,g,d,a)}P(A)}else A.texImage2D(r,s,c,g,d,a);Q(A,i),k(i)&&S(A,o,i,l,u,c,d),T(A,o,i)}function N(){}function O(e){return C.default.ImageBitmap&&e instanceof C.default.ImageBitmap||C.default.ImageData&&e instanceof C.default.ImageData||C.default.HTMLElement&&e instanceof C.default.HTMLElement}function F(e,t,n){return O(e)?(setTimeout(function(){n(null,e)}),e):(A=e,t=t,o=(o=n)||N,C.default.Image?(a=new C.default.Image,void 0!==(t=void 0!==t?t:I.crossOrigin)&&(a.crossOrigin=t),i=function(){a.removeEventListener("error",r),a.removeEventListener("load",s),a=null},r=function(){var e="couldn't load image: "+A;d.error(e),o(e,a),i()},s=function(){o(null,a),i()},a.addEventListener("error",r),a.addEventListener("load",s),a.src=A):C.default.ImageBitmap&&(c=function(){o(l,u)},g={},t&&(g.mode="cors"),fetch(A,g).then(function(e){if(e.ok)return e.blob();throw e}).then(function(e){return C.default.createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"})}).then(function(e){u=e,setTimeout(c)}).catch(function(e){l=e,setTimeout(c)}),a=null),a);var A,o,a,i,r,s,l,u,c,g}function R(e,t,n){var A=(n=n||I.textureOptions).target||e.TEXTURE_2D;if(e.bindTexture(A,t),!1!==n.color){t=(t=n.color)||I.textureColor;var o=f(t)?t:new Uint8Array([255*t[0],255*t[1],255*t[2],255*t[3]]);if(A===e.TEXTURE_CUBE_MAP)for(var a=0;a<6;++a)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+a,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o);else A===e.TEXTURE_3D||A===e.TEXTURE_2D_ARRAY?e.texImage3D(A,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o):e.texImage2D(A,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o)}}function J(n,A,o,a){return a=a||N,o=o||I.textureOptions,R(n,A,o),F((o=Object.assign({},o)).src,o.crossOrigin,function(e,t){e?a(e,A,t):(v(n,A,t,o),a(null,A,t))})}function W(A,o,a,i){i=i||N;var e=a.src;if(6!==e.length)throw"there must be 6 urls for a cubemap";var r=a.level||0,s=a.internalFormat||a.format||A.RGBA,t=b(s),l=a.format||t.format,u=a.type||A.UNSIGNED_BYTE,c=a.target||A.TEXTURE_2D;if(c!==A.TEXTURE_CUBE_MAP)throw"target must be TEXTURE_CUBE_MAP";R(A,o,a),a=Object.assign({},a);var g,d=6,h=[],p=w(A,a);g=e.map(function(e,t){return F(e,a.crossOrigin,(n=p[t],function(e,t){--d,e?h.push(e):t.width!==t.height?h.push("cubemap face img is not a square: "+t.src):(M(A,a),A.bindTexture(c,o),5===d?w(A).forEach(function(e){A.texImage2D(e,r,s,l,u,t)}):A.texImage2D(n,r,s,l,u,t),Q(A,a),k(a)&&A.generateMipmap(c)),0===d&&i(h.length?h:void 0,o,g)}));var n})}function V(o,a,i,r){r=r||N;var e=i.src,s=i.internalFormat||i.format||o.RGBA,t=b(s),l=i.format||t.format,u=i.type||o.UNSIGNED_BYTE,c=i.target||o.TEXTURE_2D_ARRAY;if(c!==o.TEXTURE_3D&&c!==o.TEXTURE_2D_ARRAY)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";R(o,a,i),i=Object.assign({},i);var g,d=e.length,h=[],p=i.level||0,m=i.width,B=i.height,f=e.length,E=!0;g=e.map(function(e,t){return F(e,i.crossOrigin,(A=t,function(e,t){if(--d,e)h.push(e);else{if(M(o,i),o.bindTexture(c,a),E){E=!1,m=i.width||t.width,B=i.height||t.height,o.texImage3D(c,p,s,m,B,f,0,l,u,null);for(var n=0;n<f;++n)o.texSubImage3D(c,p,0,0,n,m,B,1,l,u,t)}else{e=t;t.width===m&&t.height===B||(e=y.canvas,y.canvas.width=m,y.canvas.height=B,y.drawImage(t,0,0,m,B)),o.texSubImage3D(c,p,0,0,A,m,B,1,l,u,e),e===y.canvas&&(y.canvas.width=0,y.canvas.height=0)}Q(o,i),k(i)&&o.generateMipmap(c)}0===d&&r(h.length?h:void 0,a,g)}));var A})}function K(n,e,A,t){var o,a,i=(t=t||I.textureOptions).target||n.TEXTURE_2D,r=(n.bindTexture(i,e),t.width),s=t.height,e=t.depth,l=t.level||0,u=t.internalFormat||t.format||n.RGBA,c=b(u),g=t.format||c.format,d=t.type||U(n,A,c.type),c=(f(A)?A instanceof Uint8ClampedArray&&(A=new Uint8Array(A.buffer)):(c=B.getTypedArrayTypeForGLType(d),A=new c(A)),x(u,d)),h=A.byteLength/c;if(h%1)throw"length wrong size for format: "+m.glEnumToString(n,g);if(i===n.TEXTURE_3D)if(r||s||e)!r||s&&e?!s||r&&e?(o=E(n,i,r,s,h/e),r=o.width,s=o.height):(o=E(n,i,r,e,h/s),r=o.width,e=o.height):(o=E(n,i,s,e,h/r),s=o.width,e=o.height);else{var p=Math.cbrt(h);if(p%1!=0)throw"can't guess cube size of array of numElements: "+h;e=s=r=p}else o=E(n,i,r,s,h),r=o.width,s=o.height;return L(n),n.pixelStorei(n.UNPACK_ALIGNMENT,t.unpackAlignment||1),M(n,t),i===n.TEXTURE_CUBE_MAP?(a=h/6*(c/A.BYTES_PER_ELEMENT),D(n,t).forEach(function(e){var t=a*e.ndx,t=A.subarray(t,t+a);n.texImage2D(e.face,l,u,r,s,0,g,d,t)})):i===n.TEXTURE_3D?n.texImage3D(i,l,u,r,s,e,0,g,d,A):n.texImage2D(i,l,u,r,s,0,g,d,A),Q(n,t),P(n),{width:r,height:s,depth:e,type:d}}function X(e,t,n){var A=n.target||e.TEXTURE_2D,o=(e.bindTexture(A,t),n.level||0),a=n.internalFormat||n.format||e.RGBA,t=b(a),i=n.format||t.format,r=n.type||t.type;if(M(e,n),A===e.TEXTURE_CUBE_MAP)for(var s=0;s<6;++s)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+s,o,a,n.width,n.height,0,i,r,null);else A===e.TEXTURE_3D?e.texImage3D(A,o,a,n.width,n.height,n.depth,0,i,r,null):e.texImage2D(A,o,a,n.width,n.height,0,i,r,null);Q(e,n)}function q(e,t,n){n=n||N,t=t||I.textureOptions;var A=e.createTexture(),o=t.target||e.TEXTURE_2D,a=t.width||1,i=t.height||1,r=t.internalFormat||e.RGBA,s=b(r),s=t.type||s.type,l=(e.bindTexture(o,A),o===e.TEXTURE_CUBE_MAP&&(e.texParameteri(o,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(o,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),t.src);if(l)if("string"==typeof(l="function"==typeof l?l(e,t):l))J(e,A,t,n);else if(f(l)||Array.isArray(l)&&("number"==typeof l[0]||Array.isArray(l[0])||f(l[0])))var u=K(e,A,l,t),a=u.width,i=u.height,s=u.type;else if(Array.isArray(l)&&("string"==typeof l[0]||O(l[0])))(o===e.TEXTURE_CUBE_MAP?W:V)(e,A,t,n);else{if(!O(l))throw"unsupported src type";v(e,A,l,t),a=l.width,i=l.height}else X(e,A,t);return k(t)&&S(e,A,t,a,i,r,s),T(e,A,t),A}},function(e,t,n){"use strict";var A={m4:t.__esModule=!0,v3:!0,primitives:!0},o=(t.primitives=t.v3=t.m4=void 0,i(n(6))),o=(t.m4=o,i(n(3))),o=(t.v3=o,i(n(10))),a=(t.primitives=o,n(11));function i(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}Object.keys(a).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=a[e])})},function(Y,e,t){"use strict";e.__esModule=!0,e.create3DFVertices=M,e.createAugmentedTypedArray=D,e.createCubeVertices=I,e.createPlaneVertices=m,e.createSphereVertices=E,e.createTruncatedConeVertices=y,e.createXYQuadVertices=p,e.createCresentVertices=Q,e.createCylinderVertices=T,e.createTorusVertices=S,e.createDiscVertices=k,e.deindexVertices=function(r){var s=r.indices,l={},u=s.length;return Object.keys(r).filter(c).forEach(function(e){for(var t=r[e],n=t.numComponents,A=D(n,u,t.constructor),o=0;o<u;++o)for(var a=s[o]*n,i=0;i<n;++i)A.push(t[a+i]);l[e]=A}),l},e.flattenNormals=function(e){if(e.indices)throw"can't flatten normals of indexed vertices. deindex them first";for(var t=e.normal,n=t.length,A=0;A<n;A+=9){var o=t[A+0],a=t[A+1],i=t[A+2],r=t[A+3],s=t[A+4],l=t[A+5],u=t[A+6],c=t[A+7],g=t[A+8],o=o+r+u,r=a+s+c,u=i+l+g,a=Math.sqrt(o*o+r*r+u*u);o/=a,r/=a,u/=a,t[A+0]=o,t[A+1]=r,t[A+2]=u,t[A+3]=o,t[A+4]=r,t[A+5]=u,t[A+6]=o,t[A+7]=r,t[A+8]=u}return e},e.makeRandomVertexColors=function(e,t){t=t||{};var n=e.position.numElements,A=D(4,n,Uint8Array),o=t.rand||function(e,t){return t<3?256*Math.random()|0:255};if(e.color=A,e.indices)for(var a=0;a<n;++a)A.push(o(a,0),o(a,1),o(a,2),o(a,3));else for(var i=t.vertsPerColor||3,r=n/i,s=0;s<r;++s)for(var l=[o(s,0),o(s,1),o(s,2),o(s,3)],u=0;u<i;++u)A.push(l);return e},e.reorientDirections=u,e.reorientNormals=d,e.reorientPositions=h,e.reorientVertices=f,e.concatVertices=function(l){for(var o,a={},e=0;e<l.length;++e)!function(e){var A=l[e];Object.keys(A).forEach(function(e){a[e]||(a[e]=[]),o||"indices"===e||(o=e);var t=A[e],n=i(t,e),t=g(t).length/n;a[e].push(t)})}(e);var u=a[o],c={};return Object.keys(a).forEach(function(e){for(var t=function(e){for(var t,n=0,A=0;A<l.length;++A){var o=l[A][e];n+=g(o).length,t&&!o.data||(t=o)}return{length:n,spec:t}}(e),t=R(t.spec,t.length),n=e,A=u,o=g(t),a=0,i=0,r=0;r<l.length;++r){var s=l[r][n],s=g(s);"indices"===n?(F(s,o,i,a),a+=A[r]):F(s,o,i),i+=s.length}c[e]=t}),c},e.duplicateVertices=function(A){var o={};return Object.keys(A).forEach(function(e){var t=A[e],n=g(t),t=R(t,n.length);F(n,g(t),0),o[e]=t}),o},e.createDiscBuffers=e.createDiscBufferInfo=e.createTorusBuffers=e.createTorusBufferInfo=e.createCylinderBuffers=e.createCylinderBufferInfo=e.createCresentBuffers=e.createCresentBufferInfo=e.createXYQuadBuffers=e.createXYQuadBufferInfo=e.createTruncatedConeBuffers=e.createTruncatedConeBufferInfo=e.createSphereBuffers=e.createSphereBufferInfo=e.createPlaneBuffers=e.createPlaneBufferInfo=e.createCubeBuffers=e.createCubeBufferInfo=e.create3DFBuffers=e.create3DFBufferInfo=void 0;var A=n(t(7)),o=n(t(0)),a=n(t(1)),B=n(t(6)),w=n(t(3));function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var g=A.getArray_,i=A.getNumComponents_;function r(A,e){var o=0;return A.push=function(){for(var e=0;e<arguments.length;++e){var t=arguments[e];if(t instanceof Array||a.isArrayBuffer(t))for(var n=0;n<t.length;++n)A[o++]=t[n];else A[o++]=t}},A.reset=function(e){o=e||0},A.numComponents=e,Object.defineProperty(A,"numElements",{get:function(){return this.length/this.numComponents|0}}),A}function D(e,t,n){return r(new(n||Float32Array)(e*t),e)}function c(e){return"indices"!==e}function s(e,t,n){for(var A=e.length,o=new Float32Array(3),a=0;a<A;a+=3)n(t,[e[a],e[a+1],e[a+2]],o),e[a]=o[0],e[a+1]=o[1],e[a+2]=o[2]}function l(e,t,n){n=n||w.create();var A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[1]+t*e[2],n[1]=A*e[4]+o*e[5]+t*e[6],n[2]=A*e[8]+o*e[9]+t*e[10],n}function u(e,t){return s(e,t,B.transformDirection),e}function d(e,t){return s(e,B.inverse(t),l),e}function h(e,t){return s(e,t,B.transformPoint),e}function f(n,A){return Object.keys(n).forEach(function(e){var t=n[e];0<=e.indexOf("pos")?h(t,A):0<=e.indexOf("tan")||0<=e.indexOf("binorm")?u(t,A):0<=e.indexOf("norm")&&d(t,A)}),n}function p(e,t,n){return e=e||2,{position:{numComponents:2,data:[(t=t||0)+-1*(e*=.5),(n=n||0)+-1*e,t+ +e,n+-1*e,t+-1*e,n+ +e,t+ +e,n+ +e]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function m(e,t,n,A,o){e=e||1,t=t||1,n=n||1,A=A||1,o=o||B.identity();for(var a=(n+1)*(A+1),i=D(3,a),r=D(3,a),s=D(2,a),l=0;l<=A;l++)for(var u=0;u<=n;u++){var c=u/n,g=l/A;i.push(e*c-.5*e,0,t*g-.5*t),r.push(0,1,0),s.push(c,g)}for(var d=n+1,h=D(3,n*A*2,Uint16Array),p=0;p<A;p++)for(var m=0;m<n;m++)h.push((p+0)*d+m,(p+1)*d+m,(p+0)*d+m+1),h.push((p+1)*d+m,(p+1)*d+m+1,(p+0)*d+m+1);return f({position:i,normal:r,texcoord:s,indices:h},o)}function E(e,t,n,A,o,a,i){if(t<=0||n<=0)throw Error("subdivisionAxis and subdivisionHeight must be > 0");A=A||0,a=a||0;for(var r=(o=o||Math.PI)-A,s=(i=i||2*Math.PI)-a,o=(t+1)*(n+1),l=D(3,o),u=D(3,o),c=D(2,o),g=0;g<=n;g++)for(var d=0;d<=t;d++){var h=d/t,p=g/n,m=s*h,B=r*p,f=Math.sin(m),m=Math.cos(m),E=Math.sin(B),m=m*E,B=Math.cos(B),f=f*E;l.push(e*m,e*B,e*f),u.push(m,B,f),c.push(1-h,p)}for(var w=t+1,C=D(3,t*n*2,Uint16Array),I=0;I<t;I++)for(var y=0;y<n;y++)C.push((y+0)*w+I,(y+0)*w+I+1,(y+1)*w+I),C.push((y+1)*w+I,(y+0)*w+I+1,(y+1)*w+I+1);return{position:l,normal:u,texcoord:c,indices:C}}var C=[[3,7,5,1],[6,2,0,4],[6,7,3,2],[0,1,5,4],[7,6,4,5],[2,3,1,0]];function I(e){for(var e=(e=e||1)/2,t=[[-e,-e,-e],[e,-e,-e],[-e,e,-e],[e,e,-e],[-e,-e,e],[e,-e,e],[-e,e,e],[e,e,e]],n=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],A=[[1,0],[0,0],[0,1],[1,1]],o=D(3,24),a=D(3,24),i=D(2,24),r=D(3,12,Uint16Array),s=0;s<6;++s){for(var l=C[s],u=0;u<4;++u){var c=t[l[u]],g=n[s],d=A[u];o.push(c),a.push(g),i.push(d)}var h=4*s;r.push(0+h,1+h,2+h),r.push(0+h,2+h,3+h)}return{position:o,normal:a,texcoord:i,indices:r}}function y(e,t,n,A,o,a,i){if(A<3)throw Error("radialSubdivisions must be 3 or greater");if(o<1)throw Error("verticalSubdivisions must be 1 or greater");for(var a=void 0===a||a,i=void 0===i||i,r=(a?2:0)+(i?2:0),s=(A+1)*(o+1+r),l=D(3,s),u=D(3,s),c=D(2,s),g=D(3,A*(o+r)*2,Uint16Array),d=A+1,s=Math.atan2(e-t,n),h=Math.cos(s),p=Math.sin(s),m=o+(i?2:0),B=a?-2:0;B<=m;++B){var f=B/o,E=n*f,w=void 0,w=B<0?(E=0,f=1,e):o<B?(E=n,f=1,t):e+B/o*(t-e);-2!==B&&B!==o+2||(f=w=0),E-=n/2;for(var C=0;C<d;++C){var I=Math.sin(C*Math.PI*2/A),y=Math.cos(C*Math.PI*2/A);l.push(I*w,E,y*w),u.push(B<0||o<B?0:I*h,B<0?-1:o<B?1:p,B<0||o<B?0:y*h),c.push(C/A,1-f)}}for(var b=0;b<o+r;++b)for(var M=0;M<A;++M)g.push(d*(b+0)+0+M,d*(b+0)+1+M,d*(b+1)+1+M),g.push(d*(b+0)+0+M,d*(b+1)+1+M,d*(b+1)+0+M);return{position:l,normal:u,texcoord:c,indices:g}}function b(e,t){t=t||[];for(var n=[],A=0;A<e.length;A+=4){var o=e[A],a=e.slice(A+1,A+4);a.push.apply(a,t);for(var i=0;i<o;++i)n.push.apply(n,a)}return n}function M(){var e=[0,0,0,0,150,0,30,0,0,0,150,0,30,150,0,30,0,0,30,0,0,30,30,0,100,0,0,30,30,0,100,30,0,100,0,0,30,60,0,30,90,0,67,60,0,30,90,0,67,90,0,67,60,0,0,0,30,30,0,30,0,150,30,0,150,30,30,0,30,30,150,30,30,0,30,100,0,30,30,30,30,30,30,30,100,0,30,100,30,30,30,60,30,67,60,30,30,90,30,30,90,30,67,60,30,67,90,30,0,0,0,100,0,0,100,0,30,0,0,0,100,0,30,0,0,30,100,0,0,100,30,0,100,30,30,100,0,0,100,30,30,100,0,30,30,30,0,30,30,30,100,30,30,30,30,0,100,30,30,100,30,0,30,30,0,30,60,30,30,30,30,30,30,0,30,60,0,30,60,30,30,60,0,67,60,30,30,60,30,30,60,0,67,60,0,67,60,30,67,60,0,67,90,30,67,60,30,67,60,0,67,90,0,67,90,30,30,90,0,30,90,30,67,90,30,30,90,0,67,90,30,67,90,0,30,90,0,30,150,30,30,90,30,30,90,0,30,150,0,30,150,30,0,150,0,0,150,30,30,150,30,0,150,0,30,150,30,30,150,0,0,0,0,0,0,30,0,150,30,0,0,0,0,150,30,0,150,0],t=b([18,0,0,1,18,0,0,-1,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,-1,0,6,-1,0,0]),n=b([18,200,70,120,18,80,70,200,6,70,200,210,6,200,200,70,6,210,100,70,6,210,160,70,6,70,180,210,6,100,70,210,6,76,210,100,6,140,210,80,6,90,130,110,6,160,160,220],[255]),A=e.length/3,o={position:D(3,A),texcoord:D(2,A),normal:D(3,A),color:D(4,A,Uint8Array),indices:D(3,A/3,Uint16Array)};o.position.push(e),o.texcoord.push([.22,.19,.22,.79,.34,.19,.22,.79,.34,.79,.34,.19,.34,.19,.34,.31,.62,.19,.34,.31,.62,.31,.62,.19,.34,.43,.34,.55,.49,.43,.34,.55,.49,.55,.49,.43,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0]),o.normal.push(t),o.color.push(n);for(var a=0;a<A;++a)o.indices.push(a);return o}function Q(g,e,t,d,h,p,n){if(h<=0)throw Error("subdivisionDown must be > 0");var m=(n=n||1)-(p=p||0),n=2*(h+1)*4,B=D(3,n),f=D(3,n),E=D(2,n);function A(e,t,n,A,o,a){for(var i=0;i<=h;i++){var r=+t,s=i/h,l=2*(r-.5),u=(p+s*m)*Math.PI,c=Math.sin(u),u=Math.cos(u),l=(B.push(l*d,u*g,c*(g+(e-g)*c)),w.add(w.multiply([0,c,u],n),A));f.push(l),E.push(r*o+a,s)}}for(var o=0;o<2;o++){var a=2*(+o-.5);A(e,o,[1,1,1],[0,0,0],1,0),A(e,o,[0,0,0],[a,0,0],0,0),A(t,o,[1,1,1],[0,0,0],1,0),A(t,o,[0,0,0],[a,0,0],0,1)}var i=D(3,2*h*4,Uint16Array);function r(e,t){for(var n=0;n<h;++n)i.push(e+n+0,e+n+1,t+n+0),i.push(e+n+1,t+n+1,t+n+0)}n=h+1;return r(0*n,4*n),r(5*n,7*n),r(6*n,2*n),r(3*n,+n),{position:B,normal:f,texcoord:E,indices:i}}function T(e,t,n,A,o,a){return y(e,e,t,n,A,o,a)}function S(e,t,n,A,o,a){if(n<3)throw Error("radialSubdivisions must be 3 or greater");if(A<3)throw Error("verticalSubdivisions must be 3 or greater");o=o||0;for(var i=(a=a||2*Math.PI)-o,r=n+1,s=A+1,a=r*s,l=D(3,a),u=D(3,a),c=D(2,a),g=D(3,n*A*2,Uint16Array),d=0;d<s;++d)for(var h=d/A,p=h*Math.PI*2,m=Math.sin(p),B=e+m*t,f=Math.cos(p),E=f*t,w=0;w<r;++w){var C=w/n,I=o+C*i,y=Math.sin(I),I=Math.cos(I),b=y*m,M=I*m;l.push(y*B,E,I*B),u.push(b,f,M),c.push(C,1-h)}for(var Q=0;Q<A;++Q)for(var T=0;T<n;++T){var S=1+T,k=1+Q;g.push(r*Q+T,r*k+T,r*Q+S),g.push(r*k+T,r*k+S,r*Q+S)}return{position:l,normal:u,texcoord:c,indices:g}}function k(e,t,n,A,o){if(t<3)throw Error("divisions must be at least 3");o=o||1,A=A||0;for(var a=(t+1)*((n=n||1)+1),i=D(3,a),r=D(3,a),s=D(2,a),l=D(3,n*t*2,Uint16Array),u=0,c=e-A,g=t+1,d=0;d<=n;++d){for(var h=A+c*Math.pow(d/n,o),p=0;p<=t;++p){var m,B=2*Math.PI*p/t,f=h*Math.cos(B),B=h*Math.sin(B);i.push(f,0,B),r.push(0,1,0),s.push(1-p/t,d/n),0<d&&p!==t&&(B=(f=u+(p+1))-g,l.push(f,u+p,m=u+p-g),l.push(f,m,B))}u+=t+1}return{position:i,normal:r,texcoord:s,indices:l}}function v(n){return function(e){var t=n.apply(this,Array.prototype.slice.call(arguments,1));return A.createBuffersFromArrays(e,t)}}function N(n){return function(e){var t=n.apply(null,Array.prototype.slice.call(arguments,1));return A.createBufferInfoFromArrays(e,t)}}var O=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function F(e,t,n,A){A=A||0;for(var o=e.length,a=0;a<o;++a)t[n+a]=e[a]+A}function R(e,t){var n=g(e),t=new n.constructor(t),A=t;return n.numComponents&&n.numElements&&r(t,n.numComponents),e.data&&o.copyNamedProperties(O,e,A={data:t}),A}t=N(M),e.create3DFBufferInfo=t,t=v(M),e.create3DFBuffers=t,t=N(I),e.createCubeBufferInfo=t,t=v(I),e.createCubeBuffers=t,t=N(m),e.createPlaneBufferInfo=t,t=v(m),e.createPlaneBuffers=t,t=N(E),e.createSphereBufferInfo=t,t=v(E),e.createSphereBuffers=t,t=N(y),e.createTruncatedConeBufferInfo=t,t=v(y),e.createTruncatedConeBuffers=t,t=N(p),e.createXYQuadBufferInfo=t,t=v(p),e.createXYQuadBuffers=t,t=N(Q),e.createCresentBufferInfo=t,t=v(Q),e.createCresentBuffers=t,t=N(T),e.createCylinderBufferInfo=t,t=v(T),e.createCylinderBuffers=t,t=N(S),e.createTorusBufferInfo=t,t=v(S),e.createTorusBuffers=t,t=N(k),e.createDiscBufferInfo=t,t=v(k);e.createDiscBuffers=t},function(e,t,n){"use strict";var A={addExtensionsToContext:t.__esModule=!0,getContext:!0,getWebGLContext:!0,resizeCanvasToDisplaySize:!0,setDefaults:!0},o=(t.addExtensionsToContext=B,t.getContext=function(e,t){return function(e,t){for(var n=["webgl2","webgl","experimental-webgl"],A=null,o=0;o<n.length;++o)if(A=e.getContext(n[o],t)){h.addExtensionsToContext&&B(A);break}return A}(e,t)},t.getWebGLContext=function(e,t){return function(e,t){for(var n=["webgl","experimental-webgl"],A=null,o=0;o<n.length;++o)if(A=e.getContext(n[o],t)){h.addExtensionsToContext&&B(A);break}return A}(e,t)},t.resizeCanvasToDisplaySize=function(e,t){t=t||1,t=Math.max(0,t);var n=e.clientWidth*t|0,t=e.clientHeight*t|0;return(e.width!==n||e.height!==t)&&(e.width=n,e.height=t,!0)},t.setDefaults=function(e){c.copyExistingProperties(e,h),o.setAttributeDefaults_(e),a.setTextureDefaults_(e)},d(n(7))),a=(Object.keys(o).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=o[e])}),d(n(8))),c=(Object.keys(a).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=a[e])}),d(n(0))),g=d(n(4)),i=(Object.keys(g).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=g[e])}),n(12)),r=(Object.keys(i).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=i[e])}),n(13)),s=(Object.keys(r).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=r[e])}),n(5)),l=(Object.keys(s).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=s[e])}),n(1)),u=(Object.keys(l).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=l[e])}),n(14));function d(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}Object.keys(u).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=u[e])});var h={addExtensionsToContext:!0};var p=/^(.*?)_/;var m=["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"];function B(e){for(var t=0;t<m.length;++t)!function(e,t){g.glEnumToString(e,0);var n=e.getExtension(t);if(n){var A,o={},a=p.exec(t)[1],i="_"+a;for(A in n){var r=n[A],s="function"==typeof r,l=s?a:i,u=A;void 0!==e[u=A.endsWith(l)?A.substring(0,A.length-l.length):u]?s||e[u]===r||c.warn(u,e[u],r,A):s?e[u]=function(e){return function(){return e.apply(n,arguments)}}(r):(e[u]=r,o[u]=r)}o.constructor={name:n.constructor.name},g.glEnumToString(o,0)}}(e,m[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.drawBufferInfo=l,t.drawObjectList=function(a,e){var i=null,r=null;e.forEach(function(e){var t,n,A,o;!1!==e.active&&(t=e.programInfo,n=e.vertexArrayInfo||e.bufferInfo,A=!1,o=void 0===e.type?a.TRIANGLES:e.type,t!==i&&(i=t,a.useProgram(t.program),A=!0),!A&&n===r||(r&&r.vertexArrayObject&&!n.vertexArrayObject&&a.bindVertexArray(null),r=n,s.setBuffersAndAttributes(a,t,n)),s.setUniforms(t,e.uniforms),l(a,n,o,e.count,e.offset,e.instanceCount))}),r.vertexArrayObject&&a.bindVertexArray(null)};var s=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(5));function l(e,t,n,A,o,a){n=void 0===n?e.TRIANGLES:n;var i=t.indices,r=t.elementType,A=void 0===A?t.numElements:A;o=void 0===o?0:o,r||i?void 0!==a?e.drawElementsInstanced(n,A,void 0===r?e.UNSIGNED_SHORT:t.elementType,o,a):e.drawElements(n,A,void 0===r?e.UNSIGNED_SHORT:t.elementType,o):void 0!==a?e.drawArraysInstanced(n,o,A,a):e.drawArrays(n,o,A)}},function(e,t,n){"use strict";t.__esModule=!0,t.bindFramebufferInfo=function(e,t,n){n=n||e.FRAMEBUFFER,t?(e.bindFramebuffer(n,t.framebuffer),e.viewport(0,0,t.width,t.height)):(e.bindFramebuffer(n,null),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight))},t.createFramebufferInfo=function(o,e,a,i){var r=o.FRAMEBUFFER,t=o.createFramebuffer(),s=(o.bindFramebuffer(r,t),a=a||o.drawingBufferWidth,i=i||o.drawingBufferHeight,0),l={framebuffer:t,attachments:[],width:a,height:i};return(e=e||d).forEach(function(e){var t=e.attachment,n=e.format,A=(A=h[n])||g+s++;if(t||(p[n]?(t=o.createRenderbuffer(),o.bindRenderbuffer(o.RENDERBUFFER,t),o.renderbufferStorage(o.RENDERBUFFER,n,a,i)):((n=Object.assign({},e)).width=a,n.height=i,void 0===n.auto&&(n.auto=!1,n.min=n.min||n.minMag||o.LINEAR,n.mag=n.mag||n.minMag||o.LINEAR,n.wrapS=n.wrapS||n.wrap||o.CLAMP_TO_EDGE,n.wrapT=n.wrapT||n.wrap||o.CLAMP_TO_EDGE),t=u.createTexture(o,n))),c.isRenderbuffer(o,t))o.framebufferRenderbuffer(r,A,o.RENDERBUFFER,t);else{if(!c.isTexture(o,t))throw"unknown attachment type";o.framebufferTexture2D(r,A,e.texTarget||o.TEXTURE_2D,t,e.level||0)}l.attachments.push(t)}),l},t.resizeFramebufferInfo=function(A,o,e,a,i){a=a||A.drawingBufferWidth,i=i||A.drawingBufferHeight,o.width=a,o.height=i,(e=e||d).forEach(function(e,t){var t=o.attachments[t],n=e.format;if(c.isRenderbuffer(A,t))A.bindRenderbuffer(A.RENDERBUFFER,t),A.renderbufferStorage(A.RENDERBUFFER,n,a,i);else{if(!c.isTexture(A,t))throw"unknown attachment type";u.resizeTexture(A,t,e,a,i)}})};var u=A(n(8)),c=A(n(0));function A(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var g=36064,d=[{format:6408,type:5121,min:9729,wrap:33071},{format:34041}],h={};h[34041]=33306,h[6401]=36128,h[36168]=36128,h[6402]=36096,h[33189]=36096;var p={};p[32854]=!0,p[32855]=!0,p[36194]=!0,p[34041]=!0,p[33189]=!0,p[6401]=!0,p[36168]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createVertexArrayInfo=function(t,e,n){var A=t.createVertexArray();t.bindVertexArray(A),e.length||(e=[e]);return e.forEach(function(e){a.setBuffersAndAttributes(t,e,n)}),t.bindVertexArray(null),{numElements:n.numElements,elementType:n.elementType,vertexArrayObject:A}},t.createVAOAndSetAttributes=A,t.createVAOFromBufferInfo=function(e,t,n){return A(e,t.attribSetters||t,n.attribs,n.indices)};var a=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(5));function A(e,t,n,A){var o=e.createVertexArray();return e.bindVertexArray(o),a.setAttributes(t,n),A&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,A),e.bindVertexArray(null),o}}],o={},A.m=n,A.c=o,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=9);function A(e){var t;return(o[e]||(t=o[e]={i:e,l:!1,exports:{}},n[e].call(t.exports,t,t.exports,A),t.l=!0,t)).exports}var n,o},e.exports=A()},function(R,e,t){"use strict";var n=t(1),n=t.n(n),A=t(3),o=t(644),o=t.n(o),a=t(645),a=t.n(a),i=t(646),i=t.n(i),r=t(647),r=t.n(r),s=t(648),s=t.n(s),l=t(649),l=t.n(l),u=t(650),u=t.n(u),c=t(651),c=t.n(c),g=t(652),g=t.n(g),d=t(653),d=t.n(d),h=t(654),h=t.n(h),p=t(655),p=t.n(p),m=t(656),m=t.n(m),B=t(657),B=t.n(B),f=t(658),f=t.n(f),E=t(280),E=t.n(E),w=t(659),w=t.n(w),C=t(660),C=t.n(C),I=t(281),I=t.n(I),y=t(661),y=t.n(y),b=t(662),b=t.n(b),M=t(282),M=t.n(M),Q=t(663),Q=t.n(Q),T=t(664),T=t.n(T),S=t(665),S=t.n(S),k=t(283),k=t.n(k),D=t(666),D=t.n(D),v=t(667),v=t.n(v),N=t(668),N=t.n(N),O=t(284),O=t.n(O),F=t(669);e.a=[{name:n.a.createElement(A.a,{defaultMessage:"Music",id:"gui.extension.music.name"}),extensionId:"music",iconURL:o.a,insetIconURL:a.a,description:n.a.createElement(A.a,{defaultMessage:"Play instruments and drums.",id:"gui.extension.music.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Pen",id:"gui.extension.pen.name"}),extensionId:"pen",iconURL:i.a,insetIconURL:r.a,description:n.a.createElement(A.a,{defaultMessage:"Draw with your sprites.",id:"gui.extension.pen.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Video Sensing",id:"gui.extension.videosensing.name"}),extensionId:"videoSensing",iconURL:s.a,insetIconURL:l.a,description:n.a.createElement(A.a,{defaultMessage:"Sense motion with the camera.",id:"gui.extension.videosensing.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Speak",id:"gui.extension.text2speech.name"}),extensionId:"text2speech",collaborator:"Amazon Web Services",iconURL:u.a,insetIconURL:c.a,description:n.a.createElement(A.a,{defaultMessage:"Make your projects talk.",id:"gui.extension.text2speech.description"}),featured:!0,internetConnectionRequired:!0},{name:n.a.createElement(A.a,{defaultMessage:"Translate",id:"gui.extension.translate.name"}),extensionId:"translate",collaborator:"Google",iconURL:g.a,insetIconURL:d.a,description:n.a.createElement(A.a,{defaultMessage:"Translate text into many languages.",id:"gui.extension.translate.description"}),featured:!0,internetConnectionRequired:!0},{name:"Makey Makey",extensionId:"makeymakey",collaborator:"JoyLabz",iconURL:h.a,insetIconURL:p.a,description:n.a.createElement(A.a,{defaultMessage:"Make anything into a key.",id:"gui.extension.makeymakey.description"}),featured:!0},{name:"Machine Learning",extensionId:"martymachine",collaborator:"robotical",iconURL:m.a,insetIconURL:B.a,description:n.a.createElement(A.a,{defaultMessage:"Use Machine Learning to build AI models into MartyBlocks",id:"gui.extension.martymachine.description"}),featured:!0},{name:"micro:bit",extensionId:"microbit",collaborator:"micro:bit",iconURL:f.a,insetIconURL:E.a,description:n.a.createElement(A.a,{defaultMessage:"Connect your projects with the world.",id:"gui.extension.microbit.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:w.a,connectionSmallIconURL:E.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.microbit.connectingMessage"}),helpLink:"https://scratch.mit.edu/microbit"},{name:"LEGO MINDSTORMS EV3",extensionId:"ev3",collaborator:"LEGO",iconURL:C.a,insetIconURL:I.a,description:n.a.createElement(A.a,{defaultMessage:"Build interactive robots and more.",id:"gui.extension.ev3.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:y.a,connectionSmallIconURL:I.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting. Make sure the pin on your EV3 is set to 1234.",id:"gui.extension.ev3.connectingMessage"}),helpLink:"https://scratch.mit.edu/ev3"},{name:"LEGO BOOST",extensionId:"boost",collaborator:"LEGO",iconURL:S.a,insetIconURL:k.a,description:n.a.createElement(A.a,{defaultMessage:"Bring robotic creations to life.",id:"gui.extension.boost.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!0,connectionIconURL:D.a,connectionSmallIconURL:k.a,connectionTipIconURL:v.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.boost.connectingMessage"}),helpLink:"https://scratch.mit.edu/boost"},{name:"LEGO Education WeDo 2.0",extensionId:"wedo2",collaborator:"LEGO",iconURL:b.a,insetIconURL:M.a,description:n.a.createElement(A.a,{defaultMessage:"Build with motors and sensors.",id:"gui.extension.wedo2.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!0,connectionIconURL:Q.a,connectionSmallIconURL:M.a,connectionTipIconURL:T.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.wedo2.connectingMessage"}),helpLink:"https://scratch.mit.edu/wedo"},{name:"Go Direct Force & Acceleration",extensionId:"gdxfor",collaborator:"Vernier",iconURL:N.a,insetIconURL:O.a,description:n.a.createElement(A.a,{defaultMessage:"Sense push, pull, motion, and spin.",id:"gui.extension.gdxfor.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:t.n(F).a,connectionSmallIconURL:O.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.gdxfor.connectingMessage"}),helpLink:"https://scratch.mit.edu/vernier"}]},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return r}),n.d(t,"d",function(){return s});var A="scratch-gui/hovered-target/SET_HOVERED_SPRITE",o="scratch-gui/hovered-target/SET_RECEIVED_BLOCKS",a={sprite:null,receivedBlocks:!1},i=function(e,t){switch(void 0===e&&(e=a),t.type){case A:return{sprite:t.spriteId,receivedBlocks:!1};case o:return{sprite:e.sprite,receivedBlocks:t.receivedBlocks};default:return e}},r=function(e){return{type:A,spriteId:e,meta:{throttle:30}}},s=function(e){return{type:o,receivedBlocks:e}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return i});var A="projectTitle/SET_PROJECT_TITLE",o="",a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:t.title},i=function(e){return{type:A,title:e}}},function(e,t,n){var A=n(1374),o=n(1377),a=n(541),i=n(537),r=n(1379),s=n(540),l=n(369),n=n(538);e.exports={BitmapAdapter:o,convertFonts:n,inlineSvgFonts:a,loadSvgString:i,sanitizeSvg:r,serializeSvgToString:s,SvgElement:l,SVGRenderer:A}},function(D,v,e){"use strict";var t=e(0),n=e.n(t),M=e(1),j=e.n(M),N=e(43),A=e(7),O=e(59),F=e.n(O),O=e(11),o=e.n(O),z=e(3),O=e(52),r=e(13),s=e(19),R=e(26),a=e(54),X=e.n(a),Y=e(228);function x(e){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?U(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?U(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function G(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=H(n),t=(e=A?(e=H(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==x(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function H(e){return(H=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var q=["Sans Serif","Serif","Handwriting","Marker","Curly","Pixel","Scratch"],Z=e(279);function $(e){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ee=["locale","onSetLanguage"];function te(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ne(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ae(e,t){return(Ae=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oe(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=ae(n),t=(e=A?(e=ae(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function ae(e){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ie(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ae(t,e);var n,A=oe(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(e){e.locale!==this.props.locale&&this.props.onSetLanguage(this.props.locale)}},{key:"render",value:function(){var e=this.props,e=(e.locale,e.onSetLanguage,te(e,ee));return j.a.createElement(Z.a,null,j.a.createElement(a,e))}}])&&ne(t.prototype,e),n&&ne(t,n),o}(j.a.Component);return e.propTypes={locale:n.a.string,onSetLanguage:n.a.func},e.defaultProps={onSetLanguage:function(){}},Object(A.b)(function(e){return{locale:e.locales.locale}},function(){return{}})(e)}var a=e(5),l=e.n(a),re=e(30),se=e(93),le=e(120),ue=e(45);function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ge=["cancelFileUpload","closeFileMenu","isLoadingUpload","isShowingWithoutId","loadingState","onLoadingFinished","onLoadingStarted","onSetProjectTitle","projectChanged","requestProjectUpload","userOwnsProject"];function de(){return(de=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function he(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function pe(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Be(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ee(A);return e=o?(e=Ee(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ce(t)&&"function"!=typeof t?fe(n):t}}function fe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(e){return(Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var we=Object(z.d)({loadError:{id:"gui.projectLoader.loadError",defaultMessage:"The project file that was selected failed to load."}}),Ce=e(92),Ie=e(44);function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var be=["assetHost","intl","isLoadingProject","loadingState","onActivateTab","onError","onFetchedProjectData","onProjectUnchanged","projectHost","projectId","reduxProjectId","setProjectId","isFetchingWithId"];function Me(){return(Me=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Qe(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Te(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Se(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ke(e,t){return(ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function De(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ne(A);return e=o?(e=Ne(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ye(t)&&"function"!=typeof t?ve(n):t}}function ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ne(e){return(Ne=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Oe(e){return(Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Fe=["intl","isAnyCreatingNewState","isShowingWithoutId","onChangedProjectTitle","onUpdateProjectTitle","projectTitle","reduxProjectTitle"];function Re(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ye(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function xe(e,t){return(xe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _e(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Ue(n),t=(e=A?(e=Ue(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Oe(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Ue(e){return(Ue=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ge=Object(z.d)({defaultProjectTitle:{id:"gui.gui.defaultProjectTitle",defaultMessage:"Scratch Project"}});function Le(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?Pe(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pe(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}var He=function(e){var t,n={projectName:1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",language:2<arguments.length&&void 0!==arguments[2]?arguments[2]:"",spriteCount:0,blocksCount:0,costumesCount:0,listsCount:0,scriptCount:0,soundsCount:0,variablesCount:0},A=Le(e.runtime.targets);try{for(A.s();!(t=A.n()).done;){var o,a=t.value;for(o in++n.spriteCount,n.blocksCount+=Object.keys(a.sprite.blocks._blocks).length,n.costumesCount+=a.sprite.costumes_.length,n.scriptCount+=a.sprite.blocks._scripts.length,n.soundsCount+=a.sprite.sounds.length,a.variables)"list"===a.variables[o].type?++n.listsCount:++n.variablesCount}}catch(e){A.e(e)}finally{A.f()}return n};function je(a,e,t){var n={body:e,headers:{"Content-Type":"application/json"},withCredentials:!0},i=null==a,e={};return t.hasOwnProperty("originalId")&&(e.original_id=t.originalId),t.hasOwnProperty("isCopy")&&(e.is_copy=t.isCopy),t.hasOwnProperty("isRemix")&&(e.is_remix=t.isRemix),t.hasOwnProperty("title")&&(e.title=t.title),t=(t=ze.a.stringify(e))&&"?".concat(t),i?Object.assign(n,{method:"post",url:"".concat(Ie.a.projectHost,"/").concat(t)}):Object.assign(n,{method:"put",url:"".concat(Ie.a.projectHost,"/").concat(a).concat(t)}),new Promise(function(A,o){Je()(n,function(e,t){if(e)return o(e);if(200!==t.statusCode)return o(t.statusCode);var n;try{n=JSON.parse(t.body)}catch(e){return o(e)}n.id=a,i&&(n.id=n["content-name"]),A(n)})})}var a=e(185),ze=e.n(a),a=e(169),Je=e.n(a),We=e(37),Ve=e(229),Ke=["autoSaveTimeoutId","autoSaveIntervalSecs","isCreatingCopy","isCreatingNew","projectChanged","isAnyCreatingNewState","isLoading","isManualUpdating","isRemixing","isShowingSaveable","isShowingWithId","isShowingWithoutId","isUpdating","loadingState","onAutoUpdateProject","onCreatedProject","onCreateProject","onProjectError","onRemixing","onSetProjectUnchanged","onSetProjectThumbnailer","onSetProjectSaver","onShowAlert","onShowCopySuccessAlert","onShowRemixSuccessAlert","onShowCreatingCopyAlert","onShowCreatingRemixAlert","onShowSaveSuccessAlert","onShowSavingAlert","onUpdatedProject","onUpdateProjectData","onUpdateProjectThumbnail","reduxProjectId","reduxProjectTitle","setAutoSaveTimeoutId"];function Xe(){return(Xe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function qe(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ze(e){return(Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $e(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tt(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=At(A);return e=o?(e=At(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ze(t)&&"function"!=typeof t?nt(n):t}}function nt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function At(e){return(At=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ot=e(68),at=e(84),it=function(e){for(var t in ot.a)if(ot.a[t].urlId===e)return at.a.event({category:"how-to",action:"load from url",label:"".concat(t)}),t;return null},rt=e(60);function st(e){return(st="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var lt=["onOpenTipsLibrary","onUpdateReduxDeck"];function ut(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ct(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function gt(e,t){return(gt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dt(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=ht(n),t=(e=A?(e=ht(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==st(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function ht(e){return(ht=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=e(222),pt=e.n(a),mt=e(167),Bt=e(225),ft=e(227),Et=e(126),wt=e(226);function Ct(){var n=this;return new Promise(function(e){var t=new FileReader;t.onload=function(){e(t.result)},t.readAsArrayBuffer(n)})}File.prototype.arrayBuffer=File.prototype.arrayBuffer||Ct,Blob.prototype.arrayBuffer=Blob.prototype.arrayBuffer||Ct;function It(n){return new Promise(function(e){var t=new FileReader;t.readAsDataURL(n),t.onloadend=function(){e(t.result)}})}function yt(e){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var bt=["attachKeyboardEvents","projectChanged","shouldUpdateTargets","shouldUpdateProjectChanged","onBlockDragUpdate","onGreenFlag","onKeyDown","onKeyUp","onMicListeningUpdate","onMonitorsUpdate","onTargetsUpdate","onProjectChanged","onProjectRunStart","onProjectRunStop","onProjectSaved","onRuntimeStarted","onTurboModeOff","onTurboModeOn","onShowExtensionAlert"];function Mt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Qt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Tt(e,t){return(Tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function St(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Dt(A);return e=o?(e=Dt(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==yt(t)&&"function"!=typeof t?kt(n):t}}function kt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dt(e){return(Dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vt(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Tt(t,e);var n,A=St(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(kt(e),["handleKeyDown","handleKeyUp","handleProjectChanged","handleTargetsUpdate","handleProjectRunStart"]),e.props.vm.on("targetsUpdate",e.handleTargetsUpdate),e.props.vm.on("MONITORS_UPDATE",e.props.onMonitorsUpdate),e.props.vm.on("BLOCK_DRAG_UPDATE",e.props.onBlockDragUpdate),e.props.vm.on("TURBO_MODE_ON",e.props.onTurboModeOn),e.props.vm.on("TURBO_MODE_OFF",e.props.onTurboModeOff),e.props.vm.on("PROJECT_RUN_START",e.handleProjectRunStart),e.props.vm.on("PROJECT_RUN_STOP",e.props.onProjectRunStop),e.props.vm.on("PROJECT_CHANGED",e.handleProjectChanged),e.props.vm.on("RUNTIME_STARTED",e.props.onRuntimeStarted),e.props.vm.on("PROJECT_START",e.props.onGreenFlag),e.props.vm.on("PERIPHERAL_CONNECTION_LOST_ERROR",e.props.onShowExtensionAlert),e.props.vm.on("MIC_LISTENING",e.props.onMicListeningUpdate),e.autoSaveProject=pt()(e.autoSaveProject.bind(kt(e)),1e3),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.attachKeyboardEvents&&(document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)),this.props.vm.postIOData("userData",{username:this.props.username})}},{key:"componentDidUpdate",value:function(e){e.username!==this.props.username&&this.props.vm.postIOData("userData",{username:this.props.username}),this.props.shouldUpdateTargets&&!e.shouldUpdateTargets&&this.props.vm.emitTargetsUpdate(!1)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_CONNECTION_LOST_ERROR",this.props.onShowExtensionAlert),this.props.attachKeyboardEvents&&(document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp))}},{key:"handleProjectRunStart",value:function(){this.props.onProjectRunStart()}},{key:"handleProjectChanged",value:function(){this.props.shouldUpdateProjectChanged&&!this.props.projectChanged&&this.props.onProjectChanged(),this.autoSaveProject(),this.updatePythonModalCode()}},{key:"autoSaveProject",value:function(){console.log('Saving project to "__autosave"'),this.props.vm.saveProjectSb3().then(function(e){It(e).then(function(e){try{mv2Interface.saveScratchFile("__autosave",e)}catch(e){console.error("Failed to auto save project",e.message)}})})}},{key:"updatePythonModalCode",value:function(){var e;pythonTranspiler.isModalOpen&&(e=JSON.parse(vm.toJSON()),pythonTranspiler.fromSb3JSON(e,{getAsset:function(){}}).then(function(e){return e.toPython()}).then(function(e){pythonTranspiler.setModal(e)}))}},{key:"handleTargetsUpdate",value:function(e){this.props.shouldUpdateTargets&&this.props.onTargetsUpdate(e)}},{key:"handleKeyDown",value:function(e){var t;(e.target===document||e.target===document.body)&&(t=e.key&&"Dead"!==e.key?e.key:e.keyCode,this.props.vm.postIOData("keyboard",{key:t,isDown:!0}),32===e.keyCode||37<=e.keyCode&&e.keyCode<=40)&&e.preventDefault()}},{key:"handleKeyUp",value:function(e){var t=e.key&&"Dead"!==e.key?e.key:e.keyCode;this.props.vm.postIOData("keyboard",{key:t,isDown:!1}),e.target!==document&&e.target!==document.body&&e.preventDefault()}},{key:"render",value:function(){var e=this.props,e=(e.attachKeyboardEvents,e.projectChanged,e.shouldUpdateTargets,e.shouldUpdateProjectChanged,e.onBlockDragUpdate,e.onGreenFlag,e.onKeyDown,e.onKeyUp,e.onMicListeningUpdate,e.onMonitorsUpdate,e.onTargetsUpdate,e.onProjectChanged,e.onProjectRunStart,e.onProjectRunStop,e.onProjectSaved,e.onRuntimeStarted,e.onTurboModeOff,e.onTurboModeOn,e.onShowExtensionAlert,Mt(e,bt));return j.a.createElement(a,e)}}])&&Qt(t.prototype,e),n&&Qt(t,n),o}(j.a.Component);return e.propTypes={attachKeyboardEvents:n.a.bool,onBlockDragUpdate:n.a.func.isRequired,onGreenFlag:n.a.func,onKeyDown:n.a.func,onKeyUp:n.a.func,onMicListeningUpdate:n.a.func.isRequired,onMonitorsUpdate:n.a.func.isRequired,onProjectChanged:n.a.func.isRequired,onProjectRunStart:n.a.func.isRequired,onProjectRunStop:n.a.func.isRequired,onProjectSaved:n.a.func.isRequired,onRuntimeStarted:n.a.func.isRequired,onShowExtensionAlert:n.a.func.isRequired,onTargetsUpdate:n.a.func.isRequired,onTurboModeOff:n.a.func.isRequired,onTurboModeOn:n.a.func.isRequired,projectChanged:n.a.bool,shouldUpdateTargets:n.a.bool,shouldUpdateProjectChanged:n.a.bool,username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={attachKeyboardEvents:!0,onGreenFlag:function(){return{}}},Object(A.b)(function(e){return{projectChanged:e.scratchGui.projectChanged,shouldUpdateTargets:!e.scratchGui.mode.isFullScreen&&!e.scratchGui.mode.isPlayerOnly&&!e.scratchGui.modals.soundRecorder,shouldUpdateProjectChanged:!e.scratchGui.mode.isFullScreen&&!e.scratchGui.mode.isPlayerOnly,vm:e.scratchGui.vm,username:e.session&&e.session.session&&e.session.session.user?e.session.session.user.username:""}},function(t){return{onTargetsUpdate:function(e){t(Object(mt.d)(e.targetList,e.editingTarget))},onMonitorsUpdate:function(e){t(Object(ft.c)(e))},onBlockDragUpdate:function(e){t(Object(Bt.c)(e))},onProjectRunStart:function(){return t(Object(Et.b)(!0))},onProjectRunStop:function(){return t(Object(Et.b)(!1))},onProjectChanged:function(){return t(Object(Ce.c)())},onProjectSaved:function(){return t(Object(Ce.d)())},onRuntimeStarted:function(){return t(Object(Et.c)(!0))},onTurboModeOn:function(){return t(Object(Et.d)(!0))},onTurboModeOff:function(){return t(Object(Et.d)(!1))},onShowExtensionAlert:function(e){t(Object(We.g)(e))},onMicListeningUpdate:function(e){t(Object(wt.c)(e))}}})(e)}var a=e(294),Nt=e.n(a);function Ot(e){return(Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ft=["fontsLoaded","loadingState","locale","messages","isStarted","onError","onLoadedProject","onSetProjectUnchanged","projectData","isLoadingWithId","vm"];function Rt(){return(Rt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Yt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function xt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function _t(e,t){return(_t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ut(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Lt(A);return e=o?(e=Lt(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ot(t)&&"function"!=typeof t?Gt(n):t}}function Gt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lt(e){return(Lt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pt(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_t(t,e);var n,A=Ut(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Gt(e),["loadProject"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.initialized||(this.audioEngine=new Nt.a,this.props.vm.attachAudioEngine(this.audioEngine),this.props.vm.setCompatibilityMode(!0),this.props.vm.initialized=!0,this.props.vm.setLocale(this.props.locale,this.props.messages)),this.props.isPlayerOnly||this.props.isStarted||this.props.vm.start()}},{key:"componentDidUpdate",value:function(e){!this.props.isLoadingWithId||!this.props.fontsLoaded||e.isLoadingWithId&&e.fontsLoaded||this.loadProject(),this.props.isPlayerOnly||this.props.isStarted||this.props.vm.start()}},{key:"loadProject",value:function(){var t=this;return this.props.vm.loadProject(this.props.projectData).then(function(){t.props.onLoadedProject(t.props.loadingState,t.props.canSave),setTimeout(function(){return t.props.onSetProjectUnchanged()}),t.props.isStarted||setTimeout(function(){return t.props.vm.renderer.draw()})}).catch(function(e){t.props.onError(e)})}},{key:"render",value:function(){var e=this.props,t=(e.fontsLoaded,e.loadingState,e.locale,e.messages,e.isStarted,e.onError,e.onLoadedProject,e.onSetProjectUnchanged,e.projectData,e.isLoadingWithId),n=e.vm,e=Yt(e,Ft);return j.a.createElement(a,Rt({isLoading:t,vm:n},e))}}])&&xt(t.prototype,e),n&&xt(t,n),o}(j.a.Component);return e.propTypes={canSave:n.a.bool,cloudHost:n.a.string,fontsLoaded:n.a.bool,isLoadingWithId:n.a.bool,isPlayerOnly:n.a.bool,isStarted:n.a.bool,loadingState:n.a.oneOf(r.a),locale:n.a.string,messages:n.a.objectOf(n.a.string),onError:n.a.func,onLoadedProject:n.a.func,onSetProjectUnchanged:n.a.func,projectData:n.a.oneOfType([n.a.object,n.a.string]),projectId:n.a.oneOfType([n.a.string,n.a.number]),username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{fontsLoaded:e.scratchGui.fontsLoaded,isLoadingWithId:Object(r.p)(t),locale:e.locales.locale,messages:e.locales.messages,projectData:e.scratchGui.projectState.projectData,projectId:e.scratchGui.projectState.projectId,loadingState:t,isPlayerOnly:e.scratchGui.mode.isPlayerOnly,isStarted:e.scratchGui.vmStatus.started}},function(n){return{onError:function(e){return n(Object(r.z)(e))},onLoadedProject:function(e,t){return n(Object(r.y)(e,t,!0))},onSetProjectUnchanged:function(){return n(Object(Ce.d)())}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}var a=e(385),Ht=e.n(a);function jt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var zt=function(){function o(e,t,n,A){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");this.vm=t,this.username=n,this.projectId=A,this.cloudHost=e,this.connectionAttempts=0,this.queuedData=[],this.openConnection(),this.sendCloudData=Ht()(this._sendCloudData,100)}var e,t,n;return e=o,(t=[{key:"openConnection",value:function(){this.connectionAttempts+=1;try{this.connection=new WebSocket(("http:"===location.protocol?"ws://":"wss://")+this.cloudHost)}catch(e){return re.a.warn("Websocket support is not available in this browser",e),void(this.connection=null)}this.connection.onerror=this.onError.bind(this),this.connection.onmessage=this.onMessage.bind(this),this.connection.onopen=this.onOpen.bind(this),this.connection.onclose=this.onClose.bind(this)}},{key:"onError",value:function(e){re.a.error("Websocket connection error: ".concat(JSON.stringify(e)))}},{key:"onMessage",value:function(e){var t=this;e.data.split("\n").forEach(function(e){e&&(e=t.parseMessage(JSON.parse(e)),t.vm.postIOData("cloud",e))})}},{key:"onOpen",value:function(){var t=this;this.connectionAttempts=1,this.writeToServer("handshake"),re.a.info("Successfully connected to clouddata server."),this.queuedData.forEach(function(e){t.sendCloudData(e)}),this.queuedData=[]}},{key:"onClose",value:function(){re.a.info("Closed connection to websocket");var e=this.randomizeDuration(this.exponentialTimeout());this.setTimeout(this.openConnection.bind(this),e)}},{key:"exponentialTimeout",value:function(){return 1e3*(Math.pow(2,Math.min(this.connectionAttempts,5))-1)}},{key:"randomizeDuration",value:function(e){return Math.random()*e}},{key:"setTimeout",value:function(e,t){re.a.info("Reconnecting in ".concat((t/1e3).toFixed(1),"s, attempt ").concat(this.connectionAttempts)),this._connectionTimeout=window.setTimeout(e,t)}},{key:"parseMessage",value:function(e){var t={};return"set"===e.method&&(t.varUpdate={name:e.name,value:e.value}),t}},{key:"writeToServer",value:function(e,t,n,A){var o={},e=(o.method=e,o.user=this.username,o.project_id=this.projectId,t&&(o.name=t),A&&(o.new_name=A),null!=n&&(o.value=n),JSON.stringify(o));this.connection&&this.connection.readyState===WebSocket.OPEN?this.sendCloudData(e):"create"!==o.method&&"delete"!==o.method&&"rename"!==o.method||this.queuedData.push(e)}},{key:"_sendCloudData",value:function(e){this.connection.send("".concat(e,"\n"))}},{key:"createVariable",value:function(e,t){this.writeToServer("create",e,t)}},{key:"updateVariable",value:function(e,t){this.writeToServer("set",e,t)}},{key:"renameVariable",value:function(e,t){this.writeToServer("rename",e,null,t)}},{key:"deleteVariable",value:function(e){this.writeToServer("delete",e)}},{key:"requestCloseConnection",value:function(){this.connection&&this.connection.readyState!==WebSocket.CLOSING&&this.connection.readyState!==WebSocket.CLOSED&&(re.a.info("Request close cloud connection without reconnecting"),this.connection.onclose=function(){},this.connection.onerror=function(){},this.connection.close()),this.clear()}},{key:"clear",value:function(){this.connection=null,this.vm=null,this.username=null,this.projectId=null,this._connectionTimeout&&(clearTimeout(this._connectionTimeout),this._connectionTimeout=null),this.connectionAttempts=0}}])&&jt(e.prototype,t),n&&jt(e,n),o}();function Jt(e){return(Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Wt=["canModifyCloudData","cloudHost","projectId","username","hasCloudPermission","isShowingWithId","onShowCloudInfo","vm"];function Vt(){return(Vt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Kt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Xt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function qt(e,t){return(qt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zt(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=en(A);return e=o?(e=en(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Jt(t)&&"function"!=typeof t?$t(n):t}}function $t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tn(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&qt(t,e);var n,A=Zt(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).cloudProvider=null,l()($t(e),["handleCloudDataUpdate"]),e.props.vm.on("HAS_CLOUD_DATA_UPDATE",e.handleCloudDataUpdate),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.shouldConnect(this.props)&&this.connectToCloud()}},{key:"componentDidUpdate",value:function(e){this.shouldConnect(this.props)&&!this.shouldConnect(e)&&this.connectToCloud(),this.shouldDisconnect(this.props,e)&&this.disconnectFromCloud()}},{key:"componentWillUnmount",value:function(){this.disconnectFromCloud()}},{key:"canUseCloud",value:function(e){return!!(e.cloudHost&&e.username&&e.vm&&e.projectId&&e.hasCloudPermission)}},{key:"shouldConnect",value:function(e){return!this.isConnected()&&this.canUseCloud(e)&&e.isShowingWithId&&e.vm.runtime.hasCloudData()&&e.canModifyCloudData}},{key:"shouldDisconnect",value:function(e,t){return this.isConnected()&&(!this.canUseCloud(e)||!e.vm.runtime.hasCloudData()||e.projectId!==t.projectId||e.username!==t.username||!e.canModifyCloudData)}},{key:"isConnected",value:function(){return this.cloudProvider&&!!this.cloudProvider.connection}},{key:"connectToCloud",value:function(){this.cloudProvider=new zt(this.props.cloudHost,this.props.vm,this.props.username,this.props.projectId),this.props.vm.setCloudProvider(this.cloudProvider)}},{key:"disconnectFromCloud",value:function(){this.cloudProvider&&(this.cloudProvider.requestCloseConnection(),this.cloudProvider=null,this.props.vm.setCloudProvider(null))}},{key:"handleCloudDataUpdate",value:function(e){this.isConnected()&&!e?this.disconnectFromCloud():this.shouldConnect(this.props)&&(this.props.onShowCloudInfo(),this.connectToCloud())}},{key:"render",value:function(){var e=this.props,t=(e.canModifyCloudData,e.cloudHost,e.projectId,e.username,e.hasCloudPermission,e.isShowingWithId,e.onShowCloudInfo,e.vm),e=Kt(e,Wt);return j.a.createElement(a,Vt({canUseCloud:this.canUseCloud(this.props),vm:t},e))}}])&&Xt(t.prototype,e),n&&Xt(t,n),o}(j.a.Component);return e.propTypes={canModifyCloudData:n.a.bool.isRequired,cloudHost:n.a.string,hasCloudPermission:n.a.bool,isShowingWithId:n.a.bool.isRequired,onShowCloudInfo:n.a.func,projectId:n.a.oneOfType([n.a.string,n.a.number]),username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={cloudHost:null,hasCloudPermission:!1,onShowCloudInfo:function(){},username:null},Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState;return{isShowingWithId:Object(r.t)(n),projectId:e.scratchGui.projectState.projectId,canModifyCloudData:!e.scratchGui.mode.hasEverEnteredEditor||t.canSave}},function(e){return{onShowCloudInfo:function(){return Object(We.f)(e,"cloudInfo")}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}var a=e(4),J=e.n(a),a=e(168),nn=e.n(a);function An(e){return e.type&&"Tab"===e.type.tabsRole}function on(e){return e.type&&"TabPanel"===e.type.tabsRole}function an(e){return e.type&&"TabList"===e.type.tabsRole}function rn(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},t=Object.keys(o);(t="function"==typeof Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})):t).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n})}return A}function sn(e,n){return M.Children.map(e,function(e){var t;return null===e?null:An(t=e)||an(t)||on(t)?n(e):e.props&&e.props.children&&"object"==typeof e.props.children?Object(M.cloneElement)(e,rn({},e.props,{children:sn(e.props.children,n)})):e})}function ln(e,t){M.Children.forEach(e,function(e){null!==e&&(An(e)||on(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children&&(an(e)&&t(e),ln(e.props.children,t)))})}var un,cn=0;function gn(){return"react-tabs-"+cn++}function dn(e){var t=0;return ln(e,function(e){An(e)&&t++}),t}function hn(){return(hn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function pn(e){return"getAttribute"in e&&"tab"===e.getAttribute("role")}function mn(e){return"true"===e.getAttribute("aria-disabled")}try{un=!("undefined"==typeof window||!window.document||!window.document.activeElement)}catch(e){un=!1}var Bn=function(A){var e;function t(){for(var o,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(o=A.call.apply(A,[this].concat(t))||this).tabNodes=[],o.handleKeyDown=function(e){var t,n,A;o.isTabFromContainer(e.target)&&(t=o.props.selectedIndex,A=n=!1,32!==e.keyCode&&13!==e.keyCode||(A=!(n=!0),o.handleClick(e)),37===e.keyCode||38===e.keyCode?(t=o.getPrevTab(t),A=n=!0):39===e.keyCode||40===e.keyCode?(t=o.getNextTab(t),A=n=!0):35===e.keyCode?(t=o.getLastTab(),A=n=!0):36===e.keyCode&&(t=o.getFirstTab(),A=n=!0),n&&e.preventDefault(),A)&&o.setSelected(t,e)},o.handleClick=function(e){var t,n=e.target;do{if(o.isTabFromContainer(n))return mn(n)?void 0:(t=[].slice.call(n.parentNode.children).filter(pn).indexOf(n),void o.setSelected(t,e))}while(null!==(n=n.parentNode))},o}e=A,(n=t).prototype=Object.create(e.prototype),(n.prototype.constructor=n).__proto__=e;var n=t.prototype;return n.setSelected=function(e,t){var n;e<0||e>=this.getTabsCount()||(0,(n=this.props).onSelect)(e,n.selectedIndex,t)},n.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++)if(!mn(this.getTab(n)))return n;for(var A=0;A<e;A++)if(!mn(this.getTab(A)))return A;return e},n.getPrevTab=function(e){for(var t=e;t--;)if(!mn(this.getTab(t)))return t;for(t=this.getTabsCount();t-- >e;)if(!mn(this.getTab(t)))return t;return e},n.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t<e;t++)if(!mn(this.getTab(t)))return t;return null},n.getLastTab=function(){for(var e=this.getTabsCount();e--;)if(!mn(this.getTab(e)))return e;return null},n.getTabsCount=function(){return dn(this.props.children)},n.getPanelsCount=function(){var t,e=this.props.children;return t=0,ln(e,function(e){on(e)&&t++}),t},n.getTab=function(e){return this.tabNodes["tabs-"+e]},n.getChildren=function(){for(var a=this,i=0,e=this.props,t=e.children,r=e.disabledTabClassName,s=e.focus,l=e.forceRenderTabPanel,u=e.selectedIndex,c=e.selectedTabClassName,g=e.selectedTabPanelClassName,n=(this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[],this.tabIds.length-this.getTabsCount());n++<0;)this.tabIds.push(gn()),this.panelIds.push(gn());return sn(t,function(e){var A,o,t,n=e;return an(e)?(A=0,o=!1,un&&(o=j.a.Children.toArray(e.props.children).filter(An).some(function(e,t){return document.activeElement===a.getTab(t)})),n=Object(M.cloneElement)(e,{children:sn(e.props.children,function(e){var t="tabs-"+A,n=u===A,n={tabRef:function(e){a.tabNodes[t]=e},id:a.tabIds[A],panelId:a.panelIds[A],selected:n,focus:n&&(s||o)};return c&&(n.selectedClassName=c),r&&(n.disabledClassName=r),A++,Object(M.cloneElement)(e,n)})})):on(e)&&(t={id:a.panelIds[i],tabId:a.tabIds[i],selected:u===i},l&&(t.forceRender=l),g&&(t.selectedClassName=g),i++,n=Object(M.cloneElement)(e,t)),n})},n.isTabFromContainer=function(e){if(pn(e)){var t=e.parentElement;do{if(t===this.node)return!0}while(!t.getAttribute("data-tabs")&&(t=t.parentElement))}return!1},n.render=function(){var t=this,e=this.props,n=(e.children,e.className),A=(e.disabledTabClassName,e.domRef),e=(e.focus,e.forceRenderTabPanel,e.onSelect,e.selectedIndex,e.selectedTabClassName,e.selectedTabPanelClassName,function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName"]));return j.a.createElement("div",hn({},e,{className:J()(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(e){t.node=e,A&&A(e)},"data-tabs":!0}),this.getChildren())},t}(M.Component);Bn.defaultProps={className:"react-tabs",focus:!1},Bn.propTypes={};var fn=function(t){var e;function a(e){var o=t.call(this,e)||this;return o.handleSelected=function(e,t,n){var A=o.props.onSelect;"function"==typeof A&&!1===A(e,t,n)||(A={focus:"keydown"===n.type},a.inUncontrolledMode(o.props)&&(A.selectedIndex=e),o.setState(A))},o.state=a.copyPropsToState(o.props,{},e.defaultFocus),o}e=t,(n=a).prototype=Object.create(e.prototype),(n.prototype.constructor=n).__proto__=e;var n=a.prototype;return n.componentWillReceiveProps=function(t){this.setState(function(e){return a.copyPropsToState(t,e)})},a.inUncontrolledMode=function(e){return null===e.selectedIndex},a.copyPropsToState=function(e,t,n){var A,o,n={focus:n=void 0===n?!1:n};return a.inUncontrolledMode(e)&&(A=dn(e.children)-1,o=(o=null)!=t.selectedIndex?Math.min(t.selectedIndex,A):e.defaultIndex||0,n.selectedIndex=o),n},n.render=function(){var e=this.props,t=e.children,e=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","defaultIndex","defaultFocus"])),n=this.state,A=n.focus,n=n.selectedIndex;return e.focus=A,e.onSelect=this.handleSelected,null!=n&&(e.selectedIndex=n),j.a.createElement(Bn,e,t)},a}(M.Component);function En(){return(En=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}fn.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null},fn.propTypes={},fn.tabsRole="Tabs";var wn=function(e){var t,n;function A(){return e.apply(this,arguments)||this}return n=e,(t=A).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n,A.prototype.render=function(){var e=this.props,t=e.children,n=e.className,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className"]);return j.a.createElement("ul",En({},e,{className:J()(n),role:"tablist"}),t)},A}(M.Component);function Cn(){return(Cn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}wn.defaultProps={className:"react-tabs__tab-list"},wn.propTypes={},wn.tabsRole="TabList";var a="react-tabs__tab",In=function(e){var t;function n(){return e.apply(this,arguments)||this}t=e,(A=n).prototype=Object.create(t.prototype),(A.prototype.constructor=A).__proto__=t;var A=n.prototype;return A.componentDidMount=function(){this.checkFocus()},A.componentDidUpdate=function(){this.checkFocus()},A.checkFocus=function(){var e=this.props,t=e.selected,e=e.focus;t&&e&&this.node.focus()},A.render=function(){var t=this,e=this.props,n=e.children,A=e.className,o=e.disabled,a=e.disabledClassName,i=(e.focus,e.id),r=e.panelId,s=e.selected,l=e.selectedClassName,u=e.tabIndex,c=e.tabRef,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return j.a.createElement("li",Cn({},e,{className:J()(A,((e={})[l]=s,e[a]=o,e)),ref:function(e){t.node=e,c&&c(e)},role:"tab",id:i,"aria-selected":s?"true":"false","aria-disabled":o?"true":"false","aria-controls":r,tabIndex:u||(s?"0":null)}),n)},n}(M.Component);function yn(){return(yn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}In.defaultProps={className:a,disabledClassName:a+"--disabled",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:a+"--selected"},In.propTypes={},In.tabsRole="Tab";function bn(e){return e.touches&&e.touches[0]?{x:e.touches[0].clientX,y:e.touches[0].clientY}:e.changedTouches&&e.changedTouches[0]?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{x:e.clientX,y:e.clientY}}var Mn,Qn,a="react-tabs__tab-panel",Tn=function(e){var t,n;function A(){return e.apply(this,arguments)||this}return n=e,(t=A).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n,A.prototype.render=function(){var e=this.props,t=e.children,n=e.className,A=e.forceRender,o=e.id,a=e.selected,i=e.selectedClassName,r=e.tabId,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return j.a.createElement("div",yn({},e,{className:J()(n,((e={})[i]=a,e)),role:"tabpanel",id:o,"aria-labelledby":r}),A||a?t:null)},A}(M.Component),a=(Tn.defaultProps={className:a,forceRender:!1,selectedClassName:a+"--selected"},Tn.propTypes={},Tn.tabsRole="TabPanel",e(199)),Sn=e.n(a),a=e(295),kn=e.n(a),Dn=e(312),W=e(6),vn=e(119),Nn=e(224),On=e(121),Fn=function(e){var t;return Mn!==e.assetId&&(Mn=e.assetId,Qn=e.assetType===Ie.a.AssetType.ImageVector&&(t=e.decodeText()).match('font-family(?!="none")')?(t=Object(On.inlineSvgFonts)(t),"data:image/svg+xml;utf8,".concat(encodeURIComponent(t))):e.encodeDataURI()),Qn};function Rn(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yn(e){return j.a.createElement("div",{"aria-label":"Delete",className:J()(_n.a.deleteButton,e.className),role:"button",tabIndex:e.tabIndex,onClick:e.onClick},j.a.createElement("div",{className:_n.a.deleteButtonVisible},j.a.createElement("img",{className:_n.a.deleteIcon,src:Un.a})))}var xn=function(){function o(e){var t=e.onDrag,t=void 0===t?function(){}:t,n=e.onDragEnd,n=void 0===n?function(){}:n,A=e.touchDragAngle,A=void 0===A?70:A,e=e.distanceThreshold,e=void 0===e?3:e;if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");this._onDrag=t,this._onDragEnd=n,this._touchDragAngle=A,this._distanceThreshold=e,this._initialOffset=null,this._gestureState=o.STATE_UNIDENTIFIED,l()(this,["start","gestureInProgress","reset","_handleMove","_handleEnd"])}var e,t,n;return e=o,n=[{key:"STATE_UNIDENTIFIED",get:function(){return"unidentified"}},{key:"STATE_SCROLL",get:function(){return"scroll"}},{key:"STATE_DRAG",get:function(){return"drag"}}],(t=[{key:"start",value:function(e){this._initialOffset=bn(e),this._bindListeners()}},{key:"gestureInProgress",value:function(){return this._gestureState!==o.STATE_UNIDENTIFIED}},{key:"reset",value:function(){this._unbindListeners(),this._initialOffset=null,this._gestureState=o.STATE_UNIDENTIFIED}},{key:"_bindListeners",value:function(){window.addEventListener("mouseup",this._handleEnd),window.addEventListener("mousemove",this._handleMove),window.addEventListener("touchend",this._handleEnd),window.addEventListener("touchmove",this._handleMove,{passive:!1})}},{key:"_unbindListeners",value:function(){window.removeEventListener("mouseup",this._handleEnd),window.removeEventListener("mousemove",this._handleMove),window.removeEventListener("touchend",this._handleEnd),window.removeEventListener("touchmove",this._handleMove,{passive:!1})}},{key:"_handleMove",value:function(e){if(!this._isScroll()){var t=bn(e);if(!this.gestureInProgress()){var n=t.x-this._initialOffset.x,A=t.y-this._initialOffset.y;if(Math.sqrt(n*n+A*A)<this._distanceThreshold)return;"touchmove"===e.type&&(A=Math.atan2(A,n)/Math.PI*180,(A=90<(A=Math.abs(A))?180-A:A)>this._touchDragAngle)?this._gestureState=o.STATE_SCROLL:this._gestureState=o.STATE_DRAG}this._isDrag()&&(this._onDrag(t,this._initialOffset),e.preventDefault())}}},{key:"_handleEnd",value:function(){this.reset(),this._onDragEnd()}},{key:"_isDrag",value:function(){return this._gestureState===o.STATE_DRAG}},{key:"_isScroll",value:function(){return this._gestureState===o.STATE_SCROLL}}])&&Rn(e.prototype,t),n&&Rn(e,n),o}(),a=e(322),_n=e.n(a),a=e(728),Un=e.n(a),Gn=(Yn.propTypes={className:n.a.string,onClick:n.a.func.isRequired,tabIndex:n.a.number},Yn.defaultProps={tabIndex:0},Yn),a=e(103),Ln=e.n(a),a=e(61),Pn=e.n(a);function Hn(e){for(var t=arguments.length,n=Array(1<t?t-1:0),A=1;A<t;A++)n[A-1]=arguments[A];return"function"==typeof e&&e.apply(void 0,n)}function jn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var zn="react-contextmenu",Jn="react-contextmenu--visible",Wn="react-contextmenu-wrapper",Vn="react-contextmenu-item",Kn="react-contextmenu-item--active",Xn="react-contextmenu-item--disabled",qn="react-contextmenu-item--divider",Zn="react-contextmenu-item--selected",$n="react-contextmenu-submenu",eA={},tA=Boolean("undefined"!=typeof window&&window.document&&window.document.createElement),nA="REACT_CONTEXTMENU_SHOW",AA="REACT_CONTEXTMENU_HIDE";function oA(e,t,n){var n=2<arguments.length&&void 0!==n?n:window,A=void 0;"function"==typeof window.CustomEvent?A=new window.CustomEvent(e,{detail:t}):(A=document.createEvent("CustomEvent")).initCustomEvent(e,!1,!0,t),n&&(n.dispatchEvent(A),Pn()(eA,t))}function aA(e,t){e=0<arguments.length&&void 0!==e?e:{};oA(nA,Pn()({},e,{type:nA}),t)}function iA(e,t){e=0<arguments.length&&void 0!==e?e:{};oA(AA,Pn()({},e,{type:AA}),t)}var rA=new function e(){var A=this;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.handleShowEvent=function(e){for(var t in A.callbacks)jn(A.callbacks,t)&&A.callbacks[t].show(e)},this.handleHideEvent=function(e){for(var t in A.callbacks)jn(A.callbacks,t)&&A.callbacks[t].hide(e)},this.register=function(e,t){var n=Math.random().toString(36).substring(7);return A.callbacks[n]={show:e,hide:t},n},this.unregister=function(e){e&&A.callbacks[e]&&delete A.callbacks[e]},this.callbacks={},tA&&(window.addEventListener(nA,this.handleShowEvent),window.addEventListener(AA,this.handleHideEvent))},sA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},lA=function(e,t,n){return t&&uA(e.prototype,t),n&&uA(e,n),e};function uA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function cA(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function gA(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}var a=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var t,e=this,n=i;if(!(e instanceof n))throw new TypeError("Cannot call a class as a function");for(var A=arguments.length,o=Array(A),a=0;a<A;a++)o[a]=arguments[a];return(t=gA(this,(e=i.__proto__||Object.getPrototypeOf(i)).call.apply(e,[this].concat(o)))).handleClick=function(e){e.preventDefault(),t.props.disabled||t.props.divider||(Hn(t.props.onClick,e,Pn()({},t.props.data,eA.data),eA.target),t.props.preventClose)||iA()},gA(t,t)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),lA(i,[{key:"render",value:function(){var e,t=this,n=this.props,A=n.disabled,o=n.divider,a=n.children,i=n.attributes,n=n.selected,n=J()(Vn,i.className,(cA(e={},J()(Xn,i.disabledClassName),A),cA(e,J()(qn,i.dividerClassName),o),cA(e,J()(Zn,i.selectedClassName),n),e));return j.a.createElement("div",sA({},i,{className:n,role:"menuitem",tabIndex:"-1","aria-disabled":A?"true":"false","aria-orientation":o?"horizontal":null,ref:function(e){t.ref=e},onMouseMove:this.props.onMouseMove,onMouseLeave:this.props.onMouseLeave,onTouchEnd:this.handleClick,onClick:this.handleClick}),o?null:a)}}]),i}(M.Component),dA=(a.propTypes={children:n.a.node,attributes:n.a.object,data:n.a.object,disabled:n.a.bool,divider:n.a.bool,preventClose:n.a.bool,onClick:n.a.func,selected:n.a.bool,onMouseMove:n.a.func,onMouseLeave:n.a.func},a.defaultProps={disabled:!1,data:{},divider:!1,attributes:{},preventClose:!1,onClick:function(){return null},children:null,selected:!1,onMouseMove:function(){return null},onMouseLeave:function(){return null}},a);var a=function(e){var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(e){if(this instanceof n)return e=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e)),hA.call(e),e.seletedItemRef=null,e.state={selectedItem:null,forceSubMenuOpen:!1},e;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n}(M.Component),hA=(a.propTypes={children:n.a.node.isRequired},function(){var A=this;this.handleKeyNavigation=function(e){if(!1!==A.state.isVisible)switch(e.keyCode){case 37:case 27:e.preventDefault(),A.hideMenu(e);break;case 38:e.preventDefault(),A.selectChildren(!0);break;case 40:e.preventDefault(),A.selectChildren(!1);break;case 39:A.tryToOpenSubMenu(e);break;case 13:e.preventDefault(),A.tryToOpenSubMenu(e);var t=A.seletedItemRef&&A.seletedItemRef.props&&A.seletedItemRef.props.disabled;A.seletedItemRef&&A.seletedItemRef.ref instanceof HTMLElement&&!t?A.seletedItemRef.ref.click():A.hideMenu(e)}},this.handleForceClose=function(){A.setState({forceSubMenuOpen:!1})},this.tryToOpenSubMenu=function(e){A.state.selectedItem&&A.state.selectedItem.type===A.getSubMenuType()&&(e.preventDefault(),A.setState({forceSubMenuOpen:!0}))},this.selectChildren=function(e){var t=A.state.selectedItem,n=[],t=(j.a.Children.forEach(A.props.children,function e(t){t&&([dA,A.getSubMenuType()].indexOf(t.type)<0?j.a.Children.forEach(t.props.children,e):t.props.divider||n.push(t))}),n.indexOf(t));t<0?A.setState({selectedItem:e?n[n.length-1]:n[0],forceSubMenuOpen:!1}):e?A.setState({selectedItem:n[t-1<0?n.length-1:t-1],forceSubMenuOpen:!1}):A.setState({selectedItem:n[t+1<n.length?t+1:0],forceSubMenuOpen:!1})},this.onChildMouseMove=function(e){A.state.selectedItem!==e&&A.setState({selectedItem:e,forceSubMenuOpen:!1})},this.onChildMouseLeave=function(){A.setState({selectedItem:null,forceSubMenuOpen:!1})},this.renderChildren=function(e){return j.a.Children.map(e,function(e){var t={};return j.a.isValidElement(e)?([dA,A.getSubMenuType()].indexOf(e.type)<0?t.children=A.renderChildren(e.props.children):(t.onMouseLeave=A.onChildMouseLeave.bind(A),e.type===A.getSubMenuType()&&(t.forceOpen=A.state.forceSubMenuOpen&&A.state.selectedItem===e,t.forceClose=A.handleForceClose,t.parentKeyNavigationHandler=A.handleKeyNavigation),e.props.divider||A.state.selectedItem!==e?t.onMouseMove=function(){return A.onChildMouseMove(e)}:(t.selected=!0,t.ref=function(e){A.seletedItemRef=e})),j.a.cloneElement(e,t)):e})}}),pA=a,mA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},BA=function(e,t,n){return t&&fA(e.prototype,t),n&&fA(e,n),e};function fA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function EA(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var a=function(){var e=n,t=pA;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(e){var o;if(this instanceof n)return(o=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).getMenuPosition=function(){var e=window,t=e.innerWidth,e=e.innerHeight,n=o.subMenu.getBoundingClientRect(),A={};return n.bottom>e?A.bottom=0:A.top=0,n.right<t?A.left="100%":A.right="100%",A},o.getRTLMenuPosition=function(){var e=window.innerHeight,t=o.subMenu.getBoundingClientRect(),n={};return t.bottom>e?n.bottom=0:n.top=0,t.left<0?n.left="100%":n.right="100%",n},o.hideMenu=function(e){e.detail&&e.detail.id&&o.menu&&e.detail.id!==o.menu.id||(o.props.forceOpen&&o.props.forceClose(),o.setState({visible:!1,selectedItem:null}),o.unregisterHandlers())},o.handleClick=function(e){e.preventDefault(),o.props.disabled||Hn(o.props.onClick,e,Pn()({},o.props.data,eA.data),eA.target)},o.handleMouseEnter=function(){o.closetimer&&clearTimeout(o.closetimer),o.props.disabled||o.state.visible||(o.opentimer=setTimeout(function(){return o.setState({visible:!0,selectedItem:null})},o.props.hoverDelay))},o.handleMouseLeave=function(){o.opentimer&&clearTimeout(o.opentimer),o.state.visible&&(o.closetimer=setTimeout(function(){return o.setState({visible:!1,selectedItem:null})},o.props.hoverDelay))},o.menuRef=function(e){o.menu=e},o.subMenuRef=function(e){o.subMenu=e},o.registerHandlers=function(){document.removeEventListener("keydown",o.props.parentKeyNavigationHandler),document.addEventListener("keydown",o.handleKeyNavigation)},o.unregisterHandlers=function(e){document.removeEventListener("keydown",o.handleKeyNavigation),e||document.addEventListener("keydown",o.props.parentKeyNavigationHandler)},o.state=Pn()({},o.state,{visible:!1}),o;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),BA(n,[{key:"componentDidMount",value:function(){this.listenId=rA.register(function(){},this.hideMenu)}},{key:"getSubMenuType",value:function(){return n}},{key:"shouldComponentUpdate",value:function(e,t){return this.isVisibilityChange=!(this.state.visible===t.visible&&this.props.forceOpen===e.forceOpen||this.state.visible&&e.forceOpen||this.props.forceOpen&&t.visible),!0}},{key:"componentDidUpdate",value:function(){var t=this;this.isVisibilityChange&&(this.props.forceOpen||this.state.visible?(window.requestAnimationFrame||setTimeout)(function(){var e=t.props.rtl?t.getRTLMenuPosition():t.getMenuPosition();t.subMenu.style.removeProperty("top"),t.subMenu.style.removeProperty("bottom"),t.subMenu.style.removeProperty("left"),t.subMenu.style.removeProperty("right"),jn(e,"top")&&(t.subMenu.style.top=e.top),jn(e,"left")&&(t.subMenu.style.left=e.left),jn(e,"bottom")&&(t.subMenu.style.bottom=e.bottom),jn(e,"right")&&(t.subMenu.style.right=e.right),t.subMenu.classList.add(Jn),t.registerHandlers(),t.setState({selectedItem:null})}):(this.subMenu.addEventListener("transitionend",function e(){t.subMenu.removeEventListener("transitionend",e),t.subMenu.style.removeProperty("bottom"),t.subMenu.style.removeProperty("right"),t.subMenu.style.top=0,t.subMenu.style.left="100%",t.unregisterHandlers()}),this.subMenu.classList.remove(Jn)))}},{key:"componentWillUnmount",value:function(){this.listenId&&rA.unregister(this.listenId),this.opentimer&&clearTimeout(this.opentimer),this.closetimer&&clearTimeout(this.closetimer),this.unregisterHandlers(!0)}},{key:"render",value:function(){var e,t=this.props,n=t.children,A=t.attributes,o=t.disabled,a=t.title,t=t.selected,i=this.state.visible,r={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:J()(Vn,$n,A.listClassName),style:{position:"relative"}},o={className:J()(Vn,A.className,(EA(e={},J()(Xn,A.disabledClassName),o),EA(e,J()(Kn,A.visibleClassName),i),EA(e,J()(Zn,A.selectedClassName),t),e)),onMouseMove:this.props.onMouseMove,onMouseOut:this.props.onMouseOut,onClick:this.handleClick},i={ref:this.subMenuRef,style:{position:"absolute",transition:"opacity 1ms",top:0,left:"100%"},className:J()(zn,this.props.className)};return j.a.createElement("nav",mA({},r,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),j.a.createElement("div",mA({},A,o),a),j.a.createElement("nav",mA({},i,{role:"menu",tabIndex:"-1"}),this.renderChildren(n)))}}]),n}(),wA=(a.propTypes={children:n.a.node.isRequired,attributes:n.a.object,title:n.a.node.isRequired,className:n.a.string,disabled:n.a.bool,hoverDelay:n.a.number,rtl:n.a.bool,selected:n.a.bool,onMouseMove:n.a.func,onMouseOut:n.a.func,forceOpen:n.a.bool,forceClose:n.a.func,parentKeyNavigationHandler:n.a.func},a.defaultProps={disabled:!1,hoverDelay:500,attributes:{},className:"",rtl:!1,selected:!1,onMouseMove:function(){return null},onMouseOut:function(){return null},forceOpen:!1,forceClose:function(){return null},parentKeyNavigationHandler:function(){return null}},a),CA=function(e,t,n){return t&&IA(e.prototype,t),n&&IA(e,n),e};function IA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var a=function(){var e=n,t=pA;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(e){var a;if(this instanceof n)return(a=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).registerHandlers=function(){document.addEventListener("mousedown",a.handleOutsideClick),document.addEventListener("touchstart",a.handleOutsideClick),document.addEventListener("scroll",a.handleHide),document.addEventListener("contextmenu",a.handleHide),document.addEventListener("keydown",a.handleKeyNavigation),window.addEventListener("resize",a.handleHide)},a.unregisterHandlers=function(){document.removeEventListener("mousedown",a.handleOutsideClick),document.removeEventListener("touchstart",a.handleOutsideClick),document.removeEventListener("scroll",a.handleHide),document.removeEventListener("contextmenu",a.handleHide),document.removeEventListener("keydown",a.handleKeyNavigation),window.removeEventListener("resize",a.handleHide)},a.handleShow=function(e){var t,n;e.detail.id!==a.props.id||a.state.isVisible||(t=(n=e.detail.position).x,n=n.y,a.setState({isVisible:!0,x:t,y:n}),a.registerHandlers(),Hn(a.props.onShow,e))},a.handleHide=function(e){!a.state.isVisible||e.detail&&e.detail.id&&e.detail.id!==a.props.id||(a.unregisterHandlers(),a.setState({isVisible:!1,selectedItem:null,forceSubMenuOpen:!1}),Hn(a.props.onHide,e))},a.handleOutsideClick=function(e){a.menu.contains(e.target)||iA()},a.handleMouseLeave=function(e){e.preventDefault(),Hn(a.props.onMouseLeave,e,Pn()({},a.props.data,eA.data),eA.target),a.props.hideOnLeave&&iA()},a.handleContextMenu=function(e){e.preventDefault(),a.handleHide(e)},a.hideMenu=function(e){27!==e.keyCode&&13!==e.keyCode||iA()},a.getMenuPosition=function(){var e,t,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,A=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,o={top:A,left:n};return a.menu&&(e=(t=window).innerWidth,t=t.innerHeight,A+(A=a.menu.getBoundingClientRect()).height>t&&(o.top-=A.height),n+A.width>e&&(o.left-=A.width),o.top<0&&(o.top=A.height<t?(t-A.height)/2:0),o.left<0)&&(o.left=A.width<e?(e-A.width)/2:0),o},a.menuRef=function(e){a.menu=e},a.state=Pn()({},a.state,{x:0,y:0,isVisible:!1}),a;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),CA(n,[{key:"getSubMenuType",value:function(){return wA}},{key:"componentDidMount",value:function(){this.listenId=rA.register(this.handleShow,this.handleHide)}},{key:"componentDidUpdate",value:function(){var o,a=this;this.state.isVisible?(o=window.requestAnimationFrame||setTimeout)(function(){var e=a.state,t=e.x,e=e.y,t=a.getMenuPosition(t,e),n=t.top,A=t.left;o(function(){a.menu&&(a.menu.style.top=n+"px",a.menu.style.left=A+"px",a.menu.style.opacity=1,a.menu.style.pointerEvents="auto")})}):this.menu&&(this.menu.style.opacity=0,this.menu.style.pointerEvents="none")}},{key:"componentWillUnmount",value:function(){this.listenId&&rA.unregister(this.listenId),this.unregisterHandlers()}},{key:"render",value:function(){var e,t=this.props,n=t.children,A=t.className,t=t.style,o=this.state.isVisible,t=Pn()({},t,{position:"fixed",opacity:0,pointerEvents:"none"}),o=J()(zn,A,(A=o,(o=Jn)in(e={})?Object.defineProperty(e,o,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[o]=A,e));return j.a.createElement("nav",{role:"menu",tabIndex:"-1",ref:this.menuRef,style:t,className:o,onContextMenu:this.handleContextMenu,onMouseLeave:this.handleMouseLeave},this.renderChildren(n))}}]),n}(),yA=(a.propTypes={id:n.a.string.isRequired,children:n.a.node.isRequired,data:n.a.object,className:n.a.string,hideOnLeave:n.a.bool,onHide:n.a.func,onMouseLeave:n.a.func,onShow:n.a.func,style:n.a.object},a.defaultProps={className:"",data:{},hideOnLeave:!1,onHide:function(){return null},onMouseLeave:function(){return null},onShow:function(){return null},style:{}},a),bA=function(e,t,n){return t&&MA(e.prototype,t),n&&MA(e,n),e};function MA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function QA(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}var a=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var o,e=this,t=i;if(!(e instanceof t))throw new TypeError("Cannot call a class as a function");for(var n=arguments.length,A=Array(n),a=0;a<n;a++)A[a]=arguments[a];return(t=o=QA(this,(e=i.__proto__||Object.getPrototypeOf(i)).call.apply(e,[this].concat(A)))).touchHandled=!1,o.handleMouseDown=function(e){0<=o.props.holdToDisplay&&0===e.button&&(e.persist(),e.stopPropagation(),o.mouseDownTimeoutId=setTimeout(function(){return o.handleContextClick(e)},o.props.holdToDisplay)),Hn(o.props.attributes.onMouseDown,e)},o.handleMouseUp=function(e){0===e.button&&clearTimeout(o.mouseDownTimeoutId),Hn(o.props.attributes.onMouseUp,e)},o.handleMouseOut=function(e){0===e.button&&clearTimeout(o.mouseDownTimeoutId),Hn(o.props.attributes.onMouseOut,e)},o.handleTouchstart=function(e){o.touchHandled=!1,0<=o.props.holdToDisplay&&(e.persist(),e.stopPropagation(),o.touchstartTimeoutId=setTimeout(function(){o.handleContextClick(e),o.touchHandled=!0},o.props.holdToDisplay)),Hn(o.props.attributes.onTouchStart,e)},o.handleTouchEnd=function(e){o.touchHandled&&e.preventDefault(),clearTimeout(o.touchstartTimeoutId),Hn(o.props.attributes.onTouchEnd,e)},o.handleContextMenu=function(e){o.handleContextClick(e),Hn(o.props.attributes.onContextMenu,e)},o.handleContextClick=function(e){var t,n,A;o.props.disable||(e.preventDefault(),e.stopPropagation(),t=e.clientX||e.touches&&e.touches[0].pageX,e=e.clientY||e.touches&&e.touches[0].pageY,o.props.posX&&(t-=o.props.posX),o.props.posY&&(e-=o.props.posY),iA(),n=Hn(o.props.collect,o.props),A={position:{x:t,y:e},target:o.elem,id:o.props.id,data:n},n&&"function"==typeof n.then?n.then(function(e){A.data=e,aA(A)}):aA(A))},o.elemRef=function(e){o.elem=e},QA(o,t)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),bA(i,[{key:"render",value:function(){var e=this.props,t=e.renderTag,n=e.attributes,e=e.children,n=Pn()({},n,{className:J()(Wn,n.className),onContextMenu:this.handleContextMenu,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef});return j.a.createElement(t,n,e)}}]),i}(M.Component),TA=(a.propTypes={id:n.a.string.isRequired,children:n.a.node.isRequired,attributes:n.a.object,collect:n.a.func,disable:n.a.bool,holdToDisplay:n.a.number,posX:n.a.number,posY:n.a.number,renderTag:n.a.oneOfType([n.a.node,n.a.func])},a.defaultProps={attributes:{},collect:function(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0},a);Object.assign;[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(Object.keys(TA.propTypes)),["children"]);var a=e(151),SA=e.n(a);function kA(){return(kA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function DA(e){return j.a.createElement(yA,kA({},e,{className:SA.a.contextMenu}))}function vA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:SA.a.menuItem}}))}function NA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:J()(SA.a.menuItem,SA.a.menuItemBordered)}}))}function OA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:J()(SA.a.menuItem,SA.a.menuItemBordered,SA.a.menuItemDanger)}}))}function FA(e){return j.a.createElement(TA,{attributes:{className:J()(e.className,Ln.a.spriteSelectorItem,(t={},n=Ln.a.isSelected,A=e.selected,n in t?Object.defineProperty(t,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[n]=A,t)),onClick:e.onClick,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onMouseDown:e.onMouseDown,onTouchStart:e.onMouseDown},disable:e.preventContextMenu,id:"".concat(e.name,"-").concat(RA),ref:e.componentRef},void 0===e.number?null:j.a.createElement("div",{className:Ln.a.number},e.number),e.costumeURL?j.a.createElement("div",{className:Ln.a.spriteImageOuter},j.a.createElement("div",{className:Ln.a.spriteImageInner},j.a.createElement("img",{className:Ln.a.spriteImage,draggable:!1,src:e.costumeURL}))):null,j.a.createElement("div",{className:Ln.a.spriteInfo},j.a.createElement("div",{className:Ln.a.spriteName},e.name),e.details?j.a.createElement("div",{className:Ln.a.spriteDetails},e.details):null),e.selected&&e.onDeleteButtonClick?j.a.createElement(Gn,{className:Ln.a.deleteButton,onClick:e.onDeleteButtonClick}):null,e.onDuplicateButtonClick||e.onDeleteButtonClick||e.onExportButtonClick?j.a.createElement(DA,{id:"".concat(e.name,"-").concat(RA++)},e.onDuplicateButtonClick?j.a.createElement(vA,{onClick:e.onDuplicateButtonClick},j.a.createElement(z.a,{defaultMessage:"duplicate",id:"gui.spriteSelectorItem.contextMenuDuplicate"})):null,e.onExportButtonClick?j.a.createElement(vA,{onClick:e.onExportButtonClick},j.a.createElement(z.a,{defaultMessage:"export",id:"gui.spriteSelectorItem.contextMenuExport"})):null,e.onDeleteButtonClick?j.a.createElement(OA,{onClick:e.onDeleteButtonClick},j.a.createElement(z.a,{defaultMessage:"delete",id:"gui.spriteSelectorItem.contextMenuDelete"})):null):null);var t,n,A}var RA=0,YA=(FA.propTypes={className:n.a.string,componentRef:n.a.func,costumeURL:n.a.string,details:n.a.string,name:n.a.string.isRequired,number:n.a.number,onClick:n.a.func,onDeleteButtonClick:n.a.func,onDuplicateButtonClick:n.a.func,onExportButtonClick:n.a.func,onMouseDown:n.a.func,onMouseEnter:n.a.func,onMouseLeave:n.a.func,preventContextMenu:n.a.bool,selected:n.a.bool.isRequired},FA);function xA(e){return(xA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var _A=["asset","id","index","onClick","onDeleteButtonClick","onDuplicateButtonClick","onExportButtonClick","dragPayload","receivedBlocks","costumeURL","vm"];function UA(){return(UA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function GA(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function LA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function PA(e,t){return(PA=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HA(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=zA(A);return e=o?(e=zA(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==xA(t)&&"function"!=typeof t?jA(n):t}}function jA(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zA(e){return(zA=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&PA(t,e);var n,A=HA(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(jA(e),["getCostumeData","setRef","handleClick","handleDelete","handleDuplicate","handleExport","handleMouseEnter","handleMouseLeave","handleMouseDown","handleDragEnd","handleDrag","handleTouchEnd"]),e.dragRecognizer=new xn({onDrag:e.handleDrag,onDragEnd:e.handleDragEnd}),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("touchend",this.handleTouchEnd)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("touchend",this.handleTouchEnd),this.dragRecognizer.reset()}},{key:"getCostumeData",value:function(){return this.props.costumeURL||(this.props.asset?Fn(this.props.asset):null)}},{key:"handleDragEnd",value:function(){var e=this;this.props.dragging&&this.props.onDrag({img:null,currentOffset:null,dragging:!1,dragType:null,index:null}),setTimeout(function(){e.noClick=!1})}},{key:"handleDrag",value:function(e){this.props.onDrag({img:this.getCostumeData(),currentOffset:e,dragging:!0,dragType:this.props.dragType,index:this.props.index,payload:this.props.dragPayload}),this.noClick=!0}},{key:"handleTouchEnd",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.ref.getBoundingClientRect(),A=n.top,o=n.left,a=n.bottom,n=n.right;o<=t&&t<=n&&A<=e&&e<=a&&this.handleMouseEnter()}},{key:"handleMouseDown",value:function(e){this.dragRecognizer.start(e)}},{key:"handleClick",value:function(e){e.preventDefault(),this.noClick||this.props.onClick(this.props.id)}},{key:"handleDelete",value:function(e){e.stopPropagation(),this.props.onDeleteButtonClick(this.props.id)}},{key:"handleDuplicate",value:function(e){e.stopPropagation(),this.props.onDuplicateButtonClick(this.props.id)}},{key:"handleExport",value:function(e){e.stopPropagation(),this.props.onExportButtonClick(this.props.id)}},{key:"handleMouseLeave",value:function(){this.props.dispatchSetHoveredSprite(null)}},{key:"handleMouseEnter",value:function(){this.props.dispatchSetHoveredSprite(this.props.id)}},{key:"setRef",value:function(e){this.ref=e&&e.elem}},{key:"render",value:function(){var e=this.props,t=(e.asset,e.id,e.index,e.onClick,e.onDeleteButtonClick),n=e.onDuplicateButtonClick,A=e.onExportButtonClick,e=(e.dragPayload,e.receivedBlocks,e.costumeURL,e.vm,GA(e,_A));return j.a.createElement(YA,UA({componentRef:this.setRef,costumeURL:this.getCostumeData(),preventContextMenu:this.dragRecognizer.gestureInProgress(),onClick:this.handleClick,onDeleteButtonClick:t?this.handleDelete:null,onDuplicateButtonClick:n?this.handleDuplicate:null,onExportButtonClick:A?this.handleExport:null,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},e))}}])&&LA(t.prototype,e),n&&LA(t,n),o}(j.a.PureComponent),JA=(a.propTypes={asset:n.a.instanceOf(Ie.a.Asset),costumeURL:n.a.string,dispatchSetHoveredSprite:n.a.func.isRequired,dragPayload:n.a.oneOfType([n.a.string,n.a.number]),dragType:n.a.string,dragging:n.a.bool,id:n.a.oneOfType([n.a.string,n.a.number]),index:n.a.number,name:n.a.string,onClick:n.a.func,onDeleteButtonClick:n.a.func,onDrag:n.a.func.isRequired,onDuplicateButtonClick:n.a.func,onExportButtonClick:n.a.func,receivedBlocks:n.a.bool.isRequired,selected:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e,t){t=t.id;return{dragging:e.scratchGui.assetDrag.dragging,receivedBlocks:e.scratchGui.hoveredTarget.receivedBlocks&&e.scratchGui.hoveredTarget.sprite===t,vm:e.scratchGui.vm}},function(t){return{dispatchSetHoveredSprite:function(e){t(Object(vn.c)(e))},onDrag:function(e){return t(Object(Nn.c)(e))}}})(a)),a=e(242),WA=e.n(a),a=e(67),VA=e.n(a);function KA(e){return(KA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function XA(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ZA(e,t){return(ZA=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $A(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=to(A);return e=o?(e=to(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==KA(t)&&"function"!=typeof t?eo(n):t}}function eo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function to(e){return(to=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ZA(t,e);var n,A=$A(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(eo(e),["clickDelayer","handleClosePopover","handleToggleOpenState","handleTouchStart","handleTouchOutside","setButtonRef","setContainerRef"]),e.state={isOpen:!1,forceHide:!1},e.mainTooltipId="tooltip-".concat(Math.random()),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.buttonRef.addEventListener("touchstart",this.handleTouchStart),document.addEventListener("touchstart",this.handleTouchOutside)}},{key:"shouldComponentUpdate",value:function(e,t){return t.isOpen!==this.state.isOpen||t.forceHide!==this.state.forceHide||e.title!==this.props.title}},{key:"componentWillUnmount",value:function(){this.buttonRef.removeEventListener("touchstart",this.handleTouchStart),document.removeEventListener("touchstart",this.handleTouchOutside)}},{key:"handleClosePopover",value:function(){var e=this;this.closeTimeoutId=setTimeout(function(){e.setState({isOpen:!1}),e.closeTimeoutId=null},300)}},{key:"handleToggleOpenState",value:function(){this.closeTimeoutId?(clearTimeout(this.closeTimeoutId),this.closeTimeoutId=null):this.state.isOpen||this.setState({isOpen:!0,forceHide:!1})}},{key:"handleTouchOutside",value:function(e){this.state.isOpen&&!this.containerRef.contains(e.target)&&(this.setState({isOpen:!1}),WA.a.hide())}},{key:"clickDelayer",value:function(t){var n=this;return function(e){WA.a.hide(),t&&t(e),n.buttonRef.blur(),n.setState({forceHide:!0,isOpen:!1},function(){setTimeout(function(){return n.setState({forceHide:!1})})})}}},{key:"handleTouchStart",value:function(e){this.state.isOpen||(e.preventDefault(),this.handleToggleOpenState())}},{key:"setButtonRef",value:function(e){this.buttonRef=e}},{key:"setContainerRef",value:function(e){this.containerRef=e}},{key:"render",value:function(){var c=this,e=this.props,t=e.className,n=e.img,A=e.title,o=e.moreButtons,g=e.tooltipPlace,e=e.onClick;return j.a.createElement("div",{className:J()(VA.a.menuContainer,t,(XA(t={},VA.a.expanded,this.state.isOpen),XA(t,VA.a.forceHidden,this.state.forceHide),t)),ref:this.setContainerRef,onMouseEnter:this.handleToggleOpenState,onMouseLeave:this.handleClosePopover},j.a.createElement("button",{"aria-label":A,className:J()(VA.a.button,VA.a.mainButton),"data-for":this.mainTooltipId,"data-tip":A,ref:this.setButtonRef,onClick:this.clickDelayer(e)},j.a.createElement("img",{className:VA.a.mainIcon,draggable:!1,src:n})),j.a.createElement(WA.a,{className:VA.a.tooltip,effect:"solid",id:this.mainTooltipId,place:g||"left"}),j.a.createElement("div",{className:VA.a.moreButtonsOuter},j.a.createElement("div",{className:VA.a.moreButtons},(o||[]).map(function(e,t){var n=e.img,A=e.title,o=e.onClick,a=e.fileAccept,i=e.fileChange,r=e.fileInput,e=e.fileMultiple,s=!o,l=r,u="".concat(c.mainTooltipId,"-").concat(A);return j.a.createElement("div",{key:"".concat(u,"-").concat(t)},j.a.createElement("button",{"aria-label":A,className:J()(VA.a.button,VA.a.moreButton,XA({},VA.a.comingSoon,s)),"data-for":u,"data-tip":A,onClick:l?o:c.clickDelayer(o)},j.a.createElement("img",{className:VA.a.moreIcon,draggable:!1,src:n}),l?j.a.createElement("input",{accept:a,className:VA.a.fileInput,multiple:e,ref:r,type:"file",onChange:i}):null),j.a.createElement(WA.a,{className:J()(VA.a.tooltip,XA({},VA.a.comingSoonTooltip,s)),effect:"solid",id:u,place:g||"left"}))}))))}}])&&qA(t.prototype,e),n&&qA(t,n),o}(j.a.Component),no=(a.propTypes={className:n.a.string,img:n.a.string,moreButtons:n.a.arrayOf(n.a.shape({img:n.a.string,title:n.a.node.isRequired,onClick:n.a.func,fileAccept:n.a.string,fileChange:n.a.func,fileInput:n.a.func,fileMultiple:n.a.bool})),onClick:n.a.func.isRequired,title:n.a.node.isRequired,tooltipPlace:n.a.string},a);function Ao(e){return(Ao="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oo(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ao(e,t){return(ao=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function io(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=so(A);return e=o?(e=so(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ao(t)&&"function"!=typeof t?ro(n):t}}function ro(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function so(e){return(so=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ao(t,e);var n,A=io(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ro(e),["setRef"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.onAddSortable(this.ref)}},{key:"componentWillUnmount",value:function(){this.props.onRemoveSortable(this.ref)}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){return j.a.createElement("div",{className:this.props.className,ref:this.setRef,style:{order:this.props.index}},this.props.children)}}])&&oo(t.prototype,e),n&&oo(t,n),o}(j.a.Component),lo=(a.propTypes={children:n.a.node.isRequired,className:n.a.string,index:n.a.number.isRequired,onAddSortable:n.a.func.isRequired,onRemoveSortable:n.a.func.isRequired},a);function uo(e){return(uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function co(){return(co=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function go(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ho(e,t){return(ho=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function po(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Bo(A);return e=o?(e=Bo(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==uo(t)&&"function"!=typeof t?mo(n):t}}function mo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bo(e){return(Bo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ho(t,e);var n,A=po(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(mo(e),["setRef","handleAddSortable","handleRemoveSortable"]),e.sortableRefs=[],e.boxes=null,e.ref=null,e.containerBox=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var n=this;if(e.dragInfo.dragging&&!this.props.dragInfo.dragging){if(this.boxes=this.sortableRefs.map(function(e){return e&&e.getBoundingClientRect()}),this.boxes.sort(function(e,t){return e.top===t.top?(e.left-t.left)*(n.props.isRtl?-1:1):e.top-t.top}),!this.ref)throw new Error("The containerRef must be assigned to the sortable area");this.containerBox=this.ref.getBoundingClientRect()}else!e.dragInfo.dragging&&this.props.dragInfo.dragging&&null!==(e=this.getMouseOverIndex())&&this.props.onDrop(Object.assign({},this.props.dragInfo,{newIndex:e}))}},{key:"handleAddSortable",value:function(e){this.sortableRefs.push(e)}},{key:"handleRemoveSortable",value:function(e){e=this.sortableRefs.indexOf(e);this.sortableRefs=this.sortableRefs.slice(0,e).concat(this.sortableRefs.slice(e+1))}},{key:"getOrdering",value:function(e,t,n){function A(e){return"number"==typeof e&&!isNaN(e)}var o=Array(this.props.items.length).fill(0).map(function(e,t){return t});return A(t)&&A(n)&&(o=o.slice(0,t).concat(o.slice(t+1))).splice(n,0,t),o}},{key:"getMouseOverIndex",value:function(){var e,t,n,A,o,a,i=null;return i=this.props.dragInfo.currentOffset&&(e=(t=this.props.dragInfo.currentOffset).x,t=t.y,n=(a=this.containerBox).top,A=a.left,o=a.bottom,a=a.right,A<=e)&&e<=a&&n<=t&&t<=o?0===this.boxes.length?0:function(e,t,n){var A=e.x,o=e.y;if(0===t.length)return null;for(var a=null,i=Math.min.apply(null,t.map(function(e){return e.left})),r=Math.max.apply(null,t.map(function(e){return e.right})),s=Math.min.apply(null,t.map(function(e){return e.top})),l=Math.max.apply(null,t.map(function(e){return e.bottom})),u=0;u<t.length;u++){var c=t[u],g=c.left===i?-1/0:c.left,d=c.right===r?1/0:c.right,h=c.top===s?-1/0:c.top,c=c.bottom===l?1/0:c.bottom;if(u===t.length-1&&(n?g=-1/0:d=1/0),g<=A&&A<=d&&h<=o&&o<=c){a=u;break}}return a}(this.props.dragInfo.currentOffset,this.boxes,this.props.isRtl):i}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){var e=this.props,t=e.dragInfo,n=t.index,t=t.dragType,e=e.items,A=this.getMouseOverIndex(),e=this.getOrdering(e,n,A);return j.a.createElement(a,co({containerRef:this.setRef,draggingIndex:n,draggingType:t,mouseOverIndex:A,ordering:e,onAddSortable:this.handleAddSortable,onRemoveSortable:this.handleRemoveSortable},this.props))}}])&&go(t.prototype,e),n&&go(t,n),o}(j.a.Component);e.propTypes={dragInfo:n.a.shape({currentOffset:n.a.shape({x:n.a.number,y:n.a.number}),dragType:n.a.string,dragging:n.a.bool,index:n.a.number}),items:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired})),onClose:n.a.func,onDrop:n.a.func,isRtl:n.a.bool};return Object(A.b)(function(e){return{dragInfo:e.scratchGui.assetDrag,isRtl:e.locales.isRtl}},function(){return{}})(e)},E=e(21),i=e(200),fo=e.n(i);function Eo(e){var t,n,A=e.buttons,o=e.containerRef,a=e.dragType,i=e.isRtl,r=e.items,s=e.selectedItemIndex,l=e.draggingIndex,u=e.draggingType,c=e.ordering,g=e.onAddSortable,d=e.onRemoveSortable,h=e.onDeleteClick,p=e.onDuplicateClick,m=e.onExportClick,B=e.onItemClick,f=u===a,e=null;return 0<A.length&&(t=(u=A[0]).img,n=u.title,u=u.onClick,A=A.slice(1),e=j.a.createElement(W.a,{className:fo.a.newButtons},j.a.createElement(no,{img:t,moreButtons:A,title:n,tooltipPlace:i?"left":"right",onClick:u}))),j.a.createElement(W.a,{className:fo.a.wrapper,componentRef:o},j.a.createElement(W.a,{className:fo.a.listArea},r.map(function(e,t){return j.a.createElement(lo,{id:e.name,index:f?c.indexOf(t):t,key:e.name,onAddSortable:g,onRemoveSortable:d},j.a.createElement(JA,{asset:e.asset,className:J()(fo.a.listItem,(n={},A=fo.a.placeholder,o=f&&t===l,A in n?Object.defineProperty(n,A,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[A]=o,n)),costumeURL:e.url,details:e.details,dragPayload:e.dragPayload,dragType:a,id:t,index:t,name:e.name,number:t+1,selected:t===s,onClick:B,onDeleteButtonClick:h,onDuplicateButtonClick:p,onExportButtonClick:m}));var n,A,o})),e)}Eo.propTypes={buttons:n.a.arrayOf(n.a.shape({title:n.a.string.isRequired,img:n.a.string.isRequired,onClick:n.a.func})),containerRef:n.a.func,dragType:n.a.oneOf(Object.keys(E.a)),draggingIndex:n.a.number,draggingType:n.a.oneOf(Object.keys(E.a)),isRtl:n.a.bool,items:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired})),onAddSortable:n.a.func,onDeleteClick:n.a.func,onDuplicateClick:n.a.func,onExportClick:n.a.func,onItemClick:n.a.func.isRequired,onRemoveSortable:n.a.func,ordering:n.a.arrayOf(n.a.number),selectedItemIndex:n.a.number.isRequired};var wo=a(Eo),i=e(323),Co=e.n(i);function Io(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function yo(){return(yo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function bo(e){return j.a.createElement(W.a,{className:Co.a.wrapper},j.a.createElement(wo,yo({className:Co.a.selector},e)),j.a.createElement(W.a,{className:Co.a.detailArea},e.children))}bo.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Io(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Io(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({},wo.propTypes);var Mo=bo,Qo=e(223);function To(e){return(To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var So=["selectedCostumeIndex","vm"];function ko(){return(ko=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Do(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function vo(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function No(e,t){return(No=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oo(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ro(A);return e=o?(e=Ro(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==To(t)&&"function"!=typeof t?Fo(n):t}}function Fo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ro(e){return(Ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yo(e,r,t){(function n(A,o){var a,i;A===o.length?e.value=null:(a=o[A],(i=new FileReader).onload=function(){var e=a.type,t=a.name.split(".",1)[0];r(i.result,e,t,A,o.length),n(A+1,o)},i.onerror=t,i.readAsArrayBuffer(a))})(0,e.files)}function xo(e,t,n,A){return e=e.createAsset(t,n,A,null,!0),{name:null,dataFormat:n,asset:e,md5:"".concat(e.assetId,".").concat(n),assetId:e.assetId}}function _o(e,t,A,o){var n,g,d,h,p,m,B,f,i,a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:function(){},r=null,s=null;switch(t){case"image/svg+xml":e=On.sanitizeSvg.sanitizeByteStream(e),r=A.DataFormat.SVG,s=A.AssetType.ImageVector;break;case"image/jpeg":r=A.DataFormat.JPG,s=A.AssetType.ImageBitmap;break;case"image/bmp":return i=e,void new Promise(function(t){var n=i instanceof String?i:window.URL.createObjectURL(new Blob([i],{type:"image/bmp"})),A=document.createElement("canvas"),o=A.getContext("2d"),a=document.createElement("img");a.addEventListener("load",function(){A.width=a.naturalWidth,A.height=a.naturalHeight,o.drawImage(a,0,0);var e=A.toDataURL("image/png");window.URL.revokeObjectURL(n),t(e)}),a.setAttribute("src",n)}).then(function(e){_o(e,"image/png",A,o)});case"image/png":r=A.DataFormat.PNG,s=A.AssetType.ImageBitmap;break;case"image/gif":var l=[];return n=e,g=function(t,e,n){_o(e,"image/png",A,function(e){l=l.concat(e),t===n-1&&o(l)},a)},d=document.createElement("canvas"),h=d.getContext("2d"),p=new Ho.GifReader(new Uint8Array(n)),m=p.numFrames(),d.width=p.width,d.height=p.height,B=h.createImageData(d.width,d.height),f=h.createImageData(d.width,d.height),void function e(t){for(var n=[],A=(p.decodeAndBlitFrameRGBA(t,n),p.frameInfo(t)),o=A.x,a=A.y,i=A.width,r=A.height,A=A.disposal,s=0;s<r;s++)for(var l=0;l<i;l++){var u=4*(o+a*d.width)+4*(l+s*d.width);n[3+u]&&(B.data[u]=n[u],B.data[1+u]=n[1+u],B.data[2+u]=n[2+u],B.data[3+u]=n[3+u])}h.clearRect(0,0,d.width,d.height),h.putImageData(B,0,0);var c=d.toDataURL();switch(A){case 2:h.clearRect(o,a,i,r),B=h.getImageData(0,0,d.width,d.height);break;case 3:(B=h.createImageData(d.width,d.height)).data.set(f.data);break;default:f=h.getImageData(0,0,d.width,d.height)}g(t,c,m),t<m-1&&setTimeout(function(){e(t+1)})}(0);default:return void a("Encountered unexpected file type: ".concat(t))}function u(e){e=xo(A,s,r,e),o([e])}var c=new On.BitmapAdapter;r===A.DataFormat.SVG?u(new Uint8Array(e)):c.importBitmap(e,t).then(u).catch(a)}function Uo(e){return{name:e,md5:"cd21514d0531fdffb22204e0ec5ed84a.svg",rotationCenterX:0,rotationCenterY:0,bitmapResolution:1,skinId:null}}function Go(e,t){var n,A,o,a=document.createElement("a");document.body.appendChild(a),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(t,e):"download"in HTMLAnchorElement.prototype?(n=window.URL.createObjectURL(t),a.href=n,a.download=e,a.type=t.type,a.click(),window.setTimeout(function(){document.body.removeChild(a),window.URL.revokeObjectURL(n)},1e3)):(A=window.open("","_blank"),(o=new FileReader).onloadend=function(){A.location.href=o.result,A=null},o.readAsDataURL(t))}var i=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&No(t,e);var n,A=Oo(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Fo(e),["handleUpdateImage","handleUpdateName"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){return this.props.imageId!==e.imageId||this.props.rtl!==e.rtl||this.props.name!==e.name}},{key:"handleUpdateName",value:function(e){this.props.vm.renameCostume(this.props.selectedCostumeIndex,e)}},{key:"handleUpdateImage",value:function(e,t,n,A){e?this.props.vm.updateSvg(this.props.selectedCostumeIndex,t,n,A):this.props.vm.updateBitmap(this.props.selectedCostumeIndex,t,n,A,2)}},{key:"render",value:function(){var e,t,n;return this.props.imageId?(e=(n=this.props).selectedCostumeIndex,t=n.vm,n=Do(n,So),j.a.createElement(Qo.default,ko({},n,{image:t.getCostume(e),onUpdateImage:this.handleUpdateImage,onUpdateName:this.handleUpdateName,fontInlineFn:On.inlineSvgFonts}))):null}}])&&vo(t.prototype,e),n&&vo(t,n),o}(j.a.Component),Lo=(i.propTypes={imageFormat:n.a.string.isRequired,imageId:n.a.string.isRequired,name:n.a.string,rotationCenterX:n.a.number,rotationCenterY:n.a.number,rtl:n.a.bool,selectedCostumeIndex:n.a.number.isRequired,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e,t){var t=t.selectedCostumeIndex,n=e.scratchGui.vm.editingTarget.id,A=e.scratchGui.vm.editingTarget.sprite,t=t<A.costumes.length?t:A.costumes.length-1,A=e.scratchGui.vm.editingTarget.sprite.costumes[t];return{name:A&&A.name,rotationCenterX:A&&A.rotationCenterX,rotationCenterY:A&&A.rotationCenterY,imageFormat:A&&A.dataFormat,imageId:n&&"".concat(n).concat(A.skinId),rtl:e.locales.isRtl,selectedCostumeIndex:t,vm:e.scratchGui.vm,zoomLevelId:n}})(i)),Po=function(e){e.x=Math.floor(200*Math.random()-100),e.y=Math.floor(100*Math.random()-50)},Ho=e(729),jo=e(100),i=e(730),zo=e.n(i),i=e(731),Jo=e.n(i),i=e(111),Wo=e.n(i),i=e(190),Vo=e.n(i),i=e(141),Ko=e.n(i),i=e(142),Xo=e.n(i),qo=e(236),Zo=e(147);function $o(e){return($o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ea(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ta(e,t){return(ta=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function na(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=oa(A);return e=o?(e=oa(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$o(t)&&"function"!=typeof t?Aa(n):t}}function Aa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oa(e){return(oa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function aa(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function ia(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?aa(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):aa(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}var ra=ia(ia({},Object(z.d)({addLibraryBackdropMsg:{id:"gui.costumeTab.addBackdropFromLibrary",defaultMessage:"Choose a Backdrop"},addLibraryCostumeMsg:{id:"gui.costumeTab.addCostumeFromLibrary",defaultMessage:"Choose a Costume"},addBlankCostumeMsg:{id:"gui.costumeTab.addBlankCostume",defaultMessage:"Paint"},addSurpriseCostumeMsg:{id:"gui.costumeTab.addSurpriseCostume",defaultMessage:"Surprise"},addFileBackdropMsg:{id:"gui.costumeTab.addFileBackdrop",defaultMessage:"Upload Backdrop"},addFileCostumeMsg:{id:"gui.costumeTab.addFileCostume",defaultMessage:"Upload Costume"}})),se.a),i=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ta(t,e);var n,o=na(a);function a(e){var t;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");t=o.call(this,e),l()(Aa(t),["handleSelectCostume","handleDeleteCostume","handleDuplicateCostume","handleExportCostume","handleNewCostume","handleNewBlankCostume","handleSurpriseCostume","handleSurpriseBackdrop","handleFileUploadClick","handleCostumeUpload","handleDrop","setFileInput"]);var n=e.editingTarget,A=e.sprites,e=e.stage,A=n&&A[n]?A[n]:e;return A&&A.currentCostume?t.state={selectedCostumeIndex:A.currentCostume}:t.state={selectedCostumeIndex:0},t}return t=a,(e=[{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.costumes&&(this.props.editingTarget===t&&(this.props.sprites[t]||this.props.stage).costumeCount===n.costumeCount||this.setState({selectedCostumeIndex:n.currentCostume}))}},{key:"handleSelectCostume",value:function(e){this.props.vm.editingTarget.setCostume(e),this.setState({selectedCostumeIndex:e})}},{key:"handleDeleteCostume",value:function(e){e=this.props.vm.deleteCostume(e);this.props.dispatchUpdateRestore({restoreFun:e,deletedItem:"Costume"})}},{key:"handleDuplicateCostume",value:function(e){this.props.vm.duplicateCostume(e)}},{key:"handleExportCostume",value:function(e){var e=this.props.vm.editingTarget.sprite.costumes[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleNewCostume",value:function(e,t,n){var A=this,e=Array.isArray(e)?e:[e];return Promise.all(e.map(function(e){return t?A.props.vm.addCostumeFromLibrary(e.md5,e):A.props.vm.addCostume(e.md5,e,n)}))}},{key:"handleNewBlankCostume",value:function(){var e=this.props.vm.editingTarget.isStage?this.props.intl.formatMessage(ra.backdrop,{index:1}):this.props.intl.formatMessage(ra.costume,{index:1});this.handleNewCostume(Uo(e))}},{key:"handleSurpriseCostume",value:function(){var e=qo[Math.floor(Math.random()*qo.length)],e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewCostume(e,!0)}},{key:"handleSurpriseBackdrop",value:function(){var e=Zo[Math.floor(Math.random()*Zo.length)],e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewCostume(e)}},{key:"handleCostumeUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage,r=this.props.vm.editingTarget.id;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){_o(e,t,i,function(e){e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")}),a.handleNewCostume(e,!1,r).then(function(){A===o-1&&a.props.onCloseImporting()})},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.COSTUME?(n=(t=this.props.vm.editingTarget.sprite).costumes[this.state.selectedCostumeIndex],this.props.vm.reorderCostume(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedCostumeIndex:t.costumes.indexOf(n)})):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name}):e.dragType===E.a.BACKPACK_SOUND&&(this.props.onActivateSoundsTab(),this.props.vm.addSound({md5:e.payload.body,name:e.payload.name}))}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"formatCostumeDetails",value:function(e,t){t=t||1;return"".concat(Math.ceil(e[0]/t)," x ").concat(Math.ceil(e[1]/t))}},{key:"render",value:function(){var e,t,n,A,o=this,a=this.props,i=(a.dispatchUpdateRestore,a.intl),r=a.isRtl,s=a.onNewLibraryBackdropClick,l=a.onNewLibraryCostumeClick,a=a.vm;return a.editingTarget?(A=a.editingTarget.isStage,a=a.editingTarget.sprite,e=A?ra.addLibraryBackdropMsg:ra.addLibraryCostumeMsg,t=A?ra.addFileBackdropMsg:ra.addFileCostumeMsg,n=A?this.handleSurpriseBackdrop:this.handleSurpriseCostume,s=A?s:l,l=(A?zo:Jo).a,A=a.costumes?a.costumes.map(function(e){return{name:e.name,asset:e.asset,details:e.size?o.formatCostumeDetails(e.size,e.bitmapResolution):null,dragPayload:e}}):[],j.a.createElement(Mo,{buttons:[{title:i.formatMessage(e),img:l,onClick:s},{title:i.formatMessage(t),img:Wo.a,onClick:this.handleFileUploadClick,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .gif",fileChange:this.handleCostumeUpload,fileInput:this.setFileInput,fileMultiple:!0},{title:i.formatMessage(ra.addSurpriseCostumeMsg),img:Ko.a,onClick:n},{title:i.formatMessage(ra.addBlankCostumeMsg),img:Vo.a,onClick:this.handleNewBlankCostume},{title:i.formatMessage(e),img:Xo.a,onClick:s}],dragType:E.a.COSTUME,isRtl:r,items:A,selectedItemIndex:this.state.selectedCostumeIndex,onDeleteClick:a&&a.costumes&&1<a.costumes.length?this.handleDeleteCostume:null,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateCostume,onExportClick:this.handleExportCostume,onItemClick:this.handleSelectCostume},a.costumes?j.a.createElement(Lo,{selectedCostumeIndex:this.state.selectedCostumeIndex}):null)):null}}])&&ea(t.prototype,e),n&&ea(t,n),a}(j.a.Component),sa=(i.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,onActivateSoundsTab:n.a.func.isRequired,onCloseImporting:n.a.func.isRequired,onNewLibraryBackdropClick:n.a.func.isRequired,onNewLibraryCostumeClick:n.a.func.isRequired,onShowImporting:n.a.func.isRequired,sprites:n.a.shape({id:n.a.shape({costumes:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired,skinId:n.a.number}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a)},Object(O.a)("Costume Tab")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,dragging:e.scratchGui.assetDrag.dragging}},function(t){return{onActivateSoundsTab:function(){return t(Object(s.f)(s.e))},onNewLibraryBackdropClick:function(e){e.preventDefault(),t(Object(R.m)())},onNewLibraryCostumeClick:function(e){e.preventDefault(),t(Object(R.o)())},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(i)))),la=e(301),i=Object(z.d)({all:{id:"gui.libraryTags.all",defaultMessage:"All"},animals:{id:"gui.libraryTags.animals",defaultMessage:"Animals"},dance:{id:"gui.libraryTags.dance",defaultMessage:"Dance"},effects:{id:"gui.libraryTags.effects",defaultMessage:"Effects"},fantasy:{id:"gui.libraryTags.fantasy",defaultMessage:"Fantasy"},fashion:{id:"gui.libraryTags.fashion",defaultMessage:"Fashion"},food:{id:"gui.libraryTags.food",defaultMessage:"Food"},indoors:{id:"gui.libraryTags.indoors",defaultMessage:"Indoors"},loops:{id:"gui.libraryTags.loops",defaultMessage:"Loops"},music:{id:"gui.libraryTags.music",defaultMessage:"Music"},notes:{id:"gui.libraryTags.notes",defaultMessage:"Notes"},outdoors:{id:"gui.libraryTags.outdoors",defaultMessage:"Outdoors"},patterns:{id:"gui.libraryTags.patterns",defaultMessage:"Patterns"},people:{id:"gui.libraryTags.people",defaultMessage:"People"},percussion:{id:"gui.libraryTags.percussion",defaultMessage:"Percussion"},space:{id:"gui.libraryTags.space",defaultMessage:"Space"},sports:{id:"gui.libraryTags.sports",defaultMessage:"Sports"},underwater:{id:"gui.libraryTags.underwater",defaultMessage:"Underwater"},voice:{id:"gui.libraryTags.voice",defaultMessage:"Voice"},wacky:{id:"gui.libraryTags.wacky",defaultMessage:"Wacky"},animation:{id:"gui.libraryTags.animation",defaultMessage:"Animation"},art:{id:"gui.libraryTags.art",defaultMessage:"Art"},games:{id:"gui.libraryTags.games",defaultMessage:"Games"},stories:{id:"gui.libraryTags.stories",defaultMessage:"Stories"},letters:{id:"gui.libraryTags.letters",defaultMessage:"Letters"}}),ua=[{tag:"animals",intlLabel:i.animals},{tag:"people",intlLabel:i.people},{tag:"fantasy",intlLabel:i.fantasy},{tag:"dance",intlLabel:i.dance},{tag:"music",intlLabel:i.music},{tag:"sports",intlLabel:i.sports},{tag:"food",intlLabel:i.food},{tag:"fashion",intlLabel:i.fashion},{tag:"letters",intlLabel:i.letters}],ca=e(91);function ga(e){return(ga="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function da(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ha(e,t){return(ha=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pa(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ba(A);return e=o?(e=Ba(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ga(t)&&"function"!=typeof t?ma(n):t}}function ma(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ba(e){return(Ba=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fa(e){return j.a.createElement("label",{className:e.above?Ca.a.inputGroupColumn:Ca.a.inputGroup,style:e.style},j.a.createElement("span",{className:e.secondary?Ca.a.inputLabelSecondary:Ca.a.inputLabel,style:e.spanStyle},e.text),e.children)}var Ea=Object(z.d)({libraryTitle:{id:"gui.spriteLibrary.chooseASprite",defaultMessage:"Choose a Sprite"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ha(t,e);var n,A=pa(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ma(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t=this;Po(e),this.props.vm.addSprite(JSON.stringify(e)).then(function(){t.props.onActivateBlocksTab()})}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:la,id:"spriteLibrary",tags:ua,title:this.props.intl.formatMessage(Ea.libraryTitle),onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose})}}])&&da(t.prototype,e),n&&da(t,n),o}(j.a.PureComponent),wa=(u.propTypes={intl:z.f.isRequired,onActivateBlocksTab:n.a.func.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(u)),u=e(243),Ca=e.n(u),Ia=(fa.propTypes={above:n.a.bool,children:n.a.node,secondary:n.a.bool,text:n.a.oneOfType([n.a.string,n.a.node]).isRequired,style:n.a.object,spanStyle:n.a.object},fa.defaultProps={above:!1,secondary:!1},fa),u=e(395),ya=e.n(u),ba=["small"];function Ma(){return(Ma=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Qa(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ta(e){var t=e.small,n=Qa(e,ba);return j.a.createElement("input",Ma({},n,{className:J()(ya.a.inputForm,e.className,(n={},e=ya.a.inputSmall,t=t,e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n))}))}Ta.propTypes={className:n.a.string,small:n.a.bool},Ta.defaultProps={small:!1};var Sa=Ta;function ka(e){return(ka="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Da(){return(Da=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function va(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Na(e,t){return(Na=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oa(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ra(A);return e=o?(e=Ra(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ka(t)&&"function"!=typeof t?Fa(n):t}}function Fa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ra(e){return(Ra=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ya(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Na(t,e);var n,A=Oa(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Fa(e),["handleChange","handleKeyPress","handleFlush"]),e.state={value:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleKeyPress",value:function(e){"Enter"===e.key&&(this.handleFlush(),e.target.blur())}},{key:"handleFlush",value:function(){var e="number"==typeof this.props.value,t=!e||!isNaN(this.state.value);null!==this.state.value&&t&&this.props.onSubmit(e?Number(this.state.value):this.state.value),this.setState({value:null})}},{key:"handleChange",value:function(e){this.setState({value:e.target.value})}},{key:"render",value:function(){var e=(null===this.state.value?this.props:this.state).value;return j.a.createElement(a,Da({},this.props,{value:e,onBlur:this.handleFlush,onChange:this.handleChange,onKeyPress:this.handleKeyPress}))}}])&&va(t.prototype,e),n&&va(t,n),o}(j.a.Component);return e.propTypes={onSubmit:n.a.func.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},e}var u=e(187),xa=e.n(u),u=e(176),_a=e.n(u),u=e(732),Ua=e.n(u),u=e(733),Ga=e.n(u);function La(e){return(La="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pa(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ha(e,t){return(Ha=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ja(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ja(A);return e=o?(e=Ja(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==La(t)&&"function"!=typeof t?za(n):t}}function za(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ja(e){return(Ja=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ha(t,e);var n,A=ja(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(za(e),["handleMouseDown","handleMouseMove","containerRef","handleRef","unbindMouseEvents"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.handleElement.addEventListener("mousedown",this.handleMouseDown),this.handleElement.addEventListener("touchstart",this.handleMouseDown)}},{key:"componentWillUnmount",value:function(){this.unbindMouseEvents(),this.handleElement.removeEventListener("mousedown",this.handleMouseDown),this.handleElement.removeEventListener("touchstart",this.handleMouseDown)}},{key:"directionToMouseEvent",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.containerElement.getBoundingClientRect(),A=n.top+n.height/2,n=n.left+n.width/2;return 90+Math.atan2(e-A,t-n)*(180/Math.PI)}},{key:"gaugePath",value:function(e,t){var n=t*(Math.PI/180),A=[];return A.push("M ".concat(e," 0")),A.push("L ".concat(e," ").concat(e)),A.push("L ".concat(e+e*Math.sin(n)," ").concat(e-e*Math.cos(n))),A.push("A ".concat(e," ").concat(e," 0 0 ").concat(t<0?1:0," ").concat(e," 0")),A.push("Z"),A.join(" ")}},{key:"handleMouseMove",value:function(e){this.props.onChange(this.directionToMouseEvent(e)+this.directionOffset),e.preventDefault()}},{key:"unbindMouseEvents",value:function(){window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.unbindMouseEvents),window.removeEventListener("touchmove",this.handleMouseMove),window.removeEventListener("touchend",this.unbindMouseEvents)}},{key:"handleMouseDown",value:function(e){this.directionOffset=this.props.direction-this.directionToMouseEvent(e),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.unbindMouseEvents),window.addEventListener("touchmove",this.handleMouseMove),window.addEventListener("touchend",this.unbindMouseEvents),e.preventDefault()}},{key:"containerRef",value:function(e){this.containerElement=e}},{key:"handleRef",value:function(e){this.handleElement=e}},{key:"render",value:function(){var e=this.props,t=e.direction,e=e.radius;return j.a.createElement("div",{className:_a.a.container},j.a.createElement("div",{className:_a.a.dialContainer,ref:this.containerRef,style:{width:"".concat(2*e,"px"),height:"".concat(2*e,"px")}},j.a.createElement("img",{className:_a.a.dialFace,draggable:!1,src:Ua.a}),j.a.createElement("svg",{className:_a.a.gauge,height:2*e,width:2*e},j.a.createElement("path",{className:_a.a.gaugePath,d:this.gaugePath(e,t)})),j.a.createElement("img",{className:_a.a.dialHandle,draggable:!1,ref:this.handleRef,src:Ga.a,style:{top:"".concat(e-e*Math.cos(t*(Math.PI/180)),"px"),left:"".concat(e+e*Math.sin(t*(Math.PI/180)),"px"),transform:"rotate(".concat(t,"deg)")}})))}}])&&Pa(t.prototype,e),n&&Pa(t,n),o}(j.a.Component),Wa=(u.propTypes={direction:n.a.number,onChange:n.a.func.isRequired,radius:n.a.number},u.defaultProps={direction:90,radius:56},u),u=e(152),Va=e.n(u),u=e(734),Ka=e.n(u),u=e(735),Xa=e.n(u),u=e(736),qa=e.n(u);function Za(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $a(e){return j.a.createElement(Ia,{secondary:!0,above:e.labelAbove,text:ti},j.a.createElement(xa.a,{body:j.a.createElement("div",null,j.a.createElement(Wa,{direction:e.direction,onChange:e.onChangeDirection}),j.a.createElement("div",{className:Va.a.buttonRow},j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===ni)),title:e.intl.formatMessage(ai.allAround),onClick:e.onClickAllAround},j.a.createElement("img",{draggable:!1,src:Ka.a})),j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===Ai)),title:e.intl.formatMessage(ai.leftRight),onClick:e.onClickLeftRight},j.a.createElement("img",{draggable:!1,src:Xa.a})),j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===oi)),title:e.intl.formatMessage(ai.dontRotate),onClick:e.onClickDontRotate},j.a.createElement("img",{draggable:!1,src:qa.a})))),isOpen:e.popoverOpen,preferPlace:"above",onOuterAction:e.onClosePopover},j.a.createElement(ei,{small:!0,disabled:e.disabled,label:ti,tabIndex:"0",type:"text",value:e.disabled?"":e.direction,onFocus:e.onOpenPopover,onSubmit:e.onChangeDirection})))}var ei=Ya(Sa),ti=j.a.createElement(z.a,{defaultMessage:"Direction",id:"gui.SpriteInfo.direction"}),ni="all around",Ai="left-right",oi="don't rotate",ai=Object(z.d)({allAround:{id:"gui.directionPicker.rotationStyles.allAround",defaultMessage:"All Around"},leftRight:{id:"gui.directionPicker.rotationStyles.leftRight",defaultMessage:"Left/Right"},dontRotate:{id:"gui.directionPicker.rotationStyles.dontRotate",defaultMessage:"Do not rotate"}}),ii=($a.propTypes={direction:n.a.number,disabled:n.a.bool.isRequired,intl:z.f,labelAbove:n.a.bool,onChangeDirection:n.a.func.isRequired,onClickAllAround:n.a.func.isRequired,onClickDontRotate:n.a.func.isRequired,onClickLeftRight:n.a.func.isRequired,onClosePopover:n.a.func.isRequired,onOpenPopover:n.a.func.isRequired,popoverOpen:n.a.bool.isRequired,rotationStyle:n.a.string},$a.defaultProps={labelAbove:!1},Object(z.e)($a));function ri(e){return(ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function si(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function li(e,t){return(li=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ui(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=gi(A);return e=o?(e=gi(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ri(t)&&"function"!=typeof t?ci(n):t}}function ci(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gi(e){return(gi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&li(t,e);var n,A=ui(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ci(e),["handleOpenPopover","handleClosePopover","handleClickLeftRight","handleClickDontRotate","handleClickAllAround"]),e.state={popoverOpen:!1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleOpenPopover",value:function(){this.setState({popoverOpen:!0})}},{key:"handleClosePopover",value:function(){this.setState({popoverOpen:!1})}},{key:"handleClickAllAround",value:function(){this.props.onChangeRotationStyle(ni)}},{key:"handleClickLeftRight",value:function(){this.props.onChangeRotationStyle(Ai)}},{key:"handleClickDontRotate",value:function(){this.props.onChangeRotationStyle(oi)}},{key:"render",value:function(){return j.a.createElement(ii,{direction:this.props.direction,disabled:this.props.disabled,labelAbove:this.props.labelAbove,popoverOpen:this.state.popoverOpen&&!this.props.disabled,rotationStyle:this.props.rotationStyle,onChangeDirection:this.props.onChangeDirection,onClickAllAround:this.handleClickAllAround,onClickDontRotate:this.handleClickDontRotate,onClickLeftRight:this.handleClickLeftRight,onClosePopover:this.handleClosePopover,onOpenPopover:this.handleOpenPopover})}}])&&si(t.prototype,e),n&&si(t,n),o}(j.a.Component),di=(u.propTypes={direction:n.a.number,disabled:n.a.bool,labelAbove:n.a.bool,onChangeDirection:n.a.func,onChangeRotationStyle:n.a.func,rotationStyle:n.a.string},u),V=e(16),hi=["ab","ca","de","el","it","ja","ja-Hira","ko","hu","ru","vi"],u=e(24),c=e.n(u),u=e(737),pi=e.n(u),u=e(738),mi=e.n(u),u=e(739),Bi=e.n(u),u=e(740),fi=e.n(u);function Ei(e){return(Ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ci(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ii(e,t){return(Ii=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yi(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=bi(n),t=(e=A?(e=bi(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Ei(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function bi(e){return(bi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Mi=Ya(Sa),Qi=Object(z.d)({spritePlaceholder:{id:"gui.SpriteInfo.spritePlaceholder",defaultMessage:"Name"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ii(t,e);var n,A=yi(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){return this.props.rotationStyle!==e.rotationStyle||this.props.disabled!==e.disabled||this.props.name!==e.name||this.props.stageSize!==e.stageSize||this.props.visible!==e.visible||Math.round(this.props.direction)!==Math.round(e.direction)||Math.round(this.props.size)!==Math.round(e.size)||Math.round(this.props.x)!==Math.round(e.x)||Math.round(this.props.y)!==Math.round(e.y)}},{key:"render",value:function(){var e=this.props.stageSize,t=j.a.createElement(z.a,{defaultMessage:"Sprite",id:"gui.SpriteInfo.sprite"}),n=j.a.createElement(z.a,{defaultMessage:"Show",id:"gui.SpriteInfo.show"}),A=j.a.createElement(z.a,{defaultMessage:"Size",id:"gui.SpriteInfo.size"}),o=(o=this.props.intl.locale,-1!==hi.indexOf(o)),a=j.a.createElement(Mi,{className:J()(c.a.spriteInput,wi({},c.a.columnInput,o)),disabled:this.props.disabled,placeholder:this.props.intl.formatMessage(Qi.spritePlaceholder),tabIndex:"0",type:"text",value:this.props.disabled?"":this.props.name,onSubmit:this.props.onChangeName}),i=j.a.createElement("div",{className:c.a.group},e===V.c.large?j.a.createElement("div",{className:c.a.iconWrapper},j.a.createElement("img",{"aria-hidden":"true",className:J()(c.a.xIcon,c.a.icon),src:pi.a})):null,j.a.createElement(Ia,{text:"x"},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,placeholder:"x",tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.x),onSubmit:this.props.onChangeX}))),r=j.a.createElement("div",{className:c.a.group},e===V.c.large?j.a.createElement("div",{className:c.a.iconWrapper},j.a.createElement("img",{"aria-hidden":"true",className:J()(c.a.yIcon,c.a.icon),src:mi.a})):null,j.a.createElement(Ia,{text:"y"},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,placeholder:"y",tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.y),onSubmit:this.props.onChangeY})));return e===V.c.small?j.a.createElement(W.a,{className:c.a.spriteInfo},j.a.createElement("div",{className:J()(c.a.row,c.a.rowPrimary)},j.a.createElement("div",{className:c.a.group},a)),j.a.createElement("div",{className:J()(c.a.row,c.a.rowSecondary)},i,r)):j.a.createElement(W.a,{className:c.a.spriteInfo},j.a.createElement("div",{className:J()(c.a.row,c.a.rowPrimary)},j.a.createElement("div",{className:c.a.group},j.a.createElement(Ia,{above:o,text:t},a)),i,r),j.a.createElement("div",{className:J()(c.a.row,c.a.rowSecondary)},j.a.createElement("div",{className:o?c.a.column:c.a.group},e===V.c.large?j.a.createElement(Ia,{secondary:!0,text:n}):null,j.a.createElement("div",{className:c.a.radioWrapper},j.a.createElement("div",{className:J()(c.a.radio,c.a.radioFirst,c.a.iconWrapper,(wi(t={},c.a.isActive,this.props.visible&&!this.props.disabled),wi(t,c.a.isDisabled,this.props.disabled),t)),tabIndex:"0",onClick:this.props.onClickVisible,onKeyPress:this.props.onPressVisible},j.a.createElement("img",{className:c.a.icon,src:Bi.a})),j.a.createElement("div",{className:J()(c.a.radio,c.a.radioLast,c.a.iconWrapper,(wi(a={},c.a.isActive,!this.props.visible&&!this.props.disabled),wi(a,c.a.isDisabled,this.props.disabled),a)),tabIndex:"0",onClick:this.props.onClickNotVisible,onKeyPress:this.props.onPressNotVisible},j.a.createElement("img",{className:c.a.icon,src:fi.a})))),j.a.createElement("div",{className:J()(c.a.group,c.a.largerInput)},j.a.createElement(Ia,{secondary:!0,above:o,text:A},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,label:A,tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.size),onSubmit:this.props.onChangeSize}))),j.a.createElement("div",{className:J()(c.a.group,c.a.largerInput)},j.a.createElement(di,{direction:Math.round(this.props.direction),disabled:this.props.disabled,labelAbove:o,rotationStyle:this.props.rotationStyle,onChangeDirection:this.props.onChangeDirection,onChangeRotationStyle:this.props.onChangeRotationStyle}))))}}])&&Ci(t.prototype,e),n&&Ci(t,n),o}(j.a.Component),Ti=(u.propTypes={direction:n.a.oneOfType([n.a.string,n.a.number]),disabled:n.a.bool,intl:z.f,name:n.a.string,onChangeDirection:n.a.func,onChangeName:n.a.func,onChangeRotationStyle:n.a.func,onChangeSize:n.a.func,onChangeX:n.a.func,onChangeY:n.a.func,onClickNotVisible:n.a.func,onClickVisible:n.a.func,onPressNotVisible:n.a.func,onPressVisible:n.a.func,rotationStyle:n.a.string,size:n.a.oneOfType([n.a.string,n.a.number]),stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,visible:n.a.bool,x:n.a.oneOfType([n.a.string,n.a.number]),y:n.a.oneOfType([n.a.string,n.a.number])},Object(z.e)(u));function Si(e){return(Si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ki(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Di(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?ki(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):ki(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function vi(){return(vi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Ni(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Oi(e,t){return(Oi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fi(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Yi(A);return e=o?(e=Yi(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Si(t)&&"function"!=typeof t?Ri(n):t}}function Ri(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yi(e){return(Yi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Oi(t,e);var n,A=Fi(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ri(e),["handleClickVisible","handleClickNotVisible","handlePressVisible","handlePressNotVisible"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleClickVisible",value:function(e){e.preventDefault(),this.props.onChangeVisibility(!0)}},{key:"handleClickNotVisible",value:function(e){e.preventDefault(),this.props.onChangeVisibility(!1)}},{key:"handlePressVisible",value:function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.props.onChangeVisibility(!0))}},{key:"handlePressNotVisible",value:function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.props.onChangeVisibility(!1))}},{key:"render",value:function(){return j.a.createElement(Ti,vi({},this.props,{onClickNotVisible:this.handleClickNotVisible,onClickVisible:this.handleClickVisible,onPressNotVisible:this.handlePressNotVisible,onPressVisible:this.handlePressVisible}))}}])&&Ni(t.prototype,e),n&&Ni(t,n),o}(j.a.Component),xi=(u.propTypes=Di(Di({},Ti.propTypes),{},{onChangeDirection:n.a.func,onChangeName:n.a.func,onChangeSize:n.a.func,onChangeVisibility:n.a.func,onChangeX:n.a.func,onChangeY:n.a.func,x:n.a.number,y:n.a.number}),u);function _i(e){return(_i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ui(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gi(e,t){return(Gi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Li(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Pi(n),t=(e=A?(e=Pi(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==_i(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Pi(e){return(Pi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(i,r){return function(a){return function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gi(t,e);var n,A=Li(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){for(var t in e)if(t!==i&&this.props[t]!==e[t])return!0;return e[i]!==this._lastRenderedValue&&Date.now()-this._lastRenderTime>r}},{key:"render",value:function(){return this._lastRenderTime=Date.now(),this._lastRenderedValue=this.props[i],j.a.createElement(a,this.props)}}])&&Ui(t.prototype,e),n&&Ui(t,n),o}(j.a.Component)}},g=e(94),Hi=e.n(g);function ji(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zi(e){var t=e.containerRef,a=e.editingTarget,i=e.draggingIndex,r=e.draggingType,s=e.hoveredTarget,l=e.onDeleteSprite,u=e.onDuplicateSprite,c=e.onExportSprite,g=e.onSelectSprite,d=e.onAddSortable,h=e.onRemoveSortable,p=e.ordering,m=e.raised,B=e.selectedId,e=e.items,f=r===E.a.SPRITE;return j.a.createElement(W.a,{className:J()(Hi.a.scrollWrapper,ji({},Hi.a.scrollWrapperDragging,r===E.a.BACKPACK_SPRITE)),componentRef:t},j.a.createElement(W.a,{className:Hi.a.itemsWrapper},e.map(function(e,t){var n,A=s.sprite===e.id&&e.id!==a&&s.receivedBlocks,o=!A&&m&&e.id!==a||[E.a.COSTUME,E.a.SOUND,E.a.BACKPACK_COSTUME,E.a.BACKPACK_SOUND,E.a.BACKPACK_CODE].includes(r);return j.a.createElement(lo,{className:J()(Hi.a.spriteWrapper,ji({},Hi.a.placeholder,f&&t===i)),index:f?p.indexOf(t):t,key:e.name,onAddSortable:d,onRemoveSortable:h},j.a.createElement(Ji,{asset:e.costume&&e.costume.asset,className:J()(Hi.a.sprite,(ji(n={},Hi.a.raised,o),ji(n,Hi.a.receivedBlocks,A),n)),dragPayload:e.id,dragType:E.a.SPRITE,id:e.id,index:t,key:e.id,name:e.name,selected:e.id===B,onClick:g,onDeleteButtonClick:l,onDuplicateButtonClick:u,onExportButtonClick:c}))})))}var Ji=u("asset",500)(JA),Wi=(zi.propTypes={containerRef:n.a.func,draggingIndex:n.a.number,draggingType:n.a.oneOf(Object.keys(E.a)),editingTarget:n.a.string,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool,sprite:n.a.string}),items:n.a.arrayOf(n.a.shape({costume:n.a.shape({url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number.isRequired,rotationCenterX:n.a.number.isRequired,rotationCenterY:n.a.number.isRequired}),name:n.a.string.isRequired,order:n.a.number.isRequired})),onAddSortable:n.a.func,onDeleteSprite:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onRemoveSortable:n.a.func,onSelectSprite:n.a.func,ordering:n.a.arrayOf(n.a.number),raised:n.a.bool,selectedId:n.a.string},a(zi)),Vi=e(81),g=e(299),Ki=e.n(g),Xi=["editingTarget","hoveredTarget","intl","onChangeSpriteDirection","onChangeSpriteName","onChangeSpriteRotationStyle","onChangeSpriteSize","onChangeSpriteVisibility","onChangeSpriteX","onChangeSpriteY","onDrop","onDeleteSprite","onDuplicateSprite","onExportSprite","onFileUploadClick","onNewSpriteClick","onPaintSpriteClick","onSelectSprite","onSpriteUpload","onSurpriseSpriteClick","raised","selectedId","spriteFileInput","sprites","stageSize"];function qi(){return(qi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Zi(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function $i(e){var t=e.editingTarget,n=e.hoveredTarget,A=e.intl,o=e.onChangeSpriteDirection,a=e.onChangeSpriteName,i=e.onChangeSpriteRotationStyle,r=e.onChangeSpriteSize,s=e.onChangeSpriteVisibility,l=e.onChangeSpriteX,u=e.onChangeSpriteY,c=e.onDrop,g=e.onDeleteSprite,d=e.onDuplicateSprite,h=e.onExportSprite,p=e.onFileUploadClick,m=e.onNewSpriteClick,B=e.onPaintSpriteClick,f=e.onSelectSprite,E=e.onSpriteUpload,w=e.onSurpriseSpriteClick,C=e.raised,I=e.selectedId,y=e.spriteFileInput,b=e.sprites,M=e.stageSize,e=Zi(e,Xi),Q=b[I],T=!1;return void 0===Q&&(Q={},T=!0),j.a.createElement(W.a,qi({className:Hi.a.spriteSelector},e),j.a.createElement(xi,{direction:Q.direction,disabled:T,name:Q.name,rotationStyle:Q.rotationStyle,size:Q.size,stageSize:M,visible:Q.visible,x:Q.x,y:Q.y,onChangeDirection:o,onChangeName:a,onChangeRotationStyle:i,onChangeSize:r,onChangeVisibility:s,onChangeX:l,onChangeY:u}),j.a.createElement(Wi,{editingTarget:t,hoveredTarget:n,items:Object.keys(b).map(function(e){return b[e]}),raised:C,selectedId:I,onDeleteSprite:g,onDrop:c,onDuplicateSprite:d,onExportSprite:h,onSelectSprite:f}),j.a.createElement(no,{className:Hi.a.addButton,img:Ki.a,moreButtons:[{title:A.formatMessage(tr.addSpriteFromFile),img:Wo.a,onClick:p,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .sprite2, .sprite3, .gif",fileChange:E,fileInput:y,fileMultiple:!0},{title:A.formatMessage(tr.addSpriteFromSurprise),img:Ko.a,onClick:w},{title:A.formatMessage(tr.addSpriteFromPaint),img:Vo.a,onClick:B},{title:A.formatMessage(tr.addSpriteFromLibrary),img:Xo.a,onClick:m}],title:A.formatMessage(tr.addSpriteFromLibrary),tooltipPlace:Object(Vi.b)(A.locale)?"right":"left",onClick:m}))}function er(e,t){return new Promise(function(n,A){Je()({uri:t,responseType:e},function(e,t){return e||200!==t.statusCode?A(new Error(t.status)):n(t.body)})})}var tr=Object(z.d)({addSpriteFromLibrary:{id:"gui.spriteSelector.addSpriteFromLibrary",defaultMessage:"Choose a Sprite"},addSpriteFromPaint:{id:"gui.spriteSelector.addSpriteFromPaint",defaultMessage:"Paint"},addSpriteFromSurprise:{id:"gui.spriteSelector.addSpriteFromSurprise",defaultMessage:"Surprise"},addSpriteFromFile:{id:"gui.spriteSelector.addSpriteFromFile",defaultMessage:"Upload Sprite"}}),nr=($i.propTypes={editingTarget:n.a.string,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool}),intl:z.f.isRequired,onChangeSpriteDirection:n.a.func,onChangeSpriteName:n.a.func,onChangeSpriteRotationStyle:n.a.func,onChangeSpriteSize:n.a.func,onChangeSpriteVisibility:n.a.func,onChangeSpriteX:n.a.func,onChangeSpriteY:n.a.func,onDeleteSprite:n.a.func,onDrop:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onFileUploadClick:n.a.func,onNewSpriteClick:n.a.func,onPaintSpriteClick:n.a.func,onSelectSprite:n.a.func,onSpriteUpload:n.a.func,onSurpriseSpriteClick:n.a.func,raised:n.a.bool,selectedId:n.a.string,spriteFileInput:n.a.func,sprites:n.a.shape({id:n.a.shape({costume:n.a.shape({url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number.isRequired,rotationCenterX:n.a.number.isRequired,rotationCenterY:n.a.number.isRequired}),name:n.a.string.isRequired,order:n.a.number.isRequired})}),stageSize:n.a.oneOf(Object.keys(V.c)).isRequired},Object(z.e)($i)),a=e(300),Ar=(e(741),e(742),e(12),e(743),er.bind(null,"json")),or=er.bind(null,"arraybuffer"),g=e(104),ar=e.n(g),g=e(744),ir=e.n(g),rr=["backdropCount","containerRef","dragOver","fileInputRef","intl","selected","raised","receivedBlocks","url","onBackdropFileUploadClick","onBackdropFileUpload","onClick","onMouseEnter","onMouseLeave","onNewBackdropClick","onSurpriseBackdropClick","onEmptyBackdropClick"];function sr(){return(sr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function lr(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function ur(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function cr(e){var t,n=e.backdropCount,A=e.containerRef,o=e.dragOver,a=e.fileInputRef,i=e.intl,r=e.selected,s=e.raised,l=e.receivedBlocks,u=e.url,c=e.onBackdropFileUploadClick,g=e.onBackdropFileUpload,d=e.onClick,h=e.onMouseEnter,p=e.onMouseLeave,m=e.onNewBackdropClick,B=e.onSurpriseBackdropClick,f=e.onEmptyBackdropClick,e=ur(e,rr);return j.a.createElement(W.a,sr({className:J()(ar.a.stageSelector,(lr(t={},ar.a.isSelected,r),lr(t,ar.a.raised,s||o),lr(t,ar.a.receivedBlocks,l),t)),componentRef:A,onClick:d,onMouseEnter:h,onMouseLeave:p},e),j.a.createElement("div",{className:ar.a.header},j.a.createElement("div",{className:ar.a.headerTitle},j.a.createElement(z.a,{defaultMessage:"Stage",id:"gui.stageSelector.stage"}))),u?j.a.createElement("img",{className:ar.a.costumeCanvas,src:u}):null,j.a.createElement("div",{className:ar.a.label},j.a.createElement(z.a,{defaultMessage:"Backdrops",id:"gui.stageSelector.backdrops"})),j.a.createElement("div",{className:ar.a.count},n),j.a.createElement(no,{className:ar.a.addButton,img:ir.a,moreButtons:[{title:i.formatMessage(gr.addBackdropFromFile),img:Wo.a,onClick:c,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .gif",fileChange:g,fileInput:a,fileMultiple:!0},{title:i.formatMessage(gr.addBackdropFromSurprise),img:Ko.a,onClick:B},{title:i.formatMessage(gr.addBackdropFromPaint),img:Vo.a,onClick:f},{title:i.formatMessage(gr.addBackdropFromLibrary),img:Xo.a,onClick:m}],title:i.formatMessage(gr.addBackdropFromLibrary),tooltipPlace:Object(Vi.b)(i.locale)?"right":"left",onClick:m}))}var gr=Object(z.d)({addBackdropFromLibrary:{id:"gui.spriteSelector.addBackdropFromLibrary",defaultMessage:"Choose a Backdrop"},addBackdropFromPaint:{id:"gui.stageSelector.addBackdropFromPaint",defaultMessage:"Paint"},addBackdropFromSurprise:{id:"gui.stageSelector.addBackdropFromSurprise",defaultMessage:"Surprise"},addBackdropFromFile:{id:"gui.stageSelector.addBackdropFromFile",defaultMessage:"Upload Backdrop"}}),g=(cr.propTypes={backdropCount:n.a.number.isRequired,containerRef:n.a.func,dragOver:n.a.bool,fileInputRef:n.a.func,intl:z.f.isRequired,onBackdropFileUpload:n.a.func,onBackdropFileUploadClick:n.a.func,onClick:n.a.func,onEmptyBackdropClick:n.a.func,onMouseEnter:n.a.func,onMouseLeave:n.a.func,onNewBackdropClick:n.a.func,onSurpriseBackdropClick:n.a.func,raised:n.a.bool.isRequired,receivedBlocks:n.a.bool.isRequired,selected:n.a.bool.isRequired,url:n.a.string},Object(z.e)(cr));function dr(e){return(dr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hr(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function pr(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?hr(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):hr(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function mr(){return(mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Br(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function fr(e,t){return(fr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Er(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Cr(A);return e=o?(e=Cr(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==dr(t)&&"function"!=typeof t?wr(n):t}}function wr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Cr(e){return(Cr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=[E.a.COSTUME,E.a.SOUND,E.a.BACKPACK_COSTUME,E.a.BACKPACK_SOUND,E.a.BACKPACK_CODE],Ir=Object(a.a)(d)(u("url",500)(g)),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&fr(t,e);var n,A=Er(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(wr(e),["handleClick","handleNewBackdrop","handleSurpriseBackdrop","handleEmptyBackdrop","addBackdropFromLibraryItem","handleFileUploadClick","handleBackdropUpload","handleMouseEnter","handleMouseLeave","handleTouchEnd","handleDrop","setFileInput","setRef"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("touchend",this.handleTouchEnd)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleTouchEnd",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.ref.getBoundingClientRect(),A=n.top,o=n.left,a=n.bottom,n=n.right;o<=t&&t<=n&&A<=e&&e<=a&&this.handleMouseEnter()}},{key:"addBackdropFromLibraryItem",value:function(e){e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewBackdrop(e,!(1<arguments.length&&void 0!==arguments[1])||arguments[1])}},{key:"handleClick",value:function(){this.props.onSelect(this.props.id)}},{key:"handleNewBackdrop",value:function(e){var t=this,n=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],e=Array.isArray(e)?e:[e];return Promise.all(e.map(function(e){return t.props.vm.addBackdrop(e.md5,e)})).then(function(){if(n)return t.props.onActivateTab(s.b)})}},{key:"handleSurpriseBackdrop",value:function(e){e.stopPropagation();e=Zo[Math.floor(Math.random()*Zo.length)];this.addBackdropFromLibraryItem(e,!1)}},{key:"handleEmptyBackdrop",value:function(e){e.stopPropagation(),this.props.vm.setEditingTarget(this.props.id),this.handleNewBackdrop(Uo(this.props.intl.formatMessage(se.a.backdrop,{index:1})))}},{key:"handleBackdropUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){_o(e,t,i,function(e){a.props.vm.setEditingTarget(a.props.id),e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")}),a.handleNewBackdrop(e).then(function(){A===o-1&&a.props.onCloseImporting()})},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"handleFileUploadClick",value:function(e){e.stopPropagation(),this.fileInput.click()}},{key:"handleMouseEnter",value:function(){this.props.dispatchSetHoveredSprite(this.props.id)}},{key:"handleMouseLeave",value:function(){this.props.dispatchSetHoveredSprite(null)}},{key:"handleDrop",value:function(e){var t=this;e.dragType===E.a.COSTUME?this.props.vm.shareCostumeToTarget(e.index,this.props.id):e.dragType===E.a.SOUND?this.props.vm.shareSoundToTarget(e.index,this.props.id):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name},this.props.id):e.dragType===E.a.BACKPACK_SOUND?this.props.vm.addSound({md5:e.payload.body,name:e.payload.name},this.props.id):e.dragType===E.a.BACKPACK_CODE&&Ar(e.payload.bodyUrl).then(function(e){t.props.vm.shareBlocksToTarget(e,t.props.id),t.props.vm.refreshWorkspace()})}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){var e=X()(this.props,["asset","dispatchSetHoveredSprite","id","intl","onActivateTab","onSelect","onShowImporting","onCloseImporting"]);return j.a.createElement(Ir,mr({componentRef:this.setRef,fileInputRef:this.setFileInput,onBackdropFileUpload:this.handleBackdropUpload,onBackdropFileUploadClick:this.handleFileUploadClick,onClick:this.handleClick,onDrop:this.handleDrop,onEmptyBackdropClick:this.handleEmptyBackdrop,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onSurpriseBackdropClick:this.handleSurpriseBackdrop},e))}}])&&Br(t.prototype,e),n&&Br(t,n),o}(j.a.Component),yr=(a.propTypes=pr(pr({},g.propTypes),{},{id:n.a.string,intl:z.f.isRequired,onCloseImporting:n.a.func,onSelect:n.a.func,onShowImporting:n.a.func}),Object(z.e)(Object(A.b)(function(e,t){var n=t.asset,t=t.id;return{url:n&&n.encodeDataURI(),vm:e.scratchGui.vm,receivedBlocks:e.scratchGui.hoveredTarget.receivedBlocks&&e.scratchGui.hoveredTarget.sprite===t,raised:e.scratchGui.blockDrag}},function(t){return{onNewBackdropClick:function(e){e.stopPropagation(),t(Object(R.m)())},onActivateTab:function(e){t(Object(s.f)(e))},dispatchSetHoveredSprite:function(e){t(Object(vn.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(a))),d=e(396),br=e.n(d),Mr=["editingTarget","fileInputRef","hoveredTarget","spriteLibraryVisible","onActivateBlocksTab","onChangeSpriteDirection","onChangeSpriteName","onChangeSpriteRotationStyle","onChangeSpriteSize","onChangeSpriteVisibility","onChangeSpriteX","onChangeSpriteY","onDeleteSprite","onDrop","onDuplicateSprite","onExportSprite","onFileUploadClick","onNewSpriteClick","onPaintSpriteClick","onRequestCloseSpriteLibrary","onSelectSprite","onSpriteUpload","onSurpriseSpriteClick","raiseSprites","stage","stageSize","sprites","vm"];function Qr(){return(Qr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Tr(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Sr(e){var t=e.editingTarget,n=e.fileInputRef,A=e.hoveredTarget,o=e.spriteLibraryVisible,a=e.onActivateBlocksTab,i=e.onChangeSpriteDirection,r=e.onChangeSpriteName,s=e.onChangeSpriteRotationStyle,l=e.onChangeSpriteSize,u=e.onChangeSpriteVisibility,c=e.onChangeSpriteX,g=e.onChangeSpriteY,d=e.onDeleteSprite,h=e.onDrop,p=e.onDuplicateSprite,m=e.onExportSprite,B=e.onFileUploadClick,f=e.onNewSpriteClick,E=e.onPaintSpriteClick,w=e.onRequestCloseSpriteLibrary,C=e.onSelectSprite,I=e.onSpriteUpload,y=e.onSurpriseSpriteClick,b=e.raiseSprites,M=e.stage,Q=e.stageSize,T=e.sprites,S=e.vm,e=Tr(e,Mr);return j.a.createElement("div",Qr({className:br.a.targetPane},e),j.a.createElement(nr,{editingTarget:t,hoveredTarget:A,raised:b,selectedId:t,spriteFileInput:n,sprites:T,stageSize:Q,onChangeSpriteDirection:i,onChangeSpriteName:r,onChangeSpriteRotationStyle:s,onChangeSpriteSize:l,onChangeSpriteVisibility:u,onChangeSpriteX:c,onChangeSpriteY:g,onDeleteSprite:d,onDrop:h,onDuplicateSprite:p,onExportSprite:m,onFileUploadClick:B,onNewSpriteClick:f,onPaintSpriteClick:E,onSelectSprite:C,onSpriteUpload:I,onSurpriseSpriteClick:y}),j.a.createElement("div",{className:br.a.stageSelectorWrapper},M.id&&j.a.createElement(yr,{asset:M.costume&&M.costume.asset,backdropCount:M.costumeCount,id:M.id,selected:M.id===t,onSelect:C}),j.a.createElement("div",null,o?j.a.createElement(wa,{vm:S,onActivateBlocksTab:a,onRequestClose:w}):null)))}var g=n.a.shape({costume:n.a.shape({asset:n.a.object,url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number,rotationCenterX:n.a.number,rotationCenterY:n.a.number}),costumeCount:n.a.number,direction:n.a.number,id:n.a.string,name:n.a.string,order:n.a.number,size:n.a.number,visibility:n.a.bool,x:n.a.number,y:n.a.number}),kr=(Sr.propTypes={editingTarget:n.a.string,extensionLibraryVisible:n.a.bool,fileInputRef:n.a.func,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool}),onActivateBlocksTab:n.a.func.isRequired,onChangeSpriteDirection:n.a.func,onChangeSpriteName:n.a.func,onChangeSpriteRotationStyle:n.a.func,onChangeSpriteSize:n.a.func,onChangeSpriteVisibility:n.a.func,onChangeSpriteX:n.a.func,onChangeSpriteY:n.a.func,onDeleteSprite:n.a.func,onDrop:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onFileUploadClick:n.a.func,onNewSpriteClick:n.a.func,onPaintSpriteClick:n.a.func,onRequestCloseExtensionLibrary:n.a.func,onRequestCloseSpriteLibrary:n.a.func,onSelectSprite:n.a.func,onSpriteUpload:n.a.func,onSurpriseSpriteClick:n.a.func,raiseSprites:n.a.bool,spriteLibraryVisible:n.a.bool,sprites:n.a.objectOf(g),stage:g,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a)},Sr);function Dr(e){return(Dr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var vr=["dispatchUpdateRestore","isRtl","onActivateTab","onCloseImporting","onHighlightTarget","onReceivedBlocks","onShowImporting","workspaceMetrics"];function Nr(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Or(){return(Or=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Fr(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Rr(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yr(e,t){return(Yr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xr(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ur(A);return e=o?(e=Ur(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Dr(t)&&"function"!=typeof t?_r(n):t}}function _r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ur(e){return(Ur=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gr(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.55;if(0===e.length)return 0;for(var n=0,A=0;A<e.length;A++){var o=e[A];n+=Math.pow(o,2)}var a=Math.sqrt(n/e.length);return Math.sqrt(a/t)}function Lr(e){for(var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1024,n=e.length,A=[],o=0;o<n;o+=t){var a=Math.min(n,o+t);A.push(Gr(e.slice(o,a)))}return A}function Pr(A,o,a,i,r){Kr.a.encode({sampleRate:a,channelData:[o]}).then(function(e){var t={format:"",dataFormat:"wav",rate:a,sampleCount:o.length},n=A.runtime.storage;t.asset=n.createAsset(n.AssetType.Sound,n.DataFormat.WAV,new Uint8Array(e),null,!0),t.assetId=t.asset.assetId,t.md5="".concat(t.assetId,".").concat(t.dataFormat),t.name=i,A.addSound(t).then(function(){r&&r()})})}function Hr(e){var t=e.level,n=e.width,A=e.height,o=(A-50)/19,e=((19-Math.floor(19*t))*(2.5+o)+1.25)/A;return j.a.createElement("div",{className:Xr.a.maskContainer,style:{height:"".concat(A,"px")}},j.a.createElement("svg",{className:Xr.a.container,height:A,width:n},Array(19).fill(0).map(function(e,t){return j.a.createElement("rect",{className:t<11?Xr.a.green:t<16?Xr.a.yellow:Xr.a.red,height:o,key:t,rx:3,ry:3,width:n-2,x:1,y:A-(2.5+o)*(t+1)})})),j.a.createElement("div",{className:Xr.a.mask,style:{transform:"scaleY(".concat(e,")")}}))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yr(t,e);var n,A=xr(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(_r(e),["handleActivateBlocksTab","handleBlockDragEnd","handleChangeSpriteRotationStyle","handleChangeSpriteDirection","handleChangeSpriteName","handleChangeSpriteSize","handleChangeSpriteVisibility","handleChangeSpriteX","handleChangeSpriteY","handleDeleteSprite","handleDrop","handleDuplicateSprite","handleExportSprite","handleNewSprite","handleSelectSprite","handleSurpriseSpriteClick","handlePaintSpriteClick","handleFileUploadClick","handleSpriteUpload","setFileInput"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.addListener("BLOCK_DRAG_END",this.handleBlockDragEnd)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("BLOCK_DRAG_END",this.handleBlockDragEnd)}},{key:"handleChangeSpriteDirection",value:function(e){this.props.vm.postSpriteInfo({direction:e})}},{key:"handleChangeSpriteRotationStyle",value:function(e){this.props.vm.postSpriteInfo({rotationStyle:e})}},{key:"handleChangeSpriteName",value:function(e){this.props.vm.renameSprite(this.props.editingTarget,e)}},{key:"handleChangeSpriteSize",value:function(e){this.props.vm.postSpriteInfo({size:e})}},{key:"handleChangeSpriteVisibility",value:function(e){this.props.vm.postSpriteInfo({visible:e})}},{key:"handleChangeSpriteX",value:function(e){this.props.vm.postSpriteInfo({x:e})}},{key:"handleChangeSpriteY",value:function(e){this.props.vm.postSpriteInfo({y:e})}},{key:"handleDeleteSprite",value:function(e){var t=this,n=this.props.vm.deleteSprite(e);this.props.dispatchUpdateRestore({restoreFun:function(){return n().then(t.handleActivateBlocksTab)},deletedItem:"Sprite"})}},{key:"handleDuplicateSprite",value:function(e){this.props.vm.duplicateSprite(e)}},{key:"handleExportSprite",value:function(e){var t=this.props.vm.runtime.getTargetById(e).getName(),n=document.createElement("a");document.body.appendChild(n),this.props.vm.exportSprite(e).then(function(e){Go("".concat(t,".sprite3"),e)})}},{key:"handleSelectSprite",value:function(e){this.props.vm.setEditingTarget(e),this.props.stage&&e!==this.props.stage.id&&this.props.onHighlightTarget(e)}},{key:"handleSurpriseSpriteClick",value:function(){var e=la.filter(function(e){return-1===e.tags.indexOf("letters")&&-1===e.tags.indexOf("numbers")}),e=e[Math.floor(Math.random()*e.length)];Po(e),this.props.vm.addSprite(JSON.stringify(e)).then(this.handleActivateBlocksTab)}},{key:"handlePaintSpriteClick",value:function(){var e,t,n=this,A=this.props.intl.formatMessage;e=A(se.a.sprite,{index:1}),t=A(se.a.pop),A=A(se.a.costume,{index:1}),this.props.vm.addSprite(JSON.stringify({objName:e,sounds:[{soundName:t,soundID:-1,md5:"83a9787d4cb6f3b7632b4ddfebf74367.wav",sampleCount:258,rate:11025,format:""}],costumes:[{costumeName:A,baseLayerID:-1,baseLayerMD5:"cd21514d0531fdffb22204e0ec5ed84a.svg",bitmapResolution:1,rotationCenterX:0,rotationCenterY:0}],currentCostumeIndex:0,scratchX:36,scratchY:28,scale:1,direction:90,rotationStyle:"normal",isDraggable:!1,visible:!0,spriteInfo:{}})).then(function(){setTimeout(function(){n.props.onActivateTab(s.b)})})}},{key:"handleActivateBlocksTab",value:function(){this.props.onActivateTab(s.a)}},{key:"handleNewSprite",value:function(e){return this.props.vm.addSprite(e).then(this.handleActivateBlocksTab)}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleSpriteUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){!function(e,t,n,A,o){var a=5<arguments.length&&void 0!==arguments[5]?arguments[5]:function(){};switch(t){case"":case"application/zip":return o(new Uint8Array(e));case"image/svg+xml":case"image/png":case"image/bmp":case"image/jpeg":case"image/gif":return _o(e,t,A,function(e){e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")});e={name:n,isStage:!1,x:0,y:0,visible:!0,size:100,rotationStyle:"all around",direction:90,draggable:!1,currentCostume:0,blocks:{},variables:{},costumes:e,sounds:[]};Po(e),o(JSON.stringify(e))},a);default:a("Encountered unexpected file type: ".concat(t))}}(e,t,n,i,function(e){a.handleNewSprite(e).then(function(){A===o-1&&a.props.onCloseImporting()}).catch(a.props.onCloseImporting)},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"handleBlockDragEnd",value:function(e){this.props.hoveredTarget.sprite&&this.props.hoveredTarget.sprite!==this.props.editingTarget&&(this.shareBlocks(e,this.props.hoveredTarget.sprite,this.props.editingTarget),this.props.onReceivedBlocks(!0))}},{key:"shareBlocks",value:function(e,t,n){var A,o,a,i=e.find(function(e){return e.topLevel});return i&&(a=(A=this.props.workspaceMetrics.targets[t]||{scrollX:0,scrollY:0,scale:V.a}).scrollX,o=A.scrollY,A=A.scale,o=30-o,a=this.props.isRtl?a+30:30-a,i.x=a/A,i.y=o/A),this.props.vm.shareBlocksToTarget(e,t,n)}},{key:"handleDrop",value:function(e){var t=this,n=this.props.hoveredTarget.sprite;e.dragType===E.a.SPRITE?this.props.vm.reorderTarget(e.index+1,e.newIndex+1):e.dragType===E.a.BACKPACK_SPRITE?or(e.payload.bodyUrl).then(function(e){return t.props.vm.addSprite(e)}):n&&(e.dragType===E.a.COSTUME?this.props.vm.shareCostumeToTarget(e.index,n):n&&e.dragType===E.a.SOUND?this.props.vm.shareSoundToTarget(e.index,n):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name},n):e.dragType===E.a.BACKPACK_SOUND?this.props.vm.addSound({md5:e.payload.body,name:e.payload.name},n):e.dragType===E.a.BACKPACK_CODE&&Ar(e.payload.bodyUrl).then(function(e){return t.shareBlocks(e,n)}).then(function(){return t.props.vm.refreshWorkspace()}))}},{key:"render",value:function(){var e=this.props,e=(e.dispatchUpdateRestore,e.isRtl,e.onActivateTab,e.onCloseImporting,e.onHighlightTarget,e.onReceivedBlocks,e.onShowImporting,e.workspaceMetrics,Fr(e,vr));return j.a.createElement(kr,Or({},e,{fileInputRef:this.setFileInput,onActivateBlocksTab:this.handleActivateBlocksTab,onChangeSpriteDirection:this.handleChangeSpriteDirection,onChangeSpriteName:this.handleChangeSpriteName,onChangeSpriteRotationStyle:this.handleChangeSpriteRotationStyle,onChangeSpriteSize:this.handleChangeSpriteSize,onChangeSpriteVisibility:this.handleChangeSpriteVisibility,onChangeSpriteX:this.handleChangeSpriteX,onChangeSpriteY:this.handleChangeSpriteY,onDeleteSprite:this.handleDeleteSprite,onDrop:this.handleDrop,onDuplicateSprite:this.handleDuplicateSprite,onExportSprite:this.handleExportSprite,onFileUploadClick:this.handleFileUploadClick,onPaintSpriteClick:this.handlePaintSpriteClick,onSelectSprite:this.handleSelectSprite,onSpriteUpload:this.handleSpriteUpload,onSurpriseSpriteClick:this.handleSurpriseSpriteClick}))}}])&&Rr(t.prototype,e),n&&Rr(t,n),o}(j.a.Component),d=kr.propTypes,g=(d.onSelectSprite,d.onActivateBlocksTab,Fr(d,["onSelectSprite","onActivateBlocksTab"])),jr=(a.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Nr(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Nr(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({intl:z.f.isRequired,onCloseImporting:n.a.func,onShowImporting:n.a.func},g),Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,hoveredTarget:e.scratchGui.hoveredTarget,isRtl:e.locales.isRtl,spriteLibraryVisible:e.scratchGui.modals.spriteLibrary,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,raiseSprites:e.scratchGui.blockDrag,workspaceMetrics:e.scratchGui.workspaceMetrics}},function(t){return{onNewSpriteClick:function(e){e.preventDefault(),t(Object(R.t)())},onRequestCloseSpriteLibrary:function(){t(Object(R.h)())},onActivateTab:function(e){t(Object(s.f)(e))},onReceivedBlocks:function(e){t(Object(vn.d)(e))},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onHighlightTarget:function(e){t(Object(mt.b)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(a))),d=e(745),zr=e.n(d),g=e(746),Jr=e.n(g),a=e(747),Wr=e.n(a),d=e(748),Vr=e.n(d),g=e(302),Kr=e.n(g),a=e(177),Xr=e.n(a),qr=(Hr.propTypes={height:n.a.number,level:n.a.number,width:n.a.number},Hr),d=e(397),Zr=e.n(d);function $r(e){return($r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function es(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||ns(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ts(e){return function(e){if(Array.isArray(e))return As(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ns(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ns(e,t){var n;if(e)return"string"==typeof e?As(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?As(e,t):void 0}function As(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function os(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function as(e,t){return(as=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function is(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=rs(n),t=(e=A?(e=rs(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$r(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function rs(e){return(rs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ss(e){return j.a.createElement(W.a,null,j.a.createElement(W.a,{className:h.a.visualizationContainer},j.a.createElement(W.a,{className:h.a.meterContainer},j.a.createElement(qr,{height:172,level:e.level,width:20})),j.a.createElement(W.a,{className:h.a.waveformContainer},e.levels?j.a.createElement(gs,{data:e.levels,height:150,level:0,width:440}):j.a.createElement("span",{className:h.a.helpText},e.listening?e.intl.formatMessage(hs.beginRecord):e.intl.formatMessage(hs.permission,{arrow:e.isRtl?"↗️  ":"↖️  "})))),j.a.createElement(W.a,{className:h.a.mainButtonRow},j.a.createElement("button",{className:h.a.mainButton,disabled:!e.listening,onClick:e.recording?e.onStopRecording:e.onRecord},e.recording?j.a.createElement("img",{draggable:!1,src:ds.a}):j.a.createElement("svg",{className:h.a.recordButton,height:"52",width:"52"},j.a.createElement("circle",{className:h.a.recordButtonCircle,cx:"26",cy:"26",r:"25"}),j.a.createElement("circle",{className:h.a.recordButtonCircleOutline,cx:"26",cy:"26",r:27+5*e.level})),j.a.createElement("div",{className:h.a.helpText},j.a.createElement("span",{className:h.a.recordingText},e.recording?e.intl.formatMessage(hs.stop):e.intl.formatMessage(hs.record))))))}function ls(){return us}var us,cs,g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&as(t,e);var n,A=is(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){var e=this.props,n=e.width,A=e.height,e=e.data,o=Math.ceil(e.length/n),e=1===o?e.slice(0):e.filter(function(e,t){return t%o==0}),a=(1===e.length&&e.push(e[0]),e.length-1),i=[].concat(ts(e.map(function(e,t){return[n*(t/a),A*e/2]})),ts(e.reverse().map(function(e,t){return[n*(1-t/a),-A*e/2]}))),e=i.map(function(e,t){var e=es(e,2),n=e[0],e=e[1],t=es(i[t<i.length-1?t+1:0],2),A=t[0],t=t[1];return"Q".concat(n," ").concat(e," ").concat((n+A)/2," ").concat((e+t)/2)});return j.a.createElement("svg",{className:Zr.a.container,viewBox:"0 0 ".concat(n," ").concat(A)},j.a.createElement("g",{transform:"scale(1, -1) translate(0, -".concat(A/2,")")},j.a.createElement("path",{className:Zr.a.waveformPath,d:"M0 0".concat(e.join(" "),"Z"),strokeLinejoin:"round",strokeWidth:1})))}}])&&os(t.prototype,e),n&&os(t,n),o}(j.a.PureComponent),gs=(g.propTypes={data:n.a.arrayOf(n.a.number),height:n.a.number,width:n.a.number},g),a=e(41),h=e.n(a),d=e(749),ds=e.n(d),hs=Object(z.d)({beginRecord:{id:"gui.recordingStep.beginRecord",defaultMessage:"Begin recording by clicking the button below"},permission:{id:"gui.recordingStep.permission",defaultMessage:"{arrow}We need your permission to use your microphone"},stop:{id:"gui.recordingStep.stop",defaultMessage:"Stop recording"},record:{id:"gui.recordingStep.record",defaultMessage:"Record"}}),ps=(ss.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,level:n.a.number,levels:n.a.arrayOf(n.a.number),listening:n.a.bool,onRecord:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,recording:n.a.bool},Object(z.e)(ss)),g=(e(1408),e(303)),ms=e.n(g),a=e(386),Bs=e.n(a),d=e(235);e.n(d).a.msie||(cs=void 0===document.ontouchstart?"mousedown":"touchstart",document.addEventListener(cs,function e(){document.removeEventListener(cs,e),us=new(window.AudioContext||window.webkitAudioContext),Bs()(us)}));function fs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Es=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=new ls,this.bufferLength=8192,this.userMediaStream=null,this.mediaStreamSource=null,this.sourceNode=null,this.scriptProcessorNode=null,this.recordedSamples=0,this.recording=!1,this.started=!1,this.buffers=[],this.disposed=!1}var t,n,A;return t=e,(n=[{key:"startListening",value:function(t,n,A){var o=this;try{ms()({audio:!0}).then(function(e){o.disposed||(o.started=!0,t(),o.attachUserMediaStream(e,n))}).catch(function(e){o.disposed||A(e)})}catch(e){this.disposed||A(e)}}},{key:"startRecording",value:function(){this.recording=!0}},{key:"attachUserMediaStream",value:function(e,t){var n=this,e=(this.userMediaStream=e,this.mediaStreamSource=this.audioContext.createMediaStreamSource(e),this.sourceNode=this.audioContext.createGain(),this.scriptProcessorNode=this.audioContext.createScriptProcessor(this.bufferLength,1,1),this.scriptProcessorNode.onaudioprocess=function(e){n.recording&&!n.disposed&&n.buffers.push(new Float32Array(e.inputBuffer.getChannelData(0)))},this.analyserNode=this.audioContext.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.frequencyBinCount),A=new Float32Array(e);requestAnimationFrame(function e(){n.disposed||(n.analyserNode.getFloatTimeDomainData(A),t(Gr(A)),requestAnimationFrame(e))}),this.mediaStreamSource.connect(this.sourceNode),this.sourceNode.connect(this.analyserNode),this.analyserNode.connect(this.scriptProcessorNode),this.scriptProcessorNode.connect(this.audioContext.destination)}},{key:"stop",value:function(){for(var e=new Float32Array(this.buffers.length*this.bufferLength),t=0,n=0;n<this.buffers.length;n++){var A=this.buffers[n];e.set(A,t),t+=A.length}for(var o=Lr(e),a=Math.max.apply(null,o)/8,i=null,r=null,s=0;s<o.length;s++)o[s]>a&&(null===i&&(i=s+1),r=s+1);var l=Math.max(2,i-2)/this.buffers.length,u=Math.min(this.buffers.length-2,r+2)/this.buffers.length;return u<=l&&(l=0,u=1),{levels:o,samples:e,sampleRate:this.audioContext.sampleRate,trimStart:l,trimEnd:u}}},{key:"dispose",value:function(){this.started&&(this.scriptProcessorNode.onaudioprocess=null,this.scriptProcessorNode.disconnect(),this.analyserNode.disconnect(),this.sourceNode.disconnect(),this.mediaStreamSource.disconnect(),this.userMediaStream.getAudioTracks()[0].stop()),this.disposed=!0}}])&&fs(t.prototype,n),A&&fs(t,A),e}();function ws(e){return(ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Cs=["onRecord","onStopRecording"];function Is(){return(Is=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function ys(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function bs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ms(e,t){return(Ms=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qs(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ss(A);return e=o?(e=Ss(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ws(t)&&"function"!=typeof t?Ts(n):t}}function Ts(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ss(e){return(Ss=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ks(e){return j.a.createElement(W.a,{className:J()(p.a.trimLine,e.handleStyle),onMouseDown:e.onMouseDown,onTouchStart:e.onMouseDown},j.a.createElement(W.a,{className:J()(p.a.trimHandle,p.a.topTrimHandle)},j.a.createElement("img",{src:Fs.a,draggable:!1})),j.a.createElement(W.a,{className:J()(p.a.trimHandle,p.a.bottomTrimHandle)},j.a.createElement("img",{src:Fs.a,draggable:!1})))}function Ds(e){return j.a.createElement("div",{className:p.a.playheadContainer},j.a.createElement("div",{className:J()(p.a.playhead),style:{transform:"translateX(".concat(100*e.playbackPosition,"%)")}}))}function vs(e){return j.a.createElement("div",{className:J()(p.a.absolute,p.a.trimmer),ref:e.containerRef},null===e.trimStart?null:j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackground,p.a.startTrimBackground),style:{width:"".concat(100*e.trimStart,"%")},onMouseDown:e.onTrimStartMouseDown,onTouchStart:e.onTrimStartMouseDown},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackgroundMask)}),j.a.createElement(Rs,{handleStyle:p.a.leftHandle})),e.playhead?j.a.createElement(Ys,{playbackPosition:e.playhead}):null,null===e.trimEnd?null:j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackground,p.a.endTrimBackground),style:{left:"".concat(100*e.trimEnd,"%"),width:"".concat(100-100*e.trimEnd,"%")},onMouseDown:e.onTrimEndMouseDown,onTouchStart:e.onTrimEndMouseDown},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackgroundMask)}),j.a.createElement(Rs,{handleStyle:p.a.rightHandle})))}var Ns=Object(z.d)({alertMsg:{id:"gui.recordingStep.alertMsg",defaultMessage:"Could not start recording"}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ms(t,e);var n,A=Qs(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ts(e),["handleRecord","handleStopRecording","handleStarted","handleLevelUpdate","handleRecordingError"]),e.state={listening:!1,level:0,levels:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioRecorder=new Es,this.audioRecorder.startListening(this.handleStarted,this.handleLevelUpdate,this.handleRecordingError)}},{key:"componentWillUnmount",value:function(){this.audioRecorder.dispose()}},{key:"handleStarted",value:function(){this.setState({listening:!0})}},{key:"handleRecordingError",value:function(){alert(this.props.intl.formatMessage(Ns.alertMsg))}},{key:"handleLevelUpdate",value:function(e){this.setState({level:e,levels:this.props.recording?(this.state.levels||[]).concat([e]):this.state.levels})}},{key:"handleRecord",value:function(){this.audioRecorder.startRecording(),this.props.onRecord()}},{key:"handleStopRecording",value:function(){var e=this.audioRecorder.stop(),t=e.samples,n=e.sampleRate,A=e.levels,o=e.trimStart,e=e.trimEnd;this.props.onStopRecording(t,n,A,o,e)}},{key:"render",value:function(){var e=this.props,e=(e.onRecord,e.onStopRecording,ys(e,Cs));return j.a.createElement(ps,Is({level:this.state.level,levels:this.state.levels,listening:this.state.listening,onRecord:this.handleRecord,onStopRecording:this.handleStopRecording},e))}}])&&bs(t.prototype,e),n&&bs(t,n),o}(j.a.Component),Os=(g.propTypes={intl:z.f.isRequired,onRecord:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,recording:n.a.bool},Object(z.e)(g)),a=e(34),p=e.n(a),d=e(398),Fs=e.n(d),Rs=(ks.propTypes={handleStyle:n.a.string,onMouseDown:n.a.func},ks),Ys=(Ds.propTypes={playbackPosition:n.a.number},Ds),xs=(vs.propTypes={containerRef:n.a.func,onTrimEndMouseDown:n.a.func.isRequired,onTrimStartMouseDown:n.a.func.isRequired,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},vs);function _s(e){return(_s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Us(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gs(e,t){return(Gs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ls(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Hs(A);return e=o?(e=Hs(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==_s(t)&&"function"!=typeof t?Ps(n):t}}function Ps(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hs(e){return(Hs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function js(e){return j.a.createElement(W.a,null,j.a.createElement(W.a,{className:h.a.visualizationContainer},j.a.createElement(W.a,{className:h.a.meterContainer},j.a.createElement(qr,{height:172,level:0,width:20})),j.a.createElement(W.a,{className:h.a.waveformContainer},j.a.createElement(gs,{data:e.levels,height:150,level:0,width:480}),j.a.createElement(zs,{playhead:e.playhead,trimEnd:e.trimEnd,trimStart:e.trimStart,onSetTrimEnd:e.onSetTrimEnd,onSetTrimStart:e.onSetTrimStart}))),j.a.createElement(W.a,{className:h.a.mainButtonRow},j.a.createElement("button",{className:h.a.mainButton,onClick:e.playing?e.onStopPlaying:e.onPlay},j.a.createElement("img",{draggable:!1,src:(e.playing?Ws:Vs).a}),j.a.createElement("div",{className:h.a.helpText},j.a.createElement("span",{className:h.a.playingText},e.playing?e.intl.formatMessage(Ks.stopMsg):e.intl.formatMessage(Ks.playMsg))))),j.a.createElement(W.a,{className:h.a.buttonRow},j.a.createElement("button",{className:h.a.rerecordButton,onClick:e.onBack},j.a.createElement("img",{draggable:!1,src:Js.a}),e.intl.formatMessage(Ks.reRecordMsg)),j.a.createElement("button",{className:h.a.okButton,disabled:e.encoding,onClick:e.onSubmit},e.encoding?e.intl.formatMessage(Ks.loadingMsg):e.intl.formatMessage(Ks.saveMsg))))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gs(t,e);var n,A=Ls(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ps(e),["handleTrimStartMouseDown","handleTrimEndMouseDown","handleTrimStartMouseMove","handleTrimEndMouseMove","storeRef"]),e.trimStartDragRecognizer=new xn({onDrag:e.handleTrimStartMouseMove,touchDragAngle:90,distanceThreshold:0}),e.trimEndDragRecognizer=new xn({onDrag:e.handleTrimEndMouseMove,touchDragAngle:90,distanceThreshold:0}),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleTrimStartMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.max(0,Math.min(this.props.trimEnd-.01,this.initialTrim+e));this.props.onSetTrimStart(t)}},{key:"handleTrimEndMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.min(1,Math.max(this.props.trimStart+.01,this.initialTrim+e));this.props.onSetTrimEnd(t)}},{key:"handleTrimStartMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimStartDragRecognizer.start(e),this.initialTrim=this.props.trimStart}},{key:"handleTrimEndMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimEndDragRecognizer.start(e),this.initialTrim=this.props.trimEnd}},{key:"storeRef",value:function(e){this.containerElement=e}},{key:"render",value:function(){return j.a.createElement(xs,{containerRef:this.storeRef,playhead:this.props.playhead,trimEnd:this.props.trimEnd,trimStart:this.props.trimStart,onTrimEndMouseDown:this.handleTrimEndMouseDown,onTrimStartMouseDown:this.handleTrimStartMouseDown})}}])&&Us(t.prototype,e),n&&Us(t,n),o}(j.a.Component),zs=(g.propTypes={onSetTrimEnd:n.a.func,onSetTrimStart:n.a.func,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},g),a=e(750),Js=e.n(a),d=e(751),Ws=e.n(d),g=e(752),Vs=e.n(g),Ks=Object(z.d)({stopMsg:{id:"gui.playbackStep.stopMsg",defaultMessage:"Stop"},playMsg:{id:"gui.playbackStep.playMsg",defaultMessage:"Play"},loadingMsg:{id:"gui.playbackStep.loadingMsg",defaultMessage:"Loading..."},saveMsg:{id:"gui.playbackStep.saveMsg",defaultMessage:"Save"},reRecordMsg:{id:"gui.playbackStep.reRecordMsg",defaultMessage:"Re-record"}}),Xs=(js.propTypes={encoding:n.a.bool.isRequired,intl:z.f.isRequired,levels:n.a.arrayOf(n.a.number).isRequired,onBack:n.a.func.isRequired,onPlay:n.a.func.isRequired,onSetTrimEnd:n.a.func.isRequired,onSetTrimStart:n.a.func.isRequired,onStopPlaying:n.a.func.isRequired,onSubmit:n.a.func.isRequired,playhead:n.a.number,playing:n.a.bool.isRequired,trimEnd:n.a.number.isRequired,trimStart:n.a.number.isRequired},Object(z.e)(js));function qs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Zs=function(){function n(e,t){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.audioContext=new ls,this.buffer=this.audioContext.createBuffer(1,e.length,t),this.buffer.getChannelData(0).set(e),this.source=null,this.startTime=null,this.updateCallback=null,this.trimStart=null,this.trimEnd=null}var e,t,A;return e=n,(t=[{key:"play",value:function(e,t,n,A){this.updateCallback=n,this.trimStart=e,this.trimEnd=t,this.startTime=Date.now();n=this.buffer.duration*e,e=this.buffer.duration*t-n;this.source=this.audioContext.createBufferSource(),this.source.onended=A,this.source.buffer=this.buffer,this.source.connect(this.audioContext.destination),this.source.start(0,n,e),this.update()}},{key:"update",value:function(){var e=(Date.now()-this.startTime)/1e3/this.buffer.duration;e+this.trimStart<this.trimEnd&&this.source.onended?(requestAnimationFrame(this.update.bind(this)),this.updateCallback(e+this.trimStart)):this.updateCallback=null}},{key:"stop",value:function(){if(this.source){this.source.onended=null;try{this.source.stop()}catch(e){console.log("Caught error while stopping buffer source node.")}}}}])&&qs(e.prototype,t),A&&qs(e,A),n}();function $s(e){return($s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var el=["sampleRate","onPlay","onStopPlaying","onSetPlayhead"];function tl(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function nl(){return(nl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Al(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ol(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function al(e,t){return(al=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function il(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=sl(A);return e=o?(e=sl(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$s(t)&&"function"!=typeof t?rl(n):t}}function rl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sl(e){return(sl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ll(e){return j.a.createElement(cl.a,{className:h.a.modalContent,contentLabel:e.intl.formatMessage(gl.title),onRequestClose:e.onCancel},j.a.createElement(W.a,{className:h.a.body},e.samples?j.a.createElement(ul,{encoding:e.encoding,levels:e.levels,playhead:e.playhead,playing:e.playing,sampleRate:e.sampleRate,samples:e.samples,trimEnd:e.trimEnd,trimStart:e.trimStart,onBack:e.onBack,onPlay:e.onPlay,onSetPlayhead:e.onSetPlayhead,onSetTrimEnd:e.onSetTrimEnd,onSetTrimStart:e.onSetTrimStart,onStopPlaying:e.onStopPlaying,onSubmit:e.onSubmit}):j.a.createElement(Os,{recording:e.recording,onRecord:e.onRecord,onStopRecording:e.onStopRecording})))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&al(t,e);var n,A=il(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(rl(e),["handlePlay","handleStopPlaying"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioBufferPlayer=new Zs(this.props.samples,this.props.sampleRate)}},{key:"componentWillUnmount",value:function(){this.audioBufferPlayer.stop()}},{key:"handlePlay",value:function(){this.audioBufferPlayer.play(this.props.trimStart,this.props.trimEnd,this.props.onSetPlayhead,this.props.onStopPlaying),this.props.onPlay()}},{key:"handleStopPlaying",value:function(){this.audioBufferPlayer.stop(),this.props.onStopPlaying()}},{key:"render",value:function(){var e=this.props,e=(e.sampleRate,e.onPlay,e.onStopPlaying,e.onSetPlayhead,Al(e,el));return j.a.createElement(Xs,nl({onPlay:this.handlePlay,onStopPlaying:this.handleStopPlaying},e))}}])&&ol(t.prototype,e),n&&ol(t,n),o}(j.a.Component),ul=(a.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?tl(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):tl(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({sampleRate:n.a.number.isRequired,samples:n.a.instanceOf(Float32Array).isRequired},Xs.propTypes),a),cl=e(74),gl=Object(z.d)({title:{id:"gui.recordModal.title",defaultMessage:"Record Sound"}}),dl=(ll.propTypes={encoding:n.a.bool.isRequired,intl:z.f.isRequired,levels:n.a.arrayOf(n.a.number),onBack:n.a.func.isRequired,onCancel:n.a.func.isRequired,onPlay:n.a.func.isRequired,onRecord:n.a.func.isRequired,onSetPlayhead:n.a.func.isRequired,onSetTrimEnd:n.a.func.isRequired,onSetTrimStart:n.a.func.isRequired,onStopPlaying:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,onSubmit:n.a.func.isRequired,playhead:n.a.number,playing:n.a.bool,recording:n.a.bool,sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),trimEnd:n.a.number.isRequired,trimStart:n.a.number.isRequired},Object(z.e)(ll));function hl(e){return(hl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ml(e,t){return(ml=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bl(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=El(A);return e=o?(e=El(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==hl(t)&&"function"!=typeof t?fl(n):t}}function fl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function El(e){return(El=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ml(t,e);var n,A=Bl(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(fl(e),["handleRecord","handleStopRecording","handlePlay","handleStopPlaying","handleBack","handleSubmit","handleCancel","handleSetPlayhead","handleSetTrimStart","handleSetTrimEnd"]),e.state={samples:null,encoding:!1,levels:null,playhead:null,playing:!1,recording:!1,sampleRate:null,trimStart:0,trimEnd:1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleRecord",value:function(){this.setState({recording:!0})}},{key:"handleStopRecording",value:function(e,t,n,A,o){0<e.length&&this.setState({samples:e,sampleRate:t,levels:n,trimStart:A,trimEnd:o,recording:!1})}},{key:"handlePlay",value:function(){this.setState({playing:!0})}},{key:"handleStopPlaying",value:function(){this.setState({playing:!1,playhead:null})}},{key:"handleBack",value:function(){this.setState({playing:!1,samples:null})}},{key:"handleSetTrimEnd",value:function(e){this.setState({trimEnd:e})}},{key:"handleSetTrimStart",value:function(e){this.setState({trimStart:e})}},{key:"handleSetPlayhead",value:function(e){this.setState({playhead:e})}},{key:"handleSubmit",value:function(){var n=this;this.setState({encoding:!0},function(){var e=n.state.samples.length,t=Math.floor(n.state.trimStart*e),e=Math.floor(n.state.trimEnd*e),t=n.state.samples.slice(t,e);Pr(n.props.vm,t,n.state.sampleRate,"recording1",function(){n.props.onClose(),n.props.onNewSound()})})}},{key:"handleCancel",value:function(){this.props.onClose()}},{key:"render",value:function(){return j.a.createElement(dl,{encoding:this.state.encoding,levels:this.state.levels,playhead:this.state.playhead,playing:this.state.playing,recording:this.state.recording,sampleRate:this.state.sampleRate,samples:this.state.samples,trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onBack:this.handleBack,onCancel:this.handleCancel,onPlay:this.handlePlay,onRecord:this.handleRecord,onSetPlayhead:this.handleSetPlayhead,onSetTrimEnd:this.handleSetTrimEnd,onSetTrimStart:this.handleSetTrimStart,onStopPlaying:this.handleStopPlaying,onStopRecording:this.handleStopRecording,onSubmit:this.handleSubmit})}}])&&pl(t.prototype,e),n&&pl(t,n),o}(j.a.Component),wl=(d.propTypes={onClose:n.a.func,onNewSound:n.a.func,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{vm:e.scratchGui.vm}},function(e){return{onClose:function(){e(Object(R.g)())}}})(d));function Cl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Il=function(){function A(e,t,n){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");this.audioContext=e,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.effectInput=this.audioContext.createGain(),this.effectInput.gain.value=0,this.effectInput.gain.setValueAtTime(.75,t),this.effectInput.gain.setValueAtTime(0,n),this.delay=this.audioContext.createDelay(1),this.delay.delayTime.value=A.DELAY_TIME,this.decay=this.audioContext.createGain(),this.decay.gain.value=.3,this.compressor=this.audioContext.createDynamicsCompressor(),this.compressor.threshold.value=-5,this.compressor.knee.value=15,this.compressor.ratio.value=12,this.compressor.attack.value=0,this.compressor.release.value=.25,this.input.connect(this.effectInput),this.effectInput.connect(this.delay),this.delay.connect(this.compressor),this.input.connect(this.compressor),this.delay.connect(this.decay),this.decay.connect(this.delay),this.compressor.connect(this.output)}var e,t,n;return e=A,n=[{key:"DELAY_TIME",get:function(){return.25}},{key:"TAIL_SECONDS",get:function(){return.75}}],(t=null)&&Cl(e.prototype,t),n&&Cl(e,n),A}();var yl=function e(t,n,A){var o=this;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.passthrough=this.audioContext.createGain(),this.effectInput=this.audioContext.createGain(),this.passthrough.gain.value=1,this.effectInput.gain.value=0,this.passthrough.gain.setValueAtTime(0,n),this.passthrough.gain.setValueAtTime(1,A),this.effectInput.gain.setValueAtTime(1,n),this.effectInput.gain.setValueAtTime(0,A);function a(){for(var e=o.audioContext.createWaveShaper(),t=new Float32Array(1024),n=0;n<1024;n++)t[n]=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.2,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:.4,A=3<arguments.length&&void 0!==arguments[3]?arguments[3]:.65;return e<=t?0:e<=n?A*(Math.pow(e-t,2)/(2*n-2*t)):A*e-A*n+A*(Math.pow(e-t,2)/(2*n-2*t))}(n/1024*2-1);return e.curve=t,e}var t=this.audioContext.createOscillator(),n=(t.frequency.value=50,t.start(0),this.audioContext.createGain()),A=(n.gain.value=.5,this.audioContext.createGain()),i=(A.gain.value=-1,this.audioContext.createGain()),r=(i.gain.value=-1,a(this.audioContext)),s=a(this.audioContext),l=this.audioContext.createGain(),u=(l.gain.value=-1,this.audioContext.createGain()),c=(u.gain.value=-1,a(this.audioContext)),g=a(this.audioContext),d=this.audioContext.createDynamicsCompressor(),h=(d.threshold.value=-5,d.knee.value=15,d.ratio.value=12,d.attack.value=0,d.release.value=.25,this.audioContext.createBiquadFilter());h.type="highpass",h.frequency.value=1e3,h.gain.value=1.25,this.input.connect(this.effectInput),this.input.connect(this.passthrough),this.passthrough.connect(this.output),this.effectInput.connect(u),this.effectInput.connect(g),u.connect(c),t.connect(n),n.connect(A),n.connect(u),n.connect(g),A.connect(i),A.connect(s),i.connect(r),r.connect(l),s.connect(l),l.connect(d),c.connect(d),g.connect(d),this.effectInput.connect(h),h.connect(d),d.connect(this.output)};var bl=function e(t,n,A,o){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.rampLength=.01,this.gain.gain.setValueAtTime(1,Math.max(0,A-this.rampLength)),this.gain.gain.exponentialRampToValueAtTime(n,A),this.gain.gain.setValueAtTime(n,o),this.gain.gain.exponentialRampToValueAtTime(1,o+this.rampLength),this.input.connect(this.gain),this.gain.connect(this.output)};var Ml=function e(t,n,A,o){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.gain.gain.setValueAtTime(1,0),n?(this.gain.gain.setValueAtTime(0,A),this.gain.gain.linearRampToValueAtTime(1,o)):(this.gain.gain.setValueAtTime(1,A),this.gain.gain.linearRampToValueAtTime(0,o)),this.gain.gain.setValueAtTime(1,o),this.input.connect(this.gain),this.gain.connect(this.output)};var Ql=function e(t,n,A){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.rampLength=.001,this.gain.gain.setValueAtTime(1,Math.max(0,n-this.rampLength)),this.gain.gain.linearRampToValueAtTime(0,n),this.gain.gain.setValueAtTime(0,A),this.gain.gain.linearRampToValueAtTime(1,A+this.rampLength),this.input.connect(this.gain),this.gain.connect(this.output)};function Tl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Sl(e){return j.a.createElement("div",{className:J()(p.a.absolute,p.a.selector),ref:e.containerRef,onMouseDown:e.onNewSelectionMouseDown,onTouchStart:e.onNewSelectionMouseDown},null===e.trimStart?null:j.a.createElement(W.a,{className:J()(p.a.absolute),style:{left:"".concat(100*e.trimStart,"%"),width:"".concat(100*(e.trimEnd-e.trimStart),"%")}},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.selectionBackground)}),j.a.createElement(Rs,{handleStyle:p.a.leftHandle,onMouseDown:e.onTrimStartMouseDown}),j.a.createElement(Rs,{handleStyle:p.a.rightHandle,onMouseDown:e.onTrimEndMouseDown})),e.playhead?j.a.createElement(Ys,{playbackPosition:e.playhead}):null)}var kl={ROBOT:"robot",REVERSE:"reverse",LOUDER:"higher",SOFTER:"lower",FASTER:"faster",SLOWER:"slower",ECHO:"echo",FADEIN:"fade in",FADEOUT:"fade out",MUTE:"mute"},Dl=function(){function m(e,t,n,A){if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");this.trimStartSeconds=n*e.length/e.sampleRate,this.trimEndSeconds=A*e.length/e.sampleRate,this.adjustedTrimStartSeconds=this.trimStartSeconds,this.adjustedTrimEndSeconds=this.trimEndSeconds;var o=Math.pow(2,4/12),a=e.length,i=Math.floor((this.trimEndSeconds-this.trimStartSeconds)*e.sampleRate),r=i,s=a-i;switch(this.playbackRate=1,t){case kl.ECHO:a=Math.max(a,Math.floor((this.trimEndSeconds+Il.TAIL_SECONDS)*e.sampleRate));break;case kl.FASTER:this.playbackRate=o,a=s+(r=Math.floor(i/this.playbackRate));break;case kl.SLOWER:this.playbackRate=1/o,a=s+(r=Math.floor(i/this.playbackRate))}n=a/e.sampleRate;if(this.adjustedTrimEndSeconds=this.trimStartSeconds+r/e.sampleRate,this.adjustedTrimStart=this.adjustedTrimStartSeconds/n,this.adjustedTrimEnd=this.adjustedTrimEndSeconds/n,window.OfflineAudioContext?this.audioContext=new window.OfflineAudioContext(1,a,e.sampleRate):(A=44100/e.sampleRate,this.audioContext=new window.webkitOfflineAudioContext(1,A*a,44100)),t===kl.REVERSE){for(var l=e.getChannelData(0),n=this.audioContext.createBuffer(1,e.length,e.sampleRate),u=n.getChannelData(0),c=e.length,g=Math.floor(this.trimStartSeconds*e.sampleRate),d=Math.floor(this.trimEndSeconds*e.sampleRate),h=0,p=0;p<c;p++)g<=p&&p<d?(u[p]=l[d-h-1],h++):u[p]=l[p];this.buffer=n}else this.buffer=e;this.source=this.audioContext.createBufferSource(),this.source.buffer=this.buffer,this.name=t}var e,t,n;return e=m,n=[{key:"effectTypes",get:function(){return kl}}],(t=[{key:"process",value:function(t){var n=this;switch(this.name){case kl.FASTER:case kl.SLOWER:this.source.playbackRate.setValueAtTime(this.playbackRate,this.adjustedTrimStartSeconds),this.source.playbackRate.setValueAtTime(1,this.adjustedTrimEndSeconds);break;case kl.LOUDER:var e=new bl(this.audioContext,1.25,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds),A=e.input,o=e.output;break;case kl.SOFTER:e=new bl(this.audioContext,.75,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.ECHO:e=new Il(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.ROBOT:e=new yl(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.FADEIN:e=new Ml(this.audioContext,!0,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.FADEOUT:e=new Ml(this.audioContext,!1,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.MUTE:e=new Ql(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output}(A&&o?(this.source.connect(A),o):this.source).connect(this.audioContext.destination),this.source.start(),this.audioContext.startRendering(),this.audioContext.oncomplete=function(e){e=e.renderedBuffer;t(e,n.adjustedTrimStart,n.adjustedTrimEnd)}}}])&&Tl(e.prototype,t),n&&Tl(e,n),m}(),vl=(Sl.propTypes={containerRef:n.a.func,onNewSelectionMouseDown:n.a.func.isRequired,onTrimEndMouseDown:n.a.func.isRequired,onTrimStartMouseDown:n.a.func.isRequired,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},Sl);function Nl(e){return(Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ol(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Fl(e,t){return(Fl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rl(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=xl(A);return e=o?(e=xl(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nl(t)&&"function"!=typeof t?Yl(n):t}}function Yl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xl(e){return(xl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _l(e){var t=e.img,n=e.disabled,A=e.className,o=e.title,e=e.onClick;return j.a.createElement("div",{className:J()(Ll.a.container,A,n?Ll.a.disabled:null),role:"button",onClick:n?null:e},j.a.createElement("img",{className:Ll.a.icon,draggable:!1,src:t}),j.a.createElement("div",{className:Ll.a.title},o))}function Ul(e){return j.a.createElement("div",{className:m.a.editorContainer,ref:e.setRef,onMouseDown:e.onContainerClick},j.a.createElement("div",{className:m.a.row},j.a.createElement("div",{className:m.a.inputGroup},j.a.createElement(Ia,{text:e.intl.formatMessage(ru.sound)},j.a.createElement(iu,{tabIndex:"1",type:"text",value:e.name,onSubmit:e.onChangeName})),j.a.createElement("div",{className:m.a.buttonGroup},j.a.createElement("button",{className:m.a.button,disabled:!e.canUndo,title:e.intl.formatMessage(ru.undo),onClick:e.onUndo},j.a.createElement("img",{className:m.a.undoIcon,draggable:!1,src:Jl.a})),j.a.createElement("button",{className:m.a.button,disabled:!e.canRedo,title:e.intl.formatMessage(ru.redo),onClick:e.onRedo},j.a.createElement("img",{className:m.a.redoIcon,draggable:!1,src:zl.a})))),j.a.createElement("div",{className:m.a.inputGroup},j.a.createElement(Pl,{className:m.a.toolButton,img:Au.a,title:e.intl.formatMessage(ru.copy),onClick:e.onCopy}),j.a.createElement(Pl,{className:m.a.toolButton,disabled:!1===e.canPaste,img:ou.a,title:e.intl.formatMessage(ru.paste),onClick:e.onPaste}),j.a.createElement(Pl,{className:J()(m.a.toolButton,m.a.flipInRtl),img:au.a,title:e.intl.formatMessage(ru.copyToNew),onClick:e.onCopyToNew})),j.a.createElement(Pl,{className:m.a.toolButton,disabled:null===e.trimStart,img:nu.a,title:e.intl.formatMessage(ru.delete),onClick:e.onDelete})),j.a.createElement("div",{className:m.a.row},j.a.createElement("div",{className:m.a.waveformContainer},j.a.createElement(gs,{data:e.chunkLevels,height:160,width:600}),j.a.createElement(Gl,{playhead:e.playhead,trimEnd:e.trimEnd,trimStart:e.trimStart,onPlay:e.onPlay,onSetTrim:e.onSetTrim,onStop:e.onStop}))),j.a.createElement("div",{className:J()(m.a.row,m.a.rowReverse)},j.a.createElement("div",{className:m.a.inputGroup},e.playhead?j.a.createElement("button",{className:J()(m.a.roundButton,m.a.stopButtonn),title:e.intl.formatMessage(ru.stop),onClick:e.onStop},j.a.createElement("img",{draggable:!1,src:jl.a})):j.a.createElement("button",{className:J()(m.a.roundButton,m.a.playButton),title:e.intl.formatMessage(ru.play),onClick:e.onPlay},j.a.createElement("img",{draggable:!1,src:Hl.a}))),j.a.createElement(Pl,{className:m.a.effectButton,img:Wl.a,title:j.a.createElement(z.a,ru.faster),onClick:e.onFaster}),j.a.createElement(Pl,{className:m.a.effectButton,img:Vl.a,title:j.a.createElement(z.a,ru.slower),onClick:e.onSlower}),j.a.createElement(Pl,{disabled:e.tooLoud,className:J()(m.a.effectButton,m.a.flipInRtl),img:Kl.a,title:j.a.createElement(z.a,ru.louder),onClick:e.onLouder}),j.a.createElement(Pl,{className:J()(m.a.effectButton,m.a.flipInRtl),img:Xl.a,title:j.a.createElement(z.a,ru.softer),onClick:e.onSofter}),j.a.createElement(Pl,{className:J()(m.a.effectButton,m.a.flipInRtl),img:tu.a,title:j.a.createElement(z.a,ru.mute),onClick:e.onMute}),j.a.createElement(Pl,{className:m.a.effectButton,img:eu.a,title:j.a.createElement(z.a,ru.fadeIn),onClick:e.onFadeIn}),j.a.createElement(Pl,{className:m.a.effectButton,img:$l.a,title:j.a.createElement(z.a,ru.fadeOut),onClick:e.onFadeOut}),j.a.createElement(Pl,{className:m.a.effectButton,img:Zl.a,title:j.a.createElement(z.a,ru.reverse),onClick:e.onReverse}),j.a.createElement(Pl,{className:m.a.effectButton,img:ql.a,title:j.a.createElement(z.a,ru.robot),onClick:e.onRobot})))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Fl(t,e);var n,A=Rl(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(Yl(t),["handleNewSelectionMouseDown","handleTrimStartMouseDown","handleTrimEndMouseDown","handleTrimStartMouseMove","handleTrimEndMouseMove","handleTrimStartMouseUp","handleTrimEndMouseUp","storeRef"]),t.state={trimStart:e.trimStart,trimEnd:e.trimEnd},t.clickStartTime=0,t.trimStartDragRecognizer=new xn({onDrag:t.handleTrimStartMouseMove,onDragEnd:t.handleTrimStartMouseUp,touchDragAngle:90,distanceThreshold:0}),t.trimEndDragRecognizer=new xn({onDrag:t.handleTrimEndMouseMove,onDragEnd:t.handleTrimEndMouseUp,touchDragAngle:90,distanceThreshold:0}),t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.trimStart,t=t.trimEnd;e.trimStart===n&&e.trimEnd===t||this.setState({trimStart:e.trimStart,trimEnd:e.trimEnd})}},{key:"clearSelection",value:function(){this.props.onSetTrim(null,null)}},{key:"handleNewSelectionMouseDown",value:function(e){var t=this.containerElement.getBoundingClientRect(),n=t.width,t=t.left;this.initialTrimEnd=(bn(e).x-t)/n,this.initialTrimStart=this.initialTrimEnd,this.props.onSetTrim(this.initialTrimStart,this.initialTrimEnd),this.clickStartTime=Date.now(),this.containerSize=n,this.trimEndDragRecognizer.start(e),e.preventDefault()}},{key:"handleTrimStartMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.max(0,Math.min(1,this.initialTrimStart+e));t>this.initialTrimEnd?this.setState({trimStart:this.initialTrimEnd,trimEnd:t}):this.setState({trimStart:t,trimEnd:this.initialTrimEnd})}},{key:"handleTrimEndMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.min(1,Math.max(0,this.initialTrimEnd+e));t<this.initialTrimStart?this.setState({trimStart:t,trimEnd:this.initialTrimStart}):this.setState({trimStart:this.initialTrimStart,trimEnd:t})}},{key:"handleTrimStartMouseUp",value:function(){this.props.onSetTrim(this.state.trimStart,this.state.trimEnd)}},{key:"handleTrimEndMouseUp",value:function(){var e=Date.now()-this.clickStartTime<500,t=this.state.trimEnd-this.state.trimStart<.01;e&&t?this.clearSelection():this.props.onSetTrim(this.state.trimStart,this.state.trimEnd)}},{key:"handleTrimStartMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimStartDragRecognizer.start(e),this.initialTrimStart=this.props.trimStart,this.initialTrimEnd=this.props.trimEnd,e.stopPropagation(),e.preventDefault()}},{key:"handleTrimEndMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimEndDragRecognizer.start(e),this.initialTrimEnd=this.props.trimEnd,this.initialTrimStart=this.props.trimStart,e.stopPropagation(),e.preventDefault()}},{key:"storeRef",value:function(e){this.containerElement=e}},{key:"render",value:function(){return j.a.createElement(vl,{containerRef:this.storeRef,playhead:this.props.playhead,trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onNewSelectionMouseDown:this.handleNewSelectionMouseDown,onTrimEndMouseDown:this.handleTrimEndMouseDown,onTrimStartMouseDown:this.handleTrimStartMouseDown})}}])&&Ol(t.prototype,e),n&&Ol(t,n),o}(j.a.Component),Gl=(g.propTypes={onSetTrim:n.a.func,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},g),a=e(244),Ll=e.n(a),Pl=(_l.propTypes={className:n.a.string,disabled:n.a.bool,img:n.a.string,onClick:n.a.func.isRequired,title:n.a.node.isRequired},_l),d=e(32),m=e.n(d),g=e(753),Hl=e.n(g),a=e(754),jl=e.n(a),d=e(755),zl=e.n(d),g=e(756),Jl=e.n(g),a=e(757),Wl=e.n(a),d=e(758),Vl=e.n(d),g=e(759),Kl=e.n(g),a=e(760),Xl=e.n(a),d=e(761),ql=e.n(d),g=e(762),Zl=e.n(g),a=e(763),$l=e.n(a),d=e(764),eu=e.n(d),g=e(765),tu=e.n(g),a=e(766),nu=e.n(a),d=e(767),Au=e.n(d),g=e(768),ou=e.n(g),a=e(769),au=e.n(a),iu=Ya(Sa),ru=Object(z.d)({sound:{id:"gui.soundEditor.sound",defaultMessage:"Sound"},play:{id:"gui.soundEditor.play",defaultMessage:"Play"},stop:{id:"gui.soundEditor.stop",defaultMessage:"Stop"},copy:{id:"gui.soundEditor.copy",defaultMessage:"Copy"},paste:{id:"gui.soundEditor.paste",defaultMessage:"Paste"},copyToNew:{id:"gui.soundEditor.copyToNew",defaultMessage:"Copy to New"},delete:{id:"gui.soundEditor.delete",defaultMessage:"Delete"},save:{id:"gui.soundEditor.save",defaultMessage:"Save"},undo:{id:"gui.soundEditor.undo",defaultMessage:"Undo"},redo:{id:"gui.soundEditor.redo",defaultMessage:"Redo"},faster:{id:"gui.soundEditor.faster",defaultMessage:"Faster"},slower:{id:"gui.soundEditor.slower",defaultMessage:"Slower"},echo:{id:"gui.soundEditor.echo",defaultMessage:"Echo"},robot:{id:"gui.soundEditor.robot",defaultMessage:"Robot"},louder:{id:"gui.soundEditor.louder",defaultMessage:"Louder"},softer:{id:"gui.soundEditor.softer",defaultMessage:"Softer"},reverse:{id:"gui.soundEditor.reverse",defaultMessage:"Reverse"},fadeOut:{id:"gui.soundEditor.fadeOut",defaultMessage:"Fade out"},fadeIn:{id:"gui.soundEditor.fadeIn",defaultMessage:"Fade in"},mute:{id:"gui.soundEditor.mute",defaultMessage:"Mute"}}),su=(Ul.propTypes={canPaste:n.a.bool.isRequired,canRedo:n.a.bool.isRequired,canUndo:n.a.bool.isRequired,chunkLevels:n.a.arrayOf(n.a.number).isRequired,intl:z.f,name:n.a.string.isRequired,onChangeName:n.a.func.isRequired,onContainerClick:n.a.func.isRequired,onCopy:n.a.func.isRequired,onCopyToNew:n.a.func.isRequired,onDelete:n.a.func,onEcho:n.a.func.isRequired,onFadeIn:n.a.func.isRequired,onFadeOut:n.a.func.isRequired,onFaster:n.a.func.isRequired,onLouder:n.a.func.isRequired,onMute:n.a.func.isRequired,onPaste:n.a.func.isRequired,onPlay:n.a.func.isRequired,onRedo:n.a.func.isRequired,onReverse:n.a.func.isRequired,onRobot:n.a.func.isRequired,onSetTrim:n.a.func,onSlower:n.a.func.isRequired,onSofter:n.a.func.isRequired,onStop:n.a.func.isRequired,onUndo:n.a.func.isRequired,playhead:n.a.number,setRef:n.a.func,tooLoud:n.a.bool.isRequired,trimEnd:n.a.number,trimStart:n.a.number},Object(z.e)(Ul));function lu(e){return(lu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uu(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function cu(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?uu(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):uu(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function gu(e){return function(e){if(Array.isArray(e))return du(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?du(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?du(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function du(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function hu(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pu(e,t){return(pu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=fu(A);return e=o?(e=fu(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==lu(t)&&"function"!=typeof t?Bu(n):t}}function Bu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fu(e){return(fu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pu(t,e);var n,A=mu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Bu(e),["copy","copyCurrentBuffer","handleCopyToNew","handleStoppedPlaying","handleChangeName","handlePlay","handleStopPlaying","handleUpdatePlayhead","handleDelete","handleUpdateTrim","handleEffect","handleUndo","handleRedo","submitNewSamples","handleCopy","handlePaste","paste","handleKeyPress","handleContainerClick","setRef","resampleBufferToRate"]),e.state={copyBuffer:null,chunkLevels:Lr(e.props.samples),playhead:null,trimStart:null,trimEnd:null},e.redoStack=[],e.undoStack=[],e.ref=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioBufferPlayer=new Zs(this.props.samples,this.props.sampleRate),document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillReceiveProps",value:function(e){e.soundId!==this.props.soundId&&(this.redoStack=[],this.undoStack=[],this.resetState(e.samples,e.sampleRate),this.setState({trimStart:null,trimEnd:null}))}},{key:"componentWillUnmount",value:function(){this.audioBufferPlayer.stop(),document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){e.target instanceof HTMLInputElement||!this.props.isFullScreen&&(" "===e.key&&(e.preventDefault(),this.state.playhead?this.handleStopPlaying():this.handlePlay()),"Delete"!==e.key&&"Backspace"!==e.key||(e.preventDefault(),e.shiftKey?this.handleDeleteInverse():this.handleDelete()),"Escape"===e.key&&(e.preventDefault(),this.handleUpdateTrim(null,null)),e.metaKey||e.ctrlKey)&&(e.shiftKey&&"z"===e.key.toLowerCase()?(e.preventDefault(),0<this.redoStack.length&&this.handleRedo()):"z"===e.key?0<this.undoStack.length&&(e.preventDefault(),this.handleUndo()):"c"===e.key?(e.preventDefault(),this.handleCopy()):"v"===e.key?(e.preventDefault(),this.handlePaste()):"a"===e.key&&(e.preventDefault(),this.handleUpdateTrim(0,1)))}},{key:"resetState",value:function(e,t){this.audioBufferPlayer.stop(),this.audioBufferPlayer=new Zs(e,t),this.setState({chunkLevels:Lr(e),playhead:null})}},{key:"submitNewSamples",value:function(e,t,A){var n,o,a=this;return e={samples:e,sampleRate:t},t=this.resampleBufferToRate,n=e.samples,e=e.sampleRate,o=n.length/e,(2*n.length<1e7?Promise.resolve({samples:n,sampleRate:e}):22050*o*2<1e7?t({samples:n,sampleRate:e},22050):Promise.reject(new Error("Sound too large to save, refusing to edit"))).then(function(e){var t=e.samples,n=e.sampleRate;return Kr.a.encode({sampleRate:n,channelData:[t]}).then(function(e){return A||(a.redoStack=[],99<=a.undoStack.length&&a.undoStack.shift(),a.undoStack.push(a.getUndoItem())),a.resetState(t,n),a.props.vm.updateSoundBuffer(a.props.soundIndex,a.audioBufferPlayer.buffer,new Uint8Array(e)),!0})}).catch(function(e){return re.a.error("Encountered error while trying to encode sound update: ".concat(e.message)),!1})}},{key:"handlePlay",value:function(){this.audioBufferPlayer.stop(),this.audioBufferPlayer.play(this.state.trimStart||0,this.state.trimEnd||1,this.handleUpdatePlayhead,this.handleStoppedPlaying)}},{key:"handleStopPlaying",value:function(){this.audioBufferPlayer.stop(),this.handleStoppedPlaying()}},{key:"handleStoppedPlaying",value:function(){this.setState({playhead:null})}},{key:"handleUpdatePlayhead",value:function(e){this.setState({playhead:e})}},{key:"handleChangeName",value:function(e){this.props.vm.renameSound(this.props.soundIndex,e)}},{key:"handleDelete",value:function(){var e,t=this,n=this.copyCurrentBuffer(),A=n.samples,n=n.sampleRate,o=A.length,a=Math.floor(this.state.trimStart*o),i=Math.floor(this.state.trimEnd*o),a=A.slice(0,a),A=A.slice(i,o),i=a.length+A.length;0===i?e=new Float32Array(1):((e=new Float32Array(i)).set(a,0),e.set(A,a.length)),this.submitNewSamples(e,n).then(function(){t.setState({trimStart:null,trimEnd:null})})}},{key:"handleDeleteInverse",value:function(){var t=this,e=this.copyCurrentBuffer(),n=e.samples,e=e.sampleRate,A=n.length,o=Math.floor(this.state.trimStart*A),A=Math.floor(this.state.trimEnd*A),n=n.slice(o,A);0===n.length&&(n=new Float32Array(1)),this.submitNewSamples(n,e).then(function(e){e&&t.setState({trimStart:null,trimEnd:null})})}},{key:"handleUpdateTrim",value:function(e,t){this.setState({trimStart:e,trimEnd:t}),this.handleStopPlaying()}},{key:"effectFactory",value:function(e){var t=this;return function(){return t.handleEffect(e)}}},{key:"copyCurrentBuffer",value:function(){return{samples:this.audioBufferPlayer.buffer.getChannelData(0),sampleRate:this.audioBufferPlayer.buffer.sampleRate}}},{key:"handleEffect",value:function(e){var o=this,t=null===this.state.trimStart?0:this.state.trimStart,n=null===this.state.trimEnd?1:this.state.trimEnd;this.audioBufferPlayer.buffer.length<2||new Dl(this.audioBufferPlayer.buffer,e,t,n).process(function(e,t,n){var A=e.getChannelData(0),e=e.sampleRate;o.submitNewSamples(A,e).then(function(e){e&&(null===o.state.trimStart?o.handlePlay():o.setState({trimStart:t,trimEnd:n},o.handlePlay))})})}},{key:"tooLoud",value:function(){var e=this.state.chunkLevels.length,t=null===this.state.trimStart?0:Math.floor(this.state.trimStart*e),e=null===this.state.trimEnd?e-1:Math.ceil(this.state.trimEnd*e),t=this.state.chunkLevels.slice(t,e);return 1.2<Math.max.apply(Math,gu(t))}},{key:"getUndoItem",value:function(){return cu(cu({},this.copyCurrentBuffer()),{},{trimStart:this.state.trimStart,trimEnd:this.state.trimEnd})}},{key:"handleUndo",value:function(){var t=this,e=(this.redoStack.push(this.getUndoItem()),this.undoStack.pop()),n=e.samples,A=e.sampleRate,o=e.trimStart,a=e.trimEnd;if(n)return this.submitNewSamples(n,A,!0).then(function(e){e&&t.setState({trimStart:o,trimEnd:a},t.handlePlay)})}},{key:"handleRedo",value:function(){var t=this,e=this.redoStack.pop(),n=e.samples,A=e.sampleRate,o=e.trimStart,a=e.trimEnd;if(n)return this.undoStack.push(this.getUndoItem()),this.submitNewSamples(n,A,!0).then(function(e){e&&t.setState({trimStart:o,trimEnd:a},t.handlePlay)})}},{key:"handleCopy",value:function(){this.copy()}},{key:"copy",value:function(e){var t=null===this.state.trimStart?0:this.state.trimStart,n=null===this.state.trimEnd?1:this.state.trimEnd,A=this.copyCurrentBuffer(),t=t*A.samples.length,n=n*A.samples.length;A.samples=A.samples.slice(t,n),this.setState({copyBuffer:A},e)}},{key:"handleCopyToNew",value:function(){var e=this;this.copy(function(){Pr(e.props.vm,e.state.copyBuffer.samples,e.state.copyBuffer.sampleRate,e.props.name)})}},{key:"resampleBufferToRate",value:function(o,a){return new Promise(function(t,n){var e,A=a/o.sampleRate*o.samples.length;try{window.OfflineAudioContext?e=new window.OfflineAudioContext(1,A,a):window.webkitOfflineAudioContext&&(e=new window.webkitOfflineAudioContext(1,A,a))}catch(e){return a===o.sampleRate/2?t(function(e){for(var t=Math.floor(e.samples.length/2),n=new Float32Array(t),A=0;A<t;A++)n[A]=e.samples[2*A];return{samples:n,sampleRate:e.sampleRate/2}}(o)):n(new Error("Could not resample"))}A=e.createBufferSource(),n=e.createBuffer(1,o.samples.length,o.sampleRate);n.getChannelData(0).set(o.samples),A.buffer=n,A.connect(e.destination),A.start(),e.startRendering(),e.oncomplete=function(e){e=e.renderedBuffer;t({samples:e.getChannelData(0),sampleRate:a})}})}},{key:"paste",value:function(){var e,t,n,A,o,a=this,i=this.copyCurrentBuffer().samples;null===this.state.trimStart?(n=i.length+this.state.copyBuffer.samples.length,(n=new Float32Array(n)).set(i,0),n.set(this.state.copyBuffer.samples,i.length),this.submitNewSamples(n,this.props.sampleRate,!1).then(function(e){e&&a.handlePlay()})):(n=this.state.trimStart*i.length,e=this.state.trimEnd*i.length,t=i.slice(0,n),i=i.slice(e),e=t.length+this.state.copyBuffer.samples.length+i.length,(e=new Float32Array(e)).set(t,0),e.set(this.state.copyBuffer.samples,t.length),e.set(i,t.length+this.state.copyBuffer.samples.length),t=(i=n/this.props.sampleRate)+this.state.copyBuffer.samples.length/this.state.copyBuffer.sampleRate,n=e.length/this.state.copyBuffer.sampleRate,A=i/n,o=t/n,this.submitNewSamples(e,this.props.sampleRate,!1).then(function(e){e&&a.setState({trimStart:A,trimEnd:o},a.handlePlay)}))}},{key:"handlePaste",value:function(){var t=this;this.state.copyBuffer&&(this.state.copyBuffer.sampleRate===this.props.sampleRate?this.paste():this.resampleBufferToRate(this.state.copyBuffer,this.props.sampleRate).then(function(e){t.setState({copyBuffer:e},t.paste)}))}},{key:"setRef",value:function(e){this.ref=e}},{key:"handleContainerClick",value:function(e){e.target===this.ref&&null!==this.state.trimStart&&this.handleUpdateTrim(null,null)}},{key:"render",value:function(){var e=Dl.effectTypes;return j.a.createElement(su,{canPaste:null!==this.state.copyBuffer,canRedo:0<this.redoStack.length,canUndo:0<this.undoStack.length,chunkLevels:this.state.chunkLevels,name:this.props.name,playhead:this.state.playhead,setRef:this.setRef,tooLoud:this.tooLoud(),trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onChangeName:this.handleChangeName,onContainerClick:this.handleContainerClick,onCopy:this.handleCopy,onCopyToNew:this.handleCopyToNew,onDelete:this.handleDelete,onEcho:this.effectFactory(e.ECHO),onFadeIn:this.effectFactory(e.FADEIN),onFadeOut:this.effectFactory(e.FADEOUT),onFaster:this.effectFactory(e.FASTER),onLouder:this.effectFactory(e.LOUDER),onMute:this.effectFactory(e.MUTE),onPaste:this.handlePaste,onPlay:this.handlePlay,onRedo:this.handleRedo,onReverse:this.effectFactory(e.REVERSE),onRobot:this.effectFactory(e.ROBOT),onSetTrim:this.handleUpdateTrim,onSlower:this.effectFactory(e.SLOWER),onSofter:this.effectFactory(e.SOFTER),onStop:this.handleStopPlaying,onUndo:this.handleUndo})}}])&&hu(t.prototype,e),n&&hu(t,n),o}(j.a.Component),Eu=(d.propTypes={isFullScreen:n.a.bool,name:n.a.string.isRequired,sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),soundId:n.a.string,soundIndex:n.a.number,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e,t){var t=t.soundIndex,n=e.scratchGui.vm.editingTarget.sprite,t=t<n.sounds.length?t:n.sounds.length-1,n=e.scratchGui.vm.editingTarget.sprite.sounds[t],t=e.scratchGui.vm.getSoundBuffer(t);return{soundId:n.soundId,sampleRate:t.sampleRate,samples:t.getChannelData(0),isFullScreen:e.scratchGui.mode.isFullScreen,name:n.name,vm:e.scratchGui.vm}})(d)),g=e(770),wu=e.n(g),a=e(771),Cu=e.n(a),Iu=e(237),yu=[{tag:"animals",intlLabel:i.animals},{tag:"effects",intlLabel:i.effects},{tag:"loops",intlLabel:i.loops},{tag:"notes",intlLabel:i.notes},{tag:"percussion",intlLabel:i.percussion},{tag:"space",intlLabel:i.space},{tag:"sports",intlLabel:i.sports},{tag:"voice",intlLabel:i.voice},{tag:"wacky",intlLabel:i.wacky}];function bu(e){return(bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Mu=["md5ext"];function Qu(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Tu(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Qu(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Qu(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function Su(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ku(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Du(e,t){return(Du=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ou(A);return e=o?(e=Ou(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==bu(t)&&"function"!=typeof t?Nu(n):t}}function Nu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ou(e){return(Ou=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Fu=Object(z.d)({libraryTitle:{id:"gui.soundLibrary.chooseASound",defaultMessage:"Choose a Sound"}}),d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Du(t,e);var n,A=vu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Nu(e),["handleItemSelected","handleItemMouseEnter","handleItemMouseLeave","onStop","setStopHandler"]),e.audioEngine=null,e.playingSoundPromise=null,e.handleStop=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioEngine=new Nt.a,this.playingSoundPromise=null}},{key:"componentWillUnmount",value:function(){this.stopPlayingSound()}},{key:"onStop",value:function(){var t=this;null!==this.playingSoundPromise&&(this.playingSoundPromise.then(function(e){return e&&e.removeListener("stop",t.onStop)}),this.handleStop)&&this.handleStop()}},{key:"setStopHandler",value:function(e){this.handleStop=e}},{key:"stopPlayingSound",value:function(){var t=this;null!==this.playingSoundPromise&&(this.playingSoundPromise.then(function(e){return e&&e.removeListener("stop",t.onStop)}),this.playingSoundPromise.isPlaying?this.playingSoundPromise.then(function(e){e.stop()}):this.playingSoundPromise.then(function(e){e&&e.stopImmediately()}),this.playingSoundPromise=null)}},{key:"handleItemMouseEnter",value:function(t){var n=this,A=t._md5,e=A.split(".")[0],o=this.props.vm;this.stopPlayingSound(),this.playingSoundPromise=o.runtime.storage.load(o.runtime.storage.AssetType.Sound,e).then(function(e){if(e)return e={md5:A,name:t.name,format:t.format,data:e.data},n.audioEngine.decodeSoundPlayer(e).then(function(e){if(e.buffer.duration<.001)throw new Error("Sound is not fetched properly -- there might be a problem with the internet connection.");return e.connect(n.audioEngine),e.play(),e.addListener("stop",n.onStop),null!==n.playingSoundPromise&&(n.playingSoundPromise.isPlaying=!0),e}).catch(function(e){console.warn(e),mv2Interface.send_REST("notification/warn-message/This sound requires internet. Please select a pre-loaded sound.")})}).catch(function(e){mv2Interface.send_REST("notification/warn-message/This sound requires internet. Please select a pre-loaded sound.")})}},{key:"handleItemMouseLeave",value:function(){this.stopPlayingSound()}},{key:"handleItemSelected",value:function(e){var t=this,e={format:e.format,md5:e._md5,rate:e.rate,sampleCount:e.sampleCount,name:e.name};this.props.vm.addSound(e).then(function(){t.props.onNewSound()})}},{key:"render",value:function(){var n=this,e=Iu.map(function(e){var t=e.md5ext,e=Su(e,Mu);return Tu({_md5:t,rawURL:(n.props.isRtl?Cu:wu).a},e)});return j.a.createElement(ca.a,{showPlayButton:!0,data:e,id:"soundLibrary",setStopHandler:this.setStopHandler,tags:yu,title:this.props.intl.formatMessage(Fu.libraryTitle),onItemMouseEnter:this.handleItemMouseEnter,onItemMouseLeave:this.handleItemMouseLeave,onItemSelected:this.handleItemSelected,onRequestClose:this.props.onRequestClose})}}])&&ku(t.prototype,e),n&&ku(t,n),o}(j.a.PureComponent),Ru=(d.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,onNewSound:n.a.func.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(Object(A.b)(function(e){return{isRtl:e.locales.isRtl}},function(){return{}})(d)));function Yu(e){return(Yu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xu(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function _u(e,t){return(_u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Uu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Lu(A);return e=o?(e=Lu(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Yu(t)&&"function"!=typeof t?Gu(n):t}}function Gu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lu(e){return(Lu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pu(e){return j.a.createElement("div",{className:Xu.a.martyCameraFeedContainer},e.isRecording&&j.a.createElement("div",{className:Xu.a.recording}),j.a.createElement("video",{className:Xu.a.martyCameraFeed,autoPlay:!0,playsInline:!0,muted:!0,ref:e.setRef}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_u(t,e);var n,A=Uu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Gu(e),["handleSelectSound","handleDeleteSound","handleDuplicateSound","handleExportSound","handleNewSound","handleSurpriseSound","handleFileUploadClick","handleSoundUpload","handleDrop","setFileInput"]),e.state={selectedSoundIndex:0},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.sounds&&(this.props.editingTarget!==t?this.setState({selectedSoundIndex:0}):this.state.selectedSoundIndex>n.sounds.length-1&&this.setState({selectedSoundIndex:Math.max(n.sounds.length-1,0)}))}},{key:"handleSelectSound",value:function(e){this.setState({selectedSoundIndex:e})}},{key:"handleDeleteSound",value:function(e){var t=this.props.vm.deleteSound(e);e>=this.state.selectedSoundIndex&&this.setState({selectedSoundIndex:Math.max(0,e-1)}),this.props.dispatchUpdateRestore({restoreFun:t,deletedItem:"Sound"})}},{key:"handleExportSound",value:function(e){var e=this.props.vm.editingTarget.sprite.sounds[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleDuplicateSound",value:function(e){var t=this;this.props.vm.duplicateSound(e).then(function(){t.setState({selectedSoundIndex:e+1})})}},{key:"handleNewSound",value:function(){if(!this.props.vm.editingTarget)return null;var e=this.props.vm.editingTarget.sprite,e=e.sounds||[];this.setState({selectedSoundIndex:Math.max(e.length-1,0)})}},{key:"handleSurpriseSound",value:function(){var e=this,t=Iu[Math.floor(Math.random()*Iu.length)],t={format:t.dataFormat,md5:t.md5ext,rate:t.rate,sampleCount:t.sampleCount,name:t.name};this.props.vm.addSound(t).then(function(){e.handleNewSound()})}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleSoundUpload",value:function(e){var l=this,u=this.props.vm.runtime.storage,c=this.props.vm.editingTarget.id;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){var a,i=t,r=u,t=function(e){e.name=n,l.props.vm.addSound(e,c).then(function(){l.handleNewSound(),A===o-1&&l.props.onCloseImporting()})},s=l.props.onCloseImporting;switch(i){case"audio/mp3":case"audio/mpeg":a=r.DataFormat.MP3;break;case"audio/wav":case"audio/wave":case"audio/x-wav":case"audio/x-pn-wav":a=r.DataFormat.WAV;break;default:return void s("Encountered unexpected file type: ".concat(i))}t(xo(r,r.AssetType.Sound,a,new Uint8Array(e)))},this.props.onCloseImporting)}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.SOUND?(n=(t=this.props.vm.editingTarget.sprite).sounds[this.state.selectedSoundIndex],this.props.vm.reorderSound(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedSoundIndex:t.sounds.indexOf(n)})):e.dragType===E.a.BACKPACK_COSTUME?(this.props.onActivateCostumesTab(),this.props.vm.addCostume(e.payload.body,{name:e.payload.name})):e.dragType===E.a.BACKPACK_SOUND&&this.props.vm.addSound({md5:e.payload.body,name:e.payload.name}).then(this.handleNewSound)}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"render",value:function(){var e,t,n=this.props,A=(n.dispatchUpdateRestore,n.intl),o=n.isRtl,a=n.vm,i=n.onNewSoundFromLibraryClick,n=n.onNewSoundFromRecordingClick;return a.editingTarget?(e=(a=a.editingTarget.sprite).sounds?a.sounds.map(function(e){return{url:(o?Jr:zr).a,name:e.name,details:(e.sampleCount/e.rate).toFixed(2),dragPayload:e}}):[],t=Object(z.d)({fileUploadSound:{id:"gui.soundTab.fileUploadSound",defaultMessage:"Upload Sound"},surpriseSound:{id:"gui.soundTab.surpriseSound",defaultMessage:"Surprise"},recordSound:{id:"gui.soundTab.recordSound",defaultMessage:"Record"},addSound:{id:"gui.soundTab.addSoundFromLibrary",defaultMessage:"Choose a Sound"}}),j.a.createElement(Mo,{buttons:[{title:A.formatMessage(t.addSound),img:Wr.a,onClick:i},{title:A.formatMessage(t.fileUploadSound),img:Wo.a,onClick:this.handleFileUploadClick,fileAccept:".wav, .mp3",fileChange:this.handleSoundUpload,fileInput:this.setFileInput,fileMultiple:!0},{title:A.formatMessage(t.surpriseSound),img:Ko.a,onClick:this.handleSurpriseSound},{title:A.formatMessage(t.recordSound),img:Vr.a,onClick:n},{title:A.formatMessage(t.addSound),img:Xo.a,onClick:i}],dragType:E.a.SOUND,isRtl:o,items:e,selectedItemIndex:this.state.selectedSoundIndex,onDeleteClick:this.handleDeleteSound,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateSound,onExportClick:this.handleExportSound,onItemClick:this.handleSelectSound},a.sounds&&a.sounds[this.state.selectedSoundIndex]?j.a.createElement(Eu,{soundIndex:this.state.selectedSoundIndex}):null,this.props.soundRecorderVisible?j.a.createElement(wl,{onNewSound:this.handleNewSound}):null,this.props.soundLibraryVisible?j.a.createElement(Ru,{vm:this.props.vm,onNewSound:this.handleNewSound,onRequestClose:this.props.onRequestCloseSoundLibrary}):null)):null}}])&&xu(t.prototype,e),n&&xu(t,n),o}(j.a.Component),Hu=(g.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,onActivateCostumesTab:n.a.func.isRequired,onCloseImporting:n.a.func.isRequired,onNewSoundFromLibraryClick:n.a.func.isRequired,onNewSoundFromRecordingClick:n.a.func.isRequired,onRequestCloseSoundLibrary:n.a.func.isRequired,onShowImporting:n.a.func.isRequired,soundLibraryVisible:n.a.bool,soundRecorderVisible:n.a.bool,sprites:n.a.shape({id:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a).isRequired},Object(O.a)("Sound Tab")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,soundLibraryVisible:e.scratchGui.modals.soundLibrary,soundRecorderVisible:e.scratchGui.modals.soundRecorder}},function(t){return{onActivateCostumesTab:function(){return t(Object(s.f)(s.b))},onNewSoundFromLibraryClick:function(e){e.preventDefault(),t(Object(R.r)())},onNewSoundFromRecordingClick:function(){t(Object(R.s)())},onRequestCloseSoundLibrary:function(){t(Object(R.f)())},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(g)))),a=e(772),ju=e.n(a),d=e(773),zu=e.n(d),g=e(774),Ju=e.n(g),a=e(775),Wu=e.n(a),d=e(304),Vu=e.n(d),g=e(305),Ku=e.n(g),a=e(324),Xu=e.n(a),qu=(Pu.propTypes={setRef:n.a.func},Object(z.e)(Pu)),d=e(18),B=e.n(d),g=e(776),Zu=e.n(g),a=e(325),$u=e.n(a),d=e(153),ec=e.n(d);function tc(e){return(tc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ac(e,t){return(Ac=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ic(A);return e=o?(e=ic(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==tc(t)&&"function"!=typeof t?ac(n):t}}function ac(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ic(e){return(ic=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ac(t,e);var n,A=oc(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ac(e),[]),e.state={predictions:[],isLoading:!0},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var t=this;this.props.model.setPredictionCallback=function(e){0<=e.predictionIdx&&(e=e.output,t.setState({predictions:e,isLoading:!1}))}}},{key:"componentWillUnmount",value:function(){this.props.model.setPredictionCallback=void 0}},{key:"render",value:function(){return j.a.createElement("div",{className:ec.a.predictions},j.a.createElement("div",{className:ec.a.predictionsTitle},"Predictions"),this.state.isLoading&&j.a.createElement("div",{className:ec.a.predictionsLoading},"Loading..."),j.a.createElement("div",{className:ec.a.predictionsContainer},this.state.predictions.map(function(e,t){return j.a.createElement("div",{key:t,className:ec.a.predictionsRow},j.a.createElement("div",{className:ec.a.predictionsLabel},e.label),j.a.createElement("div",{className:ec.a.predictionsValue,style:{"--dynamic-width":"calc(".concat(e.confidence," * 100%)"),"--dynamic-content":'"'.concat(Math.round(100*e.confidence),'%"')}},"."))})))}}])&&nc(t.prototype,e),n&&nc(t,n),o}(j.a.Component),rc=(g.propTypes={model:n.a.object},g),sc=e(189),a=e(170),lc=e.n(a),d=e(201),uc=e.n(d);function cc(e){return(cc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function gc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function dc(e,t){return(dc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=mc(A);return e=o?(e=mc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==cc(t)&&"function"!=typeof t?pc(n):t}}function pc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function mc(e){return(mc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bc(e){return j.a.createElement("div",{className:Ec.a.martySoundFeedContainer},e.isRecording&&j.a.createElement("div",{className:Ec.a.recording}),j.a.createElement("canvas",{className:Ec.a.martySoundFeed,width:"160",height:"120",ref:e.setRef}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&dc(t,e);var n,A=hc(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(pc(e),["setChartRef"]),e.state={data:null},e.chartRef=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"setChartRef",value:function(e){this.chartRef=e}},{key:"componentDidMount",value:function(){var t=this;this.props.model.addStatusCallback("TfVisChart",function(e){t.setState({data:e})})}},{key:"componentWillUnmount",value:function(){this.props.model.removeStatusCallback("TfVisChart")}},{key:"componentDidUpdate",value:function(){var e;console.log("plotting loss values"),null!==this.chartRef&&this.state.data&&0<this.state.data.lossValues.length&&(null!=(e=window.document.getElementById("vg-tooltip-element"))&&e.remove(),martyMachine.tfvis.render.linechart(this.chartRef,{values:this.state.data.lossValues,series:["train"]},{xLabel:this.props.xLabel,yLabel:this.props.yLabel,width:this.props.width,height:this.props.height}))}},{key:"render",value:function(){return this.state.data?j.a.createElement("div",{className:uc.a.container,id:this.props.id,ref:this.setChartRef}):j.a.createElement("div",{className:"".concat(uc.a.container," ").concat(uc.a.modern_sharp)},j.a.createElement(sc.a,{level:"warn",large:!0,className:lc.a.primary}),j.a.createElement("div",{className:uc.a.loading_title},"Loading Loss Plot"),j.a.createElement("div",{className:uc.a.loading_subtitle},"This might take a while, please wait..."))}}])&&gc(t.prototype,e),n&&gc(t,n),o}(j.a.Component),fc=(g.propTypes={id:n.a.string.isRequired,title:n.a.string.isRequired,xLabel:n.a.string.isRequired,yLabel:n.a.string.isRequired,width:n.a.number.isRequired,height:n.a.number.isRequired,model:n.a.object.isRequired},g),a=e(326),Ec=e.n(a),wc=(Bc.propTypes={setRef:n.a.func,isRecording:n.a.bool},Object(z.e)(Bc)),d=e(69),Cc=e.n(d),g=e(399),Ic=e.n(g),a=e(777),yc=e.n(a);function bc(e){return(bc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Mc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Qc(e,t){return(Qc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=kc(A);return e=o?(e=kc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==bc(t)&&"function"!=typeof t?Sc(n):t}}function Sc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kc(e){return(kc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Qc(t,e);var n,A=Tc(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={},l()(Sc(e),["onPlaySample","onClassNameSelected","onRemoveClass","onRemoveSample","setSampleContainerRef"]),e.sampleContainerRef=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){}},{key:"componentDidUpdate",value:function(e){this.props.modelClass.samples.length>e.modelClass.samples.length&&((e=this.sampleContainerRef).scrollLeft=e.scrollWidth)}},{key:"setSampleContainerRef",value:function(e){this.sampleContainerRef=e}},{key:"onPlaySample",value:function(e,t){e.stopPropagation();var e=Float32Array.from(t.reduce(function(e,t){return e.concat(Array.from(t))},[])),t=new AudioContext,n=t.createBuffer(1,e.length,t.sampleRate),e=(n.getChannelData(0).set(e),t.createBufferSource());e.buffer=n,e.connect(t.destination),e.start()}},{key:"onClassNameSelected",value:function(){this.props.onClassNameSelected&&this.props.onClassNameSelected(this.props.modelClass.name)}},{key:"onRemoveClass",value:function(e){e.stopPropagation(),this.props.onRemoveClass&&this.props.onRemoveClass()}},{key:"onRemoveSample",value:function(e,t){e.stopPropagation(),this.props.onRemoveSample&&this.props.onRemoveSample(t)}},{key:"onClassNameChange",value:function(e){this.props.modelClass.name=e.target.value,console.log("onClassNameChange: "+this.props.modelClass.name),this.setState({})}},{key:"render",value:function(){var A=this,e=null;return this.props.subtitle&&(e="string"==typeof this.props.subtitle?j.a.createElement("span",{className:Cc.a.subtitle},this.props.subtitle):this.props.subtitle),j.a.createElement("div",{className:Cc.a.classContainer,onClick:this.onClassNameSelected},j.a.createElement("div",{className:Cc.a.classLabel},j.a.createElement("input",{className:Cc.a.classNameInput,type:"text",value:this.props.modelClass.name,onChange:function(e){return A.onClassNameChange(e)},readOnly:this.props.modelClass.name===martyMachine.BACKGROUND_NOISE_TAG}),e,this.props.onRemoveClass&&j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:Ic.a,onClick:this.onRemoveClass})),j.a.createElement("div",{className:Cc.a.modelSamplesContainer},j.a.createElement("div",{className:Cc.a.rowCustom},j.a.createElement("p",{className:Cc.a.samplesLengthTitle},this.props.modelClass.samples.length," samples")),j.a.createElement("div",{className:Cc.a.rowCustom,ref:this.setSampleContainerRef},this.props.modelClass.samples.map(function(t,n){return j.a.createElement("div",{key:n,className:Cc.a.modelSampleContainer},j.a.createElement("div",{className:Cc.a.modelSampleOverlay},j.a.createElement("div",{className:Cc.a.modelSampleOverlayDelete},j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:Ic.a,onClick:function(e){return A.onRemoveSample(e,n)}}),"audio"===A.props.modelType&&j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:yc.a,onClick:function(e){return A.onPlaySample(e,t.timeDataQueue)}})),j.a.createElement("img",{className:Cc.a.modelSample,src:"data:image/png;base64,"+t.image.jpegBase64,alt:"sample"})))}))))}}])&&Mc(t.prototype,e),n&&Mc(t,n),o}(j.a.Component),Dc=(d.propTypes={modelClass:n.a.object,onRemoveClass:n.a.func,onRemoveSample:n.a.func,onClassNameSelected:n.a.func,modelType:t.string,subtitle:n.a.oneOfType([n.a.string,n.a.object,n.a.element])},d),g=e(202),vc=e.n(g),Nc=e(85),Oc=e(188);function Fc(e){return(Fc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yc(e,t){return(Yc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Uc(A);return e=o?(e=Uc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Fc(t)&&"function"!=typeof t?_c(n):t}}function _c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uc(e){return(Uc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gc(e){return e.intl,Object(z.d)({createNewClass:{id:"gui.moreInfo.MMcreateANewClass",defaultMessage:"Create New Class"}}),j.a.createElement("div",{className:Hc.a.tableColorCoding},j.a.createElement("div",{className:Hc.a.moreInfo},j.a.createElement("div",{className:Hc.a.viewSection},j.a.createElement("h3",{className:Hc.a.viewTitle},"Create New class"),j.a.createElement("ul",{className:Hc.a.viewDetails},j.a.createElement("li",null,'Enter the class name in the "Create new class" field.'),j.a.createElement("li",null,'Click the "+" button.'),j.a.createElement("li",null,"This action will create a new class if the class name does not already exist."))),j.a.createElement("div",{className:Hc.a.viewSection},j.a.createElement("h3",{className:Hc.a.viewTitle},"Collect Data for"),j.a.createElement("ul",{className:Hc.a.viewDetails},j.a.createElement("li",null,'Enter the class name in the "Collect Data for" field.'),j.a.createElement("li",null,'Click the "Record" button.'),j.a.createElement("li",null,j.a.createElement("strong",null,"If the class name already exists:")," Data collection starts for the existing class."),j.a.createElement("li",null,j.a.createElement("strong",null,"If the class name does not exist:")," A new class is created and data collection for this new class begins.")))))}function Lc(o){var e=j.a.createElement(qu,{setRef:o.setDeviceStreamRef,isRecording:o.isRecording}),t=("image-device"===o.modelType||"image-marty"===o.modelType?e=j.a.createElement(qu,{setRef:o.setDeviceStreamRef,isRecording:o.isRecording}):"audio"===o.modelType&&(e=j.a.createElement(wc,{setRef:o.setAudioCanvasRef,isRecording:o.isRecording})),1<o.modelClasses.length&&o.modelClasses.every(function(e){return 0<e.samples.length})&&!o.isRecording&&!o.isTraining&&!o.isRunning&&!o.isModelLoaded),n=!o.isRecording&&!o.isTraining&&!o.isRunning&&o.isTrained,A=!(o.isRecording||o.isTraining||o.isRunning||o.isModelLoaded),a=o.isTrained&&!o.isModelLoaded,i=null;return!o.isTraining&&!o.isTrained||o.isModelLoaded||o.hasRun||(i=j.a.createElement(fc,{id:"lossChart",title:"Loss",xLabel:"epoch",yLabel:"loss",width:299,height:183,model:o.model})),o.isRunning&&(i=j.a.createElement(rc,{model:o.model})),j.a.createElement("div",{className:B.a.editorContainer,ref:o.setRef,onMouseDown:o.onContainerClick},j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.model)},j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.name,onSubmit:o.onChangeName}))),j.a.createElement("p",{className:B.a.betaTag},"BETA",j.a.createElement("span",{className:B.a.betaTagSpan}," ","(may contain bugs!)"))),j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.feedContainer},e),j.a.createElement("div",{className:B.a.trainingRunningContainer,style:{width:299,height:183}},i)),j.a.createElement("div",{className:J()(B.a.row,B.a.rowReverse)},!o.isModelLoaded&&j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.className),spanStyle:{marginRight:0}},j.a.createElement(Pc,{modalTitle:"Create New Class",contentComponent:jc},j.a.createElement("div",{className:B.a.moreInfoIconContainer},j.a.createElement("div",{className:B.a.moreInfoIcon},"?"))),j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.className,onSubmit:o.onClassNameChange}))),j.a.createElement("div",{className:B.a.inputGroup},o.isRecording?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopRecording},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.playButton,A?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.record),onClick:o.onStartRecordingSamples,disabled:!A},j.a.createElement("img",{draggable:!1,src:Zu.a}))),j.a.createElement("div",{className:B.a.inputGroup},o.isTraining?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopTraining},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,t?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.train),onClick:o.onTrain,disabled:!t},"Train")),j.a.createElement("div",{className:B.a.inputGroup},o.isRunning?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopRunning},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,n?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.run),onClick:o.onRun,disabled:!n},"Run")),j.a.createElement("div",{className:B.a.inputGroup},o.isSaving?j.a.createElement("div",{className:B.a.saving},"Saving..."):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,a?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.save),onClick:o.onSaveModel,disabled:!a},"Save"))),j.a.createElement("div",{className:B.a.modelClassesOuterContainer},o.isModelLoaded?j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.classesContainer},o.model.trainingData.classes.map(function(e,t){return j.a.createElement("div",{key:t,className:B.a.classContainer},j.a.createElement("div",{className:B.a.classLabel},e.name),j.a.createElement("div",{className:B.a.modelSamplesContainer},j.a.createElement("div",{className:B.a.rowCustom},j.a.createElement("p",{className:B.a.samplesLengthTitle},e.samples.length," samples"))))}))):j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.classesContainer},o.modelClasses.map(function(e,t){var n=o.onRemoveClass.bind(void 0,t),A=null;return e.name===martyMachine.BACKGROUND_NOISE_TAG&&(n=null,A=j.a.createElement("span",{style:{backgroundColor:10<=e.samples.length?"green":"rgb(255, 171, 25)",fontWeight:10<=e.samples.length?"500":"bold",color:10<=e.samples.length?"white":"black",fontSize:"0.8em",alignSelf:"self-start",padding:"2px 10px",borderRadius:"4px"}},"Requires at least 10 samples (".concat(e.samples.length,"/10)"))),j.a.createElement(Dc,{onClassNameSelected:o.onClassNameSelected,key:t,subtitle:A,modelClass:e,onRemoveClass:n,onRemoveSample:o.onRemoveSample.bind(void 0,t),modelType:o.modelType})}))),j.a.createElement("div",{className:J()(B.a.row,B.a.rowReverse)},j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.createNewClass),spanStyle:{marginRight:0}},j.a.createElement(Pc,{modalTitle:"Create New Class",contentComponent:jc},j.a.createElement("div",{className:B.a.moreInfoIconContainer},j.a.createElement("div",{className:B.a.moreInfoIcon},"?"))),j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.className,onSubmit:o.onClassNameChange}))),j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton),title:o.intl.formatMessage(Jc.createNewClass),onClick:o.onCreateNewClass},j.a.createElement("img",{draggable:!1,src:Vu.a}))))))}var a=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yc(t,e);var n,o=xc(a);function a(e){var t,n,A;if(this instanceof a)return t=o.call(this,e),e=_c(t),A=function(){return j.a.createElement(j.a.Fragment,null,t.state.helpModalVisible&&j.a.createElement(Oc.a,{id:vc.a.helpModalContent,className:vc.a.helpModalContent,headerClassName:vc.a.header,contentLabel:"How to run the Python code",onRequestClose:function(){return t.setState({helpModalVisible:!1})}},j.a.createElement(W.a,{className:vc.a.body},j.a.createElement("div",{className:vc.a.container},t.props.helpModalContent))),j.a.createElement("div",{onClick:t.clickHandler},t.props.children))},(n="render")in e?Object.defineProperty(e,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[n]=A,t.state={helpModalVisible:!1},l()(_c(t),["clickHandler"]),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidMount",value:function(){}},{key:"clickHandler",value:function(){var e=this.props.contentComponent,t=this.props.modalTitle,n=this.props.onHelp;this.props.onOpenDraggableModal(j.a.createElement(e,null),t,n)}}])&&Rc(t.prototype,e),n&&Rc(t,n),a}(j.a.Component),Pc=(a.propTypes={contentComponent:n.a.func.isRequired,modalTitle:n.a.string.isRequired,onOpenDraggableModal:n.a.func.isRequired,children:n.a.node,helpModalContent:n.a.node,onHelp:n.a.func},Object(A.b)(null,function(A){return{onOpenDraggableModal:function(e,t,n){return A(Object(Nc.a)(e,t,n))}}})(a)),t=e(128),Hc=e.n(t),jc=(Gc.propTypes={intl:n.a.shape({formatMessage:n.a.func})},Object(z.e)(Gc)),zc=Ya(Sa),Jc=Object(z.d)({model:{id:"gui.martyMachineModelEditor.model",defaultMessage:"Model"},className:{id:"gui.martyMachineModelEditor.className",defaultMessage:"Collect Data for:"},createNewClass:{id:"gui.martyMachineModelEditor.createNewClass",defaultMessage:"Create new class"},record:{id:"gui.MartyMachineModelEditor.record",defaultMessage:"Record Data"},stop:{id:"gui.MartyMachineModelEditor.stop",defaultMessage:"Stop"},train:{id:"gui.MartyMachineModelEditor.train",defaultMessage:"Train"},run:{id:"gui.MartyMachineModelEditor.run",defaultMessage:"Run"},save:{id:"gui.MartyMachineModelEditor.save",defaultMessage:"Save"}}),Wc=(Lc.propTypes={intl:z.f,name:n.a.string.isRequired,onChangeName:n.a.func.isRequired,onContainerClick:n.a.func.isRequired,onCreateNewClass:n.a.func.isRequired,modelType:n.a.string.isRequired,setDeviceStreamRef:n.a.func,setAudioCanvasRef:n.a.func,modelClasses:n.a.arrayOf(n.a.object),onClassNameChange:n.a.func.isRequired,className:n.a.string.isRequired,onStartRecordingSamples:n.a.func.isRequired,onRemoveClass:n.a.func.isRequired,onRemoveSample:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,isRecording:n.a.bool.isRequired,isTraining:n.a.bool.isRequired,onTrain:n.a.func.isRequired,onStopTraining:n.a.func.isRequired,onRun:n.a.func.isRequired,onStopRunning:n.a.func.isRequired,isRunning:n.a.bool.isRequired,hasRun:n.a.bool.isRequired,isTrained:n.a.bool.isRequired,onSaveModel:n.a.func.isRequired,isSaving:n.a.bool.isRequired,model:n.a.object.isRequired,isModelLoaded:n.a.bool.isRequired,onClassNameSelected:n.a.func.isRequired},Object(z.e)(Lc));function Vc(e){return(Vc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kc(e){return function(e){if(Array.isArray(e))return Xc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?Xc(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xc(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function qc(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Zc(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){qc(A,t,n,o,a,"next",e)}function a(e){qc(A,t,n,o,a,"throw",e)}o(void 0)})}}function $c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tg(e,t,n){t&&eg(e.prototype,t),n&&eg(e,n)}function ng(e,t){return(ng=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ag(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ag(A);return e=o?(e=ag(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Vc(t)&&"function"!=typeof t?og(n):t}}function og(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ag(e){return(ag=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ig(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var d=function(e){var t=A;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ng(t,e);var n=Ag(A);function A(e){var p;return $c(this,A),ig(og(p=n.call(this,e)),"onClassNameSelected",function(e){p.setState({className:e})}),ig(og(p),"onClassNameChange",function(e){p.setState({className:e})}),ig(og(p),"onCreateNewClass",function(){var t=p.state.className;p.trainingDataReducer.state.classes.find(function(e){return e.name===t})?alert("Oops! Class name already exists, please choose a different name."):(p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:t}}),p.setState({}))}),ig(og(p),"onStartRecordingSamples",Zc(function*(){var A=p.trainingDataReducer.state.classes.findIndex(function(e){return e.name===p.state.className});if(-1===A&&(p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:p.state.className}}),A=p.trainingDataReducer.state.classes.length-1),p.isRecording=!0,p.setState({}),"image-device"===p.props.modelType)var o=60,a=p.deviceStreamRef,i=p.canvasRef,r=i.getContext("2d"),s=0,e=(requestAnimationFrame(function e(t){if(p.isRecording){if(!s||o<=t-s){if(!p.isRecording)return;r.drawImage(a,0,0,martyMachine.image_size,martyMachine.image_size);var n=(n=i.toDataURL("image/png")).replace(/^data:image\/(png|jpg);base64,/,"");p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_SAMPLE,payload:{id:A,image:martyMachine.newImage(n),canvas:i,sampleType:"image"}}),p.setState({}),s=t}requestAnimationFrame(e)}}),setTimeout(function(){p.isRecording=!1,p.setState({}),clearTimeout(e)},2e3));else if("audio"===p.props.modelType){p.audioExtractor=new sg,yield p.audioExtractor.start(),yield new Promise(function(e){return setTimeout(e,1500)});for(var t=p.canvasRef,n=p.audioExtractor.timeDataQueue.reduce(function(e,t){return e.concat(Array.from(t))},[]),l=t.getContext("2d"),u=n.length,c=(l.fillStyle="rgb(200, 200, 200)",l.fillRect(0,0,l.canvas.width,l.canvas.height),l.lineWidth=2,l.strokeStyle="rgb(0, 0, 0)",l.beginPath(),l.canvas.width/u),g=0,d=0;d<u;d++){var h=(1-(n[d]+1)/2)*l.canvas.height;0===d?l.moveTo(g,h):l.lineTo(g,h),g+=c}l.stroke();t=(t=p.canvasRef.toDataURL("image/png")).replace(/^data:image\/(png|jpg);base64,/,"");p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_SAMPLE,payload:{id:A,timeDataQueue:p.audioExtractor.timeDataQueue,freqDataQueue:p.audioExtractor.freqDataQueue,image:martyMachine.newImage(t),sampleType:"audio"}}),p.isRecording=!1,p.setState({}),yield p.audioExtractor.stop()}})),ig(og(p),"onStopRecordingSamples",function(){p.isRecording=!1,p.setState({}),"audio"===p.props.modelType&&p.audioExtractor&&p.audioExtractor.stop()}),ig(og(p),"onRemoveClass",function(e){p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_REMOVE_CLASS,payload:{id:e}}),p.setState({})}),ig(og(p),"onRemoveSample",function(e,t){p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_REMOVE_SAMPLE,payload:{id:e,sampleIdx:t}}),p.setState({})}),ig(og(p),"onTrainModel",function(){p.checkIfBackgroundNoiseClassHasSamplesIF()&&(p.isTraining=!0,p.setState({}),setTimeout(function(){martyMachine.trainModel(p.props.model,p.trainingDataReducer.state,p.props.modelType).then(function(e){p.isTrained=e,p.hasRun=!1,p.isTraining=!1,p.setState({})})},200))}),ig(og(p),"onStopTraining",function(){p.isTraining=!1,p.props.model.stopTraining(),p.setState({})}),ig(og(p),"onRunModel",Zc(function*(){var n,A,o,a,i,e;p.isRunning=!0,"image-device"===p.props.modelType?(n=30,A=p.deviceStreamRef,o=p.canvasRef,a=o.getContext("2d"),i=0,requestAnimationFrame(function e(t){if(!i||n<=t-i){if(!p.isRunning)return void a.clearRect(0,0,o.width,o.height);a.drawImage(A,0,0,o.width,o.height),p.props.model.runModel(o),p.setState({}),i=t}requestAnimationFrame(e)})):"audio"===p.props.modelType&&(yield(e=new sg(!0,p.props.model)).start(),p.props.model.runAudioModel(),p.audioExtractor=e,p.setState({})),p.setState({})})),ig(og(p),"onStopRunningModel",function(){p.isRunning=!1,p.hasRun=!0,p.setState({}),"audio"===p.props.modelType&&p.audioExtractor&&(p.audioExtractor.stop(),p.props.model.stopAudioModel())}),ig(og(p),"onSaveModel",function(){mv2Interface.setMLSessionActive(),p.isSaving=!0,p.props.model.setSaveModelCallback=function(e){var t=vm.runtime.storage,n=e.modelJSON,A=e.weights.weightBuffers,e=e.weights.weightInfo,o={format:"",dataFormat:t.DataFormat.BIN,modelType:p.props.modelType};_g(p.state.modelName)?(p.isSaving=!1,p.setState({}),alert("Oops! Model name already exists, please choose a different name.")):(o.asset=t.createAsset(t.AssetType.MLModelWeights,t.DataFormat.BIN,A,null,!0),p.props.model.trainingData.classes.forEach(function(e){e.samples=e.samples.map(function(e){})}),o.dependencies=[n,e,p.props.model.trainingData],o.assetId=o.asset.assetId,o.md5="".concat(o.assetId,".").concat(o.dataFormat),o.name=p.state.modelName,p.isSaving=!1,console.log("saving:",o),p.setState({}),p.onStopRunningModel(),vm.addModel(o).then(function(){console.log("Model saved",o),p.props.onNewModel()}))},p.props.model.saveModel(p.props.modelType),martyMachine.cleanupAfterSave(),p.setState({})}),l()(og(p),["handleChangeName","handleContainerClick","setRef","setDeviceStreamRef","setAudioCanvasRef","onClassNameChange","onCreateNewClass","setCanvasRef","onStartRecordingSamples","onRemoveClass","onRemoveSample","onStopRecordingSamples","onTrainModel","onStopTraining","onRunModel","onStopRunningModel","onSaveModel","onClassNameSelected","addBackgroundNoiseClassIF","checkIfBackgroundNoiseClassHasSamplesIF"]),p.state={deviceStream:null,className:"Class 1",modelName:(null==(e=vm.editingTarget.sprite.models[p.props.modelIndex<vm.editingTarget.sprite.models.length?p.props.modelIndex:vm.editingTarget.sprite.models.length-1])?void 0:e.name)||"Model 1"},p.ref=null,p.deviceStreamRef=null,p.audioCanvasRef=null,p.canvasRef=null,p.isRecording=!1,p.isTraining=!1,p.isRunning=!1,p.hasRun=!1,p.isTrained=!1,p.isSaving=!1,p.audioExtractor=null,p.trainingDataReducer=martyMachine.currentTrainingReducer||martyMachine.getNewTrainingDataReducer(),p.addBackgroundNoiseClassIF(),p}return tg(A,[{key:"componentDidMount",value:function(){var A=this;(function(){var e=Zc(function*(){var e,t,n,i,r,s,l,u,c;"image-device"===A.props.modelType?(e=yield navigator.mediaDevices.getUserMedia({video:{facingMode:"user",width:160,height:120}}),A.setState({deviceStream:e}),A.deviceStreamRef.srcObject=e):"audio"===A.props.modelType&&(e=new(window.AudioContext||window.webkitAudioContext),t=yield navigator.mediaDevices.getUserMedia({audio:!0}),n=e.createMediaStreamSource(t),(i=e.createAnalyser()).fftSize=32768,r=i.frequencyBinCount,s=new Uint8Array(r),n.connect(i),l=A.audioCanvasRef,(u=l.getContext("2d")).clearRect(0,0,l.width,l.height),c=0,function e(){var t=Date.now();if(30<=t-c){requestAnimationFrame(e),i.getByteTimeDomainData(s),u.fillStyle="rgb(200, 200, 200)",u.fillRect(0,0,l.width,l.height),u.lineWidth=2,u.strokeStyle="rgb(0, 0, 0)",u.beginPath();for(var n=+l.width/r,A=0,o=0;o<r;o++){var a=s[o]/128*l.height/2;0===o?u.moveTo(A,a):u.lineTo(A,a),A+=n}u.lineTo(l.width,l.height/2),u.stroke(),c=t}else requestAnimationFrame(e)}(),A.setState({deviceStream:t}))});return function(){return e.apply(this,arguments)}})()()}},{key:"componentWillReceiveProps",value:function(e){e.model!==this.props.model&&(this.setState({modelType:e.modelType,className:"Class 1",modelName:e.modelName}),this.isRecording=!1,this.isTraining=!1,this.isRunning=!1,this.hasRun=!1,this.isTrained=!1,this.isSaving=!1,this.audioExtractor=null,this.trainingDataReducer=martyMachine.getNewTrainingDataReducer(),console.log("New model selected"),this.addBackgroundNoiseClassIF(e))}},{key:"addBackgroundNoiseClassIF",value:function(e){var t=this,e=e||this.props;"audio"!==e.modelType||e.isModelLoaded||this.trainingDataReducer.state.classes.find(function(e){return e.name===martyMachine.BACKGROUND_NOISE_TAG})||(this.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:martyMachine.BACKGROUND_NOISE_TAG}}),setTimeout(function(){t.onClassNameSelected(martyMachine.BACKGROUND_NOISE_TAG)},200))}},{key:"componentWillUnmount",value:function(){this.state.deviceStream&&this.state.deviceStream.getTracks().forEach(function(e){return e.stop()}),this.onStopRunningModel()}},{key:"handleChangeName",value:function(e){var t=this.props.vm.editingTarget.sprite,t=(t.models||[])[this.props.modelIndex];this.props.modelName===(null==t?void 0:t.name)&&this.props.isModelLoaded&&this.props.setModelName(e),this.setState({modelName:e})}},{key:"setRef",value:function(e){this.ref=e}},{key:"setDeviceStreamRef",value:function(e){this.deviceStreamRef=e}},{key:"setCanvasRef",value:function(e){this.canvasRef=e}},{key:"setAudioCanvasRef",value:function(e){this.audioCanvasRef=e}},{key:"handleContainerClick",value:function(e){e.target===this.ref&&this.state.trimStart}},{key:"checkIfBackgroundNoiseClassHasSamplesIF",value:function(){if("audio"===this.props.modelType&&!this.props.isModelLoaded){var e=this.trainingDataReducer.state.classes.find(function(e){return e.name===martyMachine.BACKGROUND_NOISE_TAG});if(e&&e.samples.length<10)return alert("Oops! The background noise class needs at least 10 samples to be trained. Please add more samples to the background noise class."),!1}return!0}},{key:"render",value:function(){return j.a.createElement(j.a.Fragment,null,j.a.createElement(Wc,{className:this.state.className,modelClasses:this.trainingDataReducer.state.classes,modelType:this.props.modelType,model:this.props.model,name:this.state.modelName,onChangeName:this.handleChangeName,onClassNameChange:this.onClassNameChange,onClassNameSelected:this.onClassNameSelected,onContainerClick:this.handleContainerClick,onCreateNewClass:this.onCreateNewClass,onStartRecordingSamples:this.onStartRecordingSamples,onRemoveClass:this.onRemoveClass,onRemoveSample:this.onRemoveSample,onStopRecording:this.onStopRecordingSamples,onStopTraining:this.onStopTraining,onRun:this.onRunModel,onSaveModel:this.onSaveModel,onTrain:this.onTrainModel,onStopRunning:this.onStopRunningModel,isRecording:this.isRecording,isTraining:this.isTraining,isRunning:this.isRunning,hasRun:this.hasRun,isTrained:this.isTrained||this.props.isModelLoaded,isSaving:this.isSaving,isModelLoaded:this.props.isModelLoaded,setRef:this.setRef,setAudioCanvasRef:this.setAudioCanvasRef,setDeviceStreamRef:this.setDeviceStreamRef}),j.a.createElement("canvas",{ref:this.setCanvasRef,width:martyMachine.image_size,height:martyMachine.image_size,style:{display:"none"}}))}}]),A}(j.a.Component),rg=(d.propTypes={sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),modelIndex:n.a.number,vm:n.a.instanceOf(o.a).isRequired,model:n.a.object.isRequired,onNewModel:n.a.func.isRequired,isModelLoaded:n.a.bool.isRequired,modelType:n.a.string.isRequired},Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(d)),sg=function(){function A(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=($c(this,A),new martyMachine.AudioTrainingOptions);this.sampleRateHz=n.sampleRateHz,this.fftSize=n.fftSize,this.columnTruncateLength=n.columnTruncateLength,this.includeRawAudio=!0,console.log("sampleRateHz=".concat(this.sampleRateHz,", fftSize=").concat(this.fftSize,", frameDurationMillis=").concat(this.frameDurationMillis,", columnTruncateLength=").concat(this.columnTruncateLength,", includeRawAudio=").concat(this.includeRawAudio)),this.shouldStreamToWebWorker=e,this.mlmodel=t}var e,t,n;return tg(A,[{key:"start",value:(n=Zc(function*(){this.stream=yield navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),this.audioContext=window.AudioContext||window.webkitAudioContext?new(window.AudioContext||window.webkitAudioContext):null;var e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=0,e.connect(this.analyser),this.freqDataQueue=[],this.freqData=new Float32Array(this.fftSize),this.includeRawAudio&&(this.timeDataQueue=[],this.timeData=new Float32Array(this.fftSize)),this.frameIntervalTask=setInterval(this.onAudioFrame.bind(this),this.fftSize/this.sampleRateHz*1e3)}),function(){return n.apply(this,arguments)})},{key:"onAudioFrame",value:(t=Zc(function*(){var e;this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]!==-1/0&&(e=this.freqData.slice(0,this.columnTruncateLength),this.freqDataQueue.push(Kc(e)),this.includeRawAudio&&(this.analyser.getFloatTimeDomainData(this.timeData),this.timeDataQueue.push(this.timeData.slice())),this.shouldStreamToWebWorker)&&martyMachine.streamAudioToWebWorker(this.mlmodel,{freqData:Kc(e),timeData:Kc(this.timeData)})}),function(){return t.apply(this,arguments)})},{key:"stop",value:(e=Zc(function*(){clearInterval(this.frameIntervalTask),this.frameIntervalTask=null,this.analyser.disconnect(),null!=this.stream&&0<this.stream.getTracks().length&&this.stream.getTracks()[0].stop(),console.log("this.audioContext.state",this.audioContext.state),"closed"!==this.audioContext.state&&this.audioContext.close()}),function(){return e.apply(this,arguments)})}]),A}();var g=e(154),lg=e.n(g);function ug(e){return(ug="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cg(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?gg(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gg(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function gg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function dg(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function hg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pg(e,t){return(pg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=fg(A);return e=o?(e=fg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ug(t)&&"function"!=typeof t?Bg(n):t}}function Bg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fg(e){return(fg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Eg=Object(z.d)({label:{id:"gui.teachablemachineurlmodal.label",defaultMessage:"Load Teachable Machine Model"}}),a=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pg(t,e);var n,r,A,o=mg(a);function a(e){if(this instanceof a)return e=o.call(this,e),l()(Bg(e),["handleChange","handleLoad","handleBack"]),e.state={url:"",error:!1},e.handleChange=e.handleChange.bind(Bg(e)),e.handleLoad=e.handleLoad.bind(Bg(e)),e.handleBack=e.handleBack.bind(Bg(e)),e;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"handleChange",value:function(e){this.setState({url:e.target.value})}},{key:"handleLoad",value:(r=function*(){var e,t,n=this.state.url.trim();n?(n=n.match(/\/models\/([^/]+)\/?$/)[1],n="https://storage.googleapis.com/tm-model/".concat(n,"/"),e=(new Date).getTime(),e=yield(yield fetch("".concat(n,"metadata.json?").concat(e))).json(),console.log("metadata",e),e=function(e){var t={classes:[]},n=e.labels||e.wordLabels;if(n){var A,e=e.labels?"image-device":"audio",o=(t.modelType=e,cg(n));try{for(o.s();!(A=o.n()).done;){var a=A.value;t.classes.push({name:a,samples:[]})}}catch(e){o.e(e)}finally{o.f()}}return t}(e),n="".concat(n,"model.json"),(t=yield martyMachine.loadTmModel(n)).setTrainingData(e),console.debug("Loaded Teachable Machine model",t),this.props.onModelLoaded(n,e,"tmModel",e.modelType),this.props.onBack()):this.setState({error:!0})},A=function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){dg(A,t,n,o,a,"next",e)}function a(e){dg(A,t,n,o,a,"throw",e)}o(void 0)})},function(){return A.apply(this,arguments)})},{key:"handleBack",value:function(){this.props.onBack()}},{key:"render",value:function(){var e=Eg.label;return j.a.createElement(F.a,{isOpen:!0,className:lg.a.modalContent,contentLabel:e,overlayClassName:lg.a.modalOverlay,onRequestClose:this.props.onBack},j.a.createElement("div",{dir:"ltr"},j.a.createElement(W.a,{className:lg.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,e)),j.a.createElement("input",{autoFocus:!0,className:lg.a.input,placeholder:"Paste TM model URL here",type:"text",value:this.state.url,onChange:this.handleChange}),j.a.createElement(W.a,{justifyContent:"space-between",className:lg.a.buttonRow},j.a.createElement("button",{className:lg.a.button,onClick:this.handleLoad},"Load"),j.a.createElement("button",{className:lg.a.button,onClick:this.handleBack},"Close")))))}}])&&hg(t.prototype,e),n&&hg(t,n),a}(j.a.Component),t=(a.propTypes={onModelLoaded:n.a.func.isRequired,onBack:n.a.func.isRequired},Object(z.e)(a)),wg=(t.setAppElement=F.a.setAppElement,t);var d=e(155),Cg=e.n(d);function Ig(e){return(Ig="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function bg(e,t){return(bg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Tg(A);return e=o?(e=Tg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ig(t)&&"function"!=typeof t?Qg(n):t}}function Qg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Tg(e){return(Tg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Sg=Object(z.d)({label:{id:"gui.MartyMachineNewModelConfirmationModal.label",defaultMessage:"Unsaved changes will be lost."}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&bg(t,e);var n,A=Mg(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Qg(e),["handleBack","handleProceed"]),e.state={},e.handleBack=e.handleBack.bind(Qg(e)),e.handleProceed=e.handleProceed.bind(Qg(e)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleBack",value:function(){this.props.onBack()}},{key:"handleProceed",value:function(){this.props.onProceed()}},{key:"render",value:function(){var e=Sg.label;return j.a.createElement(F.a,{isOpen:!0,className:Cg.a.modalContent,contentLabel:e,overlayClassName:Cg.a.modalOverlay,onRequestClose:this.props.onBack},j.a.createElement("div",{dir:"ltr"},j.a.createElement(W.a,{className:Cg.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,e)),j.a.createElement(W.a,{className:Cg.a.illustration},"Just a heads-up! If you've made any changes to the current model, they won't be saved. Are you okay to continue?"),j.a.createElement(W.a,{justifyContent:"space-between",className:Cg.a.buttonRow},j.a.createElement("button",{className:Cg.a.button,onClick:this.handleProceed},"Continue"),j.a.createElement("button",{className:Cg.a.button,onClick:this.handleBack},"Close")))))}}])&&yg(t.prototype,e),n&&yg(t,n),o}(j.a.Component),a=(g.propTypes={onBack:n.a.func.isRequired,onProceed:n.a.func.isRequired},Object(z.e)(g)),kg=(a.setAppElement=F.a.setAppElement,a);function Dg(e){return(Dg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ng(e,t){return(Ng=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Og(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Rg(A);return e=o?(e=Rg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Dg(t)&&"function"!=typeof t?Fg(n):t}}function Fg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Rg(e){return(Rg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yg(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var xg="ROBOTICAL_MARTYBLOCKS_hasSeenTutorials",_g=function(e){var t,n=vm.runtime.targets,A=[];for(t in n)A=A.concat(n[t].sprite.models);return A.map(function(e){return e.name}).includes(e)};var t=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ng(t,e);var n,A=Og(a);function a(e){var t,o;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");Yg(Fg(o=A.call(this,e)),"onTMModelLoaded",function(e,t,n,A){A={format:"",dataFormat:vm.runtime.storage.DataFormat.JSON,modelType:A,dependencies:[null,null,t],tmModelUrl:e,name:n};!function e(t,n){var A;return _g(t)?(A=t[t.length-1],isNaN(A)?e(t+"1",n):(A=parseInt(A)+1,e(t.slice(0,-1)+A,n))):n.name=t}(n,A),vm.addModel(A).then(function(){console.log("Model saved"),o.handleNewModel()})}),Yg(Fg(o),"onNewModelClick",function(e){martyMachine.cleanupAfterSave(),o.setState({modelType:e,isModelLoaded:!1}),console.log("setting isModelLoaded to false in marty-machine-tab"),o.model=martyMachine.getNewModelInstance(e)}),Yg(Fg(o),"confirmDialogForNewModel",function(e){o.setState({newModelConfirmationModalVisible:!0,newModelModelType:e})}),Yg(Fg(o),"setModelName",function(e){if(_g(e))return alert("Model name already exists, please choose another name.");o.props.vm.editingTarget.sprite.models[o.state.selectedModelIndex].name=e,o.model.name=e,o.setState({modelName:e})}),l()(Fg(o),["handleSelectModel","handleDeleteModel","handleDuplicateModel","handleExportModel","handleNewModel","handleDrop","setFileInput","onNewModelClick","onTMModelLoaded","confirmDialogForNewModel"]);e={modelType:(null==(t=martyMachine.currentModel)?void 0:t.modelType)||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.modelType)||"image-device",isModelLoaded:!martyMachine.currentModel&&!!e.vm.editingTarget.sprite.models[0],modelName:(null==(t=martyMachine.currentModel)?void 0:t.name)||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.name)||"New Model",MLModel:martyMachine.currentModel||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.MLModel)||martyMachine.getNewModelInstance()};return console.debug("modelToLoad",e),o.state={selectedModelIndex:0,modelType:e.modelType,isModelLoaded:e.isModelLoaded,modelName:e.modelName,loadTMModelModalVisible:!1,newModelConfirmationModalVisible:!1,newModelModelType:null},martyMachine.currentModel&&(martyMachine.currentModel.name=e.modelName),o.model=e.MLModel,o}return t=a,(e=[{key:"componentDidMount",value:function(){mv2Interface.startMLSession(),this.shouldShowTutorialsCard();var e=vm.editingTarget.sprite;e.models&&0<e.models.length&&this.setState({modelType:e.models[0].modelType})}},{key:"componentWillUnmount",value:function(){mv2Interface.endMLSession()}},{key:"shouldShowTutorialsCard",value:function(){var e=localStorage.getItem(xg);return null===e?(localStorage.setItem(xg,1),this.props.showTutorialCard()):(e=parseInt(e))<1e4?(localStorage.setItem(xg,e+1),this.props.showTutorialCard()):void 0}},{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.models&&(this.props.editingTarget!==t?this.setState({selectedModelIndex:0}):this.state.selectedModelIndex>n.models.length-1&&this.setState({selectedModelIndex:Math.max(n.models.length-1,0)}))}},{key:"handleSelectModel",value:function(e){console.log("setting isModelLoaded to true in handleSelectModel"),this.setState({selectedModelIndex:e,isModelLoaded:!0,modelType:this.props.vm.editingTarget.sprite.models[e].modelType,modelName:this.props.vm.editingTarget.sprite.models[e].name}),this.model=this.props.vm.editingTarget.sprite.models[e].MLModel}},{key:"handleDeleteModel",value:function(e){var t=this.props.vm.deleteModel(e);e>=this.state.selectedModelIndex&&this.setState({selectedModelIndex:Math.max(0,e-1)}),0===this.props.vm.editingTarget.sprite.models.length&&(this.onNewModelClick("image-device"),this.setState({isModelLoaded:!1})),this.props.dispatchUpdateRestore({restoreFun:t,deletedItem:"Model"})}},{key:"handleExportModel",value:function(e){var e=this.props.vm.editingTarget.sprite.models[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleDuplicateModel",value:function(e){var t=this;this.props.vm.duplicateAudio(e).then(function(){t.setState({selectedModelIndex:e+1})})}},{key:"handleNewModel",value:function(){if(!this.props.vm.editingTarget)return null;var e=this.props.vm.editingTarget.sprite,e=e.models||[],t=Math.max(e.length-1,0),e=e[t];this.model=e.MLModel,this.setState({selectedModelIndex:t,isModelLoaded:!0,modelType:e.modelType,modelName:e.name,loadTMModelModalVisible:!1,newModelConfirmationModalVisible:!1,newModelModelType:null})}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.MODEL&&(n=(t=this.props.vm.editingTarget.sprite).models[this.state.selectedModelIndex],this.props.vm.reorderModel(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedModelIndex:t.models.indexOf(n)}))}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"render",value:function(){var e,t,n=this,A=this.props,o=(A.dispatchUpdateRestore,A.intl),a=A.isRtl,A=A.vm;return A.editingTarget?(A=(A=A.editingTarget.sprite).models?A.models.map(function(e){return{url:("audio"===e.modelType?zu:Wu).a,name:e.name,details:e.modelType,dragPayload:e}}):[],e=Object(z.d)({addNewModel:{id:"gui.martyMachineTab.addNew",defaultMessage:"Add New Model"},newImageModelMarty:{id:"gui.martyMachineTab.newImageModelMarty",defaultMessage:"New Image Model (Marty)"},newImageModelDevice:{id:"gui.martyMachineTab.newImageModelDevice",defaultMessage:"New Image Model (Device)"},newAudioModel:{id:"gui.martyMachineTab.newAudioModel",defaultMessage:"New Audio Model"},loadTMModel:{id:"gui.martyMachineTab.loadTMModel",defaultMessage:"Load TM Model"},tutorials:{id:"gui.martyMachineTab.tutorials",defaultMessage:"Tutorials"}}),t=j.a.createElement(rg,{key:this.state.modelName+this.state.modelType,modelIndex:this.state.selectedModelIndex,model:this.model,setModelName:function(e){return n.setModelName(e)},onNewModel:this.handleNewModel,modelType:this.state.modelType,modelName:this.state.modelName,isModelLoaded:this.state.isModelLoaded}),j.a.createElement(j.a.Fragment,null,this.state.loadTMModelModalVisible&&j.a.createElement(cl.a,null,j.a.createElement(wg,{onModelLoaded:this.onTMModelLoaded,onBack:function(){return n.setState({loadTMModelModalVisible:!1})}})),this.state.newModelConfirmationModalVisible&&j.a.createElement(cl.a,null,j.a.createElement(kg,{onBack:function(){return n.setState({newModelConfirmationModalVisible:!1})},onProceed:function(){n.setState({newModelConfirmationModalVisible:!1}),n.onNewModelClick(n.state.newModelModelType)}})),j.a.createElement(Mo,{buttons:[{title:o.formatMessage(e.addNewModel),img:Vu.a,onClick:function(e){return e.stopPropagation()}},{title:o.formatMessage(e.newImageModelDevice),img:Ju.a,onClick:function(){return n.confirmDialogForNewModel("image-device")}},{title:o.formatMessage(e.newAudioModel),img:ju.a,onClick:function(){return n.confirmDialogForNewModel("audio")}},{title:o.formatMessage(e.loadTMModel),img:Wo.a,onClick:function(){return n.setState({loadTMModelModalVisible:!0})}},{title:o.formatMessage(e.tutorials),img:Ku.a,onClick:function(){return n.props.showTutorialCard()}}],dragType:E.a.MODEL,isRtl:a,items:A,selectedItemIndex:this.state.selectedModelIndex,onDeleteClick:this.handleDeleteModel,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateModel,onExportClick:this.handleExportModel,onItemClick:this.handleSelectModel},t))):null}}])&&vg(t.prototype,e),n&&vg(t,n),a}(j.a.Component),Ug=(t.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,soundLibraryVisible:n.a.bool,soundRecorderVisible:n.a.bool,sprites:n.a.shape({id:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a).isRequired},Object(O.a)("Machine Learning Tab")(Object(z.e)(Object(A.b)(function(e){return{scratchGui:e.scratchGui,editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,soundLibraryVisible:e.scratchGui.modals.soundLibrary,soundRecorderVisible:e.scratchGui.modals.soundRecorder}},function(t){return{dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},showTutorialCard:function(){t(Object(rt.a)("mm-create-model"))}}})(t)))),d=e(46),f=e.n(d),Gg=e(40),g=e(77),Lg=e.n(g);function Pg(e){return(Pg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hg(e){return function(e){if(Array.isArray(e))return jg(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?jg(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jg(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function zg(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Jg(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){zg(A,t,n,o,a,"next",e)}function a(e){zg(A,t,n,o,a,"throw",e)}o(void 0)})}}function Wg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Vg(e,t){return(Vg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=qg(A);return e=o?(e=qg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Pg(t)&&"function"!=typeof t?Xg(n):t}}function Xg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qg(e){return(qg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=s;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vg(t,e);var n,A,o,a,i,r=Kg(s);function s(e){if(this instanceof s)return(e=r.call(this,e)).state={saveFileName:"",fileNames:[],isValidFileName:!1},e.setSaveFileName=e.setSaveFileName.bind(Xg(e)),e.saveFile=e.saveFile.bind(Xg(e)),e.loadFile=e.loadFile.bind(Xg(e)),e.deleteFile=e.deleteFile.bind(Xg(e)),e.getCurrentFiles(),e;throw new TypeError("Cannot call a class as a function")}return t=s,(e=[{key:"getCurrentFiles",value:(i=Jg(function*(){var e=(yield mv2Interface.listSavedScratchFiles()).fileNames.map(function(e){return decodeURIComponent(e)}).filter(function(e){return"__autosave"!==e});this.setState({fileNames:e})}),function(){return i.apply(this,arguments)})},{key:"setSaveFileName",value:function(e){var t=0<e.length&&e.length<30;this.setState({saveFileName:e,isValidFileName:t})}},{key:"saveFile",value:(a=Jg(function*(t){var e=this.state.fileNames,n=encodeURIComponent(t);if(!e.includes(n)||window.confirm('Are you sure you want to overwrite "'.concat(t,'"?'))){var A=yield this.props.saveProjectSb3(),A=yield It(A);try{yield mv2Interface.saveScratchFile(n,A),alert("Project Saved."),this.props.onProjectTelemetryEvent&&(o=He(this.props.vm,this.props.projectTitle,this.props.locale),this.props.onProjectTelemetryEvent("projectDidSave",o));var o,a=[t].concat(Hg(e.filter(function(e){return e!==t})));this.setState({fileNames:a})}catch(e){alert("Failed to save project: ".concat(e.message))}}}),function(e){return a.apply(this,arguments)})},{key:"loadFile",value:(o=Jg(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;try{var A=yield mv2Interface.loadScratchFile(encodeURIComponent(e)),o=yield(yield fetch(A.contents)).arrayBuffer();n.loadProject(o),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}}),function(e){return o.apply(this,arguments)})},{key:"deleteFile",value:(A=Jg(function*(t){var e=this.state.fileNames;if(!(!(1<arguments.length&&void 0!==arguments[1])||arguments[1])||window.confirm('Are you sure you want to delete "'.concat(t,'"?')))try{yield mv2Interface.deleteScratchFile(encodeURIComponent(t));var n=e.filter(function(e){return e!==t});this.setState({fileNames:n})}catch(e){alert("Failed to delete project: ".concat(e.message))}}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var n=this,e=this.state,t=e.saveFileName,A=e.isValidFileName,e=e.fileNames;return j.a.createElement("div",{className:Lg.a.mainContent},j.a.createElement("div",{className:Lg.a.block},j.a.createElement("div",{className:Lg.a.saveHeaderContainer},j.a.createElement("div",{className:Lg.a.newSaveTitleContainer},"Create a new save file:"),j.a.createElement(Sa,{placeholder:"Type what you would like to name your new save file here...",style:{flex:1,marginLeft:10},type:"text",value:t,onChange:function(e){return n.setSaveFileName(e.currentTarget.value)}}),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:A?1:.2},className:Lg.a.button,disabled:!A,onClick:function(){return n.saveFile(t)}},"Save"))),0<e.length&&j.a.createElement("div",{className:[Lg.a.block,Lg.a["block-100"]].join(" ")},j.a.createElement("div",{className:Lg.a.savedFilesContainer},j.a.createElement("div",{className:Lg.a.savedFilesTitle},"Your Saved Files:"),j.a.createElement("div",{className:Lg.a.saveList},e.sort().map(function(e,t){return j.a.createElement("div",{key:e,className:Lg.a.row},j.a.createElement("div",{style:{flex:2}},e),j.a.createElement("div",{style:{display:"flex",flexDirection:"row"}},j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.deleteFile(e)}},"Delete"),j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.loadFile(e)}},"Load"),j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.saveFile(e)}},"Save")))})))))}}])&&Wg(t.prototype,e),n&&Wg(t,n),s}(j.a.Component),Zg=(a.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(a)))),t=e(70),$g=e.n(t),d=e(778),ed=e.n(d);function td(e){return(td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nd(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Ad(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?nd(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):nd(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function od(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function ad(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){od(A,t,n,o,a,"next",e)}function a(e){od(A,t,n,o,a,"throw",e)}o(void 0)})}}function id(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rd(e,t){return(rd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ud(A);return e=o?(e=ud(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==td(t)&&"function"!=typeof t?ld(n):t}}function ld(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ud(e){return(ud=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rd(t,e);var n,A,o,a=sd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={loadFileName:"",isValidFileName:!1,isLoading:!1,savedProjectId:"",copyToCPText:"Copy to Clipboard"},e.setloadFileName=e.setloadFileName.bind(ld(e)),e.saveFile=e.saveFile.bind(ld(e)),e.loadFile=e.loadFile.bind(ld(e)),e.copyTextToClipboard=e.copyTextToClipboard.bind(ld(e)),e.fallbackCopyTextToClipboard=e.fallbackCopyTextToClipboard.bind(ld(e)),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"setloadFileName",value:function(e){var t=0<e.length&&e.length<130;this.setState({loadFileName:e,isValidFileName:t})}},{key:"saveFile",value:(o=ad(function*(){this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!0})});var e=yield this.props.saveProjectSb3(),e=yield It(e);try{var t=yield mv2Interface.saveCloudScratchFile(e);this.setState({savedProjectId:t}),alert("Successfully saved project!")}catch(e){alert("Failed to save project: ".concat(e.message))}this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!1})})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=ad(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;var A=e;this.validURL(e)&&(e.includes("http")||(e="https://"+e),A=new URL(e).searchParams.get("p")||""),this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!0})});try{var o=yield mv2Interface.loadCloudScratchFile(A);if(!o)throw new Error("Couldn't find project with id: "+A);var a=yield(yield fetch(o)).arrayBuffer();n.loadProject(a),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!1})})}),function(e){return A.apply(this,arguments)})},{key:"fallbackCopyTextToClipboard",value:function(e){var t=this,n=document.createElement("textarea");n.value=e,n.style.top="0",n.style.left="0",n.style.position="fixed",document.body.appendChild(n),n.focus(),n.select();try{var A=document.execCommand("copy")?"successful":"unsuccessful";setTimeout(function(){t.setState({copyToCPText:"Copy to Clipboard"})},3e3),this.setState({copyToCPText:"Copied!"}),console.log("Fallback: Copying text command was "+A)}catch(e){console.error("Fallback: Oops, unable to copy",e)}document.body.removeChild(n)}},{key:"copyTextToClipboard",value:function(e){var t=this;navigator.clipboard?navigator.clipboard.writeText(e).then(function(){setTimeout(function(){t.setState({copyToCPText:"Copy to Clipboard"})},3e3),t.setState({copyToCPText:"Copied!"}),console.log("Async: Copying to clipboard was successful!")},function(e){console.error("Async: Could not copy text: ",e)}):this.fallbackCopyTextToClipboard(e)}},{key:"validURL",value:function(e){return!!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i").test(e)}},{key:"render",value:function(){var t=this,e=this.state,n=e.loadFileName,e=e.isValidFileName;return j.a.createElement("div",{className:$g.a.mainContent},j.a.createElement("div",{className:$g.a.block},j.a.createElement("div",{className:$g.a.loadProjectContainer},j.a.createElement("div",{className:$g.a.loadProjectTitle},"Load a Cloud save:"),j.a.createElement(Sa,{style:{flex:1,marginLeft:10},type:"text",placeholder:"Type the name of the cloud save file you would like to load here...",value:n,onChange:function(e){return t.setloadFileName(e.currentTarget.value)}}),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:e?1:.2},className:$g.a.button,disabled:!e,onClick:function(){return t.loadFile(n)}},"Load")),j.a.createElement("div",{className:$g.a.loadProjectContainer,style:{marginTop:"1rem"}},j.a.createElement("div",{className:$g.a.loadProjectTitle},"Create a new Cloud Save file:"),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:this.state.isLoading?.2:1},disabled:this.state.isLoading,className:$g.a.button,onClick:function(){return t.saveFile()}},"Save"),j.a.createElement(Sa,{style:{flex:1,marginLeft:10},type:"text",placeholder:"Your autogenerated Save File Code is:",value:this.state.savedProjectId,editable:"false"}),j.a.createElement(Gg.a,{iconSrc:ed.a,style:{marginLeft:10,marginRight:5,opacity:this.state.savedProjectId?1:.2},className:$g.a.button,disabled:!this.state.savedProjectId,onClick:function(){return t.copyTextToClipboard(t.state.savedProjectId)}},this.state.copyToCPText))),this.state.isLoading&&j.a.createElement("div",{className:$g.a.ldsSpinner},j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null)),j.a.createElement("div",{className:[$g.a.block,$g.a["block-100"]].join(" "),style:{marginTop:"2rem"}},j.a.createElement("div",{className:$g.a.tipsContainer},j.a.createElement("div",{className:$g.a.tipsTitle},"Tips for Cloud Saving:"),j.a.createElement("ul",{className:$g.a.tipsList},j.a.createElement("li",null,"Make sure to write down or record the auto-generated code that is provided each time you save a new file. You will need this to load it in the future."),j.a.createElement("li",null,"Although the Marty the Robot app will continue to auto-save files to the local space storage, there is no auto-save function for cloud save files. Please manually re-save your file each time, if you wish them to be available for download over cloud storage."),j.a.createElement("li",null,"Each time you re-save a file to cloud storage, you will be provided with a NEW SAVE FILE CODE. Please take a note of this.")))))}}])&&id(t.prototype,e),n&&id(t,n),i}(j.a.Component),cd=(g.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(g)))),a=e(105),gd=e.n(a);function dd(e){return(dd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hd(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function pd(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?hd(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):hd(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function md(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Bd(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){md(A,t,n,o,a,"next",e)}function a(e){md(A,t,n,o,a,"throw",e)}o(void 0)})}}function fd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ed(e,t){return(Ed=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Id(A);return e=o?(e=Id(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==dd(t)&&"function"!=typeof t?Cd(n):t}}function Cd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Id(e){return(Id=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ed(t,e);var n,A,o,a=wd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={isLoading:!1},e.saveFile=e.saveFile.bind(Cd(e)),e.loadFile=e.loadFile.bind(Cd(e)),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"saveFile",value:(o=Bd(function*(){this.setState(function(e){return pd(pd({},e),{},{isLoading:!0})});var e=yield this.props.saveProjectSb3(),e=yield It(e);try{var t="sb-".concat(function(e){for(var t=0<arguments.length&&void 0!==e?e:10,n="",A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o=A.length,a=0;a<t;a++)n+=A.charAt(Math.floor(Math.random()*o));return n}(5),".sb3");yield mv2Interface.saveScratchFileOnDevice(t,e),mv2Interface.send_REST("notification/info-message/File ".concat(t," Saved!"))}catch(e){mv2Interface.send_REST("notification/error-message/Couldn't save file."),console.log("Couldn't save file",e)}this.setState(function(e){return pd(pd({},e),{},{isLoading:!1})})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=Bd(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;this.setState(function(e){return pd(pd({},e),{},{isLoading:!0})});try{var A,o,a=e.target.value,i=e.target.files[0];if(!a)throw new Error("Couldn't find project with id: "+a);o=!!window.ReactNativeWebView?(A=yield i.text(),yield(yield fetch(A)).arrayBuffer()):yield i.arrayBuffer(),n.loadProject(o),mv2Interface.send_REST("notification/info-message/Project loaded!"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){mv2Interface.send_REST("notification/error-message/Failed to load project: ".concat(e.message))}this.setState(function(e){return pd(pd({},e),{},{isLoading:!1})})}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var e=this;return j.a.createElement("div",{className:gd.a.mainContent},j.a.createElement("div",{className:gd.a.block},j.a.createElement("div",{className:gd.a.saveProjectContainer},j.a.createElement("div",{className:gd.a.button,onClick:function(){return e.saveFile()}},j.a.createElement("p",{className:gd.a.buttonTitle},"Save to file"))),j.a.createElement("div",{className:gd.a.loadProjectContainer},j.a.createElement("div",{className:gd.a.button},j.a.createElement("input",{type:"file",id:"file-upload",name:"file-upload",className:gd.a.loadInput,onChange:this.loadFile}),j.a.createElement("label",{htmlFor:"file-upload",className:gd.a.buttonTitle},"Load from file")))),this.state.isLoading&&j.a.createElement("div",{className:gd.a.ldsSpinner},j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null)))}}])&&fd(t.prototype,e),n&&fd(t,n),i}(j.a.Component),yd=(t.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(t)))),d=e(113),bd=e.n(d);function Md(e){return(Md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Qd(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Td(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){Qd(A,t,n,o,a,"next",e)}function a(e){Qd(A,t,n,o,a,"throw",e)}o(void 0)})}}function Sd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kd(e,t){return(kd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Nd(A);return e=o?(e=Nd(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Md(t)&&"function"!=typeof t?vd(n):t}}function vd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e){return(Nd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kd(t,e);var n,A,o,a=Dd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={fileNames:[]},e.loadFile=e.loadFile.bind(vd(e)),e.getDemoNames(),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"getDemoNames",value:(o=Td(function*(){var e=yield mv2Interface.loadCloudDemoNames();this.setState({fileNames:e})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=Td(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;try{var A=yield mv2Interface.loadCloudScratchFile(encodeURIComponent(e),"demo-projects"),o=yield(yield fetch(A)).arrayBuffer();n.loadProject(o),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var n=this,e=this.state.fileNames;return j.a.createElement("div",{className:bd.a.mainContent},j.a.createElement("div",{className:bd.a.block},0<e.length&&j.a.createElement("div",{className:[bd.a.block,bd.a["block-100"]].join(" ")},j.a.createElement("div",{className:bd.a.savedFilesContainer},j.a.createElement("div",{className:bd.a.savedFilesTitle},"Demo projects:"),j.a.createElement("div",{className:bd.a.saveList},e.sort().map(function(e,t){return j.a.createElement("div",{key:e,className:bd.a.row},j.a.createElement("div",{style:{flex:2}},e),j.a.createElement("div",{style:{display:"flex",flexDirection:"row"}},j.a.createElement(Gg.a,{className:bd.a.button,style:{marginLeft:10},onClick:function(){return n.loadFile(e)}},"Load")))}))))))}}])&&Sd(t.prototype,e),n&&Sd(t,n),i}(j.a.Component),Od=(g.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(g))));function Fd(e){return(Fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yd(e,t){return(Yd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xd(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=_d(n),t=(e=A?(e=_d(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Fd(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function _d(e){return(_d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ud(e){return j.a.createElement(Hd,e)}function Gd(e,t){var n={heightDefault:V.e.standardStageHeight,widthDefault:V.e.standardStageWidth,height:0,width:0,scale:0};return t?(n.height=window.innerHeight-Wd.menuHeightAdjustment-Wd.fullScreenSpacingBorderAdjustment,n.width=n.height+n.height/3,n.width>window.innerWidth&&(n.width=window.innerWidth,n.height=.75*n.width),n.scale=n.width/n.widthDefault):(n.scale=V.b[e],n.height=n.scale*n.heightDefault,n.width=n.scale*n.widthDefault),n.height=Math.round(n.height),n.width=Math.round(n.width),n}function Ld(e){var t=e.width,n=e.height,t=t/e.widthDefault,n=n/e.heightDefault;if(1!=t||1!=n)return{transform:"scale(".concat(t,",").concat(n,")")}}function Pd(e){var t=e.isFullScreen,n=e.isPlayerOnly,A=e.onKeyPress,o=e.onSetStageFull,a=e.onSetStageUnFull,i=e.showBranding,r=e.vm;return t?(t=Gd(null,!0),i=i?j.a.createElement("div",{className:qd.a.embedScratchLogo},j.a.createElement("a",{href:"https://scratch.mit.edu",rel:"noopener noreferrer",target:"_blank"},j.a.createElement("img",{alt:"Scratch",src:Xd.a}))):j.a.createElement(Gg.a,{className:qd.a.stageButton,onClick:a,onKeyPress:A},j.a.createElement("img",{alt:e.intl.formatMessage(Zd.unFullStageSizeMessage),className:qd.a.stageButtonIcon,draggable:!1,src:Kd.a,title:e.intl.formatMessage(Zd.fullscreenControl)})),j.a.createElement(W.a,{className:qd.a.stageHeaderWrapperOverlay},j.a.createElement(W.a,{className:qd.a.stageMenuWrapper,style:{width:t.width}},j.a.createElement(Jd.a,{vm:r}),i))):(a=n?[]:j.a.createElement("div",{className:qd.a.stageSizeToggleGroup}),j.a.createElement(W.a,{className:qd.a.stageHeaderWrapper},j.a.createElement(W.a,{className:qd.a.stageMenuWrapper},j.a.createElement("div",{className:qd.a.stageSizeRow},a,j.a.createElement("div",null,j.a.createElement(Gg.a,{className:qd.a.stageButton,onClick:o},j.a.createElement("img",{alt:e.intl.formatMessage(Zd.fullStageSizeMessage),className:qd.a.stageButtonIcon,draggable:!1,src:Vd.a,title:e.intl.formatMessage(Zd.fullscreenControl)})))))))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yd(t,e);var n,A=xd(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={currentTab:"local-storage"},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){var e,t=this,n=this.state.currentTab;return"local-storage"===n?e=j.a.createElement(Zg,this.props):"cloud-storage"===n?e=j.a.createElement(cd,this.props):"portable-file-storage"===n?e=j.a.createElement(yd,this.props):"demo-projects"===n&&(e=j.a.createElement(Od,this.props)),j.a.createElement("div",{className:f.a.mainContainer},j.a.createElement("div",{className:f.a.header},j.a.createElement("div",{className:"local-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"local-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"In the App"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Local Storage")),j.a.createElement("div",{className:"cloud-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"cloud-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"In the Cloud"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Cloud Storage")),j.a.createElement("div",{className:"portable-file-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"portable-file-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"Portable"),j.a.createElement("p",{className:f.a.buttonSubtitle},"File Storage")),j.a.createElement("div",{className:"demo-projects"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"demo-projects"})}},j.a.createElement("p",{className:f.a.buttonTitle},"Demo Projects"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Load demo projects"))),j.a.createElement("div",{className:f.a.content},e))}}])&&Rd(t.prototype,e),n&&Rd(t,n),o}(j.a.Component),Hd=(a.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save/Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(a)))),jd=e(123),zd=e(66),Jd=e(144),Wd={fullScreenSpacingBorderAdjustment:12,menuHeightAdjustment:44},t=e(782),Vd=e.n(t),d=e(783),Kd=e.n(d),g=e(307),Xd=e.n(g),a=e(95),qd=e.n(a),Zd=Object(z.d)({largeStageSizeMessage:{id:"gui.stageHeader.stageSizeLarge",defaultMessage:"Switch to large stage"},smallStageSizeMessage:{id:"gui.stageHeader.stageSizeSmall",defaultMessage:"Switch to small stage"},fullStageSizeMessage:{id:"gui.stageHeader.stageSizeFull",defaultMessage:"Enter full screen mode"},unFullStageSizeMessage:{id:"gui.stageHeader.stageSizeUnFull",defaultMessage:"Exit full screen mode"},fullscreenControl:{id:"gui.stageHeader.fullscreenControl",defaultMessage:"Full Screen Control"}}),$d=(Pd.propTypes={intl:z.f,isFullScreen:n.a.bool.isRequired,isPlayerOnly:n.a.bool.isRequired,onKeyPress:n.a.func.isRequired,onSetStageFull:n.a.func.isRequired,onSetStageLarge:n.a.func.isRequired,onSetStageSmall:n.a.func.isRequired,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool.isRequired,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Pd.defaultProps={stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(Pd)));function eh(e){return(eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function th(){return(th=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function nh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ah(e,t){return(Ah=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ih(A);return e=o?(e=ih(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==eh(t)&&"function"!=typeof t?ah(n):t}}function ah(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ih(e){return(ih=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ah(t,e);var n,A=oh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ah(e),["handleKeyPress"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){"Escape"===e.key&&this.props.isFullScreen&&this.props.onSetStageUnFull(!1)}},{key:"render",value:function(){var e=th({},this.props);return j.a.createElement($d,th({},e,{onKeyPress:this.handleKeyPress}))}}])&&nh(t.prototype,e),n&&nh(t,n),o}(j.a.Component),rh=(t.propTypes={isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize,showBranding:e.scratchGui.mode.showBranding,isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly}},function(e){return{onSetStageLarge:function(){return e(Object(jd.b)(V.d.large))},onSetStageSmall:function(){return e(Object(jd.b)(V.d.small))},onSetStageFull:function(){return e(Object(zd.c)(!0))},onSetStageUnFull:function(){return e(Object(zd.c)(!1))}}})(t)),sh=[];function lh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?uh(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uh(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function ch(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var gh=function(){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");this.mirror=!0,this._frameCacheTimeout=16,this._video=null,this._track=null,this._workspace=[]}var e,t,n;return e=g,n=[{key:"FORMAT_IMAGE_DATA",get:function(){return"image-data"}},{key:"FORMAT_CANVAS",get:function(){return"canvas"}},{key:"DIMENSIONS",get:function(){return[480,360]}},{key:"ORDER",get:function(){return 1}}],(t=[{key:"video",get:function(){return this._video}},{key:"enableVideo",value:function(){return this.enabled=!0,this._setupVideo()}},{key:"disableVideo",value:function(){var t=this;this.enabled=!1,this._singleSetup&&this._singleSetup.then(this._teardown.bind(this)).catch(function(e){return t.onError(e)})}},{key:"_teardown",value:function(){var e;!1===this.enabled&&(sh.pop(),e=!(0<sh.length),this._singleSetup=null,this._video=null,this._track&&e&&this._track.stop(),this._track=null)}},{key:"getFrame",value:function(e){var t,n,A,o,a,i,r,s,l=e.dimensions,l=void 0===l?g.DIMENSIONS:l,u=e.mirror,u=void 0===u?this.mirror:u,c=e.format,c=void 0===c?g.FORMAT_IMAGE_DATA:c,e=e.cacheTimeout,e=void 0===e?this._frameCacheTimeout:e;return this.videoReady?(t=(n=lh(l,2))[0],n=n[1],l=this._getWorkspace({dimensions:l,mirror:Boolean(u)}),A=(o=this._video).videoWidth,o=o.videoHeight,a=l.canvas,i=l.context,s=l.lastUpdate,r=l.cacheData,s+e<(s=Date.now())&&(u&&(i.scale(-1,1),i.translate(-1*t,0)),i.drawImage(this._video,0,0,A,o,0,0,t,n),i.setTransform(1,0,0,1,0,0),l.lastUpdate=s),r[c]||(r[c]={lastUpdate:0}),(u=r[c]).lastUpdate+e<s&&(c===g.FORMAT_IMAGE_DATA?u.lastData=i.getImageData(0,0,t,n):c===g.FORMAT_CANVAS?(u.lastUpdate=1/0,u.lastData=a):(re.a.error("video io error - unimplemented format ".concat(c)),u.lastUpdate=1/0,u.lastData=null),u.lastUpdate=Math.max(l.lastUpdate,u.lastUpdate)),u.lastData):null}},{key:"onError",value:function(e){re.a.error("Unhandled video io device error",e)}},{key:"_setupVideo",value:function(){var e,t,n=this;return this._singleSetup||(this._singleSetup=(e={width:{min:480,ideal:640},height:{min:360,ideal:480}},0===sh.length?(t=ms()({audio:!1,video:e}),sh.push(t)):0<sh.length&&(t=sh[0],sh.push(!0)),t.then(function(t){n._video=document.createElement("video");try{n._video.srcObject=t}catch(e){n._video.src=window.URL.createObjectURL(t)}return n._video.play(),n._track=t.getTracks()[0],n}).catch(function(e){n._singleSetup=null,n.onError(e)}))),this._singleSetup}},{key:"videoReady",get:function(){var e,t;return!!this.enabled&&!!this._video&&!!this._track&&(e=(t=this._video).videoWidth,t=t.videoHeight,"number"==typeof e)&&"number"==typeof t&&0!==e&&0!==t}},{key:"_getWorkspace",value:function(e){var t=e.dimensions,n=e.mirror,e=this._workspace.find(function(e){return e.dimensions.join("-")===t.join("-")&&e.mirror===n});return e||((e={dimensions:t,mirror:n,canvas:document.createElement("canvas"),lastUpdate:0,cacheData:{}}).canvas.width=t[0],e.canvas.height=t[1],e.context=e.canvas.getContext("2d"),this._workspace.push(e)),e}}])&&ch(e.prototype,t),n&&ch(e,n),g}(),d=e(784),dh=e.n(d),g=e(186),a=e.n(g);function hh(e){return(hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ph(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function mh(e,t){return(mh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Eh(A);return e=o?(e=Eh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==hh(t)&&"function"!=typeof t?fh(n):t}}function fh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Eh(e){return(Eh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&mh(t,e);var n,A=Bh(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).setContainer=e.setContainer.bind(fh(e)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.container.appendChild(this.props.domElement)}},{key:"componentWillUnmount",value:function(){this.container.removeChild(this.props.domElement)}},{key:"setContainer",value:function(e){this.container=e}},{key:"render",value:function(){return Object.assign(this.props.domElement,X()(this.props,["domElement","children","style"])),this.props.style&&(this.props.domElement.style.cssText=dh.a.string(this.props.style)),j.a.createElement("div",{ref:this.setContainer})}}])&&ph(t.prototype,e),n&&ph(t,n),o}(j.a.Component),wh=(t.propTypes={domElement:n.a.instanceOf(Element).isRequired,style:a.a},t),d=e(785),Ch=e.n(d);function Ih(e){return(Ih="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var yh=["colorInfo"];function bh(){return(bh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Mh(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Qh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Th(e,t){return(Th=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Sh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Dh(A);return e=o?(e=Dh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ih(t)&&"function"!=typeof t?kh(n):t}}function kh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dh(e){return(Dh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Th(t,e);var n,A=Sh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(kh(e),["setCanvas"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(){this.draw()}},{key:"draw",value:function(){var e=this.canvas.getContext("2d"),t=this.props.colorInfo,n=t.color,A=t.data,o=t.width,t=t.height,a=(this.canvas.width=3*o,this.canvas.height=3*t,document.createElement("canvas")),i=(a.width=o,a.height=t,a.getContext("2d")),r=i.createImageData(o,t);r.data.set(A),i.putImageData(r,0,0),e.save(),e.scale(3,3),e.drawImage(a,0,0,o,t),e.lineWidth=1/3,e.strokeStyle="black",e.fillStyle="rgba(".concat(n.r,", ").concat(n.g,", ").concat(n.b,", ").concat(n.a,")"),e.beginPath(),e.rect(o/2-1,t/2-1,2,2),e.fill(),e.stroke(),e.strokeStyle="rgba(".concat(n.r,", ").concat(n.g,", ").concat(n.b,", ").concat(n.a,")"),e.lineWidth=5,e.beginPath(),e.moveTo(o,t/2),e.arc(o/2,t/2,o/2,0,2*Math.PI),e.stroke(),e.restore()}},{key:"setCanvas",value:function(e){this.canvas=e}},{key:"render",value:function(){var e=this.props,t=e.colorInfo,e=Mh(e,yh);return j.a.createElement(W.a,bh({},e,{className:Ch.a.colorPicker,componentRef:this.setCanvas,element:"canvas",height:t.height,style:{top:t.y-3*t.height/2,left:t.x-3*t.width/2,width:3*t.width,height:3*t.height},width:t.width}))}}])&&Qh(t.prototype,e),n&&Qh(t,n),o}(j.a.Component),vh=(g.propTypes={colorInfo:n.a.shape({color:n.a.shape({r:n.a.number,g:n.a.number,b:n.a.number,a:n.a.number}),data:n.a.instanceOf(Uint8Array),width:n.a.number,height:n.a.number,x:n.a.number,y:n.a.number})},g);function Nh(e){return(Nh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?Fh(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fh(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function Rh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yh(e,t){return(Yh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Uh(A);return e=o?(e=Uh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nh(t)&&"function"!=typeof t?_h(n):t}}function _h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uh(e){return(Uh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yh(t,e);var n,A=xh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(_h(e),["getPageCoords"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"getPageCoords",value:function(e,t){var n=this.props,A=n.stageWidth,o=n.stageHeight,n=n.vm.renderer.getNativeSize();return[A/n[0]*e+A/2,-(o/n[1])*t+o/2]}},{key:"render",value:function(){var e,t,n=this.props,A=n.className,o=n.highlightedTargetId,a=n.highlightedTargetTime,n=n.vm;return o&&n&&n.renderer&&n.runtime.getTargetById(o)?(o=n.runtime.getTargetById(o),n=n.renderer.getBounds(o.drawableID),e=(o=Oh(this.getPageCoords(n.left,n.top),2))[0],o=o[1],t=(n=Oh(this.getPageCoords(n.right,n.bottom),2))[0],n=n[1],j.a.createElement("div",{className:A,key:a,style:{position:"absolute",top:"".concat(o-2,"px"),left:"".concat(e-2,"px"),width:"".concat(t-e+4,"px"),height:"".concat(n-o+4,"px")}})):null}}])&&Rh(t.prototype,e),n&&Rh(t,n),o}(j.a.Component),Gh=(a.propTypes={className:n.a.string,highlightedTargetId:n.a.string,highlightedTargetTime:n.a.number,stageHeight:n.a.number,stageWidth:n.a.number,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{highlightedTargetTime:e.scratchGui.targets.highlightedTargetTime,highlightedTargetId:e.scratchGui.targets.highlightedTargetId,vm:e.scratchGui.vm}},function(){return{}})(a)),t=e(306),Lh=e.n(t);function Ph(e){return(Ph="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function jh(e,t){return(jh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Wh(A);return e=o?(e=Wh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ph(t)&&"function"!=typeof t?Jh(n):t}}function Jh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wh(e){return(Wh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vh(e){var t=e.answer,n=e.className,A=e.question,o=e.onChange,a=e.onClick,e=e.onKeyPress;return j.a.createElement("div",{className:n},j.a.createElement("div",{className:Xh.a.questionContainer},A?j.a.createElement("div",{className:Xh.a.questionLabel},A):null,j.a.createElement("div",{className:Xh.a.questionInput},j.a.createElement(Sa,{autoFocus:!0,value:t,onChange:o,onKeyPress:e}),j.a.createElement("button",{className:Xh.a.questionSubmitButton,onClick:a},j.a.createElement("img",{className:Xh.a.questionSubmitButtonIcon,draggable:!1,src:qh.a})))))}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jh(t,e);var n,A=zh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Jh(e),["handleClick"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleClick",value:function(){this.props.vm.start(),this.props.vm.greenFlag()}},{key:"render",value:function(){return j.a.createElement(W.a,{className:this.props.wrapperClass,onClick:this.handleClick},j.a.createElement("div",{className:this.props.className},j.a.createElement("img",{draggable:!1,src:Lh.a})))}}])&&Hh(t.prototype,e),n&&Hh(t,n),o}(j.a.Component),Kh=(d.propTypes={className:n.a.string,vm:n.a.instanceOf(o.a),wrapperClass:n.a.string},Object(A.b)(function(e){return{vm:e.scratchGui.vm}},function(){return{}})(d)),g=e(203),Xh=e.n(g),a=e(786),qh=e.n(a),Zh=(Vh.propTypes={answer:n.a.string,className:n.a.string,onChange:n.a.func.isRequired,onClick:n.a.func.isRequired,onKeyPress:n.a.func.isRequired,question:n.a.string},Vh);function $h(e){return($h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ep(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tp(e,t){return(tp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function np(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=op(A);return e=o?(e=op(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$h(t)&&"function"!=typeof t?Ap(n):t}}function Ap(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function op(e){return(op=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ap(e){return j.a.createElement("div",{className:e.className,style:Ld(e.stageSize)},j.a.createElement("img",{className:rp.a.micImg,src:sp.a}))}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tp(t,e);var n,A=np(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ap(e),["handleChange","handleKeyPress","handleSubmit"]),e.state={answer:""},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleChange",value:function(e){this.setState({answer:e.target.value})}},{key:"handleKeyPress",value:function(e){"Enter"===e.key&&this.handleSubmit()}},{key:"handleSubmit",value:function(){this.props.onQuestionAnswered(this.state.answer)}},{key:"render",value:function(){return j.a.createElement(Zh,{answer:this.state.answer,question:this.props.question,onChange:this.handleChange,onClick:this.handleSubmit,onKeyPress:this.handleKeyPress})}}])&&ep(t.prototype,e),n&&ep(t,n),o}(j.a.Component),ip=(t.propTypes={onQuestionAnswered:n.a.func.isRequired,question:n.a.string},t),d=e(787),rp=e.n(d),g=e(788),sp=e.n(g),lp=(ap.propTypes={className:n.a.string,stageSize:n.a.shape({width:n.a.number,height:n.a.number,widthDefault:n.a.number,heightDefault:n.a.number}).isRequired},ap),a=e(71),up=e.n(a),cp=["canvas","dragRef","isColorPicking","isFullScreen","isStarted","colorInfo","micIndicator","question","stageSize","onDeactivateColorPicker","onDoubleClick","onQuestionAnswered"];function gp(){return(gp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function dp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hp(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function pp(e){var t,n=e.canvas,A=e.dragRef,o=e.isColorPicking,a=e.isFullScreen,i=e.isStarted,r=e.colorInfo,s=e.micIndicator,l=e.question,u=e.stageSize,c=e.onDeactivateColorPicker,g=e.onDoubleClick,d=e.onQuestionAnswered,e=hp(e,cp),u=Gd(u,a);return j.a.createElement("div",null,j.a.createElement(W.a,{className:J()((dp(t={},up.a.stageWrapper,!a),dp(t,up.a.stageWrapperOverlay,a),dp(t,up.a.withColorPicker,!a&&o),t)),style:{minHeight:u.height,minWidth:u.width},onDoubleClick:g},j.a.createElement(W.a,{className:J()(up.a.stage,dp({},up.a.stageOverlayContent,a)),style:{height:u.height,width:u.width}},j.a.createElement(wh,gp({domElement:n,style:{height:u.height,width:u.width}},e))),j.a.createElement(W.a,{className:up.a.frameWrapper},j.a.createElement(Gh,{className:up.a.frame,stageHeight:u.height,stageWidth:u.width})),i?null:j.a.createElement(Kh,{className:up.a.greenFlagOverlay,wrapperClass:up.a.greenFlagOverlayWrapper}),o&&r?j.a.createElement(W.a,{className:up.a.colorPickerWrapper},j.a.createElement(vh,{colorInfo:r})):null,j.a.createElement("div",{className:up.a.stageBottomWrapper,style:{width:u.width,height:u.height,left:"50%",marginLeft:-.5*u.width}},s?j.a.createElement(lp,{className:up.a.micIndicator,stageSize:u}):null,null===l?null:j.a.createElement("div",{className:up.a.questionWrapper,style:{width:u.width}},j.a.createElement(ip,{question:l,onQuestionAnswered:d}))),j.a.createElement("canvas",{className:up.a.draggingSprite,height:0,ref:A,width:0})),o?j.a.createElement(W.a,{className:up.a.colorPickerBackground,onClick:c}):null)}pp.propTypes={canvas:n.a.instanceOf(Element).isRequired,colorInfo:vh.propTypes.colorInfo,dragRef:n.a.func,isColorPicking:n.a.bool,isFullScreen:n.a.bool.isRequired,isStarted:n.a.bool,micIndicator:n.a.bool,onDeactivateColorPicker:n.a.func,onDoubleClick:n.a.func,onQuestionAnswered:n.a.func,question:n.a.string,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,useEditorDragStyle:n.a.bool},pp.defaultProps={dragRef:function(){}};var mp=pp,Bp=e(145);function fp(e){return(fp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ep=["vm","onActivateColorPicker"];function wp(){return(wp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Cp(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ip(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||bp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yp(e){return function(e){if(Array.isArray(e))return Mp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||bp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bp(e,t){var n;if(e)return"string"==typeof e?Mp(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mp(e,t):void 0}function Mp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function Qp(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Tp(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Qp(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Qp(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function Sp(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kp(e,t){return(kp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dp(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Np(A);return e=o?(e=Np(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==fp(t)&&"function"!=typeof t?vp(n):t}}function vp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Np(e){return(Np=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kp(t,e);var n,A=Dp(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(vp(e),["attachMouseEvents","cancelMouseDownTimeout","detachMouseEvents","handleDoubleClick","handleQuestionAnswered","onMouseUp","onMouseMove","onMouseDown","onStartDrag","onStopDrag","onWheel","updateRect","questionListener","setDragCanvas","clearDragCanvas","drawDragCanvas","positionDragCanvas"]),e.state={mouseDownTimeoutId:null,mouseDownPosition:null,isDragging:!1,dragOffset:null,dragId:null,colorInfo:null,question:null},e.props.vm.renderer?(e.renderer=e.props.vm.renderer,e.canvas=e.renderer.canvas):(e.canvas=document.createElement("canvas"),e.renderer=new kn.a(e.canvas),e.props.vm.attachRenderer(e.renderer),e.props.vm.setVideoProvider(new gh),e.props.vm.renderer.draw()),e.props.vm.attachV2BitmapAdapter(new On.BitmapAdapter),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.attachRectEvents(),this.attachMouseEvents(this.canvas),this.updateRect(),this.props.vm.runtime.addListener("QUESTION",this.questionListener)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.stageSize!==e.stageSize||this.props.isColorPicking!==e.isColorPicking||this.state.colorInfo!==t.colorInfo||this.props.isFullScreen!==e.isFullScreen||this.state.question!==t.question||this.props.micIndicator!==e.micIndicator||this.props.isStarted!==e.isStarted}},{key:"componentDidUpdate",value:function(e){this.props.isColorPicking&&!e.isColorPicking?this.startColorPickingLoop():!this.props.isColorPicking&&e.isColorPicking&&this.stopColorPickingLoop(),this.updateRect(),this.renderer.resize(this.rect.width,this.rect.height)}},{key:"componentWillUnmount",value:function(){this.detachMouseEvents(this.canvas),this.detachRectEvents(),this.stopColorPickingLoop(),this.props.vm.runtime.removeListener("QUESTION",this.questionListener)}},{key:"questionListener",value:function(e){this.setState({question:e})}},{key:"handleQuestionAnswered",value:function(e){var t=this;this.setState({question:null},function(){t.props.vm.runtime.emit("ANSWER",e)})}},{key:"startColorPickingLoop",value:function(){var e=this;this.intervalId=setInterval(function(){"number"==typeof e.pickX&&e.setState({colorInfo:e.getColorInfo(e.pickX,e.pickY)})},30)}},{key:"stopColorPickingLoop",value:function(){clearInterval(this.intervalId)}},{key:"attachMouseEvents",value:function(e){document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp),document.addEventListener("touchmove",this.onMouseMove),document.addEventListener("touchend",this.onMouseUp),e.addEventListener("mousedown",this.onMouseDown),e.addEventListener("touchstart",this.onMouseDown),e.addEventListener("wheel",this.onWheel)}},{key:"detachMouseEvents",value:function(e){document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("touchmove",this.onMouseMove),document.removeEventListener("touchend",this.onMouseUp),e.removeEventListener("mousedown",this.onMouseDown),e.removeEventListener("touchstart",this.onMouseDown),e.removeEventListener("wheel",this.onWheel)}},{key:"attachRectEvents",value:function(){window.addEventListener("resize",this.updateRect),window.addEventListener("scroll",this.updateRect)}},{key:"detachRectEvents",value:function(){window.removeEventListener("resize",this.updateRect),window.removeEventListener("scroll",this.updateRect)}},{key:"updateRect",value:function(){this.rect=this.canvas.getBoundingClientRect()}},{key:"getScratchCoords",value:function(e,t){var n=this.renderer.getNativeSize();return[n[0]/this.rect.width*(e-this.rect.width/2),n[1]/this.rect.height*(t-this.rect.height/2)]}},{key:"getColorInfo",value:function(e,t){return Tp({x:e,y:t},this.renderer.extractColor(e,t,20))}},{key:"handleDoubleClick",value:function(e){var e=bn(e),t=e.x,e=e.y,t=[t-this.rect.left,e-this.rect.top],e=this.renderer.pick(t[0],t[1]);null!==e&&null!==(t=this.props.vm.getTargetIdForDrawableId(e))&&this.props.vm.setEditingTarget(t)}},{key:"onMouseMove",value:function(e){var e=bn(e),t=e.x,e=e.y,t=[t-this.rect.left,e-this.rect.top],e=(this.props.isColorPicking&&(this.pickX=t[0],this.pickY=t[1]),this.state.mouseDown&&!this.state.isDragging&&3<Math.sqrt(Math.pow(t[0]-this.state.mouseDownPosition[0],2)+Math.pow(t[1]-this.state.mouseDownPosition[1],2))&&(this.cancelMouseDownTimeout(),this.onStartDrag.apply(this,yp(this.state.mouseDownPosition))),this.state.mouseDown&&this.state.isDragging&&(this.props.useEditorDragStyle?this.positionDragCanvas(t[0],t[1]):(e=this.getScratchCoords(t[0],t[1]),this.props.vm.postSpriteInfo({x:e[0]+this.state.dragOffset[0],y:-(e[1]+this.state.dragOffset[1]),force:!0}))),{x:t[0],y:t[1],canvasWidth:this.rect.width,canvasHeight:this.rect.height});this.props.vm.postIOData("mouse",e)}},{key:"onMouseUp",value:function(e){var t,e=bn(e),n=e.x,e=e.y,A=[n-this.rect.left,e-this.rect.top],n=(this.cancelMouseDownTimeout(),this.setState({mouseDown:!1,mouseDownPosition:null}),{isDown:!1,x:n-this.rect.left,y:e-this.rect.top,canvasWidth:this.rect.width,canvasHeight:this.rect.height,wasDragged:this.state.isDragging});this.state.isDragging&&this.onStopDrag(A[0],A[1]),this.props.vm.postIOData("mouse",n),this.props.isColorPicking&&0<A[0]&&A[0]<this.rect.width&&0<A[1]&&A[1]<this.rect.height&&(n=(e=this.state.colorInfo.color).r,A=e.g,e=e.b,n="#".concat((t=function(e){e=e.toString(16);return 1===e.length?"0".concat(e):e})(n)).concat(t(A)).concat(t(e)),this.props.onDeactivateColorPicker(n),this.setState({colorInfo:null}),this.pickX=null,this.pickY=null)}},{key:"onMouseDown",value:function(e){this.updateRect();var t=bn(e),n=t.x,t=t.y,n=[n-this.rect.left,t-this.rect.top];this.props.isColorPicking?(this.pickX=n[0],this.pickY=n[1],this.setState({colorInfo:this.getColorInfo(this.pickX,this.pickY)})):((0===e.button||window.TouchEvent&&e instanceof TouchEvent)&&this.setState({mouseDown:!0,mouseDownPosition:n,mouseDownTimeoutId:setTimeout(this.onStartDrag.bind(this,n[0],n[1]),400)}),t={isDown:!0,x:n[0],y:n[1],canvasWidth:this.rect.width,canvasHeight:this.rect.height},this.props.vm.postIOData("mouse",t),e.preventDefault&&(e.preventDefault(),document.activeElement)&&document.activeElement.blur&&document.activeElement.blur())}},{key:"onWheel",value:function(e){e={deltaX:e.deltaX,deltaY:e.deltaY};this.props.vm.postIOData("mouseWheel",e)}},{key:"cancelMouseDownTimeout",value:function(){null!==this.state.mouseDownTimeoutId&&clearTimeout(this.state.mouseDownTimeoutId),this.setState({mouseDownTimeoutId:null})}},{key:"drawDragCanvas",value:function(e,t,n){var A=e.imageData,o=e.x,a=e.y,i=e.width,e=e.height;this.dragCanvas.width=A.width,this.dragCanvas.height=A.height,this.dragCanvas.style.width="".concat(i,"px"),this.dragCanvas.style.height="".concat(e,"px"),this.dragCanvas.getContext("2d").putImageData(A,0,0),this.dragCanvas.style.left="".concat(o-t,"px"),this.dragCanvas.style.top="".concat(a-n,"px"),this.dragCanvas.style.display="block"}},{key:"clearDragCanvas",value:function(){this.dragCanvas.width=this.dragCanvas.height=0,this.dragCanvas.style.display="none"}},{key:"positionDragCanvas",value:function(e,t){this.dragCanvas.style.transform="translate(".concat(e,"px, ").concat(t,"px)")}},{key:"onStartDrag",value:function(e,t){var n,A,o,a,i;this.state.dragId||null!==(n=this.renderer.pick(e,t))&&null!==(A=this.props.vm.getTargetIdForDrawableId(n))&&(a=this.props.vm.runtime.getTargetById(A),this.props.useEditorDragStyle||a.draggable)&&(a.goToFront(),o=(i=Ip(this.getScratchCoords(e,t),2))[0],i=i[1],o=a.x-o,a=-(a.y+i),this.props.vm.startDrag(A),this.setState({isDragging:!0,dragId:A,dragOffset:[o,a]}),this.props.useEditorDragStyle)&&(i=this.renderer.extractDrawableScreenSpace(n),this.drawDragCanvas(i,e,t),this.positionDragCanvas(e,t),this.props.vm.postSpriteInfo({visible:!1}),this.props.vm.renderer.draw())}},{key:"onStopDrag",value:function(e,t){function n(){o.props.vm.stopDrag(a),o.setState({isDragging:!1,dragOffset:null,dragId:null})}var A,o=this,a=this.state.dragId;this.props.useEditorDragStyle?(A={visible:!0},0<e&&e<this.rect.width&&0<t&&t<this.rect.height&&(e=this.getScratchCoords(e,t),A.x=e[0]+this.state.dragOffset[0],A.y=-(e[1]+this.state.dragOffset[1]),A.force=!0),this.props.vm.postSpriteInfo(A),this.clearDragCanvas(),n(),this.props.vm.renderer.draw()):n()}},{key:"setDragCanvas",value:function(e){this.dragCanvas=e}},{key:"render",value:function(){var e=this.props,e=(e.vm,e.onActivateColorPicker,Cp(e,Ep));return j.a.createElement(mp,wp({canvas:this.canvas,colorInfo:this.state.colorInfo,dragRef:this.setDragCanvas,question:this.state.question,onDoubleClick:this.handleDoubleClick,onQuestionAnswered:this.handleQuestionAnswered},e))}}])&&Sp(t.prototype,e),n&&Sp(t,n),o}(j.a.Component),Op=(t.propTypes={isColorPicking:n.a.bool,isFullScreen:n.a.bool.isRequired,isStarted:n.a.bool,micIndicator:n.a.bool,onActivateColorPicker:n.a.func,onDeactivateColorPicker:n.a.func,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,useEditorDragStyle:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},t.defaultProps={useEditorDragStyle:!0},Object(A.b)(function(e){return{isColorPicking:e.scratchGui.colorPicker.active,isFullScreen:e.scratchGui.mode.isFullScreen,isStarted:e.scratchGui.vmStatus.started,micIndicator:e.scratchGui.micIndicator,useEditorDragStyle:!(e.scratchGui.mode.isFullScreen||e.scratchGui.mode.isPlayerOnly)}},function(t){return{onActivateColorPicker:function(){return t(Object(Bp.a)())},onDeactivateColorPicker:function(e){return t(Object(Bp.c)(e))}}})(t)),d=e(96),Fp=e.n(d),g=e(789),Rp=e.n(g),a=e(790),Yp=e.n(a),t=e(791),xp=e.n(t);function _p(e){return(_p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Up(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gp(e,t){return(Gp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Lp(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Pp(n),t=(e=A?(e=Pp(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==_p(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Pp(e){return(Pp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Hp=[{message:j.a.createElement(z.a,{defaultMessage:"Creating blocks …",id:"gui.loader.message1"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading sprites …",id:"gui.loader.message2"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading sounds …",id:"gui.loader.message3"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading extensions …",id:"gui.loader.message4"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Creating blocks …",id:"gui.loader.message1"}),weight:20},{message:j.a.createElement(z.a,{defaultMessage:"Herding cats …",id:"gui.loader.message5"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Transmitting nanos …",id:"gui.loader.message6"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Inflating gobos …",id:"gui.loader.message7"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Preparing emojis …",id:"gui.loader.message8"}),weight:1}],jp={"gui.loader.headline":j.a.createElement(z.a,{defaultMessage:"Loading Project",id:"gui.loader.headline"}),"gui.loader.creating":j.a.createElement(z.a,{defaultMessage:"Creating Project",id:"gui.loader.creating"})},d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gp(t,e);var n,A=Lp(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={messageNumber:e.chooseRandomMessage()},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e=this;this.intervalId=setInterval(function(){e.setState({messageNumber:e.chooseRandomMessage()})},5e3)}},{key:"componentWillUnmount",value:function(){clearInterval(this.intervalId)}},{key:"chooseRandomMessage",value:function(){for(var e,t=Hp.reduce(function(e,t){return e+t.weight},0)*Math.random(),n=0;n<Hp.length;n++)if((t-=Hp[n].weight)<=0){e=n;break}return e}},{key:"render",value:function(){return j.a.createElement("div",{className:J()(Fp.a.background,(e={},t=Fp.a.fullscreen,n=this.props.isFullScreen,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e))},j.a.createElement("div",{className:Fp.a.container},j.a.createElement("div",{className:Fp.a.blockAnimation},j.a.createElement("img",{className:Fp.a.topBlock,src:Rp.a}),j.a.createElement("img",{className:Fp.a.middleBlock,src:Yp.a}),j.a.createElement("img",{className:Fp.a.bottomBlock,src:xp.a})),j.a.createElement("div",{className:Fp.a.title},jp[this.props.messageId]),j.a.createElement("div",{className:Fp.a.messageContainerOuter},j.a.createElement("div",{className:Fp.a.messageContainerInner,style:{transform:"translate(0, -".concat(25*this.state.messageNumber,"px)")}},Hp.map(function(e,t){return j.a.createElement("div",{className:Fp.a.message,key:t},e.message)})))));var e,t,n}}])&&Up(t.prototype,e),n&&Up(t,n),o}(j.a.Component),zp=(d.propTypes={isFullScreen:n.a.bool,messageId:n.a.string},d.defaultProps={isFullScreen:!1,messageId:"gui.loader.headline"},d),g=e(245),Jp=e.n(g);function Wp(e){var t,n,A,o=e.isFullScreen,a=e.isRtl,i=e.isRendererSupported,r=e.loading,s=e.stageSize,e=e.vm;return j.a.createElement(W.a,{className:J()(Jp.a.stageWrapper,(t={},n=Jp.a.fullScreen,A=o,n in t?Object.defineProperty(t,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[n]=A,t)),dir:a?"rtl":"ltr"},j.a.createElement(W.a,{className:Jp.a.stageMenuWrapper},j.a.createElement(rh,{stageSize:s,vm:e})),j.a.createElement(W.a,{className:Jp.a.stageCanvasWrapper},i?j.a.createElement(Op,{stageSize:s,vm:e}):null),r?j.a.createElement(zp,{isFullScreen:o}):null)}function Vp(e){return j.a.createElement(Kp,e)}Wp.propTypes={isFullScreen:n.a.bool,isRendererSupported:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,loading:n.a.bool,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a).isRequired};var Kp=Wp,Xp=(Vp.propTypes={isRendererSupported:n.a.bool.isRequired,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a).isRequired},Vp);function qp(e){return(qp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zp(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function $p(e,t){return($p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function em(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=nm(A);return e=o?(e=nm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==qp(t)&&"function"!=typeof t?tm(n):t}}function tm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nm(e){return(nm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Am=Object(z.d)({libraryTitle:{id:"gui.costumeLibrary.chooseACostume",defaultMessage:"Choose a Costume"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$p(t,e);var n,A=em(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(tm(e),["handleItemSelected"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelected",value:function(e){var t={name:e.name,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.props.vm.addCostumeFromLibrary(e.md5ext,t)}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:qo,id:"costumeLibrary",tags:ua,title:this.props.intl.formatMessage(Am.libraryTitle),onItemSelected:this.handleItemSelected,onRequestClose:this.props.onRequestClose})}}])&&Zp(t.prototype,e),n&&Zp(t,n),o}(j.a.PureComponent),om=(a.propTypes={intl:z.f.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(a)),am=[{tag:"fantasy",intlLabel:i.fantasy},{tag:"music",intlLabel:i.music},{tag:"sports",intlLabel:i.sports},{tag:"outdoors",intlLabel:i.outdoors},{tag:"indoors",intlLabel:i.indoors},{tag:"space",intlLabel:i.space},{tag:"underwater",intlLabel:i.underwater},{tag:"patterns",intlLabel:i.patterns}];function im(e){return(im="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rm(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function sm(e,t){return(sm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=cm(A);return e=o?(e=cm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==im(t)&&"function"!=typeof t?um(n):t}}function um(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cm(e){return(cm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gm(e){return j.a.createElement("img",{className:pm.a.spriteImage,src:e.costumeURL})}var dm=Object(z.d)({libraryTitle:{id:"gui.costumeLibrary.chooseABackdrop",defaultMessage:"Choose a Backdrop"}}),t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&sm(t,e);var n,A=lm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(um(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t={name:e.name,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.props.vm.addBackdrop(e.md5ext,t)}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:Zo,id:"backdropLibrary",tags:am,title:this.props.intl.formatMessage(dm.libraryTitle),onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose})}}])&&rm(t.prototype,e),n&&rm(t,n),o}(j.a.Component),hm=(t.propTypes={intl:z.f.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(t)),d=e(792),pm=e.n(d),mm=(gm.propTypes={costumeURL:n.a.string},gm);function Bm(e){return(Bm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fm(){return(fm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Em(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function wm(e,t){return(wm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ym(A);return e=o?(e=ym(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Bm(t)&&"function"!=typeof t?Im(n):t}}function Im(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ym(e){return(ym=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bm(e){var t=e.currentLocale,n=e.label,e=e.onChange;return j.a.createElement("select",{"aria-label":n,className:Tm.a.languageSelect,value:t,onChange:e},Object.keys(Vi.a).filter(function(e){return!km.includes(e)}).map(function(e){return j.a.createElement("option",{key:e,value:e},Vi.a[e].name)}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&wm(t,e);var n,A=Cm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Im(e),["getCostumeData"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"getCostumeData",value:function(){return this.props.asset?Fn(this.props.asset):null}},{key:"render",value:function(){var e=X()(this.props,["asset","vm"]);return j.a.createElement(mm,fm({costumeURL:this.getCostumeData()},e))}}])&&Em(t.prototype,e),n&&Em(t,n),o}(j.a.Component),Mm=(g.propTypes={asset:n.a.instanceOf(Ie.a.Asset),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){var t,n=e.scratchGui.targets,A=n.editingTarget;return A&&(n.stage.id===A?t=n.stage.costume.asset:n.sprites.hasOwnProperty(A)&&(t=n.sprites[A].costume.asset)),{vm:e.scratchGui.vm,asset:t}})(u("asset",500)(g))),Qm=e(101),a=e(793),Tm=e.n(a),Sm=["el","en","bg","ja","zh-cn","zh-tw","de","nl","cs","ru","es","fr"],km=Object.keys(Vi.a).filter(function(e){return!Sm.includes(e)}),Dm=(bm.propTypes={currentLocale:n.a.string,label:n.a.string,onChange:n.a.func},bm);function Nm(e){return(Nm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Om=["onChangeLanguage","messagesByLocale","children"];function Fm(){return(Fm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Rm(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ym(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function xm(e,t){return(xm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _m(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Gm(A);return e=o?(e=Gm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nm(t)&&"function"!=typeof t?Um(n):t}}function Um(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gm(e){return(Gm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xm(t,e);var n,A=_m(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(Um(t),["handleChange"]),document.documentElement.lang=e.currentLocale,t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleChange",value:function(e){e=e.target.value;this.props.messagesByLocale[e]&&(this.props.onChangeLanguage(e),document.documentElement.lang=e)}},{key:"render",value:function(){var e=this.props,t=(e.onChangeLanguage,e.messagesByLocale,e.children),e=Rm(e,Om);return j.a.createElement(Dm,Fm({onChange:this.handleChange},e),t)}}])&&Ym(t.prototype,e),n&&Ym(t,n),o}(j.a.Component),Lm=(t.propTypes={children:n.a.node,currentLocale:n.a.string.isRequired,messagesByLocale:n.a.object,onChangeLanguage:n.a.func.isRequired},Object(A.b)(function(e){return{currentLocale:e.locales.locale,messagesByLocale:e.locales.messagesByLocale}},function(t){return{onChangeLanguage:function(e){t(Object(Qm.d)(e)),t(Object(ue.e)())}}})(t)),d=e(794),Pm=e.n(d),u=e(156),Hm=e.n(u),g=(e(90),e(140));Object(z.d)({mode:{id:"gui.menuBar.modeMenu",defaultMessage:"Mode"},normal:{id:"gui.menuBar.normalMode",defaultMessage:"Normal mode"},cat:{id:"gui.menuBar.caturdayMode",defaultMessage:"Caturday mode"},"90s":{id:"gui.menuBar.1990sMode",defaultMessage:"90s mode"},old:{id:"gui.menuBar.oldTimeyMode",defaultMessage:"Old timey mode"},prehistoric:{id:"gui.menuBar.prehistoricMode",defaultMessage:"Prehistoric mode"}}),Qm.a,g.default,Qo.ScratchPaintReducer;function jm(e){return(jm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var zm=["projectChanged"];function Jm(){return(Jm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Wm(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Vm(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Km(e,t){return(Km=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Zm(A);return e=o?(e=Zm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==jm(t)&&"function"!=typeof t?qm(n):t}}function qm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Zm(e){return(Zm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $m(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Km(t,e);var n,A=Xm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(qm(e),["confirmReadyToReplaceProject","shouldSaveBeforeTransition"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"confirmReadyToReplaceProject",value:function(e){var t=!0;return t=this.props.projectChanged&&!this.props.canCreateNew?this.props.confirmWithMessage(e):t}},{key:"shouldSaveBeforeTransition",value:function(){return this.props.canSave&&this.props.projectChanged}},{key:"render",value:function(){var e=this.props,e=(e.projectChanged,Wm(e,zm));return j.a.createElement(a,Jm({confirmReadyToReplaceProject:this.confirmReadyToReplaceProject,shouldSaveBeforeTransition:this.shouldSaveBeforeTransition},e))}}])&&Vm(t.prototype,e),n&&Vm(t,n),o}(j.a.PureComponent);return e.propTypes={canCreateNew:n.a.bool,canSave:n.a.bool,confirmWithMessage:n.a.func,projectChanged:n.a.bool},e.defaultProps={confirmWithMessage:function(e){return confirm(e)}},Object(A.b)(function(e){return{projectChanged:e.scratchGui.projectChanged}},function(){return{}},function(e,t,n){return Object.assign({},e,t,n)})(e)}function e2(e){return(e2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function n2(e,t){return(n2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function A2(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=a2(A);return e=o?(e=a2(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==e2(t)&&"function"!=typeof t?o2(n):t}}function o2(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a2(e){return(a2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var i2=Object(z.d)({language:{id:"gui.menuBar.LanguageSelector",defaultMessage:"language selector"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n2(t,e);var n,A=A2(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(o2(e),["handleLanguageMouseUp"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleLanguageMouseUp",value:function(e){this.props.languageMenuOpen||this.props.onClickLanguage(e)}},{key:"render",value:function(){return j.a.createElement(W.a,{className:J()(this.props.className,Hm.a.menuBar)},j.a.createElement("div",{className:Hm.a.mainMenu},j.a.createElement("div",{className:Hm.a.fileGroup},this.props.canChangeLanguage&&j.a.createElement("div",{className:J()(Hm.a.menuBarItem,Hm.a.hoverable,Hm.a.languageMenu)},j.a.createElement("div",null,j.a.createElement("img",{className:Hm.a.languageIcon,src:Pm.a})),j.a.createElement(Lm,{label:this.props.intl.formatMessage(i2.language)})))))}}])&&t2(t.prototype,e),n&&t2(t,n),o}(j.a.Component),r2=(Lm.propTypes={accountMenuOpen:n.a.bool,authorId:n.a.oneOfType([n.a.string,n.a.bool]),authorThumbnailUrl:n.a.string,authorUsername:n.a.oneOfType([n.a.string,n.a.bool]),autoUpdateProject:n.a.func,canChangeLanguage:n.a.bool,canCreateCopy:n.a.bool,canCreateNew:n.a.bool,canEditTitle:n.a.bool,canManageFiles:n.a.bool,canRemix:n.a.bool,canSave:n.a.bool,canShare:n.a.bool,className:n.a.string,confirmReadyToReplaceProject:n.a.func,editMenuOpen:n.a.bool,enableCommunity:n.a.bool,fileMenuOpen:n.a.bool,intl:z.f,isRtl:n.a.bool,isShared:n.a.bool,isShowingProject:n.a.bool,isUpdating:n.a.bool,languageMenuOpen:n.a.bool,loginMenuOpen:n.a.bool,logo:n.a.string,onClickAccount:n.a.func,onClickEdit:n.a.func,onClickFile:n.a.func,onClickLanguage:n.a.func,onClickLogin:n.a.func,onClickLogo:n.a.func,onClickNew:n.a.func,onClickRemix:n.a.func,onClickSave:n.a.func,onClickSaveAsCopy:n.a.func,onLogOut:n.a.func,onOpenRegistration:n.a.func,onOpenTipLibrary:n.a.func,onProjectTelemetryEvent:n.a.func,onRequestCloseAccount:n.a.func,onRequestCloseEdit:n.a.func,onRequestCloseFile:n.a.func,onRequestCloseLanguage:n.a.func,onRequestCloseLogin:n.a.func,onSeeCommunity:n.a.func,onShare:n.a.func,onToggleLoginOpen:n.a.func,projectTitle:n.a.string,renderLogin:n.a.func,sessionExists:n.a.bool,shouldSaveBeforeTransition:n.a.func,showComingSoon:n.a.bool,userOwnsProject:n.a.bool,username:n.a.string},Object(N.d)(z.e,$m,Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=e.session&&e.session.session&&e.session.session.user;return{accountMenuOpen:Object(ue.a)(e),fileMenuOpen:Object(ue.i)(e),editMenuOpen:Object(ue.h)(e),isRtl:e.locales.isRtl,isUpdating:Object(r.v)(n),isShowingProject:Object(r.s)(n),languageMenuOpen:Object(ue.j)(e),locale:e.locales.locale,loginMenuOpen:Object(ue.k)(e),projectTitle:e.scratchGui.projectTitle,sessionExists:e.session&&void 0!==e.session.session,username:A?A.username:null,userOwnsProject:t.authorUsername&&A&&t.authorUsername===A.username,vm:e.scratchGui.vm}},function(t){return{autoUpdateProject:function(){return t(Object(r.b)())},onOpenTipLibrary:function(){return t(Object(R.u)())},onClickAccount:function(){return t(Object(ue.m)())},onRequestCloseAccount:function(){return t(Object(ue.b)())},onClickFile:function(){return t(Object(ue.o)())},onRequestCloseFile:function(){return t(Object(ue.d)())},onClickEdit:function(){return t(Object(ue.n)())},onRequestCloseEdit:function(){return t(Object(ue.c)())},onClickLanguage:function(){return t(Object(ue.p)())},onRequestCloseLanguage:function(){return t(Object(ue.e)())},onClickLogin:function(){return t(Object(ue.q)())},onRequestCloseLogin:function(){return t(Object(ue.f)())},onClickNew:function(e){return t(Object(r.C)(e))},onClickRemix:function(){return t(Object(r.B)())},onClickSave:function(){return t(Object(r.w)())},onClickSaveAsCopy:function(){return t(Object(r.E)())},onSeeCommunity:function(){return t(Object(zd.d)(!0))}}}))(a)),t=e(114),s2=e.n(t),l2=["intl"];function u2(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function c2(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?u2(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):u2(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function g2(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function d2(e){var t=e.intl,e=g2(e,l2);return j.a.createElement(F.a,{isOpen:!0,className:s2.a.modalContent,contentLabel:t.formatMessage(c2({},h2.label)),overlayClassName:s2.a.modalOverlay,onRequestClose:e.onBack},j.a.createElement("div",{dir:e.isRtl?"rtl":"ltr"},j.a.createElement(W.a,{className:s2.a.illustration}),j.a.createElement(W.a,{className:s2.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,h2.label)),j.a.createElement("p",null,j.a.createElement(z.a,{defaultMessage:"Unfortunately it looks like your browser or computer {webGlLink}. This technology is needed for Scratch 3.0 to run.",id:"gui.webglModal.description",values:{webGlLink:j.a.createElement("a",{className:s2.a.faqLink,href:"https://get.webgl.org/"},j.a.createElement(z.a,{defaultMessage:"does not support WebGL",id:"gui.webglModal.webgllink"}))}})),j.a.createElement(W.a,{className:s2.a.buttonRow},j.a.createElement("button",{className:s2.a.backButton,onClick:e.onBack},j.a.createElement(z.a,{defaultMessage:"Back",id:"gui.webglModal.back"}))),j.a.createElement("div",{className:s2.a.faqLinkText},j.a.createElement(z.a,{defaultMessage:"To learn more, go to the {previewFaqLink}.",id:"gui.webglModal.previewfaq",values:{previewFaqLink:j.a.createElement("a",{className:s2.a.faqLink,href:"//scratch.mit.edu/3faq"},j.a.createElement(z.a,{defaultMessage:"FAQ",id:"gui.webglModal.previewfaqlinktext"}))}})))))}var h2=Object(z.d)({label:{id:"gui.webglModal.label",defaultMessage:"Your Browser Does Not Support WebGL"}}),p2=(d2.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,onBack:n.a.func.isRequired},Object(z.e)(d2));function m2(e){return(m2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function f2(e,t){return(f2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E2(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=w2(n),t=(e=A?(e=w2(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==m2(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function w2(e){return(w2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C2(){return y2}function I2(){return!C2()}var y2,d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f2(t,e);var n,A=E2(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleCancel",value:function(){window.history.back()}},{key:"render",value:function(){return j.a.createElement(p2,{isRtl:this.props.isRtl,onBack:this.handleCancel})}}])&&B2(t.prototype,e),n&&B2(t,n),o}(j.a.Component),b2=(d.propTypes={isRtl:n.a.bool},d),M2=[{tag:"animation",intlLabel:i.animation},{tag:"art",intlLabel:i.art},{tag:"music",intlLabel:i.music},{tag:"games",intlLabel:i.games},{tag:"stories",intlLabel:i.stories}];function Q2(e){return(Q2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function S2(e,t){return(S2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k2(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=v2(A);return e=o?(e=v2(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Q2(t)&&"function"!=typeof t?D2(n):t}}function D2(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v2(e){return(v2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N2(t){z2.hasOwnProperty(t)&&z2[t]().then(function(e){H2=e,j2=t})}var O2=Object(z.d)({tipsLibraryTitle:{id:"gui.tipsLibrary.tutorials",defaultMessage:"Choose a Tutorial"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&S2(t,e);var n,A=k2(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(D2(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t;if(at.a.event({category:"library",action:"Select How-to",label:e.id}),e.requiredProjectId&&e.requiredProjectId!==this.props.projectId)return t="/projects/".concat(e.requiredProjectId,"/editor?tutorial=").concat(e.urlId),window.open(window.location.origin+t,"_blank");this.props.onActivateDeck(e.id)}},{key:"render",value:function(){var e=Object.keys(ot.a).filter(function(e){return!!I2()||!(e=ot.a[e]).hasOwnProperty("requiredProjectId")&&0!==e.steps.filter(function(e){return e.title}).length}).map(function(e){return{rawURL:ot.a[e].img,id:e,name:ot.a[e].name,featured:!0,tags:ot.a[e].tags,urlId:ot.a[e].urlId,requiredProjectId:ot.a[e].requiredProjectId,hidden:ot.a[e].hidden||!1}});return this.props.visible?j.a.createElement(ca.a,{filterable:!0,data:e,id:"tipsLibrary",tags:M2,title:this.props.intl.formatMessage(O2.tipsLibraryTitle),visible:this.props.visible,onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose}):null}}])&&T2(t.prototype,e),n&&T2(t,n),o}(j.a.PureComponent),F2=(u.propTypes={intl:z.f.isRequired,onActivateDeck:n.a.func.isRequired,onRequestClose:n.a.func,projectId:n.a.oneOfType([n.a.string,n.a.number]),visible:n.a.bool},Object(z.e)(Object(A.b)(function(e){return{visible:e.scratchGui.modals.tipsLibrary,projectId:e.scratchGui.projectState.projectId}},function(t){return{onActivateDeck:function(e){return t(Object(rt.a)(e))},onRequestClose:function(){return t(Object(R.j)())}}})(u))),g=e(191),R2=e.n(g),a=e(25),C=e.n(a),t=e(795),Y2=e.n(t),d=e(796),x2=e.n(d),i=e(402),_2=e.n(i),u=e(403),U2=e.n(u),g=e(797),G2=e.n(g),L2={"intro-move-sayhello":{en:"rpjvs3v9gj",it:"2im6c1f9kn",pt:"ngdfp8xg4x","pt-br":"ngdfp8xg4x",ja:"v2c2f3y2sc","ja-Hira":"v2c2f3y2sc",es:"htk2m9o65l","es-419":"htk2m9o65l",sw:"fd4bn2nli5",fr:"dt015ouls8",am:"e06wlsebqy",zu:"st2x0emdx7",uk:"1ith4m4f8u",ar:"s53zuo93o7",ca:"4tb26s73x7","zh-cn":"9i01bspmyx","zh-tw":"hr374tlx9t",da:"z9bns5dgiy",nl:"9wleha9s1e",de:"9lljmutx8m",ht:"7pyjz25tvf",he:"5rusa2qb6q",id:"zpzl7nqcyf",km:"zhq0596ewo",ko:"9u7cr4pwsc",ku:"jzwwqih2im",fa:"c15wlv18tt",pl:"ijhn36nicy",ru:"437odiewml",th:"zy7suscqn2",tr:"p3g8ek3cuh",vi:"fetjky76s4"},"intro-getting-started-ASL":{en:"i2g46ikddf"},"animate-a-name":{en:"pyur30ho05",ar:"bz5vgtroxs",fr:"lwb0ro4oly",it:"c8zcrk6w09",pt:"t49tfrukyf","pt-br":"t49tfrukyf",ja:"xrmgno02th","ja-Hira":"xrmgno02th"},"Make-Music":{en:"ir0j8ljsgm",ar:"gqlmfqx1g4",fr:"t4dw6fn2an",it:"8nm1v1m9zx",pt:"9v4zl8504z","pt-br":"9v4zl8504z",ja:"iybhyobckr","ja-Hira":"iybhyobckr"},"Make-A-Game":{en:"5rp47ys13g",ar:"dx5pqpaqsy",fr:"pntfdyyqqk",it:"vrs1e38944",pt:"rjst5ng61s","pt-br":"rjst5ng61s",ja:"h4q2ea3ojw","ja-Hira":"h4q2ea3ojw"},"Chase-Game":{en:"kusyx9thl5",ar:"qapon34gsw",fr:"0nszrbo4dt",it:"899b2jmjlu",pt:"rw6kr9e37n","pt-br":"rw6kr9e37n",ja:"wr6ysk8s6d","ja-Hira":"wr6ysk8s6d"},"add-a-backdrop":{en:"nict6zdzlx",ar:"ompj13t33k",fr:"nwyngs74xw",it:"vrrfpm5grh",pt:"wq7sm038pq","pt-br":"wq7sm038pq",ja:"j382ohngg7","ja-Hira":"j382ohngg7"},"change-size":{en:"p8va85hh61",ar:"acceih3x6k",fr:"rrowyylh2i",it:"1xb1jztsvr",pt:"1ad1ip3ly7","pt-br":"1ad1ip3ly7",ja:"uzkfi9uai0","ja-Hira":"uzkfi9uai0"},"glide-around":{en:"sh9j978rg8",ar:"8c4b4jb2se",fr:"f73cjf5zzf",it:"nvdhpgiebe",ja:"jsat4vhu48","ja-Hira":"jsat4vhu48"},"record-a-sound":{en:"ulzl1fbzny",ar:"vx60cuwzo9",fr:"ep92lqlp7p",it:"ncr9lqk7bt",pt:"aavagpvh5w","pt-br":"aavagpvh5w",ja:"5zmy6u614k","ja-Hira":"5zmy6u614k"},"spin-video":{en:"07fed5hhpv",ar:"5hl1dq3byk",fr:"cqzi6cr872",it:"obmrphhobt",pt:"jxqksu6zcw","pt-br":"jxqksu6zcw",ja:"hjhc0a8r7j","ja-Hira":"hjhc0a8r7j"},"hide-and-show":{en:"g479ahobo9",ar:"r25otzahzi",fr:"o1h6llwd0e",it:"v0vbx3l5uk",pt:"ibtmwb58y8","pt-br":"ibtmwb58y8",ja:"ruynguvag5","ja-Hira":"ruynguvag5"},"switch-costume":{en:"1ocp6a1ejn",ar:"2tz31cmeaq",fr:"2s9sagktio",it:"nty4xjtqcj",pt:"pnlmmv2hs7","pt-br":"pnlmmv2hs7",ja:"g3vluv0ms8","ja-Hira":"g3vluv0ms8"},"move-around-with-arrow-keys":{en:"yetrmk4iuu",ar:"270xh1zb1s",fr:"69tc5nvykx",it:"jse0g0uddw",pt:"erv6eff78p","pt-br":"erv6eff78p",ja:"fk34dcg5oz","ja-Hira":"fk34dcg5oz"},"add-effects":{en:"3jvl8zgjo2",ar:"fp4y3aumie",fr:"nyutlj812e",it:"q3cjjyfju9",pt:"dz6jzpf7hm","pt-br":"dz6jzpf7hm",ja:"q7zq9vu0wb","ja-Hira":"q7zq9vu0wb"},"make-it-fly":{en:"zbtdx2dem9"},"pong-game":{en:"8m48dv0ens"},imagine:{en:"1ndh08yiso"},"code-cartoon":{en:"fpfuky3x6g"},talking:{en:"j0208mq4qi"}},a="https://roboticalpublic.s3.eu-west-1.amazonaws.com/martyblocks-tutorials/",P2={mmCreateModel:a+"create-model.png",mmCreateImageModel:a+"create-image-model.png",mmCreateAudioModel:a+"create-audio-model.png",mmLoadTMModel:a+"load-tm-model.png",mmChangeModelName:a+"change-model-name.png",mmCollectDataForClass:a+"collect-data-for-class.png",mmTrainModel:a+"train-model.png",mmRunModel:a+"run-model.png",mmSaveModel:a+"save-model.png",mmAIBlocks:a+"mmAIBlocks.png",mmBlocksLoadImageModel:a+"mmBlocksLoadImageModel.png",mmBlocksLoadAudioModel:a+"mmBlocksLoadAudioModel.png",mmBlocksClassificationOn:a+"mmBlocksClassificationOn.png",mmBlocksClassifyImage:a+"mmBlocksClassifyImage.png",mmBlocksClassifyAudio:a+"mmBlocksClassifyAudio.png"},H2={},j2="",z2={};function J2(e){return(J2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var W2=["activeDeckId","content","dragging","isRtl","locale","onActivateDeckFactory","onCloseCards","onShrinkExpandCards","onDrag","onStartDrag","onEndDrag","onShowAll","onNextStep","onPrevStep","showVideos","step","expanded"];function V2(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function K2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function X2(e,t){return(X2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q2(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Z2(n),t=(e=A?(e=Z2(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==J2(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Z2(e){return(Z2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $2(e){var t=e.onCloseCards,n=e.onShrinkExpandCards,A=e.onShowAll,o=e.totalSteps,a=e.step,e=e.expanded;return j.a.createElement("div",{className:e?C.a.headerButtons:J()(C.a.headerButtons,C.a.headerButtonsHidden)},j.a.createElement("div",{className:C.a.allButton,onClick:A},j.a.createElement("img",{className:C.a.helpIcon,src:Ku.a}),j.a.createElement(z.a,{defaultMessage:"Tutorials",id:"gui.cards.all-tutorials"})),1<o?j.a.createElement("div",{className:C.a.stepsList},Array(o).fill(0).map(function(e,t){return j.a.createElement("div",{className:t===a?C.a.activeStepPip:C.a.inactiveStepPip,key:"pip-step-".concat(t)})})):null,j.a.createElement("div",{className:C.a.headerButtonsRight},j.a.createElement("div",{className:C.a.shrinkExpandButton,onClick:n},j.a.createElement("img",{draggable:!1,src:(e?Y2:x2).a}),e?j.a.createElement(z.a,{defaultMessage:"Shrink",id:"gui.cards.shrink"}):j.a.createElement(z.a,{defaultMessage:"Expand",id:"gui.cards.expand"})),j.a.createElement("div",{className:C.a.removeButton,onClick:t},j.a.createElement("img",{className:C.a.closeIcon,src:G2.a}),j.a.createElement(z.a,{defaultMessage:"Close",id:"gui.cards.close"}))))}function eB(e){var t=e.title,e=e.image;return j.a.createElement(M.Fragment,null,j.a.createElement("div",{className:C.a.stepTitle},t),j.a.createElement("div",{className:C.a.stepImageContainer},j.a.createElement("img",{className:C.a.stepImage,draggable:!1,key:e,src:e})))}function tB(e){var t=e.isRtl,n=e.onNextStep,A=e.onPrevStep,e=e.expanded;return j.a.createElement(M.Fragment,null,n?j.a.createElement("div",null,j.a.createElement("div",{className:e?t?C.a.leftCard:C.a.rightCard:C.a.hidden}),j.a.createElement("div",{className:e?t?C.a.leftButton:C.a.rightButton:C.a.hidden,onClick:n},j.a.createElement("img",{draggable:!1,src:(t?U2:_2).a}))):null,A?j.a.createElement("div",null,j.a.createElement("div",{className:e?t?C.a.rightCard:C.a.leftCard:C.a.hidden}),j.a.createElement("div",{className:e?t?C.a.rightButton:C.a.leftButton:C.a.hidden,onClick:A},j.a.createElement("img",{draggable:!1,src:(t?_2:U2).a}))):null)}function nB(e){var t=e.deckIds,n=e.content,A=e.onActivateDeckFactory,e=e.onShowAll;return j.a.createElement(M.Fragment,null,j.a.createElement("div",{className:C.a.stepTitle},j.a.createElement(z.a,{defaultMessage:"More things to try!",id:"gui.cards.more-things-to-try"})),j.a.createElement("div",{className:C.a.decks},t.slice(0,2).map(function(e){return j.a.createElement("div",{className:C.a.deck,key:"deck-preview-".concat(e),onClick:A(e)},j.a.createElement("img",{className:C.a.deckImage,draggable:!1,src:n[e].img}),j.a.createElement("div",{className:C.a.deckName},n[e].name))})),j.a.createElement("div",{className:C.a.seeAll},j.a.createElement("div",{className:C.a.seeAllButton,onClick:e},j.a.createElement(z.a,{defaultMessage:"See more",id:"gui.cards.see-more"}))))}function AB(e){var t,n,A=e.activeDeckId,o=e.content,a=e.dragging,i=e.isRtl,r=e.locale,s=e.onActivateDeckFactory,l=e.onCloseCards,u=e.onShrinkExpandCards,c=e.onDrag,g=e.onStartDrag,d=e.onEndDrag,h=e.onShowAll,p=e.onNextStep,m=e.onPrevStep,B=e.showVideos,f=e.step,E=e.expanded,w=(e=V2(e,W2)).x,e=e.y;if(null!==A)return n=E?257:0,0===w&&0===e&&(w=i?-1090:292,w+=400,e=window.innerHeight-320-60-48),t=o[A].steps,j.a.createElement("div",{className:C.a.cardContainerOverlay,style:{width:"".concat(window.innerWidth+800,"px"),height:"".concat(window.innerHeight-48+n,"px"),top:"".concat(48,"px"),left:"".concat(-400,"px")}},j.a.createElement(R2.a,{bounds:"parent",cancel:"#video-div",position:{x:w,y:e},onDrag:c,onStart:g,onStop:d},j.a.createElement("div",{className:C.a.cardContainer},j.a.createElement("div",{className:C.a.card},j.a.createElement($2,{expanded:E,step:f,totalSteps:t.length,onCloseCards:l,onShowAll:h,onShrinkExpandCards:u}),j.a.createElement("div",{className:E?C.a.stepBody:C.a.hidden},t[f].externalUrl&&j.a.createElement("div",{className:C.a.externalUrl},j.a.createElement("a",{href:t[f].externalUrl.url,rel:"noopener noreferrer",target:"_blank"},t[f].externalUrl.label)),t[f].deckIds?j.a.createElement(nB,{content:o,deckIds:t[f].deckIds,onActivateDeckFactory:s,onShowAll:h}):t[f].video?B?j.a.createElement(oB,{dragging:a,expanded:E,video:(n=t[f].video,w=r,L2.hasOwnProperty(n)?L2[n].hasOwnProperty(w)?L2[n][w]:L2[n].en:n)}):j.a.createElement(eB,{image:o[A].img,title:o[A].name}):j.a.createElement(eB,{image:(e=t[f].image,(r===j2&&H2.hasOwnProperty(e)?H2:P2)[e]),title:t[f].title}),t[f].trackingPixel&&t[f].trackingPixel),j.a.createElement(tB,{expanded:E,isRtl:i,onNextStep:f<t.length-1?p:null,onPrevStep:0<f?m:null})))))}var oB=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&X2(t,e);var n,A=q2(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e=document.createElement("script"),e=(e.src="https://fast.wistia.com/embed/medias/".concat(this.props.video,".jsonp"),e.async=!0,e.setAttribute("id","wistia-video-content"),document.body.appendChild(e),document.createElement("script"));e.src="https://fast.wistia.com/assets/external/E-v1.js",e.async=!0,e.setAttribute("id","wistia-video-api"),document.body.appendChild(e)}},{key:"componentDidUpdate",value:function(e){var t;window.Wistia&&window.Wistia.api&&(t=window.Wistia.api(e.video),e.video!==this.props.video&&t.replaceWith(this.props.video),this.props.expanded||t.pause())}},{key:"componentWillUnmount",value:function(){var e=document.getElementById("wistia-video-content"),e=(e.parentNode.removeChild(e),document.getElementById("wistia-video-api"));e.parentNode.removeChild(e)}},{key:"render",value:function(){return j.a.createElement("div",{className:C.a.stepVideo},j.a.createElement("div",{className:"wistia_embed wistia_async_".concat(this.props.video),id:"video-div",style:{height:"257px",width:"466px"}}," "))}}])&&K2(t.prototype,e),n&&K2(t,n),o}(j.a.Component);oB.propTypes={expanded:n.a.bool.isRequired,video:n.a.string.isRequired},eB.propTypes={image:n.a.string.isRequired,title:n.a.node.isRequired},tB.propTypes={expanded:n.a.bool.isRequired,isRtl:n.a.bool,onNextStep:n.a.func,onPrevStep:n.a.func},$2.propTypes={expanded:n.a.bool.isRequired,onCloseCards:n.a.func.isRequired,onShowAll:n.a.func.isRequired,onShrinkExpandCards:n.a.func.isRequired,step:n.a.number,totalSteps:n.a.number},nB.propTypes={content:n.a.shape({id:n.a.shape({name:n.a.node.isRequired,img:n.a.string.isRequired,steps:n.a.arrayOf(n.a.shape({title:n.a.node,image:n.a.string,video:n.a.string,deckIds:n.a.arrayOf(n.a.string)}))})}).isRequired,deckIds:n.a.arrayOf(n.a.string).isRequired,onActivateDeckFactory:n.a.func.isRequired,onShowAll:n.a.func.isRequired};function aB(e){return(aB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rB(e,t){return(rB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sB(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=lB(n),t=(e=A?(e=lB(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==aB(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function lB(e){return(lB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}AB.propTypes={activeDeckId:n.a.string.isRequired,content:n.a.shape({id:n.a.shape({name:n.a.node.isRequired,img:n.a.string.isRequired,steps:n.a.arrayOf(n.a.shape({title:n.a.node,image:n.a.string,video:n.a.string,deckIds:n.a.arrayOf(n.a.string)}))})}),dragging:n.a.bool.isRequired,expanded:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,locale:n.a.string.isRequired,onActivateDeckFactory:n.a.func.isRequired,onCloseCards:n.a.func.isRequired,onDrag:n.a.func,onEndDrag:n.a.func,onNextStep:n.a.func.isRequired,onPrevStep:n.a.func.isRequired,onShowAll:n.a.func,onShrinkExpandCards:n.a.func.isRequired,onStartDrag:n.a.func,showVideos:n.a.bool,step:n.a.number.isRequired,x:n.a.number,y:n.a.number},AB.defaultProps={showVideos:!0};var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rB(t,e);var n,A=sB(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){"en"!==this.props.locale&&N2(this.props.locale)}},{key:"componentDidUpdate",value:function(e){this.props.locale!==e.locale&&N2(this.props.locale)}},{key:"render",value:function(){return j.a.createElement(AB,this.props)}}])&&iB(t.prototype,e),n&&iB(t,n),o}(j.a.Component),uB=(t.propTypes={locale:n.a.string.isRequired},Object(A.b)(function(e){return{visible:e.scratchGui.cards.visible,content:e.scratchGui.cards.content,activeDeckId:e.scratchGui.cards.activeDeckId,step:e.scratchGui.cards.step,expanded:e.scratchGui.cards.expanded,x:e.scratchGui.cards.x,y:e.scratchGui.cards.y,isRtl:e.locales.isRtl,locale:e.locales.locale,dragging:e.scratchGui.cards.dragging,showVideos:I2()}},function(n){return{onActivateDeckFactory:function(e){return function(){return n(Object(rt.a)(e))}},onShowAll:function(){n(Object(R.u)()),n(Object(rt.c)())},onCloseCards:function(){return n(Object(rt.c)())},onShrinkExpandCards:function(){return n(Object(rt.i)())},onNextStep:function(){return n(Object(rt.g)())},onPrevStep:function(){return n(Object(rt.h)())},onDrag:function(e,t){return n(Object(rt.e)(t.x,t.y))},onStartDrag:function(){return n(Object(rt.j)())},onEndDrag:function(){return n(Object(rt.f)())}}})(t)),d=e(72),cB=e.n(d),i=e(798),gB=e.n(i),u=e(799),dB=e.n(u),g=e(298),hB=e.n(g),a=e(800),pB=e.n(a),mB=["content","dragging","isRtl","onCloseDraggableModal","onShrinkExpandDraggableModal","onDrag","onStartDrag","onEndDrag","expanded"];function BB(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function fB(e){var t=e.onCloseDraggableModal,n=e.onShrinkExpandDraggableModal,A=e.expanded,o=e.title,e=e.onHelp;return j.a.createElement("div",{className:A?cB.a.headerButtons:J()(cB.a.headerButtons,cB.a.headerButtonsHidden),id:"draggable-modal-header"},j.a.createElement("div",{className:cB.a.allButton,onClick:e},j.a.createElement("img",{className:cB.a.helpIcon,src:hB.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.draggable-modal.help"})),j.a.createElement("div",{className:cB.a.headerTitle},o),j.a.createElement("div",{className:cB.a.headerButtonsRight},j.a.createElement("div",{className:cB.a.shrinkExpandButton,onClick:n},j.a.createElement("img",{draggable:!1,src:(A?gB:dB).a}),A?j.a.createElement(z.a,{defaultMessage:"Shrink",id:"gui.cards.shrink"}):j.a.createElement(z.a,{defaultMessage:"Expand",id:"gui.cards.expand"})),j.a.createElement("div",{className:cB.a.removeButton,onClick:t},j.a.createElement("img",{className:cB.a.closeIcon,src:pB.a}),j.a.createElement(z.a,{defaultMessage:"Close",id:"gui.cards.close"}))))}function EB(e){e.content,e.dragging;var t=e.isRtl,n=e.onCloseDraggableModal,A=e.onShrinkExpandDraggableModal,o=e.onDrag,a=e.onStartDrag,i=e.onEndDrag,r=e.expanded,s=(l=BB(e,mB)).x,l=l.y,u=r?257:0;return 0===s&&0===l&&(s=t?-1090:292,s+=400,l=window.innerHeight-500-60-48),j.a.createElement("div",{className:cB.a.cardContainerOverlay,style:{width:"".concat(window.innerWidth+800,"px"),height:"".concat(window.innerHeight-48+u,"px"),top:"".concat(48,"px"),left:"".concat(-400,"px")}},j.a.createElement(R2.a,{bounds:"parent",cancel:"#video-div",handle:"#draggable-modal-header",position:{x:s,y:l},onDrag:o,onStart:a,onStop:i},j.a.createElement("div",{className:cB.a.cardContainer},j.a.createElement("div",{className:cB.a.card},j.a.createElement(fB,{expanded:r,onCloseDraggableModal:n,onShrinkExpandDraggableModal:A,onHelp:e.onHelp,title:e.title}),j.a.createElement("div",{className:r?cB.a.stepBody:cB.a.hidden},e.content)))))}fB.propTypes={expanded:n.a.bool.isRequired,onCloseDraggableModal:n.a.func.isRequired,onShrinkExpandDraggableModal:n.a.func.isRequired,title:n.a.string,onHelp:n.a.func};function wB(e){return(wB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function CB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function IB(e,t){return(IB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yB(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=bB(n),t=(e=A?(e=bB(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==wB(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function bB(e){return(bB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}EB.propTypes={content:n.a.node,title:n.a.string,onHelp:n.a.func,dragging:n.a.bool.isRequired,expanded:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,onCloseDraggableModal:n.a.func.isRequired,onDrag:n.a.func,onEndDrag:n.a.func,onShrinkExpandDraggableModal:n.a.func.isRequired,onStartDrag:n.a.func,x:n.a.number,y:n.a.number};var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&IB(t,e);var n,A=yB(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){}},{key:"render",value:function(){return j.a.createElement(EB,this.props)}}])&&CB(t.prototype,e),n&&CB(t,n),o}(j.a.Component),MB=(t.propTypes={locale:n.a.string.isRequired},Object(A.b)(function(e){return{visible:e.scratchGui.draggableModal.visible,content:e.scratchGui.draggableModal.content,title:e.scratchGui.draggableModal.title,onHelp:e.scratchGui.draggableModal.onHelp,expanded:e.scratchGui.draggableModal.expanded,x:e.scratchGui.draggableModal.x,y:e.scratchGui.draggableModal.y,isRtl:e.locales.isRtl,locale:e.locales.locale,dragging:e.scratchGui.draggableModal.dragging}},function(n){return{onCloseDraggableModal:function(){return n(Object(Nc.b)())},onShrinkExpandDraggableModal:function(){return n(Object(Nc.g)())},onDrag:function(e,t){return n(Object(Nc.d)(t.x,t.y))},onStartDrag:function(){return n(Object(Nc.h)())},onEndDrag:function(){return n(Object(Nc.f)())}}})(t));e(1453);function QB(e){return(QB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function TB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function SB(e,t){return(SB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function kB(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=vB(A);return e=o?(e=vB(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==QB(t)&&"function"!=typeof t?DB(n):t}}function DB(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vB(e){return(vB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&SB(t,e);var n,A=kB(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(DB(e),["downloadProject"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"downloadProject",value:function(){var t=this;this.props.saveProjectSb3().then(function(e){var n;t.props.onSaveFinished&&t.props.onSaveFinished(),n=e,new Promise(function(e){var t=new FileReader;t.readAsDataURL(n),t.onloadend=function(){e(t.result)}}).then(function(e){mv2Interface.savedProjectStates[slot.toString()]=e,mv2Interface.send_REST("save".concat(JSON.stringify(mv2Interface.savedProjectStates)))}),alert("Project Saved.")})}},{key:"render",value:function(){return(0,this.props.children)(this.props.className,this.downloadProject)}}])&&TB(t.prototype,e),n&&TB(t,n),o}(j.a.Component),NB=(d.propTypes={children:n.a.func,className:n.a.string,onSaveFinished:n.a.func,projectFilename:n.a.string,saveProjectSb3:n.a.func},d.defaultProps={className:""},Object(A.b)(function(e){return{saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm),projectFilename:(e=e.scratchGui.projectTitle,t=le.b,e&&0!==e.length||(e=t),"".concat(e.substring(0,100),".sb3"))};var t},function(){return{}})(d)),OB=e(149),i=e(82),u=e(87),FB=e.n(u);function RB(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function YB(e){var t=e.content,n=e.closeButton,A=e.extensionName,o=e.iconSpinner,a=e.iconURL,i=e.level,r=e.showDownload,s=e.showSaveNow,l=e.onCloseAlert,u=e.onDownload,c=e.onSaveNow,g=e.onReconnect,e=e.showReconnect;return j.a.createElement(W.a,{className:J()(FB.a.alert,FB.a[i])},(o||a)&&j.a.createElement("div",{className:FB.a.iconSection},o&&j.a.createElement(sc.a,{className:FB.a.alertSpinner,level:i}),a&&j.a.createElement("img",{className:FB.a.alertIcon,src:a})),j.a.createElement("div",{className:FB.a.alertMessage},A?j.a.createElement(z.a,{defaultMessage:"Scratch lost connection to {extensionName}.",id:"gui.alerts.lostPeripheralConnection",values:{extensionName:"".concat(A)}}):t),j.a.createElement("div",{className:FB.a.alertButtons},s&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:c},j.a.createElement(z.a,{defaultMessage:"Try Again",id:"gui.alerts.tryAgain"})),r&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:u},j.a.createElement(z.a,{defaultMessage:"Download",id:"gui.alerts.download"})),e&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:g},j.a.createElement(z.a,{defaultMessage:"Reconnect",id:"gui.connection.reconnect"})),n&&j.a.createElement(W.a,{className:FB.a.alertCloseButtonContainer},j.a.createElement(OB.a,{className:J()(FB.a.alertCloseButton),color:xB[i],size:OB.a.SIZE_LARGE,onClick:l}))))}RB(g={},i.a.SUCCESS,OB.a.COLOR_GREEN),RB(g,i.a.WARN,OB.a.COLOR_ORANGE);var xB=g,_B=(YB.propTypes={closeButton:n.a.bool,content:n.a.oneOfType([n.a.element,n.a.string]),extensionName:n.a.string,iconSpinner:n.a.bool,iconURL:n.a.string,level:n.a.string,onCloseAlert:n.a.func.isRequired,onDownload:n.a.func,onReconnect:n.a.func,onSaveNow:n.a.func,showDownload:n.a.func,showReconnect:n.a.bool,showSaveNow:n.a.bool},YB.defaultProps={level:i.a.WARN},YB),UB=e(166);function GB(e){return(GB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function LB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function PB(e,t){return(PB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HB(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=zB(A);return e=o?(e=zB(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==GB(t)&&"function"!=typeof t?jB(n):t}}function jB(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zB(e){return(zB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function JB(e){var t=e.alertsList,n=e.className,A=e.onCloseAlert;return j.a.createElement(W.a,{bounds:"parent",className:n},j.a.createElement(W.a,{className:XB.a.alertsInnerContainer},t.map(function(e,t){return j.a.createElement(KB,{closeButton:e.closeButton,content:e.content,extensionId:e.extensionId,extensionName:e.extensionName,iconSpinner:e.iconSpinner,iconURL:e.iconURL,index:t,key:t,level:e.level,message:e.message,showDownload:e.showDownload,showReconnect:e.showReconnect,showSaveNow:e.showSaveNow,onCloseAlert:A})})))}function WB(e){var t=e.alertsList,n=e.className,e=e.onCloseAlert;return j.a.createElement(qB,{alertsList:Object(We.e)(t),className:n,onCloseAlert:e})}function VB(e){var t=e.dragging,n=e.img,e=e.currentOffset;return t?j.a.createElement("div",{className:$B.a.dragLayer},j.a.createElement("div",{className:$B.a.imageWrapper,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px)")}},j.a.createElement("img",{className:$B.a.image,src:n}))):null}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&PB(t,e);var n,A=HB(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(jB(e),["handleOnCloseAlert","handleOnReconnect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleOnCloseAlert",value:function(){this.props.onCloseAlert(this.props.index)}},{key:"handleOnReconnect",value:function(){this.props.onOpenConnectionModal(this.props.extensionId),this.handleOnCloseAlert()}},{key:"render",value:function(){var n=this,e=this.props,A=e.closeButton,o=e.content,a=e.extensionName,i=(e.index,e.level),r=e.iconSpinner,s=e.iconURL,l=e.message,u=e.onSaveNow,c=e.showDownload,g=e.showReconnect,d=e.showSaveNow;return j.a.createElement(NB,null,function(e,t){return j.a.createElement(_B,{closeButton:A,content:o,extensionName:a,iconSpinner:r,iconURL:s,level:i,message:l,showDownload:c,showReconnect:g,showSaveNow:d,onCloseAlert:n.handleOnCloseAlert,onDownload:t,onReconnect:n.handleOnReconnect,onSaveNow:u})})}}])&&LB(t.prototype,e),n&&LB(t,n),o}(j.a.Component),KB=(a.propTypes={closeButton:n.a.bool,content:n.a.element,extensionId:n.a.string,extensionName:n.a.string,iconSpinner:n.a.bool,iconURL:n.a.string,index:n.a.number,level:n.a.string.isRequired,message:n.a.string,onCloseAlert:n.a.func.isRequired,onOpenConnectionModal:n.a.func,onSaveNow:n.a.func,showDownload:n.a.bool,showReconnect:n.a.bool,showSaveNow:n.a.bool},Object(A.b)(function(){return{}},function(t){return{onOpenConnectionModal:function(e){t(Object(UB.c)(e)),t(Object(R.n)())},onSaveNow:function(){t(Object(r.w)())}}})(a)),t=e(801),XB=e.n(t),qB=(JB.propTypes={alertsList:n.a.arrayOf(n.a.object),className:n.a.string,onCloseAlert:n.a.func},JB),ZB=(WB.propTypes={alertsList:n.a.arrayOf(n.a.object),className:n.a.string,onCloseAlert:n.a.func},Object(A.b)(function(e){return{alertsList:e.scratchGui.alerts.alertsList}},function(t){return{onCloseAlert:function(e){return t(Object(We.b)(e))}}})(WB)),d=e(328),$B=e.n(d),u=(VB.propTypes={currentOffset:n.a.shape({x:n.a.number.isRequired,y:n.a.number.isRequired}),dragging:n.a.bool.isRequired,img:n.a.string},VB),ef=Object(A.b)(function(e){return{dragging:e.scratchGui.assetDrag.dragging,currentOffset:e.scratchGui.assetDrag.currentOffset,img:e.scratchGui.assetDrag.img}})(u),g=e(42),i=e.n(g),a=e(8),w=e.n(a);function tf(e){return(tf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Af(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function of(e,t){return(of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function af(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=sf(A);return e=o?(e=sf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==tf(t)&&"function"!=typeof t?rf(n):t}}function rf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sf(e){return(sf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&of(t,e);var n,A=af(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(rf(e),["handleConnecting"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleConnecting",value:function(){this.props.onConnecting(this.props.peripheralId)}},{key:"render",value:function(){return j.a.createElement(W.a,{className:w.a.peripheralTile},j.a.createElement(W.a,{className:w.a.peripheralTileName},j.a.createElement("img",{className:w.a.peripheralTileImage,src:this.props.connectionSmallIconURL}),j.a.createElement(W.a,{className:w.a.peripheralTileNameWrapper},j.a.createElement(W.a,{className:w.a.peripheralTileNameLabel},j.a.createElement(z.a,{defaultMessage:"Device name",id:"gui.connection.peripheral-name-label"})),j.a.createElement(W.a,{className:w.a.peripheralTileNameText},this.props.name))),j.a.createElement(W.a,{className:w.a.peripheralTileWidgets},j.a.createElement(W.a,{className:w.a.signalStrengthMeter},j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-80<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-60<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-40<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-20<this.props.rssi))})),j.a.createElement("button",{onClick:this.handleConnecting},j.a.createElement(z.a,{defaultMessage:"Connect",id:"gui.connection.connect"}))))}}])&&Af(t.prototype,e),n&&Af(t,n),o}(j.a.Component),lf=(t.propTypes={connectionSmallIconURL:n.a.string,name:n.a.string,onConnecting:n.a.func,peripheralId:n.a.string,rssi:n.a.number},t);function uf(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function cf(A){var e;return j.a.createElement(W.a,{className:J()(A.className,w.a.dotsRow)},j.a.createElement("div",{className:J()(w.a.dotsHolder,(uf(e={},w.a.dotsHolderError,A.error),uf(e,w.a.dotsHolderSuccess,A.success),e))},Array(A.total).fill(0).map(function(e,t){var n="inactive";return A.counter===t&&(n="active"),A.success&&(n="success"),A.error&&(n="error"),j.a.createElement(df,{key:"dot-".concat(t),type:n})})))}function gf(t){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},t.scanning?0===t.peripheralList.length?j.a.createElement("div",{className:w.a.activityAreaInfo},j.a.createElement("div",{className:w.a.centeredRow},j.a.createElement("img",{className:J()(w.a.radarSmall,w.a.radarSpin),src:pf.a}),j.a.createElement(z.a,{defaultMessage:"Looking for devices",id:"gui.connection.scanning.lookingforperipherals"}))):j.a.createElement("div",{className:w.a.peripheralTilePane},t.peripheralList.map(function(e){return j.a.createElement(lf,{connectionSmallIconURL:t.connectionSmallIconURL,key:e.peripheralId,name:e.name,peripheralId:e.peripheralId,rssi:e.rssi,onConnecting:t.onConnecting})})):j.a.createElement(W.a,{className:w.a.instructions},j.a.createElement(z.a,{defaultMessage:"No devices found",id:"gui.connection.scanning.noPeripheralsFound"}))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Select your device in the list above.",id:"gui.connection.scanning.instructions"})),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:0,total:3}),j.a.createElement("button",{className:J()(w.a.bottomAreaItem,w.a.connectionButton),onClick:t.onRefresh},j.a.createElement(z.a,{defaultMessage:"Refresh",id:"gui.connection.search"}),j.a.createElement("img",{className:w.a.buttonIconRight,src:mf.a}))))}cf.propTypes={className:n.a.string,counter:n.a.number,error:n.a.bool,success:n.a.bool,total:n.a.number};var df=function(e){var t;return j.a.createElement("div",{className:J()(w.a.dot,(uf(t={},w.a.inactiveStepDot,"inactive"===e.type),uf(t,w.a.activeStepDot,"active"===e.type),uf(t,w.a.successDot,"success"===e.type),uf(t,w.a.errorDot,"error"===e.type),t))})},hf=(df.propTypes={type:n.a.string},cf),d=e(238),pf=e.n(d),u=e(802),mf=e.n(u),Bf=(gf.propTypes={connectionSmallIconURL:n.a.string,onConnecting:n.a.func,onRefresh:n.a.func,peripheralList:n.a.arrayOf(n.a.shape({name:n.a.string,rssi:n.a.number,peripheralId:n.a.string})),scanning:n.a.bool.isRequired},gf.defaultProps={peripheralList:[],scanning:!0},gf);function ff(e){return(ff="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ef(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function wf(e,t){return(wf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cf(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=yf(A);return e=o?(e=yf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ff(t)&&"function"!=typeof t?If(n):t}}function If(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yf(e){return(yf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement("div",{className:w.a.activityAreaInfo},j.a.createElement("div",{className:w.a.centeredRow},e.phase===kf.prescan&&j.a.createElement(j.a.Fragment,null,j.a.createElement("img",{className:w.a.radarBig,src:pf.a}),j.a.createElement("img",{className:w.a.bluetoothCenteredIcon,src:Tf.a})),e.phase===kf.pressbutton&&j.a.createElement(j.a.Fragment,null,j.a.createElement("img",{className:J()(w.a.radarBig,w.a.radarSpin),src:pf.a}),j.a.createElement("img",{className:w.a.connectionTipIcon,src:e.connectionTipIconURL})),e.phase===kf.notfound&&j.a.createElement(W.a,{className:w.a.instructions},j.a.createElement(z.a,{defaultMessage:"No devices found",id:"gui.connection.auto-scanning.noPeripheralsFound"}))))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},e.phase===kf.prescan&&j.a.createElement(z.a,{defaultMessage:"Have your device nearby, then begin searching.",id:"gui.connection.auto-scanning.prescan"}),e.phase===kf.pressbutton&&j.a.createElement(z.a,{defaultMessage:"Press the button on your device.",id:"gui.connection.auto-scanning.pressbutton"})),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:0,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},e.phase===kf.prescan&&j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onStartScan},j.a.createElement(z.a,{defaultMessage:"Start Searching",id:"gui.connection.auto-scanning.start-search"})),e.phase===kf.pressbutton&&j.a.createElement("div",{className:w.a.segmentedButton},j.a.createElement("button",{disabled:!0,className:w.a.connectionButton},j.a.createElement(z.a,{defaultMessage:"Searching...",id:"gui.connection.connecting-searchbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onRefresh},j.a.createElement("img",{className:w.a.abortConnectingIcon,src:Qf.a}))),e.phase===kf.notfound&&j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onRefresh},j.a.createElement("img",{className:w.a.buttonIconLeft,src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.auto-scanning.try-again"})))))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&wf(t,e);var n,A=Cf(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(If(e),["handlePeripheralListUpdate","handlePeripheralScanTimeout","handleRefresh"]),e.state={scanning:!0,peripheralList:[]},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.scanForPeripheral(this.props.extensionId),this.props.vm.on("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.on("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"handlePeripheralScanTimeout",value:function(){this.setState({scanning:!1,peripheralList:[]})}},{key:"handlePeripheralListUpdate",value:function(t){var e=Object.keys(t).map(function(e){return t[e]});this.setState({peripheralList:e})}},{key:"handleRefresh",value:function(){this.props.vm.scanForPeripheral(this.props.extensionId),this.setState({scanning:!0,peripheralList:[]})}},{key:"render",value:function(){return j.a.createElement(Bf,{connectionSmallIconURL:this.props.connectionSmallIconURL,peripheralList:this.state.peripheralList,phase:this.state.phase,scanning:this.state.scanning,title:this.props.extensionId,onConnected:this.props.onConnected,onConnecting:this.props.onConnecting,onRefresh:this.handleRefresh})}}])&&Ef(t.prototype,e),n&&Ef(t,n),o}(j.a.Component),Mf=(g.propTypes={connectionSmallIconURL:n.a.string,extensionId:n.a.string.isRequired,onConnected:n.a.func.isRequired,onConnecting:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},g),a=e(146),Qf=e.n(a),t=e(192),Tf=e.n(t),d=e(193),Sf=e.n(d),kf=i()({prescan:null,pressbutton:null,notfound:null});function Df(e){return(Df="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vf(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Nf(e,t){return(Nf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Of(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Rf(A);return e=o?(e=Rf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Df(t)&&"function"!=typeof t?Ff(n):t}}function Ff(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Rf(e){return(Rf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}bf.propTypes={connectionTipIconURL:n.a.string,onRefresh:n.a.func,onStartScan:n.a.func,phase:n.a.oneOf(Object.keys(kf))},bf.defaultProps={phase:kf.prescan};function Yf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL}),j.a.createElement("img",{className:w.a.bluetoothConnectingIcon,src:Tf.a})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},e.connectingMessage),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:1,total:3}),j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.segmentedButton)},j.a.createElement("button",{disabled:!0,className:w.a.connectionButton},j.a.createElement(z.a,{defaultMessage:"Connecting...",id:"gui.connection.connecting-cancelbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onDisconnect},j.a.createElement("img",{className:w.a.abortConnectingIcon,src:Qf.a})))))}function xf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL}),j.a.createElement("img",{className:w.a.bluetoothConnectedIcon,src:Tf.a})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Connected",id:"gui.connection.connected"})),j.a.createElement(hf,{success:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.cornerButtons)},j.a.createElement("button",{className:J()(w.a.redButton,w.a.connectionButton),onClick:e.onDisconnect},j.a.createElement(z.a,{defaultMessage:"Disconnect",id:"gui.connection.disconnect"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onCancel},j.a.createElement(z.a,{defaultMessage:"Go to Editor",id:"gui.connection.go-to-editor"})))))}function _f(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Oops, looks like something went wrong.",id:"gui.connection.error.errorMessage"})),j.a.createElement(hf,{error:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onScanning},j.a.createElement("img",{className:J()(w.a.buttonIconLeft,w.a.buttonIconBack),src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.error.tryagainbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onHelp},j.a.createElement("img",{className:w.a.buttonIconLeft,src:jf.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.connection.error.helpbutton"})))))}function Uf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement("div",{className:w.a.scratchLinkHelp},j.a.createElement("div",{className:w.a.scratchLinkHelpStep},j.a.createElement("div",{className:w.a.helpStepNumber},"1"),j.a.createElement("div",{className:w.a.helpStepImage},j.a.createElement("img",{className:w.a.scratchLinkIcon,src:Wf.a})),j.a.createElement("div",{className:w.a.helpStepText},j.a.createElement(z.a,{defaultMessage:"Make sure you have Scratch Link installed and running",id:"gui.connection.unavailable.installscratchlink"}))),j.a.createElement("div",{className:w.a.scratchLinkHelpStep},j.a.createElement("div",{className:w.a.helpStepNumber},"2"),j.a.createElement("div",{className:w.a.helpStepImage},j.a.createElement("img",{className:w.a.scratchLinkIcon,src:Jf.a})),j.a.createElement("div",{className:w.a.helpStepText},j.a.createElement(z.a,{defaultMessage:"Check that Bluetooth is enabled",id:"gui.connection.unavailable.enablebluetooth"}))))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(hf,{error:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onScanning},j.a.createElement("img",{className:J()(w.a.buttonIconLeft,w.a.buttonIconBack),src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.unavailable.tryagainbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onHelp},j.a.createElement("img",{className:w.a.buttonIconLeft,src:jf.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.connection.unavailable.helpbutton"})))))}function Gf(e){return j.a.createElement(cl.a,{className:w.a.modalContent,contentLabel:e.name,headerClassName:w.a.header,headerImage:e.connectionSmallIconURL,id:"connectionModal",onHelp:e.onHelp,onRequestClose:e.onCancel},j.a.createElement(W.a,{className:w.a.body},e.phase===Kf.scanning&&!e.useAutoScan&&j.a.createElement(Mf,e),e.phase===Kf.scanning&&e.useAutoScan&&j.a.createElement(Lf,e),e.phase===Kf.connecting&&j.a.createElement(Pf,e),e.phase===Kf.connected&&j.a.createElement(Hf,e),e.phase===Kf.error&&j.a.createElement(zf,e),e.phase===Kf.unavailable&&j.a.createElement(Vf,e)))}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Nf(t,e);var n,A=Of(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ff(e),["handlePeripheralListUpdate","handlePeripheralScanTimeout","handleStartScan","handleRefresh"]),e.state={phase:kf.prescan},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){this.unbindPeripheralUpdates()}},{key:"handlePeripheralScanTimeout",value:function(){this.setState({phase:kf.notfound}),this.unbindPeripheralUpdates()}},{key:"handlePeripheralListUpdate",value:function(t){var e=Object.keys(t).map(function(e){return t[e]});0<e.length&&this.props.onConnecting(e[0].peripheralId)}},{key:"bindPeripheralUpdates",value:function(){this.props.vm.on("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.on("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"unbindPeripheralUpdates",value:function(){this.props.vm.removeListener("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"handleRefresh",value:function(){this.setState({phase:kf.prescan}),this.unbindPeripheralUpdates()}},{key:"handleStartScan",value:function(){this.bindPeripheralUpdates(),this.props.vm.scanForPeripheral(this.props.extensionId),this.setState({phase:kf.pressbutton})}},{key:"render",value:function(){return j.a.createElement(bf,{connectionTipIconURL:this.props.connectionTipIconURL,phase:this.state.phase,title:this.props.extensionId,onRefresh:this.handleRefresh,onStartScan:this.handleStartScan})}}])&&vf(t.prototype,e),n&&vf(t,n),o}(j.a.Component),Lf=(u.propTypes={connectionTipIconURL:n.a.string,extensionId:n.a.string.isRequired,onConnecting:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},u),Pf=(Yf.propTypes={connectingMessage:n.a.node.isRequired,connectionIconURL:n.a.string.isRequired,onDisconnect:n.a.func},Yf),Hf=(xf.propTypes={connectionIconURL:n.a.string.isRequired,onCancel:n.a.func,onDisconnect:n.a.func},xf),g=e(308),jf=e.n(g),zf=(_f.propTypes={connectionIconURL:n.a.string.isRequired,onHelp:n.a.func,onScanning:n.a.func},_f),a=e(803),Jf=e.n(a),t=e(804),Wf=e.n(t),Vf=(Uf.propTypes={onHelp:n.a.func,onScanning:n.a.func},Uf),Kf=i()({scanning:null,connecting:null,connected:null,error:null,unavailable:null}),Xf=(Gf.propTypes={connectingMessage:n.a.node.isRequired,connectionSmallIconURL:n.a.string,connectionTipIconURL:n.a.string,name:n.a.node,onCancel:n.a.func.isRequired,onHelp:n.a.func.isRequired,phase:n.a.oneOf(Object.keys(Kf)).isRequired,title:n.a.string.isRequired,useAutoScan:n.a.bool.isRequired},Gf.defaultProps={connectingMessage:"Connecting"},e(118));function qf(e){return(qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zf(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function $f(e,t){return($f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function e0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=n0(A);return e=o?(e=n0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==qf(t)&&"function"!=typeof t?t0(n):t}}function t0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function n0(e){return(n0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$f(t,e);var n,A=e0(o);function o(t){var e;if(this instanceof o)return e=A.call(this,t),l()(t0(e),["handleScanning","handleCancel","handleConnected","handleConnecting","handleDisconnect","handleError","handleHelp"]),e.state={extension:Xf.a.find(function(e){return e.extensionId===t.extensionId}),phase:t.vm.getPeripheralIsConnected(t.extensionId)?Kf.connected:Kf.scanning},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.on("PERIPHERAL_CONNECTED",this.handleConnected),this.props.vm.on("PERIPHERAL_REQUEST_ERROR",this.handleError)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_CONNECTED",this.handleConnected),this.props.vm.removeListener("PERIPHERAL_REQUEST_ERROR",this.handleError)}},{key:"handleScanning",value:function(){this.setState({phase:Kf.scanning})}},{key:"handleConnecting",value:function(e){this.props.vm.connectPeripheral(this.props.extensionId,e),this.setState({phase:Kf.connecting}),at.a.event({category:"extensions",action:"connecting",label:this.props.extensionId})}},{key:"handleDisconnect",value:function(){try{this.props.vm.disconnectPeripheral(this.props.extensionId)}finally{this.props.onCancel()}}},{key:"handleCancel",value:function(){try{this.props.vm.getPeripheralIsConnected(this.props.extensionId)||this.props.vm.disconnectPeripheral(this.props.extensionId)}finally{this.props.onCancel()}}},{key:"handleError",value:function(){this.state.phase===Kf.scanning||this.state.phase===Kf.unavailable?this.setState({phase:Kf.unavailable}):(this.setState({phase:Kf.error}),at.a.event({category:"extensions",action:"connecting error",label:this.props.extensionId}))}},{key:"handleConnected",value:function(){this.setState({phase:Kf.connected}),at.a.event({category:"extensions",action:"connected",label:this.props.extensionId})}},{key:"handleHelp",value:function(){window.open(this.state.extension.helpLink,"_blank"),at.a.event({category:"extensions",action:"help",label:this.props.extensionId})}},{key:"render",value:function(){return j.a.createElement(Gf,{connectingMessage:this.state.extension&&this.state.extension.connectingMessage,connectionIconURL:this.state.extension&&this.state.extension.connectionIconURL,connectionSmallIconURL:this.state.extension&&this.state.extension.connectionSmallIconURL,connectionTipIconURL:this.state.extension&&this.state.extension.connectionTipIconURL,extensionId:this.props.extensionId,name:this.state.extension&&this.state.extension.name,phase:this.state.phase,title:this.props.extensionId,useAutoScan:this.state.extension&&this.state.extension.useAutoScan,vm:this.props.vm,onCancel:this.handleCancel,onConnected:this.handleConnected,onConnecting:this.handleConnecting,onDisconnect:this.handleDisconnect,onHelp:this.handleHelp,onScanning:this.handleScanning})}}])&&Zf(t.prototype,e),n&&Zf(t,n),o}(j.a.Component),A0=(d.propTypes={extensionId:n.a.string.isRequired,onCancel:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{extensionId:e.scratchGui.connectionModal.extensionId}},function(e){return{onCancel:function(){e(Object(R.b)())}}})(d)),u=e(97),o0=e.n(u);function a0(e){return(a0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i0(){return(i0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function r0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function s0(e,t){return(s0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=c0(A);return e=o?(e=c0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==a0(t)&&"function"!=typeof t?u0(n):t}}function u0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c0(e){return(c0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g0(e){var t=e.isFullScreen,n=e.isPlayerOnly,A=e.onKeyPress,o=e.onSetStageLarge,a=e.onSetStageSmall,i=e.onSetStageUnFull,r=e.showBranding,s=e.stageSizeMode,l=e.vm;return t?(t=Gd(null,!0),r=r?j.a.createElement("div",{className:b0.a.embedScratchLogo},j.a.createElement("a",{href:"https://scratch.mit.edu",rel:"noopener noreferrer",target:"_blank"},j.a.createElement("img",{alt:"Scratch",src:Xd.a}))):j.a.createElement(Gg.a,{className:b0.a.stageButton,onClick:i,onKeyPress:A},j.a.createElement("img",{alt:e.intl.formatMessage(M0.unFullStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:y0.a,title:e.intl.formatMessage(M0.fullscreenControl)})),j.a.createElement(W.a,{className:b0.a.stageHeaderWrapperOverlay},j.a.createElement(W.a,{className:b0.a.stageMenuWrapper,style:{width:t.width}},j.a.createElement(Jd.a,{vm:l}),r))):(i=n?[]:j.a.createElement("div",{className:b0.a.stageSizeToggleGroup},j.a.createElement("div",null,j.a.createElement(Gg.a,{className:J()(b0.a.stageButton,b0.a.stageButtonFirst,s===V.d.small?null:b0.a.stageButtonToggledOff),onClick:a},j.a.createElement("img",{alt:e.intl.formatMessage(M0.smallStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:I0.a}))),j.a.createElement("div",null,j.a.createElement(Gg.a,{className:J()(b0.a.stageButton,b0.a.stageButtonLast,s===V.d.large?null:b0.a.stageButtonToggledOff),onClick:o},j.a.createElement("img",{alt:e.intl.formatMessage(M0.largeStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:C0.a})))),j.a.createElement(W.a,{className:b0.a.stageHeaderWrapper},j.a.createElement(W.a,{className:b0.a.stageMenuWrapper},j.a.createElement("div",{className:b0.a.stageSizeRow},i))))}var d0=Object(z.d)({label:{id:"gui.telemetryOptIn.label",defaultMessage:"Report statistics to improve Scratch"},bodyText1:{id:"gui.telemetryOptIn.body1",defaultMessage:"The Scratch Team is always looking to better understand how Scratch is used around the world. To help support this effort, you can allow Scratch to automatically send usage information to the Scratch Team."},bodyText2:{id:"gui.telemetryOptIn.body2",defaultMessage:"The information we collect includes language selection, blocks usage, and some events like saving, loading, and uploading a project. We DO NOT collect any personal information. Please see our {privacyPolicyLink} for more information."},privacyPolicyLink:{id:"gui.telemetryOptIn.privacyPolicyLink",defaultMessage:"Privacy Policy"},optInText:{id:"gui.telemetryOptIn.optInText",defaultMessage:"Share my usage data with the Scratch Team"},optInTooltip:{id:"gui.telemetryOptIn.optInTooltip",defaultMessage:"Enable telemetry"},optOutText:{id:"gui.telemetryOptIn.optOutText",defaultMessage:"Do not share my usage data with the Scratch Team"},optOutTooltip:{id:"gui.telemetryOptIn.optOutTooltip",defaultMessage:"Disable telemetry"},settingWasUpdated:{id:"gui.telemetryOptIn.settingWasUpdated",defaultMessage:"Your setting was updated."},closeButton:{id:"gui.telemetryOptIn.buttonClose",defaultMessage:"Close"}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s0(t,e);var n,A=l0(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(u0(e),["handleCancel","handleOptInOutChanged"]),e.state={settingWasUpdatedTimer:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){this.state.settingWasUpdatedTimer&&clearTimeout(this.state.settingWasUpdatedTimer)}},{key:"handleCancel",value:function(){this.props.onRequestClose(),this.props.onCancel&&this.props.onCancel()}},{key:"handleOptInOutChanged",value:function(e){"true"===e.target.value?this.props.onOptIn&&(this.props.onOptIn(),this.handleSettingWasUpdated()):"false"===e.target.value&&this.props.onOptOut&&(this.props.onOptOut(),this.handleSettingWasUpdated())}},{key:"handleSettingWasUpdated",value:function(){var e=this,t=(this.state.settingWasUpdatedTimer&&clearTimeout(this.state.settingWasUpdatedTimer),setTimeout(function(){return e.handleSettingWasUpdatedTimeout(t)},3e3));this.setState({settingWasUpdatedTimer:t})}},{key:"handleSettingWasUpdatedTimeout",value:function(e){e===this.state.settingWasUpdatedTimer&&this.setState({settingWasUpdatedTimer:null})}},{key:"render",value:function(){var e="boolean"!=typeof this.props.isTelemetryEnabled,t=!1===this.props.isTelemetryEnabled,n=!0===this.props.isTelemetryEnabled,A=this.state.settingWasUpdatedTimer&&j.a.createElement(z.a,d0.settingWasUpdated);return j.a.createElement(F.a,{isOpen:!0,className:o0.a.modalContent,contentLabel:this.props.intl.formatMessage(d0.label),overlayClassName:o0.a.modalOverlay,onRequestClose:this.handleCancel},j.a.createElement("div",{dir:this.props.isRtl?"rtl":"ltr"},j.a.createElement(W.a,{className:o0.a.illustration}),j.a.createElement(W.a,{className:o0.a.body},j.a.createElement("p",null,j.a.createElement(z.a,d0.bodyText1)),j.a.createElement("p",null,j.a.createElement(z.a,i0({},d0.bodyText2,{values:{privacyPolicyLink:j.a.createElement("a",{className:o0.a.privacyPolicyLink,href:"https://scratch.mit.edu/privacy_policy/",onClick:this.props.onShowPrivacyPolicy,target:"_blank",rel:"noopener noreferrer"},j.a.createElement(z.a,d0.privacyPolicyLink))}}))),j.a.createElement(W.a,{className:o0.a.radioButtons},j.a.createElement("label",{className:n?o0.a.labelSelected:null},j.a.createElement("input",{name:"optInOut",type:"radio",value:"true",title:this.props.intl.formatMessage(d0.optInTooltip),checked:!0===this.props.isTelemetryEnabled,onChange:this.handleOptInOutChanged}),j.a.createElement(z.a,d0.optInText)),j.a.createElement("label",{className:t?o0.a.labelSelected:null},j.a.createElement("input",{name:"optInOut",type:"radio",value:"false",title:this.props.intl.formatMessage(d0.optOutTooltip),checked:!1===this.props.isTelemetryEnabled,onChange:this.handleOptInOutChanged}),j.a.createElement(z.a,d0.optOutText))),j.a.createElement(W.a,{className:o0.a.buttonRow},j.a.createElement("span",{className:o0.a.settingWasUpdated,key:this.state.settingWasUpdatedTimer},A),j.a.createElement("button",{className:o0.a.optIn,onClick:this.props.onRequestClose,disabled:e},j.a.createElement(z.a,d0.closeButton))))))}}])&&r0(t.prototype,e),n&&r0(t,n),o}(j.a.PureComponent),h0=(g.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,isTelemetryEnabled:n.a.bool,onCancel:n.a.func,onOptIn:n.a.func.isRequired,onOptOut:n.a.func.isRequired,onRequestClose:n.a.func,onShowPrivacyPolicy:n.a.func},Object(z.e)(g)),a=e(47),K=e.n(a),t=e(805),p0=e.n(t),i=e(806),m0=e.n(i),d=e(807),B0=e.n(d),u=e(808),f0=e.n(u),g=e(809),E0=e.n(g),a=e(810),w0=e.n(a),t=(e(1461),e(811)),C0=e.n(t),i=e(812),I0=e.n(i),d=e(813),y0=e.n(d),u=e(63),b0=e.n(u),M0=Object(z.d)({largeStageSizeMessage:{id:"gui.stageHeader.stageSizeLarge",defaultMessage:"Switch to large stage"},smallStageSizeMessage:{id:"gui.stageHeader.stageSizeSmall",defaultMessage:"Switch to small stage"},fullStageSizeMessage:{id:"gui.stageHeader.stageSizeFull",defaultMessage:"Enter full screen mode"},unFullStageSizeMessage:{id:"gui.stageHeader.stageSizeUnFull",defaultMessage:"Exit full screen mode"},fullscreenControl:{id:"gui.stageHeader.fullscreenControl",defaultMessage:"Full Screen Control"}}),Q0=(g0.propTypes={intl:z.f,isFullScreen:n.a.bool.isRequired,isPlayerOnly:n.a.bool.isRequired,onKeyPress:n.a.func.isRequired,onSetStageFull:n.a.func.isRequired,onSetStageLarge:n.a.func.isRequired,onSetStageSmall:n.a.func.isRequired,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool.isRequired,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},g0.defaultProps={stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(g0)));function T0(e){return(T0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S0(){return(S0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function k0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function D0(e,t){return(D0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=O0(A);return e=o?(e=O0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==T0(t)&&"function"!=typeof t?N0(n):t}}function N0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O0(e){return(O0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&D0(t,e);var n,A=v0(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(N0(e),["handleKeyPress"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){"Escape"===e.key&&this.props.isFullScreen&&this.props.onSetStageUnFull(!1)}},{key:"render",value:function(){var e=S0({},this.props);return j.a.createElement(Q0,S0({},e,{onKeyPress:this.handleKeyPress}))}}])&&k0(t.prototype,e),n&&k0(t,n),o}(j.a.Component),F0=(g.propTypes={isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize,showBranding:e.scratchGui.mode.showBranding,isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly}},function(e){return{onSetStageLarge:function(){return e(Object(jd.b)(V.d.large))},onSetStageSmall:function(){return e(Object(jd.b)(V.d.small))},onSetStageFull:function(){return e(Object(zd.c)(!0))},onSetStageUnFull:function(){return e(Object(zd.c)(!1))}}})(g)),R0=e(112);function Y0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function x0(e){var t=e.categoryColor,n=e.label,e=e.value;return j.a.createElement("div",{className:y.a.defaultMonitor},j.a.createElement("div",{className:y.a.row},j.a.createElement("div",{className:y.a.label},n),j.a.createElement("div",{className:y.a.value,style:{background:t}},e)))}function _0(e){var t=e.categoryColor,e=e.value;return j.a.createElement("div",{className:y.a.largeMonitor},j.a.createElement("div",{className:y.a.largeValue,style:{background:t}},e))}function U0(e,t,n){return(t?e.runtime.getTargetById(t):e.runtime.getTargetForStage()).variables[n]}function G0(e,t,n){return(e=U0(e,t,n)).value instanceof Array?e.value.slice():e.value}function L0(e,t,n,A){U0(e,t,n).value=A}function P0(e){var t=e.categoryColor,n=e.isDiscrete,A=e.label,o=e.min,a=e.max,i=e.value,e=e.onSliderUpdate;return j.a.createElement("div",{className:y.a.defaultMonitor},j.a.createElement("div",{className:y.a.row},j.a.createElement("div",{className:y.a.label},A),j.a.createElement("div",{className:y.a.value,style:{background:t}},i)),j.a.createElement("div",{className:y.a.row},j.a.createElement("input",{className:J()(y.a.slider,"no-drag"),max:a,min:o,step:n?1:.01,type:"range",value:i,onChange:e})))}var I=Object(z.d)({motion_direction:{id:"gui.opcodeLabels.direction",defaultMessage:"direction"},motion_xposition:{id:"gui.opcodeLabels.xposition",defaultMessage:"x position"},motion_yposition:{id:"gui.opcodeLabels.yposition",defaultMessage:"y position"},looks_size:{id:"gui.opcodeLabels.size",defaultMessage:"size"},looks_costumename:{id:"gui.opcodeLabels.costumename",defaultMessage:"costume name"},looks_costumenumber:{id:"gui.opcodeLabels.costumenumber",defaultMessage:"costume number"},looks_backdropname:{id:"gui.opcodeLabels.backdropname",defaultMessage:"backdrop name"},looks_backdropnumber:{id:"gui.opcodeLabels.backdropnumber",defaultMessage:"backdrop number"},sound_volume:{id:"gui.opcodeLabels.volume",defaultMessage:"volume"},sound_tempo:{id:"gui.opcodeLabels.tempo",defaultMessage:"tempo"},sensing_answer:{id:"gui.opcodeLabels.answer",defaultMessage:"answer"},sensing_loudness:{id:"gui.opcodeLabels.loudness",defaultMessage:"loudness"},sensing_username:{id:"gui.opcodeLabels.username",defaultMessage:"username"},sensing_current_year:{id:"gui.opcodeLabels.year",defaultMessage:"year"},sensing_current_month:{id:"gui.opcodeLabels.month",defaultMessage:"month"},sensing_current_date:{id:"gui.opcodeLabels.date",defaultMessage:"date"},sensing_current_dayofweek:{id:"gui.opcodeLabels.dayofweek",defaultMessage:"day of week"},sensing_current_hour:{id:"gui.opcodeLabels.hour",defaultMessage:"hour"},sensing_current_minute:{id:"gui.opcodeLabels.minute",defaultMessage:"minute"},sensing_current_second:{id:"gui.opcodeLabels.second",defaultMessage:"second"},sensing_timer:{id:"gui.opcodeLabels.timer",defaultMessage:"timer"}}),H0=new(function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this._translator=function(e){return e.defaultMessage},this._opcodeMap={motion_direction:{category:"motion"},motion_xposition:{category:"motion"},motion_yposition:{category:"motion"},looks_size:{category:"looks"},looks_costumenumbername:{category:"looks"},looks_backdropnumbername:{category:"looks"},looks_backdropname:{category:"looks"},data_variable:{category:"data"},data_listcontents:{category:"list"},sound_volume:{category:"sound"},sound_tempo:{category:"sound"},sensing_answer:{category:"sensing"},sensing_loudness:{category:"sensing"},sensing_username:{category:"sensing"},sensing_current:{category:"sensing"},sensing_timer:{category:"sensing"}},this._refreshOpcodeMap()}var t,n,A;return t=e,(n=[{key:"setTranslatorFunction",value:function(e){this._translator=e,this._refreshOpcodeMap()}},{key:"_refreshOpcodeMap",value:function(){var t=this;this._opcodeMap.motion_direction.labelFn=function(){return t._translator(I.motion_direction)},this._opcodeMap.motion_xposition.labelFn=function(){return t._translator(I.motion_xposition)},this._opcodeMap.motion_yposition.labelFn=function(){return t._translator(I.motion_yposition)},this._opcodeMap.looks_size.labelFn=function(){return t._translator(I.looks_size)},this._opcodeMap.looks_costumenumbername.labelFn=function(e){return"number"===e.NUMBER_NAME?t._translator(I.looks_costumenumber):t._translator(I.looks_costumename)},this._opcodeMap.looks_backdropnumbername.labelFn=function(e){return"number"===e.NUMBER_NAME?t._translator(I.looks_backdropnumber):t._translator(I.looks_backdropname)},this._opcodeMap.looks_backdropname.labelFn=function(){return t._translator(I.looks_backdropname)},this._opcodeMap.data_variable.labelFn=function(e){return e.VARIABLE},this._opcodeMap.data_listcontents.labelFn=function(e){return e.LIST},this._opcodeMap.sound_volume.labelFn=function(){return t._translator(I.sound_volume)},this._opcodeMap.sound_tempo.labelFn=function(){return t._translator(I.sound_tempo)},this._opcodeMap.sensing_answer.labelFn=function(){return t._translator(I.sensing_answer)},this._opcodeMap.sensing_loudness.labelFn=function(){return t._translator(I.sensing_loudness)},this._opcodeMap.sensing_username.labelFn=function(){return t._translator(I.sensing_username)},this._opcodeMap.sensing_current.labelFn=function(e){switch(e.CURRENTMENU.toLowerCase()){case"year":return t._translator(I.sensing_current_year);case"month":return t._translator(I.sensing_current_month);case"date":return t._translator(I.sensing_current_date);case"dayofweek":return t._translator(I.sensing_current_dayofweek);case"hour":return t._translator(I.sensing_current_hour);case"minute":return t._translator(I.sensing_current_minute);case"second":return t._translator(I.sensing_current_second)}},this._opcodeMap.sensing_timer.labelFn=function(){return t._translator(I.sensing_timer)}}},{key:"getLabel",value:function(e){return e in this._opcodeMap?this._opcodeMap[e]:{category:"extension",label:e}}}])&&Y0(t.prototype,n),A&&Y0(t,A),e}()),j0=e(50),z0=e.n(j0),a=e(31),y=e.n(a),t=(x0.propTypes={categoryColor:n.a.string.isRequired,label:n.a.string.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},x0),i=(_0.propTypes={categoryColor:n.a.string,value:n.a.oneOfType([n.a.string,n.a.number])},_0),J0=(P0.propTypes={categoryColor:n.a.string.isRequired,isDiscrete:n.a.bool,label:n.a.string.isRequired,max:n.a.number,min:n.a.number,onSliderUpdate:n.a.func.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},P0.defaultProps={isDiscrete:!0,min:0,max:100},P0);function W0(e){return(W0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var V0=["vm","value"];function K0(){return(K0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function X0(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function q0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Z0(e,t){return(Z0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=tE(A);return e=o?(e=tE(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==W0(t)&&"function"!=typeof t?eE(n):t}}function eE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tE(e){return(tE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Z0(t,e);var n,A=$0(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(eE(t),["handleSliderUpdate"]),t.state={value:e.value},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){this.state.value!==e.value&&this.setState({value:e.value})}},{key:"handleSliderUpdate",value:function(e){this.setState({value:Number(e.target.value)});var t=this.props,n=t.vm,A=t.targetId,t=t.id;L0(n,A,t,Number(e.target.value))}},{key:"render",value:function(){var e=this.props,e=(e.vm,e.value,X0(e,V0));return j.a.createElement(J0,K0({},e,{value:this.state.value,onSliderUpdate:this.handleSliderUpdate}))}}])&&q0(t.prototype,e),n&&q0(t,n),o}(j.a.Component),u=(d.propTypes={id:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.number,n.a.string]),vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(d)),g=e(35),nE=e.n(g),a=e(22),b=e.n(a),d=e(23),g=e.n(d),a=e(29),AE=e.n(a),d=e(36),a=e.n(d),d=e(99),Q=e(309),oE=e.n(Q),Q=e(20),T=e.n(Q);function aE(e){var t=e.cellCount,n=e.cellSize,A=e.computeMetadataCallback,o=e.computeMetadataCallbackProps,a=e.nextCellsCount,i=e.nextCellSize,r=e.nextScrollToIndex,s=e.scrollToIndex,e=e.updateScrollOffsetForScrollToIndex;t===a&&("number"!=typeof n&&"number"!=typeof i||n===i)||(A(o),0<=s&&s===r&&e())}var Q=e(124),iE=e.n(Q);function rE(e){var t=e.cellCount,n=e.cellSizeGetter,e=e.estimatedCellSize;b()(this,rE),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=n,this._cellCount=t,this._estimatedCellSize=e}g()(rE,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,n=e.estimatedCellSize,e=e.cellSizeGetter;this._cellCount=t,this._estimatedCellSize=n,this._cellSizeGetter=e}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index "+e+" is outside of range 0.."+this._cellCount);if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),n=t.offset+t.size,A=this._lastMeasuredIndex+1;A<=e;A++){var o=this._cellSizeGetter({index:A});if(void 0===o||isNaN(o))throw Error("Invalid size returned for cell "+A+" of value "+o);null===o?(this._cellSizeAndPositionData[A]={offset:n,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[A]={offset:n,size:o},n+=o,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return 0<=this._lastMeasuredIndex?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,t=void 0===t?"auto":t,n=e.containerSize,A=e.currentOffset,e=e.targetIndex;if(n<=0)return 0;var o=this.getSizeAndPositionOfCell(e),a=o.offset,i=a-n+o.size,r=void 0;switch(t){case"start":r=a;break;case"end":r=i;break;case"center":r=a-(n-o.size)/2;break;default:r=Math.max(i,Math.min(a,A))}e=this.getTotalSize();return Math.max(0,Math.min(e-n,r))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,n=e.offset;if(0===this.getTotalSize())return{};for(var A=n+t,e=this._findNearestCell(n),t=this.getSizeAndPositionOfCell(e),n=t.offset+t.size,o=e;n<A&&o<this._cellCount-1;)n+=this.getSizeAndPositionOfCell(++o).size;return{start:e,stop:o}}},{key:"resetCell",value:function(e){this._lastMeasuredIndex=Math.min(this._lastMeasuredIndex,e-1)}},{key:"_binarySearch",value:function(e,t,n){for(;t<=e;){var A=t+Math.floor((e-t)/2),o=this.getSizeAndPositionOfCell(A).offset;if(o===n)return A;o<n?t=A+1:n<o&&(e=A-1)}return 0<t?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var n=1;e<this._cellCount&&this.getSizeAndPositionOfCell(e).offset<t;)e+=n,n*=2;return this._binarySearch(Math.min(e,this._cellCount-1),Math.floor(e/2),t)}},{key:"_findNearestCell",value:function(e){if(isNaN(e))throw Error("Invalid offset "+e+" specified");e=Math.max(0,e);var t=this.getSizeAndPositionOfLastMeasuredCell(),n=Math.max(0,this._lastMeasuredIndex);return t.offset>=e?this._binarySearch(n,0,e):this._exponentialSearch(n,e)}}]);var sE=rE,lE=15e5,uE=16777100,cE=function(){return"undefined"!=typeof window},gE=function(){return!!window.chrome&&!!window.chrome.webstore};function dE(e){var t=e.maxScrollSize,t=void 0===t?cE()&&gE()?uE:lE:t,e=iE()(e,["maxScrollSize"]);b()(this,dE),this._cellSizeAndPositionManager=new sE(e),this._maxScrollSize=t}g()(dE,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize(),t=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:A});return Math.round(t*(A-n))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,t=void 0===t?"auto":t,n=e.containerSize,A=e.currentOffset,e=e.targetIndex,A=this._safeOffsetToOffset({containerSize:n,offset:A}),t=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:t,containerSize:n,currentOffset:A,targetIndex:e});return this._offsetToSafeOffset({containerSize:n,offset:t})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,e=e.offset,e=this._safeOffsetToOffset({containerSize:t,offset:e});return this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:e})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,n=e.offset,e=e.totalSize;return e<=t?0:n/(e-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize();return n===A?e:(e=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:n}),Math.round(e*(A-t)))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize();return n===A?e:(e=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:A}),Math.round(e*(n-t)))}}]);var hE=dE,Q=e(171),pE=e.n(Q);function mE(e){var o=!(0<arguments.length&&void 0!==e)||e,a={};return function(e){var t=e.callback,n=e.indices,e=pE()(n),A=!o||e.every(function(e){e=n[e];return Array.isArray(e)?0<e.length:0<=e}),e=e.length!==pE()(a).length||e.some(function(e){var t=a[e],e=n[e];return Array.isArray(e)?t.join(",")!==e.join(","):t!==e});a=n,A&&e&&t(n)}}function BE(e){var t=e.cellSize,n=e.cellSizeAndPositionManager,A=e.previousCellsCount,o=e.previousCellSize,a=e.previousScrollToAlignment,i=e.previousScrollToIndex,r=e.previousSize,s=e.scrollOffset,l=e.scrollToAlignment,u=e.scrollToIndex,c=e.size,g=e.sizeJustIncreasedFromZero,e=e.updateScrollIndexCallback,d=n.getCellCount(),h=0<=u&&u<d;h&&(c!==r||g||!o||"number"==typeof t&&t!==o||l!==a||u!==i)?e(u):!h&&0<d&&(c<r||d<A)&&s>n.getTotalSize()-c&&e(d-1)}function fE(e){bE(e.id)}function EE(t,n){var A=void 0,o=(CE.a.resolve().then(function(){A=Date.now()}),{id:yE(function e(){Date.now()-A>=n?t.call():o.id=yE(e)})});return o}var Q=e(239),wE=e.n(Q),Q=e(814),CE=e.n(Q),IE=void 0,Q=(IE="undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).requestAnimationFrame||IE.webkitRequestAnimationFrame||IE.mozRequestAnimationFrame||IE.oRequestAnimationFrame||IE.msRequestAnimationFrame||function(e){return IE.setTimeout(e,1e3/60)},S=IE.cancelAnimationFrame||IE.webkitCancelAnimationFrame||IE.mozCancelAnimationFrame||IE.oCancelAnimationFrame||IE.msCancelAnimationFrame||function(e){IE.clearTimeout(e)},yE=Q,bE=S,ME="observed",QE="requested",S=(Q=M.PureComponent,a()(k,Q),g()(k,[{key:"getOffsetForCell",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,t=void 0===t?this.props.scrollToAlignment:t,n=e.columnIndex,n=void 0===n?this.props.scrollToColumn:n,e=e.rowIndex,e=void 0===e?this.props.scrollToRow:e,t=T()({},this.props,{scrollToAlignment:t,scrollToColumn:n,scrollToRow:e});return{scrollLeft:this._getCalculatedScrollLeft(t),scrollTop:this._getCalculatedScrollTop(t)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(e){var t,n,A,o,a,i,r,s=e.scrollLeft,s=void 0===s?0:s,e=e.scrollTop,e=void 0===e?0:e;e<0||(this._debounceScrollEnded(),t=(i=this.props).autoHeight,n=i.autoWidth,r=i.height,i=i.width,A=(a=this.state.instanceProps).scrollbarSize,o=a.rowSizeAndPositionManager.getTotalSize(),a=a.columnSizeAndPositionManager.getTotalSize(),i=Math.min(Math.max(0,a-i+A),s),s=Math.min(Math.max(0,o-r+A),e),this.state.scrollLeft===i&&this.state.scrollTop===s||(r={isScrolling:!0,scrollDirectionHorizontal:i!==this.state.scrollLeft?i>this.state.scrollLeft?1:-1:this.state.scrollDirectionHorizontal,scrollDirectionVertical:s!==this.state.scrollTop?s>this.state.scrollTop?1:-1:this.state.scrollDirectionVertical,scrollPositionChangeReason:ME},t||(r.scrollTop=s),n||(r.scrollLeft=i),r.needToResetStyleCache=!1,this.setState(r)),this._invokeOnScrollMemoizer({scrollLeft:i,scrollTop:s,totalColumnsWidth:a,totalRowsHeight:o}))}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,e):e}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,e=e.rowCount,n=this.state.instanceProps;n.columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),n.rowSizeAndPositionManager.getSizeAndPositionOfCell(e-1)}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e,n=this.props,A=n.scrollToColumn,n=n.scrollToRow,o=this.state.instanceProps;o.columnSizeAndPositionManager.resetCell(t),o.rowSizeAndPositionManager.resetCell(e),this._recomputeScrollLeftFlag=0<=A&&(1===this.state.scrollDirectionHorizontal?t<=A:A<=t),this._recomputeScrollTopFlag=0<=n&&(1===this.state.scrollDirectionVertical?e<=n:n<=e),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,e=e.rowIndex,n=this.props.columnCount,A=this.props;1<n&&void 0!==t&&this._updateScrollLeftForScrollToColumn(T()({},A,{scrollToColumn:t})),void 0!==e&&this._updateScrollTopForScrollToRow(T()({},A,{scrollToRow:e}))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.getScrollbarSize,n=e.height,A=e.scrollLeft,o=e.scrollToColumn,a=e.scrollTop,i=e.scrollToRow,e=e.width,r=this.state.instanceProps,s=(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),r.scrollbarSizeMeasured||this.setState(function(e){e=T()({},e,{needToResetStyleCache:!1});return e.instanceProps.scrollbarSize=t(),e.instanceProps.scrollbarSizeMeasured=!0,e}),("number"==typeof A&&0<=A||"number"==typeof a&&0<=a)&&(s=k._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:A,scrollTop:a}))&&(s.needToResetStyleCache=!1,this.setState(s)),this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop)&&(this._scrollingContainer.scrollTop=this.state.scrollTop),0<n&&0<e);0<=o&&s&&this._updateScrollLeftForScrollToColumn(),0<=i&&s&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:A||0,scrollTop:a||0,totalColumnsWidth:r.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:r.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var n=this,A=this.props,o=A.autoHeight,a=A.autoWidth,i=A.columnCount,r=A.height,s=A.rowCount,l=A.scrollToAlignment,u=A.scrollToColumn,c=A.scrollToRow,A=A.width,g=this.state,d=g.scrollLeft,h=g.scrollPositionChangeReason,p=g.scrollTop,g=g.instanceProps,i=(this._handleInvalidatedGridSize(),0<i&&0===e.columnCount||0<s&&0===e.rowCount),s=(h===QE&&(!a&&0<=d&&(d!==this._scrollingContainer.scrollLeft||i)&&(this._scrollingContainer.scrollLeft=d),!o)&&0<=p&&(p!==this._scrollingContainer.scrollTop||i)&&(this._scrollingContainer.scrollTop=p),(0===e.width||0===e.height)&&0<r&&0<A);this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):BE({cellSizeAndPositionManager:g.columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:d,scrollToAlignment:l,scrollToIndex:u,size:A,sizeJustIncreasedFromZero:s,updateScrollIndexCallback:function(){return n._updateScrollLeftForScrollToColumn(n.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):BE({cellSizeAndPositionManager:g.rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:p,scrollToAlignment:l,scrollToIndex:c,size:r,sizeJustIncreasedFromZero:s,updateScrollIndexCallback:function(){return n._updateScrollTopForScrollToRow(n.props)}}),this._invokeOnGridRenderedHelper(),d===t.scrollLeft&&p===t.scrollTop||(h=g.rowSizeAndPositionManager.getTotalSize(),a=g.columnSizeAndPositionManager.getTotalSize(),this._invokeOnScrollMemoizer({scrollLeft:d,scrollTop:p,totalColumnsWidth:a,totalRowsHeight:h})),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&fE(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,n=e.autoHeight,A=e.autoWidth,o=e.className,a=e.containerProps,i=e.containerRole,r=e.containerStyle,s=e.height,l=e.id,u=e.noContentRenderer,c=e.role,g=e.style,d=e.tabIndex,e=e.width,h=this.state,p=h.instanceProps,h=h.needToResetStyleCache,m=this._isScrolling(),n={boxSizing:"border-box",direction:"ltr",height:n?"auto":s,position:"relative",width:A?"auto":e,WebkitOverflowScrolling:"touch",willChange:"transform"},A=(h&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state),p.columnSizeAndPositionManager.getTotalSize()),h=p.rowSizeAndPositionManager.getTotalSize(),B=s<h?p.scrollbarSize:0,p=e<A?p.scrollbarSize:0,B=(p===this._horizontalScrollBarSize&&B===this._verticalScrollBarSize||(this._horizontalScrollBarSize=p,this._verticalScrollBarSize=B,this._scrollbarPresenceChanged=!0),n.overflowX=A+B<=e?"hidden":"auto",n.overflowY=h+p<=s?"hidden":"auto",this._childrenToDisplay),p=0===B.length&&0<s&&0<e;return M.createElement("div",T()({ref:this._setScrollingContainerRef},a,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:J()("ReactVirtualized__Grid",o),id:l,onScroll:this._onScroll,role:c,style:T()({},n,g),tabIndex:d}),0<B.length&&M.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:i,style:T()({width:t?"auto":A,height:h,maxWidth:A,maxHeight:h,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"},r)},B),p&&u())}},{key:"_calculateChildrenToRender",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,n=e.cellRenderer,A=e.cellRangeRenderer,o=e.columnCount,a=e.deferredMeasurementCache,i=e.height,r=e.overscanColumnCount,s=e.overscanIndicesGetter,l=e.overscanRowCount,u=e.rowCount,c=e.width,g=e.isScrollingOptOut,d=t.scrollDirectionHorizontal,h=t.scrollDirectionVertical,p=t.instanceProps,m=0<this._initialScrollTop?this._initialScrollTop:t.scrollTop,B=0<this._initialScrollLeft?this._initialScrollLeft:t.scrollLeft,e=this._isScrolling(e,t);if(this._childrenToDisplay=[],0<i&&0<c){var t=p.columnSizeAndPositionManager.getVisibleCellRange({containerSize:c,offset:B}),f=p.rowSizeAndPositionManager.getVisibleCellRange({containerSize:i,offset:m}),c=p.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:c,offset:B}),i=p.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:i,offset:m}),r=(this._renderedColumnStartIndex=t.start,this._renderedColumnStopIndex=t.stop,this._renderedRowStartIndex=f.start,this._renderedRowStopIndex=f.stop,s({direction:"horizontal",cellCount:o,overscanCellsCount:r,scrollDirection:d,startIndex:"number"==typeof t.start?t.start:0,stopIndex:"number"==typeof t.stop?t.stop:-1})),d=s({direction:"vertical",cellCount:u,overscanCellsCount:l,scrollDirection:h,startIndex:"number"==typeof f.start?f.start:0,stopIndex:"number"==typeof f.stop?f.stop:-1}),E=r.overscanStartIndex,w=r.overscanStopIndex,C=d.overscanStartIndex,I=d.overscanStopIndex;if(a){if(!a.hasFixedHeight())for(var y=C;y<=I;y++)if(!a.has(y,0)){E=0,w=o-1;break}if(!a.hasFixedWidth())for(var b=E;b<=w;b++)if(!a.has(0,b)){C=0,I=u-1;break}}this._childrenToDisplay=A({cellCache:this._cellCache,cellRenderer:n,columnSizeAndPositionManager:p.columnSizeAndPositionManager,columnStartIndex:E,columnStopIndex:w,deferredMeasurementCache:a,horizontalOffsetAdjustment:c,isScrolling:e,isScrollingOptOut:g,parent:this,rowSizeAndPositionManager:p.rowSizeAndPositionManager,rowStartIndex:C,rowStopIndex:I,scrollLeft:B,scrollTop:m,styleCache:this._styleCache,verticalOffsetAdjustment:i,visibleColumnIndices:t,visibleRowIndices:f}),this._columnStartIndex=E,this._columnStopIndex=w,this._rowStartIndex=C,this._rowStopIndex=I}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&fE(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=EE(this._debounceScrollEndedCallback,e)}},{key:"_handleInvalidatedGridSize",value:function(){var e,t;"number"==typeof this._deferredInvalidateColumnIndex&&"number"==typeof this._deferredInvalidateRowIndex&&(e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex,this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t}))}},{key:"_invokeOnScrollMemoizer",value:function(e){var o=this,t=e.scrollLeft,n=e.scrollTop,a=e.totalColumnsWidth,i=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var t=e.scrollLeft,e=e.scrollTop,n=o.props,A=n.height;(0,n.onScroll)({clientHeight:A,clientWidth:n.width,scrollHeight:i,scrollLeft:t,scrollTop:e,scrollWidth:a})},indices:{scrollLeft:t,scrollTop:n}})}},{key:"_isScrolling",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){var e;this._scrollbarPresenceChanged&&(e=this.props.onScrollbarPresenceChange,this._scrollbarPresenceChanged=!1,e({horizontal:0<this._horizontalScrollBarSize,size:this.state.instanceProps.scrollbarSize,vertical:0<this._verticalScrollBarSize}))}},{key:"scrollToPosition",value:function(e){var t=e.scrollLeft,e=e.scrollTop,t=k._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:t,scrollTop:e});t&&(t.needToResetStyleCache=!1,this.setState(t))}},{key:"_getCalculatedScrollLeft",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return k._getCalculatedScrollLeft(e,t)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,e=k._getScrollLeftForScrollToColumnStateUpdate(e,t);e&&(e.needToResetStyleCache=!1,this.setState(e))}},{key:"_getCalculatedScrollTop",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return k._getCalculatedScrollTop(e,t)}},{key:"_resetStyleCache",value:function(){var e=this._styleCache,t=this._cellCache,n=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var A=this._rowStartIndex;A<=this._rowStopIndex;A++)for(var o=this._columnStartIndex;o<=this._columnStopIndex;o++){var a=A+"-"+o;this._styleCache[a]=e[a],n&&(this._cellCache[a]=t[a])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,e=k._getScrollTopForScrollToRowStateUpdate(e,t);e&&(e.needToResetStyleCache=!1,this.setState(e))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n={},A=(0===e.columnCount&&0!==t.scrollLeft||0===e.rowCount&&0!==t.scrollTop?(n.scrollLeft=0,n.scrollTop=0):(e.scrollLeft!==t.scrollLeft&&e.scrollToColumn<0||e.scrollTop!==t.scrollTop&&e.scrollToRow<0)&&oE()(n,k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop})),t.instanceProps),o=(n.needToResetStyleCache=!1,e.columnWidth===A.prevColumnWidth&&e.rowHeight===A.prevRowHeight||(n.needToResetStyleCache=!0),A.columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:k._getEstimatedColumnSize(e),cellSizeGetter:k._wrapSizeGetter(e.columnWidth)}),A.rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:k._getEstimatedRowSize(e),cellSizeGetter:k._wrapSizeGetter(e.rowHeight)}),0!==A.prevColumnCount&&0!==A.prevRowCount||(A.prevColumnCount=0,A.prevRowCount=0),e.autoHeight&&!1===e.isScrolling&&!0===A.prevIsScrolling&&oE()(n,{isScrolling:!1}),void 0),a=void 0;return aE({cellCount:A.prevColumnCount,cellSize:"number"==typeof A.prevColumnWidth?A.prevColumnWidth:null,computeMetadataCallback:function(){return A.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"==typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:A.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){o=k._getScrollLeftForScrollToColumnStateUpdate(e,t)}}),aE({cellCount:A.prevRowCount,cellSize:"number"==typeof A.prevRowHeight?A.prevRowHeight:null,computeMetadataCallback:function(){return A.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"==typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:A.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){a=k._getScrollTopForScrollToRowStateUpdate(e,t)}}),A.prevColumnCount=e.columnCount,A.prevColumnWidth=e.columnWidth,A.prevIsScrolling=!0===e.isScrolling,A.prevRowCount=e.rowCount,A.prevRowHeight=e.rowHeight,A.prevScrollToColumn=e.scrollToColumn,A.prevScrollToRow=e.scrollToRow,A.scrollbarSize=e.getScrollbarSize(),void 0===A.scrollbarSize?(A.scrollbarSizeMeasured=!1,A.scrollbarSize=0):A.scrollbarSizeMeasured=!0,n.instanceProps=A,T()({},n,o,a)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"==typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"==typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(e){var t=e.prevState,n=e.scrollLeft,e=e.scrollTop,A={scrollPositionChangeReason:QE};return"number"==typeof n&&0<=n&&(A.scrollDirectionHorizontal=n>t.scrollLeft?1:-1,A.scrollLeft=n),"number"==typeof e&&0<=e&&(A.scrollDirectionVertical=e>t.scrollTop?1:-1,A.scrollTop=e),"number"==typeof n&&0<=n&&n!==t.scrollLeft||"number"==typeof e&&0<=e&&e!==t.scrollTop?A:null}},{key:"_wrapSizeGetter",value:function(e){return"function"==typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(e,t){var n=e.columnCount,A=e.height,o=e.scrollToAlignment,a=e.scrollToColumn,e=e.width,i=t.scrollLeft,t=t.instanceProps;return 0<n?(n=n-1,n=a<0?n:Math.min(n,a),a=t.rowSizeAndPositionManager.getTotalSize(),A=t.scrollbarSizeMeasured&&A<a?t.scrollbarSize:0,t.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:o,containerSize:e-A,currentOffset:i,targetIndex:n})):0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(e,t){var n=t.scrollLeft,e=k._getCalculatedScrollLeft(e,t);return"number"==typeof e&&0<=e&&n!==e?k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:e,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(e,t){var n=e.height,A=e.rowCount,o=e.scrollToAlignment,a=e.scrollToRow,e=e.width,i=t.scrollTop,t=t.instanceProps;return 0<A?(A=A-1,A=a<0?A:Math.min(A,a),a=t.columnSizeAndPositionManager.getTotalSize(),e=t.scrollbarSizeMeasured&&e<a?t.scrollbarSize:0,t.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:o,containerSize:n-e,currentOffset:i,targetIndex:A})):0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(e,t){var n=t.scrollTop,e=k._getCalculatedScrollTop(e,t);return"number"==typeof e&&0<=e&&n!==e?k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:-1,scrollTop:e}):null}}]),k);function k(t){b()(this,k);var n=AE()(this,(k.__proto__||nE()(k)).call(this,t)),e=(n._onGridRenderedMemoizer=mE(),n._onScrollMemoizer=mE(!1),n._deferredInvalidateColumnIndex=null,n._deferredInvalidateRowIndex=null,n._recomputeScrollLeftFlag=!1,n._recomputeScrollTopFlag=!1,n._horizontalScrollBarSize=0,n._verticalScrollBarSize=0,n._scrollbarPresenceChanged=!1,n._renderedColumnStartIndex=0,n._renderedColumnStopIndex=0,n._renderedRowStartIndex=0,n._renderedRowStopIndex=0,n._styleCache={},n._cellCache={},n._debounceScrollEndedCallback=function(){n._disablePointerEventsTimeoutId=null,n.setState({isScrolling:!1,needToResetStyleCache:!1})},n._invokeOnGridRenderedHelper=function(){var e=n.props.onSectionRendered;n._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:n._columnStartIndex,columnOverscanStopIndex:n._columnStopIndex,columnStartIndex:n._renderedColumnStartIndex,columnStopIndex:n._renderedColumnStopIndex,rowOverscanStartIndex:n._rowStartIndex,rowOverscanStopIndex:n._rowStopIndex,rowStartIndex:n._renderedRowStartIndex,rowStopIndex:n._renderedRowStopIndex}})},n._setScrollingContainerRef=function(e){n._scrollingContainer=e},n._onScroll=function(e){e.target===n._scrollingContainer&&n.handleScrollEvent(e.target)},new hE({cellCount:t.columnCount,cellSizeGetter:function(e){return k._wrapSizeGetter(t.columnWidth)(e)},estimatedCellSize:k._getEstimatedColumnSize(t)})),A=new hE({cellCount:t.rowCount,cellSizeGetter:function(e){return k._wrapSizeGetter(t.rowHeight)(e)},estimatedCellSize:k._getEstimatedRowSize(t)});return n.state={instanceProps:{columnSizeAndPositionManager:e,rowSizeAndPositionManager:A,prevColumnWidth:t.columnWidth,prevRowHeight:t.rowHeight,prevColumnCount:t.columnCount,prevRowCount:t.rowCount,prevIsScrolling:!0===t.isScrolling,prevScrollToColumn:t.scrollToColumn,prevScrollToRow:t.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:1,scrollDirectionVertical:1,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},0<t.scrollToRow&&(n._initialScrollTop=n._getCalculatedScrollTop(t,n.state)),0<t.scrollToColumn&&(n._initialScrollLeft=n._getCalculatedScrollLeft(t,n.state)),n}S.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:function(e){for(var t=e.cellCache,n=e.cellRenderer,A=e.columnSizeAndPositionManager,o=e.columnStartIndex,a=e.columnStopIndex,i=e.deferredMeasurementCache,r=e.horizontalOffsetAdjustment,s=e.isScrolling,l=e.isScrollingOptOut,u=e.parent,c=e.rowSizeAndPositionManager,g=e.rowStartIndex,d=e.rowStopIndex,h=e.styleCache,p=e.verticalOffsetAdjustment,m=e.visibleColumnIndices,B=e.visibleRowIndices,f=[],e=A.areOffsetsAdjusted()||c.areOffsetsAdjusted(),E=!s&&!e,w=g;w<=d;w++)for(var C=c.getSizeAndPositionOfCell(w),I=o;I<=a;I++){var y=A.getSizeAndPositionOfCell(I),b=I>=m.start&&I<=m.stop&&w>=B.start&&w<=B.stop,M=w+"-"+I,Q=void 0,y=(E&&h[M]?Q=h[M]:i&&!i.has(w,I)?Q={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(Q={height:C.size,left:y.offset+r,position:"absolute",top:C.offset+p,width:y.size},h[M]=Q),{columnIndex:I,isScrolling:s,isVisible:b,key:M,parent:u,rowIndex:w,style:Q}),b=void 0;null!=(b=!l&&!s||r||p?n(y):(t[M]||(t[M]=n(y)),t[M]))&&!1!==b&&f.push(b)}return f},containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:wE.a,noContentRenderer:function(){return null},onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:function(e){var t=e.cellCount,n=e.overscanCellsCount,A=e.scrollDirection,o=e.startIndex,e=e.stopIndex;return 1===A?{overscanStartIndex:Math.max(0,o),overscanStopIndex:Math.min(t-1,e+n)}:{overscanStartIndex:Math.max(0,o-n),overscanStopIndex:Math.min(t-1,e)}},overscanRowCount:10,role:"grid",scrollingResetTimeInterval:150,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1},S.propTypes=null,Object(d.polyfill)(S);var TE=S;function SE(e){var t=e.cellCount,n=e.overscanCellsCount,A=e.scrollDirection,o=e.startIndex,e=e.stopIndex,n=Math.max(1,n);return 1===A?{overscanStartIndex:Math.max(0,o-1),overscanStopIndex:Math.min(t-1,e+n)}:{overscanStartIndex:Math.max(0,o-n),overscanStopIndex:Math.min(t-1,e+1)}}Q=M.PureComponent,a()(kE,Q),g()(kE,[{key:"setScrollIndexes",value:function(e){var t=e.scrollToColumn,e=e.scrollToRow;this.setState({scrollToRow:e,scrollToColumn:t})}},{key:"render",value:function(){var e=this.props,t=e.className,e=e.children,n=this._getScrollState(),A=n.scrollToColumn,n=n.scrollToRow;return M.createElement("div",{className:t,onKeyDown:this._onKeyDown},e({onSectionRendered:this._onSectionRendered,scrollToColumn:A,scrollToRow:n}))}},{key:"_getScrollState",value:function(){return this.props.isControlled?this.props:this.state}},{key:"_updateScrollState",value:function(e){var t=e.scrollToColumn,e=e.scrollToRow,n=this.props,A=n.isControlled,n=n.onScrollToChange;"function"==typeof n&&n({scrollToColumn:t,scrollToRow:e}),A||this.setState({scrollToColumn:t,scrollToRow:e})}}],[{key:"getDerivedStateFromProps",value:function(e,t){return!e.isControlled&&(e.scrollToColumn!==t.scrollToColumn||e.scrollToRow!==t.scrollToRow)?{scrollToColumn:e.scrollToColumn,scrollToRow:e.scrollToRow}:null}}]);S=kE;function kE(){var l,e;b()(this,kE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=l=AE()(this,(e=kE.__proto__||nE()(kE)).call.apply(e,[this].concat(n)))).state={scrollToColumn:0,scrollToRow:0},l._columnStartIndex=0,l._columnStopIndex=0,l._rowStartIndex=0,l._rowStopIndex=0,l._onKeyDown=function(e){var t=l.props,n=t.columnCount,A=t.disabled,o=t.mode,a=t.rowCount;if(!A){var t=l._getScrollState(),A=t.scrollToColumn,t=t.scrollToRow,i=l._getScrollState(),r=i.scrollToColumn,s=i.scrollToRow;switch(e.key){case"ArrowDown":s="cells"===o?Math.min(s+1,a-1):Math.min(l._rowStopIndex+1,a-1);break;case"ArrowLeft":r="cells"===o?Math.max(r-1,0):Math.max(l._columnStartIndex-1,0);break;case"ArrowRight":r="cells"===o?Math.min(r+1,n-1):Math.min(l._columnStopIndex+1,n-1);break;case"ArrowUp":s="cells"===o?Math.max(s-1,0):Math.max(l._rowStartIndex-1,0)}r===A&&s===t||(e.preventDefault(),l._updateScrollState({scrollToColumn:r,scrollToRow:s}))}},l._onSectionRendered=function(e){var t=e.columnStartIndex,n=e.columnStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;l._columnStartIndex=t,l._columnStopIndex=n,l._rowStartIndex=A,l._rowStopIndex=e},e=e,AE()(l,e)}S.defaultProps={disabled:!1,isControlled:!1,mode:"edges",scrollToColumn:0,scrollToRow:0},S.propTypes=null,Object(d.polyfill)(S);var DE=e(310),S=(Q=M.PureComponent,a()(vE,Q),g()(vE,[{key:"componentDidMount",value:function(){var e=this.props.nonce;this._autoSizer&&this._autoSizer.parentNode&&this._autoSizer.parentNode.ownerDocument&&this._autoSizer.parentNode.ownerDocument.defaultView&&this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement&&(this._parentNode=this._autoSizer.parentNode,this._detectElementResize=Object(DE.a)(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.className,A=e.disableHeight,o=e.disableWidth,e=e.style,a=this.state,i=a.height,a=a.width,r={overflow:"visible"},s={};return A||(r.height=0,s.height=i),o||(r.width=0,s.width=a),M.createElement("div",{className:n,ref:this._setRef,style:T()({},r,e)},t(s))}}]),vE);function vE(){var l,e;b()(this,vE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=l=AE()(this,(e=vE.__proto__||nE()(vE)).call.apply(e,[this].concat(n)))).state={height:l.props.defaultHeight||0,width:l.props.defaultWidth||0},l._onResize=function(){var e,t,n,A,o,a,i=l.props,r=i.disableHeight,s=i.disableWidth,i=i.onResize;l._parentNode&&(e=l._parentNode.offsetHeight||0,t=l._parentNode.offsetWidth||0,a=window.getComputedStyle(l._parentNode)||{},n=parseInt(a.paddingLeft,10)||0,A=parseInt(a.paddingRight,10)||0,o=parseInt(a.paddingTop,10)||0,a=parseInt(a.paddingBottom,10)||0,!r&&l.state.height!==e-o-a||!s&&l.state.width!==t-n-A)&&(l.setState({height:e-o-a,width:t-n-A}),i({height:e,width:t}))},l._setRef=function(e){l._autoSizer=e},e=e,AE()(l,e)}S.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}},S.propTypes=null;Q=M.PureComponent,a()(NE,Q),g()(NE,[{key:"componentDidMount",value:function(){this._maybeMeasureCell()}},{key:"componentDidUpdate",value:function(){this._maybeMeasureCell()}},{key:"render",value:function(){var e=this.props.children;return"function"==typeof e?e({measure:this._measure}):e}},{key:"_getCellMeasurements",value:function(){var e,t,n,A=this.props.cache,o=Object(j0.findDOMNode)(this);return o&&o.ownerDocument&&o.ownerDocument.defaultView&&o instanceof o.ownerDocument.defaultView.HTMLElement?(e=o.style.width,t=o.style.height,A.hasFixedWidth()||(o.style.width="auto"),A.hasFixedHeight()||(o.style.height="auto"),A=Math.ceil(o.offsetHeight),n=Math.ceil(o.offsetWidth),e&&(o.style.width=e),t&&(o.style.height=t),{height:A,width:n}):{height:0,width:0}}},{key:"_maybeMeasureCell",value:function(){var e,t,n=this.props,A=n.cache,o=n.columnIndex,o=void 0===o?0:o,a=n.parent,n=n.rowIndex,n=void 0===n?this.props.index||0:n;A.has(n,o)||(e=(t=this._getCellMeasurements()).height,t=t.width,A.set(n,o,t,e),a&&"function"==typeof a.invalidateCellSizeAfterRender&&a.invalidateCellSizeAfterRender({columnIndex:o,rowIndex:n}))}}]);S=NE;function NE(){var i,e;b()(this,NE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(i=AE()(this,(e=NE.__proto__||nE()(NE)).call.apply(e,[this].concat(n))))._measure=function(){var e=i.props,t=e.cache,n=e.columnIndex,n=void 0===n?0:n,A=e.parent,e=e.rowIndex,e=void 0===e?i.props.index||0:e,o=i._getCellMeasurements(),a=o.height,o=o.width;a===t.getHeight(e,n)&&o===t.getWidth(e,n)||(t.set(e,n,o,a),A&&"function"==typeof A.recomputeGridSize&&A.recomputeGridSize({columnIndex:n,rowIndex:e}))},e=i,AE()(i,e)}S.__internalCellMeasurerFlag=!1,S.propTypes=null;function OE(){var t=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=(b()(this,OE),this._cellHeightCache={},this._cellWidthCache={},this._columnWidthCache={},this._rowHeightCache={},this._columnCount=0,this._rowCount=0,this.columnWidth=function(e){e=e.index,e=t._keyMapper(0,e);return t._columnWidthCache.hasOwnProperty(e)?t._columnWidthCache[e]:t._defaultWidth},this.rowHeight=function(e){e=e.index,e=t._keyMapper(e,0);return t._rowHeightCache.hasOwnProperty(e)?t._rowHeightCache[e]:t._defaultHeight},e.defaultHeight),A=e.defaultWidth,o=e.fixedHeight,a=e.fixedWidth,i=e.keyMapper,r=e.minHeight,e=e.minWidth;this._hasFixedHeight=!0===o,this._hasFixedWidth=!0===a,this._minHeight=r||0,this._minWidth=e||0,this._keyMapper=i||FE,this._defaultHeight=Math.max(this._minHeight,"number"==typeof n?n:30),this._defaultWidth=Math.max(this._minWidth,"number"==typeof A?A:100)}g()(OE,[{key:"clear",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=this._keyMapper(e,t);delete this._cellHeightCache[n],delete this._cellWidthCache[n],this._updateCachedColumnAndRowSizes(e,t)}},{key:"clearAll",value:function(){this._cellHeightCache={},this._cellWidthCache={},this._columnWidthCache={},this._rowHeightCache={},this._rowCount=0,this._columnCount=0}},{key:"hasFixedHeight",value:function(){return this._hasFixedHeight}},{key:"hasFixedWidth",value:function(){return this._hasFixedWidth}},{key:"getHeight",value:function(e){return!this._hasFixedHeight&&(e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0),this._cellHeightCache.hasOwnProperty(e))?Math.max(this._minHeight,this._cellHeightCache[e]):this._defaultHeight}},{key:"getWidth",value:function(e){return!this._hasFixedWidth&&(e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0),this._cellWidthCache.hasOwnProperty(e))?Math.max(this._minWidth,this._cellWidthCache[e]):this._defaultWidth}},{key:"has",value:function(e){e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0);return this._cellHeightCache.hasOwnProperty(e)}},{key:"set",value:function(e,t,n,A){var o=this._keyMapper(e,t);t>=this._columnCount&&(this._columnCount=t+1),e>=this._rowCount&&(this._rowCount=e+1),this._cellHeightCache[o]=A,this._cellWidthCache[o]=n,this._updateCachedColumnAndRowSizes(e,t)}},{key:"_updateCachedColumnAndRowSizes",value:function(e,t){if(!this._hasFixedWidth){for(var n=0,A=0;A<this._rowCount;A++)n=Math.max(n,this.getWidth(A,t));var o=this._keyMapper(0,t);this._columnWidthCache[o]=n}if(!this._hasFixedHeight){for(var a=0,i=0;i<this._columnCount;i++)a=Math.max(a,this.getHeight(e,i));o=this._keyMapper(e,0);this._rowHeightCache[o]=a}}},{key:"defaultHeight",get:function(){return this._defaultHeight}},{key:"defaultWidth",get:function(){return this._defaultWidth}}]);function FE(e,t){return e+"-"+t}var RE="observed",YE="requested",S=(Q=M.PureComponent,a()(xE,Q),g()(xE,[{key:"recomputeCellSizesAndPositions",value:function(){this._calculateSizeAndPositionDataOnNextUpdate=!0,this.forceUpdate()}},{key:"componentDidMount",value:function(){var e=this.props,t=e.cellLayoutManager,n=e.scrollLeft,A=e.scrollToCell,e=e.scrollTop,A=(this._scrollbarSizeMeasured||(this._scrollbarSize=wE()(),this._scrollbarSizeMeasured=!0,this.setState({})),0<=A?this._updateScrollPositionForScrollToCell():(0<=n||0<=e)&&this._setScrollPosition({scrollLeft:n,scrollTop:e}),this._invokeOnSectionRenderedHelper(),t.getTotalSize()),t=A.height,A=A.width;this._invokeOnScrollMemoizer({scrollLeft:n||0,scrollTop:e||0,totalHeight:t,totalWidth:A})}},{key:"componentDidUpdate",value:function(e,t){var n=this.props,A=n.height,o=n.scrollToAlignment,a=n.scrollToCell,n=n.width,i=this.state,r=i.scrollLeft,s=i.scrollPositionChangeReason,i=i.scrollTop;s===YE&&(0<=r&&r!==t.scrollLeft&&r!==this._scrollingContainer.scrollLeft&&(this._scrollingContainer.scrollLeft=r),0<=i)&&i!==t.scrollTop&&i!==this._scrollingContainer.scrollTop&&(this._scrollingContainer.scrollTop=i),A===e.height&&o===e.scrollToAlignment&&a===e.scrollToCell&&n===e.width||this._updateScrollPositionForScrollToCell(),this._invokeOnSectionRenderedHelper()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoHeight,n=e.cellCount,A=e.cellLayoutManager,o=e.className,a=e.height,i=e.horizontalOverscanSize,r=e.id,s=e.noContentRenderer,l=e.style,u=e.verticalOverscanSize,e=e.width,c=this.state,g=c.isScrolling,d=c.scrollLeft,c=c.scrollTop,h=(this._lastRenderedCellCount===n&&this._lastRenderedCellLayoutManager===A&&!this._calculateSizeAndPositionDataOnNextUpdate||(this._lastRenderedCellCount=n,this._lastRenderedCellLayoutManager=A,this._calculateSizeAndPositionDataOnNextUpdate=!1,A.calculateSizeAndPositionData()),A.getTotalSize()),p=h.height,h=h.width,m=Math.max(0,d-i),B=Math.max(0,c-u),d=Math.min(h,d+e+i),i=Math.min(p,c+a+u),c=0<a&&0<e?A.cellRenderers({height:i-B,isScrolling:g,width:d-m,x:m,y:B}):[],u={boxSizing:"border-box",direction:"ltr",height:t?"auto":a,position:"relative",WebkitOverflowScrolling:"touch",width:e,willChange:"transform"},A=a<p?this._scrollbarSize:0,i=e<h?this._scrollbarSize:0;return u.overflowX=h+A<=e?"hidden":"auto",u.overflowY=p+i<=a?"hidden":"auto",M.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:J()("ReactVirtualized__Collection",o),id:r,onScroll:this._onScroll,role:"grid",style:T()({},u,l),tabIndex:0},0<n&&M.createElement("div",{className:"ReactVirtualized__Collection__innerScrollContainer",style:{height:p,maxHeight:p,maxWidth:h,overflow:"hidden",pointerEvents:g?"none":"",width:h}},c),0===n&&s())}},{key:"_enablePointerEventsAfterDelay",value:function(){var e=this;this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=setTimeout(function(){(0,e.props.isScrollingChange)(!1),e._disablePointerEventsTimeoutId=null,e.setState({isScrolling:!1})},150)}},{key:"_invokeOnScrollMemoizer",value:function(e){var o=this,t=e.scrollLeft,n=e.scrollTop,a=e.totalHeight,i=e.totalWidth;this._onScrollMemoizer({callback:function(e){var t=e.scrollLeft,e=e.scrollTop,n=o.props,A=n.height;(0,n.onScroll)({clientHeight:A,clientWidth:n.width,scrollHeight:a,scrollLeft:t,scrollTop:e,scrollWidth:i})},indices:{scrollLeft:t,scrollTop:n}})}},{key:"_setScrollPosition",value:function(e){var t=e.scrollLeft,e=e.scrollTop,n={scrollPositionChangeReason:YE};0<=t&&(n.scrollLeft=t),0<=e&&(n.scrollTop=e),(0<=t&&t!==this.state.scrollLeft||0<=e&&e!==this.state.scrollTop)&&this.setState(n)}}],[{key:"getDerivedStateFromProps",value:function(e,t){return 0!==e.cellCount||0===t.scrollLeft&&0===t.scrollTop?e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:(null!=e.scrollLeft?e:t).scrollLeft,scrollTop:(null!=e.scrollTop?e:t).scrollTop}:null:{scrollLeft:0,scrollTop:0}}}]),xE);function xE(){var e;b()(this,xE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];var r=AE()(this,(e=xE.__proto__||nE()(xE)).call.apply(e,[this].concat(n)));return r.state={isScrolling:!1,scrollLeft:0,scrollTop:0},r._calculateSizeAndPositionDataOnNextUpdate=!1,r._onSectionRenderedMemoizer=mE(),r._onScrollMemoizer=mE(!1),r._invokeOnSectionRenderedHelper=function(){var e=r.props,t=e.cellLayoutManager,e=e.onSectionRendered;r._onSectionRenderedMemoizer({callback:e,indices:{indices:t.getLastRenderedIndices()}})},r._setScrollingContainerRef=function(e){r._scrollingContainer=e},r._updateScrollPositionForScrollToCell=function(){var e=r.props,t=e.cellLayoutManager,n=e.height,A=e.scrollToAlignment,o=e.scrollToCell,e=e.width,a=r.state,i=a.scrollLeft,a=a.scrollTop;0<=o&&((t=t.getScrollPositionForCell({align:A,cellIndex:o,height:n,scrollLeft:i,scrollTop:a,width:e})).scrollLeft===i&&t.scrollTop===a||r._setScrollPosition(t))},r._onScroll=function(e){var t,n,A,o,a,i;e.target===r._scrollingContainer&&(r._enablePointerEventsAfterDelay(),A=(o=r.props).cellLayoutManager,a=o.height,t=o.isScrollingChange,o=o.width,i=r._scrollbarSize,n=(A=A.getTotalSize()).height,A=A.width,o=Math.max(0,Math.min(A-o+i,e.target.scrollLeft)),a=Math.max(0,Math.min(n-a+i,e.target.scrollTop)),r.state.scrollLeft===o&&r.state.scrollTop===a||(i=e.cancelable?RE:YE,r.state.isScrolling||t(!0),r.setState({isScrolling:!0,scrollLeft:o,scrollPositionChangeReason:i,scrollTop:a})),r._invokeOnScrollMemoizer({scrollLeft:o,scrollTop:a,totalWidth:A,totalHeight:n}))},r._scrollbarSize=wE()(),void 0===r._scrollbarSize?(r._scrollbarSizeMeasured=!1,r._scrollbarSize=0):r._scrollbarSizeMeasured=!0,r}S.defaultProps={"aria-label":"grid",horizontalOverscanSize:0,noContentRenderer:function(){return null},onScroll:function(){return null},onSectionRendered:function(){return null},scrollToAlignment:"auto",scrollToCell:-1,style:{},verticalOverscanSize:0},S.propTypes={},Object(d.polyfill)(S);var _E=S;function UE(e){var t=e.height,n=e.width,A=e.x,e=e.y;b()(this,UE),this.height=t,this.width=n,this.x=A,this.y=e,this._indexMap={},this._indices=[]}g()(UE,[{key:"addCellIndex",value:function(e){e=e.index;this._indexMap[e]||(this._indexMap[e]=!0,this._indices.push(e))}},{key:"getCellIndices",value:function(){return this._indices}},{key:"toString",value:function(){return this.x+","+this.y+" "+this.width+"x"+this.height}}]);var GE=UE;function LE(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:100;b()(this,LE),this._sectionSize=e,this._cellMetadata=[],this._sections={}}g()(LE,[{key:"getCellIndices",value:function(e){var t=e.height,n=e.width,A=e.x,e=e.y,o={};return this.getSections({height:t,width:n,x:A,y:e}).forEach(function(e){return e.getCellIndices().forEach(function(e){o[e]=e})}),pE()(o).map(function(e){return o[e]})}},{key:"getCellMetadata",value:function(e){e=e.index;return this._cellMetadata[e]}},{key:"getSections",value:function(e){for(var t=e.height,n=e.width,A=e.x,e=e.y,o=Math.floor(A/this._sectionSize),a=Math.floor((A+n-1)/this._sectionSize),i=Math.floor(e/this._sectionSize),r=Math.floor((e+t-1)/this._sectionSize),s=[],l=o;l<=a;l++)for(var u=i;u<=r;u++){var c=l+"."+u;this._sections[c]||(this._sections[c]=new GE({height:this._sectionSize,width:this._sectionSize,x:l*this._sectionSize,y:u*this._sectionSize})),s.push(this._sections[c])}return s}},{key:"getTotalSectionCount",value:function(){return pE()(this._sections).length}},{key:"toString",value:function(){var t=this;return pE()(this._sections).map(function(e){return t._sections[e].toString()})}},{key:"registerCell",value:function(e){var t=e.cellMetadatum,n=e.index;this._cellMetadata[n]=t,this.getSections(t).forEach(function(e){return e.addCellIndex({index:n})})}}]);var PE=LE;function HE(e){var t=e.align,n=e.cellOffset,A=e.cellSize,o=e.containerSize,a=e.currentOffset,i=n,r=i-o+A;switch(void 0===t?"auto":t){case"start":return i;case"end":return r;case"center":return i-(o-A)/2;default:return Math.max(r,Math.min(i,a))}}Q=M.PureComponent,a()(jE,Q),g()(jE,[{key:"forceUpdate",value:function(){void 0!==this._collectionView&&this._collectionView.forceUpdate()}},{key:"recomputeCellSizesAndPositions",value:function(){this._cellCache=[],this._collectionView.recomputeCellSizesAndPositions()}},{key:"render",value:function(){var e=iE()(this.props,[]);return M.createElement(_E,T()({cellLayoutManager:this,isScrollingChange:this._isScrollingChange,ref:this._setCollectionViewRef},e))}},{key:"calculateSizeAndPositionData",value:function(){var e=this.props,e=function(e){for(var t=e.cellCount,n=e.cellSizeAndPositionGetter,e=e.sectionSize,A=[],o=new PE(e),a=0,i=0,r=0;r<t;r++){var s=n({index:r});if(null==s.height||isNaN(s.height)||null==s.width||isNaN(s.width)||null==s.x||isNaN(s.x)||null==s.y||isNaN(s.y))throw Error("Invalid metadata returned for cell "+r+":\n x:"+s.x+", y:"+s.y+", width:"+s.width+", height:"+s.height);a=Math.max(a,s.y+s.height),i=Math.max(i,s.x+s.width),o.registerCell({cellMetadatum:A[r]=s,index:r})}return{cellMetadata:A,height:a,sectionManager:o,width:i}}({cellCount:e.cellCount,cellSizeAndPositionGetter:e.cellSizeAndPositionGetter,sectionSize:e.sectionSize});this._cellMetadata=e.cellMetadata,this._sectionManager=e.sectionManager,this._height=e.height,this._width=e.width}},{key:"getLastRenderedIndices",value:function(){return this._lastRenderedCellIndices}},{key:"getScrollPositionForCell",value:function(e){var t=e.align,n=e.cellIndex,A=e.height,o=e.scrollLeft,a=e.scrollTop,e=e.width,i=this.props.cellCount;return 0<=n&&n<i&&(o=HE({align:t,cellOffset:(i=this._cellMetadata[n]).x,cellSize:i.width,containerSize:e,currentOffset:o,targetIndex:n}),a=HE({align:t,cellOffset:i.y,cellSize:i.height,containerSize:A,currentOffset:a,targetIndex:n})),{scrollLeft:o,scrollTop:a}}},{key:"getTotalSize",value:function(){return{height:this._height,width:this._width}}},{key:"cellRenderers",value:function(e){var t=this,n=e.height,A=e.isScrolling,o=e.width,a=e.x,e=e.y,i=this.props,r=i.cellGroupRenderer,i=i.cellRenderer;return this._lastRenderedCellIndices=this._sectionManager.getCellIndices({height:n,width:o,x:a,y:e}),r({cellCache:this._cellCache,cellRenderer:i,cellSizeAndPositionGetter:function(e){e=e.index;return t._sectionManager.getCellMetadata({index:e})},indices:this._lastRenderedCellIndices,isScrolling:A})}},{key:"_isScrollingChange",value:function(e){e||(this._cellCache=[])}},{key:"_setCollectionViewRef",value:function(e){this._collectionView=e}}]);S=jE;function jE(e,t){b()(this,jE);e=AE()(this,(jE.__proto__||nE()(jE)).call(this,e,t));return e._cellMetadata=[],e._lastRenderedCellIndices=[],e._cellCache=[],e._isScrollingChange=e._isScrollingChange.bind(e),e._setCollectionViewRef=e._setCollectionViewRef.bind(e),e}S.defaultProps={"aria-label":"grid",cellGroupRenderer:function(e){var n=e.cellCache,A=e.cellRenderer,o=e.cellSizeAndPositionGetter,t=e.indices,a=e.isScrolling;return t.map(function(e){var t=o({index:e}),t={index:e,isScrolling:a,key:e,style:{height:t.height,left:t.x,position:"absolute",top:t.y,width:t.width}};return a?(e in n||(n[e]=A(t)),n[e]):A(t)}).filter(function(e){return!!e})}};S.propTypes={};function zE(e,t){b()(this,zE);e=AE()(this,(zE.__proto__||nE()(zE)).call(this,e,t));return e._registerChild=e._registerChild.bind(e),e}Q=M.PureComponent,a()(zE,Q),g()(zE,[{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.columnMaxWidth,A=t.columnMinWidth,o=t.columnCount,t=t.width;n===e.columnMaxWidth&&A===e.columnMinWidth&&o===e.columnCount&&t===e.width||this._registeredChild&&this._registeredChild.recomputeGridSize()}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.columnMaxWidth,A=e.columnMinWidth,o=e.columnCount,e=e.width,A=A||1,n=n?Math.min(n,e):e,a=e/o,a=Math.max(A,a);return a=Math.min(n,a),a=Math.floor(a),t({adjustedWidth:Math.min(e,a*o),columnWidth:a,getColumnWidth:function(){return a},registerChild:this._registerChild})}},{key:"_registerChild",value:function(e){if(e&&"function"!=typeof e.recomputeGridSize)throw Error("Unexpected child type registered; only Grid/MultiGrid children are supported.");this._registeredChild=e,this._registeredChild&&this._registeredChild.recomputeGridSize()}}]);zE.propTypes={},S=M.PureComponent,a()(JE,S),g()(JE,[{key:"resetLoadMoreRowsCache",value:function(e){this._loadMoreRowsMemoizer=mE(),e&&this._doStuff(this._lastRenderedStartIndex,this._lastRenderedStopIndex)}},{key:"render",value:function(){return(0,this.props.children)({onRowsRendered:this._onRowsRendered,registerChild:this._registerChild})}},{key:"_loadUnloadedRanges",value:function(e){var a=this,t=this.props.loadMoreRows;e.forEach(function(o){var e=t(o);e&&e.then(function(){var e,t,n,A;e={lastRenderedStartIndex:a._lastRenderedStartIndex,lastRenderedStopIndex:a._lastRenderedStopIndex,startIndex:o.startIndex,stopIndex:o.stopIndex},t=e.lastRenderedStartIndex,n=e.lastRenderedStopIndex,A=e.startIndex,e=e.stopIndex,n<A||e<t||a._registeredChild&&function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n="function"==typeof e.recomputeGridSize?e.recomputeGridSize:e.recomputeRowHeights;n?n.call(e,t):e.forceUpdate()}(a._registeredChild,a._lastRenderedStartIndex)})})}},{key:"_onRowsRendered",value:function(e){var t=e.startIndex,e=e.stopIndex;this._lastRenderedStartIndex=t,this._lastRenderedStopIndex=e,this._doStuff(t,e)}},{key:"_doStuff",value:function(e,t){var n=this,A=this.props,o=A.isRowLoaded,a=A.minimumBatchSize,i=A.rowCount,A=A.threshold,r=function(e){for(var t=e.isRowLoaded,n=e.minimumBatchSize,A=e.rowCount,o=e.startIndex,a=e.stopIndex,i=[],r=null,s=null,l=o;l<=a;l++)t({index:l})?null!==s&&(i.push({startIndex:r,stopIndex:s}),r=s=null):(s=l,null===r&&(r=l));if(null!==s){for(var u=Math.min(Math.max(s,r+n-1),A-1),c=s+1;c<=u&&!t({index:c});c++)s=c;i.push({startIndex:r,stopIndex:s})}if(i.length)for(var g=i[0];g.stopIndex-g.startIndex+1<n&&0<g.startIndex;){var d=g.startIndex-1;if(t({index:d}))break;g.startIndex=d}return i}({isRowLoaded:o,minimumBatchSize:a,rowCount:i,startIndex:Math.max(0,e-A),stopIndex:Math.min(i-1,t+A)}),o=r.reduce(function(e,t){return e.concat([t.startIndex,t.stopIndex])},[]);this._loadMoreRowsMemoizer({callback:function(){n._loadUnloadedRanges(r)},indices:{squashedUnloadedRanges:o}})}},{key:"_registerChild",value:function(e){this._registeredChild=e}}]),Q=JE;function JE(e,t){b()(this,JE);e=AE()(this,(JE.__proto__||nE()(JE)).call(this,e,t));return e._loadMoreRowsMemoizer=mE(),e._onRowsRendered=e._onRowsRendered.bind(e),e._registerChild=e._registerChild.bind(e),e}Q.defaultProps={minimumBatchSize:10,rowCount:0,threshold:15};Q.propTypes={};var S=e(815),WE=e.n(S),S=(Q=M.PureComponent,a()(VE,Q),g()(VE,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,e=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:e,columnIndex:0}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:e,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.recomputeGridSize({rowIndex:void 0===e?0:e,columnIndex:void 0===t?0:t})}},{key:"recomputeRowHeights",value:function(){this.Grid&&this.Grid.recomputeGridSize({rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,columnIndex:0})}},{key:"scrollToPosition",value:function(){this.Grid&&this.Grid.scrollToPosition({scrollTop:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToRow",value:function(){this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.noRowsRenderer,A=e.scrollToIndex,e=e.width,t=J()("ReactVirtualized__List",t);return M.createElement(TE,T()({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:t,columnWidth:e,columnCount:1,noContentRenderer:n,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:A}))}}]),VE);function VE(){var r,e;b()(this,VE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=r=AE()(this,(e=VE.__proto__||nE()(VE)).call.apply(e,[this].concat(n))))._cellRenderer=function(e){var t=e.parent,n=e.rowIndex,A=e.style,o=e.isScrolling,a=e.isVisible,e=e.key,i=r.props.rowRenderer;return WE()(A,"width").writable&&(A.width="100%"),i({index:n,style:A,isScrolling:o,isVisible:a,key:e,parent:t})},r._setRef=function(e){r.Grid=e},r._onScroll=function(e){var t=e.clientHeight,n=e.scrollHeight,e=e.scrollTop;(0,r.props.onScroll)({clientHeight:t,scrollHeight:n,scrollTop:e})},r._onSectionRendered=function(e){var t=e.rowOverscanStartIndex,n=e.rowOverscanStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;(0,r.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:n,startIndex:A,stopIndex:e})},e=e,AE()(r,e)}S.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:SE,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}},S.propTypes=null;var KE=S,Q=e(246),XE=e.n(Q),S=e(816),qE=e.n(S);var ZE={ge:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=r+1;i<=r;){var c=i+r>>>1;0<=l(a[c],s)?r=(u=c)-1:i=1+c}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=h+1;d<=h;){var B=d+h>>>1;p<=g[B]?h=(m=B)-1:d=1+B}return m},gt:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=r+1;i<=r;){var c=i+r>>>1;0<l(a[c],s)?r=(u=c)-1:i=1+c}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=h+1;d<=h;){var B=d+h>>>1;p<g[B]?h=(m=B)-1:d=1+B}return m},lt:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=i-1;i<=r;){var c=i+r>>>1;l(a[c],s)<0?i=1+(u=c):r=c-1}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=d-1;d<=h;){var B=d+h>>>1;g[B]<p?d=1+(m=B):h=B-1}return m},le:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=i-1;i<=r;){var c=i+r>>>1;l(a[c],s)<=0?i=1+(u=c):r=c-1}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=d-1;d<=h;){var B=d+h>>>1;g[B]<=p?d=1+(m=B):h=B-1}return m},eq:function(e,t,n,A,o){if("function"==typeof n)for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n;i<=r;){var u=i+r>>>1,c=l(a[u],s);if(0===c)return u;c<=0?i=1+u:r=u-1}else for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t;d<=h;){var m=d+h>>>1,B=g[m];if(B===p)return m;B<=p?d=1+m:h=m-1}return-1}};function $E(e,t,n,A,o){this.mid=e,this.left=t,this.right=n,this.leftPoints=A,this.rightPoints=o,this.count=(t?t.count:0)+(n?n.count:0)+A.length}Q=$E.prototype;function e1(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function t1(e,t){t=u1(t);e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function n1(e,t){var n=e.intervals([]);n.push(t),t1(e,n)}function A1(e,t){var n=e.intervals([]),t=n.indexOf(t);return t<0?0:(n.splice(t,1),t1(e,n),1)}function o1(e,t,n){for(var A=0;A<e.length&&e[A][0]<=t;++A){var o=n(e[A]);if(o)return o}}function a1(e,t,n){for(var A=e.length-1;0<=A&&e[A][1]>=t;--A){var o=n(e[A]);if(o)return o}}function i1(e,t){for(var n=0;n<e.length;++n){var A=t(e[n]);if(A)return A}}function r1(e,t){return e-t}function s1(e,t){var n=e[0]-t[0];return n||e[1]-t[1]}function l1(e,t){var n=e[1]-t[1];return n||e[0]-t[0]}function u1(e){if(0===e.length)return null;for(var t=[],n=0;n<e.length;++n)t.push(e[n][0],e[n][1]);t.sort(r1);for(var A=t[t.length>>1],o=[],a=[],i=[],n=0;n<e.length;++n){var r=e[n];(r[1]<A?o:A<r[0]?a:i).push(r)}var s=i,l=i.slice();return s.sort(s1),l.sort(l1),new $E(A,u1(o),u1(a),s,l)}function c1(e){this.root=e}Q.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e},Q.insert=function(e){var t,n=this.count-this.leftPoints.length;this.count+=1,e[1]<this.mid?this.left?4*(this.left.count+1)>3*(1+n)?n1(this,e):this.left.insert(e):this.left=u1([e]):e[0]>this.mid?this.right?4*(this.right.count+1)>3*(1+n)?n1(this,e):this.right.insert(e):this.right=u1([e]):(n=ZE.ge(this.leftPoints,e,s1),t=ZE.ge(this.rightPoints,e,l1),this.leftPoints.splice(n,0,e),this.rightPoints.splice(t,0,e))},Q.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid)return this.left?3*(t-1)<4*(this.right?this.right.count:0)?A1(this,e):2===(a=this.left.remove(e))?(this.left=null,--this.count,1):(1===a&&--this.count,a):0;if(e[0]>this.mid)return this.right?3*(t-1)<4*(this.left?this.left.count:0)?A1(this,e):2===(a=this.right.remove(e))?(this.right=null,--this.count,1):(1===a&&--this.count,a):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var n=this,A=this.left;A.right;)A=(n=A).right;n===this?A.right=this.right:(o=this.left,a=this.right,n.count-=A.count,n.right=A.left,A.left=o,A.right=a),e1(this,A),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?e1(this,this.left):e1(this,this.right);return 1}for(var o=ZE.ge(this.leftPoints,e,s1);o<this.leftPoints.length&&this.leftPoints[o][0]===e[0];++o)if(this.leftPoints[o]===e){--this.count,this.leftPoints.splice(o,1);for(var a=ZE.ge(this.rightPoints,e,l1);a<this.rightPoints.length&&this.rightPoints[a][1]===e[1];++a)if(this.rightPoints[a]===e)return this.rightPoints.splice(a,1),1}return 0},Q.queryPoint=function(e,t){if(e<this.mid){if(this.left)if(n=this.left.queryPoint(e,t))return n;return o1(this.leftPoints,e,t)}if(e>this.mid){var n;if(this.right)if(n=this.right.queryPoint(e,t))return n;return a1(this.rightPoints,e,t)}return i1(this.leftPoints,t)},Q.queryInterval=function(e,t,n){var A;if(e<this.mid&&this.left&&(A=this.left.queryInterval(e,t,n)))return A;if(t>this.mid&&this.right&&(A=this.right.queryInterval(e,t,n)))return A;return t<this.mid?o1(this.leftPoints,t,n):e>this.mid?a1(this.rightPoints,e,n):i1(this.leftPoints,n)};S=c1.prototype;function g1(){var e;b()(this,g1),this._columnSizeMap={},this._intervalTree=e&&0!==e.length?new c1(u1(e)):new c1(null),this._leftMap={}}S.insert=function(e){this.root?this.root.insert(e):this.root=new $E(e[0],null,null,[e],[e])},S.remove=function(e){return!!this.root&&(2===(e=this.root.remove(e))&&(this.root=null),0!==e)},S.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},S.queryInterval=function(e,t,n){if(e<=t&&this.root)return this.root.queryInterval(e,t,n)},Object.defineProperty(S,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(S,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}}),g()(g1,[{key:"estimateTotalHeight",value:function(e,t,n){e-=this.count;return this.tallestColumnSize+Math.ceil(e/t)*n}},{key:"range",value:function(e,t,n){var A=this;this._intervalTree.queryInterval(e,e+t,function(e){var e=qE()(e,3),t=e[0],e=(e[1],e[2]);return n(e,A._leftMap[e],t)})}},{key:"setPosition",value:function(e,t,n,A){this._intervalTree.insert([n,n+A,e]),this._leftMap[e]=t;var e=this._columnSizeMap,o=e[t];e[t]=void 0===o?n+A:Math.max(o,n+A)}},{key:"count",get:function(){return this._intervalTree.count}},{key:"shortestColumnSize",get:function(){var e,t=this._columnSizeMap,n=0;for(e in t)var A=t[e],n=0===n?A:Math.min(n,A);return n}},{key:"tallestColumnSize",get:function(){var e,t=this._columnSizeMap,n=0;for(e in t)var A=t[e],n=Math.max(n,A);return n}}]);var d1=g1,S=(Q=M.PureComponent,a()(h1,Q),g()(h1,[{key:"clearCellPositions",value:function(){this._positionCache=new d1,this.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(e){e=e.rowIndex;null===this._invalidateOnUpdateStartIndex?(this._invalidateOnUpdateStartIndex=e,this._invalidateOnUpdateStopIndex=e):(this._invalidateOnUpdateStartIndex=Math.min(this._invalidateOnUpdateStartIndex,e),this._invalidateOnUpdateStopIndex=Math.max(this._invalidateOnUpdateStopIndex,e))}},{key:"recomputeCellPositions",value:function(){var e=this._positionCache.count-1;this._positionCache=new d1,this._populatePositionCache(0,e),this.forceUpdate()}},{key:"componentDidMount",value:function(){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback()}},{key:"componentDidUpdate",value:function(e,t){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback(),this.props.scrollTop!==e.scrollTop&&this._debounceResetIsScrolling()}},{key:"componentWillUnmount",value:function(){this._debounceResetIsScrollingId&&fE(this._debounceResetIsScrollingId)}},{key:"render",value:function(){var o=this,e=this.props,t=e.autoHeight,n=e.cellCount,a=e.cellMeasurerCache,i=e.cellRenderer,A=e.className,r=e.height,s=e.id,l=e.keyMapper,u=e.overscanByPixels,c=e.role,g=e.style,d=e.tabIndex,h=e.width,p=e.rowDirection,e=this.state,m=e.isScrolling,e=e.scrollTop,B=[],f=this._getEstimatedTotalHeight(),E=this._positionCache.shortestColumnSize,w=this._positionCache.count,C=0,I=void 0;if(this._positionCache.range(Math.max(0,e-u),r+2*u,function(e,t,n){var A;I=void 0===I?C=e:(C=Math.min(C,e),Math.max(I,e)),B.push(i({index:e,isScrolling:m,key:l(e),parent:o,style:(A={height:a.getHeight(e)},XE()(A,"ltr"===p?"left":"right",t),XE()(A,"position","absolute"),XE()(A,"top",n),XE()(A,"width",a.getWidth(e)),A)}))}),E<e+r+u&&w<n)for(var y=Math.min(n-w,Math.ceil((e+r+u-E)/a.defaultHeight*h/a.defaultWidth)),b=w;b<w+y;b++)I=b,B.push(i({index:b,isScrolling:m,key:l(b),parent:this,style:{width:a.getWidth(b)}}));return this._startIndex=C,this._stopIndex=I,M.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:J()("ReactVirtualized__Masonry",A),id:s,onScroll:this._onScroll,role:c,style:T()({boxSizing:"border-box",direction:"ltr",height:t?"auto":r,overflowX:"hidden",overflowY:f<r?"hidden":"auto",position:"relative",width:h,WebkitOverflowScrolling:"touch",willChange:"transform"},g),tabIndex:d},M.createElement("div",{className:"ReactVirtualized__Masonry__innerScrollContainer",style:{width:"100%",height:f,maxWidth:"100%",maxHeight:f,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"}},B))}},{key:"_checkInvalidateOnUpdate",value:function(){var e,t;"number"==typeof this._invalidateOnUpdateStartIndex&&(e=this._invalidateOnUpdateStartIndex,t=this._invalidateOnUpdateStopIndex,this._invalidateOnUpdateStartIndex=null,this._invalidateOnUpdateStopIndex=null,this._populatePositionCache(e,t),this.forceUpdate())}},{key:"_debounceResetIsScrolling",value:function(){var e=this.props.scrollingResetTimeInterval;this._debounceResetIsScrollingId&&fE(this._debounceResetIsScrollingId),this._debounceResetIsScrollingId=EE(this._debounceResetIsScrollingCallback,e)}},{key:"_getEstimatedTotalHeight",value:function(){var e=this.props,t=e.cellCount,n=e.cellMeasurerCache,e=e.width,e=Math.max(1,Math.floor(e/n.defaultWidth));return this._positionCache.estimateTotalHeight(t,e,n.defaultHeight)}},{key:"_invokeOnScrollCallback",value:function(){var e=this.props,t=e.height,e=e.onScroll,n=this.state.scrollTop;this._onScrollMemoized!==n&&(e({clientHeight:t,scrollHeight:this._getEstimatedTotalHeight(),scrollTop:n}),this._onScrollMemoized=n)}},{key:"_invokeOnCellsRenderedCallback",value:function(){this._startIndexMemoized===this._startIndex&&this._stopIndexMemoized===this._stopIndex||((0,this.props.onCellsRendered)({startIndex:this._startIndex,stopIndex:this._stopIndex}),this._startIndexMemoized=this._startIndex,this._stopIndexMemoized=this._stopIndex)}},{key:"_populatePositionCache",value:function(e,t){for(var n=this.props,A=n.cellMeasurerCache,o=n.cellPositioner,a=e;a<=t;a++){var i=o(a),r=i.left,i=i.top;this._positionCache.setPosition(a,r,i,A.getHeight(a))}}}],[{key:"getDerivedStateFromProps",value:function(e,t){return void 0!==e.scrollTop&&t.scrollTop!==e.scrollTop?{isScrolling:!0,scrollTop:e.scrollTop}:null}}]),h1);function h1(){var n,e;b()(this,h1);for(var t=arguments.length,A=Array(t),o=0;o<t;o++)A[o]=arguments[o];return(e=n=AE()(this,(e=h1.__proto__||nE()(h1)).call.apply(e,[this].concat(A)))).state={isScrolling:!1,scrollTop:0},n._invalidateOnUpdateStartIndex=null,n._invalidateOnUpdateStopIndex=null,n._positionCache=new d1,n._startIndex=null,n._startIndexMemoized=null,n._stopIndex=null,n._stopIndexMemoized=null,n._debounceResetIsScrollingCallback=function(){n.setState({isScrolling:!1})},n._setScrollingContainerRef=function(e){n._scrollingContainer=e},n._onScroll=function(e){var t=n.props.height,e=e.target.scrollTop,t=Math.min(Math.max(0,n._getEstimatedTotalHeight()-t),e);e===t&&(n._debounceResetIsScrolling(),n.state.scrollTop!==t)&&n.setState({isScrolling:!0,scrollTop:t})},e=e,AE()(n,e)}function p1(){}S.defaultProps={autoHeight:!1,keyMapper:function(e){return e},onCellsRendered:p1,onScroll:p1,overscanByPixels:20,role:"grid",scrollingResetTimeInterval:150,style:{},tabIndex:0,rowDirection:"ltr"};S.propTypes=null;Object(d.polyfill)(S);function m1(){var t=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=(b()(this,m1),this.columnWidth=function(e){e=e.index;t._cellMeasurerCache.columnWidth({index:e+t._columnIndexOffset})},this.rowHeight=function(e){e=e.index;t._cellMeasurerCache.rowHeight({index:e+t._rowIndexOffset})},e.cellMeasurerCache),A=e.columnIndexOffset,A=void 0===A?0:A,e=e.rowIndexOffset,e=void 0===e?0:e;this._cellMeasurerCache=n,this._columnIndexOffset=A,this._rowIndexOffset=e}g()(m1,[{key:"clear",value:function(e,t){this._cellMeasurerCache.clear(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"clearAll",value:function(){this._cellMeasurerCache.clearAll()}},{key:"hasFixedHeight",value:function(){return this._cellMeasurerCache.hasFixedHeight()}},{key:"hasFixedWidth",value:function(){return this._cellMeasurerCache.hasFixedWidth()}},{key:"getHeight",value:function(e){return this._cellMeasurerCache.getHeight(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"getWidth",value:function(e){return this._cellMeasurerCache.getWidth(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"has",value:function(e){return this._cellMeasurerCache.has(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"set",value:function(e,t,n,A){this._cellMeasurerCache.set(e+this._rowIndexOffset,t+this._columnIndexOffset,n,A)}},{key:"defaultHeight",get:function(){return this._cellMeasurerCache.defaultHeight}},{key:"defaultWidth",get:function(){return this._cellMeasurerCache.defaultWidth}}]);var B1=m1,S=(Q=M.PureComponent,a()(f1,Q),g()(f1,[{key:"forceUpdateGrids",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.forceUpdate(),this._bottomRightGrid&&this._bottomRightGrid.forceUpdate(),this._topLeftGrid&&this._topLeftGrid.forceUpdate(),this._topRightGrid&&this._topRightGrid.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,e):e}},{key:"measureAllCells",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.measureAllCells(),this._bottomRightGrid&&this._bottomRightGrid.measureAllCells(),this._topLeftGrid&&this._topLeftGrid.measureAllCells(),this._topRightGrid&&this._topRightGrid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e,n=this.props,A=n.fixedColumnCount,n=n.fixedRowCount,A=Math.max(0,t-A),n=Math.max(0,e-n);this._bottomLeftGrid&&this._bottomLeftGrid.recomputeGridSize({columnIndex:t,rowIndex:n}),this._bottomRightGrid&&this._bottomRightGrid.recomputeGridSize({columnIndex:A,rowIndex:n}),this._topLeftGrid&&this._topLeftGrid.recomputeGridSize({columnIndex:t,rowIndex:e}),this._topRightGrid&&this._topRightGrid.recomputeGridSize({columnIndex:A,rowIndex:e}),this._leftGridWidth=null,this._topGridHeight=null,this._maybeCalculateCachedStyles(!0)}},{key:"componentDidMount",value:function(){var e,t=this.props,n=t.scrollLeft,t=t.scrollTop;(0<n||0<t)&&(e={},0<n&&(e.scrollLeft=n),0<t&&(e.scrollTop=t),this.setState(e)),this._handleInvalidatedGridSize()}},{key:"componentDidUpdate",value:function(){this._handleInvalidatedGridSize()}},{key:"render",value:function(){var e,t,n=this.props,A=n.onScroll,o=n.onSectionRendered,a=(n.onScrollbarPresenceChange,n.scrollLeft,n.scrollToColumn),i=(n.scrollTop,n.scrollToRow),n=iE()(n,["onScroll","onSectionRendered","onScrollbarPresenceChange","scrollLeft","scrollToColumn","scrollTop","scrollToRow"]);return this._prepareForRender(),0===this.props.width||0===this.props.height?null:(e=(t=this.state).scrollLeft,t=t.scrollTop,M.createElement("div",{style:this._containerOuterStyle},M.createElement("div",{style:this._containerTopStyle},this._renderTopLeftGrid(n),this._renderTopRightGrid(T()({},n,{onScroll:A,scrollLeft:e}))),M.createElement("div",{style:this._containerBottomStyle},this._renderBottomLeftGrid(T()({},n,{onScroll:A,scrollTop:t})),this._renderBottomRightGrid(T()({},n,{onScroll:A,onSectionRendered:o,scrollLeft:e,scrollToColumn:a,scrollToRow:i,scrollTop:t})))))}},{key:"_getBottomGridHeight",value:function(e){return e.height-this._getTopGridHeight(e)}},{key:"_getLeftGridWidth",value:function(e){var t=e.fixedColumnCount,n=e.columnWidth;if(null==this._leftGridWidth)if("function"==typeof n){for(var A=0,o=0;o<t;o++)A+=n({index:o});this._leftGridWidth=A}else this._leftGridWidth=n*t;return this._leftGridWidth}},{key:"_getRightGridWidth",value:function(e){return e.width-this._getLeftGridWidth(e)}},{key:"_getTopGridHeight",value:function(e){var t=e.fixedRowCount,n=e.rowHeight;if(null==this._topGridHeight)if("function"==typeof n){for(var A=0,o=0;o<t;o++)A+=n({index:o});this._topGridHeight=A}else this._topGridHeight=n*t;return this._topGridHeight}},{key:"_handleInvalidatedGridSize",value:function(){var e,t;"number"==typeof this._deferredInvalidateColumnIndex&&(e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex,this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t}),this.forceUpdate())}},{key:"_maybeCalculateCachedStyles",value:function(e){var t=this.props,n=t.columnWidth,A=t.enableFixedColumnScroll,o=t.enableFixedRowScroll,a=t.height,i=t.fixedColumnCount,r=t.fixedRowCount,s=t.rowHeight,l=t.style,u=t.styleBottomLeftGrid,c=t.styleBottomRightGrid,g=t.styleTopLeftGrid,d=t.styleTopRightGrid,t=t.width,h=e||a!==this._lastRenderedHeight||t!==this._lastRenderedWidth,p=e||n!==this._lastRenderedColumnWidth||i!==this._lastRenderedFixedColumnCount,m=e||r!==this._lastRenderedFixedRowCount||s!==this._lastRenderedRowHeight;(e||h||l!==this._lastRenderedStyle)&&(this._containerOuterStyle=T()({height:a,overflow:"visible",width:t},l)),(e||h||m)&&(this._containerTopStyle={height:this._getTopGridHeight(this.props),position:"relative",width:t},this._containerBottomStyle={height:a-this._getTopGridHeight(this.props),overflow:"visible",position:"relative",width:t}),!e&&u===this._lastRenderedStyleBottomLeftGrid||(this._bottomLeftGridStyle=T()({left:0,overflowX:"hidden",overflowY:A?"auto":"hidden",position:"absolute"},u)),(e||p||c!==this._lastRenderedStyleBottomRightGrid)&&(this._bottomRightGridStyle=T()({left:this._getLeftGridWidth(this.props),position:"absolute"},c)),!e&&g===this._lastRenderedStyleTopLeftGrid||(this._topLeftGridStyle=T()({left:0,overflowX:"hidden",overflowY:"hidden",position:"absolute",top:0},g)),(e||p||d!==this._lastRenderedStyleTopRightGrid)&&(this._topRightGridStyle=T()({left:this._getLeftGridWidth(this.props),overflowX:o?"auto":"hidden",overflowY:"hidden",position:"absolute",top:0},d)),this._lastRenderedColumnWidth=n,this._lastRenderedFixedColumnCount=i,this._lastRenderedFixedRowCount=r,this._lastRenderedHeight=a,this._lastRenderedRowHeight=s,this._lastRenderedStyle=l,this._lastRenderedStyleBottomLeftGrid=u,this._lastRenderedStyleBottomRightGrid=c,this._lastRenderedStyleTopLeftGrid=g,this._lastRenderedStyleTopRightGrid=d,this._lastRenderedWidth=t}},{key:"_prepareForRender",value:function(){this._lastRenderedColumnWidth===this.props.columnWidth&&this._lastRenderedFixedColumnCount===this.props.fixedColumnCount||(this._leftGridWidth=null),this._lastRenderedFixedRowCount===this.props.fixedRowCount&&this._lastRenderedRowHeight===this.props.rowHeight||(this._topGridHeight=null),this._maybeCalculateCachedStyles(),this._lastRenderedColumnWidth=this.props.columnWidth,this._lastRenderedFixedColumnCount=this.props.fixedColumnCount,this._lastRenderedFixedRowCount=this.props.fixedRowCount,this._lastRenderedRowHeight=this.props.rowHeight}},{key:"_renderBottomLeftGrid",value:function(e){var t,n,A,o=e.enableFixedColumnScroll,a=e.fixedColumnCount,i=e.fixedRowCount,r=e.rowCount,s=e.hideBottomLeftGridScrollbar,l=this.state.showVerticalScrollbar;return a?(l=l?1:0,t=this._getBottomGridHeight(e),n=this._getLeftGridWidth(e),A=this.state.showVerticalScrollbar?this.state.scrollbarSize:0,A=s?n+A:n,e=M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererBottomLeftGrid,className:this.props.classNameBottomLeftGrid,columnCount:a,deferredMeasurementCache:this._deferredMeasurementCacheBottomLeftGrid,height:t,onScroll:o?this._onScrollTop:void 0,ref:this._bottomLeftGridRef,rowCount:Math.max(0,r-i)+l,rowHeight:this._rowHeightBottomGrid,style:this._bottomLeftGridStyle,tabIndex:null,width:A})),s?M.createElement("div",{className:"BottomLeftGrid_ScrollWrapper",style:T()({},this._bottomLeftGridStyle,{height:t,width:n,overflowY:"hidden"})},e):e):null}},{key:"_renderBottomRightGrid",value:function(e){var t=e.columnCount,n=e.fixedColumnCount,A=e.fixedRowCount,o=e.rowCount,a=e.scrollToColumn,i=e.scrollToRow;return M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererBottomRightGrid,className:this.props.classNameBottomRightGrid,columnCount:Math.max(0,t-n),columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheBottomRightGrid,height:this._getBottomGridHeight(e),onScroll:this._onScroll,onScrollbarPresenceChange:this._onScrollbarPresenceChange,ref:this._bottomRightGridRef,rowCount:Math.max(0,o-A),rowHeight:this._rowHeightBottomGrid,scrollToColumn:a-n,scrollToRow:i-A,style:this._bottomRightGridStyle,width:this._getRightGridWidth(e)}))}},{key:"_renderTopLeftGrid",value:function(e){var t=e.fixedColumnCount,n=e.fixedRowCount;return t&&n?M.createElement(TE,T()({},e,{className:this.props.classNameTopLeftGrid,columnCount:t,height:this._getTopGridHeight(e),ref:this._topLeftGridRef,rowCount:n,style:this._topLeftGridStyle,tabIndex:null,width:this._getLeftGridWidth(e)})):null}},{key:"_renderTopRightGrid",value:function(e){var t,n,A,o,a,i=e.columnCount,r=e.enableFixedRowScroll,s=e.fixedColumnCount,l=e.fixedRowCount,u=e.scrollLeft,c=e.hideTopRightGridScrollbar,g=this.state,d=g.showHorizontalScrollbar,g=g.scrollbarSize;return l?(t=d?1:0,n=this._getTopGridHeight(e),A=this._getRightGridWidth(e),o=n,a=this._topRightGridStyle,c&&(o=n+(d?g:0),a=T()({},this._topRightGridStyle,{left:0})),d=M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererTopRightGrid,className:this.props.classNameTopRightGrid,columnCount:Math.max(0,i-s)+t,columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheTopRightGrid,height:o,onScroll:r?this._onScrollLeft:void 0,ref:this._topRightGridRef,rowCount:l,scrollLeft:u,style:a,tabIndex:null,width:A})),c?M.createElement("div",{className:"TopRightGrid_ScrollWrapper",style:T()({},this._topRightGridStyle,{height:n,width:A,overflowX:"hidden"})},d):d):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:(null!=e.scrollLeft&&0<=e.scrollLeft?e:t).scrollLeft,scrollTop:(null!=e.scrollTop&&0<=e.scrollTop?e:t).scrollTop}:null}}]),f1);function f1(e,t){b()(this,f1);var t=AE()(this,(f1.__proto__||nE()(f1)).call(this,e,t)),n=(E1.call(t),e.deferredMeasurementCache),A=e.fixedColumnCount,e=e.fixedRowCount;return t._maybeCalculateCachedStyles(!0),n&&(t._deferredMeasurementCacheBottomLeftGrid=0<e?new B1({cellMeasurerCache:n,columnIndexOffset:0,rowIndexOffset:e}):n,t._deferredMeasurementCacheBottomRightGrid=0<A||0<e?new B1({cellMeasurerCache:n,columnIndexOffset:A,rowIndexOffset:e}):n,t._deferredMeasurementCacheTopRightGrid=0<A?new B1({cellMeasurerCache:n,columnIndexOffset:A,rowIndexOffset:0}):n),t}S.defaultProps={classNameBottomLeftGrid:"",classNameBottomRightGrid:"",classNameTopLeftGrid:"",classNameTopRightGrid:"",enableFixedColumnScroll:!1,enableFixedRowScroll:!1,fixedColumnCount:0,fixedRowCount:0,scrollToColumn:-1,scrollToRow:-1,style:{},styleBottomLeftGrid:{},styleBottomRightGrid:{},styleTopLeftGrid:{},styleTopRightGrid:{},hideTopRightGridScrollbar:!1,hideBottomLeftGridScrollbar:!1};var E1=function(){var i=this;this.state={scrollLeft:0,scrollTop:0,scrollbarSize:0,showHorizontalScrollbar:!1,showVerticalScrollbar:!1},this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this._bottomLeftGridRef=function(e){i._bottomLeftGrid=e},this._bottomRightGridRef=function(e){i._bottomRightGrid=e},this._cellRendererBottomLeftGrid=function(e){var t=e.rowIndex,e=iE()(e,["rowIndex"]),n=i.props,A=n.cellRenderer,o=n.fixedRowCount;return t===n.rowCount-o?M.createElement("div",{key:e.key,style:T()({},e.style,{height:20})}):A(T()({},e,{parent:i,rowIndex:t+o}))},this._cellRendererBottomRightGrid=function(e){var t=e.columnIndex,n=e.rowIndex,e=iE()(e,["columnIndex","rowIndex"]),A=i.props,o=A.cellRenderer,a=A.fixedColumnCount,A=A.fixedRowCount;return o(T()({},e,{columnIndex:t+a,parent:i,rowIndex:n+A}))},this._cellRendererTopRightGrid=function(e){var t=e.columnIndex,e=iE()(e,["columnIndex"]),n=i.props,A=n.cellRenderer,o=n.columnCount,n=n.fixedColumnCount;return t===o-n?M.createElement("div",{key:e.key,style:T()({},e.style,{width:20})}):A(T()({},e,{columnIndex:t+n,parent:i}))},this._columnWidthRightGrid=function(e){var e=e.index,t=i.props,n=t.columnCount,A=t.fixedColumnCount,t=t.columnWidth,o=i.state,a=o.scrollbarSize;return o.showHorizontalScrollbar&&e===n-A?a:"function"==typeof t?t({index:e+A}):t},this._onScroll=function(e){var t=e.scrollLeft,n=e.scrollTop,t=(i.setState({scrollLeft:t,scrollTop:n}),i.props.onScroll);t&&t(e)},this._onScrollbarPresenceChange=function(e){var t=e.horizontal,n=e.size,e=e.vertical,A=i.state,o=A.showHorizontalScrollbar,A=A.showVerticalScrollbar;t===o&&e===A||(i.setState({scrollbarSize:n,showHorizontalScrollbar:t,showVerticalScrollbar:e}),"function"==typeof(o=i.props.onScrollbarPresenceChange)&&o({horizontal:t,size:n,vertical:e}))},this._onScrollLeft=function(e){e=e.scrollLeft;i._onScroll({scrollLeft:e,scrollTop:i.state.scrollTop})},this._onScrollTop=function(e){e=e.scrollTop;i._onScroll({scrollTop:e,scrollLeft:i.state.scrollLeft})},this._rowHeightBottomGrid=function(e){var e=e.index,t=i.props,n=t.fixedRowCount,A=t.rowCount,t=t.rowHeight,o=i.state,a=o.scrollbarSize;return o.showVerticalScrollbar&&e===A-n?a:"function"==typeof t?t({index:e+n}):t},this._topLeftGridRef=function(e){i._topLeftGrid=e},this._topRightGridRef=function(e){i._topRightGrid=e}};S.propTypes={},Object(d.polyfill)(S);function w1(e,t){b()(this,w1);e=AE()(this,(w1.__proto__||nE()(w1)).call(this,e,t));return e.state={clientHeight:0,clientWidth:0,scrollHeight:0,scrollLeft:0,scrollTop:0,scrollWidth:0},e._onScroll=e._onScroll.bind(e),e}Q=M.PureComponent,a()(w1,Q),g()(w1,[{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.clientHeight,A=t.clientWidth,o=t.scrollHeight,a=t.scrollLeft,i=t.scrollTop,t=t.scrollWidth;return e({clientHeight:n,clientWidth:A,onScroll:this._onScroll,scrollHeight:o,scrollLeft:a,scrollTop:i,scrollWidth:t})}},{key:"_onScroll",value:function(e){var t=e.clientHeight,n=e.clientWidth,A=e.scrollHeight,o=e.scrollLeft,a=e.scrollTop,e=e.scrollWidth;this.setState({clientHeight:t,clientWidth:n,scrollHeight:A,scrollLeft:o,scrollTop:a,scrollWidth:e})}}]);w1.propTypes={};function C1(e){var t=e.className,n=e.columns,e=e.style;return M.createElement("div",{className:t,role:"row",style:e},n)}C1.propTypes=null;var I1={ASC:"ASC",DESC:"DESC"};function y1(e){var e=e.sortDirection,t=J()("ReactVirtualized__Table__sortableHeaderIcon",{"ReactVirtualized__Table__sortableHeaderIcon--ASC":e===I1.ASC,"ReactVirtualized__Table__sortableHeaderIcon--DESC":e===I1.DESC});return M.createElement("svg",{className:t,width:18,height:18,viewBox:"0 0 24 24"},e===I1.ASC?M.createElement("path",{d:"M7 14l5-5 5 5z"}):M.createElement("path",{d:"M7 10l5 5 5-5z"}),M.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))}function b1(e){var t=e.dataKey,n=e.label,A=e.sortBy,e=e.sortDirection,A=A===t,t=[M.createElement("span",{className:"ReactVirtualized__Table__headerTruncatedText",key:"label",title:n},n)];return A&&t.push(M.createElement(y1,{key:"SortIndicator",sortDirection:e})),t}function M1(e){var t=e.className,n=e.columns,A=e.index,o=e.key,a=e.onRowClick,i=e.onRowDoubleClick,r=e.onRowMouseOut,s=e.onRowMouseOver,l=e.onRowRightClick,u=e.rowData,e=e.style,c={};return(a||i||r||s||l)&&(c["aria-label"]="row",c.tabIndex=0,a&&(c.onClick=function(e){return a({event:e,index:A,rowData:u})}),i&&(c.onDoubleClick=function(e){return i({event:e,index:A,rowData:u})}),r&&(c.onMouseOut=function(e){return r({event:e,index:A,rowData:u})}),s&&(c.onMouseOver=function(e){return s({event:e,index:A,rowData:u})}),l)&&(c.onContextMenu=function(e){return l({event:e,index:A,rowData:u})}),M.createElement("div",T()({},c,{className:t,key:o,role:"row",style:e}),n)}y1.propTypes={},M1.propTypes=b1.propTypes=null;d=M.Component,a()(Q1,d);S=Q1;function Q1(){return b()(this,Q1),AE()(this,(Q1.__proto__||nE()(Q1)).apply(this,arguments))}S.defaultProps={cellDataGetter:function(e){var t=e.dataKey;return"function"==typeof(e=e.rowData).get?e.get(t):e[t]},cellRenderer:function(e){return null==(e=e.cellData)?"":String(e)},defaultSortDirection:I1.ASC,flexGrow:0,flexShrink:1,headerRenderer:b1,style:{}};S.propTypes={},Q=M.PureComponent,a()(T1,Q),g()(T1,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,e=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:e}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:e,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.recomputeGridSize({rowIndex:void 0===e?0:e,columnIndex:void 0===t?0:t})}},{key:"recomputeRowHeights",value:function(){this.Grid&&this.Grid.recomputeGridSize({rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToPosition",value:function(){this.Grid&&this.Grid.scrollToPosition({scrollTop:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToRow",value:function(){this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"componentDidMount",value:function(){this._setScrollbarWidth()}},{key:"componentDidUpdate",value:function(){this._setScrollbarWidth()}},{key:"render",value:function(){var n=this,e=this.props,t=e.children,A=e.className,o=e.disableHeader,a=e.gridClassName,i=e.gridStyle,r=e.headerHeight,s=e.headerRowRenderer,l=e.height,u=e.id,c=e.noRowsRenderer,g=e.rowClassName,d=e.rowStyle,h=e.scrollToIndex,p=e.style,e=e.width,m=this.state.scrollbarWidth,l=o?l:l-r,g="function"==typeof g?g({index:-1}):g,d="function"==typeof d?d({index:-1}):d;return this._cachedColumnStyles=[],M.Children.toArray(t).forEach(function(e,t){e=n._getFlexStyleForColumn(e,e.props.style);n._cachedColumnStyles[t]=T()({},e,{overflow:"hidden"})}),M.createElement("div",{className:J()("ReactVirtualized__Table",A),id:u,role:"grid",style:p},!o&&s({className:J()("ReactVirtualized__Table__headerRow",g),columns:this._getHeaderColumns(),style:T()({},d,{height:r,overflow:"hidden",paddingRight:m,width:e})}),M.createElement(TE,T()({},this.props,{autoContainerWidth:!0,className:J()("ReactVirtualized__Table__Grid",a),cellRenderer:this._createRow,columnWidth:e,columnCount:1,height:l,id:void 0,noContentRenderer:c,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,role:"rowgroup",scrollbarWidth:m,scrollToRow:h,style:T()({},i,{overflowX:"hidden"})})))}},{key:"_createColumn",value:function(e){var t=e.column,n=e.columnIndex,A=e.isScrolling,o=e.parent,a=e.rowData,e=e.rowIndex,t=t.props,i=t.cellDataGetter,r=t.cellRenderer,s=t.className,l=t.columnData,u=t.dataKey,t=t.id,r=r({cellData:i({columnData:l,dataKey:u,rowData:a}),columnData:l,columnIndex:n,dataKey:u,isScrolling:A,parent:o,rowData:a,rowIndex:e}),i=this._cachedColumnStyles[n],l="string"==typeof r?r:null;return M.createElement("div",{"aria-describedby":t,className:J()("ReactVirtualized__Table__rowColumn",s),key:"Row"+e+"-Col"+n,role:"gridcell",style:i,title:l},r)}},{key:"_createHeader",value:function(e){var t,n,A=e.column,e=e.index,o=this.props,a=o.headerClassName,i=o.headerStyle,r=o.onHeaderClick,s=o.sort,l=o.sortBy,o=o.sortDirection,u=A.props,c=u.columnData,g=u.dataKey,d=u.defaultSortDirection,h=u.disableSort,p=u.headerRenderer,m=u.id,u=u.label,B=!h&&s,a=J()("ReactVirtualized__Table__headerColumn",a,A.props.headerClassName,{ReactVirtualized__Table__sortableHeaderColumn:B}),i=this._getFlexStyleForColumn(A,T()({},i,A.props.headerStyle)),p=p({columnData:c,dataKey:g,disableSort:h,label:u,sortBy:l,sortDirection:o}),h=void 0,f=void 0,E=void 0,w=void 0,C=void 0;return(B||r)&&(t=l!==g?d:o===I1.DESC?I1.ASC:I1.DESC,n=function(e){B&&s({defaultSortDirection:d,event:e,sortBy:g,sortDirection:t}),r&&r({columnData:c,dataKey:g,event:e})},C=A.props["aria-label"]||u||g,E=0,h=n,f=function(e){"Enter"!==e.key&&" "!==e.key||n(e)}),M.createElement("div",{"aria-label":C,"aria-sort":w=l===g?o===I1.ASC?"ascending":"descending":w,className:a,id:m,key:"Header-Col"+e,onClick:h,onKeyDown:f,role:"columnheader",style:i,tabIndex:E},p)}},{key:"_createRow",value:function(e){var n=this,A=e.rowIndex,o=e.isScrolling,t=e.key,a=e.parent,e=e.style,i=this.props,r=i.children,s=i.onRowClick,l=i.onRowDoubleClick,u=i.onRowRightClick,c=i.onRowMouseOver,g=i.onRowMouseOut,d=i.rowClassName,h=i.rowGetter,p=i.rowRenderer,i=i.rowStyle,m=this.state.scrollbarWidth,d="function"==typeof d?d({index:A}):d,i="function"==typeof i?i({index:A}):i,B=h({index:A}),h=M.Children.toArray(r).map(function(e,t){return n._createColumn({column:e,columnIndex:t,isScrolling:o,parent:a,rowData:B,rowIndex:A,scrollbarWidth:m})}),r=J()("ReactVirtualized__Table__row",d),d=T()({},e,i,{height:this._getRowHeight(A),overflow:"hidden",paddingRight:m});return p({className:r,columns:h,index:A,isScrolling:o,key:t,onRowClick:s,onRowDoubleClick:l,onRowRightClick:u,onRowMouseOver:c,onRowMouseOut:g,rowData:B,style:d})}},{key:"_getFlexStyleForColumn",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=e.props.flexGrow+" "+e.props.flexShrink+" "+e.props.width+"px",t=T()({},t,{flex:n,msFlex:n,WebkitFlex:n});return e.props.maxWidth&&(t.maxWidth=e.props.maxWidth),e.props.minWidth&&(t.minWidth=e.props.minWidth),t}},{key:"_getHeaderColumns",value:function(){var n=this,e=this.props,t=e.children;return(e.disableHeader?[]:M.Children.toArray(t)).map(function(e,t){return n._createHeader({column:e,index:t})})}},{key:"_getRowHeight",value:function(e){var t=this.props.rowHeight;return"function"==typeof t?t({index:e}):t}},{key:"_onScroll",value:function(e){var t=e.clientHeight,n=e.scrollHeight,e=e.scrollTop;(0,this.props.onScroll)({clientHeight:t,scrollHeight:n,scrollTop:e})}},{key:"_onSectionRendered",value:function(e){var t=e.rowOverscanStartIndex,n=e.rowOverscanStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;(0,this.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:n,startIndex:A,stopIndex:e})}},{key:"_setRef",value:function(e){this.Grid=e}},{key:"_setScrollbarWidth",value:function(){var e,t;this.Grid&&(e=(t=Object(j0.findDOMNode)(this.Grid)).clientWidth||0,t=t.offsetWidth||0,this.setState({scrollbarWidth:t-e}))}}]);d=T1;function T1(e){b()(this,T1);e=AE()(this,(T1.__proto__||nE()(T1)).call(this,e));return e.state={scrollbarWidth:0},e._createColumn=e._createColumn.bind(e),e._createRow=e._createRow.bind(e),e._onScroll=e._onScroll.bind(e),e._onSectionRendered=e._onSectionRendered.bind(e),e._setRef=e._setRef.bind(e),e}d.defaultProps={disableHeader:!1,estimatedRowSize:30,headerHeight:0,headerStyle:{},noRowsRenderer:function(){return null},onRowsRendered:function(){return null},onScroll:function(){return null},overscanIndicesGetter:SE,overscanRowCount:10,rowRenderer:M1,headerRowRenderer:C1,rowStyle:{},scrollToAlignment:"auto",scrollToIndex:-1,style:{}};d.propTypes={};var S1=[],k1=null,D1=null;function v1(){D1&&(D1=null,document.body&&null!=k1&&(document.body.style.pointerEvents=k1),k1=null)}function N1(){v1(),S1.forEach(function(e){return e.__resetIsScrolling()})}function O1(t){var n;t.currentTarget===window&&null==k1&&document.body&&(k1=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),D1&&fE(D1),n=0,S1.forEach(function(e){n=Math.max(n,e.props.scrollingResetTimeInterval)}),D1=EE(N1,n),S1.forEach(function(e){e.props.scrollElement===t.currentTarget&&e.__handleWindowScrollEvent()})}function F1(e,t){S1.some(function(e){return e.props.scrollElement===t})||t.addEventListener("scroll",O1),S1.push(e)}function R1(t,e){(S1=S1.filter(function(e){return e!==t})).length||(e.removeEventListener("scroll",O1),D1&&(fE(D1),v1()))}var Y1=function(e){return e===window},x1=function(e){return e.getBoundingClientRect()};function _1(e,t){var n,A;return e?Y1(e)?{height:"number"==typeof(A=(n=window).innerHeight)?A:0,width:"number"==typeof(A=n.innerWidth)?A:0}:x1(e):{height:t.serverHeight,width:t.serverWidth}}function U1(e){return Y1(e)&&document.documentElement?{top:"scrollY"in window?window.scrollY:document.documentElement.scrollTop,left:"scrollX"in window?window.scrollX:document.documentElement.scrollLeft}:{top:e.scrollTop,left:e.scrollLeft}}function G1(){return"undefined"!=typeof window?window:void 0}S=M.PureComponent,a()(L1,S),g()(L1,[{key:"updatePosition",value:function(){var e,t,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props.scrollElement,A=this.props.onResize,o=this.state,a=o.height,o=o.width,i=this._child||j0.findDOMNode(this),r=(i instanceof Element&&n&&(i=i,e=Y1(e=n)&&document.documentElement?(r=document.documentElement,t=x1(i),r=x1(r),{top:t.top-r.top,left:t.left-r.left}):(t=U1(e),r=x1(i),i=x1(e),{top:r.top+t.top-i.top,left:r.left+t.left-i.left}),this._positionFromTop=e.top,this._positionFromLeft=e.left),_1(n,this.props));a===r.height&&o===r.width||(this.setState({height:r.height,width:r.width}),A({height:r.height,width:r.width}))}},{key:"componentDidMount",value:function(){var e=this.props.scrollElement;this._detectElementResize=Object(DE.a)(),this.updatePosition(e),e&&(F1(this,e),this._registerResizeListener(e)),this._isMounted=!0}},{key:"componentDidUpdate",value:function(e,t){var n=this.props.scrollElement,e=e.scrollElement;e!==n&&null!=e&&null!=n&&(this.updatePosition(n),R1(this,e),F1(this,n),this._unregisterResizeListener(e),this._registerResizeListener(n))}},{key:"componentWillUnmount",value:function(){var e=this.props.scrollElement;e&&(R1(this,e),this._unregisterResizeListener(e)),this._isMounted=!1}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.isScrolling,A=t.scrollTop,o=t.scrollLeft,a=t.height,t=t.width;return e({onChildScroll:this._onChildScroll,registerChild:this._registerChild,height:a,isScrolling:n,scrollLeft:o,scrollTop:A,width:t})}}]);Q=L1;function L1(){var A,e;b()(this,L1);for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return(e=A=AE()(this,(e=L1.__proto__||nE()(L1)).call.apply(e,[this].concat(n))))._window=G1(),A._isMounted=!1,A._positionFromTop=0,A._positionFromLeft=0,A.state=T()({},_1(A.props.scrollElement,A.props),{isScrolling:!1,scrollLeft:0,scrollTop:0}),A._registerChild=function(e){!e||e instanceof Element||console.warn("WindowScroller registerChild expects to be passed Element or null"),A._child=e,A.updatePosition()},A._onChildScroll=function(e){var t,e=e.scrollTop;A.state.scrollTop!==e&&(t=A.props.scrollElement)&&("function"==typeof t.scrollTo?t.scrollTo(0,e+A._positionFromTop):t.scrollTop=e+A._positionFromTop)},A._registerResizeListener=function(e){e===window?window.addEventListener("resize",A._onResize,!1):A._detectElementResize.addResizeListener(e,A._onResize)},A._unregisterResizeListener=function(e){e===window?window.removeEventListener("resize",A._onResize,!1):e&&A._detectElementResize.removeResizeListener(e,A._onResize)},A._onResize=function(){A.updatePosition()},A.__handleWindowScrollEvent=function(){var e,t,n;A._isMounted&&(e=A.props.onScroll,n=A.props.scrollElement)&&(n=U1(n),t=Math.max(0,n.left-A._positionFromLeft),n=Math.max(0,n.top-A._positionFromTop),A.setState({isScrolling:!0,scrollLeft:t,scrollTop:n}),e({scrollLeft:t,scrollTop:n}))},A.__resetIsScrolling=function(){A.setState({isScrolling:!1})},e=e,AE()(A,e)}Q.defaultProps={onResize:function(){},onScroll:function(){},scrollingResetTimeInterval:150,scrollElement:G1(),serverHeight:0,serverWidth:0},Q.propTypes=null;function P1(e){return(P1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function H1(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function j1(e,t){return(j1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z1(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=W1(A);return e=o?(e=W1(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==P1(t)&&"function"!=typeof t?J1(n):t}}function J1(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W1(e){return(W1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&j1(t,e);var n,A=z1(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(J1(e),["rowRenderer","noRowsRenderer","handleEventFactory"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleEventFactory",value:function(e){var t=this;return function(){return t.props.onActivate(e)}}},{key:"noRowsRenderer",value:function(){return j.a.createElement("div",{className:J()(y.a.listRow,y.a.listEmpty)},j.a.createElement(z.a,{defaultMessage:"(empty)",id:"gui.monitor.listMonitor.empty"}))}},{key:"rowRenderer",value:function(e){var t=e.index,n=e.key,e=e.style;return j.a.createElement("div",{className:y.a.listRow,key:n,style:e},j.a.createElement("div",{className:y.a.listIndex},t+1),j.a.createElement("div",{className:y.a.listValue,dataIndex:t,style:{background:this.props.categoryColor},onClick:this.props.draggable?this.handleEventFactory(t):null},this.props.draggable&&this.props.activeIndex===t?j.a.createElement("div",{className:y.a.inputWrapper},j.a.createElement("input",{autoFocus:!0,autoComplete:!1,className:J()(y.a.listInput,"no-drag"),spellCheck:!1,type:"text",value:this.props.activeValue,onBlur:this.props.onDeactivate,onChange:this.props.onInput,onFocus:this.props.onFocus,onKeyDown:this.props.onKeyPress}),j.a.createElement("div",{className:y.a.removeButton,onMouseDown:this.props.onRemove},"✖︎")):j.a.createElement("div",{className:y.a.valueInner},this.props.values[t])))}},{key:"render",value:function(){var e=this.props,t=e.height,n=e.values,A=e.width,o=e.activeIndex,e=e.activeValue;return j.a.createElement(KE,{activeIndex:o,activeValue:e,height:t-44,noRowsRenderer:this.noRowsRenderer,rowCount:n.length,rowHeight:24,rowRenderer:this.rowRenderer,scrollToIndex:null===o?void 0:o,values:n,width:A})}}])&&H1(t.prototype,e),n&&H1(t,n),o}(j.a.Component),V1=(d.propTypes={activeIndex:n.a.number,activeValue:n.a.string,categoryColor:n.a.string,draggable:n.a.bool,height:n.a.number,onActivate:n.a.func,onDeactivate:n.a.func,onFocus:n.a.func,onInput:n.a.func,onKeyPress:n.a.func,onRemove:n.a.func,values:n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number])),width:n.a.number},d),K1=["draggable","label","width","height","value","onResizeMouseDown","onAdd"];function X1(){return(X1=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function q1(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Z1(e){var t=e.draggable,n=e.label,A=e.width,o=e.height,a=e.value,i=e.onResizeMouseDown,r=e.onAdd,e=q1(e,K1);return j.a.createElement("div",{className:y.a.listMonitor,style:{width:"".concat(A,"px"),height:"".concat(o,"px")}},j.a.createElement("div",{className:y.a.listHeader},n),j.a.createElement("div",{className:y.a.listBody},j.a.createElement(V1,X1({draggable:t,height:o,values:a,width:A},e))),j.a.createElement("div",{className:y.a.listFooter},j.a.createElement("div",{className:J()(t?y.a.addButton:null,"no-drag"),onClick:t?r:null},"+"),j.a.createElement("div",{className:y.a.footerLength},j.a.createElement(z.a,{defaultMessage:"length {length}",id:"gui.monitor.listMonitor.listLength",values:{length:a.length}})),j.a.createElement("div",{className:J()(t?y.a.resizeHandle:null,"no-drag"),onMouseDown:t?i:null},"=")))}Z1.propTypes={activeIndex:n.a.number,categoryColor:n.a.string.isRequired,draggable:n.a.bool.isRequired,height:n.a.number,label:n.a.string.isRequired,onActivate:n.a.func,onAdd:n.a.func,onResizeMouseDown:n.a.func,value:n.a.oneOfType([n.a.string,n.a.number,n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number]))]),width:n.a.number},Z1.defaultProps={width:110,height:200};var $1=Z1,e3=e(75);function t3(e){return(t3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n3=["vm"];function A3(){return(A3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function o3(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function a3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function i3(e,t){return(i3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function r3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=l3(A);return e=o?(e=l3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==t3(t)&&"function"!=typeof t?s3(n):t}}function s3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l3(e){return(l3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i3(t,e);var n,A=r3(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(s3(t),["handleActivate","handleDeactivate","handleInput","handleRemove","handleKeyPress","handleFocus","handleAdd","handleResizeMouseDown"]),t.state={activeIndex:null,activeValue:null,width:e.width||100,height:e.height||200},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleActivate",value:function(e){this.state.activeIndex!==e&&this.setState({activeIndex:e,activeValue:this.props.value[e]})}},{key:"handleDeactivate",value:function(){var e,t,n,A;null!==this.state.activeIndex&&(e=(n=this.props).vm,t=n.targetId,n=n.id,(A=G0(e,t,n))[this.state.activeIndex]=this.state.activeValue,L0(e,t,n,A),this.setState({activeIndex:null,activeValue:null}))}},{key:"handleFocus",value:function(e){e.target.select()}},{key:"handleKeyPress",value:function(e){var t=this.state.activeIndex,n=this.props,A=n.vm,o=n.targetId,n=n.id,a=0;"Tab"===e.key?a=e.shiftKey?-1:1:"ArrowUp"===e.key?a=-1:"ArrowDown"===e.key&&(a=1),a?(this.handleDeactivate(),a=this.wrapListIndex(t+a,this.props.value.length),this.setState({activeIndex:a,activeValue:this.props.value[a]}),e.preventDefault()):"Enter"===e.key&&(this.handleDeactivate(),a=e.shiftKey?0:1,e=(e=G0(A,o,n)).slice(0,t+a).concat([""]).concat(e.slice(t+a)),L0(A,o,n,e),A=this.wrapListIndex(t+a,e.length),this.setState({activeIndex:A,activeValue:""}))}},{key:"handleInput",value:function(e){this.setState({activeValue:e.target.value})}},{key:"handleRemove",value:function(e){e.preventDefault(),e.stopPropagation();var e=this.props,t=e.vm,n=e.targetId,e=e.id,A=G0(t,n,e),A=A.slice(0,this.state.activeIndex).concat(A.slice(this.state.activeIndex+1)),t=(L0(t,n,e,A),Math.min(A.length-1,this.state.activeIndex));this.setState({activeIndex:t,activeValue:A[t]})}},{key:"handleAdd",value:function(){var e=this.props,t=e.vm,n=e.targetId,e=e.id,A=G0(t,n,e).concat([""]);L0(t,n,e,A),this.setState({activeIndex:A.length-1,activeValue:""})}},{key:"handleResizeMouseDown",value:function(e){function t(e){A(e),window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",t),n.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:n.props.id,height:n.state.height,width:n.state.width}))}var n=this,A=(this.initialPosition=bn(e),this.initialWidth=this.state.width,this.initialHeight=this.state.height,function(e){var e=bn(e),t=e.x-n.initialPosition.x,e=e.y-n.initialPosition.y;n.setState({width:Math.max(Math.min(n.initialWidth+t,480),100),height:Math.max(Math.min(n.initialHeight+e,360),60)})});window.addEventListener("mousemove",A),window.addEventListener("mouseup",t)}},{key:"wrapListIndex",value:function(e,t){return(e+t)%t}},{key:"render",value:function(){var e=this.props,e=(e.vm,o3(e,n3));return j.a.createElement($1,A3({},e,{activeIndex:this.state.activeIndex,activeValue:this.state.activeValue,height:this.state.height,width:this.state.width,onActivate:this.handleActivate,onAdd:this.handleAdd,onDeactivate:this.handleDeactivate,onFocus:this.handleFocus,onInput:this.handleInput,onKeyPress:this.handleKeyPress,onRemove:this.handleRemove,onResizeMouseDown:this.handleResizeMouseDown}))}}])&&a3(t.prototype,e),n&&a3(t,n),o}(j.a.Component),a.propTypes={height:n.a.number,id:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.number,n.a.string]),vm:n.a.instanceOf(o.a),width:n.a.number,x:n.a.number,y:n.a.number},S=Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(a);function u3(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function c3(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?u3(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):u3(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function g3(e){return j.a.createElement(TA,{disable:!e.draggable,holdToDisplay:"slider"===e.mode?-1:1e3,id:"monitor-".concat(e.label)},j.a.createElement(R2.a,{bounds:".monitor-overlay",cancel:".no-drag",defaultClassNameDragging:y.a.dragging,disabled:!e.draggable,onStop:e.onDragEnd},j.a.createElement(W.a,{className:y.a.monitorContainer,componentRef:e.componentRef,onDoubleClick:"list"!==e.mode&&e.draggable?e.onNextMode:null},j.a.createElement(p3[e.mode],c3({categoryColor:h3[e.category]},e)))),z0.a.createPortal(j.a.createElement(DA,{id:"monitor-".concat(e.label)},e.onSetModeToDefault&&j.a.createElement(vA,{onClick:e.onSetModeToDefault},j.a.createElement(z.a,{defaultMessage:"normal readout",id:"gui.monitor.contextMenu.default"})),e.onSetModeToLarge&&j.a.createElement(vA,{onClick:e.onSetModeToLarge},j.a.createElement(z.a,{defaultMessage:"large readout",id:"gui.monitor.contextMenu.large"})),e.onSetModeToSlider&&j.a.createElement(vA,{onClick:e.onSetModeToSlider},j.a.createElement(z.a,{defaultMessage:"slider",id:"gui.monitor.contextMenu.slider"})),e.onSliderPromptOpen&&"slider"===e.mode&&j.a.createElement(NA,{onClick:e.onSliderPromptOpen},j.a.createElement(z.a,{defaultMessage:"change slider range",id:"gui.monitor.contextMenu.sliderRange"})),e.onImport&&j.a.createElement(vA,{onClick:e.onImport},j.a.createElement(z.a,{defaultMessage:"import",id:"gui.monitor.contextMenu.import"})),e.onExport&&j.a.createElement(vA,{onClick:e.onExport},j.a.createElement(z.a,{defaultMessage:"export",id:"gui.monitor.contextMenu.export"})),e.onHide&&j.a.createElement(NA,{onClick:e.onHide},j.a.createElement(z.a,{defaultMessage:"hide",id:"gui.monitor.contextMenu.hide"}))),document.body))}function d3(e){return j.a.createElement(cl.a,{className:f3.a.modalContent,contentLabel:e.intl.formatMessage(E3.title),id:"sliderPrompt",onRequestClose:e.onCancel},j.a.createElement(W.a,{className:f3.a.body},j.a.createElement(W.a,{className:f3.a.label},e.intl.formatMessage(E3.minValue)),j.a.createElement(W.a,null,j.a.createElement("input",{className:f3.a.minInput,name:e.intl.formatMessage(E3.minValue),pattern:"-?[0-9]*(\\.[0-9]+)?",type:"text",value:e.minValue,onChange:e.onChangeMin,onKeyPress:e.onKeyPress})),j.a.createElement(W.a,{className:f3.a.label},e.intl.formatMessage(E3.maxValue)),j.a.createElement(W.a,null,j.a.createElement("input",{className:f3.a.maxInput,name:e.intl.formatMessage(E3.maxValue),pattern:"-?[0-9]*(\\.[0-9]+)?",type:"text",value:e.maxValue,onChange:e.onChangeMax,onKeyPress:e.onKeyPress})),j.a.createElement(W.a,{className:f3.a.buttonRow},j.a.createElement("button",{className:f3.a.cancelButton,onClick:e.onCancel},j.a.createElement(z.a,{defaultMessage:"Cancel",id:"gui.sliderPrompt.cancel"})),j.a.createElement("button",{className:f3.a.okButton,onClick:e.onOk},j.a.createElement(z.a,{defaultMessage:"OK",id:"gui.sliderPrompt.ok"})))))}var h3={data:"#FF8C1A",sensing:"#5CB1D6",sound:"#CF63CF",looks:"#9966FF",motion:"#4C97FF",list:"#FC662C",extension:"#0FBD8C"},p3={default:t,large:i,slider:u,list:S},m3=(g3.categories=h3,Object.keys(p3)),g=(g3.propTypes={category:n.a.oneOf(Object.keys(h3)),componentRef:n.a.func.isRequired,draggable:n.a.bool.isRequired,label:n.a.string.isRequired,mode:n.a.oneOf(m3),onDragEnd:n.a.func.isRequired,onExport:n.a.func,onImport:n.a.func,onHide:n.a.func,onNextMode:n.a.func.isRequired,onSetModeToDefault:n.a.func,onSetModeToLarge:n.a.func,onSetModeToSlider:n.a.func,onSliderPromptOpen:n.a.func},g3.defaultProps={category:"extension",mode:"default"},e(817)),B3=e.n(g),Q=e(115),f3=e.n(Q),E3=Object(z.d)({minValue:{id:"gui.sliderModal.min",defaultMessage:"Minimum value"},maxValue:{id:"gui.sliderModal.max",defaultMessage:"Maximum value"},title:{id:"gui.sliderModal.title",defaultMessage:"Change slider range"}}),w3=(d3.propTypes={intl:z.f,maxValue:n.a.string,minValue:n.a.string,onCancel:n.a.func.isRequired,onChangeMax:n.a.func.isRequired,onChangeMin:n.a.func.isRequired,onKeyPress:n.a.func.isRequired,onOk:n.a.func.isRequired},Object(z.e)(d3));function C3(e){return(C3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function y3(e,t){return(y3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Q3(A);return e=o?(e=Q3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==C3(t)&&"function"!=typeof t?M3(n):t}}function M3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q3(e){return(Q3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y3(t,e);var n,o=b3(a);function a(e){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");e=o.call(this,e),l()(M3(e),["handleOk","handleCancel","handleChangeMin","handleChangeMax","handleKeyPress","validates","shouldBeDiscrete"]);var t=e.props,n=t.isDiscrete,A=t.minValue,t=t.maxValue;return e.state={minValue:n?A.toFixed(0):A.toFixed(2),maxValue:n?t.toFixed(0):t.toFixed(2)},e}return t=a,(e=[{key:"handleKeyPress",value:function(e){"Enter"===e.key&&this.handleOk()}},{key:"handleOk",value:function(){var e=this.state,t=e.minValue,e=e.maxValue;this.validates(t,e)?this.props.onOk(parseFloat(t),parseFloat(e),this.shouldBeDiscrete(t,e)):this.props.onCancel()}},{key:"handleCancel",value:function(){this.props.onCancel()}},{key:"handleChangeMin",value:function(e){this.setState({minValue:e.target.value})}},{key:"handleChangeMax",value:function(e){this.setState({maxValue:e.target.value})}},{key:"shouldBeDiscrete",value:function(e,t){return e.indexOf(".")+t.indexOf(".")===-2}},{key:"validates",value:function(e,t){return isFinite(e)&&isFinite(t)}},{key:"render",value:function(){return j.a.createElement(w3,{maxValue:this.state.maxValue,minValue:this.state.minValue,onCancel:this.handleCancel,onChangeMax:this.handleChangeMax,onChangeMin:this.handleChangeMin,onKeyPress:this.handleKeyPress,onOk:this.handleOk})}}])&&I3(t.prototype,e),n&&I3(t,n),a}(j.a.Component),T3=(d.propTypes={isDiscrete:n.a.bool,maxValue:n.a.number,minValue:n.a.number,onCancel:n.a.func.isRequired,onOk:n.a.func.isRequired},d.defaultProps={maxValue:100,minValue:0,isDiscrete:!0},d);function S3(e){return(S3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function k3(){return(k3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function D3(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?v3(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v3(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v3(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function N3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function O3(e,t){return(O3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Y3(A);return e=o?(e=Y3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==S3(t)&&"function"!=typeof t?R3(n):t}}function R3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Y3(e){return(Y3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function x3(t){return m3.filter(function(e){return"data_variable"===t?"list"!==e:"data_listcontents"===t?"list"===e:"slider"!==e&&"list"!==e})}function _3(t){return j.a.createElement(W.a,{className:J()(L3.a.monitorList,"monitor-overlay"),style:{width:t.stageSize.width||0,height:t.stageSize.height||0}},j.a.createElement(W.a,{className:L3.a.monitorListScaler,style:Ld(t.stageSize)},t.monitors.valueSeq().filter(function(e){return e.visible}).map(function(e){return j.a.createElement(G3,{draggable:t.draggable,height:e.height,id:e.id,isDiscrete:e.isDiscrete,key:e.id,max:e.sliderMax,min:e.sliderMin,mode:e.mode,opcode:e.opcode,params:e.params,spriteName:e.spriteName,targetId:e.targetId,value:e.value,width:e.width,x:null,y:null,onDragEnd:t.onMonitorChange})})))}var U3=Object(z.d)({columnPrompt:{id:"gui.monitors.importListColumnPrompt",defaultMessage:"Which column should be used (1-{numberOfColumns})?"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&O3(t,e);var n,A=F3(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(R3(e),["handleDragEnd","handleHide","handleNextMode","handleSetModeToDefault","handleSetModeToLarge","handleSetModeToSlider","handleSliderPromptClose","handleSliderPromptOk","handleSliderPromptOpen","handleImport","handleExport","setElement"]),e.state={sliderPrompt:!1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){function e(e){return"number"==typeof e&&!isNaN(e)}var t,n=this,A=setTimeout(function(){e(n.props.x)&&e(n.props.y)&&!n.props.monitorLayout.savedMonitorPositions[n.props.id]?(t={upperStart:{x:n.props.x,y:n.props.y},lowerEnd:{x:n.props.x+n.element.offsetWidth,y:n.props.y+n.element.offsetHeight}},n.props.addMonitorRect(n.props.id,t,!0)):(t=Object(R0.c)(n.props.monitorLayout,n.props.id,n.element.offsetWidth,n.element.offsetHeight),n.props.addMonitorRect(n.props.id,t),n.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:n.props.id,x:t.upperStart.x,y:t.upperStart.y}))),n.element.style.top="".concat(t.upperStart.y,"px"),n.element.style.left="".concat(t.upperStart.x,"px"),clearTimeout(A)},1)}},{key:"shouldComponentUpdate",value:function(e,t){if(t!==this.state)return!0;var n,A=D3(Object.getOwnPropertyNames(e));try{for(A.s();!(n=A.n()).done;){var o=n.value;if("monitorLayout"!==o&&e[o]!==this.props[o])return!0}}catch(e){A.e(e)}finally{A.f()}return!1}},{key:"componentDidUpdate",value:function(){this.props.resizeMonitorRect(this.props.id,this.element.offsetWidth,this.element.offsetHeight)}},{key:"componentWillUnmount",value:function(){this.props.removeMonitorRect(this.props.id)}},{key:"handleDragEnd",value:function(e,t){var n=t.x,t=t.y,n=parseInt(this.element.style.left,10)+n,t=parseInt(this.element.style.top,10)+t;this.props.onDragEnd(this.props.id,n,t),this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,x:n,y:t}))}},{key:"handleHide",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,visible:!1}))}},{key:"handleNextMode",value:function(){var e=x3(this.props.opcode),t=e.indexOf(this.props.mode),t=e[(t+1)%e.length];this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:t}))}},{key:"handleSetModeToDefault",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"default"}))}},{key:"handleSetModeToLarge",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"large"}))}},{key:"handleSetModeToSlider",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"slider"}))}},{key:"handleSliderPromptClose",value:function(){this.setState({sliderPrompt:!1})}},{key:"handleSliderPromptOpen",value:function(){this.setState({sliderPrompt:!0})}},{key:"handleSliderPromptOk",value:function(e,t,n){var A=Math.min(e,t),e=Math.max(e,t);this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,sliderMin:A,sliderMax:e,isDiscrete:n})),this.handleSliderPromptClose()}},{key:"setElement",value:function(e){this.element=e}},{key:"handleImport",value:function(){var a=this;new Promise(function(t,n){var A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept",".csv, .tsv, .txt"),A.onchange=function(e){e=e.target.files[0];B3.a.parse(e,{header:!1,complete:function(e){document.body.removeChild(A),t(e.data)},error:function(e){document.body.removeChild(A),n(e)}})},document.body.appendChild(A),A.click()}).then(function(e){var t=e[0].length,n=1,t=(1<t&&(t=a.props.intl.formatMessage(U3.columnPrompt,{numberOfColumns:t}),n=parseInt(prompt(t),10)),e.map(function(e){return e[n-1]}).filter(function(e){return"string"==typeof e})),e=a.props,A=e.vm,o=e.targetId,e=e.id;L0(A,o,e,t)})}},{key:"handleExport",value:function(){var e=this.props,t=e.vm,n=e.targetId,e=e.id,t=U0(t,n,e),n=t.value.join("\r\n"),e=new Blob([n],{type:"text/plain;charset=utf-8"});Go("".concat(t.name,".txt"),e)}},{key:"render",value:function(){o=this.props,e=o.id,i=o.spriteName,t=o.opcode,a=o.params,n=o.value,o=(o=o.vm)&&o.runtime.getLabelForOpcode(t)||H0.getLabel(t),t=o.label,A=o.category,void 0!==(o=o.labelFn)&&(t=o(a)),i&&(t="".concat(i,": ").concat(t)),"boolean"==typeof(n="number"==typeof n?Number(n.toFixed(6)):n)&&(n=n.toString());var e,t,n,A,o={id:e,label:t,category:A,value:n=Array.isArray(n)?n.map(function(e){return e.toString()}):n},a=-1!==x3(this.props.opcode).indexOf("slider"),i="list"===this.props.mode;return j.a.createElement(j.a.Fragment,null,this.state.sliderPrompt&&j.a.createElement(T3,{isDiscrete:this.props.isDiscrete,maxValue:parseFloat(this.props.max),minValue:parseFloat(this.props.min),onCancel:this.handleSliderPromptClose,onOk:this.handleSliderPromptOk}),j.a.createElement(g3,k3({componentRef:this.setElement},o,{draggable:this.props.draggable,height:this.props.height,isDiscrete:this.props.isDiscrete,max:this.props.max,min:this.props.min,mode:this.props.mode,targetId:this.props.targetId,width:this.props.width,onDragEnd:this.handleDragEnd,onExport:i?this.handleExport:null,onImport:i?this.handleImport:null,onHide:this.handleHide,onNextMode:this.handleNextMode,onSetModeToDefault:i?null:this.handleSetModeToDefault,onSetModeToLarge:i?null:this.handleSetModeToLarge,onSetModeToSlider:a?this.handleSetModeToSlider:null,onSliderPromptOpen:this.handleSliderPromptOpen})))}}])&&N3(t.prototype,e),n&&N3(t,n),o}(j.a.Component),G3=(a.propTypes={addMonitorRect:n.a.func.isRequired,draggable:n.a.bool,height:n.a.number,id:n.a.string.isRequired,intl:z.f,isDiscrete:n.a.bool,max:n.a.number,min:n.a.number,mode:n.a.oneOf(["default","slider","large","list"]),monitorLayout:n.a.shape({monitors:n.a.object,savedMonitorPositions:n.a.object}).isRequired,onDragEnd:n.a.func.isRequired,opcode:n.a.string.isRequired,params:n.a.object,removeMonitorRect:n.a.func.isRequired,resizeMonitorRect:n.a.func.isRequired,spriteName:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.string,n.a.number,n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number]))]),vm:n.a.instanceOf(o.a),width:n.a.number,x:n.a.number,y:n.a.number},Object(z.e)(Object(A.b)(function(e){return{monitorLayout:e.scratchGui.monitorLayout,vm:e.scratchGui.vm}},function(A){return{addMonitorRect:function(e,t,n){return A(Object(R0.a)(e,t.upperStart,t.lowerEnd,n))},resizeMonitorRect:function(e,t,n){return A(Object(R0.g)(e,t,n))},removeMonitorRect:function(e){return A(Object(R0.f)(e))}}})(a))),t=e(404),L3=e.n(t),P3=(_3.propTypes={draggable:n.a.bool.isRequired,monitors:n.a.instanceOf(e3.OrderedMap),onMonitorChange:n.a.func.isRequired,stageSize:n.a.shape({width:n.a.number,height:n.a.number,widthDefault:n.a.number,heightDefault:n.a.number}).isRequired},_3);function H3(e){return(H3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function j3(){return(j3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function z3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function J3(e,t){return(J3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function W3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=K3(A);return e=o?(e=K3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==H3(t)&&"function"!=typeof t?V3(n):t}}function V3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function K3(e){return(K3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var i=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&J3(t,e);var n,A=W3(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(V3(t),["handleMonitorChange"]),H0.setTranslatorFunction(e.intl.formatMessage),t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleMonitorChange",value:function(e,t,n){this.props.moveMonitorRect(e,t,n)}},{key:"render",value:function(){return j.a.createElement(P3,j3({onMonitorChange:this.handleMonitorChange},this.props))}}])&&z3(t.prototype,e),n&&z3(t,n),o}(j.a.Component),X3=(i.propTypes={intl:z.f.isRequired,moveMonitorRect:n.a.func.isRequired},Object(O.a)("Monitors")(Object(z.e)(Object(A.b)(function(e){return{monitors:e.scratchGui.monitors}},function(A){return{moveMonitorRect:function(e,t,n){return A(Object(R0.e)(e,t,n))}}})(i)))),u=e(329),q3=e.n(u),S=e(311),Z3=e.n(S);function $3(e){return($3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ew(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tw(e,t){return(tw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nw(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Aw(n),t=(e=A?(e=Aw(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$3(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Aw(e){return(Aw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ow=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tw(t,e);var n,A=nw(o);function o(){if(this instanceof o)return A.call(this);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){return j.a.createElement("div",{className:Z3.a.martyConnectBtnContainer},j.a.createElement("svg",{id:"a",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 130.459 41.2807"},j.a.createElement("rect",{x:".5",y:".5",width:"129.459",height:"40.2807",rx:"9.1484",ry:"9.1484",fill:"#37abc8",stroke:"#050505",strokeMiterlimit:"10"}),j.a.createElement("rect",{x:"15.2596",y:"23.9589",width:"8.6585",height:"15.8269",rx:"4.3293",ry:"4.3293",transform:"translate(51.4612 12.2835) rotate(90)",fill:"#a1d5e3",stroke:"#020202",strokeMiterlimit:"10",strokeWidth:".25"}),j.a.createElement("circle",{cx:"15.7005",cy:"31.8724",r:"4.3613",fill:"#70888e",stroke:"#020202",strokeMiterlimit:"10",strokeWidth:".25"}),j.a.createElement("g",null,j.a.createElement("path",{d:"M17.4972,4.2222l3.8022-.0263c1.2734,.8363,2.761,1.4764,3.7515,2.5718,.7708,.8524,.9223,2.2717,1.3491,3.4392,.0074,3.0388,.0147,6.0776,.0221,9.1164-.5164,4.2866-2.9297,5.8431-5.9385,6.2073-4.3465,.5262-6.935-1.4588-8.0642-5.6011,.0825-1.7646,.2274-3.529,.2293-5.2937,.0018-1.665-.1468-3.3302-.2293-4.9954,.5347-2.905,2.4132-4.5346,5.0778-5.4182Zm1.3235,10.6415l-3.2986,2.9308,.8646,.8287,2.4468-2.3209v7.1878l4.7277-5.7427-3.5222-3.088,3.4013-2.7912-4.6594-5.3953v6.5622q-2.6482-1.7846-3.2099-1.0286l3.2497,2.8573Z",fill:"#70888e"}),j.a.createElement("path",{d:"M18.8207,14.8637l-3.2497-2.8573q.5617-.756,3.2099,1.0286V6.4729l4.6594,5.3953-3.4013,2.7912,3.5222,3.088-4.7277,5.7427v-7.1878l-2.4468,2.3209-.8646-.8287,3.2986-2.9308Zm1.2259-1.3338l1.7429-1.8487-1.7429-1.989v3.8377Zm1.5723,4.8031l-1.5572-2.1154v3.9743l1.5572-1.8589Z",fill:"#fcfdfd"}),j.a.createElement("path",{d:"M20.0466,13.5299v-3.8377l1.7429,1.989-1.7429,1.8487Z",fill:"#70888e"}),j.a.createElement("path",{d:"M21.619,18.333l-1.5572,1.8589v-3.9743l1.5572,2.1154Z",fill:"#70888e"})),j.a.createElement("g",null,j.a.createElement("path",{d:"M38.9786,23.4017v.6881c0,1.2177-.5734,1.8259-1.7214,1.8259h-.9276c-1.1474,0-1.7208-.6083-1.7208-1.8259v-7.0946c0-1.2177,.5734-1.8259,1.7208-1.8259h.9276c1.148,0,1.7214,.6083,1.7214,1.8259v1.212h-1.4369v-1.1075c0-.4194-.2148-.6285-.6431-.6285h-.2845c-.3789,0-.5689,.2091-.5689,.6285v6.8855c0,.4183,.19,.6285,.5689,.6285h.3598c.3789,0,.5678-.2103,.5678-.6285v-.5835h1.4369Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M41.7625,25.9157c-1.157,0-1.736-.6083-1.736-1.8259v-7.08c0-1.2267,.5734-1.8406,1.7214-1.8406h1.3773c1.1468,0,1.7214,.6139,1.7214,1.8406v7.08c0,1.2177-.579,1.8259-1.736,1.8259h-1.3481Zm.3452-1.302h.7331c.3789,0,.5689-.2103,.5689-.6285v-6.8855c0-.4194-.2148-.6285-.6443-.6285h-.6735c-.4183,0-.6285,.2091-.6285,.6285v6.8855c0,.4183,.2148,.6285,.6443,.6285Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M49.0966,20.3625v-5.1934h1.4369v10.7465h-1.4369v-2.1408l-1.5415-4.8943v7.035h-1.4369V15.1692h1.4369l1.5415,5.1934Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M54.8589,20.3625v-5.1934h1.4369v10.7465h-1.4369v-2.1408l-1.5415-4.8943v7.035h-1.4369V15.1692h1.4369l1.5415,5.1934Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M57.6428,25.9157V15.1692h3.5631v1.302h-2.1261v3.2629h1.8867v1.302h-1.8867v3.5777h2.1261v1.302h-3.5631Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M66.533,23.4017v.6881c0,1.2177-.5734,1.8259-1.7214,1.8259h-.9276c-1.148,0-1.7214-.6083-1.7214-1.8259v-7.0946c0-1.2177,.5734-1.8259,1.7214-1.8259h.9276c1.148,0,1.7214,.6083,1.7214,1.8259v1.212h-1.4369v-1.1075c0-.4194-.2148-.6285-.6431-.6285h-.2845c-.3789,0-.5689,.2091-.5689,.6285v6.8855c0,.4183,.19,.6285,.5689,.6285h.3598c.3789,0,.5678-.2103,.5678-.6285v-.5835h1.4369Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M69.9465,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M76.8309,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M80.6919,25.9157c-1.1581,0-1.7371-.6083-1.7371-1.8259v-7.08c0-1.2267,.5745-1.8406,1.7214-1.8406h1.3773c1.148,0,1.7214,.6139,1.7214,1.8406v7.08c0,1.2177-.579,1.8259-1.736,1.8259h-1.347Zm.344-1.302h.7331c.3789,0,.5689-.2103,.5689-.6285v-6.8855c0-.4194-.2148-.6285-.6431-.6285h-.6735c-.4194,0-.6296,.2091-.6296,.6285v6.8855c0,.4183,.2148,.6285,.6443,.6285Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M88.8029,25.9157h-1.4369v-8.9059c0-1.2267,.5745-1.8406,1.7214-1.8406h1.0782c1.1468,0,1.7214,.6139,1.7214,1.8406v8.9059h-1.4369v-3.9363h-1.6472v3.9363Zm1.6472-5.2383v-3.5777c0-.4194-.2103-.6285-.6285-.6285h-.389c-.4194,0-.6296,.2091-.6296,.6285v3.5777h1.6472Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M98.4723,21.4858l1.3324-6.3166h1.5865v10.7465h-1.4369l.1495-7.035-1.0782,5.0888h-1.1075l-1.0771-5.0888,.1495,7.035h-1.4369V15.1692h1.5865l1.3324,6.3166Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M104.0996,25.9157h-1.4369v-8.9059c0-1.2267,.5745-1.8406,1.7214-1.8406h1.0782c1.1468,0,1.7214,.6139,1.7214,1.8406v8.9059h-1.4369v-3.9363h-1.6472v3.9363Zm1.6472-5.2383v-3.5777c0-.4194-.2103-.6285-.6285-.6285h-.389c-.4194,0-.6296,.2091-.6296,.6285v3.5777h1.6472Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M108.4553,15.1692h2.8142c1.0974,0,1.646,.6139,1.646,1.8406v2.6501c0,.9377-.2845,1.5314-.8534,1.781l1.0029,4.4749h-1.3616l-.9433-4.34h-.868v4.34h-1.4369V15.1692Zm1.4369,5.1787h.9433c.4284,0,.6431-.2597,.6431-.778v-2.3207c0-.5183-.2148-.778-.6431-.778h-.9433v3.8767Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M116.4033,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M121.2819,25.9157h-1.4369v-3.951l-1.7663-6.7955h1.4223l1.0771,4.6694h.045l.9726-4.6694h1.4223l-1.736,6.7955v3.951Z",fill:"#f9f9f9"})),j.a.createElement("rect",{x:"12.4195",y:"4.1959",width:"14.0026",height:"21.4131",rx:"7.0013",ry:"7.0013",fill:"none",stroke:"#000",strokeMiterlimit:"10",strokeWidth:".25"})))}}])&&ew(t.prototype,e),n&&ew(t,n),o}(j.a.Component);function aw(e){return(aw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rw(e,t){return(rw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sw(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=lw(n),t=(e=A?(e=lw(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==aw(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function lw(e){return(lw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var uw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rw(t,e);var n,A=sw(o);function o(){if(this instanceof o)return A.call(this);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){return j.a.createElement("div",{className:Z3.a.martyDisconnectBtnContainer},j.a.createElement("svg",{id:"a",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 29.3735 42.9438"},j.a.createElement("g",null,j.a.createElement("rect",{x:".3053",y:".2501",width:"28.8736",height:"42.4442",rx:"11.2782",ry:"11.2782",fill:"#d67b7b"}),j.a.createElement("path",{d:"M17.8452,42.9438h-6.3169c-6.3569,0-11.5283-5.1709-11.5283-11.5273V11.5283C0,5.1714,5.1714,0,11.5283,0h6.3169c6.3564,0,11.5283,5.1714,11.5283,11.5283V31.4165c0,6.3564-5.1719,11.5273-11.5283,11.5273ZM11.5283,.5C5.4473,.5,.5,5.4473,.5,11.5283V31.4165c0,6.0801,4.9473,11.0273,11.0283,11.0273h6.3169c6.0811,0,11.0283-4.9473,11.0283-11.0273V11.5283C28.8735,5.4473,23.9263,.5,17.8452,.5h-6.3169Z"})),j.a.createElement("g",null,j.a.createElement("rect",{x:"10.2558",y:"25.2469",width:"9.6217",height:"17.5874",rx:"4.8108",ry:"4.8108",transform:"translate(49.1072 18.974) rotate(90)",fill:"#d6f3f6"}),j.a.createElement("path",{d:"M19.0493,38.9761h-7.9658c-2.7217,0-4.9355-2.2139-4.9355-4.9355s2.2139-4.9355,4.9355-4.9355h7.9658c2.7217,0,4.9355,2.2139,4.9355,4.9355s-2.2139,4.9355-4.9355,4.9355Zm-7.9658-9.6211c-2.5835,0-4.6855,2.1016-4.6855,4.6855s2.1021,4.6855,4.6855,4.6855h7.9658c2.584,0,4.6855-2.1016,4.6855-4.6855s-2.1016-4.6855-4.6855-4.6855h-7.9658Z",fill:"#050505"})),j.a.createElement("g",null,j.a.createElement("circle",{cx:"18.9892",cy:"34.0406",r:"4.8653",fill:"#2e8fa7"}),j.a.createElement("path",{d:"M18.9888,39.0308c-2.751,0-4.9897-2.2383-4.9897-4.9902s2.2388-4.9902,4.9897-4.9902,4.9912,2.2383,4.9912,4.9902-2.2393,4.9902-4.9912,4.9902Zm0-9.7305c-2.6133,0-4.7397,2.126-4.7397,4.7402s2.1265,4.7402,4.7397,4.7402,4.7412-2.126,4.7412-4.7402-2.127-4.7402-4.7412-4.7402Z",fill:"#050505"})),j.a.createElement("path",{d:"M13.6282,4.3198c4.1103-.1344,2.9372,.1652,3.5473,.254,.8884,.2993,.8608-.3553,4.1145,2.5785,.9211,.8306,1.0319,2.2698,1.4925,3.5298,.008,3.2797,.0159,6.5594,.0238,9.8391-.5573,4.6265-3.8375,6.0184-6.4092,6.6994-4.0961,.3912-7.4848-1.5745-8.7035-6.0451,.089-1.9044-.0021-3.6518,0-5.5563,.002-1.797,.2142-3.394,.1252-5.1912,.577-3.1353,2.9336-5.1545,5.8093-6.1082Zm.9741,11.3884l-3.5601,3.1631,.9332,.8944,2.6408-2.5049v7.7576l5.1025-6.198-3.8015-3.3328,3.671-3.0124-5.0288-5.823v7.0824q-2.8582-1.9261-3.4644-1.1102l3.5073,3.0838Z",fill:"#2e8ea6"}),j.a.createElement("path",{d:"M14.6023,15.7082l-3.5073-3.0838q.6062-.8159,3.4644,1.1102V6.6522l5.0288,5.823-3.671,3.0124,3.8015,3.3328-5.1025,6.198v-7.7576l-2.6408,2.5049-.9332-.8944,3.5601-3.1631Zm1.3231-1.4396l1.8811-1.9953-1.8811-2.1467v4.142Zm1.697,5.1838l-1.6807-2.2831v4.2894l1.6807-2.0063Z",fill:"#fcfdfd"}),j.a.createElement("path",{d:"M15.9254,14.2687v-4.142l1.8811,2.1467-1.8811,1.9953Z",fill:"#4b9eb3"}),j.a.createElement("path",{d:"M17.6224,19.4525l-1.6807,2.0063v-4.2894l1.6807,2.2831Z",fill:"#4a9eb2"}),j.a.createElement("path",{d:"M15.25,27.4351c-4.2354,0-7.6812-3.4453-7.6812-7.6812V11.751c0-4.2354,3.4458-7.6812,7.6812-7.6812s7.6812,3.4458,7.6812,7.6812v8.0029c0,4.2358-3.4453,7.6812-7.6812,7.6812Zm0-23.1152c-4.0977,0-7.4312,3.3335-7.4312,7.4312v8.0029c0,4.0972,3.3335,7.4312,7.4312,7.4312s7.4312-3.334,7.4312-7.4312V11.751c0-4.0977-3.334-7.4312-7.4312-7.4312Z"})))}}])&&iw(t.prototype,e),n&&iw(t,n),o}(j.a.Component),g=e(204),cw=e.n(g);function gw(e){return(gw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function hw(e,t){return(hw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Bw(A);return e=o?(e=Bw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==gw(t)&&"function"!=typeof t?mw(n):t}}function mw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bw(e){return(Bw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var fw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&hw(t,e);var n,A=pw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={batteryPercent:0},e.onBatteryPerecentChange=e.onBatteryPerecentChange.bind(mw(e)),mv2Interface.addEventListener("onBattRemainCapacityPercentChange",e.onBatteryPerecentChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onBattRemainCapacityPercentChange",this.onBatteryPerecentChange)}},{key:"onBatteryPerecentChange",value:function(e){this.setState({batteryPercent:e.battRemainCapacityPercent})}},{key:"getBorderColor",value:function(e){return 70<=e||30<=e?"black":"rgb(255,69,0)"}},{key:"getFillColor",value:function(e){var e=(e=e)<=30&&11<=e?20:e<=50&&31<=e?40:e<=70&&51<=e?60:e<=90&&71<=e?80:e,t="rgb(3, 125, 60)";return e<=10?t="rgb(91, 20, 19)":10<e&&e<=30&&(t="rgb(250, 217, 5)"),t}},{key:"render",value:function(){var e=this.state.batteryPercent,t=this.getFillColor(e);return j.a.createElement("div",{className:cw.a.container},j.a.createElement("div",{className:"".concat(!1," ").concat(cw.a.batteryContainer)},j.a.createElement("div",{className:cw.a.batteryCap,style:{backgroundColor:"black"}}),j.a.createElement("div",{className:cw.a.batteryCylinder,style:{borderColor:"black"}},j.a.createElement("div",{style:{backgroundColor:t,width:"100%",height:"".concat(Math.round(e),"%")}}))),j.a.createElement("p",{className:cw.a.batteryPercent},Math.round(e),"%"))}}])&&dw(t.prototype,e),n&&dw(t,n),o}(j.a.Component),Q=e(157),Ew=e.n(Q);function ww(e){return(ww="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Cw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Iw(e,t){return(Iw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Mw(A);return e=o?(e=Mw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ww(t)&&"function"!=typeof t?bw(n):t}}function bw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mw(e){return(Mw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Qw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Iw(t,e);var n,A=yw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={rssi:-200},e.onRSSIChange=e.onRSSIChange.bind(bw(e)),mv2Interface.addEventListener("onRSSIChange",e.onRSSIChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onRSSIChange",this.onRSSIChange)}},{key:"onRSSIChange",value:function(e){this.setState({rssi:e.rssi})}},{key:"render",value:function(){var e=this.state.rssi,t=0==e?Ew.a.signalFlash:"";return j.a.createElement("div",{className:"".concat(t," ").concat(Ew.a.signalStrengthContainer)},j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-100?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"20%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-80?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"40%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-70?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"60%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-60?"white":"rgb(3, 125, 60)",height:"80%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-50?"white":"rgb(3, 125, 60)",height:"100%"}}))}}])&&Cw(t.prototype,e),n&&Cw(t,n),o}(j.a.Component);function Tw(e){return(Tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Sw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kw(e,t){return(kw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Nw(A);return e=o?(e=Nw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Tw(t)&&"function"!=typeof t?vw(n):t}}function vw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nw(e){return(Nw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ow(){return j.a.createElement("img",{className:Rw.a.icon,src:Yw.a,alt:"Sensors Dashboard BTN",onClick:function(){mv2Interface.toggleSensorsDashboard()}})}var Fw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kw(t,e);var n,A=Dw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={isConnected:mv2Interface.isConnected},l()(vw(e),["clickBtnHandler"]),e.onIsConnectedChange=e.onIsConnectedChange.bind(vw(e)),mv2Interface.addEventListener("onIsConnectedChange",e.onIsConnectedChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onIsConnectedChange",this.onIsConnectedChange)}},{key:"onIsConnectedChange",value:function(e){this.setState({isConnected:e.isConnected})}},{key:"clickBtnHandler",value:function(){var e=mv2Interface.isConnected?"disconnect":"connect";mv2Interface.send_REST(e)}},{key:"render",value:function(){return j.a.createElement("div",{className:q3.a.martyConnectBtnContainer,onClick:this.clickBtnHandler},this.state.isConnected?j.a.createElement("div",{className:q3.a.batterySignalContainer},j.a.createElement(fw,null),j.a.createElement(Qw,null),j.a.createElement("div",{className:q3.a.disconnectBtnContainer},j.a.createElement(uw,null))):j.a.createElement(ow,null))}}])&&Sw(t.prototype,e),n&&Sw(t,n),o}(j.a.Component),d=e(818),Rw=e.n(d),a=e(819),Yw=e.n(a),t=e(56),xw=e.n(t),i=e(820),_w=e.n(i),u=e(821),Uw=e.n(u),S=(e(1531),e(1532),e(1533),e(822)),Gw=e.n(S),g=e(247),Lw=e.n(g);function Pw(e){return(Pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function jw(e,t){return(jw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ww(A);return e=o?(e=Ww(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Pw(t)&&"function"!=typeof t?Jw(n):t}}function Jw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ww(e){return(Ww=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vw(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var Q=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jw(t,e);var n,A=zw(o);function o(e){var t;if(this instanceof o)return Vw(Jw(t=A.call(this,e)),"highlight",function(){t.ref&&Uw.a.highlightElement(t.ref)}),Vw(Jw(t),"onCopyToClipboard",function(){navigator.clipboard.writeText(t.props.code),t.setState({isCopied:!0})}),t.ref=null,t.setRef=function(e){t.ref=e,t.highlight()},t.state={isCopied:!1},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.highlight(),pythonTranspiler.isModalOpen=!0;var e=!this.props.code.includes("# Uh-oh! We can't find any Marty Blocks.");mv2Interface.startPythonTranslatorSession(e)}},{key:"componentWillUnmount",value:function(){pythonTranspiler.isModalOpen=!1,mv2Interface.endPythonTranslatorSession()}},{key:"componentDidUpdate",value:function(e,t){var n=this;this.highlight(),this.state.isCopied!==t.isCopied&&setTimeout(function(){n.setState({isCopied:!1})},2e3)}},{key:"render",value:function(){return j.a.createElement(j.a.Fragment,null,j.a.createElement(W.a,{className:Lw.a.body},j.a.createElement(W.a,{className:Lw.a.header},j.a.createElement("button",{className:Lw.a.cpToClipboardBtn,onClick:this.onCopyToClipboard}," ",this.state.isCopied?"Copied!":"Copy to clipboard"," ",j.a.createElement("img",{className:Lw.a.cpToClipboardBtnIcon,draggable:!1,src:Gw.a}))),j.a.createElement(W.a,{style:{height:"100%"}},j.a.createElement("pre",{style:{userSelect:"text"}},j.a.createElement("code",{ref:this.setRef,className:"language-python",style:{userSelect:"text"}},this.props.code.trim())))))}}])&&Hw(t.prototype,e),n&&Hw(t,n),o}(j.a.Component),Kw=(Q.propTypes={},Q);function Xw(e){return(Xw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Zw(e,t){return(Zw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $w(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=tC(A);return e=o?(e=tC(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Xw(t)&&"function"!=typeof t?eC(n):t}}function eC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tC(e){return(tC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Zw(t,e);var n,o=$w(a);function a(e){var t,n,A;if(this instanceof a)return t=o.call(this,e),e=eC(t),A=function(){return j.a.createElement(j.a.Fragment,null,t.state.helpModalVisible&&j.a.createElement(Oc.a,{id:xw.a.helpModalContent,className:xw.a.helpModalContent,headerClassName:xw.a.header,contentLabel:"How to run the Python code",onRequestClose:function(){return t.setState({helpModalVisible:!1})}},j.a.createElement(W.a,{className:xw.a.body},j.a.createElement("div",{className:xw.a.container},j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"1"),j.a.createElement("div",{className:xw.a.description},"Install Python & martypy")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"2"),j.a.createElement("div",{className:xw.a.description},"Connect your marty to wifi or USB")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"3"),j.a.createElement("div",{className:xw.a.description},"Copy & paste the code into a file")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"4"),j.a.createElement("div",{className:xw.a.description},"Run the code!")),j.a.createElement("a",{href:"https://userguides.robotical.io/martyv2/userguides/python/setting_up_python_on_your_computer",target:"_blank",rel:"noopener noreferrer",className:xw.a.help_button},"Show me how!")))),j.a.createElement("img",{className:xw.a.icon,src:_w.a,alt:"Python Logo",onClick:t.clickHandler}))},(n="render")in e?Object.defineProperty(e,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[n]=A,t.state={helpModalVisible:!1,code:""},t.clickHandler=t.clickHandler.bind(eC(t)),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidMount",value:function(){var t=this;pythonTranspiler.setModal=function(e){t.setState({code:e}),t.props.onOpenPythonModal(j.a.createElement(Kw,{code:t.state.code}),"Python (βeta -- May contain bugs!)",function(){return t.setState({helpModalVisible:!0})})}}},{key:"clickHandler",value:function(){var t=this;pythonTranspiler.fromSb3JSON(JSON.parse(vm.toJSON()),{getAsset:function(){}}).then(function(e){return e.toPython()}).then(function(e){""===e.trim()&&(e="\n# Uh-oh! We can't find any Marty Blocks.\n# To see what your project would look like in code, \n# don't forget to add some Marty Blocks!\n"),t.setState({code:e}),t.props.onOpenPythonModal(j.a.createElement(Kw,{code:t.state.code}),"Python (βeta -- May contain bugs!)",function(){return t.setState({helpModalVisible:!0})})})}}])&&qw(t.prototype,e),n&&qw(t,n),a}(j.a.Component),nC=Object(A.b)(null,function(A){return{onOpenPythonModal:function(e,t,n){return A(Object(Nc.a)(e,t,n))}}})(d),AC=["accountNavOpen","activeTabIndex","alertsVisible","authorId","authorThumbnailUrl","authorUsername","basePath","backdropLibraryVisible","backpackHost","backpackVisible","blocksTabVisible","cardsVisible","canChangeLanguage","canCreateNew","canEditTitle","canManageFiles","canRemix","canSave","canCreateCopy","canShare","canUseCloud","children","connectionModalVisible","costumeLibraryVisible","costumesTabVisible","draggableModalVisible","enableCommunity","intl","isCreating","isFullScreen","isPlayerOnly","isRtl","isShared","loading","logo","renderLogin","onClickAccountNav","onCloseAccountNav","onLogOut","onOpenRegistration","onToggleLoginOpen","onActivateCostumesTab","onActivateSaveLoadTab","onActivateSoundsTab","onActivateMartyMachineTab","onActivateTab","onClickLogo","onExtensionButtonClick","onProjectTelemetryEvent","onRequestCloseBackdropLibrary","onRequestCloseCostumeLibrary","onRequestCloseTelemetryModal","onSeeCommunity","onShare","onTelemetryModalCancel","onTelemetryModalOptIn","onTelemetryModalOptOut","saveLoadTabVisible","martyMachineTabVisible","showComingSoon","soundsTabVisible","stageSizeForSensors","stageSizeMode","targetIsStage","telemetryModalVisible","tipsLibraryVisible","useEditorDragStyle","vm"];function oC(){return(oC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function aC(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function iC(e){(e=X()(e,"dispatch")).accountNavOpen;var t,n,A=e.activeTabIndex,o=e.alertsVisible,a=(e.authorId,e.authorThumbnailUrl,e.authorUsername,e.basePath),i=e.backdropLibraryVisible,r=(e.backpackHost,e.backpackVisible,e.blocksTabVisible),s=e.cardsVisible,l=e.canChangeLanguage,u=(e.canCreateNew,e.canEditTitle,e.canManageFiles,e.canRemix,e.canSave,e.canCreateCopy,e.canShare,e.canUseCloud),c=e.children,g=e.connectionModalVisible,d=e.costumeLibraryVisible,h=e.costumesTabVisible,p=e.draggableModalVisible,m=(e.enableCommunity,e.intl),B=e.isCreating,f=e.isFullScreen,E=e.isPlayerOnly,w=e.isRtl,C=(e.isShared,e.loading),I=(e.logo,e.renderLogin,e.onClickAccountNav,e.onCloseAccountNav,e.onLogOut,e.onOpenRegistration,e.onToggleLoginOpen,e.onActivateCostumesTab),y=e.onActivateSaveLoadTab,b=e.onActivateSoundsTab,M=e.onActivateMartyMachineTab,Q=e.onActivateTab,T=(e.onClickLogo,e.onExtensionButtonClick),S=(e.onProjectTelemetryEvent,e.onRequestCloseBackdropLibrary),k=e.onRequestCloseCostumeLibrary,D=e.onRequestCloseTelemetryModal,v=(e.onSeeCommunity,e.onShare,e.onTelemetryModalCancel),N=e.onTelemetryModalOptIn,O=e.onTelemetryModalOptOut,Y=e.saveLoadTabVisible,x=e.martyMachineTabVisible,_=(e.showComingSoon,e.soundsTabVisible),U=e.stageSizeForSensors,G=e.stageSizeMode,L=e.targetIsStage,P=e.telemetryModalVisible,H=e.tipsLibraryVisible,F=(e.useEditorDragStyle,e.vm),R=aC(e,AC);return c?j.a.createElement(W.a,R,c):(t=Gd(U,f),n={tabs:K.a.tabs,tab:J()(Sn.a.reactTabsTab,K.a.tab),tabList:J()(Sn.a.reactTabsTabList,K.a.tabList),tabPanel:J()(Sn.a.reactTabsTabPanel,K.a.tabPanel),tabPanelSelected:J()(Sn.a.reactTabsTabPanelSelected,K.a.isSelected),tabSelected:J()(Sn.a.reactTabsTabSelected,K.a.isSelected)},null===sC&&(sC=kn.a.isSupported()),j.a.createElement(nn.a,{minWidth:V.e.fullSizeMinWidth},function(e){e=e;e=G===V.d.small?V.c.small:e?V.c.large:V.c.largeConstrained;return E?j.a.createElement(Xp,{isFullScreen:f,isRendererSupported:sC,isRtl:w,loading:C,stageSize:V.d.large,vm:F},o?j.a.createElement(ZB,{className:K.a.alertsContainer}):null):j.a.createElement(W.a,oC({className:K.a.pageWrapper,dir:w?"rtl":"ltr"},R),P?j.a.createElement(h0,{onCancel:v,onOptIn:N,onOptOut:O,onRequestClose:D}):null,C?j.a.createElement(zp,null):null,B?j.a.createElement(zp,{messageId:"gui.loader.creating"}):null,sC?null:j.a.createElement(b2,{isRtl:w}),H?j.a.createElement(F2,null):null,s?j.a.createElement(uB,null):null,p?j.a.createElement(MB,null):null,o?j.a.createElement(ZB,{className:K.a.alertsContainer}):null,g?j.a.createElement(A0,{vm:F}):null,d?j.a.createElement(om,{vm:F,onRequestClose:k}):null,i?j.a.createElement(hm,{vm:F,onRequestClose:S}):null,j.a.createElement(W.a,{className:K.a.bodyWrapper},j.a.createElement(W.a,{className:K.a.flexWrapper},j.a.createElement(W.a,{className:K.a.editorWrapper},j.a.createElement(fn,{forceRenderTabPanel:!0,className:n.tabs,selectedIndex:A,selectedTabClassName:n.tabSelected,selectedTabPanelClassName:n.tabPanelSelected,onSelect:Q},j.a.createElement(wn,{className:n.tabList},j.a.createElement(In,{className:n.tab},j.a.createElement("img",{draggable:!1,src:m0.a}),j.a.createElement(z.a,{defaultMessage:"Code",id:"gui.gui.codeTab"})),j.a.createElement(In,{className:n.tab,onClick:I},j.a.createElement("img",{draggable:!1,src:B0.a}),L?j.a.createElement(z.a,{defaultMessage:"Backdrops",id:"gui.gui.backdropsTab"}):j.a.createElement(z.a,{defaultMessage:"Costumes",id:"gui.gui.costumesTab"})),j.a.createElement(In,{className:n.tab,onClick:b},j.a.createElement("img",{draggable:!1,src:f0.a}),j.a.createElement(z.a,{defaultMessage:"Sounds",id:"gui.gui.soundsTab"})),j.a.createElement(In,{className:n.tab,onClick:M},j.a.createElement("img",{draggable:!1,src:w0.a}),j.a.createElement(z.a,{defaultMessage:"Machine Learning",id:"gui.gui.toggleMartyMachineTab"})),j.a.createElement(In,{className:n.tab,onClick:y},j.a.createElement("img",{draggable:!1,src:E0.a}),j.a.createElement(z.a,{defaultMessage:"Save/Load",id:"gui.gui.toggleSaveLoadTab"})),j.a.createElement(r2,{canChangeLanguage:l}),j.a.createElement(Fw,null),j.a.createElement(Ow,null),j.a.createElement(nC,null),j.a.createElement(W.a,{className:K.a.controlsWrapper},j.a.createElement(Jd.a,{vm:F}),j.a.createElement(F0,{stageSize:e,vm:F}))),j.a.createElement(Tn,{className:n.tabPanel},j.a.createElement(W.a,{className:K.a.blocksWrapper},j.a.createElement(Dn.a,{canUseCloud:u,grow:1,isVisible:r,options:{media:"".concat(a,"static/blocks-media/")},stageSize:e,vm:F})),j.a.createElement(W.a,{className:K.a.extensionButtonContainer},j.a.createElement("button",{className:K.a.extensionButton,title:m.formatMessage(rC.addExtension),onClick:T},j.a.createElement("img",{className:K.a.extensionButtonIcon,draggable:!1,src:p0.a}))),j.a.createElement(W.a,{className:K.a.monitorWrapper},j.a.createElement(X3,{draggable:!1,stageSize:t})),j.a.createElement(W.a,{className:K.a.watermark},j.a.createElement(Mm,null))),j.a.createElement(Tn,{className:n.tabPanel},h?j.a.createElement(sa,{vm:F}):null),j.a.createElement(Tn,{className:n.tabPanel},_?j.a.createElement(Hu,{vm:F}):null),j.a.createElement(Tn,{className:n.tabPanel},x?j.a.createElement(Ug,{vm:F}):null),j.a.createElement(Tn,{className:[n.tabPanel,K.a["tab-panel-height-100"]].join(" ")},Y?j.a.createElement(Ud,{vm:F}):null))),j.a.createElement(W.a,{className:J()(K.a.stageAndTargetWrapper,K.a[e]),style:e===V.d.small?"":{display:"none"}},j.a.createElement(Xp,{isRendererSupported:sC,isRtl:w,stageSize:e,vm:F}),j.a.createElement(W.a,{className:K.a.targetWrapper},j.a.createElement(jr,{stageSize:e,vm:F}))))),j.a.createElement(ef,null))}))}var rC=Object(z.d)({addExtension:{id:"gui.gui.addExtension",defaultMessage:"Add Extension"}}),sC=null,lC=(iC.propTypes={accountNavOpen:n.a.bool,activeTabIndex:n.a.number,authorId:n.a.oneOfType([n.a.string,n.a.bool]),authorThumbnailUrl:n.a.string,authorUsername:n.a.oneOfType([n.a.string,n.a.bool]),backdropLibraryVisible:n.a.bool,backpackHost:n.a.string,backpackVisible:n.a.bool,basePath:n.a.string,blocksTabVisible:n.a.bool,canChangeLanguage:n.a.bool,canCreateCopy:n.a.bool,canCreateNew:n.a.bool,canEditTitle:n.a.bool,canManageFiles:n.a.bool,canRemix:n.a.bool,canSave:n.a.bool,canShare:n.a.bool,canUseCloud:n.a.bool,cardsVisible:n.a.bool,children:n.a.node,costumeLibraryVisible:n.a.bool,costumesTabVisible:n.a.bool,draggableModalVisible:n.a.bool,enableCommunity:n.a.bool,intl:z.f.isRequired,isCreating:n.a.bool,isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,isRtl:n.a.bool,isShared:n.a.bool,loading:n.a.bool,logo:n.a.string,onActivateCostumesTab:n.a.func,onActivateSoundsTab:n.a.func,onActivateMartyMachineTab:n.a.func,onActivateSaveLoadTab:n.a.func,onActivateTab:n.a.func,onClickAccountNav:n.a.func,onClickLogo:n.a.func,onCloseAccountNav:n.a.func,onExtensionButtonClick:n.a.func,onLogOut:n.a.func,onOpenRegistration:n.a.func,onRequestCloseBackdropLibrary:n.a.func,onRequestCloseCostumeLibrary:n.a.func,onRequestCloseTelemetryModal:n.a.func,onSeeCommunity:n.a.func,onShare:n.a.func,onTabSelect:n.a.func,onTelemetryModalCancel:n.a.func,onTelemetryModalOptIn:n.a.func,onTelemetryModalOptOut:n.a.func,onToggleLoginOpen:n.a.func,renderLogin:n.a.func,martyMachineTabVisible:n.a.bool,saveLoadTabVisible:n.a.bool,showComingSoon:n.a.bool,soundsTabVisible:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),targetIsStage:n.a.bool,telemetryModalVisible:n.a.bool,tipsLibraryVisible:n.a.bool,useEditorDragStyle:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},iC.defaultProps={backpackHost:null,backpackVisible:!1,basePath:"./",canChangeLanguage:!0,canCreateNew:!1,canEditTitle:!1,canManageFiles:!0,canRemix:!1,canSave:!1,canCreateCopy:!1,canShare:!1,canUseCloud:!1,enableCommunity:!1,isCreating:!1,isShared:!1,loading:!1,showComingSoon:!1,stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(iC)));function uC(e){return(uC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var cC=["assetHost","cloudHost","error","isError","isScratchDesktop","isShowingProject","onProjectLoaded","onStorageInit","onUpdateProjectId","onVmInit","projectHost","projectId","children","fetchingProject","isLoading","loadingStateVisible"];function gC(){return(gC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function dC(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function hC(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pC(e,t){return(pC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mC(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=BC(n),t=(e=A?(e=BC(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==uC(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function BC(e){return(BC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pC(t,e);var n,A=mC(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e;e=this.props.isScratchDesktop,y2=e,this.props.onStorageInit(Ie.a),this.props.onVmInit(this.props.vm)}},{key:"componentDidUpdate",value:function(e){this.props.projectId!==e.projectId&&null!==this.props.projectId&&this.props.onUpdateProjectId(this.props.projectId),this.props.isShowingProject&&!e.isShowingProject&&this.props.onProjectLoaded()}},{key:"render",value:function(){if(this.props.isError)throw new Error("Error in Scratch GUI [location=".concat(window.location,"]: ").concat(this.props.error));var e=this.props,t=(e.assetHost,e.cloudHost,e.error,e.isError,e.isScratchDesktop,e.isShowingProject,e.onProjectLoaded,e.onStorageInit,e.onUpdateProjectId,e.onVmInit,e.projectHost,e.projectId,e.children),n=e.fetchingProject,A=e.isLoading,o=e.loadingStateVisible,e=dC(e,cC);return j.a.createElement(lC,gC({loading:n||A||o},e),t)}}])&&hC(t.prototype,e),n&&hC(t,n),o}(j.a.Component),a.propTypes={assetHost:n.a.string,children:n.a.node,cloudHost:n.a.string,error:n.a.oneOfType([n.a.object,n.a.string]),fetchingProject:n.a.bool,intl:z.f,isError:n.a.bool,isLoading:n.a.bool,isScratchDesktop:n.a.bool,isShowingProject:n.a.bool,loadingStateVisible:n.a.bool,onProjectLoaded:n.a.func,onSeeCommunity:n.a.func,onStorageInit:n.a.func,onUpdateProjectId:n.a.func,onVmInit:n.a.func,projectHost:n.a.string,projectId:n.a.oneOfType([n.a.string,n.a.number]),telemetryModalVisible:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},a.defaultProps={isScratchDesktop:!1,onStorageInit:function(e){return e.addOfficialScratchWebStores()},onProjectLoaded:function(){},onUpdateProjectId:function(){},onVmInit:function(){}},t=Object(z.e)(Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{activeTabIndex:e.scratchGui.editorTab.activeTabIndex,alertsVisible:e.scratchGui.alerts.visible,backdropLibraryVisible:e.scratchGui.modals.backdropLibrary,blocksTabVisible:e.scratchGui.editorTab.activeTabIndex===s.a,cardsVisible:e.scratchGui.cards.visible,connectionModalVisible:e.scratchGui.modals.connectionModal,costumeLibraryVisible:e.scratchGui.modals.costumeLibrary,costumesTabVisible:e.scratchGui.editorTab.activeTabIndex===s.b,draggableModalVisible:e.scratchGui.draggableModal.visible,error:e.scratchGui.projectState.error,isError:Object(r.k)(t),isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly,isRtl:e.locales.isRtl,isShowingProject:Object(r.s)(t),loadingStateVisible:e.scratchGui.modals.loadingProject,projectId:e.scratchGui.projectState.projectId,saveLoadTabVisible:e.scratchGui.editorTab.activeTabIndex===s.d,martyMachineTabVisible:e.scratchGui.editorTab.activeTabIndex===s.c,soundsTabVisible:e.scratchGui.editorTab.activeTabIndex===s.e,targetIsStage:e.scratchGui.targets.stage&&e.scratchGui.targets.stage.id===e.scratchGui.targets.editingTarget,telemetryModalVisible:e.scratchGui.modals.telemetryModal,tipsLibraryVisible:e.scratchGui.modals.tipsLibrary,vm:e.scratchGui.vm}},function(t){return{onExtensionButtonClick:function(){return t(Object(R.p)())},onActivateTab:function(e){return t(Object(s.f)(e))},onActivateCostumesTab:function(){return t(Object(s.f)(s.b))},onActivateSoundsTab:function(){return t(Object(s.f)(s.e))},onActivateMartyMachineTab:function(){return t(Object(s.f)(s.c))},onActivateSaveLoadTab:function(){return t(Object(s.f)(s.d))},onRequestCloseBackdropLibrary:function(){return t(Object(R.a)())},onRequestCloseCostumeLibrary:function(){return t(Object(R.c)())},onRequestCloseTelemetryModal:function(){return t(Object(R.i)())}}})(a)),i=Object(N.d)(ie,Object(O.a)("Top Level App"),function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&L(t,e);var n,A=P(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e,t=this;this.props.fontsLoaded||(e=function(){var e=[];if(document.fonts&&"function"==typeof document.fonts.values&&"function"==typeof document.fonts.values()[Symbol.iterator]){var t,n=_(document.fonts.values());try{for(n.s();!(t=n.n()).done;){var A=t.value;-1!==q.indexOf(A.family)&&(e.push(A.loaded),A.load())}}catch(e){n.e(e)}finally{n.f()}}return e},"complete"===document.readyState?Promise.all(e()).then(function(){t.props.onSetFontsLoaded()}):document.onreadystatechange=function(){"complete"===document.readyState&&(document.onreadystatechange=null,Promise.all(e()).then(function(){t.props.onSetFontsLoaded()}))})}},{key:"render",value:function(){var e=X()(this.props,["onSetFontsLoaded"]);return j.a.createElement(a,e)}}])&&G(t.prototype,e),n&&G(t,n),o}(j.a.Component);e.propTypes={fontsLoaded:n.a.bool.isRequired,onSetFontsLoaded:n.a.func.isRequired};return Object(A.b)(function(e){return{fontsLoaded:e.scratchGui.fontsLoaded}},function(e){return{onSetFontsLoaded:function(){return e(Object(Y.c)())}}})(e)},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gt(t,e);var n,A=dt(o);function o(e){var t;if(this instanceof o)return e=A.call(this,e),(t=function(e){e=Array.isArray(e.tutorial)?e.tutorial[0]:e.tutorial;return void 0===e?null:"all"===e?e:it(e)}(ze.a.parse(location.search)))&&("all"===t?e.openTutorials():e.setActiveCards(t)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"setActiveCards",value:function(e){this.props.onUpdateReduxDeck(e)}},{key:"openTutorials",value:function(){this.props.onOpenTipsLibrary()}},{key:"render",value:function(){var e=this.props,e=(e.onOpenTipsLibrary,e.onUpdateReduxDeck,ut(e,lt));return j.a.createElement(a,e)}}])&&ct(t.prototype,e),n&&ct(t,n),o}(j.a.Component);e.propTypes={onOpenTipsLibrary:n.a.func,onUpdateReduxDeck:n.a.func};return Object(A.b)(null,function(t){return{onOpenTipsLibrary:function(){t(Object(R.u)())},onUpdateReduxDeck:function(e){t(Object(rt.a)(e))}}})(e)},function(i){var e=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ke(t,e);var n,r,A,o=De(a);function a(e){var t;if(this instanceof a)return t=o.call(this,e),l()(ve(t),["fetchProject"]),Ie.a.setProjectHost(e.projectHost),Ie.a.setAssetHost(e.assetHost),Ie.a.setTranslatorFunction(e.intl.formatMessage),""!==e.projectId&&null!==e.projectId&&void 0!==e.projectId&&t.props.setProjectId(e.projectId.toString()),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidUpdate",value:function(e){e.projectHost!==this.props.projectHost&&Ie.a.setProjectHost(this.props.projectHost),e.assetHost!==this.props.assetHost&&Ie.a.setAssetHost(this.props.assetHost),this.props.isFetchingWithId&&!e.isFetchingWithId&&this.fetchProject(this.props.reduxProjectId,this.props.loadingState).then(function(){return console.log("Fetch project success")},function(e){return console.error("Error fetching project",e.message)}),this.props.isShowingProject&&!e.isShowingProject&&this.props.onProjectUnchanged(),this.props.isShowingProject&&(e.isLoadingProject||e.isCreatingNew)&&this.props.onActivateTab(s.a)}},{key:"fetchProject",value:(r=function*(e,t){try{var n,A=new URLSearchParams(window.location.search).get("p"),o=yield(yield fetch("https://martyblocks-projects-default-rtdb.europe-west1.firebasedatabase.app/projects/"+A+".json")).json();if(o&&o.data)return n=yield(yield fetch(o.data)).arrayBuffer(),this.props.onFetchedProjectData(n,t);throw new Error("Invalid project id")}catch(e){console.log("Couldn't load project from db:",e)}try{var a=yield mv2Interface.loadScratchFile("__autosave");if(!a||!a.contents||!confirm("Would you like to load the last autosave?"))throw new Error("No autosave file");console.log("Using autosave file");var i=yield(yield fetch(a.contents)).arrayBuffer();return this.props.onFetchedProjectData(i,t)}catch(e){console.warn("No autosave data available")}console.log("Falling back to default project");A=yield Ie.a.load(Ie.a.AssetType.Project,e,Ie.a.DataFormat.JSON);return this.props.onFetchedProjectData(A.data,t)},A=function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){Te(A,t,n,o,a,"next",e)}function a(e){Te(A,t,n,o,a,"throw",e)}o(void 0)})},function(e,t){return A.apply(this,arguments)})},{key:"render",value:function(){var e=this.props,t=(e.assetHost,e.intl,e.isLoadingProject,e.loadingState,e.onActivateTab,e.onError,e.onFetchedProjectData,e.onProjectUnchanged,e.projectHost,e.projectId,e.reduxProjectId,e.setProjectId,e.isFetchingWithId),e=Qe(e,be);return j.a.createElement(i,Me({fetchingProject:t},e))}}])&&Se(t.prototype,e),n&&Se(t,n),a}(j.a.Component);e.propTypes={assetHost:n.a.string,canSave:n.a.bool,intl:z.f.isRequired,isCreatingNew:n.a.bool,isFetchingWithId:n.a.bool,isLoadingProject:n.a.bool,isShowingProject:n.a.bool,loadingState:n.a.oneOf(r.a),onActivateTab:n.a.func,onError:n.a.func,onFetchedProjectData:n.a.func,onProjectUnchanged:n.a.func,projectHost:n.a.string,projectId:n.a.oneOfType([n.a.string,n.a.number]),reduxProjectId:n.a.oneOfType([n.a.string,n.a.number]),setProjectId:n.a.func},e.defaultProps={assetHost:"https://assets.scratch.mit.edu",projectHost:"https://projects.scratch.mit.edu"};return Object(z.e)(Object(A.b)(function(e){return{isCreatingNew:Object(r.j)(e.scratchGui.projectState.loadingState),isFetchingWithId:Object(r.l)(e.scratchGui.projectState.loadingState),isLoadingProject:Object(r.n)(e.scratchGui.projectState.loadingState),isShowingProject:Object(r.s)(e.scratchGui.projectState.loadingState),loadingState:e.scratchGui.projectState.loadingState,reduxProjectId:e.scratchGui.projectState.projectId}},function(n){return{onActivateTab:function(e){return n(Object(s.f)(e))},onError:function(e){return n(Object(r.z)(e))},onFetchedProjectData:function(e,t){return n(Object(r.x)(e,t))},setProjectId:function(e){return n(Object(r.F)(e))},onProjectUnchanged:function(){return n(Object(Ce.d)())}}},function(e,t,n){return Object.assign({},e,t,n)})(e))},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xe(t,e);var n,A=_e(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.handleReceivedProjectTitle(this.props.projectTitle)}},{key:"componentDidUpdate",value:function(e){var t;this.props.projectTitle!==e.projectTitle&&this.handleReceivedProjectTitle(this.props.projectTitle),this.props.isShowingWithoutId&&e.isAnyCreatingNewState&&(t=this.handleReceivedProjectTitle(),this.props.onUpdateProjectTitle(t)),this.props.reduxProjectTitle!==e.reduxProjectTitle&&this.props.reduxProjectTitle!==this.props.projectTitle&&this.props.onUpdateProjectTitle(this.props.reduxProjectTitle)}},{key:"handleReceivedProjectTitle",value:function(e){return null==e&&(e=this.props.intl.formatMessage(Ge.defaultProjectTitle)),this.props.onChangedProjectTitle(e),e}},{key:"render",value:function(){var e=this.props,e=(e.intl,e.isAnyCreatingNewState,e.isShowingWithoutId,e.onChangedProjectTitle,e.onUpdateProjectTitle,e.projectTitle,e.reduxProjectTitle,Re(e,Fe));return j.a.createElement(a,e)}}])&&Ye(t.prototype,e),n&&Ye(t,n),o}(j.a.Component);e.propTypes={intl:z.f,isAnyCreatingNewState:n.a.bool,isShowingWithoutId:n.a.bool,onChangedProjectTitle:n.a.func,onUpdateProjectTitle:n.a.func,projectTitle:n.a.string,reduxProjectTitle:n.a.string},e.defaultProps={onUpdateProjectTitle:function(){}};return Object(z.e)(Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{isAnyCreatingNewState:Object(r.h)(t),isShowingWithoutId:Object(r.u)(t),reduxProjectTitle:e.scratchGui.projectTitle}},function(t){return{onChangedProjectTitle:function(e){return t(Object(le.c)(e))}}})(e))},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&et(t,e);var n,A=tt(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(nt(e),["getProjectThumbnail","leavePageConfirm","tryToAutoSave"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillMount",value:function(){var t=this;"object"===("undefined"==typeof window?"undefined":Ze(window))&&(window.onbeforeunload=function(e){return t.leavePageConfirm(e)}),this.props.onSetProjectThumbnailer(this.getProjectThumbnail),this.props.onSetProjectSaver(this.tryToAutoSave)}},{key:"componentDidUpdate",value:function(e){var t;!this.props.isAnyCreatingNewState&&e.isAnyCreatingNewState&&this.reportTelemetryEvent("projectWasCreated"),!this.props.isLoading&&e.isLoading&&this.reportTelemetryEvent("projectDidLoad"),this.props.projectChanged&&!e.projectChanged&&this.scheduleAutoSave(),this.props.isUpdating&&!e.isUpdating&&this.updateProjectToStorage(),this.props.isCreatingNew&&!e.isCreatingNew&&this.createNewProjectToStorage(),this.props.isCreatingCopy&&!e.isCreatingCopy&&this.createCopyToStorage(),this.props.isRemixing&&!e.isRemixing?(this.props.onRemixing(!0),this.createRemixToStorage()):!this.props.isRemixing&&e.isRemixing&&this.props.onRemixing(!1),e.isCreatingNew||(this.isShowingCreatable(this.props)&&!this.isShowingCreatable(e)&&this.props.onCreateProject(),e.isUpdating)||(t=this.props.canSave&&!e.canSave,e=this.props.isShared&&!e.isShared,this.props.isShowingSaveable&&(t||e)&&this.props.onAutoUpdateProject())}},{key:"componentWillUnmount",value:function(){this.clearAutoSaveTimeout(),this.props.onSetProjectThumbnailer(null),this.props.onSetProjectSaver(null)}},{key:"leavePageConfirm",value:function(e){if(this.props.projectChanged)return(e||window.event).returnValue=!0}},{key:"clearAutoSaveTimeout",value:function(){null!==this.props.autoSaveTimeoutId&&(clearTimeout(this.props.autoSaveTimeoutId),this.props.setAutoSaveTimeoutId(null))}},{key:"scheduleAutoSave",value:function(){var e;this.props.isShowingSaveable&&null===this.props.autoSaveTimeoutId&&(e=setTimeout(this.tryToAutoSave,1e3*this.props.autoSaveIntervalSecs),this.props.setAutoSaveTimeoutId(e))}},{key:"tryToAutoSave",value:function(){this.props.projectChanged&&this.props.isShowingSaveable&&this.props.onAutoUpdateProject()}},{key:"isShowingCreatable",value:function(e){return e.canCreateNew&&e.isShowingWithoutId}},{key:"updateProjectToStorage",value:function(){var t=this;return this.props.onShowSavingAlert(),this.storeProject(this.props.reduxProjectId).then(function(){t.props.onUpdatedProject(t.props.loadingState),t.props.onShowSaveSuccessAlert()}).catch(function(e){t.props.onShowAlert("savingError"),t.props.onProjectError(e)})}},{key:"createNewProjectToStorage",value:function(){var t=this;return this.storeProject(null).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState)}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"createCopyToStorage",value:function(){var t=this;return this.props.onShowCreatingCopyAlert(),this.storeProject(null,{originalId:this.props.reduxProjectId,isCopy:1,title:this.props.reduxProjectTitle}).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState),t.props.onShowCopySuccessAlert()}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"createRemixToStorage",value:function(){var t=this;return this.props.onShowCreatingRemixAlert(),this.storeProject(null,{originalId:this.props.reduxProjectId,isRemix:1,title:this.props.reduxProjectTitle}).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState),t.props.onShowRemixSuccessAlert()}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"storeProject",value:function(e,t){var n=this,A=(t=t||{},this.clearAutoSaveTimeout(),this.props.vm.toJSON());return Promise.all(this.props.vm.assets.filter(function(e){return!e.clean}).map(function(t){return Ie.a.store(t.assetType,t.dataFormat,t.data,t.assetId).then(function(e){if("ok"!==e.status)return Promise.reject(e.code);t.clean=!0})})).then(function(){return n.props.onUpdateProjectData(e,A,t)}).then(function(e){n.props.onSetProjectUnchanged();var t=e.id.toString();return t&&n.props.onUpdateProjectThumbnail&&n.storeProjectThumbnail(t),n.reportTelemetryEvent("projectDidSave"),e}).catch(function(e){throw re.a.error(e),e})}},{key:"storeProjectThumbnail",value:function(t){var n=this;try{this.getProjectThumbnail(function(e){n.props.onUpdateProjectThumbnail(t,function(e){for(var t=atob(e.split(",")[1]),e=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),A=new Uint8Array(n),o=0;o<t.length;o++)A[o]=t.charCodeAt(o);return new Blob([n],{type:e})}(e))})}catch(e){re.a.error("Project thumbnail save error",e)}}},{key:"getProjectThumbnail",value:function(t){var n=this;this.props.vm.postIOData("video",{forceTransparentPreview:!0}),this.props.vm.renderer.requestSnapshot(function(e){n.props.vm.postIOData("video",{forceTransparentPreview:!1}),t(e)}),this.props.vm.renderer.draw()}},{key:"reportTelemetryEvent",value:function(t){try{var e;this.props.onProjectTelemetryEvent&&(e=He(this.props.vm,this.props.reduxProjectTitle,this.props.locale),this.props.onProjectTelemetryEvent(t,e))}catch(e){re.a.error("Telemetry error",t,e)}}},{key:"render",value:function(){var e=this.props,t=(e.autoSaveTimeoutId,e.autoSaveIntervalSecs,e.isCreatingCopy,e.isCreatingNew,e.projectChanged,e.isAnyCreatingNewState),e=(e.isLoading,e.isManualUpdating,e.isRemixing,e.isShowingSaveable,e.isShowingWithId,e.isShowingWithoutId,e.isUpdating,e.loadingState,e.onAutoUpdateProject,e.onCreatedProject,e.onCreateProject,e.onProjectError,e.onRemixing,e.onSetProjectUnchanged,e.onSetProjectThumbnailer,e.onSetProjectSaver,e.onShowAlert,e.onShowCopySuccessAlert,e.onShowRemixSuccessAlert,e.onShowCreatingCopyAlert,e.onShowCreatingRemixAlert,e.onShowSaveSuccessAlert,e.onShowSavingAlert,e.onUpdatedProject,e.onUpdateProjectData,e.onUpdateProjectThumbnail,e.reduxProjectId,e.reduxProjectTitle,e.setAutoSaveTimeoutId,qe(e,Ke));return j.a.createElement(a,Xe({isCreating:t},e))}}])&&$e(t.prototype,e),n&&$e(t,n),o}(j.a.Component);e.propTypes={autoSaveIntervalSecs:n.a.number.isRequired,autoSaveTimeoutId:n.a.number,canCreateNew:n.a.bool,canSave:n.a.bool,isAnyCreatingNewState:n.a.bool,isCreatingCopy:n.a.bool,isCreatingNew:n.a.bool,isLoading:n.a.bool,isManualUpdating:n.a.bool,isRemixing:n.a.bool,isShared:n.a.bool,isShowingSaveable:n.a.bool,isShowingWithId:n.a.bool,isShowingWithoutId:n.a.bool,isUpdating:n.a.bool,loadingState:n.a.oneOf(r.a),locale:n.a.string.isRequired,onAutoUpdateProject:n.a.func,onCreateProject:n.a.func,onCreatedProject:n.a.func,onProjectError:n.a.func,onProjectTelemetryEvent:n.a.func,onRemixing:n.a.func,onSetProjectSaver:n.a.func.isRequired,onSetProjectThumbnailer:n.a.func.isRequired,onSetProjectUnchanged:n.a.func.isRequired,onShowAlert:n.a.func,onShowCopySuccessAlert:n.a.func,onShowCreatingCopyAlert:n.a.func,onShowCreatingRemixAlert:n.a.func,onShowRemixSuccessAlert:n.a.func,onShowSaveSuccessAlert:n.a.func,onShowSavingAlert:n.a.func,onUpdateProjectData:n.a.func.isRequired,onUpdateProjectThumbnail:n.a.func,onUpdatedProject:n.a.func,projectChanged:n.a.bool,reduxProjectId:n.a.oneOfType([n.a.string,n.a.number]),reduxProjectTitle:n.a.string,setAutoSaveTimeoutId:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={autoSaveIntervalSecs:120,onRemixing:function(){},onSetProjectThumbnailer:function(){},onSetProjectSaver:function(){},onUpdateProjectData:je};return Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=Object(r.t)(n);return{autoSaveTimeoutId:e.scratchGui.timeout.autoSaveTimeoutId,isAnyCreatingNewState:Object(r.h)(n),isLoading:Object(r.n)(n),isCreatingCopy:Object(r.i)(n),isCreatingNew:Object(r.j)(n),isRemixing:Object(r.r)(n),isShowingSaveable:t.canSave&&A,isShowingWithId:A,isShowingWithoutId:Object(r.u)(n),isUpdating:Object(r.v)(n),isManualUpdating:Object(r.q)(n),loadingState:n,locale:e.locales.locale,projectChanged:e.scratchGui.projectChanged,reduxProjectId:e.scratchGui.projectState.projectId,reduxProjectTitle:e.scratchGui.projectTitle,vm:e.scratchGui.vm}},function(n){return{onAutoUpdateProject:function(){return n(Object(r.b)())},onCreatedProject:function(e,t){return n(Object(r.f)(e,t))},onCreateProject:function(){return n(Object(r.c)())},onProjectError:function(e){return n(Object(r.z)(e))},onSetProjectUnchanged:function(){return n(Object(Ce.d)())},onShowAlert:function(e){return n(Object(We.h)(e))},onShowCopySuccessAlert:function(){return Object(We.f)(n,"createCopySuccess")},onShowRemixSuccessAlert:function(){return Object(We.f)(n,"createRemixSuccess")},onShowCreatingCopyAlert:function(){return Object(We.f)(n,"creatingCopy")},onShowCreatingRemixAlert:function(){return Object(We.f)(n,"creatingRemix")},onShowSaveSuccessAlert:function(){return Object(We.f)(n,"saveSuccess")},onShowSavingAlert:function(){return Object(We.f)(n,"saving")},onUpdatedProject:function(e){return n(Object(r.g)(e))},setAutoSaveTimeoutId:function(e){return n(Object(Ve.b)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e)},vt,Pt,function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&me(t,e);var n,A=Be(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(fe(e),["createFileObjects","getProjectTitleFromFilename","handleFinishedLoadingUpload","handleStartSelectingFileUpload","handleChange","onload","removeFileObjects"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(e){this.props.isLoadingUpload&&!e.isLoadingUpload&&this.handleFinishedLoadingUpload()}},{key:"componentWillUnmount",value:function(){this.removeFileObjects()}},{key:"handleStartSelectingFileUpload",value:function(){this.createFileObjects()}},{key:"createFileObjects",value:function(){this.removeFileObjects(),this.fileReader=new FileReader,this.fileReader.onload=this.onload,this.inputElement=document.createElement("input"),this.inputElement.accept=".sb,.sb2,.sb3",this.inputElement.style="display: none;",this.inputElement.type="file",this.inputElement.onchange=this.handleChange,document.body.appendChild(this.inputElement),this.inputElement.click()}},{key:"handleChange",value:function(e){var t=this.props,n=t.intl,A=t.isShowingWithoutId,o=t.loadingState,a=t.projectChanged,t=t.userOwnsProject,e=e.target;e.files&&(this.fileToUpload=e.files[0],e=!0,(e=t||a&&A?confirm(n.formatMessage(se.a.replaceProjectWarning)):e)?this.props.requestProjectUpload(o):this.removeFileObjects(),this.props.closeFileMenu())}},{key:"handleFinishedLoadingUpload",value:function(){this.fileToUpload&&this.fileReader?this.fileReader.readAsArrayBuffer(this.fileToUpload):(this.props.cancelFileUpload(this.props.loadingState),this.removeFileObjects())}},{key:"getProjectTitleFromFilename",value:function(e){return(e=e&&e.match(/^(.*)\.sb[23]?$/))?e[1].substring(0,100):""}},{key:"onload",value:function(){var t,n,A=this;this.fileReader&&(this.props.onLoadingStarted(),t=this.fileToUpload&&this.fileToUpload.name,n=!1,this.props.vm.loadProject(this.fileReader.result).then(function(){var e;t&&(e=A.getProjectTitleFromFilename(t),A.props.onSetProjectTitle(e)),n=!0}).catch(function(e){re.a.warn(e),alert(A.props.intl.formatMessage(we.loadError))}).then(function(){A.props.onLoadingFinished(A.props.loadingState,n),A.removeFileObjects()}))}},{key:"removeFileObjects",value:function(){this.inputElement&&(this.inputElement.value=null,document.body.removeChild(this.inputElement)),this.inputElement=null,this.fileReader=null,this.fileToUpload=null}},{key:"render",value:function(){var e=this.props,e=(e.cancelFileUpload,e.closeFileMenu,e.isLoadingUpload,e.isShowingWithoutId,e.loadingState,e.onLoadingFinished,e.onLoadingStarted,e.onSetProjectTitle,e.projectChanged,e.requestProjectUpload,e.userOwnsProject,he(e,ge));return j.a.createElement(j.a.Fragment,null,j.a.createElement(a,de({onStartSelectingFileUpload:this.handleStartSelectingFileUpload},e)))}}])&&pe(t.prototype,e),n&&pe(t,n),o}(j.a.Component);e.propTypes={canSave:n.a.bool,cancelFileUpload:n.a.func,closeFileMenu:n.a.func,intl:z.f.isRequired,isLoadingUpload:n.a.bool,isShowingWithoutId:n.a.bool,loadingState:n.a.oneOf(r.a),onLoadingFinished:n.a.func,onLoadingStarted:n.a.func,onSetProjectTitle:n.a.func,projectChanged:n.a.bool,requestProjectUpload:n.a.func,userOwnsProject:n.a.bool,vm:n.a.shape({loadProject:n.a.func})};return Object(z.e)(Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=e.session&&e.session.session&&e.session.session.user;return{isLoadingUpload:Object(r.o)(n),isShowingWithoutId:Object(r.u)(n),loadingState:n,projectChanged:e.scratchGui.projectChanged,userOwnsProject:t.authorUsername&&A&&t.authorUsername===A.username,vm:e.scratchGui.vm}},function(n,A){return{cancelFileUpload:function(e){return n(Object(r.y)(e,!1,!1))},closeFileMenu:function(){return n(Object(ue.d)())},onLoadingFinished:function(e,t){n(Object(r.y)(e,A.canSave,t)),n(Object(R.e)()),n(Object(ue.d)())},onLoadingStarted:function(){return n(Object(R.q)())},onSetProjectTitle:function(e){return n(Object(le.c)(e))},requestProjectUpload:function(e){return n(Object(r.D)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e))},tn)(t);i.setAppElement=F.a.setAppElement,v.a=i},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return i});var t=n(16),A="scratch-gui/StageSize/SET_STAGE_SIZE",o={stageSize:t.c.large},a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:{stageSize:t.stageSize}},i=function(e){return{type:A,stageSize:e}}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n,A={};for(n in e)0<=t.indexOf(n)||Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}},function(e,t,n){"use strict";e.exports=function(e,t,n,A,o,a,i,r){var s,l,u;if(!e)throw void 0===t?u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."):(s=[n,A,o,a,i,r],l=0,(u=new Error(t.replace(/%s/g,function(){return s[l++]}))).name="Invariant Violation"),u.framesToPop=1,u}},function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"e",function(){return i}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return s}),n.d(t,"d",function(){return u});var A="scratch-gui/vm-status/SET_RUNNING_STATE",o="scratch-gui/vm-status/SET_TURBO_STATE",a="scratch-gui/vm-status/SET_STARTED_STATE",i={running:!1,started:!1,turbo:!1},r=function(e,t){switch(void 0===e&&(e=i),t.type){case a:return Object.assign({},e,{started:t.started});case A:return Object.assign({},e,{running:t.running});case o:return Object.assign({},e,{turbo:t.turbo});default:return e}},s=function(e){return{type:a,started:e}},l=function(e){return{type:A,running:e}},u=function(e){return{type:o,turbo:e}}},function(e,t,n){var A=n(1281),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1419),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t){e=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=e)},function(e,t,n){function A(){}n(872).mixin(A),A.prototype.write=function(e,t,n){this.emit("item",e,t,n)},A.prototype.end=function(){this.emit("end"),this.removeAllListeners()},A.prototype.pipe=function(t){var n=this;function A(){t.write.apply(t,Array.prototype.slice.call(arguments))}function o(){t._isStdio||t.end()}return n.emit("unpipe",t),t.emit("pipe",n),n.on("item",A),n.on("end",o),n.when("unpipe",function(e){e=e===t||void 0===e;return e&&(n.removeListener("item",A),n.removeListener("end",o),t.emit("unpipe")),e}),t},A.prototype.unpipe=function(e){return this.emit("unpipe",e),this},A.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},A.mixin=function(e){var t,n=A.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=A},function(e,t,n){function A(){}n(936).mixin(A),A.prototype.write=function(e,t,n){this.emit("item",e,t,n)},A.prototype.end=function(){this.emit("end"),this.removeAllListeners()},A.prototype.pipe=function(t){var n=this;function A(){t.write.apply(t,Array.prototype.slice.call(arguments))}function o(){t._isStdio||t.end()}return n.emit("unpipe",t),t.emit("pipe",n),n.on("item",A),n.on("end",o),n.when("unpipe",function(e){e=e===t||void 0===e;return e&&(n.removeListener("item",A),n.removeListener("end",o),t.emit("unpipe")),e}),t},A.prototype.unpipe=function(e){return this.emit("unpipe",e),this},A.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},A.mixin=function(e){var t,n=A.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=A},function(e,t){function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var n=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function")}var t,n,A;return t=e,A=[{key:"simple",value:function(e){return JSON.parse(JSON.stringify(e))}}],(n=null)&&o(t.prototype,n),A&&o(t,A),e}();e.exports=n},function(e,t,n){function A(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var a=n(108),i=n(256),n=function(){function o(e,t,n,A){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");switch(this.id=e||a(),this.name=t,this.type=n,this.isCloud=A,this.type){case o.SCALAR_TYPE:this.value=0;break;case o.LIST_TYPE:this.value=[];break;case o.BROADCAST_MESSAGE_TYPE:this.value=this.name;break;default:throw new Error("Invalid variable type: ".concat(this.type))}}var e,t,n;return e=o,n=[{key:"SCALAR_TYPE",get:function(){return""}},{key:"LIST_TYPE",get:function(){return"list"}},{key:"BROADCAST_MESSAGE_TYPE",get:function(){return"broadcast_msg"}}],(t=[{key:"toXML",value:function(e){return e=!0===e,'<variable type="'.concat(this.type,'" id="').concat(this.id,'" islocal="').concat(e,'" iscloud="').concat(this.isCloud,'">').concat(i(this.name),"</variable>")}}])&&A(e.prototype,t),n&&A(e,n),o}();e.exports=n},function(e,t){function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var n=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function")}var t,n,A;return t=e,A=[{key:"BACKGROUND_LAYER",get:function(){return"background"}},{key:"VIDEO_LAYER",get:function(){return"video"}},{key:"PEN_LAYER",get:function(){return"pen"}},{key:"SPRITE_LAYER",get:function(){return"sprite"}},{key:"LAYER_GROUPS",get:function(){return[e.BACKGROUND_LAYER,e.VIDEO_LAYER,e.PEN_LAYER,e.SPRITE_LAYER]}}],(n=null)&&o(t.prototype,n),A&&o(t,A),e}();e.exports=n},function(e,A,o){"use strict";!function(t){if(A.base64=!0,A.array=!0,A.string=!0,A.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,A.nodebuffer=void 0!==t,A.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)A.blob=!1;else{t=new ArrayBuffer(0);try{A.blob=0===new Blob([t],{type:"application/zip"}).size}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(t),A.blob=0===n.getBlob("application/zip").size}catch(e){A.blob=!1}}}try{A.nodestream=!!o(478).Readable}catch(e){A.nodestream=!1}}.call(this,o(57).Buffer)},function(e,t,n){"use strict";var A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t,n,A=Array.prototype.slice.call(arguments,1);A.length;){var o=A.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var a in o)t=o,n=a,Object.prototype.hasOwnProperty.call(t,n)&&(e[a]=o[a])}}return e},t.shrinkBuf=function(e,t){if(e.length!==t){if(e.subarray)return e.subarray(0,t);e.length=t}return e};var o={arraySet:function(e,t,n,A,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+A),o);else for(var a=0;a<A;a++)e[o+a]=t[n+a]},flattenChunks:function(e){for(var t,n,A,o=0,a=0,i=e.length;a<i;a++)o+=e[a].length;for(A=new Uint8Array(o),a=t=0,i=e.length;a<i;a++)n=e[a],A.set(n,t),t+=n.length;return A}},a={arraySet:function(e,t,n,A,o){for(var a=0;a<A;a++)e[o+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,o)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,a))},t.setTyped(A)},function(e,t,n){var A=n(110),o=n(553),a=n(375),i=Object.defineProperty;t.f=n(139)?Object.defineProperty:function(e,t,n){if(A(e),t=a(t,!0),A(n),o)try{return i(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(183)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(Y,e,t){"use strict";t.r(e),t.d(e,"default",function(){return L}),t.d(e,"guiInitialState",function(){return F}),t.d(e,"guiMiddleware",function(){return O}),t.d(e,"initEmbedded",function(){return _}),t.d(e,"initFullScreen",function(){return x}),t.d(e,"initPlayer",function(){return R}),t.d(e,"initTelemetryModal",function(){return G}),t.d(e,"initTutorialCard",function(){return U});var e=t(43),n=t(37),A=t(224),o=t(60),a=t(145),i=t(166),r=t(195),s=t(225),l=t(85),u=t(19),c=t(119),g=t(45),d=t(226),h=t(26),p=t(66),m=t(227),B=t(112),f=t(92),E=t(13),w=t(120),C=t(228),I=t(100),y=t(123),b=t(167),M=t(229),Q=t(230),T=t(11),T=t.n(T),S=t(44),k="scratch-gui/vm/SET_VM",T=new T.a,D=(T.attachStorage(S.a),T),S=(window.vm=T,t(126)),T=t(231),v=t(675),v=t.n(v),N=t(68),O=Object(e.d)(Object(e.a)(v()(300,{leading:!0,trailing:!0}))),F={alerts:n.a,assetDrag:A.a,blockDrag:s.a,cards:o.b,colorPicker:a.b,connectionModal:i.a,customProcedures:r.b,draggableModal:l.e,editorTab:u.h,mode:p.b,hoveredTarget:c.b,stageSize:y.c,menus:g.l,micIndicator:d.b,modals:h.l,monitors:m.b,monitorLayout:B.d,projectChanged:f.b,projectState:E.A,projectTitle:w.b,fontsLoaded:C.b,restoreDeletion:I.b,targets:b.c,timeout:M.c,toolbox:Q.b,vm:D,vmStatus:S.e,workspaceMetrics:T.c},R=function(e){return Object.assign({},e,{mode:{isFullScreen:e.mode.isFullScreen,isPlayerOnly:!0,hasEverEnteredEditor:!1}})},x=function(e){return Object.assign({},e,{mode:{isFullScreen:!0,isPlayerOnly:e.mode.isPlayerOnly,hasEverEnteredEditor:e.mode.hasEverEnteredEditor}})},_=function(e){return Object.assign({},e,{mode:{showBranding:!0,isFullScreen:!0,isPlayerOnly:!0,hasEverEnteredEditor:!1}})},U=function(e,t){return Object.assign({},e,{cards:{visible:!0,content:N.a,activeDeckId:t,expanded:!0,step:0,x:0,y:0,dragging:!1}})},G=function(e){return Object.assign({},e,{modals:{telemetryModal:!0}})},L=Object(e.c)({alerts:n.d,assetDrag:A.b,blockDrag:s.b,cards:o.d,colorPicker:a.d,connectionModal:i.b,customProcedures:r.d,draggableModal:l.c,editorTab:u.g,mode:p.a,hoveredTarget:c.a,stageSize:y.a,menus:g.g,micIndicator:d.a,modals:h.k,monitors:m.a,monitorLayout:B.b,projectChanged:f.a,projectState:E.d,projectTitle:w.a,fontsLoaded:C.a,restoreDeletion:I.a,targets:b.a,timeout:M.a,toolbox:Q.a,vm:function(e,t){return void 0===e&&(e=D),t.type!==k?e:(window.vm=t.vm,t.vm)},vmStatus:S.a,workspaceMetrics:T.a})},function(e,t,n){e.exports=n.p+"static/assets/301439e2e5ab88b658368ee525e6752b.svg"},function(e,t,n){e.exports=n.p+"static/assets/551aae506dfa65ce3b45713b5300a678.svg"},function(e,t,n){"use strict";n.d(t,"a",function(){return m});var t=n(5),i=n.n(t),t=n(1),r=n.n(t),t=n(0),A=n.n(t),o=n(7),s=n(13);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l=["isFetchingWithoutId","reduxProjectId","setProjectId"];function u(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function c(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=p(A);return e=o?(e=p(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==a(t)&&"function"!=typeof t?h(n):t}}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e);var n,A=d(o);function o(e){if(this instanceof o)return e=A.call(this,e),i()(h(e),["handleHashChange"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){window.addEventListener("hashchange",this.handleHashChange),this.handleHashChange()}},{key:"componentDidUpdate",value:function(e){this.props.isFetchingWithoutId&&!e.isFetchingWithoutId&&history.pushState("new-project","new-project",window.location.pathname+window.location.search)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("hashchange",this.handleHashChange)}},{key:"handleHashChange",value:function(){var e=window.location.hash.match(/#(\d+)/),e=null===e?s.e:e[1];this.props.setProjectId(e.toString())}},{key:"render",value:function(){var e=this.props,e=(e.isFetchingWithoutId,e.reduxProjectId,e.setProjectId,u(e,l));return r.a.createElement(a,e)}}])&&c(t.prototype,e),n&&c(t,n),o}(r.a.Component);e.propTypes={isFetchingWithoutId:A.a.bool,reduxProjectId:A.a.oneOfType([A.a.string,A.a.number]),setProjectId:A.a.func};return Object(o.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{isFetchingWithoutId:Object(s.m)(t),reduxProjectId:e.scratchGui.projectState.projectId}},function(t){return{setProjectId:function(e){t(Object(s.F)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}},function(Y,e,t){"use strict";var n=t(5),a=t.n(n),n=t(0),n=t.n(n),A=t(1),r=t.n(A),A=t(11),A=t.n(A),o=t(7),i=t(4),s=t.n(i),l=t(3),i=t(306),u=t.n(i),i=t(400),c=t.n(i),g=["active","className","onClick","title"];function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function h(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function p(e){var t,n=e.active,A=e.className,o=e.onClick,a=e.title,e=h(e,g);return r.a.createElement("img",d({className:s()(A,c.a.greenFlag,(A={},t=c.a.isActive,n=n,t in A?Object.defineProperty(A,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):A[t]=n,A)),draggable:!1,src:u.a,title:a,onClick:o},e))}p.propTypes={active:n.a.bool,className:n.a.string,onClick:n.a.func.isRequired,title:n.a.string},p.defaultProps={active:!1,title:"Go"};var m=p,i=t(779),B=t.n(i),i=t(401),f=t.n(i),E=["active","className","onClick","title"];function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function C(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function I(e){var t,n=e.active,A=e.className,o=e.onClick,a=e.title,e=C(e,E);return r.a.createElement("img",w({className:s()(A,f.a.stopAll,(A={},t=f.a.isActive,n=n,t in A?Object.defineProperty(A,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):A[t]=n,A)),draggable:!1,src:B.a,title:a,onClick:o},e))}function y(){return r.a.createElement("div",{className:Q.a.turboContainer},r.a.createElement("img",{className:Q.a.turboIcon,src:M.a}),r.a.createElement("div",{className:Q.a.turboLabel},r.a.createElement(l.a,{defaultMessage:"Turbo Mode",id:"gui.turboMode.active"})))}I.propTypes={active:n.a.bool,className:n.a.string,onClick:n.a.func.isRequired,title:n.a.string},I.defaultProps={active:!1,title:"Stop"};var b=I,i=t(780),M=t.n(i),i=t(327),Q=t.n(i),i=t(781),x=t.n(i),_=["active","className","intl","onGreenFlagClick","onStopAllClick","turbo"];function T(){return(T=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function U(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function S(e){var t=e.active,n=e.className,A=e.intl,o=e.onGreenFlagClick,a=e.onStopAllClick,i=e.turbo,e=U(e,_);return r.a.createElement("div",T({className:s()(x.a.controlsContainer,n)},e),r.a.createElement(m,{active:t,title:A.formatMessage(k.goTitle),onClick:o}),r.a.createElement(b,{active:t,title:A.formatMessage(k.stopTitle),onClick:a}),i?r.a.createElement(y,null):null)}var k=Object(l.d)({goTitle:{id:"gui.controls.go",defaultMessage:"Go"},stopTitle:{id:"gui.controls.stop",defaultMessage:"Stop"}}),G=(S.propTypes={active:n.a.bool,className:n.a.string,intl:l.f.isRequired,onGreenFlagClick:n.a.func.isRequired,onStopAllClick:n.a.func.isRequired,turbo:n.a.bool},S.defaultProps={active:!1,turbo:!1},Object(l.e)(S));function D(e){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var L=["vm","isStarted","projectRunning","turbo"];function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function P(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function N(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=R(A);return e=o?(e=R(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==D(t)&&"function"!=typeof t?F(n):t}}function F(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&O(t,e);var n,A=H(o);function o(e){if(this instanceof o)return e=A.call(this,e),a()(F(e),["handleGreenFlagClick","handleStopAllClick"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleGreenFlagClick",value:function(e){e.preventDefault(),e.shiftKey?this.props.vm.setTurboMode(!this.props.turbo):(this.props.isStarted||this.props.vm.start(),this.props.vm.greenFlag())}},{key:"handleStopAllClick",value:function(e){e.preventDefault(),this.props.vm.stopAll(),mv2Interface.send_REST("robot/stop")}},{key:"render",value:function(){var e=this.props,t=(e.vm,e.isStarted,e.projectRunning),n=e.turbo,e=P(e,L);return r.a.createElement(G,v({},e,{active:t,turbo:n,onGreenFlagClick:this.handleGreenFlagClick,onStopAllClick:this.handleStopAllClick}))}}])&&N(t.prototype,e),n&&N(t,n),o}(r.a.Component);t.propTypes={isStarted:n.a.bool.isRequired,projectRunning:n.a.bool.isRequired,turbo:n.a.bool.isRequired,vm:n.a.instanceOf(A.a)},e.a=Object(o.b)(function(e){return{isStarted:e.scratchGui.vmStatus.running,projectRunning:e.scratchGui.vmStatus.running,turbo:e.scratchGui.vmStatus.turbo}},function(){return{}})(t)},function(e,t,n){"use strict";n.d(t,"d",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"a",function(){return s}),n.d(t,"c",function(){return l});var A="scratch-gui/color-picker/ACTIVATE_COLOR_PICKER",o="scratch-gui/color-picker/DEACTIVATE_COLOR_PICKER",a="scratch-gui/color-picker/SET_CALLBACK",i={active:!1,callback:function(){throw new Error("Color picker callback not initialized")}},r=function(e,t){switch(void 0===e&&(e=i),t.type){case A:return Object.assign({},e,{active:!0,callback:t.callback});case o:return"string"==typeof t.color&&e.callback(t.color),Object.assign({},e,{active:!1});case a:return Object.assign({},e,{callback:t.callback});default:return e}},s=function(e){return{type:A,callback:e}},l=function(e){return{type:o,color:e}}},function(e,t,n){e.exports=n.p+"static/assets/cb666b99d3528f91b52f985dfb102afa.svg"},function(e){e.exports=JSON.parse('[{"name":"Arctic","tags":["outdoors","cold","north pole","south pole","ice","antarctica","robert hunter"],"assetId":"67e0db3305b3c8bac3a363b1c428892e","bitmapResolution":2,"dataFormat":"png","md5ext":"67e0db3305b3c8bac3a363b1c428892e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Baseball 1","tags":["baseball","sports","outdoors","alex eben meyer"],"assetId":"825d9b54682c406215d9d1f98a819449","bitmapResolution":1,"dataFormat":"svg","md5ext":"825d9b54682c406215d9d1f98a819449.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Baseball 2","tags":["baseball","sports","outdoors","alex eben meyer"],"assetId":"7be1f5b3e682813dac1f297e52ff7dca","bitmapResolution":1,"dataFormat":"svg","md5ext":"7be1f5b3e682813dac1f297e52ff7dca.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Basketball 1","tags":["sports","outdoors","basketball","alex eben meyer"],"assetId":"ae21eac3d1814aee1d37ae82ea287816","bitmapResolution":1,"dataFormat":"svg","md5ext":"ae21eac3d1814aee1d37ae82ea287816.svg","rotationCenterX":249,"rotationCenterY":186},{"name":"Basketball 2","tags":["outdoors","sports","basketball"],"assetId":"a5865738283613a2725b2c9dda6d8c78","bitmapResolution":2,"dataFormat":"png","md5ext":"a5865738283613a2725b2c9dda6d8c78.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Beach Malibu","tags":["outdoors"],"assetId":"050615fe992a00d6af0e664e497ebf53","bitmapResolution":2,"dataFormat":"png","md5ext":"050615fe992a00d6af0e664e497ebf53.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Beach Rio","tags":["outdoors"],"assetId":"968f0ede6e70e1dbb763d6fd4c5003e0","bitmapResolution":2,"dataFormat":"png","md5ext":"968f0ede6e70e1dbb763d6fd4c5003e0.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 1","tags":["bedroom","indoors"],"assetId":"7aa6bbb2ddc4c10f901e1a50aeac1c7e","bitmapResolution":2,"dataFormat":"png","md5ext":"7aa6bbb2ddc4c10f901e1a50aeac1c7e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 2","tags":["indoors"],"assetId":"e2f8b0dbd0a65d2ad8bfc21616662a6a","bitmapResolution":2,"dataFormat":"png","md5ext":"e2f8b0dbd0a65d2ad8bfc21616662a6a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 3","tags":["indoors"],"assetId":"8cc0b88d53345b3e337e8f028a32a4e7","bitmapResolution":2,"dataFormat":"png","md5ext":"8cc0b88d53345b3e337e8f028a32a4e7.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bench With View","tags":["outdoors","hill","view"],"assetId":"962201a2b712a302fb087f8f0dcb2076","bitmapResolution":2,"dataFormat":"png","md5ext":"962201a2b712a302fb087f8f0dcb2076.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Blue Sky","tags":["outdoors","flying"],"assetId":"e7c147730f19d284bcd7b3f00af19bb6","bitmapResolution":1,"dataFormat":"svg","md5ext":"e7c147730f19d284bcd7b3f00af19bb6.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Blue Sky 2 ","tags":["outdoors","flying"],"assetId":"8eb8790be5507fdccf73e7c1570bbbab","bitmapResolution":1,"dataFormat":"svg","md5ext":"8eb8790be5507fdccf73e7c1570bbbab.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Boardwalk","tags":["outdoors","ocean"],"assetId":"de0e54cd11551566f044e7e6bc588b2c","bitmapResolution":2,"dataFormat":"png","md5ext":"de0e54cd11551566f044e7e6bc588b2c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Canyon","tags":["outdoors","nature"],"assetId":"c7c0b27b959193a0b570a9639cfe8158","bitmapResolution":2,"dataFormat":"png","md5ext":"c7c0b27b959193a0b570a9639cfe8158.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 1","tags":["fantasy"],"assetId":"e1914ed7917267f1c2ef2b48004cade9","bitmapResolution":2,"dataFormat":"png","md5ext":"e1914ed7917267f1c2ef2b48004cade9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 2","tags":["fantasy"],"assetId":"951765ee7f7370f120c9df20b577c22f","bitmapResolution":2,"dataFormat":"png","md5ext":"951765ee7f7370f120c9df20b577c22f.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 3","tags":["fantasy"],"assetId":"76fa99f67569fcd39b4be74ed38c33f3","bitmapResolution":2,"dataFormat":"png","md5ext":"76fa99f67569fcd39b4be74ed38c33f3.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 4","tags":["fantasy"],"assetId":"4f45f79af8e8dac3d41eb5a06ade61d4","bitmapResolution":2,"dataFormat":"png","md5ext":"4f45f79af8e8dac3d41eb5a06ade61d4.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Chalkboard","tags":["indoors","school"],"assetId":"a8a24b5aa717bbef09dbe31368914427","bitmapResolution":2,"dataFormat":"png","md5ext":"a8a24b5aa717bbef09dbe31368914427.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Circles","tags":["patterns"],"assetId":"c9847be305920807c5597d81576dd0c4","bitmapResolution":1,"dataFormat":"svg","md5ext":"c9847be305920807c5597d81576dd0c4.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"City With Water","tags":["outdoors","boston"],"assetId":"1ef98019fc94ea65a1b55d5521285c7a","bitmapResolution":2,"dataFormat":"png","md5ext":"1ef98019fc94ea65a1b55d5521285c7a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Colorful City","tags":["city","town","road","skyline","outdoors"],"assetId":"04d18ddd1b85f0ea30beb14b8da49f60","bitmapResolution":2,"dataFormat":"png","md5ext":"04d18ddd1b85f0ea30beb14b8da49f60.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Concert","tags":["indoors","music","andrew rae"],"assetId":"c8d90320d2966c08af8cdd1c6a7a93b5","bitmapResolution":2,"dataFormat":"png","md5ext":"c8d90320d2966c08af8cdd1c6a7a93b5.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Desert","tags":["desert"," landscape"," outdoors"," cacti"],"assetId":"d98a9526a34890cf4bad11b5409eae2a","bitmapResolution":2,"dataFormat":"png","md5ext":"d98a9526a34890cf4bad11b5409eae2a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Farm","tags":["outdoors","chicken","barn","coup","owen davey"],"assetId":"1e8a70bd07f1dcba3383883f3b948266","bitmapResolution":2,"dataFormat":"png","md5ext":"1e8a70bd07f1dcba3383883f3b948266.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Field At Mit","tags":["outdoors","architecture"],"assetId":"5b0a970202b464915915260c03f05455","bitmapResolution":2,"dataFormat":"png","md5ext":"5b0a970202b464915915260c03f05455.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Flowers","tags":["outdoors","nature"],"assetId":"25a6ede51a96d4e55de2ffb81ae96f8c","bitmapResolution":2,"dataFormat":"png","md5ext":"25a6ede51a96d4e55de2ffb81ae96f8c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Forest","tags":["outdoors","forest"],"assetId":"92968ac16b2f0c3f7835a6dacd172c7b","bitmapResolution":2,"dataFormat":"png","md5ext":"92968ac16b2f0c3f7835a6dacd172c7b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Galaxy","tags":["space","stars","nasa"],"assetId":"5fab1922f254ae9fd150162c3e392bef","bitmapResolution":2,"dataFormat":"png","md5ext":"5fab1922f254ae9fd150162c3e392bef.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Garden-rock","tags":["outdoors"," garden"," park"],"assetId":"4f66053598bea0905e1559ab9d5a6e31","bitmapResolution":2,"dataFormat":"png","md5ext":"4f66053598bea0905e1559ab9d5a6e31.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Greek Theater","tags":["outdoors","theatre"],"assetId":"93d71e8b8a96cc007b8d68f36acd338a","bitmapResolution":2,"dataFormat":"png","md5ext":"93d71e8b8a96cc007b8d68f36acd338a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hall","tags":["indoors"],"assetId":"ea86ca30b346f27ca5faf1254f6a31e3","bitmapResolution":2,"dataFormat":"png","md5ext":"ea86ca30b346f27ca5faf1254f6a31e3.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hay Field","tags":["outdoors","farm"],"assetId":"da102a69d135973e0fc139131dec785a","bitmapResolution":2,"dataFormat":"png","md5ext":"da102a69d135973e0fc139131dec785a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hearts","tags":["patterns"],"assetId":"f98526ccb0eec3ac7d6c8f8ab502825e","bitmapResolution":1,"dataFormat":"svg","md5ext":"f98526ccb0eec3ac7d6c8f8ab502825e.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Hill","tags":["outdoors","nature"],"assetId":"2129c842f28d6881f622fdc3497ff2da","bitmapResolution":2,"dataFormat":"png","md5ext":"2129c842f28d6881f622fdc3497ff2da.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Jungle","tags":["outdoors","forest","robert hunter"],"assetId":"f4f908da19e2753f3ed679d7b37650ca","bitmapResolution":2,"dataFormat":"png","md5ext":"f4f908da19e2753f3ed679d7b37650ca.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Jurassic","tags":["outdoors","dinosaur","alex eben meyer"],"assetId":"64025bdca5db4938f65597e3682fddcf","bitmapResolution":1,"dataFormat":"svg","md5ext":"64025bdca5db4938f65597e3682fddcf.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Light","tags":["patterns"],"assetId":"4b98c07876ed8997c3762e75790507b4","bitmapResolution":1,"dataFormat":"svg","md5ext":"4b98c07876ed8997c3762e75790507b4.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Metro","tags":["outdoors","city","urban"],"assetId":"0b4a15ba028bf205ec051390d6ac4de7","bitmapResolution":2,"dataFormat":"png","md5ext":"0b4a15ba028bf205ec051390d6ac4de7.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Moon","tags":["space","nasa","apollo"],"assetId":"0b1d2eaf22d62ef88de80ccde5578fba","bitmapResolution":2,"dataFormat":"png","md5ext":"0b1d2eaf22d62ef88de80ccde5578fba.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Mountain","tags":["outdoors","snow","cave","robert hunter"],"assetId":"f84989feee2cf462a1c597169777ee3c","bitmapResolution":2,"dataFormat":"png","md5ext":"f84989feee2cf462a1c597169777ee3c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Mural","tags":["outdoors","mural","graffiti","street","art"],"assetId":"efb625f7e0b199b15f69e116cd053cea","bitmapResolution":2,"dataFormat":"png","md5ext":"efb625f7e0b199b15f69e116cd053cea.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Nebula","tags":["space","nasa","bubble","hubble"],"assetId":"9b5cdbd596da1b6149f56b794b6394f4","bitmapResolution":2,"dataFormat":"png","md5ext":"9b5cdbd596da1b6149f56b794b6394f4.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Neon Tunnel","tags":["games","game","space"],"assetId":"57d2b13b2f73d3d878c72810c137b0d6","bitmapResolution":2,"dataFormat":"png","md5ext":"57d2b13b2f73d3d878c72810c137b0d6.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Night City","tags":["outdoors","urban","city","metro"],"assetId":"6fdc795ff487204f72740567be5f64f9","bitmapResolution":2,"dataFormat":"png","md5ext":"6fdc795ff487204f72740567be5f64f9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Night City With Street","tags":["urban","city","metro","transportation"],"assetId":"14443ad7907b6479d7562a12b8ae0efb","bitmapResolution":2,"dataFormat":"png","md5ext":"14443ad7907b6479d7562a12b8ae0efb.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Party","tags":["indoors","inflatable"],"assetId":"108160d0e44d1c340182e31c9dc0758a","bitmapResolution":1,"dataFormat":"svg","md5ext":"108160d0e44d1c340182e31c9dc0758a.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Pathway","tags":["outdoors","garden"],"assetId":"5d747ec036755a4b129f0d5b978bc61c","bitmapResolution":2,"dataFormat":"png","md5ext":"5d747ec036755a4b129f0d5b978bc61c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Playground","tags":["outdoors","play"],"assetId":"e5f794c8756ca0cead5cb7e7fe354c41","bitmapResolution":2,"dataFormat":"png","md5ext":"e5f794c8756ca0cead5cb7e7fe354c41.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Playing Field","tags":["outdoors","sports"],"assetId":"2de108f3098e92f5c5976cf75d38e99d","bitmapResolution":2,"dataFormat":"png","md5ext":"2de108f3098e92f5c5976cf75d38e99d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Pool","tags":["outdoors","sports","swim","swimming"],"assetId":"6cab934df643d2fc508cfa90c0c4059b","bitmapResolution":2,"dataFormat":"png","md5ext":"6cab934df643d2fc508cfa90c0c4059b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Rays","tags":["patterns","raimondious"],"assetId":"87e963282db9e020e8c4d075891ea12b","bitmapResolution":1,"dataFormat":"svg","md5ext":"87e963282db9e020e8c4d075891ea12b.svg","rotationCenterX":240.1199951171875,"rotationCenterY":180},{"name":"Refrigerator","tags":["food","indoors","alex eben meyer"],"assetId":"98f053f9681e872f34fafd783ce72205","bitmapResolution":1,"dataFormat":"svg","md5ext":"98f053f9681e872f34fafd783ce72205.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Room 1","tags":["indoors","books","library"],"assetId":"a81668321aa3dcc0fc185d3e36ae76f6","bitmapResolution":2,"dataFormat":"png","md5ext":"a81668321aa3dcc0fc185d3e36ae76f6.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Room 2","tags":["indoors"],"assetId":"05ae3e3bbea890a6e3552ffe8456775e","bitmapResolution":2,"dataFormat":"png","md5ext":"05ae3e3bbea890a6e3552ffe8456775e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Savanna","tags":["africa","savanna","savanah","outdoors","robert hunter"],"assetId":"9b020b8c7cb6a9592f7303add9441d8f","bitmapResolution":2,"dataFormat":"png","md5ext":"9b020b8c7cb6a9592f7303add9441d8f.png","rotationCenterX":480,"rotationCenterY":360},{"name":"School","tags":["outdoors","building","education","learning"],"assetId":"1dea69ac0f62cf538d368a7bde1372ac","bitmapResolution":2,"dataFormat":"png","md5ext":"1dea69ac0f62cf538d368a7bde1372ac.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Slopes","tags":["outdoors","winter","ski","snowboard","cold","snow"],"assetId":"63b6a69594a0a87888b56244bfa2ac1b","bitmapResolution":2,"dataFormat":"png","md5ext":"63b6a69594a0a87888b56244bfa2ac1b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Soccer","tags":["soccer","football","sports","alex eben meyer"],"assetId":"04a63154f04b09494354090f7cc2f1b9","bitmapResolution":2,"dataFormat":"png","md5ext":"04a63154f04b09494354090f7cc2f1b9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Soccer 2","tags":["soccer","football","sports","alex eben meyer"],"assetId":"b0dc1268cb595aaeef405bce40d1639c","bitmapResolution":2,"dataFormat":"png","md5ext":"b0dc1268cb595aaeef405bce40d1639c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"84208d9a3718ec3c9fc5a32a792fa1d0","bitmapResolution":2,"dataFormat":"png","md5ext":"84208d9a3718ec3c9fc5a32a792fa1d0.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space City 1","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"20344b0edcc498281e4cb80242a72667","bitmapResolution":2,"dataFormat":"png","md5ext":"20344b0edcc498281e4cb80242a72667.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space City 2","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"32b2316fd375faa18088f6c57ebb1c8d","bitmapResolution":2,"dataFormat":"png","md5ext":"32b2316fd375faa18088f6c57ebb1c8d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Spaceship","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"0c450891306fa63ef02aa0fda7fd0ef9","bitmapResolution":2,"dataFormat":"png","md5ext":"0c450891306fa63ef02aa0fda7fd0ef9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Spotlight","tags":["music","dance"],"assetId":"d26bf4c3980163d9106625cc2ea6c50d","bitmapResolution":2,"dataFormat":"png","md5ext":"d26bf4c3980163d9106625cc2ea6c50d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Stars","tags":["space","nasa"],"assetId":"47282ff0f7047c6fab9c94b531abf721","bitmapResolution":2,"dataFormat":"png","md5ext":"47282ff0f7047c6fab9c94b531abf721.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Stripes","tags":["patterns"],"assetId":"a6a21f5c08d586e8daaebde37c97fb6f","bitmapResolution":1,"dataFormat":"svg","md5ext":"a6a21f5c08d586e8daaebde37c97fb6f.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Theater","tags":["indoors","music","andrew rae"],"assetId":"c2b097bc5cdb6a14ef5485202bc5ee76","bitmapResolution":2,"dataFormat":"png","md5ext":"c2b097bc5cdb6a14ef5485202bc5ee76.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Theater 2","tags":["music"],"assetId":"061a78ed83495dd0acd6d62e83e1b972","bitmapResolution":2,"dataFormat":"png","md5ext":"061a78ed83495dd0acd6d62e83e1b972.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Tree","tags":["outdoors","nature"],"assetId":"a23fbf972001c94637b568992f8fd7bd","bitmapResolution":2,"dataFormat":"png","md5ext":"a23fbf972001c94637b568992f8fd7bd.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Underwater 1","tags":["ocean","outdoors","underwater","ipzy"],"assetId":"d3344650f594bcecdf46aa4a9441badd","bitmapResolution":1,"dataFormat":"svg","md5ext":"d3344650f594bcecdf46aa4a9441badd.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Underwater 2","tags":["outdoors","nature","underwater"],"assetId":"1517c21786d2d0edc2f3037408d850bd","bitmapResolution":2,"dataFormat":"png","md5ext":"1517c21786d2d0edc2f3037408d850bd.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Urban","tags":["outdoors","city","metro","transportation"],"assetId":"1679049718869e1f548e1e8823e29c1c","bitmapResolution":2,"dataFormat":"png","md5ext":"1679049718869e1f548e1e8823e29c1c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wall 1","tags":["outdoors","brick"],"assetId":"7e5327c68ff6ddabc48dbfe4717a04fe","bitmapResolution":2,"dataFormat":"png","md5ext":"7e5327c68ff6ddabc48dbfe4717a04fe.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wall 2","tags":["outdoors","brick"],"assetId":"82d867fcd9f1b5f49e29c2f853d55665","bitmapResolution":2,"dataFormat":"png","md5ext":"82d867fcd9f1b5f49e29c2f853d55665.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Water And Rocks","tags":["outdoors","nature","tree","river","stream"],"assetId":"0015433a406a53f00b792424b823268c","bitmapResolution":2,"dataFormat":"png","md5ext":"0015433a406a53f00b792424b823268c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wetland","tags":["outdoor","nature","swamp","wetland","owen davey"],"assetId":"ef9973bcff6d4cbc558e946028ec7d23","bitmapResolution":2,"dataFormat":"png","md5ext":"ef9973bcff6d4cbc558e946028ec7d23.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Winter","tags":["outdoors","trees","forest","winter"],"assetId":"5fa9385a60b904672d0e46e9d768bb32","bitmapResolution":1,"dataFormat":"svg","md5ext":"5fa9385a60b904672d0e46e9d768bb32.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Witch House","tags":["fantasy","indoors","ipzy"],"assetId":"30085b2d27beb5acdbe895d8b3e64b04","bitmapResolution":1,"dataFormat":"svg","md5ext":"30085b2d27beb5acdbe895d8b3e64b04.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Woods","tags":["fantasy","spooky","halloween","outdoors","haunted","forest","alex eben meyer"],"assetId":"f3eb165d6f3fd23370f97079f2e631bf","bitmapResolution":1,"dataFormat":"svg","md5ext":"f3eb165d6f3fd23370f97079f2e631bf.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Woods And Bench","tags":["outdoors","park"],"assetId":"4fcf7ed0de6c6b6e9b52c511b0650e9c","bitmapResolution":2,"dataFormat":"png","md5ext":"4fcf7ed0de6c6b6e9b52c511b0650e9c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid","tags":["grid","xy","coordinates"],"assetId":"9838d02002d05f88dc54d96494fbc202","bitmapResolution":2,"dataFormat":"png","md5ext":"9838d02002d05f88dc54d96494fbc202.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid-20px","tags":["grid","xy","coordinates"],"assetId":"4eec0e1db92b8dea3e5bee25105e8f46","bitmapResolution":2,"dataFormat":"png","md5ext":"4eec0e1db92b8dea3e5bee25105e8f46.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid-30px","tags":["grid","xy","coordinates"],"assetId":"3b8bcabd0ac683b7cb3673208039764b","bitmapResolution":2,"dataFormat":"png","md5ext":"3b8bcabd0ac683b7cb3673208039764b.png","rotationCenterX":480,"rotationCenterY":360}]')},function(e,t,n){"use strict";var A=n(881).default;n(888),(t=e.exports=A).default=t},function(e,t,n){"use strict";var A=n(0),A=n.n(A),o=n(1),a=n.n(o),o=n(4),i=n.n(o),o=n(150),r=n.n(o),o=n(146),s=n.n(o),o=n(717),o=n.n(o),l=n(297),u=n.n(l);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){var t;return a.a.createElement("div",{"aria-label":"Close",className:i()(r.a.closeButton,e.className,(c(t={},r.a.small,e.size===g.SIZE_SMALL),c(t,r.a.large,e.size===g.SIZE_LARGE),c(t,r.a.orange,e.color===g.COLOR_ORANGE),t)),role:"button",tabIndex:"0",onClick:e.onClick},"back"===e.buttonType?a.a.createElement("img",{className:r.a.backIcon,src:u.a}):a.a.createElement("img",{className:i()(r.a.closeIcon,c({},r.a[e.color],e.color!==g.COLOR_NEUTRAL)),src:e.color&&d[e.color]?d[e.color]:s.a}))}var d={};g.SIZE_SMALL="small",g.SIZE_LARGE="large",g.COLOR_NEUTRAL="neutral",g.COLOR_GREEN="green",g.COLOR_ORANGE="orange",c(n={},g.COLOR_NEUTRAL,s.a),c(n,g.COLOR_GREEN,s.a),c(n,g.COLOR_ORANGE,o.a),d=n,g.propTypes={buttonType:A.a.oneOf(["back","close"]),className:A.a.string,color:A.a.string,onClick:A.a.func.isRequired,size:A.a.oneOf([g.SIZE_SMALL,g.SIZE_LARGE])},g.defaultProps={color:g.COLOR_NEUTRAL,size:g.SIZE_LARGE,buttonType:"close"},t.a=g},function(e,t,n){var A=n(1362),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1382),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1400),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1414),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1420),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1421),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1448),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1528),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(t=t.OpCode||(t.OpCode={})).motion_movesteps="motion_movesteps",t.motion_turnright="motion_turnright",t.motion_turnleft="motion_turnleft",t.motion_goto="motion_goto",t.motion_gotoxy="motion_gotoxy",t.motion_glideto="motion_glideto",t.motion_glidesecstoxy="motion_glidesecstoxy",t.motion_pointindirection="motion_pointindirection",t.motion_pointtowards="motion_pointtowards",t.motion_changexby="motion_changexby",t.motion_setx="motion_setx",t.motion_changeyby="motion_changeyby",t.motion_sety="motion_sety",t.motion_ifonedgebounce="motion_ifonedgebounce",t.motion_setrotationstyle="motion_setrotationstyle",t.motion_xposition="motion_xposition",t.motion_yposition="motion_yposition",t.motion_direction="motion_direction",t.looks_sayforsecs="looks_sayforsecs",t.looks_say="looks_say",t.looks_thinkforsecs="looks_thinkforsecs",t.looks_think="looks_think",t.looks_switchcostumeto="looks_switchcostumeto",t.looks_nextcostume="looks_nextcostume",t.looks_switchbackdropto="looks_switchbackdropto",t.looks_nextbackdrop="looks_nextbackdrop",t.looks_changesizeby="looks_changesizeby",t.looks_setsizeto="looks_setsizeto",t.looks_changeeffectby="looks_changeeffectby",t.looks_seteffectto="looks_seteffectto",t.looks_cleargraphiceffects="looks_cleargraphiceffects",t.looks_show="looks_show",t.looks_hide="looks_hide",t.looks_gotofrontback="looks_gotofrontback",t.looks_goforwardbackwardlayers="looks_goforwardbackwardlayers",t.looks_costumenumbername="looks_costumenumbername",t.looks_backdropnumbername="looks_backdropnumbername",t.looks_size="looks_size",t.sound_playuntildone="sound_playuntildone",t.sound_play="sound_play",t.sound_stopallsounds="sound_stopallsounds",t.sound_changeeffectby="sound_changeeffectby",t.sound_seteffectto="sound_seteffectto",t.sound_cleareffects="sound_cleareffects",t.sound_changevolumeby="sound_changevolumeby",t.sound_setvolumeto="sound_setvolumeto",t.sound_volume="sound_volume",t.event_whenflagclicked="event_whenflagclicked",t.event_whenkeypressed="event_whenkeypressed",t.event_whenthisspriteclicked="event_whenthisspriteclicked",t.event_whenstageclicked="event_whenstageclicked",t.event_whenbackdropswitchesto="event_whenbackdropswitchesto",t.event_whengreaterthan="event_whengreaterthan",t.event_whenbroadcastreceived="event_whenbroadcastreceived",t.event_broadcast="event_broadcast",t.event_broadcastandwait="event_broadcastandwait",t.control_wait="control_wait",t.control_repeat="control_repeat",t.control_forever="control_forever",t.control_if="control_if",t.control_if_else="control_if_else",t.control_wait_until="control_wait_until",t.control_repeat_until="control_repeat_until",t.control_stop="control_stop",t.control_start_as_clone="control_start_as_clone",t.control_create_clone_of="control_create_clone_of",t.control_delete_this_clone="control_delete_this_clone",t.sensing_touchingobject="sensing_touchingobject",t.sensing_touchingcolor="sensing_touchingcolor",t.sensing_coloristouchingcolor="sensing_coloristouchingcolor",t.sensing_distanceto="sensing_distanceto",t.sensing_askandwait="sensing_askandwait",t.sensing_answer="sensing_answer",t.sensing_keypressed="sensing_keypressed",t.sensing_mousedown="sensing_mousedown",t.sensing_mousex="sensing_mousex",t.sensing_mousey="sensing_mousey",t.sensing_setdragmode="sensing_setdragmode",t.sensing_loudness="sensing_loudness",t.sensing_timer="sensing_timer",t.sensing_resettimer="sensing_resettimer",t.sensing_of="sensing_of",t.sensing_current="sensing_current",t.sensing_dayssince2000="sensing_dayssince2000",t.sensing_username="sensing_username",t.operator_add="operator_add",t.operator_subtract="operator_subtract",t.operator_multiply="operator_multiply",t.operator_divide="operator_divide",t.operator_random="operator_random",t.operator_gt="operator_gt",t.operator_lt="operator_lt",t.operator_equals="operator_equals",t.operator_and="operator_and",t.operator_or="operator_or",t.operator_not="operator_not",t.operator_join="operator_join",t.operator_letter_of="operator_letter_of",t.operator_length="operator_length",t.operator_contains="operator_contains",t.operator_mod="operator_mod",t.operator_round="operator_round",t.operator_mathop="operator_mathop",t.data_variable="data_variable",t.data_setvariableto="data_setvariableto",t.data_changevariableby="data_changevariableby",t.data_showvariable="data_showvariable",t.data_hidevariable="data_hidevariable",t.data_listcontents="data_listcontents",t.data_addtolist="data_addtolist",t.data_deleteoflist="data_deleteoflist",t.data_deletealloflist="data_deletealloflist",t.data_insertatlist="data_insertatlist",t.data_replaceitemoflist="data_replaceitemoflist",t.data_itemoflist="data_itemoflist",t.data_itemnumoflist="data_itemnumoflist",t.data_lengthoflist="data_lengthoflist",t.data_listcontainsitem="data_listcontainsitem",t.data_showlist="data_showlist",t.data_hidelist="data_hidelist",t.procedures_definition="procedures_definition",t.procedures_prototype="procedures_prototype",t.argument_reporter_boolean="argument_reporter_boolean",t.argument_reporter_string_number="argument_reporter_string_number",t.procedures_call="procedures_call",t.music_playDrumForBeats="music_playDrumForBeats",t.music_restForBeats="music_restForBeats",t.music_playNoteForBeats="music_playNoteForBeats",t.music_setInstrument="music_setInstrument",t.music_setTempo="music_setTempo",t.music_changeTempo="music_changeTempo",t.music_getTempo="music_getTempo",t.pen_clear="pen_clear",t.pen_stamp="pen_stamp",t.pen_penDown="pen_penDown",t.pen_penUp="pen_penUp",t.pen_setPenColorToColor="pen_setPenColorToColor",t.pen_changePenColorParamBy="pen_changePenColorParamBy",t.pen_setPenColorParamTo="pen_setPenColorParamTo",t.pen_changePenSizeBy="pen_changePenSizeBy",t.pen_setPenSizeTo="pen_setPenSizeTo",t.videoSensing_whenMotionGreaterThan="videoSensing_whenMotionGreaterThan",t.videoSensing_videoOn="videoSensing_videoOn",t.videoSensing_videoToggle="videoSensing_videoToggle",t.videoSensing_setVideoTransparency="videoSensing_setVideoTransparency",t.wedo2_motorOnFor="wedo2_motorOnFor",t.wedo2_motorOn="wedo2_motorOn",t.wedo2_motorOff="wedo2_motorOff",t.wedo2_startMotorPower="wedo2_startMotorPower",t.wedo2_setMotorDirection="wedo2_setMotorDirection",t.wedo2_setLightHue="wedo2_setLightHue",t.wedo2_whenDistance="wedo2_whenDistance",t.wedo2_whenTilted="wedo2_whenTilted",t.wedo2_getDistance="wedo2_getDistance",t.wedo2_isTilted="wedo2_isTilted",t.wedo2_getTiltAngle="wedo2_getTiltAngle",t.motion_scroll_right="motion_scroll_right",t.motion_scroll_up="motion_scroll_up",t.motion_align_scene="motion_align_scene",t.motion_xscroll="motion_xscroll",t.motion_yscroll="motion_yscroll",t.looks_hideallsprites="looks_hideallsprites",t.looks_switchbackdroptoandwait="looks_switchbackdroptoandwait",t.looks_changestretchby="looks_changestretchby",t.looks_setstretchto="looks_setstretchto",t.control_while="control_while",t.control_for_each="control_for_each",t.control_get_counter="control_get_counter",t.control_incr_counter="control_incr_counter",t.control_clear_counter="control_clear_counter",t.control_all_at_once="control_all_at_once",t.sensing_userid="sensing_userid",t.sensing_loud="sensing_loud",t.music_midiPlayDrumForBeats="music_midiPlayDrumForBeats",t.music_midiSetInstrument="music_midiSetInstrument",t.pen_setPenShadeToNumber="pen_setPenShadeToNumber",t.pen_changePenShadeBy="pen_changePenShadeBy",t.pen_setPenHueToNumber="pen_setPenHueToNumber",t.pen_changePenHueBy="pen_changePenHueBy",t.wedo2_playNoteFor="wedo2_playNoteFor",t.motion_pointtowards_menu="motion_pointtowards_menu",t.motion_glideto_menu="motion_glideto_menu",t.motion_goto_menu="motion_goto_menu",t.looks_costume="looks_costume",t.looks_backdrops="looks_backdrops",t.sound_sounds_menu="sound_sounds_menu",t.event_broadcast_menu="broadcast_menu",t.control_create_clone_of_menu="control_create_clone_of_menu",t.sensing_touchingobjectmenu="sensing_touchingobjectmenu",t.sensing_distancetomenu="sensing_distancetomenu",t.sensing_keyoptions="sensing_keyoptions",t.sensing_of_object_menu="sensing_of_object_menu",t.pen_menu_colorParam="pen_menu_colorParam",t.music_menu_DRUM="music_menu_DRUM",t.music_menu_INSTRUMENT="music_menu_INSTRUMENT",t.note="note",t.videoSensing_menu_ATTRIBUTE="videoSensing_menu_ATTRIBUTE",t.videoSensing_menu_SUBJECT="videoSensing_menu_SUBJECT",t.videoSensing_menu_VIDEO_STATE="videoSensing_menu_VIDEO_STATE",t.wedo2_menu_MOTOR_ID="wedo2_menu_MOTOR_ID",t.wedo2_menu_MOTOR_DIRECTION="wedo2_menu_MOTOR_DIRECTION",t.wedo2_menu_TILT_DIRECTION="wedo2_menu_TILT_DIRECTION",t.wedo2_menu_TILT_DIRECTION_ANY="wedo2_menu_TILT_DIRECTION_ANY",t.wedo2_menu_OP="wedo2_menu_OP",t.mv2_circle="mv2_circle",t.mv2_eyes="mv2_eyes",t.mv2_kick="mv2_kick",t.mv2_lean="mv2_lean",t.mv2_liftFoot="mv2_liftFoot",t.mv2_lowerFoot="mv2_lowerFoot",t.mv2_moveJoint="mv2_moveJoint",t.mv2_slide="mv2_slide",t.mv2_slideMsLength="mv2_slideMsLength",t.mv2_turn="mv2_turn",t.mv2_wave="mv2_wave",t.mv2_gripperArmBasic="mv2_gripperArmBasic",t.mv2_gripperArmTimed="mv2_gripperArmTimed",t.mv2_getReady="mv2_getReady",t.mv2_dance="mv2_dance",t.mv2_hold="mv2_hold",t.mv2_standStraight="mv2_standStraight",t.mv2_walk_fw="mv2_walk_fw",t.mv2_walk_bw="mv2_walk_bw",t.mv2_walk="mv2_walk",t.mv2_wiggle="mv2_wiggle",t.mv2_discoChangeBlockPattern="mv2_discoChangeBlockPattern",t.mv2_LEDEyesColour="mv2_LEDEyesColour",t.mv2_LEDEyesColour_SpecificLED="mv2_LEDEyesColour_SpecificLED",t.colour_picker_LED_eyes="colour_picker_LED_eyes",t.mv2_LEDEyesColourLEDs="mv2_LEDEyesColourLEDs",t.mv2_discoChangeRegionColour="mv2_discoChangeRegionColour",t.mv2_RGBOperator="mv2_RGBOperator",t.mv2_HSLOperator="mv2_HSLOperator",t.mv2_discoChangeBackColour="mv2_discoChangeBackColour",t.mv2_discoSetBreatheBackColour="mv2_discoSetBreatheBackColour",t.mv2_discoTurnOffBackColour="mv2_discoTurnOffBackColour",t.mv2_playNote="mv2_playNote",t.mv2_changePitchEffect="mv2_changePitchEffect",t.mv2_setPitchEffect="mv2_setPitchEffect",t.mv2_playSoundUntilDone="mv2_playSoundUntilDone",t.mv2_playTone="mv2_playTone",t.mv2_stopSounds="mv2_stopSounds",t.mv2_playSound="mv2_playSound",t.mv2_clearSoundEffects="mv2_clearSoundEffects",t.mv2_changeVolume="mv2_changeVolume",t.mv2_setVolume="mv2_setVolume",t.ServoCurrent="ServoCurrent",t.ServoPosition="ServoPosition",t.mv2_obstaclesense="mv2_obstaclesense",t.mv2_groundsense="mv2_groundsense",t.mv2_coloursense="mv2_coloursense",t.mv2_coloursense_hex="mv2_coloursense_hex",t.mv2_coloursenseraw="mv2_coloursenseraw",t.mv2_lightsense="mv2_lightsense",t.mv2_noisesense="mv2_noisesense",t.XAxisMovement="XAxisMovement",t.YAxisMovement="YAxisMovement",t.ZAxisMovement="ZAxisMovement",t.BatteryPercentage="BatteryPercentage",t.mv2_distancesense="mv2_distancesense",t.text2speech_marty_speakAndWait="text2speech_marty_speakAndWait"},function(e,t,n){function c(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?r(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function g(e){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var d=n(954),a=n(444),u=n(256),i=n(340),s=n(132),l=n(210).Map,A=n(451),h=n(452),p=n(39),m=n(133),B=n(341),n=function(){function A(e,t){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");this.runtime=e,this._blocks={},this._scripts=[],Object.defineProperty(this,"_cache",{writable:!0,enumerable:!1}),this._cache={inputs:{},procedureParamNames:{},procedureDefinitions:{},_executeCached:{},_monitored:null,scripts:{}},this.forceNoGlow=t||!1}var e,t,n;return e=A,n=[{key:"BRANCH_INPUT_PREFIX",get:function(){return"SUBSTACK"}}],(t=[{key:"getBlock",value:function(e){return this._blocks[e]}},{key:"getScripts",value:function(){return this._scripts}},{key:"getNextBlock",value:function(e){e=this._blocks[e];return void 0===e?null:e.next}},{key:"getBranch",value:function(e,t){var n,e=this._blocks[e];return void 0===e||(n=A.BRANCH_INPUT_PREFIX,1<(t=t||1)&&(n+=t),void 0===(t=e.inputs[n]))?null:t.block}},{key:"getOpcode",value:function(e){return void 0===e?null:e.opcode}},{key:"getFields",value:function(e){return void 0===e?null:e.fields}},{key:"getInputs",value:function(e){if(void 0===e)return null;var t=this._cache.inputs[e.id];if(void 0===t){for(var n in t={},e.inputs)n.substring(0,A.BRANCH_INPUT_PREFIX.length)!==A.BRANCH_INPUT_PREFIX&&(t[n]=e.inputs[n]);this._cache.inputs[e.id]=t}return t}},{key:"getMutation",value:function(e){return void 0===e?null:e.mutation}},{key:"getTopLevelScript",value:function(e){var t=this._blocks[e];if(void 0===t)return null;for(;null!==t.parent;)t=this._blocks[t.parent];return t.id}},{key:"getProcedureDefinition",value:function(e){var t,n=this._cache.procedureDefinitions[e];if(void 0!==n)return n;for(t in this._blocks)if(this._blocks.hasOwnProperty(t)){var A=this._blocks[t];if("procedures_definition"===A.opcode){A=this._getCustomBlockInternal(A);if(A&&A.mutation.proccode===e)return this._cache.procedureDefinitions[e]=t}}return this._cache.procedureDefinitions[e]=null}},{key:"getProcedureParamNamesAndIds",value:function(e){return this.getProcedureParamNamesIdsAndDefaults(e).slice(0,2)}},{key:"getProcedureParamNamesIdsAndDefaults",value:function(e){var t,n=this._cache.procedureParamNames[e];if(void 0!==n)return n;for(t in this._blocks)if(this._blocks.hasOwnProperty(t)){var A,o,a=this._blocks[t];if("procedures_prototype"===a.opcode&&a.mutation.proccode===e)return A=JSON.parse(a.mutation.argumentnames),o=JSON.parse(a.mutation.argumentids),a=JSON.parse(a.mutation.argumentdefaults),this._cache.procedureParamNames[e]=[A,o,a],this._cache.procedureParamNames[e]}return this._cache.procedureParamNames[e]=null}},{key:"duplicate",value:function(){var e=new A(this.runtime,this.forceNoGlow);return e._blocks=s.simple(this._blocks),e._scripts=s.simple(this._scripts),e}},{key:"blocklyListen",value:function(e){if("object"===g(e)&&("string"==typeof e.blockId||"string"==typeof e.varId||"string"==typeof e.commentId)){var t=this.runtime.getTargetForStage(),n=this.runtime.getEditingTarget();if("stackclick"===e.element)this.runtime.toggleScript(e.blockId,{stackClick:!0});else switch(e.type){case"create":for(var A=d(e),o=0;o<A.length;o++)this.createBlock(A[o]);break;case"change":this.changeBlock({id:e.blockId,element:e.element,name:e.name,value:e.newValue});break;case"move":this.moveBlock({id:e.blockId,oldParent:e.oldParentId,oldInput:e.oldInputName,newParent:e.newParentId,newInput:e.newInputName,newCoordinate:e.newCoordinate});break;case"dragOutside":this.runtime.emitBlockDragUpdate(e.isOutside);break;case"endDrag":this.runtime.emitBlockDragUpdate(!1),e.isOutside&&(l=d(e),this.runtime.emitBlockEndDrag(l,e.blockId));break;case"delete":this._blocks.hasOwnProperty(e.blockId)&&!this._blocks[e.blockId].shadow&&(this._blocks[e.blockId].topLevel&&this.runtime.quietGlow(e.blockId),this.deleteBlock(e.blockId));break;case"var_create":if(e.isLocal&&n&&!n.isStage&&!e.isCloud)n.lookupVariableById(e.varId)||(n.createVariable(e.varId,e.varName,e.varType),this.emitProjectChanged());else{if(t.lookupVariableById(e.varId))return;var a,i=c(this.runtime.targets.filter(function(e){return e.isOriginal}));try{for(i.s();!(a=i.n()).done;)if(a.value.lookupVariableByNameAndType(e.varName,e.varType,!0))return}catch(e){i.e(e)}finally{i.f()}t.createVariable(e.varId,e.varName,e.varType,e.isCloud),this.emitProjectChanged()}break;case"var_rename":if(n&&n.variables.hasOwnProperty(e.varId))n.renameVariable(e.varId,e.newName),n.blocks.updateBlocksAfterVarRename(e.varId,e.newName);else{t.renameVariable(e.varId,e.newName);for(var r=this.runtime.targets,s=0;s<r.length;s++)r[s].blocks.updateBlocksAfterVarRename(e.varId,e.newName)}this.emitProjectChanged();break;case"var_delete":(n&&n.variables.hasOwnProperty(e.varId)?n:t).deleteVariable(e.varId),this.emitProjectChanged();break;case"comment_create":this.runtime.getEditingTarget()&&((l=this.runtime.getEditingTarget()).createComment(e.commentId,e.blockId,e.text,e.xy.x,e.xy.y,e.width,e.height,e.minimized),null===l.comments[e.commentId].x)&&null===l.comments[e.commentId].y&&(l.comments[e.commentId].x=e.xy.x,l.comments[e.commentId].y=e.xy.y),this.emitProjectChanged();break;case"comment_change":if(this.runtime.getEditingTarget()){var l=this.runtime.getEditingTarget();if(!l.comments.hasOwnProperty(e.commentId))return void p.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));var l=l.comments[e.commentId],u=e.newContents_;u.hasOwnProperty("minimized")&&(l.minimized=u.minimized),u.hasOwnProperty("width")&&u.hasOwnProperty("height")&&(l.width=u.width,l.height=u.height),u.hasOwnProperty("text")&&(l.text=u.text),this.emitProjectChanged()}break;case"comment_move":if(this.runtime.getEditingTarget()){l=this.runtime.getEditingTarget();if(l&&!l.comments.hasOwnProperty(e.commentId))return void p.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));u=l.comments[e.commentId],l=e.newCoordinate_;u.x=l.x,u.y=l.y,this.emitProjectChanged()}break;case"comment_delete":if(this.runtime.getEditingTarget()){u=this.runtime.getEditingTarget();if(!u.comments.hasOwnProperty(e.commentId))return;if(delete u.comments[e.commentId],e.blockId){l=u.blocks.getBlock(e.blockId);if(!l)return void p.warn("Could not find block referenced by comment with id: ".concat(e.commentId));delete l.comment}this.emitProjectChanged()}}}}},{key:"resetCache",value:function(){this._cache.inputs={},this._cache.procedureParamNames={},this._cache.procedureDefinitions={},this._cache._executeCached={},this._cache._monitored=null,this._cache.scripts={}}},{key:"emitProjectChanged",value:function(){this.forceNoGlow||this.runtime.emitProjectChanged()}},{key:"createBlock",value:function(e){this._blocks.hasOwnProperty(e.id)||((this._blocks[e.id]=e).topLevel&&this._addScript(e.id),this.resetCache(),this.emitProjectChanged())}},{key:"changeBlock",value:function(e){if(-1!==["field","mutation","checkbox"].indexOf(e.element)){var t=this._blocks[e.id];if(void 0!==t){switch(e.element){case"field":if(!t.fields[e.name])return;"VARIABLE"===e.name||"LIST"===e.name||"BROADCAST_OPTION"===e.name?(n=this.runtime.getEditingTarget().lookupVariableById(e.value))&&(t.fields[e.name].value=n.name,t.fields[e.name].id=e.value):(t.fields[e.name].value=e.value,"sensing_of_object_menu"===t.opcode&&("_stage_"===t.fields.OBJECT.value?this._blocks[t.parent].fields.PROPERTY.value="backdrop #":this._blocks[t.parent].fields.PROPERTY.value="x position",this.runtime.requestBlocksUpdate()),(n=t.shadow&&t.parent?this._blocks[t.parent]:t).isMonitored&&this.runtime.requestUpdateMonitor(l({id:n.id,params:this._getBlockParams(n)})));break;case"mutation":t.mutation=a(e.value);break;case"checkbox":t.fields&&0<Object.keys(t.fields).length&&"data_variable"!==t.opcode&&"data_listcontents"!==t.opcode&&(n=B(t.id,t.fields),(A=this.runtime.monitorBlocks.getBlock(n))||((A=JSON.parse(JSON.stringify(t))).id=n,this.runtime.monitorBlocks.createBlock(A)),t=A);var n=t.isMonitored,A=(t.isMonitored=e.value,!1),A=("data_variable"===t.opcode?A=!this.runtime.getTargetForStage().variables[t.fields.VARIABLE.id]:"data_listcontents"===t.opcode&&(A=!this.runtime.getTargetForStage().variables[t.fields.LIST.id]),A||this.runtime.monitorBlockInfo.hasOwnProperty(t.opcode)&&this.runtime.monitorBlockInfo[t.opcode].isSpriteSpecific);t.targetId=A?t.targetId||this.runtime.getEditingTarget().id:null,n&&!t.isMonitored?this.runtime.requestHideMonitor(t.id):n||!t.isMonitored||this.runtime.requestShowMonitor(t.id)||this.runtime.requestAddMonitor(i({id:t.id,targetId:t.targetId,spriteName:t.targetId?this.runtime.getTargetById(t.targetId).getName():null,opcode:t.opcode,params:this._getBlockParams(t),value:"",mode:"data_listcontents"===t.opcode?"list":"default"}))}this.emitProjectChanged(),this.resetCache()}}}},{key:"moveBlock",value:function(e){var t,n;this._blocks.hasOwnProperty(e.id)&&(n=this._blocks[e.id],t=!1,e.newCoordinate&&(t=n.x!==e.newCoordinate.x||n.y!==e.newCoordinate.y,n.x=e.newCoordinate.x,n.y=e.newCoordinate.y),void 0!==e.oldParent&&(n=this._blocks[e.oldParent],void 0!==e.oldInput&&n.inputs[e.oldInput].block===e.id?n.inputs[e.oldInput].block=null:n.next===e.id&&(n.next=null),t=!(this._blocks[e.id].parent=null)),void 0===e.newParent?this._addScript(e.id):(this._deleteScript(e.id),void 0===e.newInput?this._blocks[e.newParent].next=e.id:(n=null,this._blocks[e.newParent].inputs.hasOwnProperty(e.newInput)&&(n=this._blocks[e.newParent].inputs[e.newInput].shadow),this._blocks[e.id].shadow&&(n=e.id),this._blocks[e.newParent].inputs[e.newInput]={name:e.newInput,block:e.id,shadow:n}),this._blocks[e.id].parent=e.newParent,t=!0),this.resetCache(),t)&&this.emitProjectChanged()}},{key:"runAllMonitored",value:function(n){for(var A=this,e=(null===this._cache._monitored&&(this._cache._monitored=Object.keys(this._blocks).filter(function(e){return A.getBlock(e).isMonitored}).map(function(e){var t=A.getBlock(e).targetId;return{blockId:e,target:t?n.getTargetById(t):null}})),this._cache._monitored),t=0;t<e.length;t++){var o=e[t],a=o.blockId,o=o.target;n.addMonitorScript(a,o)}}},{key:"deleteBlock",value:function(e){var t=this._blocks[e];if(t){for(var n in null!==t.next&&this.deleteBlock(t.next),t.inputs)null!==t.inputs[n].block&&this.deleteBlock(t.inputs[n].block),null!==t.inputs[n].shadow&&t.inputs[n].shadow!==t.inputs[n].block&&this.deleteBlock(t.inputs[n].shadow);this._deleteScript(e),delete this._blocks[e],this.resetCache(),this.emitProjectChanged()}}},{key:"getAllVariableAndListReferences",value:function(e,t){var n,A=e||this._blocks,o=Object.create(null);for(n in A){var a,i=null,r=null;A[n].fields.VARIABLE?(i=A[n].fields.VARIABLE,r=m.SCALAR_TYPE):A[n].fields.LIST?(i=A[n].fields.LIST,r=m.LIST_TYPE):t&&A[n].fields.BROADCAST_OPTION&&(i=A[n].fields.BROADCAST_OPTION,r=m.BROADCAST_MESSAGE_TYPE),i&&(o[a=i.id]?o[a].push({referencingField:i,type:r}):o[a]=[{referencingField:i,type:r}])}return o}},{key:"updateBlocksAfterVarRename",value:function(e,t){var n,A=this._blocks;for(n in A){var o=null;A[n].fields.VARIABLE?o=A[n].fields.VARIABLE:A[n].fields.LIST&&(o=A[n].fields.LIST),o&&e===o.id&&(o.value=t)}}},{key:"updateTargetSpecificBlocks",value:function(e){var t,n=this._blocks;for(t in n)e&&"event_whenthisspriteclicked"===n[t].opcode?n[t].opcode="event_whenstageclicked":e||"event_whenstageclicked"!==n[t].opcode||(n[t].opcode="event_whenthisspriteclicked")}},{key:"updateAssetName",value:function(e,t,n){var A,o;if("costume"===n)A=this._getCostumeField.bind(this);else if("sound"===n)A=this._getSoundField.bind(this);else if("backdrop"===n)A=this._getBackdropField.bind(this);else{if("sprite"!==n)return;A=this._getSpriteField.bind(this)}for(o in this._blocks){var a=A(o);a&&a.value===e&&(a.value=t)}}},{key:"updateSensingOfReference",value:function(e,t,n){var A,o=this._blocks,a=!1;for(A in o){var i=o[A];"sensing_of"===i.opcode&&i.fields.PROPERTY.value===e&&i.inputs.OBJECT.block===i.inputs.OBJECT.shadow&&this.getBlock(i.inputs.OBJECT.block).fields.OBJECT.value===n&&(i.fields.PROPERTY.value=t,a=!0)}return a&&this.resetCache(),a}},{key:"_getCostumeField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("COSTUME")?e.fields.COSTUME:null}},{key:"_getSoundField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("SOUND_MENU")?e.fields.SOUND_MENU:null}},{key:"_getBackdropField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("BACKDROP")?e.fields.BACKDROP:null}},{key:"_getSpriteField",value:function(e){var t=this.getBlock(e);if(t)for(var n=["TOWARDS","TO","OBJECT","VIDEOONMENU2","DISTANCETOMENU","TOUCHINGOBJECTMENU","CLONE_OPTION"],A=0;A<n.length;A++){var o=n[A];if(t.fields.hasOwnProperty(o))return t.fields[o]}return null}},{key:"toXML",value:function(t){var n=this;return this._scripts.map(function(e){return n.blockToXML(e,t)}).join()}},{key:"blockToXML",value:function(e,t){var n=this._blocks[e];if(n){var A,o,a,i,r,e=n.shadow?"shadow":"block",s="<".concat(e,'\n id="').concat(n.id,'"\n type="').concat(n.opcode,'"\n ').concat(n.topLevel?'x="'.concat(n.x,'" y="').concat(n.y,'"'):"","\n >"),l=n.comment;for(A in l&&(t?t.hasOwnProperty(l)?s+=t[l].toXML():p.warn("Could not find comment with id: ".concat(l," in provided comment descriptions.")):p.warn("Cannot serialize comment with id: ".concat(l,"; no comment descriptions provided."))),n.mutation&&(s+=this.mutationToXML(n.mutation)),n.inputs)n.inputs.hasOwnProperty(A)&&((o=n.inputs[A]).block||o.shadow)&&(s+='<value name="'.concat(o.name,'">'),o.block&&(s+=this.blockToXML(o.block,t)),o.shadow&&o.shadow!==o.block&&(s+=this.blockToXML(o.shadow,t)),s+="</value>");for(a in n.fields)n.fields.hasOwnProperty(a)&&(i=n.fields[a],s+='<field name="'.concat(i.name,'"'),(r=i.id)&&(s+=' id="'.concat(r,'"')),"string"==typeof(r=i.variableType)&&(s+=' variabletype="'.concat(r,'"')),"string"==typeof(r=i.value)&&(r=u(i.value)),s+=">".concat(r,"</field>"));return n.next&&(s+="<next>".concat(this.blockToXML(n.next,t),"</next>")),s+="</".concat(e,">")}}},{key:"mutationToXML",value:function(e){var t,n,A="<".concat(e.tagName);for(t in e)"children"!==t&&"tagName"!==t&&(n="string"==typeof e[t]?u(e[t]):e[t],"blockInfo"===t&&(n=u(JSON.stringify(e[t]))),A+=" ".concat(t,'="').concat(n,'"'));A+=">";for(var o=0;o<e.children.length;o++)A+=this.mutationToXML(e.children[o]);return A+="</".concat(e.tagName,">")}},{key:"_getBlockParams",value:function(e){var t,n,A={};for(t in e.fields)A[t]=e.fields[t].value;for(n in e.inputs){var o,a=this._blocks[e.inputs[n].block];for(o in a.fields)A[o]=a.fields[o].value}return A}},{key:"_getCustomBlockInternal",value:function(e){if(e.inputs&&e.inputs.custom_block)return this._blocks[e.inputs.custom_block.block]}},{key:"_addScript",value:function(e){-1<this._scripts.indexOf(e)||(this._scripts.push(e),this._blocks[e].topLevel=!0)}},{key:"_deleteScript",value:function(e){var t=this._scripts.indexOf(e);-1<t&&this._scripts.splice(t,1),this._blocks[e]&&(this._blocks[e].topLevel=!1)}}])&&o(e.prototype,t),n&&o(e,n),A}(),f=(A.getCached=function(e,t,n){var A=e._cache._executeCached[t];if(void 0===A){var o=e.getBlock(t);if(void 0===o)return null;A=void 0===n?{id:t,opcode:e.getOpcode(o),fields:e.getFields(o),inputs:e.getInputs(o),mutation:e.getMutation(o)}:new n(e,{id:t,opcode:e.getOpcode(o),fields:e.getFields(o),inputs:e.getInputs(o),mutation:e.getMutation(o)}),e._cache._executeCached[t]=A}return A},h._RuntimeScriptCache);h.getScripts=function(e,t){if(!(n=e._cache.scripts[t]))for(var n=e._cache.scripts[t]=[],A=e._scripts,o=0;o<A.length;o++){var a=A[o];e.getBlock(a).opcode===t&&n.push(new f(e,a))}return n},e.exports=n},function(t,e,n){!function(o){function a(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var e=function(){function A(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:A.nowObj,t=this,n=A;if(!(t instanceof n))throw new TypeError("Cannot call a class as a function");this.startTime=0,this.nowObj=e}var e,t,n;return e=A,n=[{key:"USE_PERFORMANCE",get:function(){return!1}},{key:"legacyDateCode",get:function(){return{now:function(){return(new Date).getTime()}}}},{key:"nowObj",get:function(){return A.USE_PERFORMANCE&&"undefined"!=typeof self&&self.performance&&"now"in self.performance?self.performance:Date.now?Date:A.legacyDateCode}}],(t=[{key:"time",value:function(){return this.nowObj.now()}},{key:"relativeTime",value:function(){return this.nowObj.now()}},{key:"start",value:function(){this.startTime=this.nowObj.now()}},{key:"timeElapsed",value:function(){return this.nowObj.now()-this.startTime}},{key:"setTimeout",value:function(e,t){return o.setTimeout(e,t)}},{key:"clearTimeout",value:function(e){o.clearTimeout(e)}}])&&a(e.prototype,t),n&&a(e,n),A}();t.exports=e}.call(this,n(28))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(t=t.OpCode||(t.OpCode={})).motion_movesteps="motion_movesteps",t.motion_turnright="motion_turnright",t.motion_turnleft="motion_turnleft",t.motion_goto="motion_goto",t.motion_gotoxy="motion_gotoxy",t.motion_glideto="motion_glideto",t.motion_glidesecstoxy="motion_glidesecstoxy",t.motion_pointindirection="motion_pointindirection",t.motion_pointtowards="motion_pointtowards",t.motion_changexby="motion_changexby",t.motion_setx="motion_setx",t.motion_changeyby="motion_changeyby",t.motion_sety="motion_sety",t.motion_ifonedgebounce="motion_ifonedgebounce",t.motion_setrotationstyle="motion_setrotationstyle",t.motion_xposition="motion_xposition",t.motion_yposition="motion_yposition",t.motion_direction="motion_direction",t.looks_sayforsecs="looks_sayforsecs",t.looks_say="looks_say",t.looks_thinkforsecs="looks_thinkforsecs",t.looks_think="looks_think",t.looks_switchcostumeto="looks_switchcostumeto",t.looks_nextcostume="looks_nextcostume",t.looks_switchbackdropto="looks_switchbackdropto",t.looks_nextbackdrop="looks_nextbackdrop",t.looks_changesizeby="looks_changesizeby",t.looks_setsizeto="looks_setsizeto",t.looks_changeeffectby="looks_changeeffectby",t.looks_seteffectto="looks_seteffectto",t.looks_cleargraphiceffects="looks_cleargraphiceffects",t.looks_show="looks_show",t.looks_hide="looks_hide",t.looks_gotofrontback="looks_gotofrontback",t.looks_goforwardbackwardlayers="looks_goforwardbackwardlayers",t.looks_costumenumbername="looks_costumenumbername",t.looks_backdropnumbername="looks_backdropnumbername",t.looks_size="looks_size",t.sound_playuntildone="sound_playuntildone",t.sound_play="sound_play",t.sound_stopallsounds="sound_stopallsounds",t.sound_changeeffectby="sound_changeeffectby",t.sound_seteffectto="sound_seteffectto",t.sound_cleareffects="sound_cleareffects",t.sound_changevolumeby="sound_changevolumeby",t.sound_setvolumeto="sound_setvolumeto",t.sound_volume="sound_volume",t.event_whenflagclicked="event_whenflagclicked",t.event_whenkeypressed="event_whenkeypressed",t.event_whenthisspriteclicked="event_whenthisspriteclicked",t.event_whenstageclicked="event_whenstageclicked",t.event_whenbackdropswitchesto="event_whenbackdropswitchesto",t.event_whengreaterthan="event_whengreaterthan",t.event_whenbroadcastreceived="event_whenbroadcastreceived",t.event_broadcast="event_broadcast",t.event_broadcastandwait="event_broadcastandwait",t.control_wait="control_wait",t.control_repeat="control_repeat",t.control_forever="control_forever",t.control_if="control_if",t.control_if_else="control_if_else",t.control_wait_until="control_wait_until",t.control_repeat_until="control_repeat_until",t.control_stop="control_stop",t.control_start_as_clone="control_start_as_clone",t.control_create_clone_of="control_create_clone_of",t.control_delete_this_clone="control_delete_this_clone",t.sensing_touchingobject="sensing_touchingobject",t.sensing_touchingcolor="sensing_touchingcolor",t.sensing_coloristouchingcolor="sensing_coloristouchingcolor",t.sensing_distanceto="sensing_distanceto",t.sensing_askandwait="sensing_askandwait",t.sensing_answer="sensing_answer",t.sensing_keypressed="sensing_keypressed",t.sensing_mousedown="sensing_mousedown",t.sensing_mousex="sensing_mousex",t.sensing_mousey="sensing_mousey",t.sensing_setdragmode="sensing_setdragmode",t.sensing_loudness="sensing_loudness",t.sensing_timer="sensing_timer",t.sensing_resettimer="sensing_resettimer",t.sensing_of="sensing_of",t.sensing_current="sensing_current",t.sensing_dayssince2000="sensing_dayssince2000",t.sensing_username="sensing_username",t.operator_add="operator_add",t.operator_subtract="operator_subtract",t.operator_multiply="operator_multiply",t.operator_divide="operator_divide",t.operator_random="operator_random",t.operator_gt="operator_gt",t.operator_lt="operator_lt",t.operator_equals="operator_equals",t.operator_and="operator_and",t.operator_or="operator_or",t.operator_not="operator_not",t.operator_join="operator_join",t.operator_letter_of="operator_letter_of",t.operator_length="operator_length",t.operator_contains="operator_contains",t.operator_mod="operator_mod",t.operator_round="operator_round",t.operator_mathop="operator_mathop",t.data_variable="data_variable",t.data_setvariableto="data_setvariableto",t.data_changevariableby="data_changevariableby",t.data_showvariable="data_showvariable",t.data_hidevariable="data_hidevariable",t.data_listcontents="data_listcontents",t.data_addtolist="data_addtolist",t.data_deleteoflist="data_deleteoflist",t.data_deletealloflist="data_deletealloflist",t.data_insertatlist="data_insertatlist",t.data_replaceitemoflist="data_replaceitemoflist",t.data_itemoflist="data_itemoflist",t.data_itemnumoflist="data_itemnumoflist",t.data_lengthoflist="data_lengthoflist",t.data_listcontainsitem="data_listcontainsitem",t.data_showlist="data_showlist",t.data_hidelist="data_hidelist",t.procedures_definition="procedures_definition",t.procedures_prototype="procedures_prototype",t.argument_reporter_boolean="argument_reporter_boolean",t.argument_reporter_string_number="argument_reporter_string_number",t.procedures_call="procedures_call",t.music_playDrumForBeats="music_playDrumForBeats",t.music_restForBeats="music_restForBeats",t.music_playNoteForBeats="music_playNoteForBeats",t.music_setInstrument="music_setInstrument",t.music_setTempo="music_setTempo",t.music_changeTempo="music_changeTempo",t.music_getTempo="music_getTempo",t.pen_clear="pen_clear",t.pen_stamp="pen_stamp",t.pen_penDown="pen_penDown",t.pen_penUp="pen_penUp",t.pen_setPenColorToColor="pen_setPenColorToColor",t.pen_changePenColorParamBy="pen_changePenColorParamBy",t.pen_setPenColorParamTo="pen_setPenColorParamTo",t.pen_changePenSizeBy="pen_changePenSizeBy",t.pen_setPenSizeTo="pen_setPenSizeTo",t.videoSensing_whenMotionGreaterThan="videoSensing_whenMotionGreaterThan",t.videoSensing_videoOn="videoSensing_videoOn",t.videoSensing_videoToggle="videoSensing_videoToggle",t.videoSensing_setVideoTransparency="videoSensing_setVideoTransparency",t.wedo2_motorOnFor="wedo2_motorOnFor",t.wedo2_motorOn="wedo2_motorOn",t.wedo2_motorOff="wedo2_motorOff",t.wedo2_startMotorPower="wedo2_startMotorPower",t.wedo2_setMotorDirection="wedo2_setMotorDirection",t.wedo2_setLightHue="wedo2_setLightHue",t.wedo2_whenDistance="wedo2_whenDistance",t.wedo2_whenTilted="wedo2_whenTilted",t.wedo2_getDistance="wedo2_getDistance",t.wedo2_isTilted="wedo2_isTilted",t.wedo2_getTiltAngle="wedo2_getTiltAngle",t.motion_scroll_right="motion_scroll_right",t.motion_scroll_up="motion_scroll_up",t.motion_align_scene="motion_align_scene",t.motion_xscroll="motion_xscroll",t.motion_yscroll="motion_yscroll",t.looks_hideallsprites="looks_hideallsprites",t.looks_switchbackdroptoandwait="looks_switchbackdroptoandwait",t.looks_changestretchby="looks_changestretchby",t.looks_setstretchto="looks_setstretchto",t.control_while="control_while",t.control_for_each="control_for_each",t.control_get_counter="control_get_counter",t.control_incr_counter="control_incr_counter",t.control_clear_counter="control_clear_counter",t.control_all_at_once="control_all_at_once",t.sensing_userid="sensing_userid",t.sensing_loud="sensing_loud",t.music_midiPlayDrumForBeats="music_midiPlayDrumForBeats",t.music_midiSetInstrument="music_midiSetInstrument",t.pen_setPenShadeToNumber="pen_setPenShadeToNumber",t.pen_changePenShadeBy="pen_changePenShadeBy",t.pen_setPenHueToNumber="pen_setPenHueToNumber",t.pen_changePenHueBy="pen_changePenHueBy",t.wedo2_playNoteFor="wedo2_playNoteFor",t.motion_pointtowards_menu="motion_pointtowards_menu",t.motion_glideto_menu="motion_glideto_menu",t.motion_goto_menu="motion_goto_menu",t.looks_costume="looks_costume",t.looks_backdrops="looks_backdrops",t.sound_sounds_menu="sound_sounds_menu",t.event_broadcast_menu="broadcast_menu",t.control_create_clone_of_menu="control_create_clone_of_menu",t.sensing_touchingobjectmenu="sensing_touchingobjectmenu",t.sensing_distancetomenu="sensing_distancetomenu",t.sensing_keyoptions="sensing_keyoptions",t.sensing_of_object_menu="sensing_of_object_menu",t.pen_menu_colorParam="pen_menu_colorParam",t.music_menu_DRUM="music_menu_DRUM",t.music_menu_INSTRUMENT="music_menu_INSTRUMENT",t.note="note",t.videoSensing_menu_ATTRIBUTE="videoSensing_menu_ATTRIBUTE",t.videoSensing_menu_SUBJECT="videoSensing_menu_SUBJECT",t.videoSensing_menu_VIDEO_STATE="videoSensing_menu_VIDEO_STATE",t.wedo2_menu_MOTOR_ID="wedo2_menu_MOTOR_ID",t.wedo2_menu_MOTOR_DIRECTION="wedo2_menu_MOTOR_DIRECTION",t.wedo2_menu_TILT_DIRECTION="wedo2_menu_TILT_DIRECTION",t.wedo2_menu_TILT_DIRECTION_ANY="wedo2_menu_TILT_DIRECTION_ANY",t.wedo2_menu_OP="wedo2_menu_OP",t.mv2_circle="mv2_circle",t.mv2_eyes="mv2_eyes",t.mv2_kick="mv2_kick",t.mv2_lean="mv2_lean",t.mv2_liftFoot="mv2_liftFoot",t.mv2_lowerFoot="mv2_lowerFoot",t.mv2_moveJoint="mv2_moveJoint",t.mv2_slide="mv2_slide",t.mv2_slideMsLength="mv2_slideMsLength",t.mv2_turn="mv2_turn",t.mv2_wave="mv2_wave",t.mv2_gripperArmBasic="mv2_gripperArmBasic",t.mv2_gripperArmTimed="mv2_gripperArmTimed",t.mv2_getReady="mv2_getReady",t.mv2_dance="mv2_dance",t.mv2_hold="mv2_hold",t.mv2_standStraight="mv2_standStraight",t.mv2_walk_fw="mv2_walk_fw",t.mv2_walk_bw="mv2_walk_bw",t.mv2_walk="mv2_walk",t.mv2_wiggle="mv2_wiggle",t.mv2_discoChangeBlockPattern="mv2_discoChangeBlockPattern",t.mv2_LEDEyesColour="mv2_LEDEyesColour",t.mv2_LEDEyesColour_SpecificLED="mv2_LEDEyesColour_SpecificLED",t.colour_picker_LED_eyes="colour_picker_LED_eyes",t.mv2_LEDEyesColourLEDs="mv2_LEDEyesColourLEDs",t.mv2_discoChangeRegionColour="mv2_discoChangeRegionColour",t.mv2_RGBOperator="mv2_RGBOperator",t.mv2_HSLOperator="mv2_HSLOperator",t.mv2_discoChangeBackColour="mv2_discoChangeBackColour",t.mv2_discoSetBreatheBackColour="mv2_discoSetBreatheBackColour",t.mv2_discoTurnOffBackColour="mv2_discoTurnOffBackColour",t.mv2_playNote="mv2_playNote",t.mv2_changePitchEffect="mv2_changePitchEffect",t.mv2_setPitchEffect="mv2_setPitchEffect",t.mv2_playSoundUntilDone="mv2_playSoundUntilDone",t.mv2_playTone="mv2_playTone",t.mv2_stopSounds="mv2_stopSounds",t.mv2_playSound="mv2_playSound",t.mv2_clearSoundEffects="mv2_clearSoundEffects",t.mv2_changeVolume="mv2_changeVolume",t.mv2_setVolume="mv2_setVolume",t.ServoCurrent="ServoCurrent",t.ServoPosition="ServoPosition",t.mv2_obstaclesense="mv2_obstaclesense",t.mv2_groundsense="mv2_groundsense",t.mv2_coloursense="mv2_coloursense",t.mv2_coloursense_hex="mv2_coloursense_hex",t.mv2_coloursenseraw="mv2_coloursenseraw",t.mv2_lightsense="mv2_lightsense",t.mv2_noisesense="mv2_noisesense",t.XAxisMovement="XAxisMovement",t.YAxisMovement="YAxisMovement",t.ZAxisMovement="ZAxisMovement",t.BatteryPercentage="BatteryPercentage",t.mv2_distancesense="mv2_distancesense",t.text2speech_marty_speakAndWait="text2speech_marty_speakAndWait"},function(e,t,n){"use strict";var A=n(263),o=Object.keys||function(e){var t,n=[];for(t in e)n.push(t);return n},e=(e.exports=u,n(212)),a=(e.inherits=n(181),n(479)),i=n(347);e.inherits(u,a);for(var r=o(i.prototype),s=0;s<r.length;s++){var l=r[s];u.prototype[l]||(u.prototype[l]=i.prototype[l])}function u(e){if(!(this instanceof u))return new u(e);a.call(this,e),i.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",c)}function c(){this.allowHalfOpen||this._writableState.ended||A.nextTick(g,this)}function g(e){e.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),u.prototype._destroy=function(e,t){this.push(null),this.end(),A.nextTick(t,e)}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var A=n(137),o=n(273);e.exports=n(139)?function(e,t,n){return A.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var A=n(559),o=n(370);e.exports=function(e){return A(o(e))}},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o}),n.d(t,"c",function(){return i});var A="scratch-gui/connection-modal/setId",o={extensionId:null},a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:Object.assign({},e,{extensionId:t.extensionId})},i=function(e){return{type:A,extensionId:e}}},function(e,t,n){"use strict";function A(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",function(){return s}),n.d(t,"c",function(){return r}),n.d(t,"d",function(){return l}),n.d(t,"b",function(){return u});var a="scratch-gui/targets/UPDATE_TARGET_LIST",i="scratch-gui/targets/HIGHLIGHT_TARGET",r={sprites:{},stage:{},highlightedTargetId:null,highlightedTargetTime:null},s=function(e,t){switch(void 0===e&&(e=r),t.type){case a:return Object.assign({},e,{sprites:t.targets.filter(function(e){return!e.isStage}).reduce(function(e,t,n){return Object.assign(e,o({},t.id,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){o(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({order:n},t)))},{}),stage:t.targets.filter(function(e){return e.isStage})[0]||{},editingTarget:t.editingTarget});case i:return Object.assign({},e,{highlightedTargetId:t.targetId,highlightedTargetTime:t.updateTime});default:return e}},l=function(e,t){return{type:a,targets:e,editingTarget:t}},u=function(e){return{type:i,targetId:e,updateTime:Date.now()}}},function(e,t,n){function A(e){var t;return(i[e]||(t=i[e]={i:e,l:!1,exports:{}},a[e].call(t.exports,t,t.exports,A),t.l=!0,t)).exports}var o,a,i;e.exports=(o=n(1),a=[function(e,t,n){var A="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(6)(function(e){return"object"==typeof e&&null!==e&&e.$$typeof===A},!0)},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var A=/[A-Z]/g,o=/^ms-/,a={};e.exports=function(e){return e in a?a[e]:a[e]=e.replace(A,"-$&").toLowerCase().replace(o,"-ms-")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},n=n(0),n=n&&n.__esModule?n:{default:n},o=n.default.oneOfType([n.default.string,n.default.number]),a={orientation:n.default.oneOf(["portrait","landscape"]),scan:n.default.oneOf(["progressive","interlace"]),aspectRatio:n.default.string,deviceAspectRatio:n.default.string,height:o,deviceHeight:o,width:o,deviceWidth:o,color:n.default.bool,colorIndex:n.default.bool,monochrome:n.default.bool,resolution:o},o=A({minAspectRatio:n.default.string,maxAspectRatio:n.default.string,minDeviceAspectRatio:n.default.string,maxDeviceAspectRatio:n.default.string,minHeight:o,maxHeight:o,minDeviceHeight:o,maxDeviceHeight:o,minWidth:o,maxWidth:o,minDeviceWidth:o,maxDeviceWidth:o,minColor:n.default.number,maxColor:n.default.number,minColorIndex:n.default.number,maxColorIndex:n.default.number,minMonochrome:n.default.number,maxMonochrome:n.default.number,minResolution:o,maxResolution:o},a),n={all:n.default.bool,grid:n.default.bool,aural:n.default.bool,braille:n.default.bool,handheld:n.default.bool,print:n.default.bool,projection:n.default.bool,screen:n.default.bool,tty:n.default.bool,tv:n.default.bool,embossed:n.default.bool},A=A({},n,o);a.type=Object.keys(n),t.default={all:A,types:n,matchers:a,features:o},e.exports=t.default},function(e,t,n){"use strict";function A(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function o(e,t){var n=i({},e);return t.forEach(function(e){return delete n[e]}),n}Object.defineProperty(t,"__esModule",{value:!0}),t.toQuery=t.default=void 0;var a=function(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},s=A(n(5)),l=A(n(0)),u=A(n(9)),c=A(n(2)),g=A(n(3)),d=A(n(11)),n={component:l.default.node,query:l.default.string,values:l.default.shape(g.default.matchers),children:l.default.oneOfType([l.default.node,l.default.func]),onChange:l.default.func,onBeforeChange:l.default.func},l=Object.keys(g.default.all),h=Object.keys(n),p=h.concat(l),g=function(e){function i(){var e,t=this,n=i;if(!(t instanceof n))throw new TypeError("Cannot call a class as a function");for(var A=arguments.length,o=Array(A),a=0;a<A;a++)o[a]=arguments[a];return n=e=r(this,(t=i.__proto__||Object.getPrototypeOf(i)).call.apply(t,[this].concat(o))),e.state={matches:!1},e.updateMatches=function(){e._mql.matches!==e.state.matches&&e.setState({matches:e._mql.matches})},e.removeMql=function(){e._mql&&(e._mql.removeListener(e.updateMatches),e._mql.dispose())},r(e,n)}var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),a(i,[{key:"componentWillMount",value:function(){this.updateQuery(this.props)}},{key:"componentWillReceiveProps",value:function(e){this.updateQuery(e)}},{key:"updateQuery",value:function(n){var e=void 0,t=!1;if(n.query?this.query=n.query:this.query=(0,d.default)(o(n,h)),!this.query)throw new Error("Invalid or missing MediaQuery!");n.values&&(e=Object.keys(n.values).reduce(function(e,t){return e[(0,c.default)(t)]=n.values[t],e},{}),0!==Object.keys(e).length)&&(t=!0),this.removeMql(),this._mql=(0,u.default)(this.query,e,t),this._mql.addListener(this.updateMatches),this.updateMatches()}},{key:"componentWillUpdate",value:function(e,t){this.props.onBeforeChange&&this.state.matches!==t.matches&&this.props.onBeforeChange(this.state.matches)}},{key:"componentDidUpdate",value:function(e,t){this.props.onChange&&t.matches!==this.state.matches&&this.props.onChange(this.state.matches)}},{key:"componentWillUnmount",value:function(){this.removeMql()}},{key:"render",value:function(){var e,t,n;return"function"==typeof this.props.children?this.props.children(this.state.matches):!1===this.state.matches?null:(e=o(this.props,p),t=0<Object.keys(e).length,n=s.default.Children.count(this.props.children),this.props.component||null==this.props.children||t&&1<n?s.default.createElement(this.props.component||"div",e,this.props.children):t?s.default.cloneElement(this.props.children,e):n?this.props.children:null)}}]),i}(s.default.Component);function m(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}g.displayName="MediaQuery",g.defaultProps={values:{}},t.default=g,t.toQuery=d.default},function(e,t){e.exports=o},function(e,t,n){"use strict";function A(){return null}var h=n(7),p=n(1),o=n(8),m=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}};e.exports=function(a,u){function c(e){this.message=e,this.stack=""}function n(r){function e(e,t,n,A,o,a,i){if(A=A||d,a=a||n,i!==p){if(u)throw(i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types")).name="Invariant Violation",i;"undefined"!=typeof console&&!s[i=A+":"+n]&&l<3&&(m("You are manually calling a React.PropTypes validation function for the `"+a+"` prop on `"+A+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),s[i]=!0,l++)}return null==t[n]?e?new c(null===t[n]?"The "+o+" `"+a+"` is marked as required in `"+A+"`, but its value is `null`.":"The "+o+" `"+a+"` is marked as required in `"+A+"`, but its value is `undefined`."):null:r(t,n,A,o,a)}var s={},l=0,t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function e(i){return n(function(e,t,n,A,o,a){return g(e=e[t])!==i?new c("Invalid "+A+" `"+o+"` of type `"+r(e)+"` supplied to `"+n+"`, expected `"+i+"`."):null})}function i(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(i);if(null!==e&&!a(e)){var t=function(e){if("function"==typeof(e=e&&(s&&e[s]||e[l])))return e}(e);if(!t)return!1;var n,A=t.call(e);if(t!==e.entries){for(;!(n=A.next()).done;)if(!i(n.value))return!1}else for(;!(n=A.next()).done;){var o=n.value;if(o&&!i(o[1]))return!1}}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":(e=e,"symbol"===t||"Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol?"symbol":t)}function r(e){if(null==e)return""+e;var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}var s="function"==typeof Symbol&&Symbol.iterator,l="@@iterator",d="<<anonymous>>",t={array:e("array"),bool:e("boolean"),func:e("function"),number:e("number"),object:e("object"),string:e("string"),symbol:e("symbol"),any:n(A),arrayOf:function(s){return n(function(e,t,n,A,o){if("function"!=typeof s)return new c("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside arrayOf.");var a=e[t];if(!Array.isArray(a))return new c("Invalid "+A+" `"+o+"` of type `"+g(a)+"` supplied to `"+n+"`, expected an array.");for(var i=0;i<a.length;i++){var r=s(a,i,n,A,o+"["+i+"]",p);if(r instanceof Error)return r}return null})},element:n(function(e,t,n,A,o){return e=e[t],a(e)?null:new c("Invalid "+A+" `"+o+"` of type `"+g(e)+"` supplied to `"+n+"`, expected a single ReactElement.")}),instanceOf:function(i){return n(function(e,t,n,A,o){var a;return e[t]instanceof i?null:(a=i.name||d,new c("Invalid "+A+" `"+o+"` of type `"+((A=e[t]).constructor&&A.constructor.name?A.constructor.name:d)+"` supplied to `"+n+"`, expected instance of `"+a+"`."))})},node:n(function(e,t,n,A,o){return i(e[t])?null:new c("Invalid "+A+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(s){return n(function(e,t,n,A,o){if("function"!=typeof s)return new c("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside objectOf.");var a,i=e[t];if("object"!==(e=g(i)))return new c("Invalid "+A+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected an object.");for(a in i)if(i.hasOwnProperty(a)){var r=s(i,a,n,A,o+"."+a,p);if(r instanceof Error)return r}return null})},oneOf:function(l){return Array.isArray(l)?n(function(e,t,n,A,o){for(var a,i,r=e[t],s=0;s<l.length;s++)if(a=r,i=l[s],a===i?0!==a||1/a==1/i:a!=a&&i!=i)return null;return new c("Invalid "+A+" `"+o+"` of value `"+r+"` supplied to `"+n+"`, expected one of "+JSON.stringify(l)+".")}):(m("Invalid argument supplied to oneOf, expected an instance of array."),A)},oneOfType:function(i){if(!Array.isArray(i))return m("Invalid argument supplied to oneOfType, expected an instance of array."),A;for(var e=0;e<i.length;e++){var t=i[e];if("function"!=typeof t)return m("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+function(e){var t=r(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}(t)+" at index "+e+"."),A}return n(function(e,t,n,A,o){for(var a=0;a<i.length;a++)if(null==(0,i[a])(e,t,n,A,o,p))return null;return new c("Invalid "+A+" `"+o+"` supplied to `"+n+"`.")})},shape:function(s){return n(function(e,t,n,A,o){var a,i=e[t];if("object"!==(e=g(i)))return new c("Invalid "+A+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected `object`.");for(a in s){var r=s[a];if(r){r=r(i,a,n,A,o+"."+a,p);if(r)return r}}return null})},exact:function(l){return n(function(e,t,n,A,o){var a,i=e[t],r=g(i);if("object"!==r)return new c("Invalid "+A+" `"+o+"` of type `"+r+"` supplied to `"+n+"`, expected `object`.");for(a in h({},e[t],l)){var s=l[a];if(!s)return new c("Invalid "+A+" `"+o+"` key `"+a+"` supplied to `"+n+"`.\nBad object: "+JSON.stringify(e[t],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(l),null," "));s=s(i,a,n,A,o+"."+a,p);if(s)return s}return null})}};return c.prototype=Error.prototype,t.checkPropTypes=o,t.PropTypes=t}},function(e,t,n){"use strict";
31
+ var A;A=function(){return n=[function(e,t,n){"use strict";t.__esModule=!0,t.copyExistingProperties=function(t,n){Object.keys(n).forEach(function(e){n.hasOwnProperty(e)&&t.hasOwnProperty(e)&&(n[e]=t[e])})},t.copyNamedProperties=function(e,n,A){e.forEach(function(e){var t=n[e];void 0!==t&&(A[e]=t)})},t.isBuffer=function(e,t){A=A||e.createBuffer();return t instanceof A.constructor},t.isRenderbuffer=function(e,t){o=o||e.createRenderbuffer();return t instanceof o.constructor},t.isShader=function(e,t){a=a||e.createShader(e.VERTEX_SHADER);return t instanceof a.constructor},t.isTexture=function(e,t){i=i||e.createTexture();return t instanceof i.constructor},t.isSampler=function(e,t){if(!r){if(!e.createSampler)return!1;r=e.createSampler()}return t instanceof r.constructor},t.warn=t.error=void 0;n=(n=n(2))&&n.__esModule?n:{default:n};var A,o,a,i,r,s=n.default.console&&n.default.console.error&&"function"==typeof n.default.console.error?n.default.console.error.bind(n.default.console):function(){},s=(t.error=s,n.default.console&&n.default.console.warn&&"function"==typeof n.default.console.warn?n.default.console.warn.bind(n.default.console):function(){});t.warn=s},function(e,t,n){"use strict";t.__esModule=!0,t.getGLTypeForTypedArray=function(e){if(e instanceof Int8Array)return o;if(e instanceof Uint8Array)return a;if(e instanceof Uint8ClampedArray)return a;if(e instanceof Int16Array)return i;if(e instanceof Uint16Array)return r;if(e instanceof Int32Array)return s;if(e instanceof Uint32Array)return l;if(e instanceof Float32Array)return u;throw"unsupported typed array type"},t.getGLTypeForTypedArrayType=function(e){if(e===Int8Array)return o;if(e===Uint8Array)return a;if(e===Uint8ClampedArray)return a;if(e===Int16Array)return i;if(e===Uint16Array)return r;if(e===Int32Array)return s;if(e===Uint32Array)return l;if(e!==Float32Array)throw"unsupported typed array type";return u},t.getTypedArrayTypeForGLType=function(e){e=c[e];if(e)return e;throw"unknown gl type"},t.isArrayBuffer=void 0;var A=(n=n(2))&&n.__esModule?n:{default:n};var o=5120,a=5121,i=5122,r=5123,s=5124,l=5125,u=5126,c={},n=c;n[o]=Int8Array,n[a]=Uint8Array,n[i]=Int16Array,n[r]=Uint16Array,n[s]=Int32Array,n[l]=Uint32Array,n[u]=Float32Array,n[32819]=Uint16Array,n[32820]=Uint16Array,n[33635]=Uint16Array,n[5131]=Uint16Array,n[33640]=Uint32Array,n[35899]=Uint32Array,n[35902]=Uint32Array,n[36269]=Uint32Array,n[34042]=Uint32Array;n=A.default.SharedArrayBuffer?function(e){return e&&e.buffer&&(e.buffer instanceof ArrayBuffer||e.buffer instanceof A.default.SharedArrayBuffer)}:function(e){return e&&e.buffer&&e.buffer instanceof ArrayBuffer};t.isArrayBuffer=n},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var A="undefined"!=typeof self?self:"undefined"!=typeof window?window:{};t.default=A},function(e,t,n){"use strict";t.__esModule=!0,t.add=function(e,t,n){return(n=n||new a(3))[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n},t.copy=function(e,t){return(t=t||new a(3))[0]=e[0],t[1]=e[1],t[2]=e[2],t},t.create=function(e,t,n){var A=new a(3);e&&(A[0]=e);t&&(A[1]=t);n&&(A[2]=n);return A},t.cross=function(e,t,n){n=n||new a(3);var A=e[2]*t[0]-e[0]*t[2],o=e[0]*t[1]-e[1]*t[0];return n[0]=e[1]*t[2]-e[2]*t[1],n[1]=A,n[2]=o,n},t.distance=function(e,t){var n=e[0]-t[0],A=e[1]-t[1],e=e[2]-t[2];return Math.sqrt(n*n+A*A+e*e)},t.distanceSq=function(e,t){var n=e[0]-t[0],A=e[1]-t[1],e=e[2]-t[2];return n*n+A*A+e*e},t.divide=function(e,t,n){return(n=n||new a(3))[0]=e[0]/t[0],n[1]=e[1]/t[1],n[2]=e[2]/t[2],n},t.divScalar=function(e,t,n){return(n=n||new a(3))[0]=e[0]/t,n[1]=e[1]/t,n[2]=e[2]/t,n},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},t.lerp=function(e,t,n,A){return(A=A||new a(3))[0]=(1-n)*e[0]+n*t[0],A[1]=(1-n)*e[1]+n*t[1],A[2]=(1-n)*e[2]+n*t[2],A},t.length=function(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])},t.lengthSq=function(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]},t.mulScalar=function(e,t,n){return(n=n||new a(3))[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n},t.multiply=function(e,t,n){return(n=n||new a(3))[0]=e[0]*t[0],n[1]=e[1]*t[1],n[2]=e[2]*t[2],n},t.negate=function(e,t){return(t=t||new a(3))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},t.normalize=function(e,t){t=t||new a(3);var n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=Math.sqrt(n);1e-5<n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=0,t[1]=0,t[2]=0);return t},t.setDefaultType=function(e){var t=a;return a=e,t},t.subtract=function(e,t,n){return(n=n||new a(3))[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n};var a=Float32Array},function(e,t,n){"use strict";t.__esModule=!0,t.isWebGL1=function(e){return!e.texStorage2D},t.isWebGL2=function(e){return!!e.texStorage2D},t.glEnumToString=void 0;function A(e,t){var n,A=e,e=A.constructor.name;if(!a[e]){for(var o in A)"number"==typeof A[o]&&(n=i[A[o]],i[A[o]]=n?"".concat(n," | ").concat(o):o);a[e]=!0}return i[t]||"0x"+t.toString(16)}var a,i;a={},i={};t.glEnumToString=A},function(Y,e,t){"use strict";e.__esModule=!0,e.createAttributeSetters=U,e.createProgram=T,e.createProgramFromScripts=function(e,t,n,A,o){for(var a=y(n,A,o),i=[],r=0;r<t.length;++r){var s=function(e,t,n,A){var o="",a=p(t);if(!a)throw"*** Error: unknown script element"+t;o=a.text;t=n||M(a.type);if(t)return I(e,o,t,A);throw"*** Error: unknown shader type"}(e,t[r],e[b[r]],a.errorCallback);if(!s)return null;i.push(s)}return T(e,i,a)},e.createProgramFromSources=S,e.createProgramInfo=function(e,t,n,A,o){var a=y(n,A,o),i=!0;return t=t.map(function(e){var t;return e.indexOf("\n")<0&&((t=p(e))?e=t.text:(a.errorCallback("no element with id: "+e),i=!1)),e}),i&&(n=S(e,t,a))?L(e,n):null},e.createProgramInfoFromProgram=L,e.createUniformSetters=D,e.createUniformBlockSpecFromProgram=O,e.createUniformBlockInfoFromProgram=R,e.createUniformBlockInfo=function(e,t,n){return R(e,t.program,t.uniformBlockSpec,n)},e.createTransformFeedback=function(e,t,n){var A=e.createTransformFeedback();return e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,A),e.useProgram(t.program),N(e,t,n),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null),function(e,t,n){t.transformFeedbackInfo&&(t=t.transformFeedbackInfo);n.attribs&&(n=n.attribs);for(var A in n){A=t[A];A&&e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,A.index,null)}}(e,t,n),A},e.createTransformFeedbackInfo=v,e.bindTransformFeedbackInfo=N,e.setAttributes=G,e.setBuffersAndAttributes=function(e,t,n){n.vertexArrayObject?e.bindVertexArray(n.vertexArrayObject):(G(t.attribSetters||t,n.attribs),n.indices&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n.indices))},e.setUniforms=function e(t,n){var A=t.uniformSetters||t;var o=arguments.length;for(var a=1;a<o;++a){var i=arguments[a];if(Array.isArray(i))for(var r=i.length,s=0;s<r;++s)e(A,i[s]);else for(var l in i){var u=A[l];u&&u(i[l])}}},e.setUniformBlock=function(e,t,n){_(e,t,n)&&e.bufferData(e.UNIFORM_BUFFER,n.array,e.DYNAMIC_DRAW)},e.setBlockUniforms=function(e,t){var n,A=e.uniforms;for(n in t){var o,a=A[n];a&&((o=t[n]).length?a.set(o):a[0]=o)}},e.bindUniformBlock=_;var s=n(t(4)),h=n(t(0)),t=(e=t(2))&&e.__esModule?e:{default:e};function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var r=h.error,x=h.warn,p=t.default&&t.default.document&&t.default.document.getElementById?t.default.document.getElementById.bind(t.default.document):function(){return null},d={};function l(e,t){return d[t].bindPoint}function A(t,n){return function(e){t.uniform1i(n,e)}}function o(t,n){return function(e){t.uniform1iv(n,e)}}function a(t,n){return function(e){t.uniform2iv(n,e)}}function i(t,n){return function(e){t.uniform3iv(n,e)}}function u(t,n){return function(e){t.uniform4iv(n,e)}}function c(n,e,A,o){var a=l(0,e);return s.isWebGL2(n)?function(e){var t,e=h.isTexture(n,e)?(t=e,null):(t=e.texture,e.sampler);n.uniform1i(o,A),n.activeTexture(n.TEXTURE0+A),n.bindTexture(a,t),n.bindSampler(A,e)}:function(e){n.uniform1i(o,A),n.activeTexture(n.TEXTURE0+A),n.bindTexture(a,e)}}function g(A,e,o,t,n){for(var a=l(0,e),i=new Int32Array(n),r=0;r<n;++r)i[r]=o+r;return s.isWebGL2(A)?function(e){A.uniform1iv(t,i),e.forEach(function(e,t){var n;A.activeTexture(A.TEXTURE0+i[t]),t=h.isTexture(A,e)?(n=e,null):(n=e.texture,e.sampler),A.bindSampler(o,t),A.bindTexture(a,n)})}:function(e){A.uniform1iv(t,i),e.forEach(function(e,t){A.activeTexture(A.TEXTURE0+i[t]),A.bindTexture(a,e)})}}function m(t,n){return function(e){t.bindBuffer(t.ARRAY_BUFFER,e.buffer),t.enableVertexAttribArray(n),t.vertexAttribPointer(n,e.numComponents||e.size,e.type||t.FLOAT,e.normalize||!1,e.stride||0,e.offset||0),void 0!==e.divisor&&t.vertexAttribDivisor(n,e.divisor)}}function B(t,n){return function(e){t.bindBuffer(t.ARRAY_BUFFER,e.buffer),t.enableVertexAttribArray(n),t.vertexAttribIPointer(n,e.numComponents||e.size,e.type||t.INT,e.stride||0,e.offset||0),void 0!==e.divisor&&t.vertexAttribDivisor(n,e.divisor)}}function f(l,u,e){var c=e.size,g=e.count;return function(e){l.bindBuffer(l.ARRAY_BUFFER,e.buffer);for(var t=e.size||e.numComponents||c,n=t/g,A=e.type||l.FLOAT,o=d[A].size*t,a=e.normalize||!1,i=e.offset||0,r=o/g,s=0;s<g;++s)l.enableVertexAttribArray(u+s),l.vertexAttribPointer(u+s,n,A,a,o,i+r*s),void 0!==e.divisor&&l.vertexAttribDivisor(u+s,e.divisor)}}d[5126]={Type:Float32Array,size:4,setter:function(t,n){return function(e){t.uniform1f(n,e)}},arraySetter:function(t,n){return function(e){t.uniform1fv(n,e)}}},d[35664]={Type:Float32Array,size:8,setter:function(t,n){return function(e){t.uniform2fv(n,e)}}},d[35665]={Type:Float32Array,size:12,setter:function(t,n){return function(e){t.uniform3fv(n,e)}}},d[35666]={Type:Float32Array,size:16,setter:function(t,n){return function(e){t.uniform4fv(n,e)}}},d[5124]={Type:Int32Array,size:4,setter:A,arraySetter:o},d[35667]={Type:Int32Array,size:8,setter:a},d[35668]={Type:Int32Array,size:12,setter:i},d[35669]={Type:Int32Array,size:16,setter:u},d[5125]={Type:Uint32Array,size:4,setter:function(t,n){return function(e){t.uniform1ui(n,e)}},arraySetter:function(t,n){return function(e){t.uniform1uiv(n,e)}}},d[36294]={Type:Uint32Array,size:8,setter:function(t,n){return function(e){t.uniform2uiv(n,e)}}},d[36295]={Type:Uint32Array,size:12,setter:function(t,n){return function(e){t.uniform3uiv(n,e)}}},d[36296]={Type:Uint32Array,size:16,setter:function(t,n){return function(e){t.uniform4uiv(n,e)}}},d[35670]={Type:Uint32Array,size:4,setter:A,arraySetter:o},d[35671]={Type:Uint32Array,size:8,setter:a},d[35672]={Type:Uint32Array,size:12,setter:i},d[35673]={Type:Uint32Array,size:16,setter:u},d[35674]={Type:Float32Array,size:16,setter:function(t,n){return function(e){t.uniformMatrix2fv(n,!1,e)}}},d[35675]={Type:Float32Array,size:36,setter:function(t,n){return function(e){t.uniformMatrix3fv(n,!1,e)}}},d[35676]={Type:Float32Array,size:64,setter:function(t,n){return function(e){t.uniformMatrix4fv(n,!1,e)}}},d[35685]={Type:Float32Array,size:24,setter:function(t,n){return function(e){t.uniformMatrix2x3fv(n,!1,e)}}},d[35686]={Type:Float32Array,size:32,setter:function(t,n){return function(e){t.uniformMatrix2x4fv(n,!1,e)}}},d[35687]={Type:Float32Array,size:24,setter:function(t,n){return function(e){t.uniformMatrix3x2fv(n,!1,e)}}},d[35688]={Type:Float32Array,size:48,setter:function(t,n){return function(e){t.uniformMatrix3x4fv(n,!1,e)}}},d[35689]={Type:Float32Array,size:32,setter:function(t,n){return function(e){t.uniformMatrix4x2fv(n,!1,e)}}},d[35690]={Type:Float32Array,size:48,setter:function(t,n){return function(e){t.uniformMatrix4x3fv(n,!1,e)}}},d[35678]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[35680]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[35679]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[35682]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36289]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36292]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36293]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36298]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36299]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[36300]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36303]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866},d[36306]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:3553},d[36307]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:32879},d[36308]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:34067},d[36311]={Type:null,size:0,setter:c,arraySetter:g,bindPoint:35866};var E={},w=(E[5126]={size:4,setter:m},E[35664]={size:8,setter:m},E[35665]={size:12,setter:m},E[35666]={size:16,setter:m},E[5124]={size:4,setter:B},E[35667]={size:8,setter:B},E[35668]={size:12,setter:B},E[35669]={size:16,setter:B},E[5125]={size:4,setter:B},E[36294]={size:8,setter:B},E[36295]={size:12,setter:B},E[36296]={size:16,setter:B},E[35670]={size:4,setter:B},E[35671]={size:8,setter:B},E[35672]={size:12,setter:B},E[35673]={size:16,setter:B},E[35674]={size:4,setter:f,count:2},E[35675]={size:9,setter:f,count:3},E[35676]={size:16,setter:f,count:4},void 0);var C=/^[ \t]*\n/;function I(e,t,n,A){var o,a,A=A||r,n=e.createShader(n),i=0;return C.test(t)&&(i=1,t=t.replace(C,"")),e.shaderSource(n,t),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)?n:(o=e.getShaderInfoLog(n),A((a=(a=i)||0,++a,t.split("\n").map(function(e,t){return t+a+": "+e}).join("\n")+"\n*** Error compiling shader: "+o)),e.deleteShader(n),null)}function y(e,n,t){if("function"==typeof n&&(t=n,n=void 0),"function"==typeof e)t=e,e=void 0;else if(e&&!Array.isArray(e)){if(e.errorCallback)return e;var A=e;t=A.errorCallback,e=A.attribLocations,A=A.transformFeedbackVaryings}var o,t={errorCallback:t||r,transformFeedbackVaryings:A};return e&&(o={},Array.isArray(e)?e.forEach(function(e,t){o[e]=n?n[t]:t}):o=e,t.attribLocations=o),t}var b=["VERTEX_SHADER","FRAGMENT_SHADER"];function M(e){return 0<=e.indexOf("frag")?w.FRAGMENT_SHADER:0<=e.indexOf("vert")?w.VERTEX_SHADER:void 0}function Q(t,e){e.forEach(function(e){t.deleteShader(e)})}function T(t,e,n,A,o){for(var a,i=y(n,A,o),r=[],s=[],l=0;l<e.length;++l){var u,c,g,d=e[l];"string"==typeof d&&(c=(u=p(d))?u.text:d,g=t[b[l]],u&&u.type&&(g=M(u.type)||g),d=I(t,c,g,i.errorCallback),s.push(d)),h.isShader(t,d)&&r.push(d)}return r.length!==e.length?(i.errorCallback("not enough shaders for program"),Q(t,s),null):(a=t.createProgram(),r.forEach(function(e){t.attachShader(a,e)}),i.attribLocations&&Object.keys(i.attribLocations).forEach(function(e){t.bindAttribLocation(a,i.attribLocations[e],e)}),(n=i.transformFeedbackVaryings)&&(n.attribs&&(n=n.attribs),Array.isArray(n)||(n=Object.keys(n)),t.transformFeedbackVaryings(a,n,i.transformFeedbackMode||t.SEPARATE_ATTRIBS)),t.linkProgram(a),t.getProgramParameter(a,t.LINK_STATUS)?a:(A=t.getProgramInfoLog(a),i.errorCallback("Error in program linking:"+A),t.deleteProgram(a),Q(t,s),null))}function S(e,t,n,A,o){for(var a=y(n,A,o),i=[],r=0;r<t.length;++r){var s=I(e,t[r],e[b[r]],a.errorCallback);if(!s)return null;i.push(s)}return T(e,i,a)}function k(e){e=e.name;return e.startsWith("gl_")||e.startsWith("webgl_")}function D(i,e){var r=0;for(var t={},n=i.getProgramParameter(e,i.ACTIVE_UNIFORMS),A=0;A<n;++A){var o,a=i.getActiveUniform(e,A);k(a)||("[0]"===(o=a.name).substr(-3)&&(o=o.substr(0,o.length-3)),a=function(e,t){var n,e=i.getUniformLocation(e,t.name),A=1<t.size&&"[0]"===t.name.substr(-3),o=t.type,a=d[o];if(a)return(n=a.bindPoint?(n=r,r+=t.size,A?a.arraySetter(i,o,n,e,t.size):a.setter(i,o,n,e,t.size)):a.arraySetter&&A?a.arraySetter(i,e):a.setter(i,e)).location=e,n;throw"unknown type: 0x"+o.toString(16)}(e,a),t[o]=a)}return t}function v(e,t){for(var n={},A=e.getProgramParameter(t,e.TRANSFORM_FEEDBACK_VARYINGS),o=0;o<A;++o){var a=e.getTransformFeedbackVarying(t,o);n[a.name]={index:o,type:a.type,size:a.size}}return n}function N(e,t,n){for(var A in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),n=n.attribs?n.attribs:n){var o=t[A];o&&((A=n[A]).offset?e.bindBufferRange(e.TRANSFORM_FEEDBACK_BUFFER,o.index,A.buffer,A.offset,A.size):e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,o.index,A.buffer))}}function O(A,o){for(var e=A.getProgramParameter(o,A.ACTIVE_UNIFORMS),a=[],i=[],t=0;t<e;++t){i.push(t),a.push({});var n=A.getActiveUniform(o,t);if(k(n))break;a[t].name=n.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach(function(e){var t=e[0],n=e[1];A.getActiveUniforms(o,i,A[t]).forEach(function(e,t){a[t][n]=e})});for(var r={},s=A.getProgramParameter(o,A.ACTIVE_UNIFORM_BLOCKS),l=0;l<s;++l){var u=A.getActiveUniformBlockName(o,l),c={index:l,usedByVertexShader:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),usedByFragmentShader:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),size:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_DATA_SIZE),uniformIndices:A.getActiveUniformBlockParameter(o,l,A.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)};c.used=c.usedByVertexSahder||c.usedByFragmentShader,r[u]=c}return{blockSpecs:r,uniformData:a}}var F=/\[\d+\]\.$/;function R(e,t,n,A){var o,a,i,r,s=n.blockSpecs,l=n.uniformData,n=s[A];return n?(o=new ArrayBuffer(n.size),s=e.createBuffer(),a=n.index,e.bindBuffer(e.UNIFORM_BUFFER,s),e.uniformBlockBinding(t,n.index,a),i=A+".",F.test(i)&&(i=i.replace(F,".")),r={},n.uniformIndices.forEach(function(e){var e=l[e],t=d[e.type],n=t.Type,t=e.size*t.size,A=e.name;A.substr(0,i.length)===i&&(A=A.substr(i.length)),r[A]=new n(o,e.offset,t/n.BYTES_PER_ELEMENT)}),{name:A,array:o,asFloat:new Float32Array(o),buffer:s,uniforms:r}):(x("no uniform block object named:",A),{name:A,uniforms:{}})}function _(e,t,n){var t=(t.uniformBlockSpec||t).blockSpecs[n.name];return!!t&&(t=t.index,e.bindBufferRange(e.UNIFORM_BUFFER,t,n.buffer,n.offset||0,n.array.byteLength),!0)}function U(e,t){for(var n={},A=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),o=0;o<A;++o){var a,i,r=e.getActiveAttrib(t,o);k(r)||(a=e.getAttribLocation(t,r.name),(i=(i=E[r.type]).setter(e,a,i)).location=a,n[r.name]=i)}return n}function G(e,t){for(var n in t){var A=e[n];A&&A(t[n])}}function L(e,t){var n={program:t,uniformSetters:D(e,t),attribSetters:U(e,t)};return s.isWebGL2(e)&&(n.uniformBlockSpec=O(e,t),n.transformFeedbackInfo=v(e,t)),n}},function(e,t,n){"use strict";t.__esModule=!0,t.axisRotate=function(e,t,n,A){A=A||new H(16);var o=t[0],a=t[1],t=t[2],i=Math.sqrt(o*o+a*a+t*t),r=(o/=i)*o,s=(a/=i)*a,i=(t/=i)*t,l=Math.cos(n),n=Math.sin(n),u=1-l,r=r+(1-r)*l,c=o*a*u+t*n,g=o*t*u-a*n,d=o*a*u-t*n,s=s+(1-s)*l,h=a*t*u+o*n,p=o*t*u+a*n,a=a*t*u-o*n,t=i+(1-i)*l,u=e[0],o=e[1],n=e[2],i=e[3],l=e[4],m=e[5],B=e[6],f=e[7],E=e[8],w=e[9],C=e[10],I=e[11];A[0]=r*u+c*l+g*E,A[1]=r*o+c*m+g*w,A[2]=r*n+c*B+g*C,A[3]=r*i+c*f+g*I,A[4]=d*u+s*l+h*E,A[5]=d*o+s*m+h*w,A[6]=d*n+s*B+h*C,A[7]=d*i+s*f+h*I,A[8]=p*u+a*l+t*E,A[9]=p*o+a*m+t*w,A[10]=p*n+a*B+t*C,A[11]=p*i+a*f+t*I,e!==A&&(A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15]);return A},t.axisRotation=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],e=e[2],a=Math.sqrt(A*A+o*o+e*e),i=(A/=a)*A,r=(o/=a)*o,a=(e/=a)*e,s=Math.cos(t),t=Math.sin(t),l=1-s;return n[0]=i+(1-i)*s,n[1]=A*o*l+e*t,n[2]=A*e*l-o*t,n[3]=0,n[4]=A*o*l-e*t,n[5]=r+(1-r)*s,n[6]=o*e*l+A*t,n[7]=0,n[8]=A*e*l+o*t,n[9]=o*e*l-A*t,n[10]=a+(1-a)*s,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},t.copy=o,t.frustum=function(e,t,n,A,o,a,i){i=i||new H(16);var r=t-e,s=A-n,l=o-a;return i[0]=2*o/r,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=2*o/s,i[6]=0,i[7]=0,i[8]=(e+t)/r,i[9]=(A+n)/s,i[10]=a/l,i[11]=-1,i[12]=0,i[13]=0,i[14]=o*a/l,i[15]=0,i},t.getAxis=function(e,t,n){n=n||r.create();t*=4;return n[0]=e[0+t],n[1]=e[1+t],n[2]=e[2+t],n},t.getTranslation=function(e,t){return(t=t||r.create())[0]=e[12],t[1]=e[13],t[2]=e[14],t},t.identity=A,t.inverse=a,t.lookAt=function(e,t,n,A){A=A||new H(16);var o=s,a=l,i=u;return r.normalize(r.subtract(e,t,i),i),r.normalize(r.cross(n,i,o),o),r.normalize(r.cross(i,o,a),a),A[0]=o[0],A[1]=o[1],A[2]=o[2],A[3]=0,A[4]=a[0],A[5]=a[1],A[6]=a[2],A[7]=0,A[8]=i[0],A[9]=i[1],A[10]=i[2],A[11]=0,A[12]=e[0],A[13]=e[1],A[14]=e[2],A[15]=1,A},t.multiply=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[4],s=e[5],l=e[6],u=e[7],c=e[8],g=e[9],d=e[10],h=e[11],p=e[12],m=e[13],B=e[14],e=e[15],f=t[0],E=t[1],w=t[2],C=t[3],I=t[4],y=t[5],b=t[6],M=t[7],Q=t[8],T=t[9],S=t[10],k=t[11],D=t[12],v=t[13],N=t[14],t=t[15];return n[0]=A*f+r*E+c*w+p*C,n[1]=o*f+s*E+g*w+m*C,n[2]=a*f+l*E+d*w+B*C,n[3]=i*f+u*E+h*w+e*C,n[4]=A*I+r*y+c*b+p*M,n[5]=o*I+s*y+g*b+m*M,n[6]=a*I+l*y+d*b+B*M,n[7]=i*I+u*y+h*b+e*M,n[8]=A*Q+r*T+c*S+p*k,n[9]=o*Q+s*T+g*S+m*k,n[10]=a*Q+l*T+d*S+B*k,n[11]=i*Q+u*T+h*S+e*k,n[12]=A*D+r*v+c*N+p*t,n[13]=o*D+s*v+g*N+m*t,n[14]=a*D+l*v+d*N+B*t,n[15]=i*D+u*v+h*N+e*t,n},t.negate=function(e,t){return(t=t||new H(16))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},t.ortho=function(e,t,n,A,o,a,i){return(i=i||new H(16))[0]=2/(t-e),i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=2/(A-n),i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=2/(o-a),i[11]=0,i[12]=(t+e)/(e-t),i[13]=(A+n)/(n-A),i[14]=(a+o)/(o-a),i[15]=1,i},t.perspective=function(e,t,n,A,o){o=o||new H(16);var e=Math.tan(.5*Math.PI-.5*e),a=1/(n-A);return o[0]=e/t,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=e,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(n+A)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=n*A*a*2,o[15]=0,o},t.rotateX=function(e,t,n){n=n||new H(16);var A=e[4],o=e[5],a=e[6],i=e[7],r=e[8],s=e[9],l=e[10],u=e[11],c=Math.cos(t),t=Math.sin(t);n[4]=c*A+t*r,n[5]=c*o+t*s,n[6]=c*a+t*l,n[7]=c*i+t*u,n[8]=c*r-t*A,n[9]=c*s-t*o,n[10]=c*l-t*a,n[11]=c*u-t*i,e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotateY=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[8],s=e[9],l=e[10],u=e[11],c=Math.cos(t),t=Math.sin(t);n[0]=c*A-t*r,n[1]=c*o-t*s,n[2]=c*a-t*l,n[3]=c*i-t*u,n[8]=c*r+t*A,n[9]=c*s+t*o,n[10]=c*l+t*a,n[11]=c*u+t*i,e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotateZ=function(e,t,n){n=n||new H(16);var A=e[0],o=e[1],a=e[2],i=e[3],r=e[4],s=e[5],l=e[6],u=e[7],c=Math.cos(t),t=Math.sin(t);n[0]=c*A+t*r,n[1]=c*o+t*s,n[2]=c*a+t*l,n[3]=c*i+t*u,n[4]=c*r-t*A,n[5]=c*s-t*o,n[6]=c*l-t*a,n[7]=c*u-t*i,e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.rotationX=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=e,t[7]=0,t[8]=0,t[9]=-e,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationY=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=n,t[1]=0,t[2]=-e,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=e,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationZ=function(e,t){t=t||new H(16);var n=Math.cos(e),e=Math.sin(e);return t[0]=n,t[1]=e,t[2]=0,t[3]=0,t[4]=-e,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.scale=function(e,t,n){n=n||new H(16);var A=t[0],o=t[1],t=t[2];n[0]=A*e[0],n[1]=A*e[1],n[2]=A*e[2],n[3]=A*e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=o*e[7],n[8]=t*e[8],n[9]=t*e[9],n[10]=t*e[10],n[11]=t*e[11],e!==n&&(n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]);return n},t.scaling=function(e,t){return(t=t||new H(16))[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.setAxis=function(e,t,n,A){A!==e&&(A=o(e,A));e=4*n;return A[0+e]=t[0],A[1+e]=t[1],A[2+e]=t[2],A},t.setDefaultType=function(e){var t=H;return H=e,t},t.setTranslation=function(e,t,n){n=n||A(),e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11]);return n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},t.transformDirection=function(e,t,n){n=n||r.create();var A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[4]+t*e[8],n[1]=A*e[1]+o*e[5]+t*e[9],n[2]=A*e[2]+o*e[6]+t*e[10],n},t.transformNormal=function(e,t,n){n=n||r.create();var e=a(e),A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[1]+t*e[2],n[1]=A*e[4]+o*e[5]+t*e[6],n[2]=A*e[8]+o*e[9]+t*e[10],n},t.transformPoint=function(e,t,n){n=n||r.create();var A=t[0],o=t[1],t=t[2],a=A*e[3]+o*e[7]+t*e[11]+e[15];return n[0]=(A*e[0]+o*e[4]+t*e[8]+e[12])/a,n[1]=(A*e[1]+o*e[5]+t*e[9]+e[13])/a,n[2]=(A*e[2]+o*e[6]+t*e[10]+e[14])/a,n},t.translate=function(e,t,n){n=n||new H(16);var A=t[0],o=t[1],t=t[2],a=e[0],i=e[1],r=e[2],s=e[3],l=e[4],u=e[5],c=e[6],g=e[7],d=e[8],h=e[9],p=e[10],m=e[11],B=e[12],f=e[13],E=e[14],w=e[15];e!==n&&(n[0]=a,n[1]=i,n[2]=r,n[3]=s,n[4]=l,n[5]=u,n[6]=c,n[7]=g,n[8]=d,n[9]=h,n[10]=p,n[11]=m);return n[12]=a*A+l*o+d*t+B,n[13]=i*A+u*o+h*t+f,n[14]=r*A+c*o+p*t+E,n[15]=s*A+g*o+m*t+w,n},t.translation=function(e,t){return(t=t||new H(16))[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},t.transpose=function(e,t){var n,A,o,a,i,r,s,l,u,c,g,d,h,p,m;return(t=t||new H(16))===e?(n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n):(n=e[0],A=e[1],o=e[2],a=e[3],i=e[4],r=e[5],s=e[6],l=e[7],u=e[8],c=e[9],g=e[10],d=e[11],h=e[12],p=e[13],m=e[14],e=e[15],t[0]=n,t[1]=i,t[2]=u,t[3]=h,t[4]=A,t[5]=r,t[6]=c,t[7]=p,t[8]=o,t[9]=s,t[10]=g,t[11]=m,t[12]=a,t[13]=l,t[14]=d,t[15]=e),t};var r=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(3));var H=Float32Array,s=r.create(),l=r.create(),u=r.create();function o(e,t){return(t=t||new H(16))[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function A(e){return(e=e||new H(16))[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function a(e,t){t=t||new H(16);var n=e[0],A=e[1],o=e[2],a=e[3],i=e[4],r=e[5],s=e[6],l=e[7],u=e[8],c=e[9],g=e[10],d=e[11],h=e[12],p=e[13],m=e[14],e=e[15],B=g*e,f=m*d,E=s*e,w=m*l,C=s*d,I=g*l,y=o*e,b=m*a,M=o*d,Q=g*a,T=o*l,S=s*a,k=u*p,D=h*c,v=i*p,N=h*r,O=i*c,F=u*r,R=n*p,Y=h*A,x=n*c,_=u*A,U=n*r,G=i*A,L=B*r+w*c+C*p-(f*r+E*c+I*p),P=f*A+y*c+Q*p-(B*A+b*c+M*p),p=E*A+b*r+T*p-(w*A+y*r+S*p),A=I*A+M*r+S*c-(C*A+Q*r+T*c),r=1/(n*L+i*P+u*p+h*A);return t[0]=r*L,t[1]=r*P,t[2]=r*p,t[3]=r*A,t[4]=r*(f*i+E*u+I*h-(B*i+w*u+C*h)),t[5]=r*(B*n+b*u+M*h-(f*n+y*u+Q*h)),t[6]=r*(w*n+y*i+S*h-(E*n+b*i+T*h)),t[7]=r*(C*n+Q*i+T*u-(I*n+M*i+S*u)),t[8]=r*(k*l+N*d+O*e-(D*l+v*d+F*e)),t[9]=r*(D*a+R*d+_*e-(k*a+Y*d+x*e)),t[10]=r*(v*a+Y*l+U*e-(N*a+R*l+G*e)),t[11]=r*(F*a+x*l+G*d-(O*a+_*l+U*d)),t[12]=r*(v*g+F*m+D*s-(O*m+k*s+N*g)),t[13]=r*(x*m+k*o+Y*g-(R*g+_*m+D*o)),t[14]=r*(R*s+G*m+N*o-(U*m+v*o+Y*s)),t[15]=r*(U*g+O*o+_*s-(x*s+G*g+F*o)),t}},function(e,t,n){"use strict";t.__esModule=!0,t.createAttribsFromArrays=l,t.createBuffersFromArrays=function(t,n){var A={};Object.keys(n).forEach(function(e){A[e]=c(t,n[e],e)}),n.indices?(A.numElements=n.indices.length,A.elementType=d.getGLTypeForTypedArray(E(n.indices),"indices")):A.numElements=function(e){for(var t,n=0;n<u.length&&!((t=u[n])in e);++n);ii===u.length&&(t=Object.keys(e)[0]);var A=e[t],o=r(A).length,A=f(A,t),a=o/A;if(0<o%A)throw"numComponents "+A+" not correct for length "+o;return a}(n);return A},t.createBufferFromArray=c,t.createBufferFromTypedArray=p,t.createBufferInfoFromArrays=function(e,t){var n={attribs:l(e,t)},t=t.indices;t?(t=E(t,"indices"),n.indices=p(e,t,e.ELEMENT_ARRAY_BUFFER),n.numElements=t.length,n.elementType=d.getGLTypeForTypedArray(t)):n.numElements=function(e,t){var n,A;for(A=0;A<u.length&&!((n=u[A])in t)&&!((n=h.attribPrefix+n)in t);++A);A===u.length&&(n=Object.keys(t)[0]);var o=t[n],a=(e.bindBuffer(e.ARRAY_BUFFER,o.buffer),e.getBufferParameter(e.ARRAY_BUFFER,e.BUFFER_SIZE)),e=(e.bindBuffer(e.ARRAY_BUFFER,null),function(e,t){return t===e.BYTE||t===e.UNSIGNED_BYTE?1:t===e.SHORT||t===e.UNSIGNED_SHORT?2:t===e.INT||t===e.UNSIGNED_INT||t===e.FLOAT?4:0}(e,o.type)),a=a/e,e=o.numComponents||o.size,o=a/e;if(o%1==0)return o;throw"numComponents "+e+" not correct for length "+length}(e,n.attribs);return n},t.setAttribInfoBufferFromArray=function(e,t,n,A){n=E(n),void 0!==A?(e.bindBuffer(e.ARRAY_BUFFER,t.buffer),e.bufferSubData(e.ARRAY_BUFFER,A,n)):i(e,e.ARRAY_BUFFER,t.buffer,n,t.drawType)},t.setAttributePrefix=function(e){h.attribPrefix=e},t.setAttributeDefaults_=function(e){a.copyExistingProperties(e,h)},t.getNumComponents_=f,t.getArray_=r;var d=A(n(1)),a=A(n(0));function A(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var h={attribPrefix:""};function i(e,t,n,A,o){e.bindBuffer(t,n),e.bufferData(t,A,o||e.STATIC_DRAW)}function p(e,t,n,A){if(a.isBuffer(e,t))return t;n=n||e.ARRAY_BUFFER;var o=e.createBuffer();return i(e,n,o,t,A),o}function m(e){return"indices"===e}function r(e){return e.length?e:e.data}var o=/coord|texture/i,s=/color|colour/i;function B(e,t){var n=o.test(e)?2:s.test(e)?4:3;if(0<t%n)throw"Can not guess numComponents for attribute '"+e+"'. Tried "+n+" but "+t+" values is not evenly divisible by "+n+". You should specify it.";return n}function f(e,t){return e.numComponents||e.size||B(t,r(e).length)}function E(e,t){return d.isArrayBuffer(e)?e:d.isArrayBuffer(e.data)?e.data:new((e=Array.isArray(e)?{data:e}:e).type||(m(t)?Uint16Array:Float32Array))(e.data)}function l(u,c){var g={};return Object.keys(c).forEach(function(e){var t,n,A,o,a,i,r,s,l;m(e)||(n=(t=c[e]).attrib||t.name||t.attribName||h.attribPrefix+e,"number"==typeof t||"number"==typeof t.data?(r=(A=t.data||t)*(l=t.type||Float32Array).BYTES_PER_ELEMENT,o=d.getGLTypeForTypedArrayType(l),l=void 0!==t.normalize?t.normalize:(l=l)===Int8Array||l===Uint8Array,a=t.numComponents||t.size||B(e,A),i=u.createBuffer(),u.bindBuffer(u.ARRAY_BUFFER,i),u.bufferData(u.ARRAY_BUFFER,r,t.drawType||u.STATIC_DRAW)):(r=E(t,e),i=p(u,r,void 0,t.drawType),o=d.getGLTypeForTypedArray(r),l=void 0!==t.normalize?t.normalize:(s=r)instanceof Int8Array||s instanceof Uint8Array,a=f(t,e),A=r.length),g[n]={buffer:i,numComponents:a,type:o,normalize:l,stride:t.stride||0,offset:t.offset||0,divisor:void 0===t.divisor?void 0:t.divisor,drawType:t.drawType})}),u.bindBuffer(u.ARRAY_BUFFER,null),g}var u=["position","positions","a_position"];function c(e,t,n){var A="indices"===n?e.ELEMENT_ARRAY_BUFFER:e.ARRAY_BUFFER;return p(e,E(t,n),A)}},function(Y,e,t){"use strict";e.__esModule=!0,e.setTextureDefaults_=function(e){d.copyExistingProperties(e,I),e.textureColor&&G(e.textureColor)},e.createSampler=z,e.createSamplers=function(t,n){var A={};return Object.keys(n).forEach(function(e){A[e]=z(t,n[e])}),A},e.setSamplerParameters=j,e.createTexture=q,e.setEmptyTexture=X,e.setTextureFromArray=K,e.loadTextureFromUrl=J,e.setTextureFromElement=v,e.setTextureFilteringForSize=S,e.setTextureParameters=T,e.setDefaultTextureColor=G,e.createTextures=function(o,a,e){e=e||N;var i=0,r=[],s={},l={};function u(){0===i&&setTimeout(function(){e(r.length?r:void 0,s,l)},0)}return Object.keys(a).forEach(function(A){var e,t,n=a[A];("string"==typeof(t=n.src)||Array.isArray(t)&&"string"==typeof t[0])&&(e=function(e,t,n){l[A]=n,--i,e&&r.push(e),u()},++i),s[A]=q(o,n,e)}),u(),s},e.resizeTexture=function(e,t,n,A,o){A=A||n.width,o=o||n.height;var a,i=n.target||e.TEXTURE_2D,r=(e.bindTexture(i,t),n.level||0),s=n.internalFormat||n.format||e.RGBA,t=b(s),l=n.format||t.format,u=n.src;a=u&&(f(u)||Array.isArray(u)&&"number"==typeof u[0])?n.type||U(e,u,t.type):n.type||t.type;if(i===e.TEXTURE_CUBE_MAP)for(var c=0;c<6;++c)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+c,r,s,A,o,0,l,a,null);else e.texImage2D(i,r,s,A,o,0,l,a,null)},e.getNumComponentsForFormat=function(e){var t=u[e];if(t)return t.numColorComponents;throw"unknown format: "+e},e.getBytesPerElementForInternalFormat=x;var m=n(t(4)),B=n(t(1)),d=n(t(0)),C=(e=t(2))&&e.__esModule?e:{default:e};function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var I={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},f=B.isArrayBuffer,y=C.default.document&&C.default.document.createElement?C.default.document.createElement("canvas").getContext("2d"):null,t=6407,e=6408,A=5121,o=5126,a=5131,i=33320,r=36244,s=36248,l=36249,u={},c=u,g=(c[6406]={numColorComponents:1},c[6409]={numColorComponents:1},c[6410]={numColorComponents:2},c[t]={numColorComponents:3},c[e]={numColorComponents:4},c[6403]={numColorComponents:1},c[r]={numColorComponents:1},c[33319]={numColorComponents:2},c[i]={numColorComponents:2},c[t]={numColorComponents:3},c[s]={numColorComponents:3},c[e]={numColorComponents:4},c[l]={numColorComponents:4},c[6402]={numColorComponents:1},c[34041]={numColorComponents:2},{}),h=g;function x(e,t){e=g[e];if(!e)throw"unknown internal format";e=e.bytesPerElementMap[t];if(void 0===e)throw"unknown internal format";return e}function b(e){e=g[e];if(e)return{format:e.textureFormat,type:Array.isArray(e.type)?e.type[0]:e.type};throw"unknown internal format"}function _(e){return 0==(e&e-1)}function U(e,t,n){return f(t)?B.getGLTypeForTypedArray(t):n||e.UNSIGNED_BYTE}function E(e,t,n,A,o){if(o%1!=0)throw"can't guess dimensions";if(n||A){if(A){if(!n&&(n=o/A)%1)throw"can't guess dimensions"}else if((A=o/n)%1)throw"can't guess dimensions"}else{t=Math.sqrt(o/(t===e.TEXTURE_CUBE_MAP?6:1));A=t%1==0?n=t:(n=o,1)}return{width:n,height:A}}function G(e){I.textureColor=new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}h[6406]={textureFormat:6406,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[A,a,36193,o]},h[6409]={textureFormat:6409,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[A,a,36193,o]},h[6410]={textureFormat:6410,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[A,a,36193,o]},h[t]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[A,a,36193,o,33635]},h[e]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[A,a,36193,o,32819,32820]},h[33321]={textureFormat:6403,colorRenderable:!0,textureFilterable:!0,bytesPerElement:1,type:A},h[36756]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:1,type:5120},h[33325]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[o,a]},h[33326]={textureFormat:6403,colorRenderable:!1,textureFilterable:!1,bytesPerElement:4,type:o},h[33330]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:A},h[33329]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:5120},h[33332]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5123},h[33331]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5122},h[33334]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},h[33333]={textureFormat:r,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5124},h[33323]={textureFormat:33319,colorRenderable:!0,textureFilterable:!0,bytesPerElement:2,type:A},h[36757]={textureFormat:33319,colorRenderable:!1,textureFilterable:!0,bytesPerElement:2,type:5120},h[33327]={textureFormat:33319,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[o,a]},h[33328]={textureFormat:33319,colorRenderable:!1,textureFilterable:!1,bytesPerElement:8,type:o},h[33336]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:A},h[33335]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5120},h[33338]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5123},h[33337]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5122},h[33340]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5125},h[33339]={textureFormat:i,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5124},h[32849]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:3,type:A},h[35905]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:A},h[36194]={textureFormat:t,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[A,33635]},h[36758]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:5120},h[35898]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[o,a,35899]},h[35901]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[o,a,35902]},h[34843]={textureFormat:t,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[o,a]},h[34837]={textureFormat:t,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:o},h[36221]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:A},h[36239]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:5120},h[36215]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5123},h[36233]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5122},h[36209]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5125},h[36227]={textureFormat:s,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5124},h[32856]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:A},h[35907]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:A},h[36759]={textureFormat:e,colorRenderable:!1,textureFilterable:!0,bytesPerElement:4,type:5120},h[32855]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[A,32820,33640]},h[32854]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[A,32819]},h[32857]={textureFormat:e,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:33640},h[34842]={textureFormat:e,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[o,a]},h[34836]={textureFormat:e,colorRenderable:!1,textureFilterable:!1,bytesPerElement:16,type:o},h[36220]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:A},h[36238]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5120},h[36975]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:33640},h[36214]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5123},h[36232]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5122},h[36226]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5124},h[36208]={textureFormat:l,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5125},h[33189]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5123,5125]},h[33190]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},h[36012]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:o},h[35056]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:34042},h[36013]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:36269},Object.keys(h).forEach(function(e){var n=h[e];n.bytesPerElementMap={},Array.isArray(n.bytesPerElement)?n.bytesPerElement.forEach(function(e,t){t=n.type[t];n.bytesPerElementMap[t]=e}):(e=n.type,n.bytesPerElementMap[e]=n.bytesPerElement)});var p={};function M(e,t){void 0!==t.colorspaceConversion&&(p.colorspaceConversion=e.getParameter(e.UNPACK_COLORSPACE_CONVERSION_WEBGL),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.colorspaceConversion)),void 0!==t.premultiplyAlpha&&(p.premultiplyAlpha=e.getParameter(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha)),void 0!==t.flipY&&(p.flipY=e.getParameter(e.UNPACK_FLIP_Y_WEBGL),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY))}function Q(e,t){void 0!==t.colorspaceConversion&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,p.colorspaceConversion),void 0!==t.premultiplyAlpha&&e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p.premultiplyAlpha),void 0!==t.flipY&&e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,p.flipY)}function L(e){p.unpackAlignment=e.getParameter(e.UNPACK_ALIGNMENT),m.isWebGL2(e)&&(p.unpackRowLength=e.getParameter(e.UNPACK_ROW_LENGTH),p.unpackImageHeight=e.getParameter(e.UNPACK_IMAGE_HEIGHT),p.unpackSkipPixels=e.getParameter(e.UNPACK_SKIP_PIXELS),p.unpackSkipRows=e.getParameter(e.UNPACK_SKIP_ROWS),p.unpackSkipImages=e.getParameter(e.UNPACK_SKIP_IMAGES))}function P(e){e.pixelStorei(e.UNPACK_ALIGNMENT,p.unpackAlignment),m.isWebGL2(e)&&(e.pixelStorei(e.UNPACK_ROW_LENGTH,p.unpackRowLength),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,p.unpackImageHeight),e.pixelStorei(e.UNPACK_SKIP_PIXELS,p.unpackSkipPixels),e.pixelStorei(e.UNPACK_SKIP_ROWS,p.unpackSkipRows),e.pixelStorei(e.UNPACK_SKIP_IMAGES,p.unpackSkipImages))}function H(e,t,n,A){A.minMag&&(n.call(e,t,e.TEXTURE_MIN_FILTER,A.minMag),n.call(e,t,e.TEXTURE_MAG_FILTER,A.minMag)),A.min&&n.call(e,t,e.TEXTURE_MIN_FILTER,A.min),A.mag&&n.call(e,t,e.TEXTURE_MAG_FILTER,A.mag),A.wrap&&(n.call(e,t,e.TEXTURE_WRAP_S,A.wrap),n.call(e,t,e.TEXTURE_WRAP_T,A.wrap),t!==e.TEXTURE_3D&&!d.isSampler(e,t)||n.call(e,t,e.TEXTURE_WRAP_R,A.wrap)),A.wrapR&&n.call(e,t,e.TEXTURE_WRAP_R,A.wrapR),A.wrapS&&n.call(e,t,e.TEXTURE_WRAP_S,A.wrapS),A.wrapT&&n.call(e,t,e.TEXTURE_WRAP_T,A.wrapT),A.minLod&&n.call(e,t,e.TEXTURE_MIN_LOD,A.minLod),A.maxLod&&n.call(e,t,e.TEXTURE_MAX_LOD,A.maxLod),A.baseLevel&&n.call(e,t,e.TEXTURE_BASE_LEVEL,A.baseLevel),A.maxLevel&&n.call(e,t,e.TEXTURE_MAX_LEVEL,A.maxLevel)}function T(e,t,n){var A=n.target||e.TEXTURE_2D;e.bindTexture(A,t),H(e,A,e.texParameteri,n)}function j(e,t,n){H(e,t,e.samplerParameteri,n)}function z(e,t){var n=e.createSampler();return j(e,n,t),n}function S(e,t,n,A,o,a,i){n=n||I.textureOptions,a=a||e.RGBA,i=i||e.UNSIGNED_BYTE;i=n.target||e.TEXTURE_2D;A=A||n.width,o=o||n.height,e.bindTexture(i,t),!function(e,t,n,A){if(!m.isWebGL2(e))return _(t)&&_(n);if(e=g[A])return e.colorRenderable&&e.textureFilterable;throw"unknown internal format"}(e,A,o,a)?(n=function(e){if(e=g[e])return e.textureFilterable;throw"unknown internal format"}(a)?e.LINEAR:e.NEAREST,e.texParameteri(i,e.TEXTURE_MIN_FILTER,n),e.texParameteri(i,e.TEXTURE_MAG_FILTER,n),e.texParameteri(i,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(i,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)):e.generateMipmap(i)}function k(e){return!0===e.auto||void 0===e.auto&&void 0===e.level}function w(e,t){return(t=t||{}).cubeFaceOrder||[e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z]}function D(e,t){e=w(e,t).map(function(e,t){return{face:e,ndx:t}});return e.sort(function(e,t){return e.face-t.face}),e}function v(A,o,a,i){var r=(i=i||I.textureOptions).target||A.TEXTURE_2D,s=i.level||0,l=a.width,u=a.height,c=i.internalFormat||i.format||A.RGBA,e=b(c),g=i.format||e.format,d=i.type||e.type;if(M(A,i),A.bindTexture(r,o),r===A.TEXTURE_CUBE_MAP){var h,p,e=a.width,t=a.height;if(e/6===t)h=t,p=[0,0,1,0,2,0,3,0,4,0,5,0];else if(t/6===e)h=e,p=[0,0,0,1,0,2,0,3,0,4,0,5];else if(e/3==t/2)h=e/3,p=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(e/2!=t/3)throw"can't figure out cube map from element: "+(a.src||a.nodeName);h=e/2,p=[0,0,1,0,0,1,1,1,0,2,1,2]}y?(y.canvas.width=h,y.canvas.height=h,u=l=h,D(A,i).forEach(function(e){var t=p[2*e.ndx+0]*h,n=p[2*e.ndx+1]*h;y.drawImage(a,t,n,h,h,0,0,h,h),A.texImage2D(e.face,s,c,g,d,y.canvas)}),y.canvas.width=1,y.canvas.height=1):C.default.createImageBitmap&&(u=l=h,D(A,i).forEach(function(t){var e=p[2*t.ndx+0]*h,n=p[2*t.ndx+1]*h;A.texImage2D(t.face,s,c,h,h,0,g,d,null),C.default.createImageBitmap(a,e,n,h,h,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then(function(e){M(A,i),A.bindTexture(r,o),A.texImage2D(t.face,s,c,g,d,e),Q(A,i),k(i)&&S(A,o,i,l,u,c,d)})}))}else if(r===A.TEXTURE_3D||r===A.TEXTURE_2D_ARRAY){var n=Math.min(a.width,a.height),t=Math.max(a.width,a.height),m=t/n;if(m%1!=0)throw"can not compute 3D dimensions of element";var B=a.width===t?1:0,f=a.height===t?1:0;L(A),A.pixelStorei(A.UNPACK_ALIGNMENT,1),A.pixelStorei(A.UNPACK_ROW_LENGTH,a.width),A.pixelStorei(A.UNPACK_IMAGE_HEIGHT,0),A.pixelStorei(A.UNPACK_SKIP_IMAGES,0),A.texImage3D(r,s,c,n,n,n,0,g,d,null);for(var E=0;E<m;++E){var w=E*n*f;A.pixelStorei(A.UNPACK_SKIP_PIXELS,E*n*B),A.pixelStorei(A.UNPACK_SKIP_ROWS,w),A.texSubImage3D(r,s,0,0,E,n,n,1,g,d,a)}P(A)}else A.texImage2D(r,s,c,g,d,a);Q(A,i),k(i)&&S(A,o,i,l,u,c,d),T(A,o,i)}function N(){}function O(e){return C.default.ImageBitmap&&e instanceof C.default.ImageBitmap||C.default.ImageData&&e instanceof C.default.ImageData||C.default.HTMLElement&&e instanceof C.default.HTMLElement}function F(e,t,n){return O(e)?(setTimeout(function(){n(null,e)}),e):(A=e,t=t,o=(o=n)||N,C.default.Image?(a=new C.default.Image,void 0!==(t=void 0!==t?t:I.crossOrigin)&&(a.crossOrigin=t),i=function(){a.removeEventListener("error",r),a.removeEventListener("load",s),a=null},r=function(){var e="couldn't load image: "+A;d.error(e),o(e,a),i()},s=function(){o(null,a),i()},a.addEventListener("error",r),a.addEventListener("load",s),a.src=A):C.default.ImageBitmap&&(c=function(){o(l,u)},g={},t&&(g.mode="cors"),fetch(A,g).then(function(e){if(e.ok)return e.blob();throw e}).then(function(e){return C.default.createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"})}).then(function(e){u=e,setTimeout(c)}).catch(function(e){l=e,setTimeout(c)}),a=null),a);var A,o,a,i,r,s,l,u,c,g}function R(e,t,n){var A=(n=n||I.textureOptions).target||e.TEXTURE_2D;if(e.bindTexture(A,t),!1!==n.color){t=(t=n.color)||I.textureColor;var o=f(t)?t:new Uint8Array([255*t[0],255*t[1],255*t[2],255*t[3]]);if(A===e.TEXTURE_CUBE_MAP)for(var a=0;a<6;++a)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+a,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o);else A===e.TEXTURE_3D||A===e.TEXTURE_2D_ARRAY?e.texImage3D(A,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o):e.texImage2D(A,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,o)}}function J(n,A,o,a){return a=a||N,o=o||I.textureOptions,R(n,A,o),F((o=Object.assign({},o)).src,o.crossOrigin,function(e,t){e?a(e,A,t):(v(n,A,t,o),a(null,A,t))})}function W(A,o,a,i){i=i||N;var e=a.src;if(6!==e.length)throw"there must be 6 urls for a cubemap";var r=a.level||0,s=a.internalFormat||a.format||A.RGBA,t=b(s),l=a.format||t.format,u=a.type||A.UNSIGNED_BYTE,c=a.target||A.TEXTURE_2D;if(c!==A.TEXTURE_CUBE_MAP)throw"target must be TEXTURE_CUBE_MAP";R(A,o,a),a=Object.assign({},a);var g,d=6,h=[],p=w(A,a);g=e.map(function(e,t){return F(e,a.crossOrigin,(n=p[t],function(e,t){--d,e?h.push(e):t.width!==t.height?h.push("cubemap face img is not a square: "+t.src):(M(A,a),A.bindTexture(c,o),5===d?w(A).forEach(function(e){A.texImage2D(e,r,s,l,u,t)}):A.texImage2D(n,r,s,l,u,t),Q(A,a),k(a)&&A.generateMipmap(c)),0===d&&i(h.length?h:void 0,o,g)}));var n})}function V(o,a,i,r){r=r||N;var e=i.src,s=i.internalFormat||i.format||o.RGBA,t=b(s),l=i.format||t.format,u=i.type||o.UNSIGNED_BYTE,c=i.target||o.TEXTURE_2D_ARRAY;if(c!==o.TEXTURE_3D&&c!==o.TEXTURE_2D_ARRAY)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";R(o,a,i),i=Object.assign({},i);var g,d=e.length,h=[],p=i.level||0,m=i.width,B=i.height,f=e.length,E=!0;g=e.map(function(e,t){return F(e,i.crossOrigin,(A=t,function(e,t){if(--d,e)h.push(e);else{if(M(o,i),o.bindTexture(c,a),E){E=!1,m=i.width||t.width,B=i.height||t.height,o.texImage3D(c,p,s,m,B,f,0,l,u,null);for(var n=0;n<f;++n)o.texSubImage3D(c,p,0,0,n,m,B,1,l,u,t)}else{e=t;t.width===m&&t.height===B||(e=y.canvas,y.canvas.width=m,y.canvas.height=B,y.drawImage(t,0,0,m,B)),o.texSubImage3D(c,p,0,0,A,m,B,1,l,u,e),e===y.canvas&&(y.canvas.width=0,y.canvas.height=0)}Q(o,i),k(i)&&o.generateMipmap(c)}0===d&&r(h.length?h:void 0,a,g)}));var A})}function K(n,e,A,t){var o,a,i=(t=t||I.textureOptions).target||n.TEXTURE_2D,r=(n.bindTexture(i,e),t.width),s=t.height,e=t.depth,l=t.level||0,u=t.internalFormat||t.format||n.RGBA,c=b(u),g=t.format||c.format,d=t.type||U(n,A,c.type),c=(f(A)?A instanceof Uint8ClampedArray&&(A=new Uint8Array(A.buffer)):(c=B.getTypedArrayTypeForGLType(d),A=new c(A)),x(u,d)),h=A.byteLength/c;if(h%1)throw"length wrong size for format: "+m.glEnumToString(n,g);if(i===n.TEXTURE_3D)if(r||s||e)!r||s&&e?!s||r&&e?(o=E(n,i,r,s,h/e),r=o.width,s=o.height):(o=E(n,i,r,e,h/s),r=o.width,e=o.height):(o=E(n,i,s,e,h/r),s=o.width,e=o.height);else{var p=Math.cbrt(h);if(p%1!=0)throw"can't guess cube size of array of numElements: "+h;e=s=r=p}else o=E(n,i,r,s,h),r=o.width,s=o.height;return L(n),n.pixelStorei(n.UNPACK_ALIGNMENT,t.unpackAlignment||1),M(n,t),i===n.TEXTURE_CUBE_MAP?(a=h/6*(c/A.BYTES_PER_ELEMENT),D(n,t).forEach(function(e){var t=a*e.ndx,t=A.subarray(t,t+a);n.texImage2D(e.face,l,u,r,s,0,g,d,t)})):i===n.TEXTURE_3D?n.texImage3D(i,l,u,r,s,e,0,g,d,A):n.texImage2D(i,l,u,r,s,0,g,d,A),Q(n,t),P(n),{width:r,height:s,depth:e,type:d}}function X(e,t,n){var A=n.target||e.TEXTURE_2D,o=(e.bindTexture(A,t),n.level||0),a=n.internalFormat||n.format||e.RGBA,t=b(a),i=n.format||t.format,r=n.type||t.type;if(M(e,n),A===e.TEXTURE_CUBE_MAP)for(var s=0;s<6;++s)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+s,o,a,n.width,n.height,0,i,r,null);else A===e.TEXTURE_3D?e.texImage3D(A,o,a,n.width,n.height,n.depth,0,i,r,null):e.texImage2D(A,o,a,n.width,n.height,0,i,r,null);Q(e,n)}function q(e,t,n){n=n||N,t=t||I.textureOptions;var A=e.createTexture(),o=t.target||e.TEXTURE_2D,a=t.width||1,i=t.height||1,r=t.internalFormat||e.RGBA,s=b(r),s=t.type||s.type,l=(e.bindTexture(o,A),o===e.TEXTURE_CUBE_MAP&&(e.texParameteri(o,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(o,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),t.src);if(l)if("string"==typeof(l="function"==typeof l?l(e,t):l))J(e,A,t,n);else if(f(l)||Array.isArray(l)&&("number"==typeof l[0]||Array.isArray(l[0])||f(l[0])))var u=K(e,A,l,t),a=u.width,i=u.height,s=u.type;else if(Array.isArray(l)&&("string"==typeof l[0]||O(l[0])))(o===e.TEXTURE_CUBE_MAP?W:V)(e,A,t,n);else{if(!O(l))throw"unsupported src type";v(e,A,l,t),a=l.width,i=l.height}else X(e,A,t);return k(t)&&S(e,A,t,a,i,r,s),T(e,A,t),A}},function(e,t,n){"use strict";var A={m4:t.__esModule=!0,v3:!0,primitives:!0},o=(t.primitives=t.v3=t.m4=void 0,i(n(6))),o=(t.m4=o,i(n(3))),o=(t.v3=o,i(n(10))),a=(t.primitives=o,n(11));function i(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}Object.keys(a).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=a[e])})},function(Y,e,t){"use strict";e.__esModule=!0,e.create3DFVertices=M,e.createAugmentedTypedArray=D,e.createCubeVertices=I,e.createPlaneVertices=m,e.createSphereVertices=E,e.createTruncatedConeVertices=y,e.createXYQuadVertices=p,e.createCresentVertices=Q,e.createCylinderVertices=T,e.createTorusVertices=S,e.createDiscVertices=k,e.deindexVertices=function(r){var s=r.indices,l={},u=s.length;return Object.keys(r).filter(c).forEach(function(e){for(var t=r[e],n=t.numComponents,A=D(n,u,t.constructor),o=0;o<u;++o)for(var a=s[o]*n,i=0;i<n;++i)A.push(t[a+i]);l[e]=A}),l},e.flattenNormals=function(e){if(e.indices)throw"can't flatten normals of indexed vertices. deindex them first";for(var t=e.normal,n=t.length,A=0;A<n;A+=9){var o=t[A+0],a=t[A+1],i=t[A+2],r=t[A+3],s=t[A+4],l=t[A+5],u=t[A+6],c=t[A+7],g=t[A+8],o=o+r+u,r=a+s+c,u=i+l+g,a=Math.sqrt(o*o+r*r+u*u);o/=a,r/=a,u/=a,t[A+0]=o,t[A+1]=r,t[A+2]=u,t[A+3]=o,t[A+4]=r,t[A+5]=u,t[A+6]=o,t[A+7]=r,t[A+8]=u}return e},e.makeRandomVertexColors=function(e,t){t=t||{};var n=e.position.numElements,A=D(4,n,Uint8Array),o=t.rand||function(e,t){return t<3?256*Math.random()|0:255};if(e.color=A,e.indices)for(var a=0;a<n;++a)A.push(o(a,0),o(a,1),o(a,2),o(a,3));else for(var i=t.vertsPerColor||3,r=n/i,s=0;s<r;++s)for(var l=[o(s,0),o(s,1),o(s,2),o(s,3)],u=0;u<i;++u)A.push(l);return e},e.reorientDirections=u,e.reorientNormals=d,e.reorientPositions=h,e.reorientVertices=f,e.concatVertices=function(l){for(var o,a={},e=0;e<l.length;++e)!function(e){var A=l[e];Object.keys(A).forEach(function(e){a[e]||(a[e]=[]),o||"indices"===e||(o=e);var t=A[e],n=i(t,e),t=g(t).length/n;a[e].push(t)})}(e);var u=a[o],c={};return Object.keys(a).forEach(function(e){for(var t=function(e){for(var t,n=0,A=0;A<l.length;++A){var o=l[A][e];n+=g(o).length,t&&!o.data||(t=o)}return{length:n,spec:t}}(e),t=R(t.spec,t.length),n=e,A=u,o=g(t),a=0,i=0,r=0;r<l.length;++r){var s=l[r][n],s=g(s);"indices"===n?(F(s,o,i,a),a+=A[r]):F(s,o,i),i+=s.length}c[e]=t}),c},e.duplicateVertices=function(A){var o={};return Object.keys(A).forEach(function(e){var t=A[e],n=g(t),t=R(t,n.length);F(n,g(t),0),o[e]=t}),o},e.createDiscBuffers=e.createDiscBufferInfo=e.createTorusBuffers=e.createTorusBufferInfo=e.createCylinderBuffers=e.createCylinderBufferInfo=e.createCresentBuffers=e.createCresentBufferInfo=e.createXYQuadBuffers=e.createXYQuadBufferInfo=e.createTruncatedConeBuffers=e.createTruncatedConeBufferInfo=e.createSphereBuffers=e.createSphereBufferInfo=e.createPlaneBuffers=e.createPlaneBufferInfo=e.createCubeBuffers=e.createCubeBufferInfo=e.create3DFBuffers=e.create3DFBufferInfo=void 0;var A=n(t(7)),o=n(t(0)),a=n(t(1)),B=n(t(6)),w=n(t(3));function n(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var g=A.getArray_,i=A.getNumComponents_;function r(A,e){var o=0;return A.push=function(){for(var e=0;e<arguments.length;++e){var t=arguments[e];if(t instanceof Array||a.isArrayBuffer(t))for(var n=0;n<t.length;++n)A[o++]=t[n];else A[o++]=t}},A.reset=function(e){o=e||0},A.numComponents=e,Object.defineProperty(A,"numElements",{get:function(){return this.length/this.numComponents|0}}),A}function D(e,t,n){return r(new(n||Float32Array)(e*t),e)}function c(e){return"indices"!==e}function s(e,t,n){for(var A=e.length,o=new Float32Array(3),a=0;a<A;a+=3)n(t,[e[a],e[a+1],e[a+2]],o),e[a]=o[0],e[a+1]=o[1],e[a+2]=o[2]}function l(e,t,n){n=n||w.create();var A=t[0],o=t[1],t=t[2];return n[0]=A*e[0]+o*e[1]+t*e[2],n[1]=A*e[4]+o*e[5]+t*e[6],n[2]=A*e[8]+o*e[9]+t*e[10],n}function u(e,t){return s(e,t,B.transformDirection),e}function d(e,t){return s(e,B.inverse(t),l),e}function h(e,t){return s(e,t,B.transformPoint),e}function f(n,A){return Object.keys(n).forEach(function(e){var t=n[e];0<=e.indexOf("pos")?h(t,A):0<=e.indexOf("tan")||0<=e.indexOf("binorm")?u(t,A):0<=e.indexOf("norm")&&d(t,A)}),n}function p(e,t,n){return e=e||2,{position:{numComponents:2,data:[(t=t||0)+-1*(e*=.5),(n=n||0)+-1*e,t+ +e,n+-1*e,t+-1*e,n+ +e,t+ +e,n+ +e]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function m(e,t,n,A,o){e=e||1,t=t||1,n=n||1,A=A||1,o=o||B.identity();for(var a=(n+1)*(A+1),i=D(3,a),r=D(3,a),s=D(2,a),l=0;l<=A;l++)for(var u=0;u<=n;u++){var c=u/n,g=l/A;i.push(e*c-.5*e,0,t*g-.5*t),r.push(0,1,0),s.push(c,g)}for(var d=n+1,h=D(3,n*A*2,Uint16Array),p=0;p<A;p++)for(var m=0;m<n;m++)h.push((p+0)*d+m,(p+1)*d+m,(p+0)*d+m+1),h.push((p+1)*d+m,(p+1)*d+m+1,(p+0)*d+m+1);return f({position:i,normal:r,texcoord:s,indices:h},o)}function E(e,t,n,A,o,a,i){if(t<=0||n<=0)throw Error("subdivisionAxis and subdivisionHeight must be > 0");A=A||0,a=a||0;for(var r=(o=o||Math.PI)-A,s=(i=i||2*Math.PI)-a,o=(t+1)*(n+1),l=D(3,o),u=D(3,o),c=D(2,o),g=0;g<=n;g++)for(var d=0;d<=t;d++){var h=d/t,p=g/n,m=s*h,B=r*p,f=Math.sin(m),m=Math.cos(m),E=Math.sin(B),m=m*E,B=Math.cos(B),f=f*E;l.push(e*m,e*B,e*f),u.push(m,B,f),c.push(1-h,p)}for(var w=t+1,C=D(3,t*n*2,Uint16Array),I=0;I<t;I++)for(var y=0;y<n;y++)C.push((y+0)*w+I,(y+0)*w+I+1,(y+1)*w+I),C.push((y+1)*w+I,(y+0)*w+I+1,(y+1)*w+I+1);return{position:l,normal:u,texcoord:c,indices:C}}var C=[[3,7,5,1],[6,2,0,4],[6,7,3,2],[0,1,5,4],[7,6,4,5],[2,3,1,0]];function I(e){for(var e=(e=e||1)/2,t=[[-e,-e,-e],[e,-e,-e],[-e,e,-e],[e,e,-e],[-e,-e,e],[e,-e,e],[-e,e,e],[e,e,e]],n=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],A=[[1,0],[0,0],[0,1],[1,1]],o=D(3,24),a=D(3,24),i=D(2,24),r=D(3,12,Uint16Array),s=0;s<6;++s){for(var l=C[s],u=0;u<4;++u){var c=t[l[u]],g=n[s],d=A[u];o.push(c),a.push(g),i.push(d)}var h=4*s;r.push(0+h,1+h,2+h),r.push(0+h,2+h,3+h)}return{position:o,normal:a,texcoord:i,indices:r}}function y(e,t,n,A,o,a,i){if(A<3)throw Error("radialSubdivisions must be 3 or greater");if(o<1)throw Error("verticalSubdivisions must be 1 or greater");for(var a=void 0===a||a,i=void 0===i||i,r=(a?2:0)+(i?2:0),s=(A+1)*(o+1+r),l=D(3,s),u=D(3,s),c=D(2,s),g=D(3,A*(o+r)*2,Uint16Array),d=A+1,s=Math.atan2(e-t,n),h=Math.cos(s),p=Math.sin(s),m=o+(i?2:0),B=a?-2:0;B<=m;++B){var f=B/o,E=n*f,w=void 0,w=B<0?(E=0,f=1,e):o<B?(E=n,f=1,t):e+B/o*(t-e);-2!==B&&B!==o+2||(f=w=0),E-=n/2;for(var C=0;C<d;++C){var I=Math.sin(C*Math.PI*2/A),y=Math.cos(C*Math.PI*2/A);l.push(I*w,E,y*w),u.push(B<0||o<B?0:I*h,B<0?-1:o<B?1:p,B<0||o<B?0:y*h),c.push(C/A,1-f)}}for(var b=0;b<o+r;++b)for(var M=0;M<A;++M)g.push(d*(b+0)+0+M,d*(b+0)+1+M,d*(b+1)+1+M),g.push(d*(b+0)+0+M,d*(b+1)+1+M,d*(b+1)+0+M);return{position:l,normal:u,texcoord:c,indices:g}}function b(e,t){t=t||[];for(var n=[],A=0;A<e.length;A+=4){var o=e[A],a=e.slice(A+1,A+4);a.push.apply(a,t);for(var i=0;i<o;++i)n.push.apply(n,a)}return n}function M(){var e=[0,0,0,0,150,0,30,0,0,0,150,0,30,150,0,30,0,0,30,0,0,30,30,0,100,0,0,30,30,0,100,30,0,100,0,0,30,60,0,30,90,0,67,60,0,30,90,0,67,90,0,67,60,0,0,0,30,30,0,30,0,150,30,0,150,30,30,0,30,30,150,30,30,0,30,100,0,30,30,30,30,30,30,30,100,0,30,100,30,30,30,60,30,67,60,30,30,90,30,30,90,30,67,60,30,67,90,30,0,0,0,100,0,0,100,0,30,0,0,0,100,0,30,0,0,30,100,0,0,100,30,0,100,30,30,100,0,0,100,30,30,100,0,30,30,30,0,30,30,30,100,30,30,30,30,0,100,30,30,100,30,0,30,30,0,30,60,30,30,30,30,30,30,0,30,60,0,30,60,30,30,60,0,67,60,30,30,60,30,30,60,0,67,60,0,67,60,30,67,60,0,67,90,30,67,60,30,67,60,0,67,90,0,67,90,30,30,90,0,30,90,30,67,90,30,30,90,0,67,90,30,67,90,0,30,90,0,30,150,30,30,90,30,30,90,0,30,150,0,30,150,30,0,150,0,0,150,30,30,150,30,0,150,0,30,150,30,30,150,0,0,0,0,0,0,30,0,150,30,0,0,0,0,150,30,0,150,0],t=b([18,0,0,1,18,0,0,-1,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,-1,0,6,-1,0,0]),n=b([18,200,70,120,18,80,70,200,6,70,200,210,6,200,200,70,6,210,100,70,6,210,160,70,6,70,180,210,6,100,70,210,6,76,210,100,6,140,210,80,6,90,130,110,6,160,160,220],[255]),A=e.length/3,o={position:D(3,A),texcoord:D(2,A),normal:D(3,A),color:D(4,A,Uint8Array),indices:D(3,A/3,Uint16Array)};o.position.push(e),o.texcoord.push([.22,.19,.22,.79,.34,.19,.22,.79,.34,.79,.34,.19,.34,.19,.34,.31,.62,.19,.34,.31,.62,.31,.62,.19,.34,.43,.34,.55,.49,.43,.34,.55,.49,.55,.49,.43,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0]),o.normal.push(t),o.color.push(n);for(var a=0;a<A;++a)o.indices.push(a);return o}function Q(g,e,t,d,h,p,n){if(h<=0)throw Error("subdivisionDown must be > 0");var m=(n=n||1)-(p=p||0),n=2*(h+1)*4,B=D(3,n),f=D(3,n),E=D(2,n);function A(e,t,n,A,o,a){for(var i=0;i<=h;i++){var r=+t,s=i/h,l=2*(r-.5),u=(p+s*m)*Math.PI,c=Math.sin(u),u=Math.cos(u),l=(B.push(l*d,u*g,c*(g+(e-g)*c)),w.add(w.multiply([0,c,u],n),A));f.push(l),E.push(r*o+a,s)}}for(var o=0;o<2;o++){var a=2*(+o-.5);A(e,o,[1,1,1],[0,0,0],1,0),A(e,o,[0,0,0],[a,0,0],0,0),A(t,o,[1,1,1],[0,0,0],1,0),A(t,o,[0,0,0],[a,0,0],0,1)}var i=D(3,2*h*4,Uint16Array);function r(e,t){for(var n=0;n<h;++n)i.push(e+n+0,e+n+1,t+n+0),i.push(e+n+1,t+n+1,t+n+0)}n=h+1;return r(0*n,4*n),r(5*n,7*n),r(6*n,2*n),r(3*n,+n),{position:B,normal:f,texcoord:E,indices:i}}function T(e,t,n,A,o,a){return y(e,e,t,n,A,o,a)}function S(e,t,n,A,o,a){if(n<3)throw Error("radialSubdivisions must be 3 or greater");if(A<3)throw Error("verticalSubdivisions must be 3 or greater");o=o||0;for(var i=(a=a||2*Math.PI)-o,r=n+1,s=A+1,a=r*s,l=D(3,a),u=D(3,a),c=D(2,a),g=D(3,n*A*2,Uint16Array),d=0;d<s;++d)for(var h=d/A,p=h*Math.PI*2,m=Math.sin(p),B=e+m*t,f=Math.cos(p),E=f*t,w=0;w<r;++w){var C=w/n,I=o+C*i,y=Math.sin(I),I=Math.cos(I),b=y*m,M=I*m;l.push(y*B,E,I*B),u.push(b,f,M),c.push(C,1-h)}for(var Q=0;Q<A;++Q)for(var T=0;T<n;++T){var S=1+T,k=1+Q;g.push(r*Q+T,r*k+T,r*Q+S),g.push(r*k+T,r*k+S,r*Q+S)}return{position:l,normal:u,texcoord:c,indices:g}}function k(e,t,n,A,o){if(t<3)throw Error("divisions must be at least 3");o=o||1,A=A||0;for(var a=(t+1)*((n=n||1)+1),i=D(3,a),r=D(3,a),s=D(2,a),l=D(3,n*t*2,Uint16Array),u=0,c=e-A,g=t+1,d=0;d<=n;++d){for(var h=A+c*Math.pow(d/n,o),p=0;p<=t;++p){var m,B=2*Math.PI*p/t,f=h*Math.cos(B),B=h*Math.sin(B);i.push(f,0,B),r.push(0,1,0),s.push(1-p/t,d/n),0<d&&p!==t&&(B=(f=u+(p+1))-g,l.push(f,u+p,m=u+p-g),l.push(f,m,B))}u+=t+1}return{position:i,normal:r,texcoord:s,indices:l}}function v(n){return function(e){var t=n.apply(this,Array.prototype.slice.call(arguments,1));return A.createBuffersFromArrays(e,t)}}function N(n){return function(e){var t=n.apply(null,Array.prototype.slice.call(arguments,1));return A.createBufferInfoFromArrays(e,t)}}var O=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function F(e,t,n,A){A=A||0;for(var o=e.length,a=0;a<o;++a)t[n+a]=e[a]+A}function R(e,t){var n=g(e),t=new n.constructor(t),A=t;return n.numComponents&&n.numElements&&r(t,n.numComponents),e.data&&o.copyNamedProperties(O,e,A={data:t}),A}t=N(M),e.create3DFBufferInfo=t,t=v(M),e.create3DFBuffers=t,t=N(I),e.createCubeBufferInfo=t,t=v(I),e.createCubeBuffers=t,t=N(m),e.createPlaneBufferInfo=t,t=v(m),e.createPlaneBuffers=t,t=N(E),e.createSphereBufferInfo=t,t=v(E),e.createSphereBuffers=t,t=N(y),e.createTruncatedConeBufferInfo=t,t=v(y),e.createTruncatedConeBuffers=t,t=N(p),e.createXYQuadBufferInfo=t,t=v(p),e.createXYQuadBuffers=t,t=N(Q),e.createCresentBufferInfo=t,t=v(Q),e.createCresentBuffers=t,t=N(T),e.createCylinderBufferInfo=t,t=v(T),e.createCylinderBuffers=t,t=N(S),e.createTorusBufferInfo=t,t=v(S),e.createTorusBuffers=t,t=N(k),e.createDiscBufferInfo=t,t=v(k);e.createDiscBuffers=t},function(e,t,n){"use strict";var A={addExtensionsToContext:t.__esModule=!0,getContext:!0,getWebGLContext:!0,resizeCanvasToDisplaySize:!0,setDefaults:!0},o=(t.addExtensionsToContext=B,t.getContext=function(e,t){return function(e,t){for(var n=["webgl2","webgl","experimental-webgl"],A=null,o=0;o<n.length;++o)if(A=e.getContext(n[o],t)){h.addExtensionsToContext&&B(A);break}return A}(e,t)},t.getWebGLContext=function(e,t){return function(e,t){for(var n=["webgl","experimental-webgl"],A=null,o=0;o<n.length;++o)if(A=e.getContext(n[o],t)){h.addExtensionsToContext&&B(A);break}return A}(e,t)},t.resizeCanvasToDisplaySize=function(e,t){t=t||1,t=Math.max(0,t);var n=e.clientWidth*t|0,t=e.clientHeight*t|0;return(e.width!==n||e.height!==t)&&(e.width=n,e.height=t,!0)},t.setDefaults=function(e){c.copyExistingProperties(e,h),o.setAttributeDefaults_(e),a.setTextureDefaults_(e)},d(n(7))),a=(Object.keys(o).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=o[e])}),d(n(8))),c=(Object.keys(a).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=a[e])}),d(n(0))),g=d(n(4)),i=(Object.keys(g).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=g[e])}),n(12)),r=(Object.keys(i).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=i[e])}),n(13)),s=(Object.keys(r).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=r[e])}),n(5)),l=(Object.keys(s).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=s[e])}),n(1)),u=(Object.keys(l).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=l[e])}),n(14));function d(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}Object.keys(u).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(A,e)||(t[e]=u[e])});var h={addExtensionsToContext:!0};var p=/^(.*?)_/;var m=["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"];function B(e){for(var t=0;t<m.length;++t)!function(e,t){g.glEnumToString(e,0);var n=e.getExtension(t);if(n){var A,o={},a=p.exec(t)[1],i="_"+a;for(A in n){var r=n[A],s="function"==typeof r,l=s?a:i,u=A;void 0!==e[u=A.endsWith(l)?A.substring(0,A.length-l.length):u]?s||e[u]===r||c.warn(u,e[u],r,A):s?e[u]=function(e){return function(){return e.apply(n,arguments)}}(r):(e[u]=r,o[u]=r)}o.constructor={name:n.constructor.name},g.glEnumToString(o,0)}}(e,m[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.drawBufferInfo=l,t.drawObjectList=function(a,e){var i=null,r=null;e.forEach(function(e){var t,n,A,o;!1!==e.active&&(t=e.programInfo,n=e.vertexArrayInfo||e.bufferInfo,A=!1,o=void 0===e.type?a.TRIANGLES:e.type,t!==i&&(i=t,a.useProgram(t.program),A=!0),!A&&n===r||(r&&r.vertexArrayObject&&!n.vertexArrayObject&&a.bindVertexArray(null),r=n,s.setBuffersAndAttributes(a,t,n)),s.setUniforms(t,e.uniforms),l(a,n,o,e.count,e.offset,e.instanceCount))}),r.vertexArrayObject&&a.bindVertexArray(null)};var s=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(5));function l(e,t,n,A,o,a){n=void 0===n?e.TRIANGLES:n;var i=t.indices,r=t.elementType,A=void 0===A?t.numElements:A;o=void 0===o?0:o,r||i?void 0!==a?e.drawElementsInstanced(n,A,void 0===r?e.UNSIGNED_SHORT:t.elementType,o,a):e.drawElements(n,A,void 0===r?e.UNSIGNED_SHORT:t.elementType,o):void 0!==a?e.drawArraysInstanced(n,o,A,a):e.drawArrays(n,o,A)}},function(e,t,n){"use strict";t.__esModule=!0,t.bindFramebufferInfo=function(e,t,n){n=n||e.FRAMEBUFFER,t?(e.bindFramebuffer(n,t.framebuffer),e.viewport(0,0,t.width,t.height)):(e.bindFramebuffer(n,null),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight))},t.createFramebufferInfo=function(o,e,a,i){var r=o.FRAMEBUFFER,t=o.createFramebuffer(),s=(o.bindFramebuffer(r,t),a=a||o.drawingBufferWidth,i=i||o.drawingBufferHeight,0),l={framebuffer:t,attachments:[],width:a,height:i};return(e=e||d).forEach(function(e){var t=e.attachment,n=e.format,A=(A=h[n])||g+s++;if(t||(p[n]?(t=o.createRenderbuffer(),o.bindRenderbuffer(o.RENDERBUFFER,t),o.renderbufferStorage(o.RENDERBUFFER,n,a,i)):((n=Object.assign({},e)).width=a,n.height=i,void 0===n.auto&&(n.auto=!1,n.min=n.min||n.minMag||o.LINEAR,n.mag=n.mag||n.minMag||o.LINEAR,n.wrapS=n.wrapS||n.wrap||o.CLAMP_TO_EDGE,n.wrapT=n.wrapT||n.wrap||o.CLAMP_TO_EDGE),t=u.createTexture(o,n))),c.isRenderbuffer(o,t))o.framebufferRenderbuffer(r,A,o.RENDERBUFFER,t);else{if(!c.isTexture(o,t))throw"unknown attachment type";o.framebufferTexture2D(r,A,e.texTarget||o.TEXTURE_2D,t,e.level||0)}l.attachments.push(t)}),l},t.resizeFramebufferInfo=function(A,o,e,a,i){a=a||A.drawingBufferWidth,i=i||A.drawingBufferHeight,o.width=a,o.height=i,(e=e||d).forEach(function(e,t){var t=o.attachments[t],n=e.format;if(c.isRenderbuffer(A,t))A.bindRenderbuffer(A.RENDERBUFFER,t),A.renderbufferStorage(A.RENDERBUFFER,n,a,i);else{if(!c.isTexture(A,t))throw"unknown attachment type";u.resizeTexture(A,t,e,a,i)}})};var u=A(n(8)),c=A(n(0));function A(e){if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}var g=36064,d=[{format:6408,type:5121,min:9729,wrap:33071},{format:34041}],h={};h[34041]=33306,h[6401]=36128,h[36168]=36128,h[6402]=36096,h[33189]=36096;var p={};p[32854]=!0,p[32855]=!0,p[36194]=!0,p[34041]=!0,p[33189]=!0,p[6401]=!0,p[36168]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createVertexArrayInfo=function(t,e,n){var A=t.createVertexArray();t.bindVertexArray(A),e.length||(e=[e]);return e.forEach(function(e){a.setBuffersAndAttributes(t,e,n)}),t.bindVertexArray(null),{numElements:n.numElements,elementType:n.elementType,vertexArrayObject:A}},t.createVAOAndSetAttributes=A,t.createVAOFromBufferInfo=function(e,t,n){return A(e,t.attribSetters||t,n.attribs,n.indices)};var a=function(e){{if(e&&e.__esModule)return e;var t,n={};if(null!=e)for(var A in e)Object.prototype.hasOwnProperty.call(e,A)&&((t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,A):{}).get||t.set?Object.defineProperty(n,A,t):n[A]=e[A]);return n.default=e,n}}(n(5));function A(e,t,n,A){var o=e.createVertexArray();return e.bindVertexArray(o),a.setAttributes(t,n),A&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,A),e.bindVertexArray(null),o}}],o={},A.m=n,A.c=o,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=9);function A(e){var t;return(o[e]||(t=o[e]={i:e,l:!1,exports:{}},n[e].call(t.exports,t,t.exports,A),t.l=!0,t)).exports}var n,o},e.exports=A()},function(R,e,t){"use strict";var n=t(1),n=t.n(n),A=t(3),o=t(644),o=t.n(o),a=t(645),a=t.n(a),i=t(646),i=t.n(i),r=t(647),r=t.n(r),s=t(648),s=t.n(s),l=t(649),l=t.n(l),u=t(650),u=t.n(u),c=t(651),c=t.n(c),g=t(652),g=t.n(g),d=t(653),d=t.n(d),h=t(654),h=t.n(h),p=t(655),p=t.n(p),m=t(656),m=t.n(m),B=t(657),B=t.n(B),f=t(658),f=t.n(f),E=t(280),E=t.n(E),w=t(659),w=t.n(w),C=t(660),C=t.n(C),I=t(281),I=t.n(I),y=t(661),y=t.n(y),b=t(662),b=t.n(b),M=t(282),M=t.n(M),Q=t(663),Q=t.n(Q),T=t(664),T=t.n(T),S=t(665),S=t.n(S),k=t(283),k=t.n(k),D=t(666),D=t.n(D),v=t(667),v=t.n(v),N=t(668),N=t.n(N),O=t(284),O=t.n(O),F=t(669);e.a=[{name:n.a.createElement(A.a,{defaultMessage:"Music",id:"gui.extension.music.name"}),extensionId:"music",iconURL:o.a,insetIconURL:a.a,description:n.a.createElement(A.a,{defaultMessage:"Play instruments and drums.",id:"gui.extension.music.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Pen",id:"gui.extension.pen.name"}),extensionId:"pen",iconURL:i.a,insetIconURL:r.a,description:n.a.createElement(A.a,{defaultMessage:"Draw with your sprites.",id:"gui.extension.pen.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Video Sensing",id:"gui.extension.videosensing.name"}),extensionId:"videoSensing",iconURL:s.a,insetIconURL:l.a,description:n.a.createElement(A.a,{defaultMessage:"Sense motion with the camera.",id:"gui.extension.videosensing.description"}),featured:!0},{name:n.a.createElement(A.a,{defaultMessage:"Speak",id:"gui.extension.text2speech.name"}),extensionId:"text2speech",collaborator:"Amazon Web Services",iconURL:u.a,insetIconURL:c.a,description:n.a.createElement(A.a,{defaultMessage:"Make your projects talk.",id:"gui.extension.text2speech.description"}),featured:!0,internetConnectionRequired:!0},{name:n.a.createElement(A.a,{defaultMessage:"Translate",id:"gui.extension.translate.name"}),extensionId:"translate",collaborator:"Google",iconURL:g.a,insetIconURL:d.a,description:n.a.createElement(A.a,{defaultMessage:"Translate text into many languages.",id:"gui.extension.translate.description"}),featured:!0,internetConnectionRequired:!0},{name:"Makey Makey",extensionId:"makeymakey",collaborator:"JoyLabz",iconURL:h.a,insetIconURL:p.a,description:n.a.createElement(A.a,{defaultMessage:"Make anything into a key.",id:"gui.extension.makeymakey.description"}),featured:!0},{name:"Machine Learning",extensionId:"martymachine",collaborator:"robotical",iconURL:m.a,insetIconURL:B.a,description:n.a.createElement(A.a,{defaultMessage:"Use Machine Learning to build AI models into MartyBlocks",id:"gui.extension.martymachine.description"}),featured:!0},{name:"micro:bit",extensionId:"microbit",collaborator:"micro:bit",iconURL:f.a,insetIconURL:E.a,description:n.a.createElement(A.a,{defaultMessage:"Connect your projects with the world.",id:"gui.extension.microbit.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:w.a,connectionSmallIconURL:E.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.microbit.connectingMessage"}),helpLink:"https://scratch.mit.edu/microbit"},{name:"LEGO MINDSTORMS EV3",extensionId:"ev3",collaborator:"LEGO",iconURL:C.a,insetIconURL:I.a,description:n.a.createElement(A.a,{defaultMessage:"Build interactive robots and more.",id:"gui.extension.ev3.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:y.a,connectionSmallIconURL:I.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting. Make sure the pin on your EV3 is set to 1234.",id:"gui.extension.ev3.connectingMessage"}),helpLink:"https://scratch.mit.edu/ev3"},{name:"LEGO BOOST",extensionId:"boost",collaborator:"LEGO",iconURL:S.a,insetIconURL:k.a,description:n.a.createElement(A.a,{defaultMessage:"Bring robotic creations to life.",id:"gui.extension.boost.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!0,connectionIconURL:D.a,connectionSmallIconURL:k.a,connectionTipIconURL:v.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.boost.connectingMessage"}),helpLink:"https://scratch.mit.edu/boost"},{name:"LEGO Education WeDo 2.0",extensionId:"wedo2",collaborator:"LEGO",iconURL:b.a,insetIconURL:M.a,description:n.a.createElement(A.a,{defaultMessage:"Build with motors and sensors.",id:"gui.extension.wedo2.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!0,connectionIconURL:Q.a,connectionSmallIconURL:M.a,connectionTipIconURL:T.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.wedo2.connectingMessage"}),helpLink:"https://scratch.mit.edu/wedo"},{name:"Go Direct Force & Acceleration",extensionId:"gdxfor",collaborator:"Vernier",iconURL:N.a,insetIconURL:O.a,description:n.a.createElement(A.a,{defaultMessage:"Sense push, pull, motion, and spin.",id:"gui.extension.gdxfor.description"}),featured:!0,disabled:!1,bluetoothRequired:!0,internetConnectionRequired:!0,launchPeripheralConnectionFlow:!0,useAutoScan:!1,connectionIconURL:t.n(F).a,connectionSmallIconURL:O.a,connectingMessage:n.a.createElement(A.a,{defaultMessage:"Connecting",id:"gui.extension.gdxfor.connectingMessage"}),helpLink:"https://scratch.mit.edu/vernier"}]},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return r}),n.d(t,"d",function(){return s});var A="scratch-gui/hovered-target/SET_HOVERED_SPRITE",o="scratch-gui/hovered-target/SET_RECEIVED_BLOCKS",a={sprite:null,receivedBlocks:!1},i=function(e,t){switch(void 0===e&&(e=a),t.type){case A:return{sprite:t.spriteId,receivedBlocks:!1};case o:return{sprite:e.sprite,receivedBlocks:t.receivedBlocks};default:return e}},r=function(e){return{type:A,spriteId:e,meta:{throttle:30}}},s=function(e){return{type:o,receivedBlocks:e}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return i});var A="projectTitle/SET_PROJECT_TITLE",o="",a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:t.title},i=function(e){return{type:A,title:e}}},function(e,t,n){var A=n(1374),o=n(1377),a=n(541),i=n(537),r=n(1379),s=n(540),l=n(369),n=n(538);e.exports={BitmapAdapter:o,convertFonts:n,inlineSvgFonts:a,loadSvgString:i,sanitizeSvg:r,serializeSvgToString:s,SvgElement:l,SVGRenderer:A}},function(D,v,e){"use strict";var t=e(0),n=e.n(t),M=e(1),j=e.n(M),N=e(43),A=e(7),O=e(59),F=e.n(O),O=e(11),o=e.n(O),z=e(3),O=e(52),r=e(13),s=e(19),R=e(26),a=e(54),X=e.n(a),Y=e(228);function x(e){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?U(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?U(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function G(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=H(n),t=(e=A?(e=H(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==x(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function H(e){return(H=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var q=["Sans Serif","Serif","Handwriting","Marker","Curly","Pixel","Scratch"],Z=e(279);function $(e){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ee=["locale","onSetLanguage"];function te(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ne(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ae(e,t){return(Ae=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oe(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=ae(n),t=(e=A?(e=ae(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function ae(e){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ie(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ae(t,e);var n,A=oe(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(e){e.locale!==this.props.locale&&this.props.onSetLanguage(this.props.locale)}},{key:"render",value:function(){var e=this.props,e=(e.locale,e.onSetLanguage,te(e,ee));return j.a.createElement(Z.a,null,j.a.createElement(a,e))}}])&&ne(t.prototype,e),n&&ne(t,n),o}(j.a.Component);return e.propTypes={locale:n.a.string,onSetLanguage:n.a.func},e.defaultProps={onSetLanguage:function(){}},Object(A.b)(function(e){return{locale:e.locales.locale}},function(){return{}})(e)}var a=e(5),l=e.n(a),re=e(30),se=e(93),le=e(120),ue=e(45);function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ge=["cancelFileUpload","closeFileMenu","isLoadingUpload","isShowingWithoutId","loadingState","onLoadingFinished","onLoadingStarted","onSetProjectTitle","projectChanged","requestProjectUpload","userOwnsProject"];function de(){return(de=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function he(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function pe(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Be(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ee(A);return e=o?(e=Ee(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ce(t)&&"function"!=typeof t?fe(n):t}}function fe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(e){return(Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var we=Object(z.d)({loadError:{id:"gui.projectLoader.loadError",defaultMessage:"The project file that was selected failed to load."}}),Ce=e(92),Ie=e(44);function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var be=["assetHost","intl","isLoadingProject","loadingState","onActivateTab","onError","onFetchedProjectData","onProjectUnchanged","projectHost","projectId","reduxProjectId","setProjectId","isFetchingWithId"];function Me(){return(Me=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Qe(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Te(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Se(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ke(e,t){return(ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function De(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ne(A);return e=o?(e=Ne(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ye(t)&&"function"!=typeof t?ve(n):t}}function ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ne(e){return(Ne=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Oe(e){return(Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Fe=["intl","isAnyCreatingNewState","isShowingWithoutId","onChangedProjectTitle","onUpdateProjectTitle","projectTitle","reduxProjectTitle"];function Re(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ye(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function xe(e,t){return(xe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _e(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Ue(n),t=(e=A?(e=Ue(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Oe(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Ue(e){return(Ue=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ge=Object(z.d)({defaultProjectTitle:{id:"gui.gui.defaultProjectTitle",defaultMessage:"Scratch Project"}});function Le(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?Pe(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pe(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}var He=function(e){var t,n={projectName:1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",language:2<arguments.length&&void 0!==arguments[2]?arguments[2]:"",spriteCount:0,blocksCount:0,costumesCount:0,listsCount:0,scriptCount:0,soundsCount:0,variablesCount:0},A=Le(e.runtime.targets);try{for(A.s();!(t=A.n()).done;){var o,a=t.value;for(o in++n.spriteCount,n.blocksCount+=Object.keys(a.sprite.blocks._blocks).length,n.costumesCount+=a.sprite.costumes_.length,n.scriptCount+=a.sprite.blocks._scripts.length,n.soundsCount+=a.sprite.sounds.length,a.variables)"list"===a.variables[o].type?++n.listsCount:++n.variablesCount}}catch(e){A.e(e)}finally{A.f()}return n};function je(a,e,t){var n={body:e,headers:{"Content-Type":"application/json"},withCredentials:!0},i=null==a,e={};return t.hasOwnProperty("originalId")&&(e.original_id=t.originalId),t.hasOwnProperty("isCopy")&&(e.is_copy=t.isCopy),t.hasOwnProperty("isRemix")&&(e.is_remix=t.isRemix),t.hasOwnProperty("title")&&(e.title=t.title),t=(t=ze.a.stringify(e))&&"?".concat(t),i?Object.assign(n,{method:"post",url:"".concat(Ie.a.projectHost,"/").concat(t)}):Object.assign(n,{method:"put",url:"".concat(Ie.a.projectHost,"/").concat(a).concat(t)}),new Promise(function(A,o){Je()(n,function(e,t){if(e)return o(e);if(200!==t.statusCode)return o(t.statusCode);var n;try{n=JSON.parse(t.body)}catch(e){return o(e)}n.id=a,i&&(n.id=n["content-name"]),A(n)})})}var a=e(185),ze=e.n(a),a=e(169),Je=e.n(a),We=e(37),Ve=e(229),Ke=["autoSaveTimeoutId","autoSaveIntervalSecs","isCreatingCopy","isCreatingNew","projectChanged","isAnyCreatingNewState","isLoading","isManualUpdating","isRemixing","isShowingSaveable","isShowingWithId","isShowingWithoutId","isUpdating","loadingState","onAutoUpdateProject","onCreatedProject","onCreateProject","onProjectError","onRemixing","onSetProjectUnchanged","onSetProjectThumbnailer","onSetProjectSaver","onShowAlert","onShowCopySuccessAlert","onShowRemixSuccessAlert","onShowCreatingCopyAlert","onShowCreatingRemixAlert","onShowSaveSuccessAlert","onShowSavingAlert","onUpdatedProject","onUpdateProjectData","onUpdateProjectThumbnail","reduxProjectId","reduxProjectTitle","setAutoSaveTimeoutId"];function Xe(){return(Xe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function qe(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ze(e){return(Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $e(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tt(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=At(A);return e=o?(e=At(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ze(t)&&"function"!=typeof t?nt(n):t}}function nt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function At(e){return(At=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ot=e(68),at=e(84),it=function(e){for(var t in ot.a)if(ot.a[t].urlId===e)return at.a.event({category:"how-to",action:"load from url",label:"".concat(t)}),t;return null},rt=e(60);function st(e){return(st="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var lt=["onOpenTipsLibrary","onUpdateReduxDeck"];function ut(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ct(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function gt(e,t){return(gt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dt(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=ht(n),t=(e=A?(e=ht(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==st(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function ht(e){return(ht=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=e(222),pt=e.n(a),mt=e(167),Bt=e(225),ft=e(227),Et=e(126),wt=e(226);function Ct(){var n=this;return new Promise(function(e){var t=new FileReader;t.onload=function(){e(t.result)},t.readAsArrayBuffer(n)})}File.prototype.arrayBuffer=File.prototype.arrayBuffer||Ct,Blob.prototype.arrayBuffer=Blob.prototype.arrayBuffer||Ct;function It(n){return new Promise(function(e){var t=new FileReader;t.readAsDataURL(n),t.onloadend=function(){e(t.result)}})}function yt(e){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var bt=["attachKeyboardEvents","projectChanged","shouldUpdateTargets","shouldUpdateProjectChanged","onBlockDragUpdate","onGreenFlag","onKeyDown","onKeyUp","onMicListeningUpdate","onMonitorsUpdate","onTargetsUpdate","onProjectChanged","onProjectRunStart","onProjectRunStop","onProjectSaved","onRuntimeStarted","onTurboModeOff","onTurboModeOn","onShowExtensionAlert"];function Mt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Qt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Tt(e,t){return(Tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function St(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Dt(A);return e=o?(e=Dt(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==yt(t)&&"function"!=typeof t?kt(n):t}}function kt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dt(e){return(Dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vt(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Tt(t,e);var n,A=St(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(kt(e),["handleKeyDown","handleKeyUp","handleProjectChanged","handleTargetsUpdate","handleProjectRunStart"]),e.props.vm.on("targetsUpdate",e.handleTargetsUpdate),e.props.vm.on("MONITORS_UPDATE",e.props.onMonitorsUpdate),e.props.vm.on("BLOCK_DRAG_UPDATE",e.props.onBlockDragUpdate),e.props.vm.on("TURBO_MODE_ON",e.props.onTurboModeOn),e.props.vm.on("TURBO_MODE_OFF",e.props.onTurboModeOff),e.props.vm.on("PROJECT_RUN_START",e.handleProjectRunStart),e.props.vm.on("PROJECT_RUN_STOP",e.props.onProjectRunStop),e.props.vm.on("PROJECT_CHANGED",e.handleProjectChanged),e.props.vm.on("RUNTIME_STARTED",e.props.onRuntimeStarted),e.props.vm.on("PROJECT_START",e.props.onGreenFlag),e.props.vm.on("PERIPHERAL_CONNECTION_LOST_ERROR",e.props.onShowExtensionAlert),e.props.vm.on("MIC_LISTENING",e.props.onMicListeningUpdate),e.autoSaveProject=pt()(e.autoSaveProject.bind(kt(e)),1e3),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.attachKeyboardEvents&&(document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)),this.props.vm.postIOData("userData",{username:this.props.username})}},{key:"componentDidUpdate",value:function(e){e.username!==this.props.username&&this.props.vm.postIOData("userData",{username:this.props.username}),this.props.shouldUpdateTargets&&!e.shouldUpdateTargets&&this.props.vm.emitTargetsUpdate(!1)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_CONNECTION_LOST_ERROR",this.props.onShowExtensionAlert),this.props.attachKeyboardEvents&&(document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp))}},{key:"handleProjectRunStart",value:function(){this.props.onProjectRunStart()}},{key:"handleProjectChanged",value:function(){this.props.shouldUpdateProjectChanged&&!this.props.projectChanged&&this.props.onProjectChanged(),this.autoSaveProject(),this.updatePythonModalCode()}},{key:"autoSaveProject",value:function(){console.log('Saving project to "__autosave"'),this.props.vm.saveProjectSb3().then(function(e){It(e).then(function(e){try{mv2Interface.saveScratchFile("__autosave",e)}catch(e){console.error("Failed to auto save project",e.message)}})})}},{key:"updatePythonModalCode",value:function(){var e;pythonTranspiler.isModalOpen&&(e=JSON.parse(vm.toJSON()),pythonTranspiler.fromSb3JSON(e,{getAsset:function(){}}).then(function(e){return e.toPython()}).then(function(e){pythonTranspiler.setModal(e)}))}},{key:"handleTargetsUpdate",value:function(e){this.props.shouldUpdateTargets&&this.props.onTargetsUpdate(e)}},{key:"handleKeyDown",value:function(e){var t;(e.target===document||e.target===document.body)&&(t=e.key&&"Dead"!==e.key?e.key:e.keyCode,this.props.vm.postIOData("keyboard",{key:t,isDown:!0}),32===e.keyCode||37<=e.keyCode&&e.keyCode<=40)&&e.preventDefault()}},{key:"handleKeyUp",value:function(e){var t=e.key&&"Dead"!==e.key?e.key:e.keyCode;this.props.vm.postIOData("keyboard",{key:t,isDown:!1}),e.target!==document&&e.target!==document.body&&e.preventDefault()}},{key:"render",value:function(){var e=this.props,e=(e.attachKeyboardEvents,e.projectChanged,e.shouldUpdateTargets,e.shouldUpdateProjectChanged,e.onBlockDragUpdate,e.onGreenFlag,e.onKeyDown,e.onKeyUp,e.onMicListeningUpdate,e.onMonitorsUpdate,e.onTargetsUpdate,e.onProjectChanged,e.onProjectRunStart,e.onProjectRunStop,e.onProjectSaved,e.onRuntimeStarted,e.onTurboModeOff,e.onTurboModeOn,e.onShowExtensionAlert,Mt(e,bt));return j.a.createElement(a,e)}}])&&Qt(t.prototype,e),n&&Qt(t,n),o}(j.a.Component);return e.propTypes={attachKeyboardEvents:n.a.bool,onBlockDragUpdate:n.a.func.isRequired,onGreenFlag:n.a.func,onKeyDown:n.a.func,onKeyUp:n.a.func,onMicListeningUpdate:n.a.func.isRequired,onMonitorsUpdate:n.a.func.isRequired,onProjectChanged:n.a.func.isRequired,onProjectRunStart:n.a.func.isRequired,onProjectRunStop:n.a.func.isRequired,onProjectSaved:n.a.func.isRequired,onRuntimeStarted:n.a.func.isRequired,onShowExtensionAlert:n.a.func.isRequired,onTargetsUpdate:n.a.func.isRequired,onTurboModeOff:n.a.func.isRequired,onTurboModeOn:n.a.func.isRequired,projectChanged:n.a.bool,shouldUpdateTargets:n.a.bool,shouldUpdateProjectChanged:n.a.bool,username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={attachKeyboardEvents:!0,onGreenFlag:function(){return{}}},Object(A.b)(function(e){return{projectChanged:e.scratchGui.projectChanged,shouldUpdateTargets:!e.scratchGui.mode.isFullScreen&&!e.scratchGui.mode.isPlayerOnly&&!e.scratchGui.modals.soundRecorder,shouldUpdateProjectChanged:!e.scratchGui.mode.isFullScreen&&!e.scratchGui.mode.isPlayerOnly,vm:e.scratchGui.vm,username:e.session&&e.session.session&&e.session.session.user?e.session.session.user.username:""}},function(t){return{onTargetsUpdate:function(e){t(Object(mt.d)(e.targetList,e.editingTarget))},onMonitorsUpdate:function(e){t(Object(ft.c)(e))},onBlockDragUpdate:function(e){t(Object(Bt.c)(e))},onProjectRunStart:function(){return t(Object(Et.b)(!0))},onProjectRunStop:function(){return t(Object(Et.b)(!1))},onProjectChanged:function(){return t(Object(Ce.c)())},onProjectSaved:function(){return t(Object(Ce.d)())},onRuntimeStarted:function(){return t(Object(Et.c)(!0))},onTurboModeOn:function(){return t(Object(Et.d)(!0))},onTurboModeOff:function(){return t(Object(Et.d)(!1))},onShowExtensionAlert:function(e){t(Object(We.g)(e))},onMicListeningUpdate:function(e){t(Object(wt.c)(e))}}})(e)}var a=e(294),Nt=e.n(a);function Ot(e){return(Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ft=["fontsLoaded","loadingState","locale","messages","isStarted","onError","onLoadedProject","onSetProjectUnchanged","projectData","isLoadingWithId","vm"];function Rt(){return(Rt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Yt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function xt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function _t(e,t){return(_t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ut(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Lt(A);return e=o?(e=Lt(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ot(t)&&"function"!=typeof t?Gt(n):t}}function Gt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lt(e){return(Lt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pt(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_t(t,e);var n,A=Ut(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Gt(e),["loadProject"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.initialized||(this.audioEngine=new Nt.a,this.props.vm.attachAudioEngine(this.audioEngine),this.props.vm.setCompatibilityMode(!0),this.props.vm.initialized=!0,this.props.vm.setLocale(this.props.locale,this.props.messages)),this.props.isPlayerOnly||this.props.isStarted||this.props.vm.start()}},{key:"componentDidUpdate",value:function(e){!this.props.isLoadingWithId||!this.props.fontsLoaded||e.isLoadingWithId&&e.fontsLoaded||this.loadProject(),this.props.isPlayerOnly||this.props.isStarted||this.props.vm.start()}},{key:"loadProject",value:function(){var t=this;return this.props.vm.loadProject(this.props.projectData).then(function(){t.props.onLoadedProject(t.props.loadingState,t.props.canSave),setTimeout(function(){return t.props.onSetProjectUnchanged()}),t.props.isStarted||setTimeout(function(){return t.props.vm.renderer.draw()})}).catch(function(e){t.props.onError(e)})}},{key:"render",value:function(){var e=this.props,t=(e.fontsLoaded,e.loadingState,e.locale,e.messages,e.isStarted,e.onError,e.onLoadedProject,e.onSetProjectUnchanged,e.projectData,e.isLoadingWithId),n=e.vm,e=Yt(e,Ft);return j.a.createElement(a,Rt({isLoading:t,vm:n},e))}}])&&xt(t.prototype,e),n&&xt(t,n),o}(j.a.Component);return e.propTypes={canSave:n.a.bool,cloudHost:n.a.string,fontsLoaded:n.a.bool,isLoadingWithId:n.a.bool,isPlayerOnly:n.a.bool,isStarted:n.a.bool,loadingState:n.a.oneOf(r.a),locale:n.a.string,messages:n.a.objectOf(n.a.string),onError:n.a.func,onLoadedProject:n.a.func,onSetProjectUnchanged:n.a.func,projectData:n.a.oneOfType([n.a.object,n.a.string]),projectId:n.a.oneOfType([n.a.string,n.a.number]),username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{fontsLoaded:e.scratchGui.fontsLoaded,isLoadingWithId:Object(r.p)(t),locale:e.locales.locale,messages:e.locales.messages,projectData:e.scratchGui.projectState.projectData,projectId:e.scratchGui.projectState.projectId,loadingState:t,isPlayerOnly:e.scratchGui.mode.isPlayerOnly,isStarted:e.scratchGui.vmStatus.started}},function(n){return{onError:function(e){return n(Object(r.z)(e))},onLoadedProject:function(e,t){return n(Object(r.y)(e,t,!0))},onSetProjectUnchanged:function(){return n(Object(Ce.d)())}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}var a=e(385),Ht=e.n(a);function jt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var zt=function(){function o(e,t,n,A){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");this.vm=t,this.username=n,this.projectId=A,this.cloudHost=e,this.connectionAttempts=0,this.queuedData=[],this.openConnection(),this.sendCloudData=Ht()(this._sendCloudData,100)}var e,t,n;return e=o,(t=[{key:"openConnection",value:function(){this.connectionAttempts+=1;try{this.connection=new WebSocket(("http:"===location.protocol?"ws://":"wss://")+this.cloudHost)}catch(e){return re.a.warn("Websocket support is not available in this browser",e),void(this.connection=null)}this.connection.onerror=this.onError.bind(this),this.connection.onmessage=this.onMessage.bind(this),this.connection.onopen=this.onOpen.bind(this),this.connection.onclose=this.onClose.bind(this)}},{key:"onError",value:function(e){re.a.error("Websocket connection error: ".concat(JSON.stringify(e)))}},{key:"onMessage",value:function(e){var t=this;e.data.split("\n").forEach(function(e){e&&(e=t.parseMessage(JSON.parse(e)),t.vm.postIOData("cloud",e))})}},{key:"onOpen",value:function(){var t=this;this.connectionAttempts=1,this.writeToServer("handshake"),re.a.info("Successfully connected to clouddata server."),this.queuedData.forEach(function(e){t.sendCloudData(e)}),this.queuedData=[]}},{key:"onClose",value:function(){re.a.info("Closed connection to websocket");var e=this.randomizeDuration(this.exponentialTimeout());this.setTimeout(this.openConnection.bind(this),e)}},{key:"exponentialTimeout",value:function(){return 1e3*(Math.pow(2,Math.min(this.connectionAttempts,5))-1)}},{key:"randomizeDuration",value:function(e){return Math.random()*e}},{key:"setTimeout",value:function(e,t){re.a.info("Reconnecting in ".concat((t/1e3).toFixed(1),"s, attempt ").concat(this.connectionAttempts)),this._connectionTimeout=window.setTimeout(e,t)}},{key:"parseMessage",value:function(e){var t={};return"set"===e.method&&(t.varUpdate={name:e.name,value:e.value}),t}},{key:"writeToServer",value:function(e,t,n,A){var o={},e=(o.method=e,o.user=this.username,o.project_id=this.projectId,t&&(o.name=t),A&&(o.new_name=A),null!=n&&(o.value=n),JSON.stringify(o));this.connection&&this.connection.readyState===WebSocket.OPEN?this.sendCloudData(e):"create"!==o.method&&"delete"!==o.method&&"rename"!==o.method||this.queuedData.push(e)}},{key:"_sendCloudData",value:function(e){this.connection.send("".concat(e,"\n"))}},{key:"createVariable",value:function(e,t){this.writeToServer("create",e,t)}},{key:"updateVariable",value:function(e,t){this.writeToServer("set",e,t)}},{key:"renameVariable",value:function(e,t){this.writeToServer("rename",e,null,t)}},{key:"deleteVariable",value:function(e){this.writeToServer("delete",e)}},{key:"requestCloseConnection",value:function(){this.connection&&this.connection.readyState!==WebSocket.CLOSING&&this.connection.readyState!==WebSocket.CLOSED&&(re.a.info("Request close cloud connection without reconnecting"),this.connection.onclose=function(){},this.connection.onerror=function(){},this.connection.close()),this.clear()}},{key:"clear",value:function(){this.connection=null,this.vm=null,this.username=null,this.projectId=null,this._connectionTimeout&&(clearTimeout(this._connectionTimeout),this._connectionTimeout=null),this.connectionAttempts=0}}])&&jt(e.prototype,t),n&&jt(e,n),o}();function Jt(e){return(Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Wt=["canModifyCloudData","cloudHost","projectId","username","hasCloudPermission","isShowingWithId","onShowCloudInfo","vm"];function Vt(){return(Vt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Kt(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Xt(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function qt(e,t){return(qt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zt(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=en(A);return e=o?(e=en(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Jt(t)&&"function"!=typeof t?$t(n):t}}function $t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tn(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&qt(t,e);var n,A=Zt(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).cloudProvider=null,l()($t(e),["handleCloudDataUpdate"]),e.props.vm.on("HAS_CLOUD_DATA_UPDATE",e.handleCloudDataUpdate),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.shouldConnect(this.props)&&this.connectToCloud()}},{key:"componentDidUpdate",value:function(e){this.shouldConnect(this.props)&&!this.shouldConnect(e)&&this.connectToCloud(),this.shouldDisconnect(this.props,e)&&this.disconnectFromCloud()}},{key:"componentWillUnmount",value:function(){this.disconnectFromCloud()}},{key:"canUseCloud",value:function(e){return!!(e.cloudHost&&e.username&&e.vm&&e.projectId&&e.hasCloudPermission)}},{key:"shouldConnect",value:function(e){return!this.isConnected()&&this.canUseCloud(e)&&e.isShowingWithId&&e.vm.runtime.hasCloudData()&&e.canModifyCloudData}},{key:"shouldDisconnect",value:function(e,t){return this.isConnected()&&(!this.canUseCloud(e)||!e.vm.runtime.hasCloudData()||e.projectId!==t.projectId||e.username!==t.username||!e.canModifyCloudData)}},{key:"isConnected",value:function(){return this.cloudProvider&&!!this.cloudProvider.connection}},{key:"connectToCloud",value:function(){this.cloudProvider=new zt(this.props.cloudHost,this.props.vm,this.props.username,this.props.projectId),this.props.vm.setCloudProvider(this.cloudProvider)}},{key:"disconnectFromCloud",value:function(){this.cloudProvider&&(this.cloudProvider.requestCloseConnection(),this.cloudProvider=null,this.props.vm.setCloudProvider(null))}},{key:"handleCloudDataUpdate",value:function(e){this.isConnected()&&!e?this.disconnectFromCloud():this.shouldConnect(this.props)&&(this.props.onShowCloudInfo(),this.connectToCloud())}},{key:"render",value:function(){var e=this.props,t=(e.canModifyCloudData,e.cloudHost,e.projectId,e.username,e.hasCloudPermission,e.isShowingWithId,e.onShowCloudInfo,e.vm),e=Kt(e,Wt);return j.a.createElement(a,Vt({canUseCloud:this.canUseCloud(this.props),vm:t},e))}}])&&Xt(t.prototype,e),n&&Xt(t,n),o}(j.a.Component);return e.propTypes={canModifyCloudData:n.a.bool.isRequired,cloudHost:n.a.string,hasCloudPermission:n.a.bool,isShowingWithId:n.a.bool.isRequired,onShowCloudInfo:n.a.func,projectId:n.a.oneOfType([n.a.string,n.a.number]),username:n.a.string,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={cloudHost:null,hasCloudPermission:!1,onShowCloudInfo:function(){},username:null},Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState;return{isShowingWithId:Object(r.t)(n),projectId:e.scratchGui.projectState.projectId,canModifyCloudData:!e.scratchGui.mode.hasEverEnteredEditor||t.canSave}},function(e){return{onShowCloudInfo:function(){return Object(We.f)(e,"cloudInfo")}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}var a=e(4),J=e.n(a),a=e(168),nn=e.n(a);function An(e){return e.type&&"Tab"===e.type.tabsRole}function on(e){return e.type&&"TabPanel"===e.type.tabsRole}function an(e){return e.type&&"TabList"===e.type.tabsRole}function rn(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},t=Object.keys(o);(t="function"==typeof Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})):t).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n})}return A}function sn(e,n){return M.Children.map(e,function(e){var t;return null===e?null:An(t=e)||an(t)||on(t)?n(e):e.props&&e.props.children&&"object"==typeof e.props.children?Object(M.cloneElement)(e,rn({},e.props,{children:sn(e.props.children,n)})):e})}function ln(e,t){M.Children.forEach(e,function(e){null!==e&&(An(e)||on(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children&&(an(e)&&t(e),ln(e.props.children,t)))})}var un,cn=0;function gn(){return"react-tabs-"+cn++}function dn(e){var t=0;return ln(e,function(e){An(e)&&t++}),t}function hn(){return(hn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function pn(e){return"getAttribute"in e&&"tab"===e.getAttribute("role")}function mn(e){return"true"===e.getAttribute("aria-disabled")}try{un=!("undefined"==typeof window||!window.document||!window.document.activeElement)}catch(e){un=!1}var Bn=function(A){var e;function t(){for(var o,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(o=A.call.apply(A,[this].concat(t))||this).tabNodes=[],o.handleKeyDown=function(e){var t,n,A;o.isTabFromContainer(e.target)&&(t=o.props.selectedIndex,A=n=!1,32!==e.keyCode&&13!==e.keyCode||(A=!(n=!0),o.handleClick(e)),37===e.keyCode||38===e.keyCode?(t=o.getPrevTab(t),A=n=!0):39===e.keyCode||40===e.keyCode?(t=o.getNextTab(t),A=n=!0):35===e.keyCode?(t=o.getLastTab(),A=n=!0):36===e.keyCode&&(t=o.getFirstTab(),A=n=!0),n&&e.preventDefault(),A)&&o.setSelected(t,e)},o.handleClick=function(e){var t,n=e.target;do{if(o.isTabFromContainer(n))return mn(n)?void 0:(t=[].slice.call(n.parentNode.children).filter(pn).indexOf(n),void o.setSelected(t,e))}while(null!==(n=n.parentNode))},o}e=A,(n=t).prototype=Object.create(e.prototype),(n.prototype.constructor=n).__proto__=e;var n=t.prototype;return n.setSelected=function(e,t){var n;e<0||e>=this.getTabsCount()||(0,(n=this.props).onSelect)(e,n.selectedIndex,t)},n.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++)if(!mn(this.getTab(n)))return n;for(var A=0;A<e;A++)if(!mn(this.getTab(A)))return A;return e},n.getPrevTab=function(e){for(var t=e;t--;)if(!mn(this.getTab(t)))return t;for(t=this.getTabsCount();t-- >e;)if(!mn(this.getTab(t)))return t;return e},n.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t<e;t++)if(!mn(this.getTab(t)))return t;return null},n.getLastTab=function(){for(var e=this.getTabsCount();e--;)if(!mn(this.getTab(e)))return e;return null},n.getTabsCount=function(){return dn(this.props.children)},n.getPanelsCount=function(){var t,e=this.props.children;return t=0,ln(e,function(e){on(e)&&t++}),t},n.getTab=function(e){return this.tabNodes["tabs-"+e]},n.getChildren=function(){for(var a=this,i=0,e=this.props,t=e.children,r=e.disabledTabClassName,s=e.focus,l=e.forceRenderTabPanel,u=e.selectedIndex,c=e.selectedTabClassName,g=e.selectedTabPanelClassName,n=(this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[],this.tabIds.length-this.getTabsCount());n++<0;)this.tabIds.push(gn()),this.panelIds.push(gn());return sn(t,function(e){var A,o,t,n=e;return an(e)?(A=0,o=!1,un&&(o=j.a.Children.toArray(e.props.children).filter(An).some(function(e,t){return document.activeElement===a.getTab(t)})),n=Object(M.cloneElement)(e,{children:sn(e.props.children,function(e){var t="tabs-"+A,n=u===A,n={tabRef:function(e){a.tabNodes[t]=e},id:a.tabIds[A],panelId:a.panelIds[A],selected:n,focus:n&&(s||o)};return c&&(n.selectedClassName=c),r&&(n.disabledClassName=r),A++,Object(M.cloneElement)(e,n)})})):on(e)&&(t={id:a.panelIds[i],tabId:a.tabIds[i],selected:u===i},l&&(t.forceRender=l),g&&(t.selectedClassName=g),i++,n=Object(M.cloneElement)(e,t)),n})},n.isTabFromContainer=function(e){if(pn(e)){var t=e.parentElement;do{if(t===this.node)return!0}while(!t.getAttribute("data-tabs")&&(t=t.parentElement))}return!1},n.render=function(){var t=this,e=this.props,n=(e.children,e.className),A=(e.disabledTabClassName,e.domRef),e=(e.focus,e.forceRenderTabPanel,e.onSelect,e.selectedIndex,e.selectedTabClassName,e.selectedTabPanelClassName,function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName"]));return j.a.createElement("div",hn({},e,{className:J()(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(e){t.node=e,A&&A(e)},"data-tabs":!0}),this.getChildren())},t}(M.Component);Bn.defaultProps={className:"react-tabs",focus:!1},Bn.propTypes={};var fn=function(t){var e;function a(e){var o=t.call(this,e)||this;return o.handleSelected=function(e,t,n){var A=o.props.onSelect;"function"==typeof A&&!1===A(e,t,n)||(A={focus:"keydown"===n.type},a.inUncontrolledMode(o.props)&&(A.selectedIndex=e),o.setState(A))},o.state=a.copyPropsToState(o.props,{},e.defaultFocus),o}e=t,(n=a).prototype=Object.create(e.prototype),(n.prototype.constructor=n).__proto__=e;var n=a.prototype;return n.componentWillReceiveProps=function(t){this.setState(function(e){return a.copyPropsToState(t,e)})},a.inUncontrolledMode=function(e){return null===e.selectedIndex},a.copyPropsToState=function(e,t,n){var A,o,n={focus:n=void 0===n?!1:n};return a.inUncontrolledMode(e)&&(A=dn(e.children)-1,o=(o=null)!=t.selectedIndex?Math.min(t.selectedIndex,A):e.defaultIndex||0,n.selectedIndex=o),n},n.render=function(){var e=this.props,t=e.children,e=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","defaultIndex","defaultFocus"])),n=this.state,A=n.focus,n=n.selectedIndex;return e.focus=A,e.onSelect=this.handleSelected,null!=n&&(e.selectedIndex=n),j.a.createElement(Bn,e,t)},a}(M.Component);function En(){return(En=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}fn.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null},fn.propTypes={},fn.tabsRole="Tabs";var wn=function(e){var t,n;function A(){return e.apply(this,arguments)||this}return n=e,(t=A).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n,A.prototype.render=function(){var e=this.props,t=e.children,n=e.className,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className"]);return j.a.createElement("ul",En({},e,{className:J()(n),role:"tablist"}),t)},A}(M.Component);function Cn(){return(Cn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}wn.defaultProps={className:"react-tabs__tab-list"},wn.propTypes={},wn.tabsRole="TabList";var a="react-tabs__tab",In=function(e){var t;function n(){return e.apply(this,arguments)||this}t=e,(A=n).prototype=Object.create(t.prototype),(A.prototype.constructor=A).__proto__=t;var A=n.prototype;return A.componentDidMount=function(){this.checkFocus()},A.componentDidUpdate=function(){this.checkFocus()},A.checkFocus=function(){var e=this.props,t=e.selected,e=e.focus;t&&e&&this.node.focus()},A.render=function(){var t=this,e=this.props,n=e.children,A=e.className,o=e.disabled,a=e.disabledClassName,i=(e.focus,e.id),r=e.panelId,s=e.selected,l=e.selectedClassName,u=e.tabIndex,c=e.tabRef,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return j.a.createElement("li",Cn({},e,{className:J()(A,((e={})[l]=s,e[a]=o,e)),ref:function(e){t.node=e,c&&c(e)},role:"tab",id:i,"aria-selected":s?"true":"false","aria-disabled":o?"true":"false","aria-controls":r,tabIndex:u||(s?"0":null)}),n)},n}(M.Component);function yn(){return(yn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}In.defaultProps={className:a,disabledClassName:a+"--disabled",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:a+"--selected"},In.propTypes={},In.tabsRole="Tab";function bn(e){return e.touches&&e.touches[0]?{x:e.touches[0].clientX,y:e.touches[0].clientY}:e.changedTouches&&e.changedTouches[0]?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{x:e.clientX,y:e.clientY}}var Mn,Qn,a="react-tabs__tab-panel",Tn=function(e){var t,n;function A(){return e.apply(this,arguments)||this}return n=e,(t=A).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n,A.prototype.render=function(){var e=this.props,t=e.children,n=e.className,A=e.forceRender,o=e.id,a=e.selected,i=e.selectedClassName,r=e.tabId,e=function(e,t){if(null==e)return{};for(var n,A={},o=Object.keys(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||(A[n]=e[n]);return A}(e,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return j.a.createElement("div",yn({},e,{className:J()(n,((e={})[i]=a,e)),role:"tabpanel",id:o,"aria-labelledby":r}),A||a?t:null)},A}(M.Component),a=(Tn.defaultProps={className:a,forceRender:!1,selectedClassName:a+"--selected"},Tn.propTypes={},Tn.tabsRole="TabPanel",e(199)),Sn=e.n(a),a=e(295),kn=e.n(a),Dn=e(312),W=e(6),vn=e(119),Nn=e(224),On=e(121),Fn=function(e){var t;return Mn!==e.assetId&&(Mn=e.assetId,Qn=e.assetType===Ie.a.AssetType.ImageVector&&(t=e.decodeText()).match('font-family(?!="none")')?(t=Object(On.inlineSvgFonts)(t),"data:image/svg+xml;utf8,".concat(encodeURIComponent(t))):e.encodeDataURI()),Qn};function Rn(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yn(e){return j.a.createElement("div",{"aria-label":"Delete",className:J()(_n.a.deleteButton,e.className),role:"button",tabIndex:e.tabIndex,onClick:e.onClick},j.a.createElement("div",{className:_n.a.deleteButtonVisible},j.a.createElement("img",{className:_n.a.deleteIcon,src:Un.a})))}var xn=function(){function o(e){var t=e.onDrag,t=void 0===t?function(){}:t,n=e.onDragEnd,n=void 0===n?function(){}:n,A=e.touchDragAngle,A=void 0===A?70:A,e=e.distanceThreshold,e=void 0===e?3:e;if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");this._onDrag=t,this._onDragEnd=n,this._touchDragAngle=A,this._distanceThreshold=e,this._initialOffset=null,this._gestureState=o.STATE_UNIDENTIFIED,l()(this,["start","gestureInProgress","reset","_handleMove","_handleEnd"])}var e,t,n;return e=o,n=[{key:"STATE_UNIDENTIFIED",get:function(){return"unidentified"}},{key:"STATE_SCROLL",get:function(){return"scroll"}},{key:"STATE_DRAG",get:function(){return"drag"}}],(t=[{key:"start",value:function(e){this._initialOffset=bn(e),this._bindListeners()}},{key:"gestureInProgress",value:function(){return this._gestureState!==o.STATE_UNIDENTIFIED}},{key:"reset",value:function(){this._unbindListeners(),this._initialOffset=null,this._gestureState=o.STATE_UNIDENTIFIED}},{key:"_bindListeners",value:function(){window.addEventListener("mouseup",this._handleEnd),window.addEventListener("mousemove",this._handleMove),window.addEventListener("touchend",this._handleEnd),window.addEventListener("touchmove",this._handleMove,{passive:!1})}},{key:"_unbindListeners",value:function(){window.removeEventListener("mouseup",this._handleEnd),window.removeEventListener("mousemove",this._handleMove),window.removeEventListener("touchend",this._handleEnd),window.removeEventListener("touchmove",this._handleMove,{passive:!1})}},{key:"_handleMove",value:function(e){if(!this._isScroll()){var t=bn(e);if(!this.gestureInProgress()){var n=t.x-this._initialOffset.x,A=t.y-this._initialOffset.y;if(Math.sqrt(n*n+A*A)<this._distanceThreshold)return;"touchmove"===e.type&&(A=Math.atan2(A,n)/Math.PI*180,(A=90<(A=Math.abs(A))?180-A:A)>this._touchDragAngle)?this._gestureState=o.STATE_SCROLL:this._gestureState=o.STATE_DRAG}this._isDrag()&&(this._onDrag(t,this._initialOffset),e.preventDefault())}}},{key:"_handleEnd",value:function(){this.reset(),this._onDragEnd()}},{key:"_isDrag",value:function(){return this._gestureState===o.STATE_DRAG}},{key:"_isScroll",value:function(){return this._gestureState===o.STATE_SCROLL}}])&&Rn(e.prototype,t),n&&Rn(e,n),o}(),a=e(322),_n=e.n(a),a=e(728),Un=e.n(a),Gn=(Yn.propTypes={className:n.a.string,onClick:n.a.func.isRequired,tabIndex:n.a.number},Yn.defaultProps={tabIndex:0},Yn),a=e(103),Ln=e.n(a),a=e(61),Pn=e.n(a);function Hn(e){for(var t=arguments.length,n=Array(1<t?t-1:0),A=1;A<t;A++)n[A-1]=arguments[A];return"function"==typeof e&&e.apply(void 0,n)}function jn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var zn="react-contextmenu",Jn="react-contextmenu--visible",Wn="react-contextmenu-wrapper",Vn="react-contextmenu-item",Kn="react-contextmenu-item--active",Xn="react-contextmenu-item--disabled",qn="react-contextmenu-item--divider",Zn="react-contextmenu-item--selected",$n="react-contextmenu-submenu",eA={},tA=Boolean("undefined"!=typeof window&&window.document&&window.document.createElement),nA="REACT_CONTEXTMENU_SHOW",AA="REACT_CONTEXTMENU_HIDE";function oA(e,t,n){var n=2<arguments.length&&void 0!==n?n:window,A=void 0;"function"==typeof window.CustomEvent?A=new window.CustomEvent(e,{detail:t}):(A=document.createEvent("CustomEvent")).initCustomEvent(e,!1,!0,t),n&&(n.dispatchEvent(A),Pn()(eA,t))}function aA(e,t){e=0<arguments.length&&void 0!==e?e:{};oA(nA,Pn()({},e,{type:nA}),t)}function iA(e,t){e=0<arguments.length&&void 0!==e?e:{};oA(AA,Pn()({},e,{type:AA}),t)}var rA=new function e(){var A=this;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.handleShowEvent=function(e){for(var t in A.callbacks)jn(A.callbacks,t)&&A.callbacks[t].show(e)},this.handleHideEvent=function(e){for(var t in A.callbacks)jn(A.callbacks,t)&&A.callbacks[t].hide(e)},this.register=function(e,t){var n=Math.random().toString(36).substring(7);return A.callbacks[n]={show:e,hide:t},n},this.unregister=function(e){e&&A.callbacks[e]&&delete A.callbacks[e]},this.callbacks={},tA&&(window.addEventListener(nA,this.handleShowEvent),window.addEventListener(AA,this.handleHideEvent))},sA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},lA=function(e,t,n){return t&&uA(e.prototype,t),n&&uA(e,n),e};function uA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function cA(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function gA(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}var a=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var t,e=this,n=i;if(!(e instanceof n))throw new TypeError("Cannot call a class as a function");for(var A=arguments.length,o=Array(A),a=0;a<A;a++)o[a]=arguments[a];return(t=gA(this,(e=i.__proto__||Object.getPrototypeOf(i)).call.apply(e,[this].concat(o)))).handleClick=function(e){e.preventDefault(),t.props.disabled||t.props.divider||(Hn(t.props.onClick,e,Pn()({},t.props.data,eA.data),eA.target),t.props.preventClose)||iA()},gA(t,t)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),lA(i,[{key:"render",value:function(){var e,t=this,n=this.props,A=n.disabled,o=n.divider,a=n.children,i=n.attributes,n=n.selected,n=J()(Vn,i.className,(cA(e={},J()(Xn,i.disabledClassName),A),cA(e,J()(qn,i.dividerClassName),o),cA(e,J()(Zn,i.selectedClassName),n),e));return j.a.createElement("div",sA({},i,{className:n,role:"menuitem",tabIndex:"-1","aria-disabled":A?"true":"false","aria-orientation":o?"horizontal":null,ref:function(e){t.ref=e},onMouseMove:this.props.onMouseMove,onMouseLeave:this.props.onMouseLeave,onTouchEnd:this.handleClick,onClick:this.handleClick}),o?null:a)}}]),i}(M.Component),dA=(a.propTypes={children:n.a.node,attributes:n.a.object,data:n.a.object,disabled:n.a.bool,divider:n.a.bool,preventClose:n.a.bool,onClick:n.a.func,selected:n.a.bool,onMouseMove:n.a.func,onMouseLeave:n.a.func},a.defaultProps={disabled:!1,data:{},divider:!1,attributes:{},preventClose:!1,onClick:function(){return null},children:null,selected:!1,onMouseMove:function(){return null},onMouseLeave:function(){return null}},a);var a=function(e){var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(e){if(this instanceof n)return e=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e)),hA.call(e),e.seletedItemRef=null,e.state={selectedItem:null,forceSubMenuOpen:!1},e;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n}(M.Component),hA=(a.propTypes={children:n.a.node.isRequired},function(){var A=this;this.handleKeyNavigation=function(e){if(!1!==A.state.isVisible)switch(e.keyCode){case 37:case 27:e.preventDefault(),A.hideMenu(e);break;case 38:e.preventDefault(),A.selectChildren(!0);break;case 40:e.preventDefault(),A.selectChildren(!1);break;case 39:A.tryToOpenSubMenu(e);break;case 13:e.preventDefault(),A.tryToOpenSubMenu(e);var t=A.seletedItemRef&&A.seletedItemRef.props&&A.seletedItemRef.props.disabled;A.seletedItemRef&&A.seletedItemRef.ref instanceof HTMLElement&&!t?A.seletedItemRef.ref.click():A.hideMenu(e)}},this.handleForceClose=function(){A.setState({forceSubMenuOpen:!1})},this.tryToOpenSubMenu=function(e){A.state.selectedItem&&A.state.selectedItem.type===A.getSubMenuType()&&(e.preventDefault(),A.setState({forceSubMenuOpen:!0}))},this.selectChildren=function(e){var t=A.state.selectedItem,n=[],t=(j.a.Children.forEach(A.props.children,function e(t){t&&([dA,A.getSubMenuType()].indexOf(t.type)<0?j.a.Children.forEach(t.props.children,e):t.props.divider||n.push(t))}),n.indexOf(t));t<0?A.setState({selectedItem:e?n[n.length-1]:n[0],forceSubMenuOpen:!1}):e?A.setState({selectedItem:n[t-1<0?n.length-1:t-1],forceSubMenuOpen:!1}):A.setState({selectedItem:n[t+1<n.length?t+1:0],forceSubMenuOpen:!1})},this.onChildMouseMove=function(e){A.state.selectedItem!==e&&A.setState({selectedItem:e,forceSubMenuOpen:!1})},this.onChildMouseLeave=function(){A.setState({selectedItem:null,forceSubMenuOpen:!1})},this.renderChildren=function(e){return j.a.Children.map(e,function(e){var t={};return j.a.isValidElement(e)?([dA,A.getSubMenuType()].indexOf(e.type)<0?t.children=A.renderChildren(e.props.children):(t.onMouseLeave=A.onChildMouseLeave.bind(A),e.type===A.getSubMenuType()&&(t.forceOpen=A.state.forceSubMenuOpen&&A.state.selectedItem===e,t.forceClose=A.handleForceClose,t.parentKeyNavigationHandler=A.handleKeyNavigation),e.props.divider||A.state.selectedItem!==e?t.onMouseMove=function(){return A.onChildMouseMove(e)}:(t.selected=!0,t.ref=function(e){A.seletedItemRef=e})),j.a.cloneElement(e,t)):e})}}),pA=a,mA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},BA=function(e,t,n){return t&&fA(e.prototype,t),n&&fA(e,n),e};function fA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function EA(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var a=function(){var e=n,t=pA;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(e){var o;if(this instanceof n)return(o=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).getMenuPosition=function(){var e=window,t=e.innerWidth,e=e.innerHeight,n=o.subMenu.getBoundingClientRect(),A={};return n.bottom>e?A.bottom=0:A.top=0,n.right<t?A.left="100%":A.right="100%",A},o.getRTLMenuPosition=function(){var e=window.innerHeight,t=o.subMenu.getBoundingClientRect(),n={};return t.bottom>e?n.bottom=0:n.top=0,t.left<0?n.left="100%":n.right="100%",n},o.hideMenu=function(e){e.detail&&e.detail.id&&o.menu&&e.detail.id!==o.menu.id||(o.props.forceOpen&&o.props.forceClose(),o.setState({visible:!1,selectedItem:null}),o.unregisterHandlers())},o.handleClick=function(e){e.preventDefault(),o.props.disabled||Hn(o.props.onClick,e,Pn()({},o.props.data,eA.data),eA.target)},o.handleMouseEnter=function(){o.closetimer&&clearTimeout(o.closetimer),o.props.disabled||o.state.visible||(o.opentimer=setTimeout(function(){return o.setState({visible:!0,selectedItem:null})},o.props.hoverDelay))},o.handleMouseLeave=function(){o.opentimer&&clearTimeout(o.opentimer),o.state.visible&&(o.closetimer=setTimeout(function(){return o.setState({visible:!1,selectedItem:null})},o.props.hoverDelay))},o.menuRef=function(e){o.menu=e},o.subMenuRef=function(e){o.subMenu=e},o.registerHandlers=function(){document.removeEventListener("keydown",o.props.parentKeyNavigationHandler),document.addEventListener("keydown",o.handleKeyNavigation)},o.unregisterHandlers=function(e){document.removeEventListener("keydown",o.handleKeyNavigation),e||document.addEventListener("keydown",o.props.parentKeyNavigationHandler)},o.state=Pn()({},o.state,{visible:!1}),o;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),BA(n,[{key:"componentDidMount",value:function(){this.listenId=rA.register(function(){},this.hideMenu)}},{key:"getSubMenuType",value:function(){return n}},{key:"shouldComponentUpdate",value:function(e,t){return this.isVisibilityChange=!(this.state.visible===t.visible&&this.props.forceOpen===e.forceOpen||this.state.visible&&e.forceOpen||this.props.forceOpen&&t.visible),!0}},{key:"componentDidUpdate",value:function(){var t=this;this.isVisibilityChange&&(this.props.forceOpen||this.state.visible?(window.requestAnimationFrame||setTimeout)(function(){var e=t.props.rtl?t.getRTLMenuPosition():t.getMenuPosition();t.subMenu.style.removeProperty("top"),t.subMenu.style.removeProperty("bottom"),t.subMenu.style.removeProperty("left"),t.subMenu.style.removeProperty("right"),jn(e,"top")&&(t.subMenu.style.top=e.top),jn(e,"left")&&(t.subMenu.style.left=e.left),jn(e,"bottom")&&(t.subMenu.style.bottom=e.bottom),jn(e,"right")&&(t.subMenu.style.right=e.right),t.subMenu.classList.add(Jn),t.registerHandlers(),t.setState({selectedItem:null})}):(this.subMenu.addEventListener("transitionend",function e(){t.subMenu.removeEventListener("transitionend",e),t.subMenu.style.removeProperty("bottom"),t.subMenu.style.removeProperty("right"),t.subMenu.style.top=0,t.subMenu.style.left="100%",t.unregisterHandlers()}),this.subMenu.classList.remove(Jn)))}},{key:"componentWillUnmount",value:function(){this.listenId&&rA.unregister(this.listenId),this.opentimer&&clearTimeout(this.opentimer),this.closetimer&&clearTimeout(this.closetimer),this.unregisterHandlers(!0)}},{key:"render",value:function(){var e,t=this.props,n=t.children,A=t.attributes,o=t.disabled,a=t.title,t=t.selected,i=this.state.visible,r={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:J()(Vn,$n,A.listClassName),style:{position:"relative"}},o={className:J()(Vn,A.className,(EA(e={},J()(Xn,A.disabledClassName),o),EA(e,J()(Kn,A.visibleClassName),i),EA(e,J()(Zn,A.selectedClassName),t),e)),onMouseMove:this.props.onMouseMove,onMouseOut:this.props.onMouseOut,onClick:this.handleClick},i={ref:this.subMenuRef,style:{position:"absolute",transition:"opacity 1ms",top:0,left:"100%"},className:J()(zn,this.props.className)};return j.a.createElement("nav",mA({},r,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),j.a.createElement("div",mA({},A,o),a),j.a.createElement("nav",mA({},i,{role:"menu",tabIndex:"-1"}),this.renderChildren(n)))}}]),n}(),wA=(a.propTypes={children:n.a.node.isRequired,attributes:n.a.object,title:n.a.node.isRequired,className:n.a.string,disabled:n.a.bool,hoverDelay:n.a.number,rtl:n.a.bool,selected:n.a.bool,onMouseMove:n.a.func,onMouseOut:n.a.func,forceOpen:n.a.bool,forceClose:n.a.func,parentKeyNavigationHandler:n.a.func},a.defaultProps={disabled:!1,hoverDelay:500,attributes:{},className:"",rtl:!1,selected:!1,onMouseMove:function(){return null},onMouseOut:function(){return null},forceOpen:!1,forceClose:function(){return null},parentKeyNavigationHandler:function(){return null}},a),CA=function(e,t,n){return t&&IA(e.prototype,t),n&&IA(e,n),e};function IA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var a=function(){var e=n,t=pA;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(e){var a;if(this instanceof n)return(a=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).registerHandlers=function(){document.addEventListener("mousedown",a.handleOutsideClick),document.addEventListener("touchstart",a.handleOutsideClick),document.addEventListener("scroll",a.handleHide),document.addEventListener("contextmenu",a.handleHide),document.addEventListener("keydown",a.handleKeyNavigation),window.addEventListener("resize",a.handleHide)},a.unregisterHandlers=function(){document.removeEventListener("mousedown",a.handleOutsideClick),document.removeEventListener("touchstart",a.handleOutsideClick),document.removeEventListener("scroll",a.handleHide),document.removeEventListener("contextmenu",a.handleHide),document.removeEventListener("keydown",a.handleKeyNavigation),window.removeEventListener("resize",a.handleHide)},a.handleShow=function(e){var t,n;e.detail.id!==a.props.id||a.state.isVisible||(t=(n=e.detail.position).x,n=n.y,a.setState({isVisible:!0,x:t,y:n}),a.registerHandlers(),Hn(a.props.onShow,e))},a.handleHide=function(e){!a.state.isVisible||e.detail&&e.detail.id&&e.detail.id!==a.props.id||(a.unregisterHandlers(),a.setState({isVisible:!1,selectedItem:null,forceSubMenuOpen:!1}),Hn(a.props.onHide,e))},a.handleOutsideClick=function(e){a.menu.contains(e.target)||iA()},a.handleMouseLeave=function(e){e.preventDefault(),Hn(a.props.onMouseLeave,e,Pn()({},a.props.data,eA.data),eA.target),a.props.hideOnLeave&&iA()},a.handleContextMenu=function(e){e.preventDefault(),a.handleHide(e)},a.hideMenu=function(e){27!==e.keyCode&&13!==e.keyCode||iA()},a.getMenuPosition=function(){var e,t,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,A=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,o={top:A,left:n};return a.menu&&(e=(t=window).innerWidth,t=t.innerHeight,A+(A=a.menu.getBoundingClientRect()).height>t&&(o.top-=A.height),n+A.width>e&&(o.left-=A.width),o.top<0&&(o.top=A.height<t?(t-A.height)/2:0),o.left<0)&&(o.left=A.width<e?(e-A.width)/2:0),o},a.menuRef=function(e){a.menu=e},a.state=Pn()({},a.state,{x:0,y:0,isVisible:!1}),a;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),CA(n,[{key:"getSubMenuType",value:function(){return wA}},{key:"componentDidMount",value:function(){this.listenId=rA.register(this.handleShow,this.handleHide)}},{key:"componentDidUpdate",value:function(){var o,a=this;this.state.isVisible?(o=window.requestAnimationFrame||setTimeout)(function(){var e=a.state,t=e.x,e=e.y,t=a.getMenuPosition(t,e),n=t.top,A=t.left;o(function(){a.menu&&(a.menu.style.top=n+"px",a.menu.style.left=A+"px",a.menu.style.opacity=1,a.menu.style.pointerEvents="auto")})}):this.menu&&(this.menu.style.opacity=0,this.menu.style.pointerEvents="none")}},{key:"componentWillUnmount",value:function(){this.listenId&&rA.unregister(this.listenId),this.unregisterHandlers()}},{key:"render",value:function(){var e,t=this.props,n=t.children,A=t.className,t=t.style,o=this.state.isVisible,t=Pn()({},t,{position:"fixed",opacity:0,pointerEvents:"none"}),o=J()(zn,A,(A=o,(o=Jn)in(e={})?Object.defineProperty(e,o,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[o]=A,e));return j.a.createElement("nav",{role:"menu",tabIndex:"-1",ref:this.menuRef,style:t,className:o,onContextMenu:this.handleContextMenu,onMouseLeave:this.handleMouseLeave},this.renderChildren(n))}}]),n}(),yA=(a.propTypes={id:n.a.string.isRequired,children:n.a.node.isRequired,data:n.a.object,className:n.a.string,hideOnLeave:n.a.bool,onHide:n.a.func,onMouseLeave:n.a.func,onShow:n.a.func,style:n.a.object},a.defaultProps={className:"",data:{},hideOnLeave:!1,onHide:function(){return null},onMouseLeave:function(){return null},onShow:function(){return null},style:{}},a),bA=function(e,t,n){return t&&MA(e.prototype,t),n&&MA(e,n),e};function MA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function QA(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}var a=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var o,e=this,t=i;if(!(e instanceof t))throw new TypeError("Cannot call a class as a function");for(var n=arguments.length,A=Array(n),a=0;a<n;a++)A[a]=arguments[a];return(t=o=QA(this,(e=i.__proto__||Object.getPrototypeOf(i)).call.apply(e,[this].concat(A)))).touchHandled=!1,o.handleMouseDown=function(e){0<=o.props.holdToDisplay&&0===e.button&&(e.persist(),e.stopPropagation(),o.mouseDownTimeoutId=setTimeout(function(){return o.handleContextClick(e)},o.props.holdToDisplay)),Hn(o.props.attributes.onMouseDown,e)},o.handleMouseUp=function(e){0===e.button&&clearTimeout(o.mouseDownTimeoutId),Hn(o.props.attributes.onMouseUp,e)},o.handleMouseOut=function(e){0===e.button&&clearTimeout(o.mouseDownTimeoutId),Hn(o.props.attributes.onMouseOut,e)},o.handleTouchstart=function(e){o.touchHandled=!1,0<=o.props.holdToDisplay&&(e.persist(),e.stopPropagation(),o.touchstartTimeoutId=setTimeout(function(){o.handleContextClick(e),o.touchHandled=!0},o.props.holdToDisplay)),Hn(o.props.attributes.onTouchStart,e)},o.handleTouchEnd=function(e){o.touchHandled&&e.preventDefault(),clearTimeout(o.touchstartTimeoutId),Hn(o.props.attributes.onTouchEnd,e)},o.handleContextMenu=function(e){o.handleContextClick(e),Hn(o.props.attributes.onContextMenu,e)},o.handleContextClick=function(e){var t,n,A;o.props.disable||(e.preventDefault(),e.stopPropagation(),t=e.clientX||e.touches&&e.touches[0].pageX,e=e.clientY||e.touches&&e.touches[0].pageY,o.props.posX&&(t-=o.props.posX),o.props.posY&&(e-=o.props.posY),iA(),n=Hn(o.props.collect,o.props),A={position:{x:t,y:e},target:o.elem,id:o.props.id,data:n},n&&"function"==typeof n.then?n.then(function(e){A.data=e,aA(A)}):aA(A))},o.elemRef=function(e){o.elem=e},QA(o,t)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),bA(i,[{key:"render",value:function(){var e=this.props,t=e.renderTag,n=e.attributes,e=e.children,n=Pn()({},n,{className:J()(Wn,n.className),onContextMenu:this.handleContextMenu,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef});return j.a.createElement(t,n,e)}}]),i}(M.Component),TA=(a.propTypes={id:n.a.string.isRequired,children:n.a.node.isRequired,attributes:n.a.object,collect:n.a.func,disable:n.a.bool,holdToDisplay:n.a.number,posX:n.a.number,posY:n.a.number,renderTag:n.a.oneOfType([n.a.node,n.a.func])},a.defaultProps={attributes:{},collect:function(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0},a);Object.assign;[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(Object.keys(TA.propTypes)),["children"]);var a=e(151),SA=e.n(a);function kA(){return(kA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function DA(e){return j.a.createElement(yA,kA({},e,{className:SA.a.contextMenu}))}function vA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:SA.a.menuItem}}))}function NA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:J()(SA.a.menuItem,SA.a.menuItemBordered)}}))}function OA(e){return j.a.createElement(dA,kA({},e,{attributes:{className:J()(SA.a.menuItem,SA.a.menuItemBordered,SA.a.menuItemDanger)}}))}function FA(e){return j.a.createElement(TA,{attributes:{className:J()(e.className,Ln.a.spriteSelectorItem,(t={},n=Ln.a.isSelected,A=e.selected,n in t?Object.defineProperty(t,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[n]=A,t)),onClick:e.onClick,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onMouseDown:e.onMouseDown,onTouchStart:e.onMouseDown},disable:e.preventContextMenu,id:"".concat(e.name,"-").concat(RA),ref:e.componentRef},void 0===e.number?null:j.a.createElement("div",{className:Ln.a.number},e.number),e.costumeURL?j.a.createElement("div",{className:Ln.a.spriteImageOuter},j.a.createElement("div",{className:Ln.a.spriteImageInner},j.a.createElement("img",{className:Ln.a.spriteImage,draggable:!1,src:e.costumeURL}))):null,j.a.createElement("div",{className:Ln.a.spriteInfo},j.a.createElement("div",{className:Ln.a.spriteName},e.name),e.details?j.a.createElement("div",{className:Ln.a.spriteDetails},e.details):null),e.selected&&e.onDeleteButtonClick?j.a.createElement(Gn,{className:Ln.a.deleteButton,onClick:e.onDeleteButtonClick}):null,e.onDuplicateButtonClick||e.onDeleteButtonClick||e.onExportButtonClick?j.a.createElement(DA,{id:"".concat(e.name,"-").concat(RA++)},e.onDuplicateButtonClick?j.a.createElement(vA,{onClick:e.onDuplicateButtonClick},j.a.createElement(z.a,{defaultMessage:"duplicate",id:"gui.spriteSelectorItem.contextMenuDuplicate"})):null,e.onExportButtonClick?j.a.createElement(vA,{onClick:e.onExportButtonClick},j.a.createElement(z.a,{defaultMessage:"export",id:"gui.spriteSelectorItem.contextMenuExport"})):null,e.onDeleteButtonClick?j.a.createElement(OA,{onClick:e.onDeleteButtonClick},j.a.createElement(z.a,{defaultMessage:"delete",id:"gui.spriteSelectorItem.contextMenuDelete"})):null):null);var t,n,A}var RA=0,YA=(FA.propTypes={className:n.a.string,componentRef:n.a.func,costumeURL:n.a.string,details:n.a.string,name:n.a.string.isRequired,number:n.a.number,onClick:n.a.func,onDeleteButtonClick:n.a.func,onDuplicateButtonClick:n.a.func,onExportButtonClick:n.a.func,onMouseDown:n.a.func,onMouseEnter:n.a.func,onMouseLeave:n.a.func,preventContextMenu:n.a.bool,selected:n.a.bool.isRequired},FA);function xA(e){return(xA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var _A=["asset","id","index","onClick","onDeleteButtonClick","onDuplicateButtonClick","onExportButtonClick","dragPayload","receivedBlocks","costumeURL","vm"];function UA(){return(UA=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function GA(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function LA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function PA(e,t){return(PA=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HA(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=zA(A);return e=o?(e=zA(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==xA(t)&&"function"!=typeof t?jA(n):t}}function jA(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zA(e){return(zA=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&PA(t,e);var n,A=HA(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(jA(e),["getCostumeData","setRef","handleClick","handleDelete","handleDuplicate","handleExport","handleMouseEnter","handleMouseLeave","handleMouseDown","handleDragEnd","handleDrag","handleTouchEnd"]),e.dragRecognizer=new xn({onDrag:e.handleDrag,onDragEnd:e.handleDragEnd}),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("touchend",this.handleTouchEnd)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("touchend",this.handleTouchEnd),this.dragRecognizer.reset()}},{key:"getCostumeData",value:function(){return this.props.costumeURL||(this.props.asset?Fn(this.props.asset):null)}},{key:"handleDragEnd",value:function(){var e=this;this.props.dragging&&this.props.onDrag({img:null,currentOffset:null,dragging:!1,dragType:null,index:null}),setTimeout(function(){e.noClick=!1})}},{key:"handleDrag",value:function(e){this.props.onDrag({img:this.getCostumeData(),currentOffset:e,dragging:!0,dragType:this.props.dragType,index:this.props.index,payload:this.props.dragPayload}),this.noClick=!0}},{key:"handleTouchEnd",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.ref.getBoundingClientRect(),A=n.top,o=n.left,a=n.bottom,n=n.right;o<=t&&t<=n&&A<=e&&e<=a&&this.handleMouseEnter()}},{key:"handleMouseDown",value:function(e){this.dragRecognizer.start(e)}},{key:"handleClick",value:function(e){e.preventDefault(),this.noClick||this.props.onClick(this.props.id)}},{key:"handleDelete",value:function(e){e.stopPropagation(),this.props.onDeleteButtonClick(this.props.id)}},{key:"handleDuplicate",value:function(e){e.stopPropagation(),this.props.onDuplicateButtonClick(this.props.id)}},{key:"handleExport",value:function(e){e.stopPropagation(),this.props.onExportButtonClick(this.props.id)}},{key:"handleMouseLeave",value:function(){this.props.dispatchSetHoveredSprite(null)}},{key:"handleMouseEnter",value:function(){this.props.dispatchSetHoveredSprite(this.props.id)}},{key:"setRef",value:function(e){this.ref=e&&e.elem}},{key:"render",value:function(){var e=this.props,t=(e.asset,e.id,e.index,e.onClick,e.onDeleteButtonClick),n=e.onDuplicateButtonClick,A=e.onExportButtonClick,e=(e.dragPayload,e.receivedBlocks,e.costumeURL,e.vm,GA(e,_A));return j.a.createElement(YA,UA({componentRef:this.setRef,costumeURL:this.getCostumeData(),preventContextMenu:this.dragRecognizer.gestureInProgress(),onClick:this.handleClick,onDeleteButtonClick:t?this.handleDelete:null,onDuplicateButtonClick:n?this.handleDuplicate:null,onExportButtonClick:A?this.handleExport:null,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},e))}}])&&LA(t.prototype,e),n&&LA(t,n),o}(j.a.PureComponent),JA=(a.propTypes={asset:n.a.instanceOf(Ie.a.Asset),costumeURL:n.a.string,dispatchSetHoveredSprite:n.a.func.isRequired,dragPayload:n.a.oneOfType([n.a.string,n.a.number]),dragType:n.a.string,dragging:n.a.bool,id:n.a.oneOfType([n.a.string,n.a.number]),index:n.a.number,name:n.a.string,onClick:n.a.func,onDeleteButtonClick:n.a.func,onDrag:n.a.func.isRequired,onDuplicateButtonClick:n.a.func,onExportButtonClick:n.a.func,receivedBlocks:n.a.bool.isRequired,selected:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e,t){t=t.id;return{dragging:e.scratchGui.assetDrag.dragging,receivedBlocks:e.scratchGui.hoveredTarget.receivedBlocks&&e.scratchGui.hoveredTarget.sprite===t,vm:e.scratchGui.vm}},function(t){return{dispatchSetHoveredSprite:function(e){t(Object(vn.c)(e))},onDrag:function(e){return t(Object(Nn.c)(e))}}})(a)),a=e(242),WA=e.n(a),a=e(67),VA=e.n(a);function KA(e){return(KA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function XA(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qA(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ZA(e,t){return(ZA=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $A(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=to(A);return e=o?(e=to(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==KA(t)&&"function"!=typeof t?eo(n):t}}function eo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function to(e){return(to=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ZA(t,e);var n,A=$A(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(eo(e),["clickDelayer","handleClosePopover","handleToggleOpenState","handleTouchStart","handleTouchOutside","setButtonRef","setContainerRef"]),e.state={isOpen:!1,forceHide:!1},e.mainTooltipId="tooltip-".concat(Math.random()),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.buttonRef.addEventListener("touchstart",this.handleTouchStart),document.addEventListener("touchstart",this.handleTouchOutside)}},{key:"shouldComponentUpdate",value:function(e,t){return t.isOpen!==this.state.isOpen||t.forceHide!==this.state.forceHide||e.title!==this.props.title}},{key:"componentWillUnmount",value:function(){this.buttonRef.removeEventListener("touchstart",this.handleTouchStart),document.removeEventListener("touchstart",this.handleTouchOutside)}},{key:"handleClosePopover",value:function(){var e=this;this.closeTimeoutId=setTimeout(function(){e.setState({isOpen:!1}),e.closeTimeoutId=null},300)}},{key:"handleToggleOpenState",value:function(){this.closeTimeoutId?(clearTimeout(this.closeTimeoutId),this.closeTimeoutId=null):this.state.isOpen||this.setState({isOpen:!0,forceHide:!1})}},{key:"handleTouchOutside",value:function(e){this.state.isOpen&&!this.containerRef.contains(e.target)&&(this.setState({isOpen:!1}),WA.a.hide())}},{key:"clickDelayer",value:function(t){var n=this;return function(e){WA.a.hide(),t&&t(e),n.buttonRef.blur(),n.setState({forceHide:!0,isOpen:!1},function(){setTimeout(function(){return n.setState({forceHide:!1})})})}}},{key:"handleTouchStart",value:function(e){this.state.isOpen||(e.preventDefault(),this.handleToggleOpenState())}},{key:"setButtonRef",value:function(e){this.buttonRef=e}},{key:"setContainerRef",value:function(e){this.containerRef=e}},{key:"render",value:function(){var c=this,e=this.props,t=e.className,n=e.img,A=e.title,o=e.moreButtons,g=e.tooltipPlace,e=e.onClick;return j.a.createElement("div",{className:J()(VA.a.menuContainer,t,(XA(t={},VA.a.expanded,this.state.isOpen),XA(t,VA.a.forceHidden,this.state.forceHide),t)),ref:this.setContainerRef,onMouseEnter:this.handleToggleOpenState,onMouseLeave:this.handleClosePopover},j.a.createElement("button",{"aria-label":A,className:J()(VA.a.button,VA.a.mainButton),"data-for":this.mainTooltipId,"data-tip":A,ref:this.setButtonRef,onClick:this.clickDelayer(e)},j.a.createElement("img",{className:VA.a.mainIcon,draggable:!1,src:n})),j.a.createElement(WA.a,{className:VA.a.tooltip,effect:"solid",id:this.mainTooltipId,place:g||"left"}),j.a.createElement("div",{className:VA.a.moreButtonsOuter},j.a.createElement("div",{className:VA.a.moreButtons},(o||[]).map(function(e,t){var n=e.img,A=e.title,o=e.onClick,a=e.fileAccept,i=e.fileChange,r=e.fileInput,e=e.fileMultiple,s=!o,l=r,u="".concat(c.mainTooltipId,"-").concat(A);return j.a.createElement("div",{key:"".concat(u,"-").concat(t)},j.a.createElement("button",{"aria-label":A,className:J()(VA.a.button,VA.a.moreButton,XA({},VA.a.comingSoon,s)),"data-for":u,"data-tip":A,onClick:l?o:c.clickDelayer(o)},j.a.createElement("img",{className:VA.a.moreIcon,draggable:!1,src:n}),l?j.a.createElement("input",{accept:a,className:VA.a.fileInput,multiple:e,ref:r,type:"file",onChange:i}):null),j.a.createElement(WA.a,{className:J()(VA.a.tooltip,XA({},VA.a.comingSoonTooltip,s)),effect:"solid",id:u,place:g||"left"}))}))))}}])&&qA(t.prototype,e),n&&qA(t,n),o}(j.a.Component),no=(a.propTypes={className:n.a.string,img:n.a.string,moreButtons:n.a.arrayOf(n.a.shape({img:n.a.string,title:n.a.node.isRequired,onClick:n.a.func,fileAccept:n.a.string,fileChange:n.a.func,fileInput:n.a.func,fileMultiple:n.a.bool})),onClick:n.a.func.isRequired,title:n.a.node.isRequired,tooltipPlace:n.a.string},a);function Ao(e){return(Ao="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oo(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ao(e,t){return(ao=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function io(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=so(A);return e=o?(e=so(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ao(t)&&"function"!=typeof t?ro(n):t}}function ro(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function so(e){return(so=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ao(t,e);var n,A=io(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ro(e),["setRef"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.onAddSortable(this.ref)}},{key:"componentWillUnmount",value:function(){this.props.onRemoveSortable(this.ref)}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){return j.a.createElement("div",{className:this.props.className,ref:this.setRef,style:{order:this.props.index}},this.props.children)}}])&&oo(t.prototype,e),n&&oo(t,n),o}(j.a.Component),lo=(a.propTypes={children:n.a.node.isRequired,className:n.a.string,index:n.a.number.isRequired,onAddSortable:n.a.func.isRequired,onRemoveSortable:n.a.func.isRequired},a);function uo(e){return(uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function co(){return(co=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function go(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ho(e,t){return(ho=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function po(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Bo(A);return e=o?(e=Bo(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==uo(t)&&"function"!=typeof t?mo(n):t}}function mo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bo(e){return(Bo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ho(t,e);var n,A=po(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(mo(e),["setRef","handleAddSortable","handleRemoveSortable"]),e.sortableRefs=[],e.boxes=null,e.ref=null,e.containerBox=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var n=this;if(e.dragInfo.dragging&&!this.props.dragInfo.dragging){if(this.boxes=this.sortableRefs.map(function(e){return e&&e.getBoundingClientRect()}),this.boxes.sort(function(e,t){return e.top===t.top?(e.left-t.left)*(n.props.isRtl?-1:1):e.top-t.top}),!this.ref)throw new Error("The containerRef must be assigned to the sortable area");this.containerBox=this.ref.getBoundingClientRect()}else!e.dragInfo.dragging&&this.props.dragInfo.dragging&&null!==(e=this.getMouseOverIndex())&&this.props.onDrop(Object.assign({},this.props.dragInfo,{newIndex:e}))}},{key:"handleAddSortable",value:function(e){this.sortableRefs.push(e)}},{key:"handleRemoveSortable",value:function(e){e=this.sortableRefs.indexOf(e);this.sortableRefs=this.sortableRefs.slice(0,e).concat(this.sortableRefs.slice(e+1))}},{key:"getOrdering",value:function(e,t,n){function A(e){return"number"==typeof e&&!isNaN(e)}var o=Array(this.props.items.length).fill(0).map(function(e,t){return t});return A(t)&&A(n)&&(o=o.slice(0,t).concat(o.slice(t+1))).splice(n,0,t),o}},{key:"getMouseOverIndex",value:function(){var e,t,n,A,o,a,i=null;return i=this.props.dragInfo.currentOffset&&(e=(t=this.props.dragInfo.currentOffset).x,t=t.y,n=(a=this.containerBox).top,A=a.left,o=a.bottom,a=a.right,A<=e)&&e<=a&&n<=t&&t<=o?0===this.boxes.length?0:function(e,t,n){var A=e.x,o=e.y;if(0===t.length)return null;for(var a=null,i=Math.min.apply(null,t.map(function(e){return e.left})),r=Math.max.apply(null,t.map(function(e){return e.right})),s=Math.min.apply(null,t.map(function(e){return e.top})),l=Math.max.apply(null,t.map(function(e){return e.bottom})),u=0;u<t.length;u++){var c=t[u],g=c.left===i?-1/0:c.left,d=c.right===r?1/0:c.right,h=c.top===s?-1/0:c.top,c=c.bottom===l?1/0:c.bottom;if(u===t.length-1&&(n?g=-1/0:d=1/0),g<=A&&A<=d&&h<=o&&o<=c){a=u;break}}return a}(this.props.dragInfo.currentOffset,this.boxes,this.props.isRtl):i}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){var e=this.props,t=e.dragInfo,n=t.index,t=t.dragType,e=e.items,A=this.getMouseOverIndex(),e=this.getOrdering(e,n,A);return j.a.createElement(a,co({containerRef:this.setRef,draggingIndex:n,draggingType:t,mouseOverIndex:A,ordering:e,onAddSortable:this.handleAddSortable,onRemoveSortable:this.handleRemoveSortable},this.props))}}])&&go(t.prototype,e),n&&go(t,n),o}(j.a.Component);e.propTypes={dragInfo:n.a.shape({currentOffset:n.a.shape({x:n.a.number,y:n.a.number}),dragType:n.a.string,dragging:n.a.bool,index:n.a.number}),items:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired})),onClose:n.a.func,onDrop:n.a.func,isRtl:n.a.bool};return Object(A.b)(function(e){return{dragInfo:e.scratchGui.assetDrag,isRtl:e.locales.isRtl}},function(){return{}})(e)},E=e(21),i=e(200),fo=e.n(i);function Eo(e){var t,n,A=e.buttons,o=e.containerRef,a=e.dragType,i=e.isRtl,r=e.items,s=e.selectedItemIndex,l=e.draggingIndex,u=e.draggingType,c=e.ordering,g=e.onAddSortable,d=e.onRemoveSortable,h=e.onDeleteClick,p=e.onDuplicateClick,m=e.onExportClick,B=e.onItemClick,f=u===a,e=null;return 0<A.length&&(t=(u=A[0]).img,n=u.title,u=u.onClick,A=A.slice(1),e=j.a.createElement(W.a,{className:fo.a.newButtons},j.a.createElement(no,{img:t,moreButtons:A,title:n,tooltipPlace:i?"left":"right",onClick:u}))),j.a.createElement(W.a,{className:fo.a.wrapper,componentRef:o},j.a.createElement(W.a,{className:fo.a.listArea},r.map(function(e,t){return j.a.createElement(lo,{id:e.name,index:f?c.indexOf(t):t,key:e.name,onAddSortable:g,onRemoveSortable:d},j.a.createElement(JA,{asset:e.asset,className:J()(fo.a.listItem,(n={},A=fo.a.placeholder,o=f&&t===l,A in n?Object.defineProperty(n,A,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[A]=o,n)),costumeURL:e.url,details:e.details,dragPayload:e.dragPayload,dragType:a,id:t,index:t,name:e.name,number:t+1,selected:t===s,onClick:B,onDeleteButtonClick:h,onDuplicateButtonClick:p,onExportButtonClick:m}));var n,A,o})),e)}Eo.propTypes={buttons:n.a.arrayOf(n.a.shape({title:n.a.string.isRequired,img:n.a.string.isRequired,onClick:n.a.func})),containerRef:n.a.func,dragType:n.a.oneOf(Object.keys(E.a)),draggingIndex:n.a.number,draggingType:n.a.oneOf(Object.keys(E.a)),isRtl:n.a.bool,items:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired})),onAddSortable:n.a.func,onDeleteClick:n.a.func,onDuplicateClick:n.a.func,onExportClick:n.a.func,onItemClick:n.a.func.isRequired,onRemoveSortable:n.a.func,ordering:n.a.arrayOf(n.a.number),selectedItemIndex:n.a.number.isRequired};var wo=a(Eo),i=e(323),Co=e.n(i);function Io(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function yo(){return(yo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function bo(e){return j.a.createElement(W.a,{className:Co.a.wrapper},j.a.createElement(wo,yo({className:Co.a.selector},e)),j.a.createElement(W.a,{className:Co.a.detailArea},e.children))}bo.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Io(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Io(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({},wo.propTypes);var Mo=bo,Qo=e(223);function To(e){return(To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var So=["selectedCostumeIndex","vm"];function ko(){return(ko=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Do(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function vo(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function No(e,t){return(No=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oo(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ro(A);return e=o?(e=Ro(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==To(t)&&"function"!=typeof t?Fo(n):t}}function Fo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ro(e){return(Ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yo(e,r,t){(function n(A,o){var a,i;A===o.length?e.value=null:(a=o[A],(i=new FileReader).onload=function(){var e=a.type,t=a.name.split(".",1)[0];r(i.result,e,t,A,o.length),n(A+1,o)},i.onerror=t,i.readAsArrayBuffer(a))})(0,e.files)}function xo(e,t,n,A){return e=e.createAsset(t,n,A,null,!0),{name:null,dataFormat:n,asset:e,md5:"".concat(e.assetId,".").concat(n),assetId:e.assetId}}function _o(e,t,A,o){var n,g,d,h,p,m,B,f,i,a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:function(){},r=null,s=null;switch(t){case"image/svg+xml":e=On.sanitizeSvg.sanitizeByteStream(e),r=A.DataFormat.SVG,s=A.AssetType.ImageVector;break;case"image/jpeg":r=A.DataFormat.JPG,s=A.AssetType.ImageBitmap;break;case"image/bmp":return i=e,void new Promise(function(t){var n=i instanceof String?i:window.URL.createObjectURL(new Blob([i],{type:"image/bmp"})),A=document.createElement("canvas"),o=A.getContext("2d"),a=document.createElement("img");a.addEventListener("load",function(){A.width=a.naturalWidth,A.height=a.naturalHeight,o.drawImage(a,0,0);var e=A.toDataURL("image/png");window.URL.revokeObjectURL(n),t(e)}),a.setAttribute("src",n)}).then(function(e){_o(e,"image/png",A,o)});case"image/png":r=A.DataFormat.PNG,s=A.AssetType.ImageBitmap;break;case"image/gif":var l=[];return n=e,g=function(t,e,n){_o(e,"image/png",A,function(e){l=l.concat(e),t===n-1&&o(l)},a)},d=document.createElement("canvas"),h=d.getContext("2d"),p=new Ho.GifReader(new Uint8Array(n)),m=p.numFrames(),d.width=p.width,d.height=p.height,B=h.createImageData(d.width,d.height),f=h.createImageData(d.width,d.height),void function e(t){for(var n=[],A=(p.decodeAndBlitFrameRGBA(t,n),p.frameInfo(t)),o=A.x,a=A.y,i=A.width,r=A.height,A=A.disposal,s=0;s<r;s++)for(var l=0;l<i;l++){var u=4*(o+a*d.width)+4*(l+s*d.width);n[3+u]&&(B.data[u]=n[u],B.data[1+u]=n[1+u],B.data[2+u]=n[2+u],B.data[3+u]=n[3+u])}h.clearRect(0,0,d.width,d.height),h.putImageData(B,0,0);var c=d.toDataURL();switch(A){case 2:h.clearRect(o,a,i,r),B=h.getImageData(0,0,d.width,d.height);break;case 3:(B=h.createImageData(d.width,d.height)).data.set(f.data);break;default:f=h.getImageData(0,0,d.width,d.height)}g(t,c,m),t<m-1&&setTimeout(function(){e(t+1)})}(0);default:return void a("Encountered unexpected file type: ".concat(t))}function u(e){e=xo(A,s,r,e),o([e])}var c=new On.BitmapAdapter;r===A.DataFormat.SVG?u(new Uint8Array(e)):c.importBitmap(e,t).then(u).catch(a)}function Uo(e){return{name:e,md5:"cd21514d0531fdffb22204e0ec5ed84a.svg",rotationCenterX:0,rotationCenterY:0,bitmapResolution:1,skinId:null}}function Go(e,t){var n,A,o,a=document.createElement("a");document.body.appendChild(a),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(t,e):"download"in HTMLAnchorElement.prototype?(n=window.URL.createObjectURL(t),a.href=n,a.download=e,a.type=t.type,a.click(),window.setTimeout(function(){document.body.removeChild(a),window.URL.revokeObjectURL(n)},1e3)):(A=window.open("","_blank"),(o=new FileReader).onloadend=function(){A.location.href=o.result,A=null},o.readAsDataURL(t))}var i=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&No(t,e);var n,A=Oo(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Fo(e),["handleUpdateImage","handleUpdateName"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){return this.props.imageId!==e.imageId||this.props.rtl!==e.rtl||this.props.name!==e.name}},{key:"handleUpdateName",value:function(e){this.props.vm.renameCostume(this.props.selectedCostumeIndex,e)}},{key:"handleUpdateImage",value:function(e,t,n,A){e?this.props.vm.updateSvg(this.props.selectedCostumeIndex,t,n,A):this.props.vm.updateBitmap(this.props.selectedCostumeIndex,t,n,A,2)}},{key:"render",value:function(){var e,t,n;return this.props.imageId?(e=(n=this.props).selectedCostumeIndex,t=n.vm,n=Do(n,So),j.a.createElement(Qo.default,ko({},n,{image:t.getCostume(e),onUpdateImage:this.handleUpdateImage,onUpdateName:this.handleUpdateName,fontInlineFn:On.inlineSvgFonts}))):null}}])&&vo(t.prototype,e),n&&vo(t,n),o}(j.a.Component),Lo=(i.propTypes={imageFormat:n.a.string.isRequired,imageId:n.a.string.isRequired,name:n.a.string,rotationCenterX:n.a.number,rotationCenterY:n.a.number,rtl:n.a.bool,selectedCostumeIndex:n.a.number.isRequired,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e,t){var t=t.selectedCostumeIndex,n=e.scratchGui.vm.editingTarget.id,A=e.scratchGui.vm.editingTarget.sprite,t=t<A.costumes.length?t:A.costumes.length-1,A=e.scratchGui.vm.editingTarget.sprite.costumes[t];return{name:A&&A.name,rotationCenterX:A&&A.rotationCenterX,rotationCenterY:A&&A.rotationCenterY,imageFormat:A&&A.dataFormat,imageId:n&&"".concat(n).concat(A.skinId),rtl:e.locales.isRtl,selectedCostumeIndex:t,vm:e.scratchGui.vm,zoomLevelId:n}})(i)),Po=function(e){e.x=Math.floor(200*Math.random()-100),e.y=Math.floor(100*Math.random()-50)},Ho=e(729),jo=e(100),i=e(730),zo=e.n(i),i=e(731),Jo=e.n(i),i=e(111),Wo=e.n(i),i=e(190),Vo=e.n(i),i=e(141),Ko=e.n(i),i=e(142),Xo=e.n(i),qo=e(236),Zo=e(147);function $o(e){return($o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ea(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ta(e,t){return(ta=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function na(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=oa(A);return e=o?(e=oa(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$o(t)&&"function"!=typeof t?Aa(n):t}}function Aa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oa(e){return(oa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function aa(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function ia(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?aa(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):aa(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}var ra=ia(ia({},Object(z.d)({addLibraryBackdropMsg:{id:"gui.costumeTab.addBackdropFromLibrary",defaultMessage:"Choose a Backdrop"},addLibraryCostumeMsg:{id:"gui.costumeTab.addCostumeFromLibrary",defaultMessage:"Choose a Costume"},addBlankCostumeMsg:{id:"gui.costumeTab.addBlankCostume",defaultMessage:"Paint"},addSurpriseCostumeMsg:{id:"gui.costumeTab.addSurpriseCostume",defaultMessage:"Surprise"},addFileBackdropMsg:{id:"gui.costumeTab.addFileBackdrop",defaultMessage:"Upload Backdrop"},addFileCostumeMsg:{id:"gui.costumeTab.addFileCostume",defaultMessage:"Upload Costume"}})),se.a),i=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ta(t,e);var n,o=na(a);function a(e){var t;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");t=o.call(this,e),l()(Aa(t),["handleSelectCostume","handleDeleteCostume","handleDuplicateCostume","handleExportCostume","handleNewCostume","handleNewBlankCostume","handleSurpriseCostume","handleSurpriseBackdrop","handleFileUploadClick","handleCostumeUpload","handleDrop","setFileInput"]);var n=e.editingTarget,A=e.sprites,e=e.stage,A=n&&A[n]?A[n]:e;return A&&A.currentCostume?t.state={selectedCostumeIndex:A.currentCostume}:t.state={selectedCostumeIndex:0},t}return t=a,(e=[{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.costumes&&(this.props.editingTarget===t&&(this.props.sprites[t]||this.props.stage).costumeCount===n.costumeCount||this.setState({selectedCostumeIndex:n.currentCostume}))}},{key:"handleSelectCostume",value:function(e){this.props.vm.editingTarget.setCostume(e),this.setState({selectedCostumeIndex:e})}},{key:"handleDeleteCostume",value:function(e){e=this.props.vm.deleteCostume(e);this.props.dispatchUpdateRestore({restoreFun:e,deletedItem:"Costume"})}},{key:"handleDuplicateCostume",value:function(e){this.props.vm.duplicateCostume(e)}},{key:"handleExportCostume",value:function(e){var e=this.props.vm.editingTarget.sprite.costumes[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleNewCostume",value:function(e,t,n){var A=this,e=Array.isArray(e)?e:[e];return Promise.all(e.map(function(e){return t?A.props.vm.addCostumeFromLibrary(e.md5,e):A.props.vm.addCostume(e.md5,e,n)}))}},{key:"handleNewBlankCostume",value:function(){var e=this.props.vm.editingTarget.isStage?this.props.intl.formatMessage(ra.backdrop,{index:1}):this.props.intl.formatMessage(ra.costume,{index:1});this.handleNewCostume(Uo(e))}},{key:"handleSurpriseCostume",value:function(){var e=qo[Math.floor(Math.random()*qo.length)],e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewCostume(e,!0)}},{key:"handleSurpriseBackdrop",value:function(){var e=Zo[Math.floor(Math.random()*Zo.length)],e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewCostume(e)}},{key:"handleCostumeUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage,r=this.props.vm.editingTarget.id;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){_o(e,t,i,function(e){e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")}),a.handleNewCostume(e,!1,r).then(function(){A===o-1&&a.props.onCloseImporting()})},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.COSTUME?(n=(t=this.props.vm.editingTarget.sprite).costumes[this.state.selectedCostumeIndex],this.props.vm.reorderCostume(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedCostumeIndex:t.costumes.indexOf(n)})):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name}):e.dragType===E.a.BACKPACK_SOUND&&(this.props.onActivateSoundsTab(),this.props.vm.addSound({md5:e.payload.body,name:e.payload.name}))}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"formatCostumeDetails",value:function(e,t){t=t||1;return"".concat(Math.ceil(e[0]/t)," x ").concat(Math.ceil(e[1]/t))}},{key:"render",value:function(){var e,t,n,A,o=this,a=this.props,i=(a.dispatchUpdateRestore,a.intl),r=a.isRtl,s=a.onNewLibraryBackdropClick,l=a.onNewLibraryCostumeClick,a=a.vm;return a.editingTarget?(A=a.editingTarget.isStage,a=a.editingTarget.sprite,e=A?ra.addLibraryBackdropMsg:ra.addLibraryCostumeMsg,t=A?ra.addFileBackdropMsg:ra.addFileCostumeMsg,n=A?this.handleSurpriseBackdrop:this.handleSurpriseCostume,s=A?s:l,l=(A?zo:Jo).a,A=a.costumes?a.costumes.map(function(e){return{name:e.name,asset:e.asset,details:e.size?o.formatCostumeDetails(e.size,e.bitmapResolution):null,dragPayload:e}}):[],j.a.createElement(Mo,{buttons:[{title:i.formatMessage(e),img:l,onClick:s},{title:i.formatMessage(t),img:Wo.a,onClick:this.handleFileUploadClick,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .gif",fileChange:this.handleCostumeUpload,fileInput:this.setFileInput,fileMultiple:!0},{title:i.formatMessage(ra.addSurpriseCostumeMsg),img:Ko.a,onClick:n},{title:i.formatMessage(ra.addBlankCostumeMsg),img:Vo.a,onClick:this.handleNewBlankCostume},{title:i.formatMessage(e),img:Xo.a,onClick:s}],dragType:E.a.COSTUME,isRtl:r,items:A,selectedItemIndex:this.state.selectedCostumeIndex,onDeleteClick:a&&a.costumes&&1<a.costumes.length?this.handleDeleteCostume:null,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateCostume,onExportClick:this.handleExportCostume,onItemClick:this.handleSelectCostume},a.costumes?j.a.createElement(Lo,{selectedCostumeIndex:this.state.selectedCostumeIndex}):null)):null}}])&&ea(t.prototype,e),n&&ea(t,n),a}(j.a.Component),sa=(i.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,onActivateSoundsTab:n.a.func.isRequired,onCloseImporting:n.a.func.isRequired,onNewLibraryBackdropClick:n.a.func.isRequired,onNewLibraryCostumeClick:n.a.func.isRequired,onShowImporting:n.a.func.isRequired,sprites:n.a.shape({id:n.a.shape({costumes:n.a.arrayOf(n.a.shape({url:n.a.string,name:n.a.string.isRequired,skinId:n.a.number}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a)},Object(O.a)("Costume Tab")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,dragging:e.scratchGui.assetDrag.dragging}},function(t){return{onActivateSoundsTab:function(){return t(Object(s.f)(s.e))},onNewLibraryBackdropClick:function(e){e.preventDefault(),t(Object(R.m)())},onNewLibraryCostumeClick:function(e){e.preventDefault(),t(Object(R.o)())},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(i)))),la=e(301),i=Object(z.d)({all:{id:"gui.libraryTags.all",defaultMessage:"All"},animals:{id:"gui.libraryTags.animals",defaultMessage:"Animals"},dance:{id:"gui.libraryTags.dance",defaultMessage:"Dance"},effects:{id:"gui.libraryTags.effects",defaultMessage:"Effects"},fantasy:{id:"gui.libraryTags.fantasy",defaultMessage:"Fantasy"},fashion:{id:"gui.libraryTags.fashion",defaultMessage:"Fashion"},food:{id:"gui.libraryTags.food",defaultMessage:"Food"},indoors:{id:"gui.libraryTags.indoors",defaultMessage:"Indoors"},loops:{id:"gui.libraryTags.loops",defaultMessage:"Loops"},music:{id:"gui.libraryTags.music",defaultMessage:"Music"},notes:{id:"gui.libraryTags.notes",defaultMessage:"Notes"},outdoors:{id:"gui.libraryTags.outdoors",defaultMessage:"Outdoors"},patterns:{id:"gui.libraryTags.patterns",defaultMessage:"Patterns"},people:{id:"gui.libraryTags.people",defaultMessage:"People"},percussion:{id:"gui.libraryTags.percussion",defaultMessage:"Percussion"},space:{id:"gui.libraryTags.space",defaultMessage:"Space"},sports:{id:"gui.libraryTags.sports",defaultMessage:"Sports"},underwater:{id:"gui.libraryTags.underwater",defaultMessage:"Underwater"},voice:{id:"gui.libraryTags.voice",defaultMessage:"Voice"},wacky:{id:"gui.libraryTags.wacky",defaultMessage:"Wacky"},animation:{id:"gui.libraryTags.animation",defaultMessage:"Animation"},art:{id:"gui.libraryTags.art",defaultMessage:"Art"},games:{id:"gui.libraryTags.games",defaultMessage:"Games"},stories:{id:"gui.libraryTags.stories",defaultMessage:"Stories"},letters:{id:"gui.libraryTags.letters",defaultMessage:"Letters"}}),ua=[{tag:"animals",intlLabel:i.animals},{tag:"people",intlLabel:i.people},{tag:"fantasy",intlLabel:i.fantasy},{tag:"dance",intlLabel:i.dance},{tag:"music",intlLabel:i.music},{tag:"sports",intlLabel:i.sports},{tag:"food",intlLabel:i.food},{tag:"fashion",intlLabel:i.fashion},{tag:"letters",intlLabel:i.letters}],ca=e(91);function ga(e){return(ga="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function da(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ha(e,t){return(ha=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pa(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ba(A);return e=o?(e=Ba(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ga(t)&&"function"!=typeof t?ma(n):t}}function ma(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ba(e){return(Ba=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fa(e){return j.a.createElement("label",{className:e.above?Ca.a.inputGroupColumn:Ca.a.inputGroup,style:e.style},j.a.createElement("span",{className:e.secondary?Ca.a.inputLabelSecondary:Ca.a.inputLabel,style:e.spanStyle},e.text),e.children)}var Ea=Object(z.d)({libraryTitle:{id:"gui.spriteLibrary.chooseASprite",defaultMessage:"Choose a Sprite"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ha(t,e);var n,A=pa(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ma(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t=this;Po(e),this.props.vm.addSprite(JSON.stringify(e)).then(function(){t.props.onActivateBlocksTab()})}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:la,id:"spriteLibrary",tags:ua,title:this.props.intl.formatMessage(Ea.libraryTitle),onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose})}}])&&da(t.prototype,e),n&&da(t,n),o}(j.a.PureComponent),wa=(u.propTypes={intl:z.f.isRequired,onActivateBlocksTab:n.a.func.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(u)),u=e(243),Ca=e.n(u),Ia=(fa.propTypes={above:n.a.bool,children:n.a.node,secondary:n.a.bool,text:n.a.oneOfType([n.a.string,n.a.node]).isRequired,style:n.a.object,spanStyle:n.a.object},fa.defaultProps={above:!1,secondary:!1},fa),u=e(395),ya=e.n(u),ba=["small"];function Ma(){return(Ma=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Qa(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ta(e){var t=e.small,n=Qa(e,ba);return j.a.createElement("input",Ma({},n,{className:J()(ya.a.inputForm,e.className,(n={},e=ya.a.inputSmall,t=t,e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n))}))}Ta.propTypes={className:n.a.string,small:n.a.bool},Ta.defaultProps={small:!1};var Sa=Ta;function ka(e){return(ka="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Da(){return(Da=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function va(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Na(e,t){return(Na=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oa(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ra(A);return e=o?(e=Ra(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ka(t)&&"function"!=typeof t?Fa(n):t}}function Fa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ra(e){return(Ra=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ya(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Na(t,e);var n,A=Oa(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Fa(e),["handleChange","handleKeyPress","handleFlush"]),e.state={value:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleKeyPress",value:function(e){"Enter"===e.key&&(this.handleFlush(),e.target.blur())}},{key:"handleFlush",value:function(){var e="number"==typeof this.props.value,t=!e||!isNaN(this.state.value);null!==this.state.value&&t&&this.props.onSubmit(e?Number(this.state.value):this.state.value),this.setState({value:null})}},{key:"handleChange",value:function(e){this.setState({value:e.target.value})}},{key:"render",value:function(){var e=(null===this.state.value?this.props:this.state).value;return j.a.createElement(a,Da({},this.props,{value:e,onBlur:this.handleFlush,onChange:this.handleChange,onKeyPress:this.handleKeyPress}))}}])&&va(t.prototype,e),n&&va(t,n),o}(j.a.Component);return e.propTypes={onSubmit:n.a.func.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},e}var u=e(187),xa=e.n(u),u=e(176),_a=e.n(u),u=e(732),Ua=e.n(u),u=e(733),Ga=e.n(u);function La(e){return(La="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pa(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ha(e,t){return(Ha=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ja(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ja(A);return e=o?(e=Ja(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==La(t)&&"function"!=typeof t?za(n):t}}function za(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ja(e){return(Ja=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ha(t,e);var n,A=ja(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(za(e),["handleMouseDown","handleMouseMove","containerRef","handleRef","unbindMouseEvents"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.handleElement.addEventListener("mousedown",this.handleMouseDown),this.handleElement.addEventListener("touchstart",this.handleMouseDown)}},{key:"componentWillUnmount",value:function(){this.unbindMouseEvents(),this.handleElement.removeEventListener("mousedown",this.handleMouseDown),this.handleElement.removeEventListener("touchstart",this.handleMouseDown)}},{key:"directionToMouseEvent",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.containerElement.getBoundingClientRect(),A=n.top+n.height/2,n=n.left+n.width/2;return 90+Math.atan2(e-A,t-n)*(180/Math.PI)}},{key:"gaugePath",value:function(e,t){var n=t*(Math.PI/180),A=[];return A.push("M ".concat(e," 0")),A.push("L ".concat(e," ").concat(e)),A.push("L ".concat(e+e*Math.sin(n)," ").concat(e-e*Math.cos(n))),A.push("A ".concat(e," ").concat(e," 0 0 ").concat(t<0?1:0," ").concat(e," 0")),A.push("Z"),A.join(" ")}},{key:"handleMouseMove",value:function(e){this.props.onChange(this.directionToMouseEvent(e)+this.directionOffset),e.preventDefault()}},{key:"unbindMouseEvents",value:function(){window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.unbindMouseEvents),window.removeEventListener("touchmove",this.handleMouseMove),window.removeEventListener("touchend",this.unbindMouseEvents)}},{key:"handleMouseDown",value:function(e){this.directionOffset=this.props.direction-this.directionToMouseEvent(e),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.unbindMouseEvents),window.addEventListener("touchmove",this.handleMouseMove),window.addEventListener("touchend",this.unbindMouseEvents),e.preventDefault()}},{key:"containerRef",value:function(e){this.containerElement=e}},{key:"handleRef",value:function(e){this.handleElement=e}},{key:"render",value:function(){var e=this.props,t=e.direction,e=e.radius;return j.a.createElement("div",{className:_a.a.container},j.a.createElement("div",{className:_a.a.dialContainer,ref:this.containerRef,style:{width:"".concat(2*e,"px"),height:"".concat(2*e,"px")}},j.a.createElement("img",{className:_a.a.dialFace,draggable:!1,src:Ua.a}),j.a.createElement("svg",{className:_a.a.gauge,height:2*e,width:2*e},j.a.createElement("path",{className:_a.a.gaugePath,d:this.gaugePath(e,t)})),j.a.createElement("img",{className:_a.a.dialHandle,draggable:!1,ref:this.handleRef,src:Ga.a,style:{top:"".concat(e-e*Math.cos(t*(Math.PI/180)),"px"),left:"".concat(e+e*Math.sin(t*(Math.PI/180)),"px"),transform:"rotate(".concat(t,"deg)")}})))}}])&&Pa(t.prototype,e),n&&Pa(t,n),o}(j.a.Component),Wa=(u.propTypes={direction:n.a.number,onChange:n.a.func.isRequired,radius:n.a.number},u.defaultProps={direction:90,radius:56},u),u=e(152),Va=e.n(u),u=e(734),Ka=e.n(u),u=e(735),Xa=e.n(u),u=e(736),qa=e.n(u);function Za(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $a(e){return j.a.createElement(Ia,{secondary:!0,above:e.labelAbove,text:ti},j.a.createElement(xa.a,{body:j.a.createElement("div",null,j.a.createElement(Wa,{direction:e.direction,onChange:e.onChangeDirection}),j.a.createElement("div",{className:Va.a.buttonRow},j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===ni)),title:e.intl.formatMessage(ai.allAround),onClick:e.onClickAllAround},j.a.createElement("img",{draggable:!1,src:Ka.a})),j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===Ai)),title:e.intl.formatMessage(ai.leftRight),onClick:e.onClickLeftRight},j.a.createElement("img",{draggable:!1,src:Xa.a})),j.a.createElement("button",{className:J()(Va.a.iconButton,Za({},Va.a.active,e.rotationStyle===oi)),title:e.intl.formatMessage(ai.dontRotate),onClick:e.onClickDontRotate},j.a.createElement("img",{draggable:!1,src:qa.a})))),isOpen:e.popoverOpen,preferPlace:"above",onOuterAction:e.onClosePopover},j.a.createElement(ei,{small:!0,disabled:e.disabled,label:ti,tabIndex:"0",type:"text",value:e.disabled?"":e.direction,onFocus:e.onOpenPopover,onSubmit:e.onChangeDirection})))}var ei=Ya(Sa),ti=j.a.createElement(z.a,{defaultMessage:"Direction",id:"gui.SpriteInfo.direction"}),ni="all around",Ai="left-right",oi="don't rotate",ai=Object(z.d)({allAround:{id:"gui.directionPicker.rotationStyles.allAround",defaultMessage:"All Around"},leftRight:{id:"gui.directionPicker.rotationStyles.leftRight",defaultMessage:"Left/Right"},dontRotate:{id:"gui.directionPicker.rotationStyles.dontRotate",defaultMessage:"Do not rotate"}}),ii=($a.propTypes={direction:n.a.number,disabled:n.a.bool.isRequired,intl:z.f,labelAbove:n.a.bool,onChangeDirection:n.a.func.isRequired,onClickAllAround:n.a.func.isRequired,onClickDontRotate:n.a.func.isRequired,onClickLeftRight:n.a.func.isRequired,onClosePopover:n.a.func.isRequired,onOpenPopover:n.a.func.isRequired,popoverOpen:n.a.bool.isRequired,rotationStyle:n.a.string},$a.defaultProps={labelAbove:!1},Object(z.e)($a));function ri(e){return(ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function si(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function li(e,t){return(li=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ui(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=gi(A);return e=o?(e=gi(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ri(t)&&"function"!=typeof t?ci(n):t}}function ci(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gi(e){return(gi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&li(t,e);var n,A=ui(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ci(e),["handleOpenPopover","handleClosePopover","handleClickLeftRight","handleClickDontRotate","handleClickAllAround"]),e.state={popoverOpen:!1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleOpenPopover",value:function(){this.setState({popoverOpen:!0})}},{key:"handleClosePopover",value:function(){this.setState({popoverOpen:!1})}},{key:"handleClickAllAround",value:function(){this.props.onChangeRotationStyle(ni)}},{key:"handleClickLeftRight",value:function(){this.props.onChangeRotationStyle(Ai)}},{key:"handleClickDontRotate",value:function(){this.props.onChangeRotationStyle(oi)}},{key:"render",value:function(){return j.a.createElement(ii,{direction:this.props.direction,disabled:this.props.disabled,labelAbove:this.props.labelAbove,popoverOpen:this.state.popoverOpen&&!this.props.disabled,rotationStyle:this.props.rotationStyle,onChangeDirection:this.props.onChangeDirection,onClickAllAround:this.handleClickAllAround,onClickDontRotate:this.handleClickDontRotate,onClickLeftRight:this.handleClickLeftRight,onClosePopover:this.handleClosePopover,onOpenPopover:this.handleOpenPopover})}}])&&si(t.prototype,e),n&&si(t,n),o}(j.a.Component),di=(u.propTypes={direction:n.a.number,disabled:n.a.bool,labelAbove:n.a.bool,onChangeDirection:n.a.func,onChangeRotationStyle:n.a.func,rotationStyle:n.a.string},u),V=e(16),hi=["ab","ca","de","el","it","ja","ja-Hira","ko","hu","ru","vi"],u=e(24),c=e.n(u),u=e(737),pi=e.n(u),u=e(738),mi=e.n(u),u=e(739),Bi=e.n(u),u=e(740),fi=e.n(u);function Ei(e){return(Ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ci(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ii(e,t){return(Ii=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yi(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=bi(n),t=(e=A?(e=bi(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Ei(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function bi(e){return(bi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Mi=Ya(Sa),Qi=Object(z.d)({spritePlaceholder:{id:"gui.SpriteInfo.spritePlaceholder",defaultMessage:"Name"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ii(t,e);var n,A=yi(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){return this.props.rotationStyle!==e.rotationStyle||this.props.disabled!==e.disabled||this.props.name!==e.name||this.props.stageSize!==e.stageSize||this.props.visible!==e.visible||Math.round(this.props.direction)!==Math.round(e.direction)||Math.round(this.props.size)!==Math.round(e.size)||Math.round(this.props.x)!==Math.round(e.x)||Math.round(this.props.y)!==Math.round(e.y)}},{key:"render",value:function(){var e=this.props.stageSize,t=j.a.createElement(z.a,{defaultMessage:"Sprite",id:"gui.SpriteInfo.sprite"}),n=j.a.createElement(z.a,{defaultMessage:"Show",id:"gui.SpriteInfo.show"}),A=j.a.createElement(z.a,{defaultMessage:"Size",id:"gui.SpriteInfo.size"}),o=(o=this.props.intl.locale,-1!==hi.indexOf(o)),a=j.a.createElement(Mi,{className:J()(c.a.spriteInput,wi({},c.a.columnInput,o)),disabled:this.props.disabled,placeholder:this.props.intl.formatMessage(Qi.spritePlaceholder),tabIndex:"0",type:"text",value:this.props.disabled?"":this.props.name,onSubmit:this.props.onChangeName}),i=j.a.createElement("div",{className:c.a.group},e===V.c.large?j.a.createElement("div",{className:c.a.iconWrapper},j.a.createElement("img",{"aria-hidden":"true",className:J()(c.a.xIcon,c.a.icon),src:pi.a})):null,j.a.createElement(Ia,{text:"x"},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,placeholder:"x",tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.x),onSubmit:this.props.onChangeX}))),r=j.a.createElement("div",{className:c.a.group},e===V.c.large?j.a.createElement("div",{className:c.a.iconWrapper},j.a.createElement("img",{"aria-hidden":"true",className:J()(c.a.yIcon,c.a.icon),src:mi.a})):null,j.a.createElement(Ia,{text:"y"},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,placeholder:"y",tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.y),onSubmit:this.props.onChangeY})));return e===V.c.small?j.a.createElement(W.a,{className:c.a.spriteInfo},j.a.createElement("div",{className:J()(c.a.row,c.a.rowPrimary)},j.a.createElement("div",{className:c.a.group},a)),j.a.createElement("div",{className:J()(c.a.row,c.a.rowSecondary)},i,r)):j.a.createElement(W.a,{className:c.a.spriteInfo},j.a.createElement("div",{className:J()(c.a.row,c.a.rowPrimary)},j.a.createElement("div",{className:c.a.group},j.a.createElement(Ia,{above:o,text:t},a)),i,r),j.a.createElement("div",{className:J()(c.a.row,c.a.rowSecondary)},j.a.createElement("div",{className:o?c.a.column:c.a.group},e===V.c.large?j.a.createElement(Ia,{secondary:!0,text:n}):null,j.a.createElement("div",{className:c.a.radioWrapper},j.a.createElement("div",{className:J()(c.a.radio,c.a.radioFirst,c.a.iconWrapper,(wi(t={},c.a.isActive,this.props.visible&&!this.props.disabled),wi(t,c.a.isDisabled,this.props.disabled),t)),tabIndex:"0",onClick:this.props.onClickVisible,onKeyPress:this.props.onPressVisible},j.a.createElement("img",{className:c.a.icon,src:Bi.a})),j.a.createElement("div",{className:J()(c.a.radio,c.a.radioLast,c.a.iconWrapper,(wi(a={},c.a.isActive,!this.props.visible&&!this.props.disabled),wi(a,c.a.isDisabled,this.props.disabled),a)),tabIndex:"0",onClick:this.props.onClickNotVisible,onKeyPress:this.props.onPressNotVisible},j.a.createElement("img",{className:c.a.icon,src:fi.a})))),j.a.createElement("div",{className:J()(c.a.group,c.a.largerInput)},j.a.createElement(Ia,{secondary:!0,above:o,text:A},j.a.createElement(Mi,{small:!0,disabled:this.props.disabled,label:A,tabIndex:"0",type:"text",value:this.props.disabled?"":Math.round(this.props.size),onSubmit:this.props.onChangeSize}))),j.a.createElement("div",{className:J()(c.a.group,c.a.largerInput)},j.a.createElement(di,{direction:Math.round(this.props.direction),disabled:this.props.disabled,labelAbove:o,rotationStyle:this.props.rotationStyle,onChangeDirection:this.props.onChangeDirection,onChangeRotationStyle:this.props.onChangeRotationStyle}))))}}])&&Ci(t.prototype,e),n&&Ci(t,n),o}(j.a.Component),Ti=(u.propTypes={direction:n.a.oneOfType([n.a.string,n.a.number]),disabled:n.a.bool,intl:z.f,name:n.a.string,onChangeDirection:n.a.func,onChangeName:n.a.func,onChangeRotationStyle:n.a.func,onChangeSize:n.a.func,onChangeX:n.a.func,onChangeY:n.a.func,onClickNotVisible:n.a.func,onClickVisible:n.a.func,onPressNotVisible:n.a.func,onPressVisible:n.a.func,rotationStyle:n.a.string,size:n.a.oneOfType([n.a.string,n.a.number]),stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,visible:n.a.bool,x:n.a.oneOfType([n.a.string,n.a.number]),y:n.a.oneOfType([n.a.string,n.a.number])},Object(z.e)(u));function Si(e){return(Si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ki(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Di(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?ki(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):ki(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function vi(){return(vi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Ni(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Oi(e,t){return(Oi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fi(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Yi(A);return e=o?(e=Yi(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Si(t)&&"function"!=typeof t?Ri(n):t}}function Ri(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yi(e){return(Yi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Oi(t,e);var n,A=Fi(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ri(e),["handleClickVisible","handleClickNotVisible","handlePressVisible","handlePressNotVisible"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleClickVisible",value:function(e){e.preventDefault(),this.props.onChangeVisibility(!0)}},{key:"handleClickNotVisible",value:function(e){e.preventDefault(),this.props.onChangeVisibility(!1)}},{key:"handlePressVisible",value:function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.props.onChangeVisibility(!0))}},{key:"handlePressNotVisible",value:function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.props.onChangeVisibility(!1))}},{key:"render",value:function(){return j.a.createElement(Ti,vi({},this.props,{onClickNotVisible:this.handleClickNotVisible,onClickVisible:this.handleClickVisible,onPressNotVisible:this.handlePressNotVisible,onPressVisible:this.handlePressVisible}))}}])&&Ni(t.prototype,e),n&&Ni(t,n),o}(j.a.Component),xi=(u.propTypes=Di(Di({},Ti.propTypes),{},{onChangeDirection:n.a.func,onChangeName:n.a.func,onChangeSize:n.a.func,onChangeVisibility:n.a.func,onChangeX:n.a.func,onChangeY:n.a.func,x:n.a.number,y:n.a.number}),u);function _i(e){return(_i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ui(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gi(e,t){return(Gi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Li(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Pi(n),t=(e=A?(e=Pi(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==_i(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Pi(e){return(Pi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=function(i,r){return function(a){return function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gi(t,e);var n,A=Li(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"shouldComponentUpdate",value:function(e){for(var t in e)if(t!==i&&this.props[t]!==e[t])return!0;return e[i]!==this._lastRenderedValue&&Date.now()-this._lastRenderTime>r}},{key:"render",value:function(){return this._lastRenderTime=Date.now(),this._lastRenderedValue=this.props[i],j.a.createElement(a,this.props)}}])&&Ui(t.prototype,e),n&&Ui(t,n),o}(j.a.Component)}},g=e(94),Hi=e.n(g);function ji(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zi(e){var t=e.containerRef,a=e.editingTarget,i=e.draggingIndex,r=e.draggingType,s=e.hoveredTarget,l=e.onDeleteSprite,u=e.onDuplicateSprite,c=e.onExportSprite,g=e.onSelectSprite,d=e.onAddSortable,h=e.onRemoveSortable,p=e.ordering,m=e.raised,B=e.selectedId,e=e.items,f=r===E.a.SPRITE;return j.a.createElement(W.a,{className:J()(Hi.a.scrollWrapper,ji({},Hi.a.scrollWrapperDragging,r===E.a.BACKPACK_SPRITE)),componentRef:t},j.a.createElement(W.a,{className:Hi.a.itemsWrapper},e.map(function(e,t){var n,A=s.sprite===e.id&&e.id!==a&&s.receivedBlocks,o=!A&&m&&e.id!==a||[E.a.COSTUME,E.a.SOUND,E.a.BACKPACK_COSTUME,E.a.BACKPACK_SOUND,E.a.BACKPACK_CODE].includes(r);return j.a.createElement(lo,{className:J()(Hi.a.spriteWrapper,ji({},Hi.a.placeholder,f&&t===i)),index:f?p.indexOf(t):t,key:e.name,onAddSortable:d,onRemoveSortable:h},j.a.createElement(Ji,{asset:e.costume&&e.costume.asset,className:J()(Hi.a.sprite,(ji(n={},Hi.a.raised,o),ji(n,Hi.a.receivedBlocks,A),n)),dragPayload:e.id,dragType:E.a.SPRITE,id:e.id,index:t,key:e.id,name:e.name,selected:e.id===B,onClick:g,onDeleteButtonClick:l,onDuplicateButtonClick:u,onExportButtonClick:c}))})))}var Ji=u("asset",500)(JA),Wi=(zi.propTypes={containerRef:n.a.func,draggingIndex:n.a.number,draggingType:n.a.oneOf(Object.keys(E.a)),editingTarget:n.a.string,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool,sprite:n.a.string}),items:n.a.arrayOf(n.a.shape({costume:n.a.shape({url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number.isRequired,rotationCenterX:n.a.number.isRequired,rotationCenterY:n.a.number.isRequired}),name:n.a.string.isRequired,order:n.a.number.isRequired})),onAddSortable:n.a.func,onDeleteSprite:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onRemoveSortable:n.a.func,onSelectSprite:n.a.func,ordering:n.a.arrayOf(n.a.number),raised:n.a.bool,selectedId:n.a.string},a(zi)),Vi=e(81),g=e(299),Ki=e.n(g),Xi=["editingTarget","hoveredTarget","intl","onChangeSpriteDirection","onChangeSpriteName","onChangeSpriteRotationStyle","onChangeSpriteSize","onChangeSpriteVisibility","onChangeSpriteX","onChangeSpriteY","onDrop","onDeleteSprite","onDuplicateSprite","onExportSprite","onFileUploadClick","onNewSpriteClick","onPaintSpriteClick","onSelectSprite","onSpriteUpload","onSurpriseSpriteClick","raised","selectedId","spriteFileInput","sprites","stageSize"];function qi(){return(qi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Zi(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function $i(e){var t=e.editingTarget,n=e.hoveredTarget,A=e.intl,o=e.onChangeSpriteDirection,a=e.onChangeSpriteName,i=e.onChangeSpriteRotationStyle,r=e.onChangeSpriteSize,s=e.onChangeSpriteVisibility,l=e.onChangeSpriteX,u=e.onChangeSpriteY,c=e.onDrop,g=e.onDeleteSprite,d=e.onDuplicateSprite,h=e.onExportSprite,p=e.onFileUploadClick,m=e.onNewSpriteClick,B=e.onPaintSpriteClick,f=e.onSelectSprite,E=e.onSpriteUpload,w=e.onSurpriseSpriteClick,C=e.raised,I=e.selectedId,y=e.spriteFileInput,b=e.sprites,M=e.stageSize,e=Zi(e,Xi),Q=b[I],T=!1;return void 0===Q&&(Q={},T=!0),j.a.createElement(W.a,qi({className:Hi.a.spriteSelector},e),j.a.createElement(xi,{direction:Q.direction,disabled:T,name:Q.name,rotationStyle:Q.rotationStyle,size:Q.size,stageSize:M,visible:Q.visible,x:Q.x,y:Q.y,onChangeDirection:o,onChangeName:a,onChangeRotationStyle:i,onChangeSize:r,onChangeVisibility:s,onChangeX:l,onChangeY:u}),j.a.createElement(Wi,{editingTarget:t,hoveredTarget:n,items:Object.keys(b).map(function(e){return b[e]}),raised:C,selectedId:I,onDeleteSprite:g,onDrop:c,onDuplicateSprite:d,onExportSprite:h,onSelectSprite:f}),j.a.createElement(no,{className:Hi.a.addButton,img:Ki.a,moreButtons:[{title:A.formatMessage(tr.addSpriteFromFile),img:Wo.a,onClick:p,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .sprite2, .sprite3, .gif",fileChange:E,fileInput:y,fileMultiple:!0},{title:A.formatMessage(tr.addSpriteFromSurprise),img:Ko.a,onClick:w},{title:A.formatMessage(tr.addSpriteFromPaint),img:Vo.a,onClick:B},{title:A.formatMessage(tr.addSpriteFromLibrary),img:Xo.a,onClick:m}],title:A.formatMessage(tr.addSpriteFromLibrary),tooltipPlace:Object(Vi.b)(A.locale)?"right":"left",onClick:m}))}function er(e,t){return new Promise(function(n,A){Je()({uri:t,responseType:e},function(e,t){return e||200!==t.statusCode?A(new Error(t.status)):n(t.body)})})}var tr=Object(z.d)({addSpriteFromLibrary:{id:"gui.spriteSelector.addSpriteFromLibrary",defaultMessage:"Choose a Sprite"},addSpriteFromPaint:{id:"gui.spriteSelector.addSpriteFromPaint",defaultMessage:"Paint"},addSpriteFromSurprise:{id:"gui.spriteSelector.addSpriteFromSurprise",defaultMessage:"Surprise"},addSpriteFromFile:{id:"gui.spriteSelector.addSpriteFromFile",defaultMessage:"Upload Sprite"}}),nr=($i.propTypes={editingTarget:n.a.string,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool}),intl:z.f.isRequired,onChangeSpriteDirection:n.a.func,onChangeSpriteName:n.a.func,onChangeSpriteRotationStyle:n.a.func,onChangeSpriteSize:n.a.func,onChangeSpriteVisibility:n.a.func,onChangeSpriteX:n.a.func,onChangeSpriteY:n.a.func,onDeleteSprite:n.a.func,onDrop:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onFileUploadClick:n.a.func,onNewSpriteClick:n.a.func,onPaintSpriteClick:n.a.func,onSelectSprite:n.a.func,onSpriteUpload:n.a.func,onSurpriseSpriteClick:n.a.func,raised:n.a.bool,selectedId:n.a.string,spriteFileInput:n.a.func,sprites:n.a.shape({id:n.a.shape({costume:n.a.shape({url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number.isRequired,rotationCenterX:n.a.number.isRequired,rotationCenterY:n.a.number.isRequired}),name:n.a.string.isRequired,order:n.a.number.isRequired})}),stageSize:n.a.oneOf(Object.keys(V.c)).isRequired},Object(z.e)($i)),a=e(300),Ar=(e(741),e(742),e(12),e(743),er.bind(null,"json")),or=er.bind(null,"arraybuffer"),g=e(104),ar=e.n(g),g=e(744),ir=e.n(g),rr=["backdropCount","containerRef","dragOver","fileInputRef","intl","selected","raised","receivedBlocks","url","onBackdropFileUploadClick","onBackdropFileUpload","onClick","onMouseEnter","onMouseLeave","onNewBackdropClick","onSurpriseBackdropClick","onEmptyBackdropClick"];function sr(){return(sr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function lr(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function ur(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function cr(e){var t,n=e.backdropCount,A=e.containerRef,o=e.dragOver,a=e.fileInputRef,i=e.intl,r=e.selected,s=e.raised,l=e.receivedBlocks,u=e.url,c=e.onBackdropFileUploadClick,g=e.onBackdropFileUpload,d=e.onClick,h=e.onMouseEnter,p=e.onMouseLeave,m=e.onNewBackdropClick,B=e.onSurpriseBackdropClick,f=e.onEmptyBackdropClick,e=ur(e,rr);return j.a.createElement(W.a,sr({className:J()(ar.a.stageSelector,(lr(t={},ar.a.isSelected,r),lr(t,ar.a.raised,s||o),lr(t,ar.a.receivedBlocks,l),t)),componentRef:A,onClick:d,onMouseEnter:h,onMouseLeave:p},e),j.a.createElement("div",{className:ar.a.header},j.a.createElement("div",{className:ar.a.headerTitle},j.a.createElement(z.a,{defaultMessage:"Stage",id:"gui.stageSelector.stage"}))),u?j.a.createElement("img",{className:ar.a.costumeCanvas,src:u}):null,j.a.createElement("div",{className:ar.a.label},j.a.createElement(z.a,{defaultMessage:"Backdrops",id:"gui.stageSelector.backdrops"})),j.a.createElement("div",{className:ar.a.count},n),j.a.createElement(no,{className:ar.a.addButton,img:ir.a,moreButtons:[{title:i.formatMessage(gr.addBackdropFromFile),img:Wo.a,onClick:c,fileAccept:".svg, .png, .bmp, .jpg, .jpeg, .gif",fileChange:g,fileInput:a,fileMultiple:!0},{title:i.formatMessage(gr.addBackdropFromSurprise),img:Ko.a,onClick:B},{title:i.formatMessage(gr.addBackdropFromPaint),img:Vo.a,onClick:f},{title:i.formatMessage(gr.addBackdropFromLibrary),img:Xo.a,onClick:m}],title:i.formatMessage(gr.addBackdropFromLibrary),tooltipPlace:Object(Vi.b)(i.locale)?"right":"left",onClick:m}))}var gr=Object(z.d)({addBackdropFromLibrary:{id:"gui.spriteSelector.addBackdropFromLibrary",defaultMessage:"Choose a Backdrop"},addBackdropFromPaint:{id:"gui.stageSelector.addBackdropFromPaint",defaultMessage:"Paint"},addBackdropFromSurprise:{id:"gui.stageSelector.addBackdropFromSurprise",defaultMessage:"Surprise"},addBackdropFromFile:{id:"gui.stageSelector.addBackdropFromFile",defaultMessage:"Upload Backdrop"}}),g=(cr.propTypes={backdropCount:n.a.number.isRequired,containerRef:n.a.func,dragOver:n.a.bool,fileInputRef:n.a.func,intl:z.f.isRequired,onBackdropFileUpload:n.a.func,onBackdropFileUploadClick:n.a.func,onClick:n.a.func,onEmptyBackdropClick:n.a.func,onMouseEnter:n.a.func,onMouseLeave:n.a.func,onNewBackdropClick:n.a.func,onSurpriseBackdropClick:n.a.func,raised:n.a.bool.isRequired,receivedBlocks:n.a.bool.isRequired,selected:n.a.bool.isRequired,url:n.a.string},Object(z.e)(cr));function dr(e){return(dr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hr(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function pr(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?hr(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):hr(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function mr(){return(mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Br(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function fr(e,t){return(fr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Er(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Cr(A);return e=o?(e=Cr(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==dr(t)&&"function"!=typeof t?wr(n):t}}function wr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Cr(e){return(Cr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=[E.a.COSTUME,E.a.SOUND,E.a.BACKPACK_COSTUME,E.a.BACKPACK_SOUND,E.a.BACKPACK_CODE],Ir=Object(a.a)(d)(u("url",500)(g)),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&fr(t,e);var n,A=Er(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(wr(e),["handleClick","handleNewBackdrop","handleSurpriseBackdrop","handleEmptyBackdrop","addBackdropFromLibraryItem","handleFileUploadClick","handleBackdropUpload","handleMouseEnter","handleMouseLeave","handleTouchEnd","handleDrop","setFileInput","setRef"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("touchend",this.handleTouchEnd)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleTouchEnd",value:function(e){var e=bn(e),t=e.x,e=e.y,n=this.ref.getBoundingClientRect(),A=n.top,o=n.left,a=n.bottom,n=n.right;o<=t&&t<=n&&A<=e&&e<=a&&this.handleMouseEnter()}},{key:"addBackdropFromLibraryItem",value:function(e){e={name:e.name,md5:e.md5ext,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.handleNewBackdrop(e,!(1<arguments.length&&void 0!==arguments[1])||arguments[1])}},{key:"handleClick",value:function(){this.props.onSelect(this.props.id)}},{key:"handleNewBackdrop",value:function(e){var t=this,n=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],e=Array.isArray(e)?e:[e];return Promise.all(e.map(function(e){return t.props.vm.addBackdrop(e.md5,e)})).then(function(){if(n)return t.props.onActivateTab(s.b)})}},{key:"handleSurpriseBackdrop",value:function(e){e.stopPropagation();e=Zo[Math.floor(Math.random()*Zo.length)];this.addBackdropFromLibraryItem(e,!1)}},{key:"handleEmptyBackdrop",value:function(e){e.stopPropagation(),this.props.vm.setEditingTarget(this.props.id),this.handleNewBackdrop(Uo(this.props.intl.formatMessage(se.a.backdrop,{index:1})))}},{key:"handleBackdropUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){_o(e,t,i,function(e){a.props.vm.setEditingTarget(a.props.id),e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")}),a.handleNewBackdrop(e).then(function(){A===o-1&&a.props.onCloseImporting()})},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"handleFileUploadClick",value:function(e){e.stopPropagation(),this.fileInput.click()}},{key:"handleMouseEnter",value:function(){this.props.dispatchSetHoveredSprite(this.props.id)}},{key:"handleMouseLeave",value:function(){this.props.dispatchSetHoveredSprite(null)}},{key:"handleDrop",value:function(e){var t=this;e.dragType===E.a.COSTUME?this.props.vm.shareCostumeToTarget(e.index,this.props.id):e.dragType===E.a.SOUND?this.props.vm.shareSoundToTarget(e.index,this.props.id):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name},this.props.id):e.dragType===E.a.BACKPACK_SOUND?this.props.vm.addSound({md5:e.payload.body,name:e.payload.name},this.props.id):e.dragType===E.a.BACKPACK_CODE&&Ar(e.payload.bodyUrl).then(function(e){t.props.vm.shareBlocksToTarget(e,t.props.id),t.props.vm.refreshWorkspace()})}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"setRef",value:function(e){this.ref=e}},{key:"render",value:function(){var e=X()(this.props,["asset","dispatchSetHoveredSprite","id","intl","onActivateTab","onSelect","onShowImporting","onCloseImporting"]);return j.a.createElement(Ir,mr({componentRef:this.setRef,fileInputRef:this.setFileInput,onBackdropFileUpload:this.handleBackdropUpload,onBackdropFileUploadClick:this.handleFileUploadClick,onClick:this.handleClick,onDrop:this.handleDrop,onEmptyBackdropClick:this.handleEmptyBackdrop,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onSurpriseBackdropClick:this.handleSurpriseBackdrop},e))}}])&&Br(t.prototype,e),n&&Br(t,n),o}(j.a.Component),yr=(a.propTypes=pr(pr({},g.propTypes),{},{id:n.a.string,intl:z.f.isRequired,onCloseImporting:n.a.func,onSelect:n.a.func,onShowImporting:n.a.func}),Object(z.e)(Object(A.b)(function(e,t){var n=t.asset,t=t.id;return{url:n&&n.encodeDataURI(),vm:e.scratchGui.vm,receivedBlocks:e.scratchGui.hoveredTarget.receivedBlocks&&e.scratchGui.hoveredTarget.sprite===t,raised:e.scratchGui.blockDrag}},function(t){return{onNewBackdropClick:function(e){e.stopPropagation(),t(Object(R.m)())},onActivateTab:function(e){t(Object(s.f)(e))},dispatchSetHoveredSprite:function(e){t(Object(vn.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(a))),d=e(396),br=e.n(d),Mr=["editingTarget","fileInputRef","hoveredTarget","spriteLibraryVisible","onActivateBlocksTab","onChangeSpriteDirection","onChangeSpriteName","onChangeSpriteRotationStyle","onChangeSpriteSize","onChangeSpriteVisibility","onChangeSpriteX","onChangeSpriteY","onDeleteSprite","onDrop","onDuplicateSprite","onExportSprite","onFileUploadClick","onNewSpriteClick","onPaintSpriteClick","onRequestCloseSpriteLibrary","onSelectSprite","onSpriteUpload","onSurpriseSpriteClick","raiseSprites","stage","stageSize","sprites","vm"];function Qr(){return(Qr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Tr(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Sr(e){var t=e.editingTarget,n=e.fileInputRef,A=e.hoveredTarget,o=e.spriteLibraryVisible,a=e.onActivateBlocksTab,i=e.onChangeSpriteDirection,r=e.onChangeSpriteName,s=e.onChangeSpriteRotationStyle,l=e.onChangeSpriteSize,u=e.onChangeSpriteVisibility,c=e.onChangeSpriteX,g=e.onChangeSpriteY,d=e.onDeleteSprite,h=e.onDrop,p=e.onDuplicateSprite,m=e.onExportSprite,B=e.onFileUploadClick,f=e.onNewSpriteClick,E=e.onPaintSpriteClick,w=e.onRequestCloseSpriteLibrary,C=e.onSelectSprite,I=e.onSpriteUpload,y=e.onSurpriseSpriteClick,b=e.raiseSprites,M=e.stage,Q=e.stageSize,T=e.sprites,S=e.vm,e=Tr(e,Mr);return j.a.createElement("div",Qr({className:br.a.targetPane},e),j.a.createElement(nr,{editingTarget:t,hoveredTarget:A,raised:b,selectedId:t,spriteFileInput:n,sprites:T,stageSize:Q,onChangeSpriteDirection:i,onChangeSpriteName:r,onChangeSpriteRotationStyle:s,onChangeSpriteSize:l,onChangeSpriteVisibility:u,onChangeSpriteX:c,onChangeSpriteY:g,onDeleteSprite:d,onDrop:h,onDuplicateSprite:p,onExportSprite:m,onFileUploadClick:B,onNewSpriteClick:f,onPaintSpriteClick:E,onSelectSprite:C,onSpriteUpload:I,onSurpriseSpriteClick:y}),j.a.createElement("div",{className:br.a.stageSelectorWrapper},M.id&&j.a.createElement(yr,{asset:M.costume&&M.costume.asset,backdropCount:M.costumeCount,id:M.id,selected:M.id===t,onSelect:C}),j.a.createElement("div",null,o?j.a.createElement(wa,{vm:S,onActivateBlocksTab:a,onRequestClose:w}):null)))}var g=n.a.shape({costume:n.a.shape({asset:n.a.object,url:n.a.string,name:n.a.string.isRequired,bitmapResolution:n.a.number,rotationCenterX:n.a.number,rotationCenterY:n.a.number}),costumeCount:n.a.number,direction:n.a.number,id:n.a.string,name:n.a.string,order:n.a.number,size:n.a.number,visibility:n.a.bool,x:n.a.number,y:n.a.number}),kr=(Sr.propTypes={editingTarget:n.a.string,extensionLibraryVisible:n.a.bool,fileInputRef:n.a.func,hoveredTarget:n.a.shape({hoveredSprite:n.a.string,receivedBlocks:n.a.bool}),onActivateBlocksTab:n.a.func.isRequired,onChangeSpriteDirection:n.a.func,onChangeSpriteName:n.a.func,onChangeSpriteRotationStyle:n.a.func,onChangeSpriteSize:n.a.func,onChangeSpriteVisibility:n.a.func,onChangeSpriteX:n.a.func,onChangeSpriteY:n.a.func,onDeleteSprite:n.a.func,onDrop:n.a.func,onDuplicateSprite:n.a.func,onExportSprite:n.a.func,onFileUploadClick:n.a.func,onNewSpriteClick:n.a.func,onPaintSpriteClick:n.a.func,onRequestCloseExtensionLibrary:n.a.func,onRequestCloseSpriteLibrary:n.a.func,onSelectSprite:n.a.func,onSpriteUpload:n.a.func,onSurpriseSpriteClick:n.a.func,raiseSprites:n.a.bool,spriteLibraryVisible:n.a.bool,sprites:n.a.objectOf(g),stage:g,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a)},Sr);function Dr(e){return(Dr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var vr=["dispatchUpdateRestore","isRtl","onActivateTab","onCloseImporting","onHighlightTarget","onReceivedBlocks","onShowImporting","workspaceMetrics"];function Nr(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Or(){return(Or=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Fr(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Rr(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yr(e,t){return(Yr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xr(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ur(A);return e=o?(e=Ur(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Dr(t)&&"function"!=typeof t?_r(n):t}}function _r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ur(e){return(Ur=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gr(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.55;if(0===e.length)return 0;for(var n=0,A=0;A<e.length;A++){var o=e[A];n+=Math.pow(o,2)}var a=Math.sqrt(n/e.length);return Math.sqrt(a/t)}function Lr(e){for(var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1024,n=e.length,A=[],o=0;o<n;o+=t){var a=Math.min(n,o+t);A.push(Gr(e.slice(o,a)))}return A}function Pr(A,o,a,i,r){Kr.a.encode({sampleRate:a,channelData:[o]}).then(function(e){var t={format:"",dataFormat:"wav",rate:a,sampleCount:o.length},n=A.runtime.storage;t.asset=n.createAsset(n.AssetType.Sound,n.DataFormat.WAV,new Uint8Array(e),null,!0),t.assetId=t.asset.assetId,t.md5="".concat(t.assetId,".").concat(t.dataFormat),t.name=i,A.addSound(t).then(function(){r&&r()})})}function Hr(e){var t=e.level,n=e.width,A=e.height,o=(A-50)/19,e=((19-Math.floor(19*t))*(2.5+o)+1.25)/A;return j.a.createElement("div",{className:Xr.a.maskContainer,style:{height:"".concat(A,"px")}},j.a.createElement("svg",{className:Xr.a.container,height:A,width:n},Array(19).fill(0).map(function(e,t){return j.a.createElement("rect",{className:t<11?Xr.a.green:t<16?Xr.a.yellow:Xr.a.red,height:o,key:t,rx:3,ry:3,width:n-2,x:1,y:A-(2.5+o)*(t+1)})})),j.a.createElement("div",{className:Xr.a.mask,style:{transform:"scaleY(".concat(e,")")}}))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yr(t,e);var n,A=xr(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(_r(e),["handleActivateBlocksTab","handleBlockDragEnd","handleChangeSpriteRotationStyle","handleChangeSpriteDirection","handleChangeSpriteName","handleChangeSpriteSize","handleChangeSpriteVisibility","handleChangeSpriteX","handleChangeSpriteY","handleDeleteSprite","handleDrop","handleDuplicateSprite","handleExportSprite","handleNewSprite","handleSelectSprite","handleSurpriseSpriteClick","handlePaintSpriteClick","handleFileUploadClick","handleSpriteUpload","setFileInput"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.addListener("BLOCK_DRAG_END",this.handleBlockDragEnd)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("BLOCK_DRAG_END",this.handleBlockDragEnd)}},{key:"handleChangeSpriteDirection",value:function(e){this.props.vm.postSpriteInfo({direction:e})}},{key:"handleChangeSpriteRotationStyle",value:function(e){this.props.vm.postSpriteInfo({rotationStyle:e})}},{key:"handleChangeSpriteName",value:function(e){this.props.vm.renameSprite(this.props.editingTarget,e)}},{key:"handleChangeSpriteSize",value:function(e){this.props.vm.postSpriteInfo({size:e})}},{key:"handleChangeSpriteVisibility",value:function(e){this.props.vm.postSpriteInfo({visible:e})}},{key:"handleChangeSpriteX",value:function(e){this.props.vm.postSpriteInfo({x:e})}},{key:"handleChangeSpriteY",value:function(e){this.props.vm.postSpriteInfo({y:e})}},{key:"handleDeleteSprite",value:function(e){var t=this,n=this.props.vm.deleteSprite(e);this.props.dispatchUpdateRestore({restoreFun:function(){return n().then(t.handleActivateBlocksTab)},deletedItem:"Sprite"})}},{key:"handleDuplicateSprite",value:function(e){this.props.vm.duplicateSprite(e)}},{key:"handleExportSprite",value:function(e){var t=this.props.vm.runtime.getTargetById(e).getName(),n=document.createElement("a");document.body.appendChild(n),this.props.vm.exportSprite(e).then(function(e){Go("".concat(t,".sprite3"),e)})}},{key:"handleSelectSprite",value:function(e){this.props.vm.setEditingTarget(e),this.props.stage&&e!==this.props.stage.id&&this.props.onHighlightTarget(e)}},{key:"handleSurpriseSpriteClick",value:function(){var e=la.filter(function(e){return-1===e.tags.indexOf("letters")&&-1===e.tags.indexOf("numbers")}),e=e[Math.floor(Math.random()*e.length)];Po(e),this.props.vm.addSprite(JSON.stringify(e)).then(this.handleActivateBlocksTab)}},{key:"handlePaintSpriteClick",value:function(){var e,t,n=this,A=this.props.intl.formatMessage;e=A(se.a.sprite,{index:1}),t=A(se.a.pop),A=A(se.a.costume,{index:1}),this.props.vm.addSprite(JSON.stringify({objName:e,sounds:[{soundName:t,soundID:-1,md5:"83a9787d4cb6f3b7632b4ddfebf74367.wav",sampleCount:258,rate:11025,format:""}],costumes:[{costumeName:A,baseLayerID:-1,baseLayerMD5:"cd21514d0531fdffb22204e0ec5ed84a.svg",bitmapResolution:1,rotationCenterX:0,rotationCenterY:0}],currentCostumeIndex:0,scratchX:36,scratchY:28,scale:1,direction:90,rotationStyle:"normal",isDraggable:!1,visible:!0,spriteInfo:{}})).then(function(){setTimeout(function(){n.props.onActivateTab(s.b)})})}},{key:"handleActivateBlocksTab",value:function(){this.props.onActivateTab(s.a)}},{key:"handleNewSprite",value:function(e){return this.props.vm.addSprite(e).then(this.handleActivateBlocksTab)}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleSpriteUpload",value:function(e){var a=this,i=this.props.vm.runtime.storage;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){!function(e,t,n,A,o){var a=5<arguments.length&&void 0!==arguments[5]?arguments[5]:function(){};switch(t){case"":case"application/zip":return o(new Uint8Array(e));case"image/svg+xml":case"image/png":case"image/bmp":case"image/jpeg":case"image/gif":return _o(e,t,A,function(e){e.forEach(function(e,t){e.name="".concat(n).concat(t?t+1:"")});e={name:n,isStage:!1,x:0,y:0,visible:!0,size:100,rotationStyle:"all around",direction:90,draggable:!1,currentCostume:0,blocks:{},variables:{},costumes:e,sounds:[]};Po(e),o(JSON.stringify(e))},a);default:a("Encountered unexpected file type: ".concat(t))}}(e,t,n,i,function(e){a.handleNewSprite(e).then(function(){A===o-1&&a.props.onCloseImporting()}).catch(a.props.onCloseImporting)},a.props.onCloseImporting)},this.props.onCloseImporting)}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"handleBlockDragEnd",value:function(e){this.props.hoveredTarget.sprite&&this.props.hoveredTarget.sprite!==this.props.editingTarget&&(this.shareBlocks(e,this.props.hoveredTarget.sprite,this.props.editingTarget),this.props.onReceivedBlocks(!0))}},{key:"shareBlocks",value:function(e,t,n){var A,o,a,i=e.find(function(e){return e.topLevel});return i&&(a=(A=this.props.workspaceMetrics.targets[t]||{scrollX:0,scrollY:0,scale:V.a}).scrollX,o=A.scrollY,A=A.scale,o=30-o,a=this.props.isRtl?a+30:30-a,i.x=a/A,i.y=o/A),this.props.vm.shareBlocksToTarget(e,t,n)}},{key:"handleDrop",value:function(e){var t=this,n=this.props.hoveredTarget.sprite;e.dragType===E.a.SPRITE?this.props.vm.reorderTarget(e.index+1,e.newIndex+1):e.dragType===E.a.BACKPACK_SPRITE?or(e.payload.bodyUrl).then(function(e){return t.props.vm.addSprite(e)}):n&&(e.dragType===E.a.COSTUME?this.props.vm.shareCostumeToTarget(e.index,n):n&&e.dragType===E.a.SOUND?this.props.vm.shareSoundToTarget(e.index,n):e.dragType===E.a.BACKPACK_COSTUME?this.props.vm.addCostume(e.payload.body,{name:e.payload.name},n):e.dragType===E.a.BACKPACK_SOUND?this.props.vm.addSound({md5:e.payload.body,name:e.payload.name},n):e.dragType===E.a.BACKPACK_CODE&&Ar(e.payload.bodyUrl).then(function(e){return t.shareBlocks(e,n)}).then(function(){return t.props.vm.refreshWorkspace()}))}},{key:"render",value:function(){var e=this.props,e=(e.dispatchUpdateRestore,e.isRtl,e.onActivateTab,e.onCloseImporting,e.onHighlightTarget,e.onReceivedBlocks,e.onShowImporting,e.workspaceMetrics,Fr(e,vr));return j.a.createElement(kr,Or({},e,{fileInputRef:this.setFileInput,onActivateBlocksTab:this.handleActivateBlocksTab,onChangeSpriteDirection:this.handleChangeSpriteDirection,onChangeSpriteName:this.handleChangeSpriteName,onChangeSpriteRotationStyle:this.handleChangeSpriteRotationStyle,onChangeSpriteSize:this.handleChangeSpriteSize,onChangeSpriteVisibility:this.handleChangeSpriteVisibility,onChangeSpriteX:this.handleChangeSpriteX,onChangeSpriteY:this.handleChangeSpriteY,onDeleteSprite:this.handleDeleteSprite,onDrop:this.handleDrop,onDuplicateSprite:this.handleDuplicateSprite,onExportSprite:this.handleExportSprite,onFileUploadClick:this.handleFileUploadClick,onPaintSpriteClick:this.handlePaintSpriteClick,onSelectSprite:this.handleSelectSprite,onSpriteUpload:this.handleSpriteUpload,onSurpriseSpriteClick:this.handleSurpriseSpriteClick}))}}])&&Rr(t.prototype,e),n&&Rr(t,n),o}(j.a.Component),d=kr.propTypes,g=(d.onSelectSprite,d.onActivateBlocksTab,Fr(d,["onSelectSprite","onActivateBlocksTab"])),jr=(a.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Nr(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Nr(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({intl:z.f.isRequired,onCloseImporting:n.a.func,onShowImporting:n.a.func},g),Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,hoveredTarget:e.scratchGui.hoveredTarget,isRtl:e.locales.isRtl,spriteLibraryVisible:e.scratchGui.modals.spriteLibrary,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,raiseSprites:e.scratchGui.blockDrag,workspaceMetrics:e.scratchGui.workspaceMetrics}},function(t){return{onNewSpriteClick:function(e){e.preventDefault(),t(Object(R.t)())},onRequestCloseSpriteLibrary:function(){t(Object(R.h)())},onActivateTab:function(e){t(Object(s.f)(e))},onReceivedBlocks:function(e){t(Object(vn.d)(e))},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onHighlightTarget:function(e){t(Object(mt.b)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(a))),d=e(745),zr=e.n(d),g=e(746),Jr=e.n(g),a=e(747),Wr=e.n(a),d=e(748),Vr=e.n(d),g=e(302),Kr=e.n(g),a=e(177),Xr=e.n(a),qr=(Hr.propTypes={height:n.a.number,level:n.a.number,width:n.a.number},Hr),d=e(397),Zr=e.n(d);function $r(e){return($r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function es(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||ns(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ts(e){return function(e){if(Array.isArray(e))return As(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ns(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ns(e,t){var n;if(e)return"string"==typeof e?As(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?As(e,t):void 0}function As(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function os(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function as(e,t){return(as=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function is(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=rs(n),t=(e=A?(e=rs(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$r(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function rs(e){return(rs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ss(e){return j.a.createElement(W.a,null,j.a.createElement(W.a,{className:h.a.visualizationContainer},j.a.createElement(W.a,{className:h.a.meterContainer},j.a.createElement(qr,{height:172,level:e.level,width:20})),j.a.createElement(W.a,{className:h.a.waveformContainer},e.levels?j.a.createElement(gs,{data:e.levels,height:150,level:0,width:440}):j.a.createElement("span",{className:h.a.helpText},e.listening?e.intl.formatMessage(hs.beginRecord):e.intl.formatMessage(hs.permission,{arrow:e.isRtl?"↗️  ":"↖️  "})))),j.a.createElement(W.a,{className:h.a.mainButtonRow},j.a.createElement("button",{className:h.a.mainButton,disabled:!e.listening,onClick:e.recording?e.onStopRecording:e.onRecord},e.recording?j.a.createElement("img",{draggable:!1,src:ds.a}):j.a.createElement("svg",{className:h.a.recordButton,height:"52",width:"52"},j.a.createElement("circle",{className:h.a.recordButtonCircle,cx:"26",cy:"26",r:"25"}),j.a.createElement("circle",{className:h.a.recordButtonCircleOutline,cx:"26",cy:"26",r:27+5*e.level})),j.a.createElement("div",{className:h.a.helpText},j.a.createElement("span",{className:h.a.recordingText},e.recording?e.intl.formatMessage(hs.stop):e.intl.formatMessage(hs.record))))))}function ls(){return us}var us,cs,g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&as(t,e);var n,A=is(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){var e=this.props,n=e.width,A=e.height,e=e.data,o=Math.ceil(e.length/n),e=1===o?e.slice(0):e.filter(function(e,t){return t%o==0}),a=(1===e.length&&e.push(e[0]),e.length-1),i=[].concat(ts(e.map(function(e,t){return[n*(t/a),A*e/2]})),ts(e.reverse().map(function(e,t){return[n*(1-t/a),-A*e/2]}))),e=i.map(function(e,t){var e=es(e,2),n=e[0],e=e[1],t=es(i[t<i.length-1?t+1:0],2),A=t[0],t=t[1];return"Q".concat(n," ").concat(e," ").concat((n+A)/2," ").concat((e+t)/2)});return j.a.createElement("svg",{className:Zr.a.container,viewBox:"0 0 ".concat(n," ").concat(A)},j.a.createElement("g",{transform:"scale(1, -1) translate(0, -".concat(A/2,")")},j.a.createElement("path",{className:Zr.a.waveformPath,d:"M0 0".concat(e.join(" "),"Z"),strokeLinejoin:"round",strokeWidth:1})))}}])&&os(t.prototype,e),n&&os(t,n),o}(j.a.PureComponent),gs=(g.propTypes={data:n.a.arrayOf(n.a.number),height:n.a.number,width:n.a.number},g),a=e(41),h=e.n(a),d=e(749),ds=e.n(d),hs=Object(z.d)({beginRecord:{id:"gui.recordingStep.beginRecord",defaultMessage:"Begin recording by clicking the button below"},permission:{id:"gui.recordingStep.permission",defaultMessage:"{arrow}We need your permission to use your microphone"},stop:{id:"gui.recordingStep.stop",defaultMessage:"Stop recording"},record:{id:"gui.recordingStep.record",defaultMessage:"Record"}}),ps=(ss.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,level:n.a.number,levels:n.a.arrayOf(n.a.number),listening:n.a.bool,onRecord:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,recording:n.a.bool},Object(z.e)(ss)),g=(e(1408),e(303)),ms=e.n(g),a=e(386),Bs=e.n(a),d=e(235);e.n(d).a.msie||(cs=void 0===document.ontouchstart?"mousedown":"touchstart",document.addEventListener(cs,function e(){document.removeEventListener(cs,e),us=new(window.AudioContext||window.webkitAudioContext),Bs()(us)}));function fs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Es=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=new ls,this.bufferLength=8192,this.userMediaStream=null,this.mediaStreamSource=null,this.sourceNode=null,this.scriptProcessorNode=null,this.recordedSamples=0,this.recording=!1,this.started=!1,this.buffers=[],this.disposed=!1}var t,n,A;return t=e,(n=[{key:"startListening",value:function(t,n,A){var o=this;try{ms()({audio:!0}).then(function(e){o.disposed||(o.started=!0,t(),o.attachUserMediaStream(e,n))}).catch(function(e){o.disposed||A(e)})}catch(e){this.disposed||A(e)}}},{key:"startRecording",value:function(){this.recording=!0}},{key:"attachUserMediaStream",value:function(e,t){var n=this,e=(this.userMediaStream=e,this.mediaStreamSource=this.audioContext.createMediaStreamSource(e),this.sourceNode=this.audioContext.createGain(),this.scriptProcessorNode=this.audioContext.createScriptProcessor(this.bufferLength,1,1),this.scriptProcessorNode.onaudioprocess=function(e){n.recording&&!n.disposed&&n.buffers.push(new Float32Array(e.inputBuffer.getChannelData(0)))},this.analyserNode=this.audioContext.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.frequencyBinCount),A=new Float32Array(e);requestAnimationFrame(function e(){n.disposed||(n.analyserNode.getFloatTimeDomainData(A),t(Gr(A)),requestAnimationFrame(e))}),this.mediaStreamSource.connect(this.sourceNode),this.sourceNode.connect(this.analyserNode),this.analyserNode.connect(this.scriptProcessorNode),this.scriptProcessorNode.connect(this.audioContext.destination)}},{key:"stop",value:function(){for(var e=new Float32Array(this.buffers.length*this.bufferLength),t=0,n=0;n<this.buffers.length;n++){var A=this.buffers[n];e.set(A,t),t+=A.length}for(var o=Lr(e),a=Math.max.apply(null,o)/8,i=null,r=null,s=0;s<o.length;s++)o[s]>a&&(null===i&&(i=s+1),r=s+1);var l=Math.max(2,i-2)/this.buffers.length,u=Math.min(this.buffers.length-2,r+2)/this.buffers.length;return u<=l&&(l=0,u=1),{levels:o,samples:e,sampleRate:this.audioContext.sampleRate,trimStart:l,trimEnd:u}}},{key:"dispose",value:function(){this.started&&(this.scriptProcessorNode.onaudioprocess=null,this.scriptProcessorNode.disconnect(),this.analyserNode.disconnect(),this.sourceNode.disconnect(),this.mediaStreamSource.disconnect(),this.userMediaStream.getAudioTracks()[0].stop()),this.disposed=!0}}])&&fs(t.prototype,n),A&&fs(t,A),e}();function ws(e){return(ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Cs=["onRecord","onStopRecording"];function Is(){return(Is=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function ys(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function bs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ms(e,t){return(Ms=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qs(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ss(A);return e=o?(e=Ss(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ws(t)&&"function"!=typeof t?Ts(n):t}}function Ts(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ss(e){return(Ss=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ks(e){return j.a.createElement(W.a,{className:J()(p.a.trimLine,e.handleStyle),onMouseDown:e.onMouseDown,onTouchStart:e.onMouseDown},j.a.createElement(W.a,{className:J()(p.a.trimHandle,p.a.topTrimHandle)},j.a.createElement("img",{src:Fs.a,draggable:!1})),j.a.createElement(W.a,{className:J()(p.a.trimHandle,p.a.bottomTrimHandle)},j.a.createElement("img",{src:Fs.a,draggable:!1})))}function Ds(e){return j.a.createElement("div",{className:p.a.playheadContainer},j.a.createElement("div",{className:J()(p.a.playhead),style:{transform:"translateX(".concat(100*e.playbackPosition,"%)")}}))}function vs(e){return j.a.createElement("div",{className:J()(p.a.absolute,p.a.trimmer),ref:e.containerRef},null===e.trimStart?null:j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackground,p.a.startTrimBackground),style:{width:"".concat(100*e.trimStart,"%")},onMouseDown:e.onTrimStartMouseDown,onTouchStart:e.onTrimStartMouseDown},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackgroundMask)}),j.a.createElement(Rs,{handleStyle:p.a.leftHandle})),e.playhead?j.a.createElement(Ys,{playbackPosition:e.playhead}):null,null===e.trimEnd?null:j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackground,p.a.endTrimBackground),style:{left:"".concat(100*e.trimEnd,"%"),width:"".concat(100-100*e.trimEnd,"%")},onMouseDown:e.onTrimEndMouseDown,onTouchStart:e.onTrimEndMouseDown},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.trimBackgroundMask)}),j.a.createElement(Rs,{handleStyle:p.a.rightHandle})))}var Ns=Object(z.d)({alertMsg:{id:"gui.recordingStep.alertMsg",defaultMessage:"Could not start recording"}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ms(t,e);var n,A=Qs(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ts(e),["handleRecord","handleStopRecording","handleStarted","handleLevelUpdate","handleRecordingError"]),e.state={listening:!1,level:0,levels:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioRecorder=new Es,this.audioRecorder.startListening(this.handleStarted,this.handleLevelUpdate,this.handleRecordingError)}},{key:"componentWillUnmount",value:function(){this.audioRecorder.dispose()}},{key:"handleStarted",value:function(){this.setState({listening:!0})}},{key:"handleRecordingError",value:function(){alert(this.props.intl.formatMessage(Ns.alertMsg))}},{key:"handleLevelUpdate",value:function(e){this.setState({level:e,levels:this.props.recording?(this.state.levels||[]).concat([e]):this.state.levels})}},{key:"handleRecord",value:function(){this.audioRecorder.startRecording(),this.props.onRecord()}},{key:"handleStopRecording",value:function(){var e=this.audioRecorder.stop(),t=e.samples,n=e.sampleRate,A=e.levels,o=e.trimStart,e=e.trimEnd;this.props.onStopRecording(t,n,A,o,e)}},{key:"render",value:function(){var e=this.props,e=(e.onRecord,e.onStopRecording,ys(e,Cs));return j.a.createElement(ps,Is({level:this.state.level,levels:this.state.levels,listening:this.state.listening,onRecord:this.handleRecord,onStopRecording:this.handleStopRecording},e))}}])&&bs(t.prototype,e),n&&bs(t,n),o}(j.a.Component),Os=(g.propTypes={intl:z.f.isRequired,onRecord:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,recording:n.a.bool},Object(z.e)(g)),a=e(34),p=e.n(a),d=e(398),Fs=e.n(d),Rs=(ks.propTypes={handleStyle:n.a.string,onMouseDown:n.a.func},ks),Ys=(Ds.propTypes={playbackPosition:n.a.number},Ds),xs=(vs.propTypes={containerRef:n.a.func,onTrimEndMouseDown:n.a.func.isRequired,onTrimStartMouseDown:n.a.func.isRequired,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},vs);function _s(e){return(_s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Us(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gs(e,t){return(Gs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ls(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Hs(A);return e=o?(e=Hs(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==_s(t)&&"function"!=typeof t?Ps(n):t}}function Ps(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hs(e){return(Hs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function js(e){return j.a.createElement(W.a,null,j.a.createElement(W.a,{className:h.a.visualizationContainer},j.a.createElement(W.a,{className:h.a.meterContainer},j.a.createElement(qr,{height:172,level:0,width:20})),j.a.createElement(W.a,{className:h.a.waveformContainer},j.a.createElement(gs,{data:e.levels,height:150,level:0,width:480}),j.a.createElement(zs,{playhead:e.playhead,trimEnd:e.trimEnd,trimStart:e.trimStart,onSetTrimEnd:e.onSetTrimEnd,onSetTrimStart:e.onSetTrimStart}))),j.a.createElement(W.a,{className:h.a.mainButtonRow},j.a.createElement("button",{className:h.a.mainButton,onClick:e.playing?e.onStopPlaying:e.onPlay},j.a.createElement("img",{draggable:!1,src:(e.playing?Ws:Vs).a}),j.a.createElement("div",{className:h.a.helpText},j.a.createElement("span",{className:h.a.playingText},e.playing?e.intl.formatMessage(Ks.stopMsg):e.intl.formatMessage(Ks.playMsg))))),j.a.createElement(W.a,{className:h.a.buttonRow},j.a.createElement("button",{className:h.a.rerecordButton,onClick:e.onBack},j.a.createElement("img",{draggable:!1,src:Js.a}),e.intl.formatMessage(Ks.reRecordMsg)),j.a.createElement("button",{className:h.a.okButton,disabled:e.encoding,onClick:e.onSubmit},e.encoding?e.intl.formatMessage(Ks.loadingMsg):e.intl.formatMessage(Ks.saveMsg))))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gs(t,e);var n,A=Ls(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ps(e),["handleTrimStartMouseDown","handleTrimEndMouseDown","handleTrimStartMouseMove","handleTrimEndMouseMove","storeRef"]),e.trimStartDragRecognizer=new xn({onDrag:e.handleTrimStartMouseMove,touchDragAngle:90,distanceThreshold:0}),e.trimEndDragRecognizer=new xn({onDrag:e.handleTrimEndMouseMove,touchDragAngle:90,distanceThreshold:0}),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleTrimStartMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.max(0,Math.min(this.props.trimEnd-.01,this.initialTrim+e));this.props.onSetTrimStart(t)}},{key:"handleTrimEndMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.min(1,Math.max(this.props.trimStart+.01,this.initialTrim+e));this.props.onSetTrimEnd(t)}},{key:"handleTrimStartMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimStartDragRecognizer.start(e),this.initialTrim=this.props.trimStart}},{key:"handleTrimEndMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimEndDragRecognizer.start(e),this.initialTrim=this.props.trimEnd}},{key:"storeRef",value:function(e){this.containerElement=e}},{key:"render",value:function(){return j.a.createElement(xs,{containerRef:this.storeRef,playhead:this.props.playhead,trimEnd:this.props.trimEnd,trimStart:this.props.trimStart,onTrimEndMouseDown:this.handleTrimEndMouseDown,onTrimStartMouseDown:this.handleTrimStartMouseDown})}}])&&Us(t.prototype,e),n&&Us(t,n),o}(j.a.Component),zs=(g.propTypes={onSetTrimEnd:n.a.func,onSetTrimStart:n.a.func,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},g),a=e(750),Js=e.n(a),d=e(751),Ws=e.n(d),g=e(752),Vs=e.n(g),Ks=Object(z.d)({stopMsg:{id:"gui.playbackStep.stopMsg",defaultMessage:"Stop"},playMsg:{id:"gui.playbackStep.playMsg",defaultMessage:"Play"},loadingMsg:{id:"gui.playbackStep.loadingMsg",defaultMessage:"Loading..."},saveMsg:{id:"gui.playbackStep.saveMsg",defaultMessage:"Save"},reRecordMsg:{id:"gui.playbackStep.reRecordMsg",defaultMessage:"Re-record"}}),Xs=(js.propTypes={encoding:n.a.bool.isRequired,intl:z.f.isRequired,levels:n.a.arrayOf(n.a.number).isRequired,onBack:n.a.func.isRequired,onPlay:n.a.func.isRequired,onSetTrimEnd:n.a.func.isRequired,onSetTrimStart:n.a.func.isRequired,onStopPlaying:n.a.func.isRequired,onSubmit:n.a.func.isRequired,playhead:n.a.number,playing:n.a.bool.isRequired,trimEnd:n.a.number.isRequired,trimStart:n.a.number.isRequired},Object(z.e)(js));function qs(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Zs=function(){function n(e,t){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.audioContext=new ls,this.buffer=this.audioContext.createBuffer(1,e.length,t),this.buffer.getChannelData(0).set(e),this.source=null,this.startTime=null,this.updateCallback=null,this.trimStart=null,this.trimEnd=null}var e,t,A;return e=n,(t=[{key:"play",value:function(e,t,n,A){this.updateCallback=n,this.trimStart=e,this.trimEnd=t,this.startTime=Date.now();n=this.buffer.duration*e,e=this.buffer.duration*t-n;this.source=this.audioContext.createBufferSource(),this.source.onended=A,this.source.buffer=this.buffer,this.source.connect(this.audioContext.destination),this.source.start(0,n,e),this.update()}},{key:"update",value:function(){var e=(Date.now()-this.startTime)/1e3/this.buffer.duration;e+this.trimStart<this.trimEnd&&this.source.onended?(requestAnimationFrame(this.update.bind(this)),this.updateCallback(e+this.trimStart)):this.updateCallback=null}},{key:"stop",value:function(){if(this.source){this.source.onended=null;try{this.source.stop()}catch(e){console.log("Caught error while stopping buffer source node.")}}}}])&&qs(e.prototype,t),A&&qs(e,A),n}();function $s(e){return($s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var el=["sampleRate","onPlay","onStopPlaying","onSetPlayhead"];function tl(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function nl(){return(nl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Al(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ol(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function al(e,t){return(al=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function il(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=sl(A);return e=o?(e=sl(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$s(t)&&"function"!=typeof t?rl(n):t}}function rl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sl(e){return(sl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ll(e){return j.a.createElement(cl.a,{className:h.a.modalContent,contentLabel:e.intl.formatMessage(gl.title),onRequestClose:e.onCancel},j.a.createElement(W.a,{className:h.a.body},e.samples?j.a.createElement(ul,{encoding:e.encoding,levels:e.levels,playhead:e.playhead,playing:e.playing,sampleRate:e.sampleRate,samples:e.samples,trimEnd:e.trimEnd,trimStart:e.trimStart,onBack:e.onBack,onPlay:e.onPlay,onSetPlayhead:e.onSetPlayhead,onSetTrimEnd:e.onSetTrimEnd,onSetTrimStart:e.onSetTrimStart,onStopPlaying:e.onStopPlaying,onSubmit:e.onSubmit}):j.a.createElement(Os,{recording:e.recording,onRecord:e.onRecord,onStopRecording:e.onStopRecording})))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&al(t,e);var n,A=il(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(rl(e),["handlePlay","handleStopPlaying"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioBufferPlayer=new Zs(this.props.samples,this.props.sampleRate)}},{key:"componentWillUnmount",value:function(){this.audioBufferPlayer.stop()}},{key:"handlePlay",value:function(){this.audioBufferPlayer.play(this.props.trimStart,this.props.trimEnd,this.props.onSetPlayhead,this.props.onStopPlaying),this.props.onPlay()}},{key:"handleStopPlaying",value:function(){this.audioBufferPlayer.stop(),this.props.onStopPlaying()}},{key:"render",value:function(){var e=this.props,e=(e.sampleRate,e.onPlay,e.onStopPlaying,e.onSetPlayhead,Al(e,el));return j.a.createElement(Xs,nl({onPlay:this.handlePlay,onStopPlaying:this.handleStopPlaying},e))}}])&&ol(t.prototype,e),n&&ol(t,n),o}(j.a.Component),ul=(a.propTypes=function(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?tl(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):tl(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}({sampleRate:n.a.number.isRequired,samples:n.a.instanceOf(Float32Array).isRequired},Xs.propTypes),a),cl=e(74),gl=Object(z.d)({title:{id:"gui.recordModal.title",defaultMessage:"Record Sound"}}),dl=(ll.propTypes={encoding:n.a.bool.isRequired,intl:z.f.isRequired,levels:n.a.arrayOf(n.a.number),onBack:n.a.func.isRequired,onCancel:n.a.func.isRequired,onPlay:n.a.func.isRequired,onRecord:n.a.func.isRequired,onSetPlayhead:n.a.func.isRequired,onSetTrimEnd:n.a.func.isRequired,onSetTrimStart:n.a.func.isRequired,onStopPlaying:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,onSubmit:n.a.func.isRequired,playhead:n.a.number,playing:n.a.bool,recording:n.a.bool,sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),trimEnd:n.a.number.isRequired,trimStart:n.a.number.isRequired},Object(z.e)(ll));function hl(e){return(hl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function ml(e,t){return(ml=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bl(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=El(A);return e=o?(e=El(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==hl(t)&&"function"!=typeof t?fl(n):t}}function fl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function El(e){return(El=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ml(t,e);var n,A=Bl(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(fl(e),["handleRecord","handleStopRecording","handlePlay","handleStopPlaying","handleBack","handleSubmit","handleCancel","handleSetPlayhead","handleSetTrimStart","handleSetTrimEnd"]),e.state={samples:null,encoding:!1,levels:null,playhead:null,playing:!1,recording:!1,sampleRate:null,trimStart:0,trimEnd:1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleRecord",value:function(){this.setState({recording:!0})}},{key:"handleStopRecording",value:function(e,t,n,A,o){0<e.length&&this.setState({samples:e,sampleRate:t,levels:n,trimStart:A,trimEnd:o,recording:!1})}},{key:"handlePlay",value:function(){this.setState({playing:!0})}},{key:"handleStopPlaying",value:function(){this.setState({playing:!1,playhead:null})}},{key:"handleBack",value:function(){this.setState({playing:!1,samples:null})}},{key:"handleSetTrimEnd",value:function(e){this.setState({trimEnd:e})}},{key:"handleSetTrimStart",value:function(e){this.setState({trimStart:e})}},{key:"handleSetPlayhead",value:function(e){this.setState({playhead:e})}},{key:"handleSubmit",value:function(){var n=this;this.setState({encoding:!0},function(){var e=n.state.samples.length,t=Math.floor(n.state.trimStart*e),e=Math.floor(n.state.trimEnd*e),t=n.state.samples.slice(t,e);Pr(n.props.vm,t,n.state.sampleRate,"recording1",function(){n.props.onClose(),n.props.onNewSound()})})}},{key:"handleCancel",value:function(){this.props.onClose()}},{key:"render",value:function(){return j.a.createElement(dl,{encoding:this.state.encoding,levels:this.state.levels,playhead:this.state.playhead,playing:this.state.playing,recording:this.state.recording,sampleRate:this.state.sampleRate,samples:this.state.samples,trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onBack:this.handleBack,onCancel:this.handleCancel,onPlay:this.handlePlay,onRecord:this.handleRecord,onSetPlayhead:this.handleSetPlayhead,onSetTrimEnd:this.handleSetTrimEnd,onSetTrimStart:this.handleSetTrimStart,onStopPlaying:this.handleStopPlaying,onStopRecording:this.handleStopRecording,onSubmit:this.handleSubmit})}}])&&pl(t.prototype,e),n&&pl(t,n),o}(j.a.Component),wl=(d.propTypes={onClose:n.a.func,onNewSound:n.a.func,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{vm:e.scratchGui.vm}},function(e){return{onClose:function(){e(Object(R.g)())}}})(d));function Cl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var Il=function(){function A(e,t,n){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");this.audioContext=e,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.effectInput=this.audioContext.createGain(),this.effectInput.gain.value=0,this.effectInput.gain.setValueAtTime(.75,t),this.effectInput.gain.setValueAtTime(0,n),this.delay=this.audioContext.createDelay(1),this.delay.delayTime.value=A.DELAY_TIME,this.decay=this.audioContext.createGain(),this.decay.gain.value=.3,this.compressor=this.audioContext.createDynamicsCompressor(),this.compressor.threshold.value=-5,this.compressor.knee.value=15,this.compressor.ratio.value=12,this.compressor.attack.value=0,this.compressor.release.value=.25,this.input.connect(this.effectInput),this.effectInput.connect(this.delay),this.delay.connect(this.compressor),this.input.connect(this.compressor),this.delay.connect(this.decay),this.decay.connect(this.delay),this.compressor.connect(this.output)}var e,t,n;return e=A,n=[{key:"DELAY_TIME",get:function(){return.25}},{key:"TAIL_SECONDS",get:function(){return.75}}],(t=null)&&Cl(e.prototype,t),n&&Cl(e,n),A}();var yl=function e(t,n,A){var o=this;if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.passthrough=this.audioContext.createGain(),this.effectInput=this.audioContext.createGain(),this.passthrough.gain.value=1,this.effectInput.gain.value=0,this.passthrough.gain.setValueAtTime(0,n),this.passthrough.gain.setValueAtTime(1,A),this.effectInput.gain.setValueAtTime(1,n),this.effectInput.gain.setValueAtTime(0,A);function a(){for(var e=o.audioContext.createWaveShaper(),t=new Float32Array(1024),n=0;n<1024;n++)t[n]=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.2,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:.4,A=3<arguments.length&&void 0!==arguments[3]?arguments[3]:.65;return e<=t?0:e<=n?A*(Math.pow(e-t,2)/(2*n-2*t)):A*e-A*n+A*(Math.pow(e-t,2)/(2*n-2*t))}(n/1024*2-1);return e.curve=t,e}var t=this.audioContext.createOscillator(),n=(t.frequency.value=50,t.start(0),this.audioContext.createGain()),A=(n.gain.value=.5,this.audioContext.createGain()),i=(A.gain.value=-1,this.audioContext.createGain()),r=(i.gain.value=-1,a(this.audioContext)),s=a(this.audioContext),l=this.audioContext.createGain(),u=(l.gain.value=-1,this.audioContext.createGain()),c=(u.gain.value=-1,a(this.audioContext)),g=a(this.audioContext),d=this.audioContext.createDynamicsCompressor(),h=(d.threshold.value=-5,d.knee.value=15,d.ratio.value=12,d.attack.value=0,d.release.value=.25,this.audioContext.createBiquadFilter());h.type="highpass",h.frequency.value=1e3,h.gain.value=1.25,this.input.connect(this.effectInput),this.input.connect(this.passthrough),this.passthrough.connect(this.output),this.effectInput.connect(u),this.effectInput.connect(g),u.connect(c),t.connect(n),n.connect(A),n.connect(u),n.connect(g),A.connect(i),A.connect(s),i.connect(r),r.connect(l),s.connect(l),l.connect(d),c.connect(d),g.connect(d),this.effectInput.connect(h),h.connect(d),d.connect(this.output)};var bl=function e(t,n,A,o){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.rampLength=.01,this.gain.gain.setValueAtTime(1,Math.max(0,A-this.rampLength)),this.gain.gain.exponentialRampToValueAtTime(n,A),this.gain.gain.setValueAtTime(n,o),this.gain.gain.exponentialRampToValueAtTime(1,o+this.rampLength),this.input.connect(this.gain),this.gain.connect(this.output)};var Ml=function e(t,n,A,o){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.gain.gain.setValueAtTime(1,0),n?(this.gain.gain.setValueAtTime(0,A),this.gain.gain.linearRampToValueAtTime(1,o)):(this.gain.gain.setValueAtTime(1,A),this.gain.gain.linearRampToValueAtTime(0,o)),this.gain.gain.setValueAtTime(1,o),this.input.connect(this.gain),this.gain.connect(this.output)};var Ql=function e(t,n,A){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.audioContext=t,this.input=this.audioContext.createGain(),this.output=this.audioContext.createGain(),this.gain=this.audioContext.createGain(),this.rampLength=.001,this.gain.gain.setValueAtTime(1,Math.max(0,n-this.rampLength)),this.gain.gain.linearRampToValueAtTime(0,n),this.gain.gain.setValueAtTime(0,A),this.gain.gain.linearRampToValueAtTime(1,A+this.rampLength),this.input.connect(this.gain),this.gain.connect(this.output)};function Tl(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Sl(e){return j.a.createElement("div",{className:J()(p.a.absolute,p.a.selector),ref:e.containerRef,onMouseDown:e.onNewSelectionMouseDown,onTouchStart:e.onNewSelectionMouseDown},null===e.trimStart?null:j.a.createElement(W.a,{className:J()(p.a.absolute),style:{left:"".concat(100*e.trimStart,"%"),width:"".concat(100*(e.trimEnd-e.trimStart),"%")}},j.a.createElement(W.a,{className:J()(p.a.absolute,p.a.selectionBackground)}),j.a.createElement(Rs,{handleStyle:p.a.leftHandle,onMouseDown:e.onTrimStartMouseDown}),j.a.createElement(Rs,{handleStyle:p.a.rightHandle,onMouseDown:e.onTrimEndMouseDown})),e.playhead?j.a.createElement(Ys,{playbackPosition:e.playhead}):null)}var kl={ROBOT:"robot",REVERSE:"reverse",LOUDER:"higher",SOFTER:"lower",FASTER:"faster",SLOWER:"slower",ECHO:"echo",FADEIN:"fade in",FADEOUT:"fade out",MUTE:"mute"},Dl=function(){function m(e,t,n,A){if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");this.trimStartSeconds=n*e.length/e.sampleRate,this.trimEndSeconds=A*e.length/e.sampleRate,this.adjustedTrimStartSeconds=this.trimStartSeconds,this.adjustedTrimEndSeconds=this.trimEndSeconds;var o=Math.pow(2,4/12),a=e.length,i=Math.floor((this.trimEndSeconds-this.trimStartSeconds)*e.sampleRate),r=i,s=a-i;switch(this.playbackRate=1,t){case kl.ECHO:a=Math.max(a,Math.floor((this.trimEndSeconds+Il.TAIL_SECONDS)*e.sampleRate));break;case kl.FASTER:this.playbackRate=o,a=s+(r=Math.floor(i/this.playbackRate));break;case kl.SLOWER:this.playbackRate=1/o,a=s+(r=Math.floor(i/this.playbackRate))}n=a/e.sampleRate;if(this.adjustedTrimEndSeconds=this.trimStartSeconds+r/e.sampleRate,this.adjustedTrimStart=this.adjustedTrimStartSeconds/n,this.adjustedTrimEnd=this.adjustedTrimEndSeconds/n,window.OfflineAudioContext?this.audioContext=new window.OfflineAudioContext(1,a,e.sampleRate):(A=44100/e.sampleRate,this.audioContext=new window.webkitOfflineAudioContext(1,A*a,44100)),t===kl.REVERSE){for(var l=e.getChannelData(0),n=this.audioContext.createBuffer(1,e.length,e.sampleRate),u=n.getChannelData(0),c=e.length,g=Math.floor(this.trimStartSeconds*e.sampleRate),d=Math.floor(this.trimEndSeconds*e.sampleRate),h=0,p=0;p<c;p++)g<=p&&p<d?(u[p]=l[d-h-1],h++):u[p]=l[p];this.buffer=n}else this.buffer=e;this.source=this.audioContext.createBufferSource(),this.source.buffer=this.buffer,this.name=t}var e,t,n;return e=m,n=[{key:"effectTypes",get:function(){return kl}}],(t=[{key:"process",value:function(t){var n=this;switch(this.name){case kl.FASTER:case kl.SLOWER:this.source.playbackRate.setValueAtTime(this.playbackRate,this.adjustedTrimStartSeconds),this.source.playbackRate.setValueAtTime(1,this.adjustedTrimEndSeconds);break;case kl.LOUDER:var e=new bl(this.audioContext,1.25,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds),A=e.input,o=e.output;break;case kl.SOFTER:e=new bl(this.audioContext,.75,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.ECHO:e=new Il(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.ROBOT:e=new yl(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.FADEIN:e=new Ml(this.audioContext,!0,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.FADEOUT:e=new Ml(this.audioContext,!1,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output;break;case kl.MUTE:e=new Ql(this.audioContext,this.adjustedTrimStartSeconds,this.adjustedTrimEndSeconds);A=e.input,o=e.output}(A&&o?(this.source.connect(A),o):this.source).connect(this.audioContext.destination),this.source.start(),this.audioContext.startRendering(),this.audioContext.oncomplete=function(e){e=e.renderedBuffer;t(e,n.adjustedTrimStart,n.adjustedTrimEnd)}}}])&&Tl(e.prototype,t),n&&Tl(e,n),m}(),vl=(Sl.propTypes={containerRef:n.a.func,onNewSelectionMouseDown:n.a.func.isRequired,onTrimEndMouseDown:n.a.func.isRequired,onTrimStartMouseDown:n.a.func.isRequired,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},Sl);function Nl(e){return(Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ol(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Fl(e,t){return(Fl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rl(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=xl(A);return e=o?(e=xl(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nl(t)&&"function"!=typeof t?Yl(n):t}}function Yl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xl(e){return(xl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _l(e){var t=e.img,n=e.disabled,A=e.className,o=e.title,e=e.onClick;return j.a.createElement("div",{className:J()(Ll.a.container,A,n?Ll.a.disabled:null),role:"button",onClick:n?null:e},j.a.createElement("img",{className:Ll.a.icon,draggable:!1,src:t}),j.a.createElement("div",{className:Ll.a.title},o))}function Ul(e){return j.a.createElement("div",{className:m.a.editorContainer,ref:e.setRef,onMouseDown:e.onContainerClick},j.a.createElement("div",{className:m.a.row},j.a.createElement("div",{className:m.a.inputGroup},j.a.createElement(Ia,{text:e.intl.formatMessage(ru.sound)},j.a.createElement(iu,{tabIndex:"1",type:"text",value:e.name,onSubmit:e.onChangeName})),j.a.createElement("div",{className:m.a.buttonGroup},j.a.createElement("button",{className:m.a.button,disabled:!e.canUndo,title:e.intl.formatMessage(ru.undo),onClick:e.onUndo},j.a.createElement("img",{className:m.a.undoIcon,draggable:!1,src:Jl.a})),j.a.createElement("button",{className:m.a.button,disabled:!e.canRedo,title:e.intl.formatMessage(ru.redo),onClick:e.onRedo},j.a.createElement("img",{className:m.a.redoIcon,draggable:!1,src:zl.a})))),j.a.createElement("div",{className:m.a.inputGroup},j.a.createElement(Pl,{className:m.a.toolButton,img:Au.a,title:e.intl.formatMessage(ru.copy),onClick:e.onCopy}),j.a.createElement(Pl,{className:m.a.toolButton,disabled:!1===e.canPaste,img:ou.a,title:e.intl.formatMessage(ru.paste),onClick:e.onPaste}),j.a.createElement(Pl,{className:J()(m.a.toolButton,m.a.flipInRtl),img:au.a,title:e.intl.formatMessage(ru.copyToNew),onClick:e.onCopyToNew})),j.a.createElement(Pl,{className:m.a.toolButton,disabled:null===e.trimStart,img:nu.a,title:e.intl.formatMessage(ru.delete),onClick:e.onDelete})),j.a.createElement("div",{className:m.a.row},j.a.createElement("div",{className:m.a.waveformContainer},j.a.createElement(gs,{data:e.chunkLevels,height:160,width:600}),j.a.createElement(Gl,{playhead:e.playhead,trimEnd:e.trimEnd,trimStart:e.trimStart,onPlay:e.onPlay,onSetTrim:e.onSetTrim,onStop:e.onStop}))),j.a.createElement("div",{className:J()(m.a.row,m.a.rowReverse)},j.a.createElement("div",{className:m.a.inputGroup},e.playhead?j.a.createElement("button",{className:J()(m.a.roundButton,m.a.stopButtonn),title:e.intl.formatMessage(ru.stop),onClick:e.onStop},j.a.createElement("img",{draggable:!1,src:jl.a})):j.a.createElement("button",{className:J()(m.a.roundButton,m.a.playButton),title:e.intl.formatMessage(ru.play),onClick:e.onPlay},j.a.createElement("img",{draggable:!1,src:Hl.a}))),j.a.createElement(Pl,{className:m.a.effectButton,img:Wl.a,title:j.a.createElement(z.a,ru.faster),onClick:e.onFaster}),j.a.createElement(Pl,{className:m.a.effectButton,img:Vl.a,title:j.a.createElement(z.a,ru.slower),onClick:e.onSlower}),j.a.createElement(Pl,{disabled:e.tooLoud,className:J()(m.a.effectButton,m.a.flipInRtl),img:Kl.a,title:j.a.createElement(z.a,ru.louder),onClick:e.onLouder}),j.a.createElement(Pl,{className:J()(m.a.effectButton,m.a.flipInRtl),img:Xl.a,title:j.a.createElement(z.a,ru.softer),onClick:e.onSofter}),j.a.createElement(Pl,{className:J()(m.a.effectButton,m.a.flipInRtl),img:tu.a,title:j.a.createElement(z.a,ru.mute),onClick:e.onMute}),j.a.createElement(Pl,{className:m.a.effectButton,img:eu.a,title:j.a.createElement(z.a,ru.fadeIn),onClick:e.onFadeIn}),j.a.createElement(Pl,{className:m.a.effectButton,img:$l.a,title:j.a.createElement(z.a,ru.fadeOut),onClick:e.onFadeOut}),j.a.createElement(Pl,{className:m.a.effectButton,img:Zl.a,title:j.a.createElement(z.a,ru.reverse),onClick:e.onReverse}),j.a.createElement(Pl,{className:m.a.effectButton,img:ql.a,title:j.a.createElement(z.a,ru.robot),onClick:e.onRobot})))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Fl(t,e);var n,A=Rl(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(Yl(t),["handleNewSelectionMouseDown","handleTrimStartMouseDown","handleTrimEndMouseDown","handleTrimStartMouseMove","handleTrimEndMouseMove","handleTrimStartMouseUp","handleTrimEndMouseUp","storeRef"]),t.state={trimStart:e.trimStart,trimEnd:e.trimEnd},t.clickStartTime=0,t.trimStartDragRecognizer=new xn({onDrag:t.handleTrimStartMouseMove,onDragEnd:t.handleTrimStartMouseUp,touchDragAngle:90,distanceThreshold:0}),t.trimEndDragRecognizer=new xn({onDrag:t.handleTrimEndMouseMove,onDragEnd:t.handleTrimEndMouseUp,touchDragAngle:90,distanceThreshold:0}),t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.trimStart,t=t.trimEnd;e.trimStart===n&&e.trimEnd===t||this.setState({trimStart:e.trimStart,trimEnd:e.trimEnd})}},{key:"clearSelection",value:function(){this.props.onSetTrim(null,null)}},{key:"handleNewSelectionMouseDown",value:function(e){var t=this.containerElement.getBoundingClientRect(),n=t.width,t=t.left;this.initialTrimEnd=(bn(e).x-t)/n,this.initialTrimStart=this.initialTrimEnd,this.props.onSetTrim(this.initialTrimStart,this.initialTrimEnd),this.clickStartTime=Date.now(),this.containerSize=n,this.trimEndDragRecognizer.start(e),e.preventDefault()}},{key:"handleTrimStartMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.max(0,Math.min(1,this.initialTrimStart+e));t>this.initialTrimEnd?this.setState({trimStart:this.initialTrimEnd,trimEnd:t}):this.setState({trimStart:t,trimEnd:this.initialTrimEnd})}},{key:"handleTrimEndMouseMove",value:function(e,t){e=(e.x-t.x)/this.containerSize,t=Math.min(1,Math.max(0,this.initialTrimEnd+e));t<this.initialTrimStart?this.setState({trimStart:t,trimEnd:this.initialTrimStart}):this.setState({trimStart:this.initialTrimStart,trimEnd:t})}},{key:"handleTrimStartMouseUp",value:function(){this.props.onSetTrim(this.state.trimStart,this.state.trimEnd)}},{key:"handleTrimEndMouseUp",value:function(){var e=Date.now()-this.clickStartTime<500,t=this.state.trimEnd-this.state.trimStart<.01;e&&t?this.clearSelection():this.props.onSetTrim(this.state.trimStart,this.state.trimEnd)}},{key:"handleTrimStartMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimStartDragRecognizer.start(e),this.initialTrimStart=this.props.trimStart,this.initialTrimEnd=this.props.trimEnd,e.stopPropagation(),e.preventDefault()}},{key:"handleTrimEndMouseDown",value:function(e){this.containerSize=this.containerElement.getBoundingClientRect().width,this.trimEndDragRecognizer.start(e),this.initialTrimEnd=this.props.trimEnd,this.initialTrimStart=this.props.trimStart,e.stopPropagation(),e.preventDefault()}},{key:"storeRef",value:function(e){this.containerElement=e}},{key:"render",value:function(){return j.a.createElement(vl,{containerRef:this.storeRef,playhead:this.props.playhead,trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onNewSelectionMouseDown:this.handleNewSelectionMouseDown,onTrimEndMouseDown:this.handleTrimEndMouseDown,onTrimStartMouseDown:this.handleTrimStartMouseDown})}}])&&Ol(t.prototype,e),n&&Ol(t,n),o}(j.a.Component),Gl=(g.propTypes={onSetTrim:n.a.func,playhead:n.a.number,trimEnd:n.a.number,trimStart:n.a.number},g),a=e(244),Ll=e.n(a),Pl=(_l.propTypes={className:n.a.string,disabled:n.a.bool,img:n.a.string,onClick:n.a.func.isRequired,title:n.a.node.isRequired},_l),d=e(32),m=e.n(d),g=e(753),Hl=e.n(g),a=e(754),jl=e.n(a),d=e(755),zl=e.n(d),g=e(756),Jl=e.n(g),a=e(757),Wl=e.n(a),d=e(758),Vl=e.n(d),g=e(759),Kl=e.n(g),a=e(760),Xl=e.n(a),d=e(761),ql=e.n(d),g=e(762),Zl=e.n(g),a=e(763),$l=e.n(a),d=e(764),eu=e.n(d),g=e(765),tu=e.n(g),a=e(766),nu=e.n(a),d=e(767),Au=e.n(d),g=e(768),ou=e.n(g),a=e(769),au=e.n(a),iu=Ya(Sa),ru=Object(z.d)({sound:{id:"gui.soundEditor.sound",defaultMessage:"Sound"},play:{id:"gui.soundEditor.play",defaultMessage:"Play"},stop:{id:"gui.soundEditor.stop",defaultMessage:"Stop"},copy:{id:"gui.soundEditor.copy",defaultMessage:"Copy"},paste:{id:"gui.soundEditor.paste",defaultMessage:"Paste"},copyToNew:{id:"gui.soundEditor.copyToNew",defaultMessage:"Copy to New"},delete:{id:"gui.soundEditor.delete",defaultMessage:"Delete"},save:{id:"gui.soundEditor.save",defaultMessage:"Save"},undo:{id:"gui.soundEditor.undo",defaultMessage:"Undo"},redo:{id:"gui.soundEditor.redo",defaultMessage:"Redo"},faster:{id:"gui.soundEditor.faster",defaultMessage:"Faster"},slower:{id:"gui.soundEditor.slower",defaultMessage:"Slower"},echo:{id:"gui.soundEditor.echo",defaultMessage:"Echo"},robot:{id:"gui.soundEditor.robot",defaultMessage:"Robot"},louder:{id:"gui.soundEditor.louder",defaultMessage:"Louder"},softer:{id:"gui.soundEditor.softer",defaultMessage:"Softer"},reverse:{id:"gui.soundEditor.reverse",defaultMessage:"Reverse"},fadeOut:{id:"gui.soundEditor.fadeOut",defaultMessage:"Fade out"},fadeIn:{id:"gui.soundEditor.fadeIn",defaultMessage:"Fade in"},mute:{id:"gui.soundEditor.mute",defaultMessage:"Mute"}}),su=(Ul.propTypes={canPaste:n.a.bool.isRequired,canRedo:n.a.bool.isRequired,canUndo:n.a.bool.isRequired,chunkLevels:n.a.arrayOf(n.a.number).isRequired,intl:z.f,name:n.a.string.isRequired,onChangeName:n.a.func.isRequired,onContainerClick:n.a.func.isRequired,onCopy:n.a.func.isRequired,onCopyToNew:n.a.func.isRequired,onDelete:n.a.func,onEcho:n.a.func.isRequired,onFadeIn:n.a.func.isRequired,onFadeOut:n.a.func.isRequired,onFaster:n.a.func.isRequired,onLouder:n.a.func.isRequired,onMute:n.a.func.isRequired,onPaste:n.a.func.isRequired,onPlay:n.a.func.isRequired,onRedo:n.a.func.isRequired,onReverse:n.a.func.isRequired,onRobot:n.a.func.isRequired,onSetTrim:n.a.func,onSlower:n.a.func.isRequired,onSofter:n.a.func.isRequired,onStop:n.a.func.isRequired,onUndo:n.a.func.isRequired,playhead:n.a.number,setRef:n.a.func,tooLoud:n.a.bool.isRequired,trimEnd:n.a.number,trimStart:n.a.number},Object(z.e)(Ul));function lu(e){return(lu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uu(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function cu(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?uu(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):uu(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function gu(e){return function(e){if(Array.isArray(e))return du(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?du(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?du(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function du(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function hu(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pu(e,t){return(pu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=fu(A);return e=o?(e=fu(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==lu(t)&&"function"!=typeof t?Bu(n):t}}function Bu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fu(e){return(fu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pu(t,e);var n,A=mu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Bu(e),["copy","copyCurrentBuffer","handleCopyToNew","handleStoppedPlaying","handleChangeName","handlePlay","handleStopPlaying","handleUpdatePlayhead","handleDelete","handleUpdateTrim","handleEffect","handleUndo","handleRedo","submitNewSamples","handleCopy","handlePaste","paste","handleKeyPress","handleContainerClick","setRef","resampleBufferToRate"]),e.state={copyBuffer:null,chunkLevels:Lr(e.props.samples),playhead:null,trimStart:null,trimEnd:null},e.redoStack=[],e.undoStack=[],e.ref=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioBufferPlayer=new Zs(this.props.samples,this.props.sampleRate),document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillReceiveProps",value:function(e){e.soundId!==this.props.soundId&&(this.redoStack=[],this.undoStack=[],this.resetState(e.samples,e.sampleRate),this.setState({trimStart:null,trimEnd:null}))}},{key:"componentWillUnmount",value:function(){this.audioBufferPlayer.stop(),document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){e.target instanceof HTMLInputElement||!this.props.isFullScreen&&(" "===e.key&&(e.preventDefault(),this.state.playhead?this.handleStopPlaying():this.handlePlay()),"Delete"!==e.key&&"Backspace"!==e.key||(e.preventDefault(),e.shiftKey?this.handleDeleteInverse():this.handleDelete()),"Escape"===e.key&&(e.preventDefault(),this.handleUpdateTrim(null,null)),e.metaKey||e.ctrlKey)&&(e.shiftKey&&"z"===e.key.toLowerCase()?(e.preventDefault(),0<this.redoStack.length&&this.handleRedo()):"z"===e.key?0<this.undoStack.length&&(e.preventDefault(),this.handleUndo()):"c"===e.key?(e.preventDefault(),this.handleCopy()):"v"===e.key?(e.preventDefault(),this.handlePaste()):"a"===e.key&&(e.preventDefault(),this.handleUpdateTrim(0,1)))}},{key:"resetState",value:function(e,t){this.audioBufferPlayer.stop(),this.audioBufferPlayer=new Zs(e,t),this.setState({chunkLevels:Lr(e),playhead:null})}},{key:"submitNewSamples",value:function(e,t,A){var n,o,a=this;return e={samples:e,sampleRate:t},t=this.resampleBufferToRate,n=e.samples,e=e.sampleRate,o=n.length/e,(2*n.length<1e7?Promise.resolve({samples:n,sampleRate:e}):22050*o*2<1e7?t({samples:n,sampleRate:e},22050):Promise.reject(new Error("Sound too large to save, refusing to edit"))).then(function(e){var t=e.samples,n=e.sampleRate;return Kr.a.encode({sampleRate:n,channelData:[t]}).then(function(e){return A||(a.redoStack=[],99<=a.undoStack.length&&a.undoStack.shift(),a.undoStack.push(a.getUndoItem())),a.resetState(t,n),a.props.vm.updateSoundBuffer(a.props.soundIndex,a.audioBufferPlayer.buffer,new Uint8Array(e)),!0})}).catch(function(e){return re.a.error("Encountered error while trying to encode sound update: ".concat(e.message)),!1})}},{key:"handlePlay",value:function(){this.audioBufferPlayer.stop(),this.audioBufferPlayer.play(this.state.trimStart||0,this.state.trimEnd||1,this.handleUpdatePlayhead,this.handleStoppedPlaying)}},{key:"handleStopPlaying",value:function(){this.audioBufferPlayer.stop(),this.handleStoppedPlaying()}},{key:"handleStoppedPlaying",value:function(){this.setState({playhead:null})}},{key:"handleUpdatePlayhead",value:function(e){this.setState({playhead:e})}},{key:"handleChangeName",value:function(e){this.props.vm.renameSound(this.props.soundIndex,e)}},{key:"handleDelete",value:function(){var e,t=this,n=this.copyCurrentBuffer(),A=n.samples,n=n.sampleRate,o=A.length,a=Math.floor(this.state.trimStart*o),i=Math.floor(this.state.trimEnd*o),a=A.slice(0,a),A=A.slice(i,o),i=a.length+A.length;0===i?e=new Float32Array(1):((e=new Float32Array(i)).set(a,0),e.set(A,a.length)),this.submitNewSamples(e,n).then(function(){t.setState({trimStart:null,trimEnd:null})})}},{key:"handleDeleteInverse",value:function(){var t=this,e=this.copyCurrentBuffer(),n=e.samples,e=e.sampleRate,A=n.length,o=Math.floor(this.state.trimStart*A),A=Math.floor(this.state.trimEnd*A),n=n.slice(o,A);0===n.length&&(n=new Float32Array(1)),this.submitNewSamples(n,e).then(function(e){e&&t.setState({trimStart:null,trimEnd:null})})}},{key:"handleUpdateTrim",value:function(e,t){this.setState({trimStart:e,trimEnd:t}),this.handleStopPlaying()}},{key:"effectFactory",value:function(e){var t=this;return function(){return t.handleEffect(e)}}},{key:"copyCurrentBuffer",value:function(){return{samples:this.audioBufferPlayer.buffer.getChannelData(0),sampleRate:this.audioBufferPlayer.buffer.sampleRate}}},{key:"handleEffect",value:function(e){var o=this,t=null===this.state.trimStart?0:this.state.trimStart,n=null===this.state.trimEnd?1:this.state.trimEnd;this.audioBufferPlayer.buffer.length<2||new Dl(this.audioBufferPlayer.buffer,e,t,n).process(function(e,t,n){var A=e.getChannelData(0),e=e.sampleRate;o.submitNewSamples(A,e).then(function(e){e&&(null===o.state.trimStart?o.handlePlay():o.setState({trimStart:t,trimEnd:n},o.handlePlay))})})}},{key:"tooLoud",value:function(){var e=this.state.chunkLevels.length,t=null===this.state.trimStart?0:Math.floor(this.state.trimStart*e),e=null===this.state.trimEnd?e-1:Math.ceil(this.state.trimEnd*e),t=this.state.chunkLevels.slice(t,e);return 1.2<Math.max.apply(Math,gu(t))}},{key:"getUndoItem",value:function(){return cu(cu({},this.copyCurrentBuffer()),{},{trimStart:this.state.trimStart,trimEnd:this.state.trimEnd})}},{key:"handleUndo",value:function(){var t=this,e=(this.redoStack.push(this.getUndoItem()),this.undoStack.pop()),n=e.samples,A=e.sampleRate,o=e.trimStart,a=e.trimEnd;if(n)return this.submitNewSamples(n,A,!0).then(function(e){e&&t.setState({trimStart:o,trimEnd:a},t.handlePlay)})}},{key:"handleRedo",value:function(){var t=this,e=this.redoStack.pop(),n=e.samples,A=e.sampleRate,o=e.trimStart,a=e.trimEnd;if(n)return this.undoStack.push(this.getUndoItem()),this.submitNewSamples(n,A,!0).then(function(e){e&&t.setState({trimStart:o,trimEnd:a},t.handlePlay)})}},{key:"handleCopy",value:function(){this.copy()}},{key:"copy",value:function(e){var t=null===this.state.trimStart?0:this.state.trimStart,n=null===this.state.trimEnd?1:this.state.trimEnd,A=this.copyCurrentBuffer(),t=t*A.samples.length,n=n*A.samples.length;A.samples=A.samples.slice(t,n),this.setState({copyBuffer:A},e)}},{key:"handleCopyToNew",value:function(){var e=this;this.copy(function(){Pr(e.props.vm,e.state.copyBuffer.samples,e.state.copyBuffer.sampleRate,e.props.name)})}},{key:"resampleBufferToRate",value:function(o,a){return new Promise(function(t,n){var e,A=a/o.sampleRate*o.samples.length;try{window.OfflineAudioContext?e=new window.OfflineAudioContext(1,A,a):window.webkitOfflineAudioContext&&(e=new window.webkitOfflineAudioContext(1,A,a))}catch(e){return a===o.sampleRate/2?t(function(e){for(var t=Math.floor(e.samples.length/2),n=new Float32Array(t),A=0;A<t;A++)n[A]=e.samples[2*A];return{samples:n,sampleRate:e.sampleRate/2}}(o)):n(new Error("Could not resample"))}A=e.createBufferSource(),n=e.createBuffer(1,o.samples.length,o.sampleRate);n.getChannelData(0).set(o.samples),A.buffer=n,A.connect(e.destination),A.start(),e.startRendering(),e.oncomplete=function(e){e=e.renderedBuffer;t({samples:e.getChannelData(0),sampleRate:a})}})}},{key:"paste",value:function(){var e,t,n,A,o,a=this,i=this.copyCurrentBuffer().samples;null===this.state.trimStart?(n=i.length+this.state.copyBuffer.samples.length,(n=new Float32Array(n)).set(i,0),n.set(this.state.copyBuffer.samples,i.length),this.submitNewSamples(n,this.props.sampleRate,!1).then(function(e){e&&a.handlePlay()})):(n=this.state.trimStart*i.length,e=this.state.trimEnd*i.length,t=i.slice(0,n),i=i.slice(e),e=t.length+this.state.copyBuffer.samples.length+i.length,(e=new Float32Array(e)).set(t,0),e.set(this.state.copyBuffer.samples,t.length),e.set(i,t.length+this.state.copyBuffer.samples.length),t=(i=n/this.props.sampleRate)+this.state.copyBuffer.samples.length/this.state.copyBuffer.sampleRate,n=e.length/this.state.copyBuffer.sampleRate,A=i/n,o=t/n,this.submitNewSamples(e,this.props.sampleRate,!1).then(function(e){e&&a.setState({trimStart:A,trimEnd:o},a.handlePlay)}))}},{key:"handlePaste",value:function(){var t=this;this.state.copyBuffer&&(this.state.copyBuffer.sampleRate===this.props.sampleRate?this.paste():this.resampleBufferToRate(this.state.copyBuffer,this.props.sampleRate).then(function(e){t.setState({copyBuffer:e},t.paste)}))}},{key:"setRef",value:function(e){this.ref=e}},{key:"handleContainerClick",value:function(e){e.target===this.ref&&null!==this.state.trimStart&&this.handleUpdateTrim(null,null)}},{key:"render",value:function(){var e=Dl.effectTypes;return j.a.createElement(su,{canPaste:null!==this.state.copyBuffer,canRedo:0<this.redoStack.length,canUndo:0<this.undoStack.length,chunkLevels:this.state.chunkLevels,name:this.props.name,playhead:this.state.playhead,setRef:this.setRef,tooLoud:this.tooLoud(),trimEnd:this.state.trimEnd,trimStart:this.state.trimStart,onChangeName:this.handleChangeName,onContainerClick:this.handleContainerClick,onCopy:this.handleCopy,onCopyToNew:this.handleCopyToNew,onDelete:this.handleDelete,onEcho:this.effectFactory(e.ECHO),onFadeIn:this.effectFactory(e.FADEIN),onFadeOut:this.effectFactory(e.FADEOUT),onFaster:this.effectFactory(e.FASTER),onLouder:this.effectFactory(e.LOUDER),onMute:this.effectFactory(e.MUTE),onPaste:this.handlePaste,onPlay:this.handlePlay,onRedo:this.handleRedo,onReverse:this.effectFactory(e.REVERSE),onRobot:this.effectFactory(e.ROBOT),onSetTrim:this.handleUpdateTrim,onSlower:this.effectFactory(e.SLOWER),onSofter:this.effectFactory(e.SOFTER),onStop:this.handleStopPlaying,onUndo:this.handleUndo})}}])&&hu(t.prototype,e),n&&hu(t,n),o}(j.a.Component),Eu=(d.propTypes={isFullScreen:n.a.bool,name:n.a.string.isRequired,sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),soundId:n.a.string,soundIndex:n.a.number,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e,t){var t=t.soundIndex,n=e.scratchGui.vm.editingTarget.sprite,t=t<n.sounds.length?t:n.sounds.length-1,n=e.scratchGui.vm.editingTarget.sprite.sounds[t],t=e.scratchGui.vm.getSoundBuffer(t);return{soundId:n.soundId,sampleRate:t.sampleRate,samples:t.getChannelData(0),isFullScreen:e.scratchGui.mode.isFullScreen,name:n.name,vm:e.scratchGui.vm}})(d)),g=e(770),wu=e.n(g),a=e(771),Cu=e.n(a),Iu=e(237),yu=[{tag:"animals",intlLabel:i.animals},{tag:"effects",intlLabel:i.effects},{tag:"loops",intlLabel:i.loops},{tag:"notes",intlLabel:i.notes},{tag:"percussion",intlLabel:i.percussion},{tag:"space",intlLabel:i.space},{tag:"sports",intlLabel:i.sports},{tag:"voice",intlLabel:i.voice},{tag:"wacky",intlLabel:i.wacky}];function bu(e){return(bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Mu=["md5ext"];function Qu(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Tu(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Qu(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Qu(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function Su(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function ku(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Du(e,t){return(Du=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ou(A);return e=o?(e=Ou(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==bu(t)&&"function"!=typeof t?Nu(n):t}}function Nu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ou(e){return(Ou=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Fu=Object(z.d)({libraryTitle:{id:"gui.soundLibrary.chooseASound",defaultMessage:"Choose a Sound"}}),d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Du(t,e);var n,A=vu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Nu(e),["handleItemSelected","handleItemMouseEnter","handleItemMouseLeave","onStop","setStopHandler"]),e.audioEngine=null,e.playingSoundPromise=null,e.handleStop=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.audioEngine=new Nt.a,this.playingSoundPromise=null}},{key:"componentWillUnmount",value:function(){this.stopPlayingSound()}},{key:"onStop",value:function(){var t=this;null!==this.playingSoundPromise&&(this.playingSoundPromise.then(function(e){return e&&e.removeListener("stop",t.onStop)}),this.handleStop)&&this.handleStop()}},{key:"setStopHandler",value:function(e){this.handleStop=e}},{key:"stopPlayingSound",value:function(){var t=this;null!==this.playingSoundPromise&&(this.playingSoundPromise.then(function(e){return e&&e.removeListener("stop",t.onStop)}),this.playingSoundPromise.isPlaying?this.playingSoundPromise.then(function(e){e.stop()}):this.playingSoundPromise.then(function(e){e&&e.stopImmediately()}),this.playingSoundPromise=null)}},{key:"handleItemMouseEnter",value:function(t){var n=this,A=t._md5,e=A.split(".")[0],o=this.props.vm;this.stopPlayingSound(),this.playingSoundPromise=o.runtime.storage.load(o.runtime.storage.AssetType.Sound,e).then(function(e){if(e)return e={md5:A,name:t.name,format:t.format,data:e.data},n.audioEngine.decodeSoundPlayer(e).then(function(e){if(e.buffer.duration<.001)throw new Error("Sound is not fetched properly -- there might be a problem with the internet connection.");return e.connect(n.audioEngine),e.play(),e.addListener("stop",n.onStop),null!==n.playingSoundPromise&&(n.playingSoundPromise.isPlaying=!0),e}).catch(function(e){console.warn(e),mv2Interface.send_REST("notification/warn-message/This sound requires internet. Please select a pre-loaded sound.")})}).catch(function(e){mv2Interface.send_REST("notification/warn-message/This sound requires internet. Please select a pre-loaded sound.")})}},{key:"handleItemMouseLeave",value:function(){this.stopPlayingSound()}},{key:"handleItemSelected",value:function(e){var t=this,e={format:e.format,md5:e._md5,rate:e.rate,sampleCount:e.sampleCount,name:e.name};this.props.vm.addSound(e).then(function(){t.props.onNewSound()})}},{key:"render",value:function(){var n=this,e=Iu.map(function(e){var t=e.md5ext,e=Su(e,Mu);return Tu({_md5:t,rawURL:(n.props.isRtl?Cu:wu).a},e)});return j.a.createElement(ca.a,{showPlayButton:!0,data:e,id:"soundLibrary",setStopHandler:this.setStopHandler,tags:yu,title:this.props.intl.formatMessage(Fu.libraryTitle),onItemMouseEnter:this.handleItemMouseEnter,onItemMouseLeave:this.handleItemMouseLeave,onItemSelected:this.handleItemSelected,onRequestClose:this.props.onRequestClose})}}])&&ku(t.prototype,e),n&&ku(t,n),o}(j.a.PureComponent),Ru=(d.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,onNewSound:n.a.func.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(Object(A.b)(function(e){return{isRtl:e.locales.isRtl}},function(){return{}})(d)));function Yu(e){return(Yu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xu(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function _u(e,t){return(_u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Uu(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Lu(A);return e=o?(e=Lu(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Yu(t)&&"function"!=typeof t?Gu(n):t}}function Gu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lu(e){return(Lu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pu(e){return j.a.createElement("div",{className:Xu.a.martyCameraFeedContainer},e.isRecording&&j.a.createElement("div",{className:Xu.a.recording}),j.a.createElement("video",{className:Xu.a.martyCameraFeed,autoPlay:!0,playsInline:!0,muted:!0,ref:e.setRef}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_u(t,e);var n,A=Uu(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Gu(e),["handleSelectSound","handleDeleteSound","handleDuplicateSound","handleExportSound","handleNewSound","handleSurpriseSound","handleFileUploadClick","handleSoundUpload","handleDrop","setFileInput"]),e.state={selectedSoundIndex:0},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.sounds&&(this.props.editingTarget!==t?this.setState({selectedSoundIndex:0}):this.state.selectedSoundIndex>n.sounds.length-1&&this.setState({selectedSoundIndex:Math.max(n.sounds.length-1,0)}))}},{key:"handleSelectSound",value:function(e){this.setState({selectedSoundIndex:e})}},{key:"handleDeleteSound",value:function(e){var t=this.props.vm.deleteSound(e);e>=this.state.selectedSoundIndex&&this.setState({selectedSoundIndex:Math.max(0,e-1)}),this.props.dispatchUpdateRestore({restoreFun:t,deletedItem:"Sound"})}},{key:"handleExportSound",value:function(e){var e=this.props.vm.editingTarget.sprite.sounds[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleDuplicateSound",value:function(e){var t=this;this.props.vm.duplicateSound(e).then(function(){t.setState({selectedSoundIndex:e+1})})}},{key:"handleNewSound",value:function(){if(!this.props.vm.editingTarget)return null;var e=this.props.vm.editingTarget.sprite,e=e.sounds||[];this.setState({selectedSoundIndex:Math.max(e.length-1,0)})}},{key:"handleSurpriseSound",value:function(){var e=this,t=Iu[Math.floor(Math.random()*Iu.length)],t={format:t.dataFormat,md5:t.md5ext,rate:t.rate,sampleCount:t.sampleCount,name:t.name};this.props.vm.addSound(t).then(function(){e.handleNewSound()})}},{key:"handleFileUploadClick",value:function(){this.fileInput.click()}},{key:"handleSoundUpload",value:function(e){var l=this,u=this.props.vm.runtime.storage,c=this.props.vm.editingTarget.id;this.props.onShowImporting(),Yo(e.target,function(e,t,n,A,o){var a,i=t,r=u,t=function(e){e.name=n,l.props.vm.addSound(e,c).then(function(){l.handleNewSound(),A===o-1&&l.props.onCloseImporting()})},s=l.props.onCloseImporting;switch(i){case"audio/mp3":case"audio/mpeg":a=r.DataFormat.MP3;break;case"audio/wav":case"audio/wave":case"audio/x-wav":case"audio/x-pn-wav":a=r.DataFormat.WAV;break;default:return void s("Encountered unexpected file type: ".concat(i))}t(xo(r,r.AssetType.Sound,a,new Uint8Array(e)))},this.props.onCloseImporting)}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.SOUND?(n=(t=this.props.vm.editingTarget.sprite).sounds[this.state.selectedSoundIndex],this.props.vm.reorderSound(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedSoundIndex:t.sounds.indexOf(n)})):e.dragType===E.a.BACKPACK_COSTUME?(this.props.onActivateCostumesTab(),this.props.vm.addCostume(e.payload.body,{name:e.payload.name})):e.dragType===E.a.BACKPACK_SOUND&&this.props.vm.addSound({md5:e.payload.body,name:e.payload.name}).then(this.handleNewSound)}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"render",value:function(){var e,t,n=this.props,A=(n.dispatchUpdateRestore,n.intl),o=n.isRtl,a=n.vm,i=n.onNewSoundFromLibraryClick,n=n.onNewSoundFromRecordingClick;return a.editingTarget?(e=(a=a.editingTarget.sprite).sounds?a.sounds.map(function(e){return{url:(o?Jr:zr).a,name:e.name,details:(e.sampleCount/e.rate).toFixed(2),dragPayload:e}}):[],t=Object(z.d)({fileUploadSound:{id:"gui.soundTab.fileUploadSound",defaultMessage:"Upload Sound"},surpriseSound:{id:"gui.soundTab.surpriseSound",defaultMessage:"Surprise"},recordSound:{id:"gui.soundTab.recordSound",defaultMessage:"Record"},addSound:{id:"gui.soundTab.addSoundFromLibrary",defaultMessage:"Choose a Sound"}}),j.a.createElement(Mo,{buttons:[{title:A.formatMessage(t.addSound),img:Wr.a,onClick:i},{title:A.formatMessage(t.fileUploadSound),img:Wo.a,onClick:this.handleFileUploadClick,fileAccept:".wav, .mp3",fileChange:this.handleSoundUpload,fileInput:this.setFileInput,fileMultiple:!0},{title:A.formatMessage(t.surpriseSound),img:Ko.a,onClick:this.handleSurpriseSound},{title:A.formatMessage(t.recordSound),img:Vr.a,onClick:n},{title:A.formatMessage(t.addSound),img:Xo.a,onClick:i}],dragType:E.a.SOUND,isRtl:o,items:e,selectedItemIndex:this.state.selectedSoundIndex,onDeleteClick:this.handleDeleteSound,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateSound,onExportClick:this.handleExportSound,onItemClick:this.handleSelectSound},a.sounds&&a.sounds[this.state.selectedSoundIndex]?j.a.createElement(Eu,{soundIndex:this.state.selectedSoundIndex}):null,this.props.soundRecorderVisible?j.a.createElement(wl,{onNewSound:this.handleNewSound}):null,this.props.soundLibraryVisible?j.a.createElement(Ru,{vm:this.props.vm,onNewSound:this.handleNewSound,onRequestClose:this.props.onRequestCloseSoundLibrary}):null)):null}}])&&xu(t.prototype,e),n&&xu(t,n),o}(j.a.Component),Hu=(g.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,onActivateCostumesTab:n.a.func.isRequired,onCloseImporting:n.a.func.isRequired,onNewSoundFromLibraryClick:n.a.func.isRequired,onNewSoundFromRecordingClick:n.a.func.isRequired,onRequestCloseSoundLibrary:n.a.func.isRequired,onShowImporting:n.a.func.isRequired,soundLibraryVisible:n.a.bool,soundRecorderVisible:n.a.bool,sprites:n.a.shape({id:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a).isRequired},Object(O.a)("Sound Tab")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,soundLibraryVisible:e.scratchGui.modals.soundLibrary,soundRecorderVisible:e.scratchGui.modals.soundRecorder}},function(t){return{onActivateCostumesTab:function(){return t(Object(s.f)(s.b))},onNewSoundFromLibraryClick:function(e){e.preventDefault(),t(Object(R.r)())},onNewSoundFromRecordingClick:function(){t(Object(R.s)())},onRequestCloseSoundLibrary:function(){t(Object(R.f)())},dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},onCloseImporting:function(){return t(Object(We.c)("importingAsset"))},onShowImporting:function(){return t(Object(We.h)("importingAsset"))}}})(g)))),a=e(772),ju=e.n(a),d=e(773),zu=e.n(d),g=e(774),Ju=e.n(g),a=e(775),Wu=e.n(a),d=e(304),Vu=e.n(d),g=e(305),Ku=e.n(g),a=e(324),Xu=e.n(a),qu=(Pu.propTypes={setRef:n.a.func},Object(z.e)(Pu)),d=e(18),B=e.n(d),g=e(776),Zu=e.n(g),a=e(325),$u=e.n(a),d=e(153),ec=e.n(d);function tc(e){return(tc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ac(e,t){return(Ac=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ic(A);return e=o?(e=ic(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==tc(t)&&"function"!=typeof t?ac(n):t}}function ac(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ic(e){return(ic=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ac(t,e);var n,A=oc(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ac(e),[]),e.state={predictions:[],isLoading:!0},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var t=this;this.props.model.setPredictionCallback=function(e){0<=e.predictionIdx&&(e=e.output,t.setState({predictions:e,isLoading:!1}))}}},{key:"componentWillUnmount",value:function(){this.props.model.setPredictionCallback=void 0}},{key:"render",value:function(){return j.a.createElement("div",{className:ec.a.predictions},j.a.createElement("div",{className:ec.a.predictionsTitle},"Predictions"),this.state.isLoading&&j.a.createElement("div",{className:ec.a.predictionsLoading},"Loading..."),j.a.createElement("div",{className:ec.a.predictionsContainer},this.state.predictions.map(function(e,t){return j.a.createElement("div",{key:t,className:ec.a.predictionsRow},j.a.createElement("div",{className:ec.a.predictionsLabel},e.label),j.a.createElement("div",{className:ec.a.predictionsValue,style:{"--dynamic-width":"calc(".concat(e.confidence," * 100%)"),"--dynamic-content":'"'.concat(Math.round(100*e.confidence),'%"')}},"."))})))}}])&&nc(t.prototype,e),n&&nc(t,n),o}(j.a.Component),rc=(g.propTypes={model:n.a.object},g),sc=e(189),a=e(170),lc=e.n(a),d=e(201),uc=e.n(d);function cc(e){return(cc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function gc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function dc(e,t){return(dc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=mc(A);return e=o?(e=mc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==cc(t)&&"function"!=typeof t?pc(n):t}}function pc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function mc(e){return(mc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bc(e){return j.a.createElement("div",{className:Ec.a.martySoundFeedContainer},e.isRecording&&j.a.createElement("div",{className:Ec.a.recording}),j.a.createElement("canvas",{className:Ec.a.martySoundFeed,width:"160",height:"120",ref:e.setRef}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&dc(t,e);var n,A=hc(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(pc(e),["setChartRef"]),e.state={data:null},e.chartRef=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"setChartRef",value:function(e){this.chartRef=e}},{key:"componentDidMount",value:function(){var t=this;this.props.model.addStatusCallback("TfVisChart",function(e){t.setState({data:e})})}},{key:"componentWillUnmount",value:function(){this.props.model.removeStatusCallback("TfVisChart")}},{key:"componentDidUpdate",value:function(){var e;console.log("plotting loss values"),null!==this.chartRef&&this.state.data&&0<this.state.data.lossValues.length&&(null!=(e=window.document.getElementById("vg-tooltip-element"))&&e.remove(),martyMachine.tfvis.render.linechart(this.chartRef,{values:this.state.data.lossValues,series:["train"]},{xLabel:this.props.xLabel,yLabel:this.props.yLabel,width:this.props.width,height:this.props.height}))}},{key:"render",value:function(){return this.state.data?j.a.createElement("div",{className:uc.a.container,id:this.props.id,ref:this.setChartRef}):j.a.createElement("div",{className:"".concat(uc.a.container," ").concat(uc.a.modern_sharp)},j.a.createElement(sc.a,{level:"warn",large:!0,className:lc.a.primary}),j.a.createElement("div",{className:uc.a.loading_title},"Loading Loss Plot"),j.a.createElement("div",{className:uc.a.loading_subtitle},"This might take a while, please wait..."))}}])&&gc(t.prototype,e),n&&gc(t,n),o}(j.a.Component),fc=(g.propTypes={id:n.a.string.isRequired,title:n.a.string.isRequired,xLabel:n.a.string.isRequired,yLabel:n.a.string.isRequired,width:n.a.number.isRequired,height:n.a.number.isRequired,model:n.a.object.isRequired},g),a=e(326),Ec=e.n(a),wc=(Bc.propTypes={setRef:n.a.func,isRecording:n.a.bool},Object(z.e)(Bc)),d=e(69),Cc=e.n(d),g=e(399),Ic=e.n(g),a=e(777),yc=e.n(a);function bc(e){return(bc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Mc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Qc(e,t){return(Qc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=kc(A);return e=o?(e=kc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==bc(t)&&"function"!=typeof t?Sc(n):t}}function Sc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kc(e){return(kc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Qc(t,e);var n,A=Tc(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={},l()(Sc(e),["onPlaySample","onClassNameSelected","onRemoveClass","onRemoveSample","setSampleContainerRef"]),e.sampleContainerRef=null,e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){}},{key:"componentDidUpdate",value:function(e){this.props.modelClass.samples.length>e.modelClass.samples.length&&((e=this.sampleContainerRef).scrollLeft=e.scrollWidth)}},{key:"setSampleContainerRef",value:function(e){this.sampleContainerRef=e}},{key:"onPlaySample",value:function(e,t){e.stopPropagation();var e=Float32Array.from(t.reduce(function(e,t){return e.concat(Array.from(t))},[])),t=new AudioContext,n=t.createBuffer(1,e.length,t.sampleRate),e=(n.getChannelData(0).set(e),t.createBufferSource());e.buffer=n,e.connect(t.destination),e.start()}},{key:"onClassNameSelected",value:function(){this.props.onClassNameSelected&&this.props.onClassNameSelected(this.props.modelClass.name)}},{key:"onRemoveClass",value:function(e){e.stopPropagation(),this.props.onRemoveClass&&this.props.onRemoveClass()}},{key:"onRemoveSample",value:function(e,t){e.stopPropagation(),this.props.onRemoveSample&&this.props.onRemoveSample(t)}},{key:"onClassNameChange",value:function(e){this.props.modelClass.name=e.target.value,console.log("onClassNameChange: "+this.props.modelClass.name),this.setState({})}},{key:"render",value:function(){var A=this,e=null;return this.props.subtitle&&(e="string"==typeof this.props.subtitle?j.a.createElement("span",{className:Cc.a.subtitle},this.props.subtitle):this.props.subtitle),j.a.createElement("div",{className:Cc.a.classContainer,onClick:this.onClassNameSelected},j.a.createElement("div",{className:Cc.a.classLabel},j.a.createElement("input",{className:Cc.a.classNameInput,type:"text",value:this.props.modelClass.name,onChange:function(e){return A.onClassNameChange(e)},readOnly:this.props.modelClass.name===martyMachine.BACKGROUND_NOISE_TAG}),e,this.props.onRemoveClass&&j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:Ic.a,onClick:this.onRemoveClass})),j.a.createElement("div",{className:Cc.a.modelSamplesContainer},j.a.createElement("div",{className:Cc.a.rowCustom},j.a.createElement("p",{className:Cc.a.samplesLengthTitle},this.props.modelClass.samples.length," samples")),j.a.createElement("div",{className:Cc.a.rowCustom,ref:this.setSampleContainerRef},this.props.modelClass.samples.map(function(t,n){return j.a.createElement("div",{key:n,className:Cc.a.modelSampleContainer},j.a.createElement("div",{className:Cc.a.modelSampleOverlay},j.a.createElement("div",{className:Cc.a.modelSampleOverlayDelete},j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:Ic.a,onClick:function(e){return A.onRemoveSample(e,n)}}),"audio"===A.props.modelType&&j.a.createElement(Pl,{title:"",className:Cc.a.overlayButton,img:yc.a,onClick:function(e){return A.onPlaySample(e,t.timeDataQueue)}})),j.a.createElement("img",{className:Cc.a.modelSample,src:"data:image/png;base64,"+t.image.jpegBase64,alt:"sample"})))}))))}}])&&Mc(t.prototype,e),n&&Mc(t,n),o}(j.a.Component),Dc=(d.propTypes={modelClass:n.a.object,onRemoveClass:n.a.func,onRemoveSample:n.a.func,onClassNameSelected:n.a.func,modelType:t.string,subtitle:n.a.oneOfType([n.a.string,n.a.object,n.a.element])},d),g=e(202),vc=e.n(g),Nc=e(85),Oc=e(188);function Fc(e){return(Fc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rc(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yc(e,t){return(Yc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xc(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Uc(A);return e=o?(e=Uc(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Fc(t)&&"function"!=typeof t?_c(n):t}}function _c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uc(e){return(Uc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gc(e){return e.intl,Object(z.d)({createNewClass:{id:"gui.moreInfo.MMcreateANewClass",defaultMessage:"Create New Class"}}),j.a.createElement("div",{className:Hc.a.tableColorCoding},j.a.createElement("div",{className:Hc.a.moreInfo},j.a.createElement("div",{className:Hc.a.viewSection},j.a.createElement("h3",{className:Hc.a.viewTitle},"Create New class"),j.a.createElement("ul",{className:Hc.a.viewDetails},j.a.createElement("li",null,'Enter the class name in the "Create new class" field.'),j.a.createElement("li",null,'Click the "+" button.'),j.a.createElement("li",null,"This action will create a new class if the class name does not already exist."))),j.a.createElement("div",{className:Hc.a.viewSection},j.a.createElement("h3",{className:Hc.a.viewTitle},"Collect Data for"),j.a.createElement("ul",{className:Hc.a.viewDetails},j.a.createElement("li",null,'Enter the class name in the "Collect Data for" field.'),j.a.createElement("li",null,'Click the "Record" button.'),j.a.createElement("li",null,j.a.createElement("strong",null,"If the class name already exists:")," Data collection starts for the existing class."),j.a.createElement("li",null,j.a.createElement("strong",null,"If the class name does not exist:")," A new class is created and data collection for this new class begins.")))))}function Lc(o){var e=j.a.createElement(qu,{setRef:o.setDeviceStreamRef,isRecording:o.isRecording}),t=("image-device"===o.modelType||"image-marty"===o.modelType?e=j.a.createElement(qu,{setRef:o.setDeviceStreamRef,isRecording:o.isRecording}):"audio"===o.modelType&&(e=j.a.createElement(wc,{setRef:o.setAudioCanvasRef,isRecording:o.isRecording})),1<o.modelClasses.length&&o.modelClasses.every(function(e){return 0<e.samples.length})&&!o.isRecording&&!o.isTraining&&!o.isRunning&&!o.isModelLoaded),n=!o.isRecording&&!o.isTraining&&!o.isRunning&&o.isTrained,A=!(o.isRecording||o.isTraining||o.isRunning||o.isModelLoaded),a=o.isTrained&&!o.isModelLoaded,i=null;return!o.isTraining&&!o.isTrained||o.isModelLoaded||o.hasRun||(i=j.a.createElement(fc,{id:"lossChart",title:"Loss",xLabel:"epoch",yLabel:"loss",width:299,height:183,model:o.model})),o.isRunning&&(i=j.a.createElement(rc,{model:o.model})),j.a.createElement("div",{className:B.a.editorContainer,ref:o.setRef,onMouseDown:o.onContainerClick},j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.model)},j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.name,onSubmit:o.onChangeName}))),j.a.createElement("p",{className:B.a.betaTag},"BETA",j.a.createElement("span",{className:B.a.betaTagSpan}," ","(may contain bugs!)"))),j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.feedContainer},e),j.a.createElement("div",{className:B.a.trainingRunningContainer,style:{width:299,height:183}},i)),j.a.createElement("div",{className:J()(B.a.row,B.a.rowReverse)},!o.isModelLoaded&&j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.className),spanStyle:{marginRight:0}},j.a.createElement(Pc,{modalTitle:"Create New Class",contentComponent:jc},j.a.createElement("div",{className:B.a.moreInfoIconContainer},j.a.createElement("div",{className:B.a.moreInfoIcon},"?"))),j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.className,onSubmit:o.onClassNameChange}))),j.a.createElement("div",{className:B.a.inputGroup},o.isRecording?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopRecording},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.playButton,A?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.record),onClick:o.onStartRecordingSamples,disabled:!A},j.a.createElement("img",{draggable:!1,src:Zu.a}))),j.a.createElement("div",{className:B.a.inputGroup},o.isTraining?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopTraining},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,t?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.train),onClick:o.onTrain,disabled:!t},"Train")),j.a.createElement("div",{className:B.a.inputGroup},o.isRunning?j.a.createElement("button",{className:J()(B.a.roundButton,B.a.stopButtonn),title:o.intl.formatMessage(Jc.stop),onClick:o.onStopRunning},j.a.createElement("img",{draggable:!1,src:$u.a})):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,n?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.run),onClick:o.onRun,disabled:!n},"Run")),j.a.createElement("div",{className:B.a.inputGroup},o.isSaving?j.a.createElement("div",{className:B.a.saving},"Saving..."):j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton,a?"":B.a.buttonDisabled),title:o.intl.formatMessage(Jc.save),onClick:o.onSaveModel,disabled:!a},"Save"))),j.a.createElement("div",{className:B.a.modelClassesOuterContainer},o.isModelLoaded?j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.classesContainer},o.model.trainingData.classes.map(function(e,t){return j.a.createElement("div",{key:t,className:B.a.classContainer},j.a.createElement("div",{className:B.a.classLabel},e.name),j.a.createElement("div",{className:B.a.modelSamplesContainer},j.a.createElement("div",{className:B.a.rowCustom},j.a.createElement("p",{className:B.a.samplesLengthTitle},e.samples.length," samples"))))}))):j.a.createElement("div",{className:B.a.row},j.a.createElement("div",{className:B.a.classesContainer},o.modelClasses.map(function(e,t){var n=o.onRemoveClass.bind(void 0,t),A=null;return e.name===martyMachine.BACKGROUND_NOISE_TAG&&(n=null,A=j.a.createElement("span",{style:{backgroundColor:10<=e.samples.length?"green":"rgb(255, 171, 25)",fontWeight:10<=e.samples.length?"500":"bold",color:10<=e.samples.length?"white":"black",fontSize:"0.8em",alignSelf:"self-start",padding:"2px 10px",borderRadius:"4px"}},"Requires at least 10 samples (".concat(e.samples.length,"/10)"))),j.a.createElement(Dc,{onClassNameSelected:o.onClassNameSelected,key:t,subtitle:A,modelClass:e,onRemoveClass:n,onRemoveSample:o.onRemoveSample.bind(void 0,t),modelType:o.modelType})}))),j.a.createElement("div",{className:J()(B.a.row,B.a.rowReverse)},j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement(Ia,{text:o.intl.formatMessage(Jc.createNewClass),spanStyle:{marginRight:0}},j.a.createElement(Pc,{modalTitle:"Create New Class",contentComponent:jc},j.a.createElement("div",{className:B.a.moreInfoIconContainer},j.a.createElement("div",{className:B.a.moreInfoIcon},"?"))),j.a.createElement(zc,{tabIndex:"1",type:"text",value:o.className,onSubmit:o.onClassNameChange}))),j.a.createElement("div",{className:B.a.inputGroup},j.a.createElement("button",{className:J()(B.a.roundButton,B.a.trainButton),title:o.intl.formatMessage(Jc.createNewClass),onClick:o.onCreateNewClass},j.a.createElement("img",{draggable:!1,src:Vu.a}))))))}var a=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yc(t,e);var n,o=xc(a);function a(e){var t,n,A;if(this instanceof a)return t=o.call(this,e),e=_c(t),A=function(){return j.a.createElement(j.a.Fragment,null,t.state.helpModalVisible&&j.a.createElement(Oc.a,{id:vc.a.helpModalContent,className:vc.a.helpModalContent,headerClassName:vc.a.header,contentLabel:"How to run the Python code",onRequestClose:function(){return t.setState({helpModalVisible:!1})}},j.a.createElement(W.a,{className:vc.a.body},j.a.createElement("div",{className:vc.a.container},t.props.helpModalContent))),j.a.createElement("div",{onClick:t.clickHandler},t.props.children))},(n="render")in e?Object.defineProperty(e,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[n]=A,t.state={helpModalVisible:!1},l()(_c(t),["clickHandler"]),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidMount",value:function(){}},{key:"clickHandler",value:function(){var e=this.props.contentComponent,t=this.props.modalTitle,n=this.props.onHelp;this.props.onOpenDraggableModal(j.a.createElement(e,null),t,n)}}])&&Rc(t.prototype,e),n&&Rc(t,n),a}(j.a.Component),Pc=(a.propTypes={contentComponent:n.a.func.isRequired,modalTitle:n.a.string.isRequired,onOpenDraggableModal:n.a.func.isRequired,children:n.a.node,helpModalContent:n.a.node,onHelp:n.a.func},Object(A.b)(null,function(A){return{onOpenDraggableModal:function(e,t,n){return A(Object(Nc.a)(e,t,n))}}})(a)),t=e(128),Hc=e.n(t),jc=(Gc.propTypes={intl:n.a.shape({formatMessage:n.a.func})},Object(z.e)(Gc)),zc=Ya(Sa),Jc=Object(z.d)({model:{id:"gui.martyMachineModelEditor.model",defaultMessage:"Model"},className:{id:"gui.martyMachineModelEditor.className",defaultMessage:"Collect Data for:"},createNewClass:{id:"gui.martyMachineModelEditor.createNewClass",defaultMessage:"Create new class"},record:{id:"gui.MartyMachineModelEditor.record",defaultMessage:"Record Data"},stop:{id:"gui.MartyMachineModelEditor.stop",defaultMessage:"Stop"},train:{id:"gui.MartyMachineModelEditor.train",defaultMessage:"Train"},run:{id:"gui.MartyMachineModelEditor.run",defaultMessage:"Run"},save:{id:"gui.MartyMachineModelEditor.save",defaultMessage:"Save"}}),Wc=(Lc.propTypes={intl:z.f,name:n.a.string.isRequired,onChangeName:n.a.func.isRequired,onContainerClick:n.a.func.isRequired,onCreateNewClass:n.a.func.isRequired,modelType:n.a.string.isRequired,setDeviceStreamRef:n.a.func,setAudioCanvasRef:n.a.func,modelClasses:n.a.arrayOf(n.a.object),onClassNameChange:n.a.func.isRequired,className:n.a.string.isRequired,onStartRecordingSamples:n.a.func.isRequired,onRemoveClass:n.a.func.isRequired,onRemoveSample:n.a.func.isRequired,onStopRecording:n.a.func.isRequired,isRecording:n.a.bool.isRequired,isTraining:n.a.bool.isRequired,onTrain:n.a.func.isRequired,onStopTraining:n.a.func.isRequired,onRun:n.a.func.isRequired,onStopRunning:n.a.func.isRequired,isRunning:n.a.bool.isRequired,hasRun:n.a.bool.isRequired,isTrained:n.a.bool.isRequired,onSaveModel:n.a.func.isRequired,isSaving:n.a.bool.isRequired,model:n.a.object.isRequired,isModelLoaded:n.a.bool.isRequired,onClassNameSelected:n.a.func.isRequired},Object(z.e)(Lc));function Vc(e){return(Vc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kc(e){return function(e){if(Array.isArray(e))return Xc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?Xc(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xc(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function qc(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Zc(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){qc(A,t,n,o,a,"next",e)}function a(e){qc(A,t,n,o,a,"throw",e)}o(void 0)})}}function $c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tg(e,t,n){t&&eg(e.prototype,t),n&&eg(e,n)}function ng(e,t){return(ng=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ag(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ag(A);return e=o?(e=ag(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Vc(t)&&"function"!=typeof t?og(n):t}}function og(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ag(e){return(ag=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ig(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var d=function(e){var t=A;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ng(t,e);var n=Ag(A);function A(e){var p;return $c(this,A),ig(og(p=n.call(this,e)),"onClassNameSelected",function(e){p.setState({className:e})}),ig(og(p),"onClassNameChange",function(e){p.setState({className:e})}),ig(og(p),"onCreateNewClass",function(){var t=p.state.className;p.trainingDataReducer.state.classes.find(function(e){return e.name===t})?alert("Oops! Class name already exists, please choose a different name."):(p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:t}}),p.setState({}))}),ig(og(p),"onStartRecordingSamples",Zc(function*(){var A=p.trainingDataReducer.state.classes.findIndex(function(e){return e.name===p.state.className});if(-1===A&&(p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:p.state.className}}),A=p.trainingDataReducer.state.classes.length-1),p.isRecording=!0,p.setState({}),"image-device"===p.props.modelType)var o=60,a=p.deviceStreamRef,i=p.canvasRef,r=i.getContext("2d"),s=0,e=(requestAnimationFrame(function e(t){if(p.isRecording){if(!s||o<=t-s){if(!p.isRecording)return;r.drawImage(a,0,0,martyMachine.image_size,martyMachine.image_size);var n=(n=i.toDataURL("image/png")).replace(/^data:image\/(png|jpg);base64,/,"");p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_SAMPLE,payload:{id:A,image:martyMachine.newImage(n),canvas:i,sampleType:"image"}}),p.setState({}),s=t}requestAnimationFrame(e)}}),setTimeout(function(){p.isRecording=!1,p.setState({}),clearTimeout(e)},2e3));else if("audio"===p.props.modelType){p.audioExtractor=new sg,yield p.audioExtractor.start(),yield new Promise(function(e){return setTimeout(e,1500)});for(var t=p.canvasRef,n=p.audioExtractor.timeDataQueue.reduce(function(e,t){return e.concat(Array.from(t))},[]),l=t.getContext("2d"),u=n.length,c=(l.fillStyle="rgb(200, 200, 200)",l.fillRect(0,0,l.canvas.width,l.canvas.height),l.lineWidth=2,l.strokeStyle="rgb(0, 0, 0)",l.beginPath(),l.canvas.width/u),g=0,d=0;d<u;d++){var h=(1-(n[d]+1)/2)*l.canvas.height;0===d?l.moveTo(g,h):l.lineTo(g,h),g+=c}l.stroke();t=(t=p.canvasRef.toDataURL("image/png")).replace(/^data:image\/(png|jpg);base64,/,"");p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_SAMPLE,payload:{id:A,timeDataQueue:p.audioExtractor.timeDataQueue,freqDataQueue:p.audioExtractor.freqDataQueue,image:martyMachine.newImage(t),sampleType:"audio"}}),p.isRecording=!1,p.setState({}),yield p.audioExtractor.stop()}})),ig(og(p),"onStopRecordingSamples",function(){p.isRecording=!1,p.setState({}),"audio"===p.props.modelType&&p.audioExtractor&&p.audioExtractor.stop()}),ig(og(p),"onRemoveClass",function(e){p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_REMOVE_CLASS,payload:{id:e}}),p.setState({})}),ig(og(p),"onRemoveSample",function(e,t){p.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_REMOVE_SAMPLE,payload:{id:e,sampleIdx:t}}),p.setState({})}),ig(og(p),"onTrainModel",function(){p.checkIfBackgroundNoiseClassHasSamplesIF()&&(p.isTraining=!0,p.setState({}),setTimeout(function(){martyMachine.trainModel(p.props.model,p.trainingDataReducer.state,p.props.modelType).then(function(e){p.isTrained=e,p.hasRun=!1,p.isTraining=!1,p.setState({})})},200))}),ig(og(p),"onStopTraining",function(){p.isTraining=!1,p.props.model.stopTraining(),p.setState({})}),ig(og(p),"onRunModel",Zc(function*(){var n,A,o,a,i,e;p.isRunning=!0,"image-device"===p.props.modelType?(n=30,A=p.deviceStreamRef,o=p.canvasRef,a=o.getContext("2d"),i=0,requestAnimationFrame(function e(t){if(!i||n<=t-i){if(!p.isRunning)return void a.clearRect(0,0,o.width,o.height);a.drawImage(A,0,0,o.width,o.height),p.props.model.runModel(o),p.setState({}),i=t}requestAnimationFrame(e)})):"audio"===p.props.modelType&&(yield(e=new sg(!0,p.props.model)).start(),p.props.model.runAudioModel(),p.audioExtractor=e,p.setState({})),p.setState({})})),ig(og(p),"onStopRunningModel",function(){p.isRunning=!1,p.hasRun=!0,p.setState({}),"audio"===p.props.modelType&&p.audioExtractor&&(p.audioExtractor.stop(),p.props.model.stopAudioModel())}),ig(og(p),"onSaveModel",function(){mv2Interface.setMLSessionActive(),p.isSaving=!0,p.props.model.setSaveModelCallback=function(e){var t=vm.runtime.storage,n=e.modelJSON,A=e.weights.weightBuffers,e=e.weights.weightInfo,o={format:"",dataFormat:t.DataFormat.BIN,modelType:p.props.modelType};_g(p.state.modelName)?(p.isSaving=!1,p.setState({}),alert("Oops! Model name already exists, please choose a different name.")):(o.asset=t.createAsset(t.AssetType.MLModelWeights,t.DataFormat.BIN,A,null,!0),p.props.model.trainingData.classes.forEach(function(e){e.samples=e.samples.map(function(e){})}),o.dependencies=[n,e,p.props.model.trainingData],o.assetId=o.asset.assetId,o.md5="".concat(o.assetId,".").concat(o.dataFormat),o.name=p.state.modelName,p.isSaving=!1,console.log("saving:",o),p.setState({}),p.onStopRunningModel(),vm.addModel(o).then(function(){console.log("Model saved",o),p.props.onNewModel()}))},p.props.model.saveModel(p.props.modelType),martyMachine.cleanupAfterSave(),p.setState({})}),l()(og(p),["handleChangeName","handleContainerClick","setRef","setDeviceStreamRef","setAudioCanvasRef","onClassNameChange","onCreateNewClass","setCanvasRef","onStartRecordingSamples","onRemoveClass","onRemoveSample","onStopRecordingSamples","onTrainModel","onStopTraining","onRunModel","onStopRunningModel","onSaveModel","onClassNameSelected","addBackgroundNoiseClassIF","checkIfBackgroundNoiseClassHasSamplesIF"]),p.state={deviceStream:null,className:"Class 1",modelName:(null==(e=vm.editingTarget.sprite.models[p.props.modelIndex<vm.editingTarget.sprite.models.length?p.props.modelIndex:vm.editingTarget.sprite.models.length-1])?void 0:e.name)||"Model 1"},p.ref=null,p.deviceStreamRef=null,p.audioCanvasRef=null,p.canvasRef=null,p.isRecording=!1,p.isTraining=!1,p.isRunning=!1,p.hasRun=!1,p.isTrained=!1,p.isSaving=!1,p.audioExtractor=null,p.trainingDataReducer=martyMachine.currentTrainingReducer||martyMachine.getNewTrainingDataReducer(),p.addBackgroundNoiseClassIF(),p}return tg(A,[{key:"componentDidMount",value:function(){var A=this;(function(){var e=Zc(function*(){var e,t,n,i,r,s,l,u,c;"image-device"===A.props.modelType?(e=yield navigator.mediaDevices.getUserMedia({video:{width:160,height:120}}),A.setState({deviceStream:e}),A.deviceStreamRef.srcObject=e):"audio"===A.props.modelType&&(e=new(window.AudioContext||window.webkitAudioContext),t=yield navigator.mediaDevices.getUserMedia({audio:!0}),n=e.createMediaStreamSource(t),(i=e.createAnalyser()).fftSize=32768,r=i.frequencyBinCount,s=new Uint8Array(r),n.connect(i),l=A.audioCanvasRef,(u=l.getContext("2d")).clearRect(0,0,l.width,l.height),c=0,function e(){var t=Date.now();if(30<=t-c){requestAnimationFrame(e),i.getByteTimeDomainData(s),u.fillStyle="rgb(200, 200, 200)",u.fillRect(0,0,l.width,l.height),u.lineWidth=2,u.strokeStyle="rgb(0, 0, 0)",u.beginPath();for(var n=+l.width/r,A=0,o=0;o<r;o++){var a=s[o]/128*l.height/2;0===o?u.moveTo(A,a):u.lineTo(A,a),A+=n}u.lineTo(l.width,l.height/2),u.stroke(),c=t}else requestAnimationFrame(e)}(),A.setState({deviceStream:t}))});return function(){return e.apply(this,arguments)}})()()}},{key:"componentWillReceiveProps",value:function(e){e.model!==this.props.model&&(this.setState({modelType:e.modelType,className:"Class 1",modelName:e.modelName}),this.isRecording=!1,this.isTraining=!1,this.isRunning=!1,this.hasRun=!1,this.isTrained=!1,this.isSaving=!1,this.audioExtractor=null,this.trainingDataReducer=martyMachine.getNewTrainingDataReducer(),console.log("New model selected"),this.addBackgroundNoiseClassIF(e))}},{key:"addBackgroundNoiseClassIF",value:function(e){var t=this,e=e||this.props;"audio"!==e.modelType||e.isModelLoaded||this.trainingDataReducer.state.classes.find(function(e){return e.name===martyMachine.BACKGROUND_NOISE_TAG})||(this.trainingDataReducer.reduce({type:martyMachine.trainingDataActionTypes.TD_ADD_CLASS,payload:{name:martyMachine.BACKGROUND_NOISE_TAG}}),setTimeout(function(){t.onClassNameSelected(martyMachine.BACKGROUND_NOISE_TAG)},200))}},{key:"componentWillUnmount",value:function(){this.state.deviceStream&&this.state.deviceStream.getTracks().forEach(function(e){return e.stop()}),this.onStopRunningModel()}},{key:"handleChangeName",value:function(e){var t=this.props.vm.editingTarget.sprite,t=(t.models||[])[this.props.modelIndex];this.props.modelName===(null==t?void 0:t.name)&&this.props.isModelLoaded&&this.props.setModelName(e),this.setState({modelName:e})}},{key:"setRef",value:function(e){this.ref=e}},{key:"setDeviceStreamRef",value:function(e){this.deviceStreamRef=e}},{key:"setCanvasRef",value:function(e){this.canvasRef=e}},{key:"setAudioCanvasRef",value:function(e){this.audioCanvasRef=e}},{key:"handleContainerClick",value:function(e){e.target===this.ref&&this.state.trimStart}},{key:"checkIfBackgroundNoiseClassHasSamplesIF",value:function(){if("audio"===this.props.modelType&&!this.props.isModelLoaded){var e=this.trainingDataReducer.state.classes.find(function(e){return e.name===martyMachine.BACKGROUND_NOISE_TAG});if(e&&e.samples.length<10)return alert("Oops! The background noise class needs at least 10 samples to be trained. Please add more samples to the background noise class."),!1}return!0}},{key:"render",value:function(){return j.a.createElement(j.a.Fragment,null,j.a.createElement(Wc,{className:this.state.className,modelClasses:this.trainingDataReducer.state.classes,modelType:this.props.modelType,model:this.props.model,name:this.state.modelName,onChangeName:this.handleChangeName,onClassNameChange:this.onClassNameChange,onClassNameSelected:this.onClassNameSelected,onContainerClick:this.handleContainerClick,onCreateNewClass:this.onCreateNewClass,onStartRecordingSamples:this.onStartRecordingSamples,onRemoveClass:this.onRemoveClass,onRemoveSample:this.onRemoveSample,onStopRecording:this.onStopRecordingSamples,onStopTraining:this.onStopTraining,onRun:this.onRunModel,onSaveModel:this.onSaveModel,onTrain:this.onTrainModel,onStopRunning:this.onStopRunningModel,isRecording:this.isRecording,isTraining:this.isTraining,isRunning:this.isRunning,hasRun:this.hasRun,isTrained:this.isTrained||this.props.isModelLoaded,isSaving:this.isSaving,isModelLoaded:this.props.isModelLoaded,setRef:this.setRef,setAudioCanvasRef:this.setAudioCanvasRef,setDeviceStreamRef:this.setDeviceStreamRef}),j.a.createElement("canvas",{ref:this.setCanvasRef,width:martyMachine.image_size,height:martyMachine.image_size,style:{display:"none"}}))}}]),A}(j.a.Component),rg=(d.propTypes={sampleRate:n.a.number,samples:n.a.instanceOf(Float32Array),modelIndex:n.a.number,vm:n.a.instanceOf(o.a).isRequired,model:n.a.object.isRequired,onNewModel:n.a.func.isRequired,isModelLoaded:n.a.bool.isRequired,modelType:n.a.string.isRequired},Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(d)),sg=function(){function A(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=($c(this,A),new martyMachine.AudioTrainingOptions);this.sampleRateHz=n.sampleRateHz,this.fftSize=n.fftSize,this.columnTruncateLength=n.columnTruncateLength,this.includeRawAudio=!0,console.log("sampleRateHz=".concat(this.sampleRateHz,", fftSize=").concat(this.fftSize,", frameDurationMillis=").concat(this.frameDurationMillis,", columnTruncateLength=").concat(this.columnTruncateLength,", includeRawAudio=").concat(this.includeRawAudio)),this.shouldStreamToWebWorker=e,this.mlmodel=t}var e,t,n;return tg(A,[{key:"start",value:(n=Zc(function*(){this.stream=yield navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),this.audioContext=window.AudioContext||window.webkitAudioContext?new(window.AudioContext||window.webkitAudioContext):null;var e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=0,e.connect(this.analyser),this.freqDataQueue=[],this.freqData=new Float32Array(this.fftSize),this.includeRawAudio&&(this.timeDataQueue=[],this.timeData=new Float32Array(this.fftSize)),this.frameIntervalTask=setInterval(this.onAudioFrame.bind(this),this.fftSize/this.sampleRateHz*1e3)}),function(){return n.apply(this,arguments)})},{key:"onAudioFrame",value:(t=Zc(function*(){var e;this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]!==-1/0&&(e=this.freqData.slice(0,this.columnTruncateLength),this.freqDataQueue.push(Kc(e)),this.includeRawAudio&&(this.analyser.getFloatTimeDomainData(this.timeData),this.timeDataQueue.push(this.timeData.slice())),this.shouldStreamToWebWorker)&&martyMachine.streamAudioToWebWorker(this.mlmodel,{freqData:Kc(e),timeData:Kc(this.timeData)})}),function(){return t.apply(this,arguments)})},{key:"stop",value:(e=Zc(function*(){clearInterval(this.frameIntervalTask),this.frameIntervalTask=null,this.analyser.disconnect(),null!=this.stream&&0<this.stream.getTracks().length&&this.stream.getTracks()[0].stop(),console.log("this.audioContext.state",this.audioContext.state),"closed"!==this.audioContext.state&&this.audioContext.close()}),function(){return e.apply(this,arguments)})}]),A}();var g=e(154),lg=e.n(g);function ug(e){return(ug="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cg(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?gg(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gg(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function gg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function dg(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function hg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pg(e,t){return(pg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=fg(A);return e=o?(e=fg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ug(t)&&"function"!=typeof t?Bg(n):t}}function Bg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fg(e){return(fg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Eg=Object(z.d)({label:{id:"gui.teachablemachineurlmodal.label",defaultMessage:"Load Teachable Machine Model"}}),a=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pg(t,e);var n,r,A,o=mg(a);function a(e){if(this instanceof a)return e=o.call(this,e),l()(Bg(e),["handleChange","handleLoad","handleBack"]),e.state={url:"",error:!1},e.handleChange=e.handleChange.bind(Bg(e)),e.handleLoad=e.handleLoad.bind(Bg(e)),e.handleBack=e.handleBack.bind(Bg(e)),e;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"handleChange",value:function(e){this.setState({url:e.target.value})}},{key:"handleLoad",value:(r=function*(){var e,t,n=this.state.url.trim();n?(n=n.match(/\/models\/([^/]+)\/?$/)[1],n="https://storage.googleapis.com/tm-model/".concat(n,"/"),e=(new Date).getTime(),e=yield(yield fetch("".concat(n,"metadata.json?").concat(e))).json(),console.log("metadata",e),e=function(e){var t={classes:[]},n=e.labels||e.wordLabels;if(n){var A,e=e.labels?"image-device":"audio",o=(t.modelType=e,cg(n));try{for(o.s();!(A=o.n()).done;){var a=A.value;t.classes.push({name:a,samples:[]})}}catch(e){o.e(e)}finally{o.f()}}return t}(e),n="".concat(n,"model.json"),(t=yield martyMachine.loadTmModel(n)).setTrainingData(e),console.debug("Loaded Teachable Machine model",t),this.props.onModelLoaded(n,e,"tmModel",e.modelType),this.props.onBack()):this.setState({error:!0})},A=function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){dg(A,t,n,o,a,"next",e)}function a(e){dg(A,t,n,o,a,"throw",e)}o(void 0)})},function(){return A.apply(this,arguments)})},{key:"handleBack",value:function(){this.props.onBack()}},{key:"render",value:function(){var e=Eg.label;return j.a.createElement(F.a,{isOpen:!0,className:lg.a.modalContent,contentLabel:e,overlayClassName:lg.a.modalOverlay,onRequestClose:this.props.onBack},j.a.createElement("div",{dir:"ltr"},j.a.createElement(W.a,{className:lg.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,e)),j.a.createElement("input",{autoFocus:!0,className:lg.a.input,placeholder:"Paste TM model URL here",type:"text",value:this.state.url,onChange:this.handleChange}),j.a.createElement(W.a,{justifyContent:"space-between",className:lg.a.buttonRow},j.a.createElement("button",{className:lg.a.button,onClick:this.handleLoad},"Load"),j.a.createElement("button",{className:lg.a.button,onClick:this.handleBack},"Close")))))}}])&&hg(t.prototype,e),n&&hg(t,n),a}(j.a.Component),t=(a.propTypes={onModelLoaded:n.a.func.isRequired,onBack:n.a.func.isRequired},Object(z.e)(a)),wg=(t.setAppElement=F.a.setAppElement,t);var d=e(155),Cg=e.n(d);function Ig(e){return(Ig="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function bg(e,t){return(bg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Tg(A);return e=o?(e=Tg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ig(t)&&"function"!=typeof t?Qg(n):t}}function Qg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Tg(e){return(Tg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Sg=Object(z.d)({label:{id:"gui.MartyMachineNewModelConfirmationModal.label",defaultMessage:"Unsaved changes will be lost."}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&bg(t,e);var n,A=Mg(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Qg(e),["handleBack","handleProceed"]),e.state={},e.handleBack=e.handleBack.bind(Qg(e)),e.handleProceed=e.handleProceed.bind(Qg(e)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleBack",value:function(){this.props.onBack()}},{key:"handleProceed",value:function(){this.props.onProceed()}},{key:"render",value:function(){var e=Sg.label;return j.a.createElement(F.a,{isOpen:!0,className:Cg.a.modalContent,contentLabel:e,overlayClassName:Cg.a.modalOverlay,onRequestClose:this.props.onBack},j.a.createElement("div",{dir:"ltr"},j.a.createElement(W.a,{className:Cg.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,e)),j.a.createElement(W.a,{className:Cg.a.illustration},"Just a heads-up! If you've made any changes to the current model, they won't be saved. Are you okay to continue?"),j.a.createElement(W.a,{justifyContent:"space-between",className:Cg.a.buttonRow},j.a.createElement("button",{className:Cg.a.button,onClick:this.handleProceed},"Continue"),j.a.createElement("button",{className:Cg.a.button,onClick:this.handleBack},"Close")))))}}])&&yg(t.prototype,e),n&&yg(t,n),o}(j.a.Component),a=(g.propTypes={onBack:n.a.func.isRequired,onProceed:n.a.func.isRequired},Object(z.e)(g)),kg=(a.setAppElement=F.a.setAppElement,a);function Dg(e){return(Dg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ng(e,t){return(Ng=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Og(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Rg(A);return e=o?(e=Rg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Dg(t)&&"function"!=typeof t?Fg(n):t}}function Fg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Rg(e){return(Rg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yg(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var xg="ROBOTICAL_MARTYBLOCKS_hasSeenTutorials",_g=function(e){var t,n=vm.runtime.targets,A=[];for(t in n)A=A.concat(n[t].sprite.models);return A.map(function(e){return e.name}).includes(e)};var t=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ng(t,e);var n,A=Og(a);function a(e){var t,o;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");Yg(Fg(o=A.call(this,e)),"onTMModelLoaded",function(e,t,n,A){A={format:"",dataFormat:vm.runtime.storage.DataFormat.JSON,modelType:A,dependencies:[null,null,t],tmModelUrl:e,name:n};!function e(t,n){var A;return _g(t)?(A=t[t.length-1],isNaN(A)?e(t+"1",n):(A=parseInt(A)+1,e(t.slice(0,-1)+A,n))):n.name=t}(n,A),vm.addModel(A).then(function(){console.log("Model saved"),o.handleNewModel()})}),Yg(Fg(o),"onNewModelClick",function(e){martyMachine.cleanupAfterSave(),o.setState({modelType:e,isModelLoaded:!1}),console.log("setting isModelLoaded to false in marty-machine-tab"),o.model=martyMachine.getNewModelInstance(e)}),Yg(Fg(o),"confirmDialogForNewModel",function(e){o.setState({newModelConfirmationModalVisible:!0,newModelModelType:e})}),Yg(Fg(o),"setModelName",function(e){if(_g(e))return alert("Model name already exists, please choose another name.");o.props.vm.editingTarget.sprite.models[o.state.selectedModelIndex].name=e,o.model.name=e,o.setState({modelName:e})}),l()(Fg(o),["handleSelectModel","handleDeleteModel","handleDuplicateModel","handleExportModel","handleNewModel","handleDrop","setFileInput","onNewModelClick","onTMModelLoaded","confirmDialogForNewModel"]);e={modelType:(null==(t=martyMachine.currentModel)?void 0:t.modelType)||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.modelType)||"image-device",isModelLoaded:!martyMachine.currentModel&&!!e.vm.editingTarget.sprite.models[0],modelName:(null==(t=martyMachine.currentModel)?void 0:t.name)||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.name)||"New Model",MLModel:martyMachine.currentModel||(null==(t=e.vm.editingTarget.sprite.models[0])?void 0:t.MLModel)||martyMachine.getNewModelInstance()};return console.debug("modelToLoad",e),o.state={selectedModelIndex:0,modelType:e.modelType,isModelLoaded:e.isModelLoaded,modelName:e.modelName,loadTMModelModalVisible:!1,newModelConfirmationModalVisible:!1,newModelModelType:null},martyMachine.currentModel&&(martyMachine.currentModel.name=e.modelName),o.model=e.MLModel,o}return t=a,(e=[{key:"componentDidMount",value:function(){mv2Interface.startMLSession(),this.shouldShowTutorialsCard();var e=vm.editingTarget.sprite;e.models&&0<e.models.length&&this.setState({modelType:e.models[0].modelType})}},{key:"componentWillUnmount",value:function(){mv2Interface.endMLSession()}},{key:"shouldShowTutorialsCard",value:function(){var e=localStorage.getItem(xg);return null===e?(localStorage.setItem(xg,1),this.props.showTutorialCard()):(e=parseInt(e))<1e4?(localStorage.setItem(xg,e+1),this.props.showTutorialCard()):void 0}},{key:"componentWillReceiveProps",value:function(e){var t=e.editingTarget,n=e.sprites,e=e.stage,n=t&&n[t]?n[t]:e;n&&n.models&&(this.props.editingTarget!==t?this.setState({selectedModelIndex:0}):this.state.selectedModelIndex>n.models.length-1&&this.setState({selectedModelIndex:Math.max(n.models.length-1,0)}))}},{key:"handleSelectModel",value:function(e){console.log("setting isModelLoaded to true in handleSelectModel"),this.setState({selectedModelIndex:e,isModelLoaded:!0,modelType:this.props.vm.editingTarget.sprite.models[e].modelType,modelName:this.props.vm.editingTarget.sprite.models[e].name}),this.model=this.props.vm.editingTarget.sprite.models[e].MLModel}},{key:"handleDeleteModel",value:function(e){var t=this.props.vm.deleteModel(e);e>=this.state.selectedModelIndex&&this.setState({selectedModelIndex:Math.max(0,e-1)}),0===this.props.vm.editingTarget.sprite.models.length&&(this.onNewModelClick("image-device"),this.setState({isModelLoaded:!1})),this.props.dispatchUpdateRestore({restoreFun:t,deletedItem:"Model"})}},{key:"handleExportModel",value:function(e){var e=this.props.vm.editingTarget.sprite.models[e],t=new Blob([e.asset.data],{type:e.asset.assetType.contentType});Go("".concat(e.name,".").concat(e.asset.dataFormat),t)}},{key:"handleDuplicateModel",value:function(e){var t=this;this.props.vm.duplicateAudio(e).then(function(){t.setState({selectedModelIndex:e+1})})}},{key:"handleNewModel",value:function(){if(!this.props.vm.editingTarget)return null;var e=this.props.vm.editingTarget.sprite,e=e.models||[],t=Math.max(e.length-1,0),e=e[t];this.model=e.MLModel,this.setState({selectedModelIndex:t,isModelLoaded:!0,modelType:e.modelType,modelName:e.name,loadTMModelModalVisible:!1,newModelConfirmationModalVisible:!1,newModelModelType:null})}},{key:"handleDrop",value:function(e){var t,n;e.dragType===E.a.MODEL&&(n=(t=this.props.vm.editingTarget.sprite).models[this.state.selectedModelIndex],this.props.vm.reorderModel(this.props.vm.editingTarget.id,e.index,e.newIndex),this.setState({selectedModelIndex:t.models.indexOf(n)}))}},{key:"setFileInput",value:function(e){this.fileInput=e}},{key:"render",value:function(){var e,t,n=this,A=this.props,o=(A.dispatchUpdateRestore,A.intl),a=A.isRtl,A=A.vm;return A.editingTarget?(A=(A=A.editingTarget.sprite).models?A.models.map(function(e){return{url:("audio"===e.modelType?zu:Wu).a,name:e.name,details:e.modelType,dragPayload:e}}):[],e=Object(z.d)({addNewModel:{id:"gui.martyMachineTab.addNew",defaultMessage:"Add New Model"},newImageModelMarty:{id:"gui.martyMachineTab.newImageModelMarty",defaultMessage:"New Image Model (Marty)"},newImageModelDevice:{id:"gui.martyMachineTab.newImageModelDevice",defaultMessage:"New Image Model (Device)"},newAudioModel:{id:"gui.martyMachineTab.newAudioModel",defaultMessage:"New Audio Model"},loadTMModel:{id:"gui.martyMachineTab.loadTMModel",defaultMessage:"Load TM Model"},tutorials:{id:"gui.martyMachineTab.tutorials",defaultMessage:"Tutorials"}}),t=j.a.createElement(rg,{key:this.state.modelName+this.state.modelType,modelIndex:this.state.selectedModelIndex,model:this.model,setModelName:function(e){return n.setModelName(e)},onNewModel:this.handleNewModel,modelType:this.state.modelType,modelName:this.state.modelName,isModelLoaded:this.state.isModelLoaded}),j.a.createElement(j.a.Fragment,null,this.state.loadTMModelModalVisible&&j.a.createElement(cl.a,null,j.a.createElement(wg,{onModelLoaded:this.onTMModelLoaded,onBack:function(){return n.setState({loadTMModelModalVisible:!1})}})),this.state.newModelConfirmationModalVisible&&j.a.createElement(cl.a,null,j.a.createElement(kg,{onBack:function(){return n.setState({newModelConfirmationModalVisible:!1})},onProceed:function(){n.setState({newModelConfirmationModalVisible:!1}),n.onNewModelClick(n.state.newModelModelType)}})),j.a.createElement(Mo,{buttons:[{title:o.formatMessage(e.addNewModel),img:Vu.a,onClick:function(e){return e.stopPropagation()}},{title:o.formatMessage(e.newImageModelDevice),img:Ju.a,onClick:function(){return n.confirmDialogForNewModel("image-device")}},{title:o.formatMessage(e.newAudioModel),img:ju.a,onClick:function(){return n.confirmDialogForNewModel("audio")}},{title:o.formatMessage(e.loadTMModel),img:Wo.a,onClick:function(){return n.setState({loadTMModelModalVisible:!0})}},{title:o.formatMessage(e.tutorials),img:Ku.a,onClick:function(){return n.props.showTutorialCard()}}],dragType:E.a.MODEL,isRtl:a,items:A,selectedItemIndex:this.state.selectedModelIndex,onDeleteClick:this.handleDeleteModel,onDrop:this.handleDrop,onDuplicateClick:this.handleDuplicateModel,onExportClick:this.handleExportModel,onItemClick:this.handleSelectModel},t))):null}}])&&vg(t.prototype,e),n&&vg(t,n),a}(j.a.Component),Ug=(t.propTypes={dispatchUpdateRestore:n.a.func,editingTarget:n.a.string,intl:z.f,isRtl:n.a.bool,soundLibraryVisible:n.a.bool,soundRecorderVisible:n.a.bool,sprites:n.a.shape({id:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))})}),stage:n.a.shape({sounds:n.a.arrayOf(n.a.shape({name:n.a.string.isRequired}))}),vm:n.a.instanceOf(o.a).isRequired},Object(O.a)("Machine Learning Tab")(Object(z.e)(Object(A.b)(function(e){return{scratchGui:e.scratchGui,editingTarget:e.scratchGui.targets.editingTarget,isRtl:e.locales.isRtl,sprites:e.scratchGui.targets.sprites,stage:e.scratchGui.targets.stage,soundLibraryVisible:e.scratchGui.modals.soundLibrary,soundRecorderVisible:e.scratchGui.modals.soundRecorder}},function(t){return{dispatchUpdateRestore:function(e){t(Object(jo.c)(e))},showTutorialCard:function(){t(Object(rt.a)("mm-create-model"))}}})(t)))),d=e(46),f=e.n(d),Gg=e(40),g=e(77),Lg=e.n(g);function Pg(e){return(Pg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hg(e){return function(e){if(Array.isArray(e))return jg(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var n;if(e)return"string"==typeof e?jg(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jg(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function zg(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Jg(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){zg(A,t,n,o,a,"next",e)}function a(e){zg(A,t,n,o,a,"throw",e)}o(void 0)})}}function Wg(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Vg(e,t){return(Vg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kg(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=qg(A);return e=o?(e=qg(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Pg(t)&&"function"!=typeof t?Xg(n):t}}function Xg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qg(e){return(qg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=s;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Vg(t,e);var n,A,o,a,i,r=Kg(s);function s(e){if(this instanceof s)return(e=r.call(this,e)).state={saveFileName:"",fileNames:[],isValidFileName:!1},e.setSaveFileName=e.setSaveFileName.bind(Xg(e)),e.saveFile=e.saveFile.bind(Xg(e)),e.loadFile=e.loadFile.bind(Xg(e)),e.deleteFile=e.deleteFile.bind(Xg(e)),e.getCurrentFiles(),e;throw new TypeError("Cannot call a class as a function")}return t=s,(e=[{key:"getCurrentFiles",value:(i=Jg(function*(){var e=(yield mv2Interface.listSavedScratchFiles()).fileNames.map(function(e){return decodeURIComponent(e)}).filter(function(e){return"__autosave"!==e});this.setState({fileNames:e})}),function(){return i.apply(this,arguments)})},{key:"setSaveFileName",value:function(e){var t=0<e.length&&e.length<30;this.setState({saveFileName:e,isValidFileName:t})}},{key:"saveFile",value:(a=Jg(function*(t){var e=this.state.fileNames,n=encodeURIComponent(t);if(!e.includes(n)||window.confirm('Are you sure you want to overwrite "'.concat(t,'"?'))){var A=yield this.props.saveProjectSb3(),A=yield It(A);try{yield mv2Interface.saveScratchFile(n,A),alert("Project Saved."),this.props.onProjectTelemetryEvent&&(o=He(this.props.vm,this.props.projectTitle,this.props.locale),this.props.onProjectTelemetryEvent("projectDidSave",o));var o,a=[t].concat(Hg(e.filter(function(e){return e!==t})));this.setState({fileNames:a})}catch(e){alert("Failed to save project: ".concat(e.message))}}}),function(e){return a.apply(this,arguments)})},{key:"loadFile",value:(o=Jg(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;try{var A=yield mv2Interface.loadScratchFile(encodeURIComponent(e)),o=yield(yield fetch(A.contents)).arrayBuffer();n.loadProject(o),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}}),function(e){return o.apply(this,arguments)})},{key:"deleteFile",value:(A=Jg(function*(t){var e=this.state.fileNames;if(!(!(1<arguments.length&&void 0!==arguments[1])||arguments[1])||window.confirm('Are you sure you want to delete "'.concat(t,'"?')))try{yield mv2Interface.deleteScratchFile(encodeURIComponent(t));var n=e.filter(function(e){return e!==t});this.setState({fileNames:n})}catch(e){alert("Failed to delete project: ".concat(e.message))}}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var n=this,e=this.state,t=e.saveFileName,A=e.isValidFileName,e=e.fileNames;return j.a.createElement("div",{className:Lg.a.mainContent},j.a.createElement("div",{className:Lg.a.block},j.a.createElement("div",{className:Lg.a.saveHeaderContainer},j.a.createElement("div",{className:Lg.a.newSaveTitleContainer},"Create a new save file:"),j.a.createElement(Sa,{placeholder:"Type what you would like to name your new save file here...",style:{flex:1,marginLeft:10},type:"text",value:t,onChange:function(e){return n.setSaveFileName(e.currentTarget.value)}}),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:A?1:.2},className:Lg.a.button,disabled:!A,onClick:function(){return n.saveFile(t)}},"Save"))),0<e.length&&j.a.createElement("div",{className:[Lg.a.block,Lg.a["block-100"]].join(" ")},j.a.createElement("div",{className:Lg.a.savedFilesContainer},j.a.createElement("div",{className:Lg.a.savedFilesTitle},"Your Saved Files:"),j.a.createElement("div",{className:Lg.a.saveList},e.sort().map(function(e,t){return j.a.createElement("div",{key:e,className:Lg.a.row},j.a.createElement("div",{style:{flex:2}},e),j.a.createElement("div",{style:{display:"flex",flexDirection:"row"}},j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.deleteFile(e)}},"Delete"),j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.loadFile(e)}},"Load"),j.a.createElement(Gg.a,{className:Lg.a.button,style:{marginLeft:10},onClick:function(){return n.saveFile(e)}},"Save")))})))))}}])&&Wg(t.prototype,e),n&&Wg(t,n),s}(j.a.Component),Zg=(a.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(a)))),t=e(70),$g=e.n(t),d=e(778),ed=e.n(d);function td(e){return(td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nd(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Ad(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?nd(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):nd(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function od(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function ad(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){od(A,t,n,o,a,"next",e)}function a(e){od(A,t,n,o,a,"throw",e)}o(void 0)})}}function id(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rd(e,t){return(rd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ud(A);return e=o?(e=ud(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==td(t)&&"function"!=typeof t?ld(n):t}}function ld(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ud(e){return(ud=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rd(t,e);var n,A,o,a=sd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={loadFileName:"",isValidFileName:!1,isLoading:!1,savedProjectId:"",copyToCPText:"Copy to Clipboard"},e.setloadFileName=e.setloadFileName.bind(ld(e)),e.saveFile=e.saveFile.bind(ld(e)),e.loadFile=e.loadFile.bind(ld(e)),e.copyTextToClipboard=e.copyTextToClipboard.bind(ld(e)),e.fallbackCopyTextToClipboard=e.fallbackCopyTextToClipboard.bind(ld(e)),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"setloadFileName",value:function(e){var t=0<e.length&&e.length<130;this.setState({loadFileName:e,isValidFileName:t})}},{key:"saveFile",value:(o=ad(function*(){this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!0})});var e=yield this.props.saveProjectSb3(),e=yield It(e);try{var t=yield mv2Interface.saveCloudScratchFile(e);this.setState({savedProjectId:t}),alert("Successfully saved project!")}catch(e){alert("Failed to save project: ".concat(e.message))}this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!1})})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=ad(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;var A=e;this.validURL(e)&&(e.includes("http")||(e="https://"+e),A=new URL(e).searchParams.get("p")||""),this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!0})});try{var o=yield mv2Interface.loadCloudScratchFile(A);if(!o)throw new Error("Couldn't find project with id: "+A);var a=yield(yield fetch(o)).arrayBuffer();n.loadProject(a),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}this.setState(function(e){return Ad(Ad({},e),{},{isLoading:!1})})}),function(e){return A.apply(this,arguments)})},{key:"fallbackCopyTextToClipboard",value:function(e){var t=this,n=document.createElement("textarea");n.value=e,n.style.top="0",n.style.left="0",n.style.position="fixed",document.body.appendChild(n),n.focus(),n.select();try{var A=document.execCommand("copy")?"successful":"unsuccessful";setTimeout(function(){t.setState({copyToCPText:"Copy to Clipboard"})},3e3),this.setState({copyToCPText:"Copied!"}),console.log("Fallback: Copying text command was "+A)}catch(e){console.error("Fallback: Oops, unable to copy",e)}document.body.removeChild(n)}},{key:"copyTextToClipboard",value:function(e){var t=this;navigator.clipboard?navigator.clipboard.writeText(e).then(function(){setTimeout(function(){t.setState({copyToCPText:"Copy to Clipboard"})},3e3),t.setState({copyToCPText:"Copied!"}),console.log("Async: Copying to clipboard was successful!")},function(e){console.error("Async: Could not copy text: ",e)}):this.fallbackCopyTextToClipboard(e)}},{key:"validURL",value:function(e){return!!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i").test(e)}},{key:"render",value:function(){var t=this,e=this.state,n=e.loadFileName,e=e.isValidFileName;return j.a.createElement("div",{className:$g.a.mainContent},j.a.createElement("div",{className:$g.a.block},j.a.createElement("div",{className:$g.a.loadProjectContainer},j.a.createElement("div",{className:$g.a.loadProjectTitle},"Load a Cloud save:"),j.a.createElement(Sa,{style:{flex:1,marginLeft:10},type:"text",placeholder:"Type the name of the cloud save file you would like to load here...",value:n,onChange:function(e){return t.setloadFileName(e.currentTarget.value)}}),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:e?1:.2},className:$g.a.button,disabled:!e,onClick:function(){return t.loadFile(n)}},"Load")),j.a.createElement("div",{className:$g.a.loadProjectContainer,style:{marginTop:"1rem"}},j.a.createElement("div",{className:$g.a.loadProjectTitle},"Create a new Cloud Save file:"),j.a.createElement(Gg.a,{style:{marginLeft:10,marginRight:5,opacity:this.state.isLoading?.2:1},disabled:this.state.isLoading,className:$g.a.button,onClick:function(){return t.saveFile()}},"Save"),j.a.createElement(Sa,{style:{flex:1,marginLeft:10},type:"text",placeholder:"Your autogenerated Save File Code is:",value:this.state.savedProjectId,editable:"false"}),j.a.createElement(Gg.a,{iconSrc:ed.a,style:{marginLeft:10,marginRight:5,opacity:this.state.savedProjectId?1:.2},className:$g.a.button,disabled:!this.state.savedProjectId,onClick:function(){return t.copyTextToClipboard(t.state.savedProjectId)}},this.state.copyToCPText))),this.state.isLoading&&j.a.createElement("div",{className:$g.a.ldsSpinner},j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null)),j.a.createElement("div",{className:[$g.a.block,$g.a["block-100"]].join(" "),style:{marginTop:"2rem"}},j.a.createElement("div",{className:$g.a.tipsContainer},j.a.createElement("div",{className:$g.a.tipsTitle},"Tips for Cloud Saving:"),j.a.createElement("ul",{className:$g.a.tipsList},j.a.createElement("li",null,"Make sure to write down or record the auto-generated code that is provided each time you save a new file. You will need this to load it in the future."),j.a.createElement("li",null,"Although the Marty the Robot app will continue to auto-save files to the local space storage, there is no auto-save function for cloud save files. Please manually re-save your file each time, if you wish them to be available for download over cloud storage."),j.a.createElement("li",null,"Each time you re-save a file to cloud storage, you will be provided with a NEW SAVE FILE CODE. Please take a note of this.")))))}}])&&id(t.prototype,e),n&&id(t,n),i}(j.a.Component),cd=(g.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(g)))),a=e(105),gd=e.n(a);function dd(e){return(dd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hd(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function pd(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?hd(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):hd(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function md(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Bd(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){md(A,t,n,o,a,"next",e)}function a(e){md(A,t,n,o,a,"throw",e)}o(void 0)})}}function fd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ed(e,t){return(Ed=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Id(A);return e=o?(e=Id(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==dd(t)&&"function"!=typeof t?Cd(n):t}}function Cd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Id(e){return(Id=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ed(t,e);var n,A,o,a=wd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={isLoading:!1},e.saveFile=e.saveFile.bind(Cd(e)),e.loadFile=e.loadFile.bind(Cd(e)),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"saveFile",value:(o=Bd(function*(){this.setState(function(e){return pd(pd({},e),{},{isLoading:!0})});var e=yield this.props.saveProjectSb3(),e=yield It(e);try{var t="sb-".concat(function(e){for(var t=0<arguments.length&&void 0!==e?e:10,n="",A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o=A.length,a=0;a<t;a++)n+=A.charAt(Math.floor(Math.random()*o));return n}(5),".sb3");yield mv2Interface.saveScratchFileOnDevice(t,e),mv2Interface.send_REST("notification/info-message/File ".concat(t," Saved!"))}catch(e){mv2Interface.send_REST("notification/error-message/Couldn't save file."),console.log("Couldn't save file",e)}this.setState(function(e){return pd(pd({},e),{},{isLoading:!1})})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=Bd(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;this.setState(function(e){return pd(pd({},e),{},{isLoading:!0})});try{var A,o,a=e.target.value,i=e.target.files[0];if(!a)throw new Error("Couldn't find project with id: "+a);o=!!window.ReactNativeWebView?(A=yield i.text(),yield(yield fetch(A)).arrayBuffer()):yield i.arrayBuffer(),n.loadProject(o),mv2Interface.send_REST("notification/info-message/Project loaded!"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){mv2Interface.send_REST("notification/error-message/Failed to load project: ".concat(e.message))}this.setState(function(e){return pd(pd({},e),{},{isLoading:!1})})}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var e=this;return j.a.createElement("div",{className:gd.a.mainContent},j.a.createElement("div",{className:gd.a.block},j.a.createElement("div",{className:gd.a.saveProjectContainer},j.a.createElement("div",{className:gd.a.button,onClick:function(){return e.saveFile()}},j.a.createElement("p",{className:gd.a.buttonTitle},"Save to file"))),j.a.createElement("div",{className:gd.a.loadProjectContainer},j.a.createElement("div",{className:gd.a.button},j.a.createElement("input",{type:"file",id:"file-upload",name:"file-upload",className:gd.a.loadInput,onChange:this.loadFile}),j.a.createElement("label",{htmlFor:"file-upload",className:gd.a.buttonTitle},"Load from file")))),this.state.isLoading&&j.a.createElement("div",{className:gd.a.ldsSpinner},j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null),j.a.createElement("div",null)))}}])&&fd(t.prototype,e),n&&fd(t,n),i}(j.a.Component),yd=(t.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(t)))),d=e(113),bd=e.n(d);function Md(e){return(Md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Qd(e,t,n,A,o,a,i){try{var r=e[a](i),s=r.value}catch(e){return void n(e)}r.done?t(s):Promise.resolve(s).then(A,o)}function Td(r){return function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){Qd(A,t,n,o,a,"next",e)}function a(e){Qd(A,t,n,o,a,"throw",e)}o(void 0)})}}function Sd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kd(e,t){return(kd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dd(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Nd(A);return e=o?(e=Nd(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Md(t)&&"function"!=typeof t?vd(n):t}}function vd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e){return(Nd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kd(t,e);var n,A,o,a=Dd(i);function i(e){if(this instanceof i)return(e=a.call(this,e)).state={fileNames:[]},e.loadFile=e.loadFile.bind(vd(e)),e.getDemoNames(),e;throw new TypeError("Cannot call a class as a function")}return t=i,(e=[{key:"getDemoNames",value:(o=Td(function*(){var e=yield mv2Interface.loadCloudDemoNames();this.setState({fileNames:e})}),function(){return o.apply(this,arguments)})},{key:"loadFile",value:(A=Td(function*(e){var t=this,n=this.props.vm;if(!n.editingTarget)return null;try{var A=yield mv2Interface.loadCloudScratchFile(encodeURIComponent(e),"demo-projects"),o=yield(yield fetch(A)).arrayBuffer();n.loadProject(o),alert("Loaded Project"),window.setTimeout(function(){return t.props.onActivateBlocksTab()})}catch(e){alert("Failed to load project: ".concat(e.message))}}),function(e){return A.apply(this,arguments)})},{key:"render",value:function(){var n=this,e=this.state.fileNames;return j.a.createElement("div",{className:bd.a.mainContent},j.a.createElement("div",{className:bd.a.block},0<e.length&&j.a.createElement("div",{className:[bd.a.block,bd.a["block-100"]].join(" ")},j.a.createElement("div",{className:bd.a.savedFilesContainer},j.a.createElement("div",{className:bd.a.savedFilesTitle},"Demo projects:"),j.a.createElement("div",{className:bd.a.saveList},e.sort().map(function(e,t){return j.a.createElement("div",{key:e,className:bd.a.row},j.a.createElement("div",{style:{flex:2}},e),j.a.createElement("div",{style:{display:"flex",flexDirection:"row"}},j.a.createElement(Gg.a,{className:bd.a.button,style:{marginLeft:10},onClick:function(){return n.loadFile(e)}},"Load")))}))))))}}])&&Sd(t.prototype,e),n&&Sd(t,n),i}(j.a.Component),Od=(g.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save / Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(g))));function Fd(e){return(Fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rd(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yd(e,t){return(Yd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xd(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=_d(n),t=(e=A?(e=_d(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==Fd(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function _d(e){return(_d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ud(e){return j.a.createElement(Hd,e)}function Gd(e,t){var n={heightDefault:V.e.standardStageHeight,widthDefault:V.e.standardStageWidth,height:0,width:0,scale:0};return t?(n.height=window.innerHeight-Wd.menuHeightAdjustment-Wd.fullScreenSpacingBorderAdjustment,n.width=n.height+n.height/3,n.width>window.innerWidth&&(n.width=window.innerWidth,n.height=.75*n.width),n.scale=n.width/n.widthDefault):(n.scale=V.b[e],n.height=n.scale*n.heightDefault,n.width=n.scale*n.widthDefault),n.height=Math.round(n.height),n.width=Math.round(n.width),n}function Ld(e){var t=e.width,n=e.height,t=t/e.widthDefault,n=n/e.heightDefault;if(1!=t||1!=n)return{transform:"scale(".concat(t,",").concat(n,")")}}function Pd(e){var t=e.isFullScreen,n=e.isPlayerOnly,A=e.onKeyPress,o=e.onSetStageFull,a=e.onSetStageUnFull,i=e.showBranding,r=e.vm;return t?(t=Gd(null,!0),i=i?j.a.createElement("div",{className:qd.a.embedScratchLogo},j.a.createElement("a",{href:"https://scratch.mit.edu",rel:"noopener noreferrer",target:"_blank"},j.a.createElement("img",{alt:"Scratch",src:Xd.a}))):j.a.createElement(Gg.a,{className:qd.a.stageButton,onClick:a,onKeyPress:A},j.a.createElement("img",{alt:e.intl.formatMessage(Zd.unFullStageSizeMessage),className:qd.a.stageButtonIcon,draggable:!1,src:Kd.a,title:e.intl.formatMessage(Zd.fullscreenControl)})),j.a.createElement(W.a,{className:qd.a.stageHeaderWrapperOverlay},j.a.createElement(W.a,{className:qd.a.stageMenuWrapper,style:{width:t.width}},j.a.createElement(Jd.a,{vm:r}),i))):(a=n?[]:j.a.createElement("div",{className:qd.a.stageSizeToggleGroup}),j.a.createElement(W.a,{className:qd.a.stageHeaderWrapper},j.a.createElement(W.a,{className:qd.a.stageMenuWrapper},j.a.createElement("div",{className:qd.a.stageSizeRow},a,j.a.createElement("div",null,j.a.createElement(Gg.a,{className:qd.a.stageButton,onClick:o},j.a.createElement("img",{alt:e.intl.formatMessage(Zd.fullStageSizeMessage),className:qd.a.stageButtonIcon,draggable:!1,src:Vd.a,title:e.intl.formatMessage(Zd.fullscreenControl)})))))))}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yd(t,e);var n,A=xd(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={currentTab:"local-storage"},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){var e,t=this,n=this.state.currentTab;return"local-storage"===n?e=j.a.createElement(Zg,this.props):"cloud-storage"===n?e=j.a.createElement(cd,this.props):"portable-file-storage"===n?e=j.a.createElement(yd,this.props):"demo-projects"===n&&(e=j.a.createElement(Od,this.props)),j.a.createElement("div",{className:f.a.mainContainer},j.a.createElement("div",{className:f.a.header},j.a.createElement("div",{className:"local-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"local-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"In the App"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Local Storage")),j.a.createElement("div",{className:"cloud-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"cloud-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"In the Cloud"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Cloud Storage")),j.a.createElement("div",{className:"portable-file-storage"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"portable-file-storage"})}},j.a.createElement("p",{className:f.a.buttonTitle},"Portable"),j.a.createElement("p",{className:f.a.buttonSubtitle},"File Storage")),j.a.createElement("div",{className:"demo-projects"===this.state.currentTab?[f.a.button,f.a.buttonSelected].join(" "):f.a.button,onClick:function(){return t.setState({currentTab:"demo-projects"})}},j.a.createElement("p",{className:f.a.buttonTitle},"Demo Projects"),j.a.createElement("p",{className:f.a.buttonSubtitle},"Load demo projects"))),j.a.createElement("div",{className:f.a.content},e))}}])&&Rd(t.prototype,e),n&&Rd(t,n),o}(j.a.Component),Hd=(a.propTypes={onActivateBlocksTab:n.a.func,saveProjectSb3:n.a.func,editingTarget:n.a.string,locale:n.a.string.isRequired,onProjectTelemetryEvent:n.a.func,projectTitle:n.a.string,vm:n.a.instanceOf(o.a).isRequired,onConfirmNewProject:n.a.func},Object(O.a)("Save/Load")(Object(z.e)(Object(A.b)(function(e){return{editingTarget:e.scratchGui.targets.editingTarget,locale:e.locales.locale,saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm)}},function(e){return{onActivateBlocksTab:function(){return e(Object(s.f)(s.a))},onConfirmNewProject:function(){return e(Object(r.C)(!1))}}})(a)))),jd=e(123),zd=e(66),Jd=e(144),Wd={fullScreenSpacingBorderAdjustment:12,menuHeightAdjustment:44},t=e(782),Vd=e.n(t),d=e(783),Kd=e.n(d),g=e(307),Xd=e.n(g),a=e(95),qd=e.n(a),Zd=Object(z.d)({largeStageSizeMessage:{id:"gui.stageHeader.stageSizeLarge",defaultMessage:"Switch to large stage"},smallStageSizeMessage:{id:"gui.stageHeader.stageSizeSmall",defaultMessage:"Switch to small stage"},fullStageSizeMessage:{id:"gui.stageHeader.stageSizeFull",defaultMessage:"Enter full screen mode"},unFullStageSizeMessage:{id:"gui.stageHeader.stageSizeUnFull",defaultMessage:"Exit full screen mode"},fullscreenControl:{id:"gui.stageHeader.fullscreenControl",defaultMessage:"Full Screen Control"}}),$d=(Pd.propTypes={intl:z.f,isFullScreen:n.a.bool.isRequired,isPlayerOnly:n.a.bool.isRequired,onKeyPress:n.a.func.isRequired,onSetStageFull:n.a.func.isRequired,onSetStageLarge:n.a.func.isRequired,onSetStageSmall:n.a.func.isRequired,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool.isRequired,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Pd.defaultProps={stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(Pd)));function eh(e){return(eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function th(){return(th=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function nh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Ah(e,t){return(Ah=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ih(A);return e=o?(e=ih(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==eh(t)&&"function"!=typeof t?ah(n):t}}function ah(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ih(e){return(ih=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ah(t,e);var n,A=oh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(ah(e),["handleKeyPress"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){"Escape"===e.key&&this.props.isFullScreen&&this.props.onSetStageUnFull(!1)}},{key:"render",value:function(){var e=th({},this.props);return j.a.createElement($d,th({},e,{onKeyPress:this.handleKeyPress}))}}])&&nh(t.prototype,e),n&&nh(t,n),o}(j.a.Component),rh=(t.propTypes={isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize,showBranding:e.scratchGui.mode.showBranding,isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly}},function(e){return{onSetStageLarge:function(){return e(Object(jd.b)(V.d.large))},onSetStageSmall:function(){return e(Object(jd.b)(V.d.small))},onSetStageFull:function(){return e(Object(zd.c)(!0))},onSetStageUnFull:function(){return e(Object(zd.c)(!1))}}})(t)),sh=[];function lh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?uh(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uh(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function ch(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var gh=function(){function g(){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");this.mirror=!0,this._frameCacheTimeout=16,this._video=null,this._track=null,this._workspace=[]}var e,t,n;return e=g,n=[{key:"FORMAT_IMAGE_DATA",get:function(){return"image-data"}},{key:"FORMAT_CANVAS",get:function(){return"canvas"}},{key:"DIMENSIONS",get:function(){return[480,360]}},{key:"ORDER",get:function(){return 1}}],(t=[{key:"video",get:function(){return this._video}},{key:"enableVideo",value:function(){return this.enabled=!0,this._setupVideo()}},{key:"disableVideo",value:function(){var t=this;this.enabled=!1,this._singleSetup&&this._singleSetup.then(this._teardown.bind(this)).catch(function(e){return t.onError(e)})}},{key:"_teardown",value:function(){var e;!1===this.enabled&&(sh.pop(),e=!(0<sh.length),this._singleSetup=null,this._video=null,this._track&&e&&this._track.stop(),this._track=null)}},{key:"getFrame",value:function(e){var t,n,A,o,a,i,r,s,l=e.dimensions,l=void 0===l?g.DIMENSIONS:l,u=e.mirror,u=void 0===u?this.mirror:u,c=e.format,c=void 0===c?g.FORMAT_IMAGE_DATA:c,e=e.cacheTimeout,e=void 0===e?this._frameCacheTimeout:e;return this.videoReady?(t=(n=lh(l,2))[0],n=n[1],l=this._getWorkspace({dimensions:l,mirror:Boolean(u)}),A=(o=this._video).videoWidth,o=o.videoHeight,a=l.canvas,i=l.context,s=l.lastUpdate,r=l.cacheData,s+e<(s=Date.now())&&(u&&(i.scale(-1,1),i.translate(-1*t,0)),i.drawImage(this._video,0,0,A,o,0,0,t,n),i.setTransform(1,0,0,1,0,0),l.lastUpdate=s),r[c]||(r[c]={lastUpdate:0}),(u=r[c]).lastUpdate+e<s&&(c===g.FORMAT_IMAGE_DATA?u.lastData=i.getImageData(0,0,t,n):c===g.FORMAT_CANVAS?(u.lastUpdate=1/0,u.lastData=a):(re.a.error("video io error - unimplemented format ".concat(c)),u.lastUpdate=1/0,u.lastData=null),u.lastUpdate=Math.max(l.lastUpdate,u.lastUpdate)),u.lastData):null}},{key:"onError",value:function(e){re.a.error("Unhandled video io device error",e)}},{key:"_setupVideo",value:function(){var e,t,n=this;return this._singleSetup||(this._singleSetup=(e={width:{min:480,ideal:640},height:{min:360,ideal:480}},0===sh.length?(t=ms()({audio:!1,video:e}),sh.push(t)):0<sh.length&&(t=sh[0],sh.push(!0)),t.then(function(t){n._video=document.createElement("video");try{n._video.srcObject=t}catch(e){n._video.src=window.URL.createObjectURL(t)}return n._video.play(),n._track=t.getTracks()[0],n}).catch(function(e){n._singleSetup=null,n.onError(e)}))),this._singleSetup}},{key:"videoReady",get:function(){var e,t;return!!this.enabled&&!!this._video&&!!this._track&&(e=(t=this._video).videoWidth,t=t.videoHeight,"number"==typeof e)&&"number"==typeof t&&0!==e&&0!==t}},{key:"_getWorkspace",value:function(e){var t=e.dimensions,n=e.mirror,e=this._workspace.find(function(e){return e.dimensions.join("-")===t.join("-")&&e.mirror===n});return e||((e={dimensions:t,mirror:n,canvas:document.createElement("canvas"),lastUpdate:0,cacheData:{}}).canvas.width=t[0],e.canvas.height=t[1],e.context=e.canvas.getContext("2d"),this._workspace.push(e)),e}}])&&ch(e.prototype,t),n&&ch(e,n),g}(),d=e(784),dh=e.n(d),g=e(186),a=e.n(g);function hh(e){return(hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ph(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function mh(e,t){return(mh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Eh(A);return e=o?(e=Eh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==hh(t)&&"function"!=typeof t?fh(n):t}}function fh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Eh(e){return(Eh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&mh(t,e);var n,A=Bh(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).setContainer=e.setContainer.bind(fh(e)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.container.appendChild(this.props.domElement)}},{key:"componentWillUnmount",value:function(){this.container.removeChild(this.props.domElement)}},{key:"setContainer",value:function(e){this.container=e}},{key:"render",value:function(){return Object.assign(this.props.domElement,X()(this.props,["domElement","children","style"])),this.props.style&&(this.props.domElement.style.cssText=dh.a.string(this.props.style)),j.a.createElement("div",{ref:this.setContainer})}}])&&ph(t.prototype,e),n&&ph(t,n),o}(j.a.Component),wh=(t.propTypes={domElement:n.a.instanceOf(Element).isRequired,style:a.a},t),d=e(785),Ch=e.n(d);function Ih(e){return(Ih="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var yh=["colorInfo"];function bh(){return(bh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Mh(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Qh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Th(e,t){return(Th=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Sh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Dh(A);return e=o?(e=Dh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ih(t)&&"function"!=typeof t?kh(n):t}}function kh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dh(e){return(Dh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Th(t,e);var n,A=Sh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(kh(e),["setCanvas"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(){this.draw()}},{key:"draw",value:function(){var e=this.canvas.getContext("2d"),t=this.props.colorInfo,n=t.color,A=t.data,o=t.width,t=t.height,a=(this.canvas.width=3*o,this.canvas.height=3*t,document.createElement("canvas")),i=(a.width=o,a.height=t,a.getContext("2d")),r=i.createImageData(o,t);r.data.set(A),i.putImageData(r,0,0),e.save(),e.scale(3,3),e.drawImage(a,0,0,o,t),e.lineWidth=1/3,e.strokeStyle="black",e.fillStyle="rgba(".concat(n.r,", ").concat(n.g,", ").concat(n.b,", ").concat(n.a,")"),e.beginPath(),e.rect(o/2-1,t/2-1,2,2),e.fill(),e.stroke(),e.strokeStyle="rgba(".concat(n.r,", ").concat(n.g,", ").concat(n.b,", ").concat(n.a,")"),e.lineWidth=5,e.beginPath(),e.moveTo(o,t/2),e.arc(o/2,t/2,o/2,0,2*Math.PI),e.stroke(),e.restore()}},{key:"setCanvas",value:function(e){this.canvas=e}},{key:"render",value:function(){var e=this.props,t=e.colorInfo,e=Mh(e,yh);return j.a.createElement(W.a,bh({},e,{className:Ch.a.colorPicker,componentRef:this.setCanvas,element:"canvas",height:t.height,style:{top:t.y-3*t.height/2,left:t.x-3*t.width/2,width:3*t.width,height:3*t.height},width:t.width}))}}])&&Qh(t.prototype,e),n&&Qh(t,n),o}(j.a.Component),vh=(g.propTypes={colorInfo:n.a.shape({color:n.a.shape({r:n.a.number,g:n.a.number,b:n.a.number,a:n.a.number}),data:n.a.instanceOf(Uint8Array),width:n.a.number,height:n.a.number,x:n.a.number,y:n.a.number})},g);function Nh(e){return(Nh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||function(e,t){var n;if(e)return"string"==typeof e?Fh(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fh(e,t):void 0}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function Rh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Yh(e,t){return(Yh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Uh(A);return e=o?(e=Uh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nh(t)&&"function"!=typeof t?_h(n):t}}function _h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uh(e){return(Uh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Yh(t,e);var n,A=xh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(_h(e),["getPageCoords"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"getPageCoords",value:function(e,t){var n=this.props,A=n.stageWidth,o=n.stageHeight,n=n.vm.renderer.getNativeSize();return[A/n[0]*e+A/2,-(o/n[1])*t+o/2]}},{key:"render",value:function(){var e,t,n=this.props,A=n.className,o=n.highlightedTargetId,a=n.highlightedTargetTime,n=n.vm;return o&&n&&n.renderer&&n.runtime.getTargetById(o)?(o=n.runtime.getTargetById(o),n=n.renderer.getBounds(o.drawableID),e=(o=Oh(this.getPageCoords(n.left,n.top),2))[0],o=o[1],t=(n=Oh(this.getPageCoords(n.right,n.bottom),2))[0],n=n[1],j.a.createElement("div",{className:A,key:a,style:{position:"absolute",top:"".concat(o-2,"px"),left:"".concat(e-2,"px"),width:"".concat(t-e+4,"px"),height:"".concat(n-o+4,"px")}})):null}}])&&Rh(t.prototype,e),n&&Rh(t,n),o}(j.a.Component),Gh=(a.propTypes={className:n.a.string,highlightedTargetId:n.a.string,highlightedTargetTime:n.a.number,stageHeight:n.a.number,stageWidth:n.a.number,vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{highlightedTargetTime:e.scratchGui.targets.highlightedTargetTime,highlightedTargetId:e.scratchGui.targets.highlightedTargetId,vm:e.scratchGui.vm}},function(){return{}})(a)),t=e(306),Lh=e.n(t);function Ph(e){return(Ph="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hh(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function jh(e,t){return(jh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zh(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Wh(A);return e=o?(e=Wh(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Ph(t)&&"function"!=typeof t?Jh(n):t}}function Jh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wh(e){return(Wh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vh(e){var t=e.answer,n=e.className,A=e.question,o=e.onChange,a=e.onClick,e=e.onKeyPress;return j.a.createElement("div",{className:n},j.a.createElement("div",{className:Xh.a.questionContainer},A?j.a.createElement("div",{className:Xh.a.questionLabel},A):null,j.a.createElement("div",{className:Xh.a.questionInput},j.a.createElement(Sa,{autoFocus:!0,value:t,onChange:o,onKeyPress:e}),j.a.createElement("button",{className:Xh.a.questionSubmitButton,onClick:a},j.a.createElement("img",{className:Xh.a.questionSubmitButtonIcon,draggable:!1,src:qh.a})))))}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jh(t,e);var n,A=zh(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Jh(e),["handleClick"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleClick",value:function(){this.props.vm.start(),this.props.vm.greenFlag()}},{key:"render",value:function(){return j.a.createElement(W.a,{className:this.props.wrapperClass,onClick:this.handleClick},j.a.createElement("div",{className:this.props.className},j.a.createElement("img",{draggable:!1,src:Lh.a})))}}])&&Hh(t.prototype,e),n&&Hh(t,n),o}(j.a.Component),Kh=(d.propTypes={className:n.a.string,vm:n.a.instanceOf(o.a),wrapperClass:n.a.string},Object(A.b)(function(e){return{vm:e.scratchGui.vm}},function(){return{}})(d)),g=e(203),Xh=e.n(g),a=e(786),qh=e.n(a),Zh=(Vh.propTypes={answer:n.a.string,className:n.a.string,onChange:n.a.func.isRequired,onClick:n.a.func.isRequired,onKeyPress:n.a.func.isRequired,question:n.a.string},Vh);function $h(e){return($h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ep(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tp(e,t){return(tp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function np(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=op(A);return e=o?(e=op(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==$h(t)&&"function"!=typeof t?Ap(n):t}}function Ap(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function op(e){return(op=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ap(e){return j.a.createElement("div",{className:e.className,style:Ld(e.stageSize)},j.a.createElement("img",{className:rp.a.micImg,src:sp.a}))}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tp(t,e);var n,A=np(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ap(e),["handleChange","handleKeyPress","handleSubmit"]),e.state={answer:""},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleChange",value:function(e){this.setState({answer:e.target.value})}},{key:"handleKeyPress",value:function(e){"Enter"===e.key&&this.handleSubmit()}},{key:"handleSubmit",value:function(){this.props.onQuestionAnswered(this.state.answer)}},{key:"render",value:function(){return j.a.createElement(Zh,{answer:this.state.answer,question:this.props.question,onChange:this.handleChange,onClick:this.handleSubmit,onKeyPress:this.handleKeyPress})}}])&&ep(t.prototype,e),n&&ep(t,n),o}(j.a.Component),ip=(t.propTypes={onQuestionAnswered:n.a.func.isRequired,question:n.a.string},t),d=e(787),rp=e.n(d),g=e(788),sp=e.n(g),lp=(ap.propTypes={className:n.a.string,stageSize:n.a.shape({width:n.a.number,height:n.a.number,widthDefault:n.a.number,heightDefault:n.a.number}).isRequired},ap),a=e(71),up=e.n(a),cp=["canvas","dragRef","isColorPicking","isFullScreen","isStarted","colorInfo","micIndicator","question","stageSize","onDeactivateColorPicker","onDoubleClick","onQuestionAnswered"];function gp(){return(gp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function dp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hp(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function pp(e){var t,n=e.canvas,A=e.dragRef,o=e.isColorPicking,a=e.isFullScreen,i=e.isStarted,r=e.colorInfo,s=e.micIndicator,l=e.question,u=e.stageSize,c=e.onDeactivateColorPicker,g=e.onDoubleClick,d=e.onQuestionAnswered,e=hp(e,cp),u=Gd(u,a);return j.a.createElement("div",null,j.a.createElement(W.a,{className:J()((dp(t={},up.a.stageWrapper,!a),dp(t,up.a.stageWrapperOverlay,a),dp(t,up.a.withColorPicker,!a&&o),t)),style:{minHeight:u.height,minWidth:u.width},onDoubleClick:g},j.a.createElement(W.a,{className:J()(up.a.stage,dp({},up.a.stageOverlayContent,a)),style:{height:u.height,width:u.width}},j.a.createElement(wh,gp({domElement:n,style:{height:u.height,width:u.width}},e))),j.a.createElement(W.a,{className:up.a.frameWrapper},j.a.createElement(Gh,{className:up.a.frame,stageHeight:u.height,stageWidth:u.width})),i?null:j.a.createElement(Kh,{className:up.a.greenFlagOverlay,wrapperClass:up.a.greenFlagOverlayWrapper}),o&&r?j.a.createElement(W.a,{className:up.a.colorPickerWrapper},j.a.createElement(vh,{colorInfo:r})):null,j.a.createElement("div",{className:up.a.stageBottomWrapper,style:{width:u.width,height:u.height,left:"50%",marginLeft:-.5*u.width}},s?j.a.createElement(lp,{className:up.a.micIndicator,stageSize:u}):null,null===l?null:j.a.createElement("div",{className:up.a.questionWrapper,style:{width:u.width}},j.a.createElement(ip,{question:l,onQuestionAnswered:d}))),j.a.createElement("canvas",{className:up.a.draggingSprite,height:0,ref:A,width:0})),o?j.a.createElement(W.a,{className:up.a.colorPickerBackground,onClick:c}):null)}pp.propTypes={canvas:n.a.instanceOf(Element).isRequired,colorInfo:vh.propTypes.colorInfo,dragRef:n.a.func,isColorPicking:n.a.bool,isFullScreen:n.a.bool.isRequired,isStarted:n.a.bool,micIndicator:n.a.bool,onDeactivateColorPicker:n.a.func,onDoubleClick:n.a.func,onQuestionAnswered:n.a.func,question:n.a.string,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,useEditorDragStyle:n.a.bool},pp.defaultProps={dragRef:function(){}};var mp=pp,Bp=e(145);function fp(e){return(fp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ep=["vm","onActivateColorPicker"];function wp(){return(wp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Cp(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ip(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var A,o,a=[],i=!0,r=!1;try{for(n=n.call(e);!(i=(A=n.next()).done)&&(a.push(A.value),!t||a.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(r)throw o}}return a}}(e,t)||bp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yp(e){return function(e){if(Array.isArray(e))return Mp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||bp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bp(e,t){var n;if(e)return"string"==typeof e?Mp(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mp(e,t):void 0}function Mp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function Qp(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function Tp(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?Qp(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):Qp(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function Sp(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kp(e,t){return(kp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dp(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Np(A);return e=o?(e=Np(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==fp(t)&&"function"!=typeof t?vp(n):t}}function vp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Np(e){return(Np=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kp(t,e);var n,A=Dp(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(vp(e),["attachMouseEvents","cancelMouseDownTimeout","detachMouseEvents","handleDoubleClick","handleQuestionAnswered","onMouseUp","onMouseMove","onMouseDown","onStartDrag","onStopDrag","onWheel","updateRect","questionListener","setDragCanvas","clearDragCanvas","drawDragCanvas","positionDragCanvas"]),e.state={mouseDownTimeoutId:null,mouseDownPosition:null,isDragging:!1,dragOffset:null,dragId:null,colorInfo:null,question:null},e.props.vm.renderer?(e.renderer=e.props.vm.renderer,e.canvas=e.renderer.canvas):(e.canvas=document.createElement("canvas"),e.renderer=new kn.a(e.canvas),e.props.vm.attachRenderer(e.renderer),e.props.vm.setVideoProvider(new gh),e.props.vm.renderer.draw()),e.props.vm.attachV2BitmapAdapter(new On.BitmapAdapter),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.attachRectEvents(),this.attachMouseEvents(this.canvas),this.updateRect(),this.props.vm.runtime.addListener("QUESTION",this.questionListener)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.stageSize!==e.stageSize||this.props.isColorPicking!==e.isColorPicking||this.state.colorInfo!==t.colorInfo||this.props.isFullScreen!==e.isFullScreen||this.state.question!==t.question||this.props.micIndicator!==e.micIndicator||this.props.isStarted!==e.isStarted}},{key:"componentDidUpdate",value:function(e){this.props.isColorPicking&&!e.isColorPicking?this.startColorPickingLoop():!this.props.isColorPicking&&e.isColorPicking&&this.stopColorPickingLoop(),this.updateRect(),this.renderer.resize(this.rect.width,this.rect.height)}},{key:"componentWillUnmount",value:function(){this.detachMouseEvents(this.canvas),this.detachRectEvents(),this.stopColorPickingLoop(),this.props.vm.runtime.removeListener("QUESTION",this.questionListener)}},{key:"questionListener",value:function(e){this.setState({question:e})}},{key:"handleQuestionAnswered",value:function(e){var t=this;this.setState({question:null},function(){t.props.vm.runtime.emit("ANSWER",e)})}},{key:"startColorPickingLoop",value:function(){var e=this;this.intervalId=setInterval(function(){"number"==typeof e.pickX&&e.setState({colorInfo:e.getColorInfo(e.pickX,e.pickY)})},30)}},{key:"stopColorPickingLoop",value:function(){clearInterval(this.intervalId)}},{key:"attachMouseEvents",value:function(e){document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp),document.addEventListener("touchmove",this.onMouseMove),document.addEventListener("touchend",this.onMouseUp),e.addEventListener("mousedown",this.onMouseDown),e.addEventListener("touchstart",this.onMouseDown),e.addEventListener("wheel",this.onWheel)}},{key:"detachMouseEvents",value:function(e){document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("touchmove",this.onMouseMove),document.removeEventListener("touchend",this.onMouseUp),e.removeEventListener("mousedown",this.onMouseDown),e.removeEventListener("touchstart",this.onMouseDown),e.removeEventListener("wheel",this.onWheel)}},{key:"attachRectEvents",value:function(){window.addEventListener("resize",this.updateRect),window.addEventListener("scroll",this.updateRect)}},{key:"detachRectEvents",value:function(){window.removeEventListener("resize",this.updateRect),window.removeEventListener("scroll",this.updateRect)}},{key:"updateRect",value:function(){this.rect=this.canvas.getBoundingClientRect()}},{key:"getScratchCoords",value:function(e,t){var n=this.renderer.getNativeSize();return[n[0]/this.rect.width*(e-this.rect.width/2),n[1]/this.rect.height*(t-this.rect.height/2)]}},{key:"getColorInfo",value:function(e,t){return Tp({x:e,y:t},this.renderer.extractColor(e,t,20))}},{key:"handleDoubleClick",value:function(e){var e=bn(e),t=e.x,e=e.y,t=[t-this.rect.left,e-this.rect.top],e=this.renderer.pick(t[0],t[1]);null!==e&&null!==(t=this.props.vm.getTargetIdForDrawableId(e))&&this.props.vm.setEditingTarget(t)}},{key:"onMouseMove",value:function(e){var e=bn(e),t=e.x,e=e.y,t=[t-this.rect.left,e-this.rect.top],e=(this.props.isColorPicking&&(this.pickX=t[0],this.pickY=t[1]),this.state.mouseDown&&!this.state.isDragging&&3<Math.sqrt(Math.pow(t[0]-this.state.mouseDownPosition[0],2)+Math.pow(t[1]-this.state.mouseDownPosition[1],2))&&(this.cancelMouseDownTimeout(),this.onStartDrag.apply(this,yp(this.state.mouseDownPosition))),this.state.mouseDown&&this.state.isDragging&&(this.props.useEditorDragStyle?this.positionDragCanvas(t[0],t[1]):(e=this.getScratchCoords(t[0],t[1]),this.props.vm.postSpriteInfo({x:e[0]+this.state.dragOffset[0],y:-(e[1]+this.state.dragOffset[1]),force:!0}))),{x:t[0],y:t[1],canvasWidth:this.rect.width,canvasHeight:this.rect.height});this.props.vm.postIOData("mouse",e)}},{key:"onMouseUp",value:function(e){var t,e=bn(e),n=e.x,e=e.y,A=[n-this.rect.left,e-this.rect.top],n=(this.cancelMouseDownTimeout(),this.setState({mouseDown:!1,mouseDownPosition:null}),{isDown:!1,x:n-this.rect.left,y:e-this.rect.top,canvasWidth:this.rect.width,canvasHeight:this.rect.height,wasDragged:this.state.isDragging});this.state.isDragging&&this.onStopDrag(A[0],A[1]),this.props.vm.postIOData("mouse",n),this.props.isColorPicking&&0<A[0]&&A[0]<this.rect.width&&0<A[1]&&A[1]<this.rect.height&&(n=(e=this.state.colorInfo.color).r,A=e.g,e=e.b,n="#".concat((t=function(e){e=e.toString(16);return 1===e.length?"0".concat(e):e})(n)).concat(t(A)).concat(t(e)),this.props.onDeactivateColorPicker(n),this.setState({colorInfo:null}),this.pickX=null,this.pickY=null)}},{key:"onMouseDown",value:function(e){this.updateRect();var t=bn(e),n=t.x,t=t.y,n=[n-this.rect.left,t-this.rect.top];this.props.isColorPicking?(this.pickX=n[0],this.pickY=n[1],this.setState({colorInfo:this.getColorInfo(this.pickX,this.pickY)})):((0===e.button||window.TouchEvent&&e instanceof TouchEvent)&&this.setState({mouseDown:!0,mouseDownPosition:n,mouseDownTimeoutId:setTimeout(this.onStartDrag.bind(this,n[0],n[1]),400)}),t={isDown:!0,x:n[0],y:n[1],canvasWidth:this.rect.width,canvasHeight:this.rect.height},this.props.vm.postIOData("mouse",t),e.preventDefault&&(e.preventDefault(),document.activeElement)&&document.activeElement.blur&&document.activeElement.blur())}},{key:"onWheel",value:function(e){e={deltaX:e.deltaX,deltaY:e.deltaY};this.props.vm.postIOData("mouseWheel",e)}},{key:"cancelMouseDownTimeout",value:function(){null!==this.state.mouseDownTimeoutId&&clearTimeout(this.state.mouseDownTimeoutId),this.setState({mouseDownTimeoutId:null})}},{key:"drawDragCanvas",value:function(e,t,n){var A=e.imageData,o=e.x,a=e.y,i=e.width,e=e.height;this.dragCanvas.width=A.width,this.dragCanvas.height=A.height,this.dragCanvas.style.width="".concat(i,"px"),this.dragCanvas.style.height="".concat(e,"px"),this.dragCanvas.getContext("2d").putImageData(A,0,0),this.dragCanvas.style.left="".concat(o-t,"px"),this.dragCanvas.style.top="".concat(a-n,"px"),this.dragCanvas.style.display="block"}},{key:"clearDragCanvas",value:function(){this.dragCanvas.width=this.dragCanvas.height=0,this.dragCanvas.style.display="none"}},{key:"positionDragCanvas",value:function(e,t){this.dragCanvas.style.transform="translate(".concat(e,"px, ").concat(t,"px)")}},{key:"onStartDrag",value:function(e,t){var n,A,o,a,i;this.state.dragId||null!==(n=this.renderer.pick(e,t))&&null!==(A=this.props.vm.getTargetIdForDrawableId(n))&&(a=this.props.vm.runtime.getTargetById(A),this.props.useEditorDragStyle||a.draggable)&&(a.goToFront(),o=(i=Ip(this.getScratchCoords(e,t),2))[0],i=i[1],o=a.x-o,a=-(a.y+i),this.props.vm.startDrag(A),this.setState({isDragging:!0,dragId:A,dragOffset:[o,a]}),this.props.useEditorDragStyle)&&(i=this.renderer.extractDrawableScreenSpace(n),this.drawDragCanvas(i,e,t),this.positionDragCanvas(e,t),this.props.vm.postSpriteInfo({visible:!1}),this.props.vm.renderer.draw())}},{key:"onStopDrag",value:function(e,t){function n(){o.props.vm.stopDrag(a),o.setState({isDragging:!1,dragOffset:null,dragId:null})}var A,o=this,a=this.state.dragId;this.props.useEditorDragStyle?(A={visible:!0},0<e&&e<this.rect.width&&0<t&&t<this.rect.height&&(e=this.getScratchCoords(e,t),A.x=e[0]+this.state.dragOffset[0],A.y=-(e[1]+this.state.dragOffset[1]),A.force=!0),this.props.vm.postSpriteInfo(A),this.clearDragCanvas(),n(),this.props.vm.renderer.draw()):n()}},{key:"setDragCanvas",value:function(e){this.dragCanvas=e}},{key:"render",value:function(){var e=this.props,e=(e.vm,e.onActivateColorPicker,Cp(e,Ep));return j.a.createElement(mp,wp({canvas:this.canvas,colorInfo:this.state.colorInfo,dragRef:this.setDragCanvas,question:this.state.question,onDoubleClick:this.handleDoubleClick,onQuestionAnswered:this.handleQuestionAnswered},e))}}])&&Sp(t.prototype,e),n&&Sp(t,n),o}(j.a.Component),Op=(t.propTypes={isColorPicking:n.a.bool,isFullScreen:n.a.bool.isRequired,isStarted:n.a.bool,micIndicator:n.a.bool,onActivateColorPicker:n.a.func,onDeactivateColorPicker:n.a.func,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,useEditorDragStyle:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},t.defaultProps={useEditorDragStyle:!0},Object(A.b)(function(e){return{isColorPicking:e.scratchGui.colorPicker.active,isFullScreen:e.scratchGui.mode.isFullScreen,isStarted:e.scratchGui.vmStatus.started,micIndicator:e.scratchGui.micIndicator,useEditorDragStyle:!(e.scratchGui.mode.isFullScreen||e.scratchGui.mode.isPlayerOnly)}},function(t){return{onActivateColorPicker:function(){return t(Object(Bp.a)())},onDeactivateColorPicker:function(e){return t(Object(Bp.c)(e))}}})(t)),d=e(96),Fp=e.n(d),g=e(789),Rp=e.n(g),a=e(790),Yp=e.n(a),t=e(791),xp=e.n(t);function _p(e){return(_p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Up(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Gp(e,t){return(Gp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Lp(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Pp(n),t=(e=A?(e=Pp(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==_p(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Pp(e){return(Pp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Hp=[{message:j.a.createElement(z.a,{defaultMessage:"Creating blocks …",id:"gui.loader.message1"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading sprites …",id:"gui.loader.message2"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading sounds …",id:"gui.loader.message3"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Loading extensions …",id:"gui.loader.message4"}),weight:50},{message:j.a.createElement(z.a,{defaultMessage:"Creating blocks …",id:"gui.loader.message1"}),weight:20},{message:j.a.createElement(z.a,{defaultMessage:"Herding cats …",id:"gui.loader.message5"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Transmitting nanos …",id:"gui.loader.message6"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Inflating gobos …",id:"gui.loader.message7"}),weight:1},{message:j.a.createElement(z.a,{defaultMessage:"Preparing emojis …",id:"gui.loader.message8"}),weight:1}],jp={"gui.loader.headline":j.a.createElement(z.a,{defaultMessage:"Loading Project",id:"gui.loader.headline"}),"gui.loader.creating":j.a.createElement(z.a,{defaultMessage:"Creating Project",id:"gui.loader.creating"})},d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Gp(t,e);var n,A=Lp(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={messageNumber:e.chooseRandomMessage()},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e=this;this.intervalId=setInterval(function(){e.setState({messageNumber:e.chooseRandomMessage()})},5e3)}},{key:"componentWillUnmount",value:function(){clearInterval(this.intervalId)}},{key:"chooseRandomMessage",value:function(){for(var e,t=Hp.reduce(function(e,t){return e+t.weight},0)*Math.random(),n=0;n<Hp.length;n++)if((t-=Hp[n].weight)<=0){e=n;break}return e}},{key:"render",value:function(){return j.a.createElement("div",{className:J()(Fp.a.background,(e={},t=Fp.a.fullscreen,n=this.props.isFullScreen,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e))},j.a.createElement("div",{className:Fp.a.container},j.a.createElement("div",{className:Fp.a.blockAnimation},j.a.createElement("img",{className:Fp.a.topBlock,src:Rp.a}),j.a.createElement("img",{className:Fp.a.middleBlock,src:Yp.a}),j.a.createElement("img",{className:Fp.a.bottomBlock,src:xp.a})),j.a.createElement("div",{className:Fp.a.title},jp[this.props.messageId]),j.a.createElement("div",{className:Fp.a.messageContainerOuter},j.a.createElement("div",{className:Fp.a.messageContainerInner,style:{transform:"translate(0, -".concat(25*this.state.messageNumber,"px)")}},Hp.map(function(e,t){return j.a.createElement("div",{className:Fp.a.message,key:t},e.message)})))));var e,t,n}}])&&Up(t.prototype,e),n&&Up(t,n),o}(j.a.Component),zp=(d.propTypes={isFullScreen:n.a.bool,messageId:n.a.string},d.defaultProps={isFullScreen:!1,messageId:"gui.loader.headline"},d),g=e(245),Jp=e.n(g);function Wp(e){var t,n,A,o=e.isFullScreen,a=e.isRtl,i=e.isRendererSupported,r=e.loading,s=e.stageSize,e=e.vm;return j.a.createElement(W.a,{className:J()(Jp.a.stageWrapper,(t={},n=Jp.a.fullScreen,A=o,n in t?Object.defineProperty(t,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[n]=A,t)),dir:a?"rtl":"ltr"},j.a.createElement(W.a,{className:Jp.a.stageMenuWrapper},j.a.createElement(rh,{stageSize:s,vm:e})),j.a.createElement(W.a,{className:Jp.a.stageCanvasWrapper},i?j.a.createElement(Op,{stageSize:s,vm:e}):null),r?j.a.createElement(zp,{isFullScreen:o}):null)}function Vp(e){return j.a.createElement(Kp,e)}Wp.propTypes={isFullScreen:n.a.bool,isRendererSupported:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,loading:n.a.bool,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a).isRequired};var Kp=Wp,Xp=(Vp.propTypes={isRendererSupported:n.a.bool.isRequired,stageSize:n.a.oneOf(Object.keys(V.c)).isRequired,vm:n.a.instanceOf(o.a).isRequired},Vp);function qp(e){return(qp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zp(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function $p(e,t){return($p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function em(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=nm(A);return e=o?(e=nm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==qp(t)&&"function"!=typeof t?tm(n):t}}function tm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nm(e){return(nm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Am=Object(z.d)({libraryTitle:{id:"gui.costumeLibrary.chooseACostume",defaultMessage:"Choose a Costume"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$p(t,e);var n,A=em(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(tm(e),["handleItemSelected"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelected",value:function(e){var t={name:e.name,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.props.vm.addCostumeFromLibrary(e.md5ext,t)}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:qo,id:"costumeLibrary",tags:ua,title:this.props.intl.formatMessage(Am.libraryTitle),onItemSelected:this.handleItemSelected,onRequestClose:this.props.onRequestClose})}}])&&Zp(t.prototype,e),n&&Zp(t,n),o}(j.a.PureComponent),om=(a.propTypes={intl:z.f.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(a)),am=[{tag:"fantasy",intlLabel:i.fantasy},{tag:"music",intlLabel:i.music},{tag:"sports",intlLabel:i.sports},{tag:"outdoors",intlLabel:i.outdoors},{tag:"indoors",intlLabel:i.indoors},{tag:"space",intlLabel:i.space},{tag:"underwater",intlLabel:i.underwater},{tag:"patterns",intlLabel:i.patterns}];function im(e){return(im="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rm(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function sm(e,t){return(sm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=cm(A);return e=o?(e=cm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==im(t)&&"function"!=typeof t?um(n):t}}function um(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cm(e){return(cm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gm(e){return j.a.createElement("img",{className:pm.a.spriteImage,src:e.costumeURL})}var dm=Object(z.d)({libraryTitle:{id:"gui.costumeLibrary.chooseABackdrop",defaultMessage:"Choose a Backdrop"}}),t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&sm(t,e);var n,A=lm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(um(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t={name:e.name,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY,bitmapResolution:e.bitmapResolution,skinId:null};this.props.vm.addBackdrop(e.md5ext,t)}},{key:"render",value:function(){return j.a.createElement(ca.a,{data:Zo,id:"backdropLibrary",tags:am,title:this.props.intl.formatMessage(dm.libraryTitle),onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose})}}])&&rm(t.prototype,e),n&&rm(t,n),o}(j.a.Component),hm=(t.propTypes={intl:z.f.isRequired,onRequestClose:n.a.func,vm:n.a.instanceOf(o.a).isRequired},Object(z.e)(t)),d=e(792),pm=e.n(d),mm=(gm.propTypes={costumeURL:n.a.string},gm);function Bm(e){return(Bm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fm(){return(fm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Em(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function wm(e,t){return(wm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=ym(A);return e=o?(e=ym(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Bm(t)&&"function"!=typeof t?Im(n):t}}function Im(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ym(e){return(ym=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bm(e){var t=e.currentLocale,n=e.label,e=e.onChange;return j.a.createElement("select",{"aria-label":n,className:Tm.a.languageSelect,value:t,onChange:e},Object.keys(Vi.a).filter(function(e){return!km.includes(e)}).map(function(e){return j.a.createElement("option",{key:e,value:e},Vi.a[e].name)}))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&wm(t,e);var n,A=Cm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Im(e),["getCostumeData"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"getCostumeData",value:function(){return this.props.asset?Fn(this.props.asset):null}},{key:"render",value:function(){var e=X()(this.props,["asset","vm"]);return j.a.createElement(mm,fm({costumeURL:this.getCostumeData()},e))}}])&&Em(t.prototype,e),n&&Em(t,n),o}(j.a.Component),Mm=(g.propTypes={asset:n.a.instanceOf(Ie.a.Asset),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){var t,n=e.scratchGui.targets,A=n.editingTarget;return A&&(n.stage.id===A?t=n.stage.costume.asset:n.sprites.hasOwnProperty(A)&&(t=n.sprites[A].costume.asset)),{vm:e.scratchGui.vm,asset:t}})(u("asset",500)(g))),Qm=e(101),a=e(793),Tm=e.n(a),Sm=["el","en","bg","ja","zh-cn","zh-tw","de","nl","cs","ru","es","fr"],km=Object.keys(Vi.a).filter(function(e){return!Sm.includes(e)}),Dm=(bm.propTypes={currentLocale:n.a.string,label:n.a.string,onChange:n.a.func},bm);function Nm(e){return(Nm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Om=["onChangeLanguage","messagesByLocale","children"];function Fm(){return(Fm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Rm(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Ym(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function xm(e,t){return(xm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _m(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Gm(A);return e=o?(e=Gm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Nm(t)&&"function"!=typeof t?Um(n):t}}function Um(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gm(e){return(Gm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xm(t,e);var n,A=_m(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(Um(t),["handleChange"]),document.documentElement.lang=e.currentLocale,t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleChange",value:function(e){e=e.target.value;this.props.messagesByLocale[e]&&(this.props.onChangeLanguage(e),document.documentElement.lang=e)}},{key:"render",value:function(){var e=this.props,t=(e.onChangeLanguage,e.messagesByLocale,e.children),e=Rm(e,Om);return j.a.createElement(Dm,Fm({onChange:this.handleChange},e),t)}}])&&Ym(t.prototype,e),n&&Ym(t,n),o}(j.a.Component),Lm=(t.propTypes={children:n.a.node,currentLocale:n.a.string.isRequired,messagesByLocale:n.a.object,onChangeLanguage:n.a.func.isRequired},Object(A.b)(function(e){return{currentLocale:e.locales.locale,messagesByLocale:e.locales.messagesByLocale}},function(t){return{onChangeLanguage:function(e){t(Object(Qm.d)(e)),t(Object(ue.e)())}}})(t)),d=e(794),Pm=e.n(d),u=e(156),Hm=e.n(u),g=(e(90),e(140));Object(z.d)({mode:{id:"gui.menuBar.modeMenu",defaultMessage:"Mode"},normal:{id:"gui.menuBar.normalMode",defaultMessage:"Normal mode"},cat:{id:"gui.menuBar.caturdayMode",defaultMessage:"Caturday mode"},"90s":{id:"gui.menuBar.1990sMode",defaultMessage:"90s mode"},old:{id:"gui.menuBar.oldTimeyMode",defaultMessage:"Old timey mode"},prehistoric:{id:"gui.menuBar.prehistoricMode",defaultMessage:"Prehistoric mode"}}),Qm.a,g.default,Qo.ScratchPaintReducer;function jm(e){return(jm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var zm=["projectChanged"];function Jm(){return(Jm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function Wm(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Vm(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Km(e,t){return(Km=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xm(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Zm(A);return e=o?(e=Zm(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==jm(t)&&"function"!=typeof t?qm(n):t}}function qm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Zm(e){return(Zm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $m(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Km(t,e);var n,A=Xm(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(qm(e),["confirmReadyToReplaceProject","shouldSaveBeforeTransition"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"confirmReadyToReplaceProject",value:function(e){var t=!0;return t=this.props.projectChanged&&!this.props.canCreateNew?this.props.confirmWithMessage(e):t}},{key:"shouldSaveBeforeTransition",value:function(){return this.props.canSave&&this.props.projectChanged}},{key:"render",value:function(){var e=this.props,e=(e.projectChanged,Wm(e,zm));return j.a.createElement(a,Jm({confirmReadyToReplaceProject:this.confirmReadyToReplaceProject,shouldSaveBeforeTransition:this.shouldSaveBeforeTransition},e))}}])&&Vm(t.prototype,e),n&&Vm(t,n),o}(j.a.PureComponent);return e.propTypes={canCreateNew:n.a.bool,canSave:n.a.bool,confirmWithMessage:n.a.func,projectChanged:n.a.bool},e.defaultProps={confirmWithMessage:function(e){return confirm(e)}},Object(A.b)(function(e){return{projectChanged:e.scratchGui.projectChanged}},function(){return{}},function(e,t,n){return Object.assign({},e,t,n)})(e)}function e2(e){return(e2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function n2(e,t){return(n2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function A2(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=a2(A);return e=o?(e=a2(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==e2(t)&&"function"!=typeof t?o2(n):t}}function o2(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a2(e){return(a2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var i2=Object(z.d)({language:{id:"gui.menuBar.LanguageSelector",defaultMessage:"language selector"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n2(t,e);var n,A=A2(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(o2(e),["handleLanguageMouseUp"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleLanguageMouseUp",value:function(e){this.props.languageMenuOpen||this.props.onClickLanguage(e)}},{key:"render",value:function(){return j.a.createElement(W.a,{className:J()(this.props.className,Hm.a.menuBar)},j.a.createElement("div",{className:Hm.a.mainMenu},j.a.createElement("div",{className:Hm.a.fileGroup},this.props.canChangeLanguage&&j.a.createElement("div",{className:J()(Hm.a.menuBarItem,Hm.a.hoverable,Hm.a.languageMenu)},j.a.createElement("div",null,j.a.createElement("img",{className:Hm.a.languageIcon,src:Pm.a})),j.a.createElement(Lm,{label:this.props.intl.formatMessage(i2.language)})))))}}])&&t2(t.prototype,e),n&&t2(t,n),o}(j.a.Component),r2=(Lm.propTypes={accountMenuOpen:n.a.bool,authorId:n.a.oneOfType([n.a.string,n.a.bool]),authorThumbnailUrl:n.a.string,authorUsername:n.a.oneOfType([n.a.string,n.a.bool]),autoUpdateProject:n.a.func,canChangeLanguage:n.a.bool,canCreateCopy:n.a.bool,canCreateNew:n.a.bool,canEditTitle:n.a.bool,canManageFiles:n.a.bool,canRemix:n.a.bool,canSave:n.a.bool,canShare:n.a.bool,className:n.a.string,confirmReadyToReplaceProject:n.a.func,editMenuOpen:n.a.bool,enableCommunity:n.a.bool,fileMenuOpen:n.a.bool,intl:z.f,isRtl:n.a.bool,isShared:n.a.bool,isShowingProject:n.a.bool,isUpdating:n.a.bool,languageMenuOpen:n.a.bool,loginMenuOpen:n.a.bool,logo:n.a.string,onClickAccount:n.a.func,onClickEdit:n.a.func,onClickFile:n.a.func,onClickLanguage:n.a.func,onClickLogin:n.a.func,onClickLogo:n.a.func,onClickNew:n.a.func,onClickRemix:n.a.func,onClickSave:n.a.func,onClickSaveAsCopy:n.a.func,onLogOut:n.a.func,onOpenRegistration:n.a.func,onOpenTipLibrary:n.a.func,onProjectTelemetryEvent:n.a.func,onRequestCloseAccount:n.a.func,onRequestCloseEdit:n.a.func,onRequestCloseFile:n.a.func,onRequestCloseLanguage:n.a.func,onRequestCloseLogin:n.a.func,onSeeCommunity:n.a.func,onShare:n.a.func,onToggleLoginOpen:n.a.func,projectTitle:n.a.string,renderLogin:n.a.func,sessionExists:n.a.bool,shouldSaveBeforeTransition:n.a.func,showComingSoon:n.a.bool,userOwnsProject:n.a.bool,username:n.a.string},Object(N.d)(z.e,$m,Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=e.session&&e.session.session&&e.session.session.user;return{accountMenuOpen:Object(ue.a)(e),fileMenuOpen:Object(ue.i)(e),editMenuOpen:Object(ue.h)(e),isRtl:e.locales.isRtl,isUpdating:Object(r.v)(n),isShowingProject:Object(r.s)(n),languageMenuOpen:Object(ue.j)(e),locale:e.locales.locale,loginMenuOpen:Object(ue.k)(e),projectTitle:e.scratchGui.projectTitle,sessionExists:e.session&&void 0!==e.session.session,username:A?A.username:null,userOwnsProject:t.authorUsername&&A&&t.authorUsername===A.username,vm:e.scratchGui.vm}},function(t){return{autoUpdateProject:function(){return t(Object(r.b)())},onOpenTipLibrary:function(){return t(Object(R.u)())},onClickAccount:function(){return t(Object(ue.m)())},onRequestCloseAccount:function(){return t(Object(ue.b)())},onClickFile:function(){return t(Object(ue.o)())},onRequestCloseFile:function(){return t(Object(ue.d)())},onClickEdit:function(){return t(Object(ue.n)())},onRequestCloseEdit:function(){return t(Object(ue.c)())},onClickLanguage:function(){return t(Object(ue.p)())},onRequestCloseLanguage:function(){return t(Object(ue.e)())},onClickLogin:function(){return t(Object(ue.q)())},onRequestCloseLogin:function(){return t(Object(ue.f)())},onClickNew:function(e){return t(Object(r.C)(e))},onClickRemix:function(){return t(Object(r.B)())},onClickSave:function(){return t(Object(r.w)())},onClickSaveAsCopy:function(){return t(Object(r.E)())},onSeeCommunity:function(){return t(Object(zd.d)(!0))}}}))(a)),t=e(114),s2=e.n(t),l2=["intl"];function u2(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function c2(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?u2(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):u2(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function g2(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function d2(e){var t=e.intl,e=g2(e,l2);return j.a.createElement(F.a,{isOpen:!0,className:s2.a.modalContent,contentLabel:t.formatMessage(c2({},h2.label)),overlayClassName:s2.a.modalOverlay,onRequestClose:e.onBack},j.a.createElement("div",{dir:e.isRtl?"rtl":"ltr"},j.a.createElement(W.a,{className:s2.a.illustration}),j.a.createElement(W.a,{className:s2.a.body},j.a.createElement("h2",null,j.a.createElement(z.a,h2.label)),j.a.createElement("p",null,j.a.createElement(z.a,{defaultMessage:"Unfortunately it looks like your browser or computer {webGlLink}. This technology is needed for Scratch 3.0 to run.",id:"gui.webglModal.description",values:{webGlLink:j.a.createElement("a",{className:s2.a.faqLink,href:"https://get.webgl.org/"},j.a.createElement(z.a,{defaultMessage:"does not support WebGL",id:"gui.webglModal.webgllink"}))}})),j.a.createElement(W.a,{className:s2.a.buttonRow},j.a.createElement("button",{className:s2.a.backButton,onClick:e.onBack},j.a.createElement(z.a,{defaultMessage:"Back",id:"gui.webglModal.back"}))),j.a.createElement("div",{className:s2.a.faqLinkText},j.a.createElement(z.a,{defaultMessage:"To learn more, go to the {previewFaqLink}.",id:"gui.webglModal.previewfaq",values:{previewFaqLink:j.a.createElement("a",{className:s2.a.faqLink,href:"//scratch.mit.edu/3faq"},j.a.createElement(z.a,{defaultMessage:"FAQ",id:"gui.webglModal.previewfaqlinktext"}))}})))))}var h2=Object(z.d)({label:{id:"gui.webglModal.label",defaultMessage:"Your Browser Does Not Support WebGL"}}),p2=(d2.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,onBack:n.a.func.isRequired},Object(z.e)(d2));function m2(e){return(m2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function f2(e,t){return(f2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E2(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=w2(n),t=(e=A?(e=w2(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==m2(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function w2(e){return(w2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C2(){return y2}function I2(){return!C2()}var y2,d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f2(t,e);var n,A=E2(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleCancel",value:function(){window.history.back()}},{key:"render",value:function(){return j.a.createElement(p2,{isRtl:this.props.isRtl,onBack:this.handleCancel})}}])&&B2(t.prototype,e),n&&B2(t,n),o}(j.a.Component),b2=(d.propTypes={isRtl:n.a.bool},d),M2=[{tag:"animation",intlLabel:i.animation},{tag:"art",intlLabel:i.art},{tag:"music",intlLabel:i.music},{tag:"games",intlLabel:i.games},{tag:"stories",intlLabel:i.stories}];function Q2(e){return(Q2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function S2(e,t){return(S2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k2(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=v2(A);return e=o?(e=v2(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Q2(t)&&"function"!=typeof t?D2(n):t}}function D2(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v2(e){return(v2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N2(t){z2.hasOwnProperty(t)&&z2[t]().then(function(e){H2=e,j2=t})}var O2=Object(z.d)({tipsLibraryTitle:{id:"gui.tipsLibrary.tutorials",defaultMessage:"Choose a Tutorial"}}),u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&S2(t,e);var n,A=k2(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(D2(e),["handleItemSelect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleItemSelect",value:function(e){var t;if(at.a.event({category:"library",action:"Select How-to",label:e.id}),e.requiredProjectId&&e.requiredProjectId!==this.props.projectId)return t="/projects/".concat(e.requiredProjectId,"/editor?tutorial=").concat(e.urlId),window.open(window.location.origin+t,"_blank");this.props.onActivateDeck(e.id)}},{key:"render",value:function(){var e=Object.keys(ot.a).filter(function(e){return!!I2()||!(e=ot.a[e]).hasOwnProperty("requiredProjectId")&&0!==e.steps.filter(function(e){return e.title}).length}).map(function(e){return{rawURL:ot.a[e].img,id:e,name:ot.a[e].name,featured:!0,tags:ot.a[e].tags,urlId:ot.a[e].urlId,requiredProjectId:ot.a[e].requiredProjectId,hidden:ot.a[e].hidden||!1}});return this.props.visible?j.a.createElement(ca.a,{filterable:!0,data:e,id:"tipsLibrary",tags:M2,title:this.props.intl.formatMessage(O2.tipsLibraryTitle),visible:this.props.visible,onItemSelected:this.handleItemSelect,onRequestClose:this.props.onRequestClose}):null}}])&&T2(t.prototype,e),n&&T2(t,n),o}(j.a.PureComponent),F2=(u.propTypes={intl:z.f.isRequired,onActivateDeck:n.a.func.isRequired,onRequestClose:n.a.func,projectId:n.a.oneOfType([n.a.string,n.a.number]),visible:n.a.bool},Object(z.e)(Object(A.b)(function(e){return{visible:e.scratchGui.modals.tipsLibrary,projectId:e.scratchGui.projectState.projectId}},function(t){return{onActivateDeck:function(e){return t(Object(rt.a)(e))},onRequestClose:function(){return t(Object(R.j)())}}})(u))),g=e(191),R2=e.n(g),a=e(25),C=e.n(a),t=e(795),Y2=e.n(t),d=e(796),x2=e.n(d),i=e(402),_2=e.n(i),u=e(403),U2=e.n(u),g=e(797),G2=e.n(g),L2={"intro-move-sayhello":{en:"rpjvs3v9gj",it:"2im6c1f9kn",pt:"ngdfp8xg4x","pt-br":"ngdfp8xg4x",ja:"v2c2f3y2sc","ja-Hira":"v2c2f3y2sc",es:"htk2m9o65l","es-419":"htk2m9o65l",sw:"fd4bn2nli5",fr:"dt015ouls8",am:"e06wlsebqy",zu:"st2x0emdx7",uk:"1ith4m4f8u",ar:"s53zuo93o7",ca:"4tb26s73x7","zh-cn":"9i01bspmyx","zh-tw":"hr374tlx9t",da:"z9bns5dgiy",nl:"9wleha9s1e",de:"9lljmutx8m",ht:"7pyjz25tvf",he:"5rusa2qb6q",id:"zpzl7nqcyf",km:"zhq0596ewo",ko:"9u7cr4pwsc",ku:"jzwwqih2im",fa:"c15wlv18tt",pl:"ijhn36nicy",ru:"437odiewml",th:"zy7suscqn2",tr:"p3g8ek3cuh",vi:"fetjky76s4"},"intro-getting-started-ASL":{en:"i2g46ikddf"},"animate-a-name":{en:"pyur30ho05",ar:"bz5vgtroxs",fr:"lwb0ro4oly",it:"c8zcrk6w09",pt:"t49tfrukyf","pt-br":"t49tfrukyf",ja:"xrmgno02th","ja-Hira":"xrmgno02th"},"Make-Music":{en:"ir0j8ljsgm",ar:"gqlmfqx1g4",fr:"t4dw6fn2an",it:"8nm1v1m9zx",pt:"9v4zl8504z","pt-br":"9v4zl8504z",ja:"iybhyobckr","ja-Hira":"iybhyobckr"},"Make-A-Game":{en:"5rp47ys13g",ar:"dx5pqpaqsy",fr:"pntfdyyqqk",it:"vrs1e38944",pt:"rjst5ng61s","pt-br":"rjst5ng61s",ja:"h4q2ea3ojw","ja-Hira":"h4q2ea3ojw"},"Chase-Game":{en:"kusyx9thl5",ar:"qapon34gsw",fr:"0nszrbo4dt",it:"899b2jmjlu",pt:"rw6kr9e37n","pt-br":"rw6kr9e37n",ja:"wr6ysk8s6d","ja-Hira":"wr6ysk8s6d"},"add-a-backdrop":{en:"nict6zdzlx",ar:"ompj13t33k",fr:"nwyngs74xw",it:"vrrfpm5grh",pt:"wq7sm038pq","pt-br":"wq7sm038pq",ja:"j382ohngg7","ja-Hira":"j382ohngg7"},"change-size":{en:"p8va85hh61",ar:"acceih3x6k",fr:"rrowyylh2i",it:"1xb1jztsvr",pt:"1ad1ip3ly7","pt-br":"1ad1ip3ly7",ja:"uzkfi9uai0","ja-Hira":"uzkfi9uai0"},"glide-around":{en:"sh9j978rg8",ar:"8c4b4jb2se",fr:"f73cjf5zzf",it:"nvdhpgiebe",ja:"jsat4vhu48","ja-Hira":"jsat4vhu48"},"record-a-sound":{en:"ulzl1fbzny",ar:"vx60cuwzo9",fr:"ep92lqlp7p",it:"ncr9lqk7bt",pt:"aavagpvh5w","pt-br":"aavagpvh5w",ja:"5zmy6u614k","ja-Hira":"5zmy6u614k"},"spin-video":{en:"07fed5hhpv",ar:"5hl1dq3byk",fr:"cqzi6cr872",it:"obmrphhobt",pt:"jxqksu6zcw","pt-br":"jxqksu6zcw",ja:"hjhc0a8r7j","ja-Hira":"hjhc0a8r7j"},"hide-and-show":{en:"g479ahobo9",ar:"r25otzahzi",fr:"o1h6llwd0e",it:"v0vbx3l5uk",pt:"ibtmwb58y8","pt-br":"ibtmwb58y8",ja:"ruynguvag5","ja-Hira":"ruynguvag5"},"switch-costume":{en:"1ocp6a1ejn",ar:"2tz31cmeaq",fr:"2s9sagktio",it:"nty4xjtqcj",pt:"pnlmmv2hs7","pt-br":"pnlmmv2hs7",ja:"g3vluv0ms8","ja-Hira":"g3vluv0ms8"},"move-around-with-arrow-keys":{en:"yetrmk4iuu",ar:"270xh1zb1s",fr:"69tc5nvykx",it:"jse0g0uddw",pt:"erv6eff78p","pt-br":"erv6eff78p",ja:"fk34dcg5oz","ja-Hira":"fk34dcg5oz"},"add-effects":{en:"3jvl8zgjo2",ar:"fp4y3aumie",fr:"nyutlj812e",it:"q3cjjyfju9",pt:"dz6jzpf7hm","pt-br":"dz6jzpf7hm",ja:"q7zq9vu0wb","ja-Hira":"q7zq9vu0wb"},"make-it-fly":{en:"zbtdx2dem9"},"pong-game":{en:"8m48dv0ens"},imagine:{en:"1ndh08yiso"},"code-cartoon":{en:"fpfuky3x6g"},talking:{en:"j0208mq4qi"}},a="https://roboticalpublic.s3.eu-west-1.amazonaws.com/martyblocks-tutorials/",P2={mmCreateModel:a+"create-model.png",mmCreateImageModel:a+"create-image-model.png",mmCreateAudioModel:a+"create-audio-model.png",mmLoadTMModel:a+"load-tm-model.png",mmChangeModelName:a+"change-model-name.png",mmCollectDataForClass:a+"collect-data-for-class.png",mmTrainModel:a+"train-model.png",mmRunModel:a+"run-model.png",mmSaveModel:a+"save-model.png",mmAIBlocks:a+"mmAIBlocks.png",mmBlocksLoadImageModel:a+"mmBlocksLoadImageModel.png",mmBlocksLoadAudioModel:a+"mmBlocksLoadAudioModel.png",mmBlocksClassificationOn:a+"mmBlocksClassificationOn.png",mmBlocksClassifyImage:a+"mmBlocksClassifyImage.png",mmBlocksClassifyAudio:a+"mmBlocksClassifyAudio.png"},H2={},j2="",z2={};function J2(e){return(J2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var W2=["activeDeckId","content","dragging","isRtl","locale","onActivateDeckFactory","onCloseCards","onShrinkExpandCards","onDrag","onStartDrag","onEndDrag","onShowAll","onNextStep","onPrevStep","showVideos","step","expanded"];function V2(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function K2(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function X2(e,t){return(X2=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q2(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Z2(n),t=(e=A?(e=Z2(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==J2(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Z2(e){return(Z2=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $2(e){var t=e.onCloseCards,n=e.onShrinkExpandCards,A=e.onShowAll,o=e.totalSteps,a=e.step,e=e.expanded;return j.a.createElement("div",{className:e?C.a.headerButtons:J()(C.a.headerButtons,C.a.headerButtonsHidden)},j.a.createElement("div",{className:C.a.allButton,onClick:A},j.a.createElement("img",{className:C.a.helpIcon,src:Ku.a}),j.a.createElement(z.a,{defaultMessage:"Tutorials",id:"gui.cards.all-tutorials"})),1<o?j.a.createElement("div",{className:C.a.stepsList},Array(o).fill(0).map(function(e,t){return j.a.createElement("div",{className:t===a?C.a.activeStepPip:C.a.inactiveStepPip,key:"pip-step-".concat(t)})})):null,j.a.createElement("div",{className:C.a.headerButtonsRight},j.a.createElement("div",{className:C.a.shrinkExpandButton,onClick:n},j.a.createElement("img",{draggable:!1,src:(e?Y2:x2).a}),e?j.a.createElement(z.a,{defaultMessage:"Shrink",id:"gui.cards.shrink"}):j.a.createElement(z.a,{defaultMessage:"Expand",id:"gui.cards.expand"})),j.a.createElement("div",{className:C.a.removeButton,onClick:t},j.a.createElement("img",{className:C.a.closeIcon,src:G2.a}),j.a.createElement(z.a,{defaultMessage:"Close",id:"gui.cards.close"}))))}function eB(e){var t=e.title,e=e.image;return j.a.createElement(M.Fragment,null,j.a.createElement("div",{className:C.a.stepTitle},t),j.a.createElement("div",{className:C.a.stepImageContainer},j.a.createElement("img",{className:C.a.stepImage,draggable:!1,key:e,src:e})))}function tB(e){var t=e.isRtl,n=e.onNextStep,A=e.onPrevStep,e=e.expanded;return j.a.createElement(M.Fragment,null,n?j.a.createElement("div",null,j.a.createElement("div",{className:e?t?C.a.leftCard:C.a.rightCard:C.a.hidden}),j.a.createElement("div",{className:e?t?C.a.leftButton:C.a.rightButton:C.a.hidden,onClick:n},j.a.createElement("img",{draggable:!1,src:(t?U2:_2).a}))):null,A?j.a.createElement("div",null,j.a.createElement("div",{className:e?t?C.a.rightCard:C.a.leftCard:C.a.hidden}),j.a.createElement("div",{className:e?t?C.a.rightButton:C.a.leftButton:C.a.hidden,onClick:A},j.a.createElement("img",{draggable:!1,src:(t?_2:U2).a}))):null)}function nB(e){var t=e.deckIds,n=e.content,A=e.onActivateDeckFactory,e=e.onShowAll;return j.a.createElement(M.Fragment,null,j.a.createElement("div",{className:C.a.stepTitle},j.a.createElement(z.a,{defaultMessage:"More things to try!",id:"gui.cards.more-things-to-try"})),j.a.createElement("div",{className:C.a.decks},t.slice(0,2).map(function(e){return j.a.createElement("div",{className:C.a.deck,key:"deck-preview-".concat(e),onClick:A(e)},j.a.createElement("img",{className:C.a.deckImage,draggable:!1,src:n[e].img}),j.a.createElement("div",{className:C.a.deckName},n[e].name))})),j.a.createElement("div",{className:C.a.seeAll},j.a.createElement("div",{className:C.a.seeAllButton,onClick:e},j.a.createElement(z.a,{defaultMessage:"See more",id:"gui.cards.see-more"}))))}function AB(e){var t,n,A=e.activeDeckId,o=e.content,a=e.dragging,i=e.isRtl,r=e.locale,s=e.onActivateDeckFactory,l=e.onCloseCards,u=e.onShrinkExpandCards,c=e.onDrag,g=e.onStartDrag,d=e.onEndDrag,h=e.onShowAll,p=e.onNextStep,m=e.onPrevStep,B=e.showVideos,f=e.step,E=e.expanded,w=(e=V2(e,W2)).x,e=e.y;if(null!==A)return n=E?257:0,0===w&&0===e&&(w=i?-1090:292,w+=400,e=window.innerHeight-320-60-48),t=o[A].steps,j.a.createElement("div",{className:C.a.cardContainerOverlay,style:{width:"".concat(window.innerWidth+800,"px"),height:"".concat(window.innerHeight-48+n,"px"),top:"".concat(48,"px"),left:"".concat(-400,"px")}},j.a.createElement(R2.a,{bounds:"parent",cancel:"#video-div",position:{x:w,y:e},onDrag:c,onStart:g,onStop:d},j.a.createElement("div",{className:C.a.cardContainer},j.a.createElement("div",{className:C.a.card},j.a.createElement($2,{expanded:E,step:f,totalSteps:t.length,onCloseCards:l,onShowAll:h,onShrinkExpandCards:u}),j.a.createElement("div",{className:E?C.a.stepBody:C.a.hidden},t[f].externalUrl&&j.a.createElement("div",{className:C.a.externalUrl},j.a.createElement("a",{href:t[f].externalUrl.url,rel:"noopener noreferrer",target:"_blank"},t[f].externalUrl.label)),t[f].deckIds?j.a.createElement(nB,{content:o,deckIds:t[f].deckIds,onActivateDeckFactory:s,onShowAll:h}):t[f].video?B?j.a.createElement(oB,{dragging:a,expanded:E,video:(n=t[f].video,w=r,L2.hasOwnProperty(n)?L2[n].hasOwnProperty(w)?L2[n][w]:L2[n].en:n)}):j.a.createElement(eB,{image:o[A].img,title:o[A].name}):j.a.createElement(eB,{image:(e=t[f].image,(r===j2&&H2.hasOwnProperty(e)?H2:P2)[e]),title:t[f].title}),t[f].trackingPixel&&t[f].trackingPixel),j.a.createElement(tB,{expanded:E,isRtl:i,onNextStep:f<t.length-1?p:null,onPrevStep:0<f?m:null})))))}var oB=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&X2(t,e);var n,A=q2(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e=document.createElement("script"),e=(e.src="https://fast.wistia.com/embed/medias/".concat(this.props.video,".jsonp"),e.async=!0,e.setAttribute("id","wistia-video-content"),document.body.appendChild(e),document.createElement("script"));e.src="https://fast.wistia.com/assets/external/E-v1.js",e.async=!0,e.setAttribute("id","wistia-video-api"),document.body.appendChild(e)}},{key:"componentDidUpdate",value:function(e){var t;window.Wistia&&window.Wistia.api&&(t=window.Wistia.api(e.video),e.video!==this.props.video&&t.replaceWith(this.props.video),this.props.expanded||t.pause())}},{key:"componentWillUnmount",value:function(){var e=document.getElementById("wistia-video-content"),e=(e.parentNode.removeChild(e),document.getElementById("wistia-video-api"));e.parentNode.removeChild(e)}},{key:"render",value:function(){return j.a.createElement("div",{className:C.a.stepVideo},j.a.createElement("div",{className:"wistia_embed wistia_async_".concat(this.props.video),id:"video-div",style:{height:"257px",width:"466px"}}," "))}}])&&K2(t.prototype,e),n&&K2(t,n),o}(j.a.Component);oB.propTypes={expanded:n.a.bool.isRequired,video:n.a.string.isRequired},eB.propTypes={image:n.a.string.isRequired,title:n.a.node.isRequired},tB.propTypes={expanded:n.a.bool.isRequired,isRtl:n.a.bool,onNextStep:n.a.func,onPrevStep:n.a.func},$2.propTypes={expanded:n.a.bool.isRequired,onCloseCards:n.a.func.isRequired,onShowAll:n.a.func.isRequired,onShrinkExpandCards:n.a.func.isRequired,step:n.a.number,totalSteps:n.a.number},nB.propTypes={content:n.a.shape({id:n.a.shape({name:n.a.node.isRequired,img:n.a.string.isRequired,steps:n.a.arrayOf(n.a.shape({title:n.a.node,image:n.a.string,video:n.a.string,deckIds:n.a.arrayOf(n.a.string)}))})}).isRequired,deckIds:n.a.arrayOf(n.a.string).isRequired,onActivateDeckFactory:n.a.func.isRequired,onShowAll:n.a.func.isRequired};function aB(e){return(aB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rB(e,t){return(rB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sB(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=lB(n),t=(e=A?(e=lB(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==aB(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function lB(e){return(lB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}AB.propTypes={activeDeckId:n.a.string.isRequired,content:n.a.shape({id:n.a.shape({name:n.a.node.isRequired,img:n.a.string.isRequired,steps:n.a.arrayOf(n.a.shape({title:n.a.node,image:n.a.string,video:n.a.string,deckIds:n.a.arrayOf(n.a.string)}))})}),dragging:n.a.bool.isRequired,expanded:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,locale:n.a.string.isRequired,onActivateDeckFactory:n.a.func.isRequired,onCloseCards:n.a.func.isRequired,onDrag:n.a.func,onEndDrag:n.a.func,onNextStep:n.a.func.isRequired,onPrevStep:n.a.func.isRequired,onShowAll:n.a.func,onShrinkExpandCards:n.a.func.isRequired,onStartDrag:n.a.func,showVideos:n.a.bool,step:n.a.number.isRequired,x:n.a.number,y:n.a.number},AB.defaultProps={showVideos:!0};var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rB(t,e);var n,A=sB(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){"en"!==this.props.locale&&N2(this.props.locale)}},{key:"componentDidUpdate",value:function(e){this.props.locale!==e.locale&&N2(this.props.locale)}},{key:"render",value:function(){return j.a.createElement(AB,this.props)}}])&&iB(t.prototype,e),n&&iB(t,n),o}(j.a.Component),uB=(t.propTypes={locale:n.a.string.isRequired},Object(A.b)(function(e){return{visible:e.scratchGui.cards.visible,content:e.scratchGui.cards.content,activeDeckId:e.scratchGui.cards.activeDeckId,step:e.scratchGui.cards.step,expanded:e.scratchGui.cards.expanded,x:e.scratchGui.cards.x,y:e.scratchGui.cards.y,isRtl:e.locales.isRtl,locale:e.locales.locale,dragging:e.scratchGui.cards.dragging,showVideos:I2()}},function(n){return{onActivateDeckFactory:function(e){return function(){return n(Object(rt.a)(e))}},onShowAll:function(){n(Object(R.u)()),n(Object(rt.c)())},onCloseCards:function(){return n(Object(rt.c)())},onShrinkExpandCards:function(){return n(Object(rt.i)())},onNextStep:function(){return n(Object(rt.g)())},onPrevStep:function(){return n(Object(rt.h)())},onDrag:function(e,t){return n(Object(rt.e)(t.x,t.y))},onStartDrag:function(){return n(Object(rt.j)())},onEndDrag:function(){return n(Object(rt.f)())}}})(t)),d=e(72),cB=e.n(d),i=e(798),gB=e.n(i),u=e(799),dB=e.n(u),g=e(298),hB=e.n(g),a=e(800),pB=e.n(a),mB=["content","dragging","isRtl","onCloseDraggableModal","onShrinkExpandDraggableModal","onDrag","onStartDrag","onEndDrag","expanded"];function BB(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function fB(e){var t=e.onCloseDraggableModal,n=e.onShrinkExpandDraggableModal,A=e.expanded,o=e.title,e=e.onHelp;return j.a.createElement("div",{className:A?cB.a.headerButtons:J()(cB.a.headerButtons,cB.a.headerButtonsHidden),id:"draggable-modal-header"},j.a.createElement("div",{className:cB.a.allButton,onClick:e},j.a.createElement("img",{className:cB.a.helpIcon,src:hB.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.draggable-modal.help"})),j.a.createElement("div",{className:cB.a.headerTitle},o),j.a.createElement("div",{className:cB.a.headerButtonsRight},j.a.createElement("div",{className:cB.a.shrinkExpandButton,onClick:n},j.a.createElement("img",{draggable:!1,src:(A?gB:dB).a}),A?j.a.createElement(z.a,{defaultMessage:"Shrink",id:"gui.cards.shrink"}):j.a.createElement(z.a,{defaultMessage:"Expand",id:"gui.cards.expand"})),j.a.createElement("div",{className:cB.a.removeButton,onClick:t},j.a.createElement("img",{className:cB.a.closeIcon,src:pB.a}),j.a.createElement(z.a,{defaultMessage:"Close",id:"gui.cards.close"}))))}function EB(e){e.content,e.dragging;var t=e.isRtl,n=e.onCloseDraggableModal,A=e.onShrinkExpandDraggableModal,o=e.onDrag,a=e.onStartDrag,i=e.onEndDrag,r=e.expanded,s=(l=BB(e,mB)).x,l=l.y,u=r?257:0;return 0===s&&0===l&&(s=t?-1090:292,s+=400,l=window.innerHeight-500-60-48),j.a.createElement("div",{className:cB.a.cardContainerOverlay,style:{width:"".concat(window.innerWidth+800,"px"),height:"".concat(window.innerHeight-48+u,"px"),top:"".concat(48,"px"),left:"".concat(-400,"px")}},j.a.createElement(R2.a,{bounds:"parent",cancel:"#video-div",handle:"#draggable-modal-header",position:{x:s,y:l},onDrag:o,onStart:a,onStop:i},j.a.createElement("div",{className:cB.a.cardContainer},j.a.createElement("div",{className:cB.a.card},j.a.createElement(fB,{expanded:r,onCloseDraggableModal:n,onShrinkExpandDraggableModal:A,onHelp:e.onHelp,title:e.title}),j.a.createElement("div",{className:r?cB.a.stepBody:cB.a.hidden},e.content)))))}fB.propTypes={expanded:n.a.bool.isRequired,onCloseDraggableModal:n.a.func.isRequired,onShrinkExpandDraggableModal:n.a.func.isRequired,title:n.a.string,onHelp:n.a.func};function wB(e){return(wB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function CB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function IB(e,t){return(IB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yB(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=bB(n),t=(e=A?(e=bB(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==wB(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function bB(e){return(bB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}EB.propTypes={content:n.a.node,title:n.a.string,onHelp:n.a.func,dragging:n.a.bool.isRequired,expanded:n.a.bool.isRequired,isRtl:n.a.bool.isRequired,onCloseDraggableModal:n.a.func.isRequired,onDrag:n.a.func,onEndDrag:n.a.func,onShrinkExpandDraggableModal:n.a.func.isRequired,onStartDrag:n.a.func,x:n.a.number,y:n.a.number};var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&IB(t,e);var n,A=yB(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){}},{key:"render",value:function(){return j.a.createElement(EB,this.props)}}])&&CB(t.prototype,e),n&&CB(t,n),o}(j.a.Component),MB=(t.propTypes={locale:n.a.string.isRequired},Object(A.b)(function(e){return{visible:e.scratchGui.draggableModal.visible,content:e.scratchGui.draggableModal.content,title:e.scratchGui.draggableModal.title,onHelp:e.scratchGui.draggableModal.onHelp,expanded:e.scratchGui.draggableModal.expanded,x:e.scratchGui.draggableModal.x,y:e.scratchGui.draggableModal.y,isRtl:e.locales.isRtl,locale:e.locales.locale,dragging:e.scratchGui.draggableModal.dragging}},function(n){return{onCloseDraggableModal:function(){return n(Object(Nc.b)())},onShrinkExpandDraggableModal:function(){return n(Object(Nc.g)())},onDrag:function(e,t){return n(Object(Nc.d)(t.x,t.y))},onStartDrag:function(){return n(Object(Nc.h)())},onEndDrag:function(){return n(Object(Nc.f)())}}})(t));e(1453);function QB(e){return(QB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function TB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function SB(e,t){return(SB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function kB(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=vB(A);return e=o?(e=vB(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==QB(t)&&"function"!=typeof t?DB(n):t}}function DB(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vB(e){return(vB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&SB(t,e);var n,A=kB(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(DB(e),["downloadProject"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"downloadProject",value:function(){var t=this;this.props.saveProjectSb3().then(function(e){var n;t.props.onSaveFinished&&t.props.onSaveFinished(),n=e,new Promise(function(e){var t=new FileReader;t.readAsDataURL(n),t.onloadend=function(){e(t.result)}}).then(function(e){mv2Interface.savedProjectStates[slot.toString()]=e,mv2Interface.send_REST("save".concat(JSON.stringify(mv2Interface.savedProjectStates)))}),alert("Project Saved.")})}},{key:"render",value:function(){return(0,this.props.children)(this.props.className,this.downloadProject)}}])&&TB(t.prototype,e),n&&TB(t,n),o}(j.a.Component),NB=(d.propTypes={children:n.a.func,className:n.a.string,onSaveFinished:n.a.func,projectFilename:n.a.string,saveProjectSb3:n.a.func},d.defaultProps={className:""},Object(A.b)(function(e){return{saveProjectSb3:e.scratchGui.vm.saveProjectSb3.bind(e.scratchGui.vm),projectFilename:(e=e.scratchGui.projectTitle,t=le.b,e&&0!==e.length||(e=t),"".concat(e.substring(0,100),".sb3"))};var t},function(){return{}})(d)),OB=e(149),i=e(82),u=e(87),FB=e.n(u);function RB(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function YB(e){var t=e.content,n=e.closeButton,A=e.extensionName,o=e.iconSpinner,a=e.iconURL,i=e.level,r=e.showDownload,s=e.showSaveNow,l=e.onCloseAlert,u=e.onDownload,c=e.onSaveNow,g=e.onReconnect,e=e.showReconnect;return j.a.createElement(W.a,{className:J()(FB.a.alert,FB.a[i])},(o||a)&&j.a.createElement("div",{className:FB.a.iconSection},o&&j.a.createElement(sc.a,{className:FB.a.alertSpinner,level:i}),a&&j.a.createElement("img",{className:FB.a.alertIcon,src:a})),j.a.createElement("div",{className:FB.a.alertMessage},A?j.a.createElement(z.a,{defaultMessage:"Scratch lost connection to {extensionName}.",id:"gui.alerts.lostPeripheralConnection",values:{extensionName:"".concat(A)}}):t),j.a.createElement("div",{className:FB.a.alertButtons},s&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:c},j.a.createElement(z.a,{defaultMessage:"Try Again",id:"gui.alerts.tryAgain"})),r&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:u},j.a.createElement(z.a,{defaultMessage:"Download",id:"gui.alerts.download"})),e&&j.a.createElement("button",{className:FB.a.alertConnectionButton,onClick:g},j.a.createElement(z.a,{defaultMessage:"Reconnect",id:"gui.connection.reconnect"})),n&&j.a.createElement(W.a,{className:FB.a.alertCloseButtonContainer},j.a.createElement(OB.a,{className:J()(FB.a.alertCloseButton),color:xB[i],size:OB.a.SIZE_LARGE,onClick:l}))))}RB(g={},i.a.SUCCESS,OB.a.COLOR_GREEN),RB(g,i.a.WARN,OB.a.COLOR_ORANGE);var xB=g,_B=(YB.propTypes={closeButton:n.a.bool,content:n.a.oneOfType([n.a.element,n.a.string]),extensionName:n.a.string,iconSpinner:n.a.bool,iconURL:n.a.string,level:n.a.string,onCloseAlert:n.a.func.isRequired,onDownload:n.a.func,onReconnect:n.a.func,onSaveNow:n.a.func,showDownload:n.a.func,showReconnect:n.a.bool,showSaveNow:n.a.bool},YB.defaultProps={level:i.a.WARN},YB),UB=e(166);function GB(e){return(GB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function LB(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function PB(e,t){return(PB=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HB(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=zB(A);return e=o?(e=zB(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==GB(t)&&"function"!=typeof t?jB(n):t}}function jB(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zB(e){return(zB=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function JB(e){var t=e.alertsList,n=e.className,A=e.onCloseAlert;return j.a.createElement(W.a,{bounds:"parent",className:n},j.a.createElement(W.a,{className:XB.a.alertsInnerContainer},t.map(function(e,t){return j.a.createElement(KB,{closeButton:e.closeButton,content:e.content,extensionId:e.extensionId,extensionName:e.extensionName,iconSpinner:e.iconSpinner,iconURL:e.iconURL,index:t,key:t,level:e.level,message:e.message,showDownload:e.showDownload,showReconnect:e.showReconnect,showSaveNow:e.showSaveNow,onCloseAlert:A})})))}function WB(e){var t=e.alertsList,n=e.className,e=e.onCloseAlert;return j.a.createElement(qB,{alertsList:Object(We.e)(t),className:n,onCloseAlert:e})}function VB(e){var t=e.dragging,n=e.img,e=e.currentOffset;return t?j.a.createElement("div",{className:$B.a.dragLayer},j.a.createElement("div",{className:$B.a.imageWrapper,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px)")}},j.a.createElement("img",{className:$B.a.image,src:n}))):null}var a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&PB(t,e);var n,A=HB(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(jB(e),["handleOnCloseAlert","handleOnReconnect"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleOnCloseAlert",value:function(){this.props.onCloseAlert(this.props.index)}},{key:"handleOnReconnect",value:function(){this.props.onOpenConnectionModal(this.props.extensionId),this.handleOnCloseAlert()}},{key:"render",value:function(){var n=this,e=this.props,A=e.closeButton,o=e.content,a=e.extensionName,i=(e.index,e.level),r=e.iconSpinner,s=e.iconURL,l=e.message,u=e.onSaveNow,c=e.showDownload,g=e.showReconnect,d=e.showSaveNow;return j.a.createElement(NB,null,function(e,t){return j.a.createElement(_B,{closeButton:A,content:o,extensionName:a,iconSpinner:r,iconURL:s,level:i,message:l,showDownload:c,showReconnect:g,showSaveNow:d,onCloseAlert:n.handleOnCloseAlert,onDownload:t,onReconnect:n.handleOnReconnect,onSaveNow:u})})}}])&&LB(t.prototype,e),n&&LB(t,n),o}(j.a.Component),KB=(a.propTypes={closeButton:n.a.bool,content:n.a.element,extensionId:n.a.string,extensionName:n.a.string,iconSpinner:n.a.bool,iconURL:n.a.string,index:n.a.number,level:n.a.string.isRequired,message:n.a.string,onCloseAlert:n.a.func.isRequired,onOpenConnectionModal:n.a.func,onSaveNow:n.a.func,showDownload:n.a.bool,showReconnect:n.a.bool,showSaveNow:n.a.bool},Object(A.b)(function(){return{}},function(t){return{onOpenConnectionModal:function(e){t(Object(UB.c)(e)),t(Object(R.n)())},onSaveNow:function(){t(Object(r.w)())}}})(a)),t=e(801),XB=e.n(t),qB=(JB.propTypes={alertsList:n.a.arrayOf(n.a.object),className:n.a.string,onCloseAlert:n.a.func},JB),ZB=(WB.propTypes={alertsList:n.a.arrayOf(n.a.object),className:n.a.string,onCloseAlert:n.a.func},Object(A.b)(function(e){return{alertsList:e.scratchGui.alerts.alertsList}},function(t){return{onCloseAlert:function(e){return t(Object(We.b)(e))}}})(WB)),d=e(328),$B=e.n(d),u=(VB.propTypes={currentOffset:n.a.shape({x:n.a.number.isRequired,y:n.a.number.isRequired}),dragging:n.a.bool.isRequired,img:n.a.string},VB),ef=Object(A.b)(function(e){return{dragging:e.scratchGui.assetDrag.dragging,currentOffset:e.scratchGui.assetDrag.currentOffset,img:e.scratchGui.assetDrag.img}})(u),g=e(42),i=e.n(g),a=e(8),w=e.n(a);function tf(e){return(tf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Af(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function of(e,t){return(of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function af(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=sf(A);return e=o?(e=sf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==tf(t)&&"function"!=typeof t?rf(n):t}}function rf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sf(e){return(sf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&of(t,e);var n,A=af(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(rf(e),["handleConnecting"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleConnecting",value:function(){this.props.onConnecting(this.props.peripheralId)}},{key:"render",value:function(){return j.a.createElement(W.a,{className:w.a.peripheralTile},j.a.createElement(W.a,{className:w.a.peripheralTileName},j.a.createElement("img",{className:w.a.peripheralTileImage,src:this.props.connectionSmallIconURL}),j.a.createElement(W.a,{className:w.a.peripheralTileNameWrapper},j.a.createElement(W.a,{className:w.a.peripheralTileNameLabel},j.a.createElement(z.a,{defaultMessage:"Device name",id:"gui.connection.peripheral-name-label"})),j.a.createElement(W.a,{className:w.a.peripheralTileNameText},this.props.name))),j.a.createElement(W.a,{className:w.a.peripheralTileWidgets},j.a.createElement(W.a,{className:w.a.signalStrengthMeter},j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-80<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-60<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-40<this.props.rssi))}),j.a.createElement("div",{className:J()(w.a.signalBar,nf({},w.a.greenBar,-20<this.props.rssi))})),j.a.createElement("button",{onClick:this.handleConnecting},j.a.createElement(z.a,{defaultMessage:"Connect",id:"gui.connection.connect"}))))}}])&&Af(t.prototype,e),n&&Af(t,n),o}(j.a.Component),lf=(t.propTypes={connectionSmallIconURL:n.a.string,name:n.a.string,onConnecting:n.a.func,peripheralId:n.a.string,rssi:n.a.number},t);function uf(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}function cf(A){var e;return j.a.createElement(W.a,{className:J()(A.className,w.a.dotsRow)},j.a.createElement("div",{className:J()(w.a.dotsHolder,(uf(e={},w.a.dotsHolderError,A.error),uf(e,w.a.dotsHolderSuccess,A.success),e))},Array(A.total).fill(0).map(function(e,t){var n="inactive";return A.counter===t&&(n="active"),A.success&&(n="success"),A.error&&(n="error"),j.a.createElement(df,{key:"dot-".concat(t),type:n})})))}function gf(t){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},t.scanning?0===t.peripheralList.length?j.a.createElement("div",{className:w.a.activityAreaInfo},j.a.createElement("div",{className:w.a.centeredRow},j.a.createElement("img",{className:J()(w.a.radarSmall,w.a.radarSpin),src:pf.a}),j.a.createElement(z.a,{defaultMessage:"Looking for devices",id:"gui.connection.scanning.lookingforperipherals"}))):j.a.createElement("div",{className:w.a.peripheralTilePane},t.peripheralList.map(function(e){return j.a.createElement(lf,{connectionSmallIconURL:t.connectionSmallIconURL,key:e.peripheralId,name:e.name,peripheralId:e.peripheralId,rssi:e.rssi,onConnecting:t.onConnecting})})):j.a.createElement(W.a,{className:w.a.instructions},j.a.createElement(z.a,{defaultMessage:"No devices found",id:"gui.connection.scanning.noPeripheralsFound"}))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Select your device in the list above.",id:"gui.connection.scanning.instructions"})),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:0,total:3}),j.a.createElement("button",{className:J()(w.a.bottomAreaItem,w.a.connectionButton),onClick:t.onRefresh},j.a.createElement(z.a,{defaultMessage:"Refresh",id:"gui.connection.search"}),j.a.createElement("img",{className:w.a.buttonIconRight,src:mf.a}))))}cf.propTypes={className:n.a.string,counter:n.a.number,error:n.a.bool,success:n.a.bool,total:n.a.number};var df=function(e){var t;return j.a.createElement("div",{className:J()(w.a.dot,(uf(t={},w.a.inactiveStepDot,"inactive"===e.type),uf(t,w.a.activeStepDot,"active"===e.type),uf(t,w.a.successDot,"success"===e.type),uf(t,w.a.errorDot,"error"===e.type),t))})},hf=(df.propTypes={type:n.a.string},cf),d=e(238),pf=e.n(d),u=e(802),mf=e.n(u),Bf=(gf.propTypes={connectionSmallIconURL:n.a.string,onConnecting:n.a.func,onRefresh:n.a.func,peripheralList:n.a.arrayOf(n.a.shape({name:n.a.string,rssi:n.a.number,peripheralId:n.a.string})),scanning:n.a.bool.isRequired},gf.defaultProps={peripheralList:[],scanning:!0},gf);function ff(e){return(ff="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ef(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function wf(e,t){return(wf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cf(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=yf(A);return e=o?(e=yf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ff(t)&&"function"!=typeof t?If(n):t}}function If(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yf(e){return(yf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement("div",{className:w.a.activityAreaInfo},j.a.createElement("div",{className:w.a.centeredRow},e.phase===kf.prescan&&j.a.createElement(j.a.Fragment,null,j.a.createElement("img",{className:w.a.radarBig,src:pf.a}),j.a.createElement("img",{className:w.a.bluetoothCenteredIcon,src:Tf.a})),e.phase===kf.pressbutton&&j.a.createElement(j.a.Fragment,null,j.a.createElement("img",{className:J()(w.a.radarBig,w.a.radarSpin),src:pf.a}),j.a.createElement("img",{className:w.a.connectionTipIcon,src:e.connectionTipIconURL})),e.phase===kf.notfound&&j.a.createElement(W.a,{className:w.a.instructions},j.a.createElement(z.a,{defaultMessage:"No devices found",id:"gui.connection.auto-scanning.noPeripheralsFound"}))))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},e.phase===kf.prescan&&j.a.createElement(z.a,{defaultMessage:"Have your device nearby, then begin searching.",id:"gui.connection.auto-scanning.prescan"}),e.phase===kf.pressbutton&&j.a.createElement(z.a,{defaultMessage:"Press the button on your device.",id:"gui.connection.auto-scanning.pressbutton"})),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:0,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},e.phase===kf.prescan&&j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onStartScan},j.a.createElement(z.a,{defaultMessage:"Start Searching",id:"gui.connection.auto-scanning.start-search"})),e.phase===kf.pressbutton&&j.a.createElement("div",{className:w.a.segmentedButton},j.a.createElement("button",{disabled:!0,className:w.a.connectionButton},j.a.createElement(z.a,{defaultMessage:"Searching...",id:"gui.connection.connecting-searchbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onRefresh},j.a.createElement("img",{className:w.a.abortConnectingIcon,src:Qf.a}))),e.phase===kf.notfound&&j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onRefresh},j.a.createElement("img",{className:w.a.buttonIconLeft,src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.auto-scanning.try-again"})))))}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&wf(t,e);var n,A=Cf(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(If(e),["handlePeripheralListUpdate","handlePeripheralScanTimeout","handleRefresh"]),e.state={scanning:!0,peripheralList:[]},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.scanForPeripheral(this.props.extensionId),this.props.vm.on("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.on("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"handlePeripheralScanTimeout",value:function(){this.setState({scanning:!1,peripheralList:[]})}},{key:"handlePeripheralListUpdate",value:function(t){var e=Object.keys(t).map(function(e){return t[e]});this.setState({peripheralList:e})}},{key:"handleRefresh",value:function(){this.props.vm.scanForPeripheral(this.props.extensionId),this.setState({scanning:!0,peripheralList:[]})}},{key:"render",value:function(){return j.a.createElement(Bf,{connectionSmallIconURL:this.props.connectionSmallIconURL,peripheralList:this.state.peripheralList,phase:this.state.phase,scanning:this.state.scanning,title:this.props.extensionId,onConnected:this.props.onConnected,onConnecting:this.props.onConnecting,onRefresh:this.handleRefresh})}}])&&Ef(t.prototype,e),n&&Ef(t,n),o}(j.a.Component),Mf=(g.propTypes={connectionSmallIconURL:n.a.string,extensionId:n.a.string.isRequired,onConnected:n.a.func.isRequired,onConnecting:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},g),a=e(146),Qf=e.n(a),t=e(192),Tf=e.n(t),d=e(193),Sf=e.n(d),kf=i()({prescan:null,pressbutton:null,notfound:null});function Df(e){return(Df="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vf(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Nf(e,t){return(Nf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Of(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Rf(A);return e=o?(e=Rf(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Df(t)&&"function"!=typeof t?Ff(n):t}}function Ff(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Rf(e){return(Rf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}bf.propTypes={connectionTipIconURL:n.a.string,onRefresh:n.a.func,onStartScan:n.a.func,phase:n.a.oneOf(Object.keys(kf))},bf.defaultProps={phase:kf.prescan};function Yf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL}),j.a.createElement("img",{className:w.a.bluetoothConnectingIcon,src:Tf.a})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},e.connectingMessage),j.a.createElement(hf,{className:w.a.bottomAreaItem,counter:1,total:3}),j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.segmentedButton)},j.a.createElement("button",{disabled:!0,className:w.a.connectionButton},j.a.createElement(z.a,{defaultMessage:"Connecting...",id:"gui.connection.connecting-cancelbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onDisconnect},j.a.createElement("img",{className:w.a.abortConnectingIcon,src:Qf.a})))))}function xf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL}),j.a.createElement("img",{className:w.a.bluetoothConnectedIcon,src:Tf.a})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Connected",id:"gui.connection.connected"})),j.a.createElement(hf,{success:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.cornerButtons)},j.a.createElement("button",{className:J()(w.a.redButton,w.a.connectionButton),onClick:e.onDisconnect},j.a.createElement(z.a,{defaultMessage:"Disconnect",id:"gui.connection.disconnect"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onCancel},j.a.createElement(z.a,{defaultMessage:"Go to Editor",id:"gui.connection.go-to-editor"})))))}function _f(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement(W.a,{className:w.a.centeredRow},j.a.createElement("div",{className:w.a.peripheralActivity},j.a.createElement("img",{className:w.a.peripheralActivityIcon,src:e.connectionIconURL})))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement("div",{className:J()(w.a.bottomAreaItem,w.a.instructions)},j.a.createElement(z.a,{defaultMessage:"Oops, looks like something went wrong.",id:"gui.connection.error.errorMessage"})),j.a.createElement(hf,{error:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onScanning},j.a.createElement("img",{className:J()(w.a.buttonIconLeft,w.a.buttonIconBack),src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.error.tryagainbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onHelp},j.a.createElement("img",{className:w.a.buttonIconLeft,src:jf.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.connection.error.helpbutton"})))))}function Uf(e){return j.a.createElement(W.a,{className:w.a.body},j.a.createElement(W.a,{className:w.a.activityArea},j.a.createElement("div",{className:w.a.scratchLinkHelp},j.a.createElement("div",{className:w.a.scratchLinkHelpStep},j.a.createElement("div",{className:w.a.helpStepNumber},"1"),j.a.createElement("div",{className:w.a.helpStepImage},j.a.createElement("img",{className:w.a.scratchLinkIcon,src:Wf.a})),j.a.createElement("div",{className:w.a.helpStepText},j.a.createElement(z.a,{defaultMessage:"Make sure you have Scratch Link installed and running",id:"gui.connection.unavailable.installscratchlink"}))),j.a.createElement("div",{className:w.a.scratchLinkHelpStep},j.a.createElement("div",{className:w.a.helpStepNumber},"2"),j.a.createElement("div",{className:w.a.helpStepImage},j.a.createElement("img",{className:w.a.scratchLinkIcon,src:Jf.a})),j.a.createElement("div",{className:w.a.helpStepText},j.a.createElement(z.a,{defaultMessage:"Check that Bluetooth is enabled",id:"gui.connection.unavailable.enablebluetooth"}))))),j.a.createElement(W.a,{className:w.a.bottomArea},j.a.createElement(hf,{error:!0,className:w.a.bottomAreaItem,total:3}),j.a.createElement(W.a,{className:J()(w.a.bottomAreaItem,w.a.buttonRow)},j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onScanning},j.a.createElement("img",{className:J()(w.a.buttonIconLeft,w.a.buttonIconBack),src:Sf.a}),j.a.createElement(z.a,{defaultMessage:"Try again",id:"gui.connection.unavailable.tryagainbutton"})),j.a.createElement("button",{className:w.a.connectionButton,onClick:e.onHelp},j.a.createElement("img",{className:w.a.buttonIconLeft,src:jf.a}),j.a.createElement(z.a,{defaultMessage:"Help",id:"gui.connection.unavailable.helpbutton"})))))}function Gf(e){return j.a.createElement(cl.a,{className:w.a.modalContent,contentLabel:e.name,headerClassName:w.a.header,headerImage:e.connectionSmallIconURL,id:"connectionModal",onHelp:e.onHelp,onRequestClose:e.onCancel},j.a.createElement(W.a,{className:w.a.body},e.phase===Kf.scanning&&!e.useAutoScan&&j.a.createElement(Mf,e),e.phase===Kf.scanning&&e.useAutoScan&&j.a.createElement(Lf,e),e.phase===Kf.connecting&&j.a.createElement(Pf,e),e.phase===Kf.connected&&j.a.createElement(Hf,e),e.phase===Kf.error&&j.a.createElement(zf,e),e.phase===Kf.unavailable&&j.a.createElement(Vf,e)))}var u=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Nf(t,e);var n,A=Of(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(Ff(e),["handlePeripheralListUpdate","handlePeripheralScanTimeout","handleStartScan","handleRefresh"]),e.state={phase:kf.prescan},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){this.unbindPeripheralUpdates()}},{key:"handlePeripheralScanTimeout",value:function(){this.setState({phase:kf.notfound}),this.unbindPeripheralUpdates()}},{key:"handlePeripheralListUpdate",value:function(t){var e=Object.keys(t).map(function(e){return t[e]});0<e.length&&this.props.onConnecting(e[0].peripheralId)}},{key:"bindPeripheralUpdates",value:function(){this.props.vm.on("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.on("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"unbindPeripheralUpdates",value:function(){this.props.vm.removeListener("PERIPHERAL_LIST_UPDATE",this.handlePeripheralListUpdate),this.props.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",this.handlePeripheralScanTimeout)}},{key:"handleRefresh",value:function(){this.setState({phase:kf.prescan}),this.unbindPeripheralUpdates()}},{key:"handleStartScan",value:function(){this.bindPeripheralUpdates(),this.props.vm.scanForPeripheral(this.props.extensionId),this.setState({phase:kf.pressbutton})}},{key:"render",value:function(){return j.a.createElement(bf,{connectionTipIconURL:this.props.connectionTipIconURL,phase:this.state.phase,title:this.props.extensionId,onRefresh:this.handleRefresh,onStartScan:this.handleStartScan})}}])&&vf(t.prototype,e),n&&vf(t,n),o}(j.a.Component),Lf=(u.propTypes={connectionTipIconURL:n.a.string,extensionId:n.a.string.isRequired,onConnecting:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},u),Pf=(Yf.propTypes={connectingMessage:n.a.node.isRequired,connectionIconURL:n.a.string.isRequired,onDisconnect:n.a.func},Yf),Hf=(xf.propTypes={connectionIconURL:n.a.string.isRequired,onCancel:n.a.func,onDisconnect:n.a.func},xf),g=e(308),jf=e.n(g),zf=(_f.propTypes={connectionIconURL:n.a.string.isRequired,onHelp:n.a.func,onScanning:n.a.func},_f),a=e(803),Jf=e.n(a),t=e(804),Wf=e.n(t),Vf=(Uf.propTypes={onHelp:n.a.func,onScanning:n.a.func},Uf),Kf=i()({scanning:null,connecting:null,connected:null,error:null,unavailable:null}),Xf=(Gf.propTypes={connectingMessage:n.a.node.isRequired,connectionSmallIconURL:n.a.string,connectionTipIconURL:n.a.string,name:n.a.node,onCancel:n.a.func.isRequired,onHelp:n.a.func.isRequired,phase:n.a.oneOf(Object.keys(Kf)).isRequired,title:n.a.string.isRequired,useAutoScan:n.a.bool.isRequired},Gf.defaultProps={connectingMessage:"Connecting"},e(118));function qf(e){return(qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zf(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function $f(e,t){return($f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function e0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=n0(A);return e=o?(e=n0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==qf(t)&&"function"!=typeof t?t0(n):t}}function t0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function n0(e){return(n0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$f(t,e);var n,A=e0(o);function o(t){var e;if(this instanceof o)return e=A.call(this,t),l()(t0(e),["handleScanning","handleCancel","handleConnected","handleConnecting","handleDisconnect","handleError","handleHelp"]),e.state={extension:Xf.a.find(function(e){return e.extensionId===t.extensionId}),phase:t.vm.getPeripheralIsConnected(t.extensionId)?Kf.connected:Kf.scanning},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.props.vm.on("PERIPHERAL_CONNECTED",this.handleConnected),this.props.vm.on("PERIPHERAL_REQUEST_ERROR",this.handleError)}},{key:"componentWillUnmount",value:function(){this.props.vm.removeListener("PERIPHERAL_CONNECTED",this.handleConnected),this.props.vm.removeListener("PERIPHERAL_REQUEST_ERROR",this.handleError)}},{key:"handleScanning",value:function(){this.setState({phase:Kf.scanning})}},{key:"handleConnecting",value:function(e){this.props.vm.connectPeripheral(this.props.extensionId,e),this.setState({phase:Kf.connecting}),at.a.event({category:"extensions",action:"connecting",label:this.props.extensionId})}},{key:"handleDisconnect",value:function(){try{this.props.vm.disconnectPeripheral(this.props.extensionId)}finally{this.props.onCancel()}}},{key:"handleCancel",value:function(){try{this.props.vm.getPeripheralIsConnected(this.props.extensionId)||this.props.vm.disconnectPeripheral(this.props.extensionId)}finally{this.props.onCancel()}}},{key:"handleError",value:function(){this.state.phase===Kf.scanning||this.state.phase===Kf.unavailable?this.setState({phase:Kf.unavailable}):(this.setState({phase:Kf.error}),at.a.event({category:"extensions",action:"connecting error",label:this.props.extensionId}))}},{key:"handleConnected",value:function(){this.setState({phase:Kf.connected}),at.a.event({category:"extensions",action:"connected",label:this.props.extensionId})}},{key:"handleHelp",value:function(){window.open(this.state.extension.helpLink,"_blank"),at.a.event({category:"extensions",action:"help",label:this.props.extensionId})}},{key:"render",value:function(){return j.a.createElement(Gf,{connectingMessage:this.state.extension&&this.state.extension.connectingMessage,connectionIconURL:this.state.extension&&this.state.extension.connectionIconURL,connectionSmallIconURL:this.state.extension&&this.state.extension.connectionSmallIconURL,connectionTipIconURL:this.state.extension&&this.state.extension.connectionTipIconURL,extensionId:this.props.extensionId,name:this.state.extension&&this.state.extension.name,phase:this.state.phase,title:this.props.extensionId,useAutoScan:this.state.extension&&this.state.extension.useAutoScan,vm:this.props.vm,onCancel:this.handleCancel,onConnected:this.handleConnected,onConnecting:this.handleConnecting,onDisconnect:this.handleDisconnect,onHelp:this.handleHelp,onScanning:this.handleScanning})}}])&&Zf(t.prototype,e),n&&Zf(t,n),o}(j.a.Component),A0=(d.propTypes={extensionId:n.a.string.isRequired,onCancel:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{extensionId:e.scratchGui.connectionModal.extensionId}},function(e){return{onCancel:function(){e(Object(R.b)())}}})(d)),u=e(97),o0=e.n(u);function a0(e){return(a0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i0(){return(i0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function r0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function s0(e,t){return(s0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=c0(A);return e=o?(e=c0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==a0(t)&&"function"!=typeof t?u0(n):t}}function u0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c0(e){return(c0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g0(e){var t=e.isFullScreen,n=e.isPlayerOnly,A=e.onKeyPress,o=e.onSetStageLarge,a=e.onSetStageSmall,i=e.onSetStageUnFull,r=e.showBranding,s=e.stageSizeMode,l=e.vm;return t?(t=Gd(null,!0),r=r?j.a.createElement("div",{className:b0.a.embedScratchLogo},j.a.createElement("a",{href:"https://scratch.mit.edu",rel:"noopener noreferrer",target:"_blank"},j.a.createElement("img",{alt:"Scratch",src:Xd.a}))):j.a.createElement(Gg.a,{className:b0.a.stageButton,onClick:i,onKeyPress:A},j.a.createElement("img",{alt:e.intl.formatMessage(M0.unFullStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:y0.a,title:e.intl.formatMessage(M0.fullscreenControl)})),j.a.createElement(W.a,{className:b0.a.stageHeaderWrapperOverlay},j.a.createElement(W.a,{className:b0.a.stageMenuWrapper,style:{width:t.width}},j.a.createElement(Jd.a,{vm:l}),r))):(i=n?[]:j.a.createElement("div",{className:b0.a.stageSizeToggleGroup},j.a.createElement("div",null,j.a.createElement(Gg.a,{className:J()(b0.a.stageButton,b0.a.stageButtonFirst,s===V.d.small?null:b0.a.stageButtonToggledOff),onClick:a},j.a.createElement("img",{alt:e.intl.formatMessage(M0.smallStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:I0.a}))),j.a.createElement("div",null,j.a.createElement(Gg.a,{className:J()(b0.a.stageButton,b0.a.stageButtonLast,s===V.d.large?null:b0.a.stageButtonToggledOff),onClick:o},j.a.createElement("img",{alt:e.intl.formatMessage(M0.largeStageSizeMessage),className:b0.a.stageButtonIcon,draggable:!1,src:C0.a})))),j.a.createElement(W.a,{className:b0.a.stageHeaderWrapper},j.a.createElement(W.a,{className:b0.a.stageMenuWrapper},j.a.createElement("div",{className:b0.a.stageSizeRow},i))))}var d0=Object(z.d)({label:{id:"gui.telemetryOptIn.label",defaultMessage:"Report statistics to improve Scratch"},bodyText1:{id:"gui.telemetryOptIn.body1",defaultMessage:"The Scratch Team is always looking to better understand how Scratch is used around the world. To help support this effort, you can allow Scratch to automatically send usage information to the Scratch Team."},bodyText2:{id:"gui.telemetryOptIn.body2",defaultMessage:"The information we collect includes language selection, blocks usage, and some events like saving, loading, and uploading a project. We DO NOT collect any personal information. Please see our {privacyPolicyLink} for more information."},privacyPolicyLink:{id:"gui.telemetryOptIn.privacyPolicyLink",defaultMessage:"Privacy Policy"},optInText:{id:"gui.telemetryOptIn.optInText",defaultMessage:"Share my usage data with the Scratch Team"},optInTooltip:{id:"gui.telemetryOptIn.optInTooltip",defaultMessage:"Enable telemetry"},optOutText:{id:"gui.telemetryOptIn.optOutText",defaultMessage:"Do not share my usage data with the Scratch Team"},optOutTooltip:{id:"gui.telemetryOptIn.optOutTooltip",defaultMessage:"Disable telemetry"},settingWasUpdated:{id:"gui.telemetryOptIn.settingWasUpdated",defaultMessage:"Your setting was updated."},closeButton:{id:"gui.telemetryOptIn.buttonClose",defaultMessage:"Close"}}),g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s0(t,e);var n,A=l0(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(u0(e),["handleCancel","handleOptInOutChanged"]),e.state={settingWasUpdatedTimer:null},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){this.state.settingWasUpdatedTimer&&clearTimeout(this.state.settingWasUpdatedTimer)}},{key:"handleCancel",value:function(){this.props.onRequestClose(),this.props.onCancel&&this.props.onCancel()}},{key:"handleOptInOutChanged",value:function(e){"true"===e.target.value?this.props.onOptIn&&(this.props.onOptIn(),this.handleSettingWasUpdated()):"false"===e.target.value&&this.props.onOptOut&&(this.props.onOptOut(),this.handleSettingWasUpdated())}},{key:"handleSettingWasUpdated",value:function(){var e=this,t=(this.state.settingWasUpdatedTimer&&clearTimeout(this.state.settingWasUpdatedTimer),setTimeout(function(){return e.handleSettingWasUpdatedTimeout(t)},3e3));this.setState({settingWasUpdatedTimer:t})}},{key:"handleSettingWasUpdatedTimeout",value:function(e){e===this.state.settingWasUpdatedTimer&&this.setState({settingWasUpdatedTimer:null})}},{key:"render",value:function(){var e="boolean"!=typeof this.props.isTelemetryEnabled,t=!1===this.props.isTelemetryEnabled,n=!0===this.props.isTelemetryEnabled,A=this.state.settingWasUpdatedTimer&&j.a.createElement(z.a,d0.settingWasUpdated);return j.a.createElement(F.a,{isOpen:!0,className:o0.a.modalContent,contentLabel:this.props.intl.formatMessage(d0.label),overlayClassName:o0.a.modalOverlay,onRequestClose:this.handleCancel},j.a.createElement("div",{dir:this.props.isRtl?"rtl":"ltr"},j.a.createElement(W.a,{className:o0.a.illustration}),j.a.createElement(W.a,{className:o0.a.body},j.a.createElement("p",null,j.a.createElement(z.a,d0.bodyText1)),j.a.createElement("p",null,j.a.createElement(z.a,i0({},d0.bodyText2,{values:{privacyPolicyLink:j.a.createElement("a",{className:o0.a.privacyPolicyLink,href:"https://scratch.mit.edu/privacy_policy/",onClick:this.props.onShowPrivacyPolicy,target:"_blank",rel:"noopener noreferrer"},j.a.createElement(z.a,d0.privacyPolicyLink))}}))),j.a.createElement(W.a,{className:o0.a.radioButtons},j.a.createElement("label",{className:n?o0.a.labelSelected:null},j.a.createElement("input",{name:"optInOut",type:"radio",value:"true",title:this.props.intl.formatMessage(d0.optInTooltip),checked:!0===this.props.isTelemetryEnabled,onChange:this.handleOptInOutChanged}),j.a.createElement(z.a,d0.optInText)),j.a.createElement("label",{className:t?o0.a.labelSelected:null},j.a.createElement("input",{name:"optInOut",type:"radio",value:"false",title:this.props.intl.formatMessage(d0.optOutTooltip),checked:!1===this.props.isTelemetryEnabled,onChange:this.handleOptInOutChanged}),j.a.createElement(z.a,d0.optOutText))),j.a.createElement(W.a,{className:o0.a.buttonRow},j.a.createElement("span",{className:o0.a.settingWasUpdated,key:this.state.settingWasUpdatedTimer},A),j.a.createElement("button",{className:o0.a.optIn,onClick:this.props.onRequestClose,disabled:e},j.a.createElement(z.a,d0.closeButton))))))}}])&&r0(t.prototype,e),n&&r0(t,n),o}(j.a.PureComponent),h0=(g.propTypes={intl:z.f.isRequired,isRtl:n.a.bool,isTelemetryEnabled:n.a.bool,onCancel:n.a.func,onOptIn:n.a.func.isRequired,onOptOut:n.a.func.isRequired,onRequestClose:n.a.func,onShowPrivacyPolicy:n.a.func},Object(z.e)(g)),a=e(47),K=e.n(a),t=e(805),p0=e.n(t),i=e(806),m0=e.n(i),d=e(807),B0=e.n(d),u=e(808),f0=e.n(u),g=e(809),E0=e.n(g),a=e(810),w0=e.n(a),t=(e(1461),e(811)),C0=e.n(t),i=e(812),I0=e.n(i),d=e(813),y0=e.n(d),u=e(63),b0=e.n(u),M0=Object(z.d)({largeStageSizeMessage:{id:"gui.stageHeader.stageSizeLarge",defaultMessage:"Switch to large stage"},smallStageSizeMessage:{id:"gui.stageHeader.stageSizeSmall",defaultMessage:"Switch to small stage"},fullStageSizeMessage:{id:"gui.stageHeader.stageSizeFull",defaultMessage:"Enter full screen mode"},unFullStageSizeMessage:{id:"gui.stageHeader.stageSizeUnFull",defaultMessage:"Exit full screen mode"},fullscreenControl:{id:"gui.stageHeader.fullscreenControl",defaultMessage:"Full Screen Control"}}),Q0=(g0.propTypes={intl:z.f,isFullScreen:n.a.bool.isRequired,isPlayerOnly:n.a.bool.isRequired,onKeyPress:n.a.func.isRequired,onSetStageFull:n.a.func.isRequired,onSetStageLarge:n.a.func.isRequired,onSetStageSmall:n.a.func.isRequired,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool.isRequired,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},g0.defaultProps={stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(g0)));function T0(e){return(T0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S0(){return(S0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function k0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function D0(e,t){return(D0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=O0(A);return e=o?(e=O0(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==T0(t)&&"function"!=typeof t?N0(n):t}}function N0(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O0(e){return(O0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&D0(t,e);var n,A=v0(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(N0(e),["handleKeyPress"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyPress)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyPress)}},{key:"handleKeyPress",value:function(e){"Escape"===e.key&&this.props.isFullScreen&&this.props.onSetStageUnFull(!1)}},{key:"render",value:function(){var e=S0({},this.props);return j.a.createElement(Q0,S0({},e,{onKeyPress:this.handleKeyPress}))}}])&&k0(t.prototype,e),n&&k0(t,n),o}(j.a.Component),F0=(g.propTypes={isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,onSetStageUnFull:n.a.func.isRequired,showBranding:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),vm:n.a.instanceOf(o.a).isRequired},Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize,showBranding:e.scratchGui.mode.showBranding,isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly}},function(e){return{onSetStageLarge:function(){return e(Object(jd.b)(V.d.large))},onSetStageSmall:function(){return e(Object(jd.b)(V.d.small))},onSetStageFull:function(){return e(Object(zd.c)(!0))},onSetStageUnFull:function(){return e(Object(zd.c)(!1))}}})(g)),R0=e(112);function Y0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function x0(e){var t=e.categoryColor,n=e.label,e=e.value;return j.a.createElement("div",{className:y.a.defaultMonitor},j.a.createElement("div",{className:y.a.row},j.a.createElement("div",{className:y.a.label},n),j.a.createElement("div",{className:y.a.value,style:{background:t}},e)))}function _0(e){var t=e.categoryColor,e=e.value;return j.a.createElement("div",{className:y.a.largeMonitor},j.a.createElement("div",{className:y.a.largeValue,style:{background:t}},e))}function U0(e,t,n){return(t?e.runtime.getTargetById(t):e.runtime.getTargetForStage()).variables[n]}function G0(e,t,n){return(e=U0(e,t,n)).value instanceof Array?e.value.slice():e.value}function L0(e,t,n,A){U0(e,t,n).value=A}function P0(e){var t=e.categoryColor,n=e.isDiscrete,A=e.label,o=e.min,a=e.max,i=e.value,e=e.onSliderUpdate;return j.a.createElement("div",{className:y.a.defaultMonitor},j.a.createElement("div",{className:y.a.row},j.a.createElement("div",{className:y.a.label},A),j.a.createElement("div",{className:y.a.value,style:{background:t}},i)),j.a.createElement("div",{className:y.a.row},j.a.createElement("input",{className:J()(y.a.slider,"no-drag"),max:a,min:o,step:n?1:.01,type:"range",value:i,onChange:e})))}var I=Object(z.d)({motion_direction:{id:"gui.opcodeLabels.direction",defaultMessage:"direction"},motion_xposition:{id:"gui.opcodeLabels.xposition",defaultMessage:"x position"},motion_yposition:{id:"gui.opcodeLabels.yposition",defaultMessage:"y position"},looks_size:{id:"gui.opcodeLabels.size",defaultMessage:"size"},looks_costumename:{id:"gui.opcodeLabels.costumename",defaultMessage:"costume name"},looks_costumenumber:{id:"gui.opcodeLabels.costumenumber",defaultMessage:"costume number"},looks_backdropname:{id:"gui.opcodeLabels.backdropname",defaultMessage:"backdrop name"},looks_backdropnumber:{id:"gui.opcodeLabels.backdropnumber",defaultMessage:"backdrop number"},sound_volume:{id:"gui.opcodeLabels.volume",defaultMessage:"volume"},sound_tempo:{id:"gui.opcodeLabels.tempo",defaultMessage:"tempo"},sensing_answer:{id:"gui.opcodeLabels.answer",defaultMessage:"answer"},sensing_loudness:{id:"gui.opcodeLabels.loudness",defaultMessage:"loudness"},sensing_username:{id:"gui.opcodeLabels.username",defaultMessage:"username"},sensing_current_year:{id:"gui.opcodeLabels.year",defaultMessage:"year"},sensing_current_month:{id:"gui.opcodeLabels.month",defaultMessage:"month"},sensing_current_date:{id:"gui.opcodeLabels.date",defaultMessage:"date"},sensing_current_dayofweek:{id:"gui.opcodeLabels.dayofweek",defaultMessage:"day of week"},sensing_current_hour:{id:"gui.opcodeLabels.hour",defaultMessage:"hour"},sensing_current_minute:{id:"gui.opcodeLabels.minute",defaultMessage:"minute"},sensing_current_second:{id:"gui.opcodeLabels.second",defaultMessage:"second"},sensing_timer:{id:"gui.opcodeLabels.timer",defaultMessage:"timer"}}),H0=new(function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this._translator=function(e){return e.defaultMessage},this._opcodeMap={motion_direction:{category:"motion"},motion_xposition:{category:"motion"},motion_yposition:{category:"motion"},looks_size:{category:"looks"},looks_costumenumbername:{category:"looks"},looks_backdropnumbername:{category:"looks"},looks_backdropname:{category:"looks"},data_variable:{category:"data"},data_listcontents:{category:"list"},sound_volume:{category:"sound"},sound_tempo:{category:"sound"},sensing_answer:{category:"sensing"},sensing_loudness:{category:"sensing"},sensing_username:{category:"sensing"},sensing_current:{category:"sensing"},sensing_timer:{category:"sensing"}},this._refreshOpcodeMap()}var t,n,A;return t=e,(n=[{key:"setTranslatorFunction",value:function(e){this._translator=e,this._refreshOpcodeMap()}},{key:"_refreshOpcodeMap",value:function(){var t=this;this._opcodeMap.motion_direction.labelFn=function(){return t._translator(I.motion_direction)},this._opcodeMap.motion_xposition.labelFn=function(){return t._translator(I.motion_xposition)},this._opcodeMap.motion_yposition.labelFn=function(){return t._translator(I.motion_yposition)},this._opcodeMap.looks_size.labelFn=function(){return t._translator(I.looks_size)},this._opcodeMap.looks_costumenumbername.labelFn=function(e){return"number"===e.NUMBER_NAME?t._translator(I.looks_costumenumber):t._translator(I.looks_costumename)},this._opcodeMap.looks_backdropnumbername.labelFn=function(e){return"number"===e.NUMBER_NAME?t._translator(I.looks_backdropnumber):t._translator(I.looks_backdropname)},this._opcodeMap.looks_backdropname.labelFn=function(){return t._translator(I.looks_backdropname)},this._opcodeMap.data_variable.labelFn=function(e){return e.VARIABLE},this._opcodeMap.data_listcontents.labelFn=function(e){return e.LIST},this._opcodeMap.sound_volume.labelFn=function(){return t._translator(I.sound_volume)},this._opcodeMap.sound_tempo.labelFn=function(){return t._translator(I.sound_tempo)},this._opcodeMap.sensing_answer.labelFn=function(){return t._translator(I.sensing_answer)},this._opcodeMap.sensing_loudness.labelFn=function(){return t._translator(I.sensing_loudness)},this._opcodeMap.sensing_username.labelFn=function(){return t._translator(I.sensing_username)},this._opcodeMap.sensing_current.labelFn=function(e){switch(e.CURRENTMENU.toLowerCase()){case"year":return t._translator(I.sensing_current_year);case"month":return t._translator(I.sensing_current_month);case"date":return t._translator(I.sensing_current_date);case"dayofweek":return t._translator(I.sensing_current_dayofweek);case"hour":return t._translator(I.sensing_current_hour);case"minute":return t._translator(I.sensing_current_minute);case"second":return t._translator(I.sensing_current_second)}},this._opcodeMap.sensing_timer.labelFn=function(){return t._translator(I.sensing_timer)}}},{key:"getLabel",value:function(e){return e in this._opcodeMap?this._opcodeMap[e]:{category:"extension",label:e}}}])&&Y0(t.prototype,n),A&&Y0(t,A),e}()),j0=e(50),z0=e.n(j0),a=e(31),y=e.n(a),t=(x0.propTypes={categoryColor:n.a.string.isRequired,label:n.a.string.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},x0),i=(_0.propTypes={categoryColor:n.a.string,value:n.a.oneOfType([n.a.string,n.a.number])},_0),J0=(P0.propTypes={categoryColor:n.a.string.isRequired,isDiscrete:n.a.bool,label:n.a.string.isRequired,max:n.a.number,min:n.a.number,onSliderUpdate:n.a.func.isRequired,value:n.a.oneOfType([n.a.string,n.a.number])},P0.defaultProps={isDiscrete:!0,min:0,max:100},P0);function W0(e){return(W0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var V0=["vm","value"];function K0(){return(K0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function X0(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function q0(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Z0(e,t){return(Z0=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $0(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=tE(A);return e=o?(e=tE(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==W0(t)&&"function"!=typeof t?eE(n):t}}function eE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tE(e){return(tE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Z0(t,e);var n,A=$0(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(eE(t),["handleSliderUpdate"]),t.state={value:e.value},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillReceiveProps",value:function(e){this.state.value!==e.value&&this.setState({value:e.value})}},{key:"handleSliderUpdate",value:function(e){this.setState({value:Number(e.target.value)});var t=this.props,n=t.vm,A=t.targetId,t=t.id;L0(n,A,t,Number(e.target.value))}},{key:"render",value:function(){var e=this.props,e=(e.vm,e.value,X0(e,V0));return j.a.createElement(J0,K0({},e,{value:this.state.value,onSliderUpdate:this.handleSliderUpdate}))}}])&&q0(t.prototype,e),n&&q0(t,n),o}(j.a.Component),u=(d.propTypes={id:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.number,n.a.string]),vm:n.a.instanceOf(o.a)},Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(d)),g=e(35),nE=e.n(g),a=e(22),b=e.n(a),d=e(23),g=e.n(d),a=e(29),AE=e.n(a),d=e(36),a=e.n(d),d=e(99),Q=e(309),oE=e.n(Q),Q=e(20),T=e.n(Q);function aE(e){var t=e.cellCount,n=e.cellSize,A=e.computeMetadataCallback,o=e.computeMetadataCallbackProps,a=e.nextCellsCount,i=e.nextCellSize,r=e.nextScrollToIndex,s=e.scrollToIndex,e=e.updateScrollOffsetForScrollToIndex;t===a&&("number"!=typeof n&&"number"!=typeof i||n===i)||(A(o),0<=s&&s===r&&e())}var Q=e(124),iE=e.n(Q);function rE(e){var t=e.cellCount,n=e.cellSizeGetter,e=e.estimatedCellSize;b()(this,rE),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=n,this._cellCount=t,this._estimatedCellSize=e}g()(rE,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,n=e.estimatedCellSize,e=e.cellSizeGetter;this._cellCount=t,this._estimatedCellSize=n,this._cellSizeGetter=e}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index "+e+" is outside of range 0.."+this._cellCount);if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),n=t.offset+t.size,A=this._lastMeasuredIndex+1;A<=e;A++){var o=this._cellSizeGetter({index:A});if(void 0===o||isNaN(o))throw Error("Invalid size returned for cell "+A+" of value "+o);null===o?(this._cellSizeAndPositionData[A]={offset:n,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[A]={offset:n,size:o},n+=o,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return 0<=this._lastMeasuredIndex?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,t=void 0===t?"auto":t,n=e.containerSize,A=e.currentOffset,e=e.targetIndex;if(n<=0)return 0;var o=this.getSizeAndPositionOfCell(e),a=o.offset,i=a-n+o.size,r=void 0;switch(t){case"start":r=a;break;case"end":r=i;break;case"center":r=a-(n-o.size)/2;break;default:r=Math.max(i,Math.min(a,A))}e=this.getTotalSize();return Math.max(0,Math.min(e-n,r))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,n=e.offset;if(0===this.getTotalSize())return{};for(var A=n+t,e=this._findNearestCell(n),t=this.getSizeAndPositionOfCell(e),n=t.offset+t.size,o=e;n<A&&o<this._cellCount-1;)n+=this.getSizeAndPositionOfCell(++o).size;return{start:e,stop:o}}},{key:"resetCell",value:function(e){this._lastMeasuredIndex=Math.min(this._lastMeasuredIndex,e-1)}},{key:"_binarySearch",value:function(e,t,n){for(;t<=e;){var A=t+Math.floor((e-t)/2),o=this.getSizeAndPositionOfCell(A).offset;if(o===n)return A;o<n?t=A+1:n<o&&(e=A-1)}return 0<t?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var n=1;e<this._cellCount&&this.getSizeAndPositionOfCell(e).offset<t;)e+=n,n*=2;return this._binarySearch(Math.min(e,this._cellCount-1),Math.floor(e/2),t)}},{key:"_findNearestCell",value:function(e){if(isNaN(e))throw Error("Invalid offset "+e+" specified");e=Math.max(0,e);var t=this.getSizeAndPositionOfLastMeasuredCell(),n=Math.max(0,this._lastMeasuredIndex);return t.offset>=e?this._binarySearch(n,0,e):this._exponentialSearch(n,e)}}]);var sE=rE,lE=15e5,uE=16777100,cE=function(){return"undefined"!=typeof window},gE=function(){return!!window.chrome&&!!window.chrome.webstore};function dE(e){var t=e.maxScrollSize,t=void 0===t?cE()&&gE()?uE:lE:t,e=iE()(e,["maxScrollSize"]);b()(this,dE),this._cellSizeAndPositionManager=new sE(e),this._maxScrollSize=t}g()(dE,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize(),t=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:A});return Math.round(t*(A-n))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,t=void 0===t?"auto":t,n=e.containerSize,A=e.currentOffset,e=e.targetIndex,A=this._safeOffsetToOffset({containerSize:n,offset:A}),t=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:t,containerSize:n,currentOffset:A,targetIndex:e});return this._offsetToSafeOffset({containerSize:n,offset:t})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,e=e.offset,e=this._safeOffsetToOffset({containerSize:t,offset:e});return this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:e})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,n=e.offset,e=e.totalSize;return e<=t?0:n/(e-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize();return n===A?e:(e=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:n}),Math.round(e*(A-t)))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,e=e.offset,n=this._cellSizeAndPositionManager.getTotalSize(),A=this.getTotalSize();return n===A?e:(e=this._getOffsetPercentage({containerSize:t,offset:e,totalSize:A}),Math.round(e*(n-t)))}}]);var hE=dE,Q=e(171),pE=e.n(Q);function mE(e){var o=!(0<arguments.length&&void 0!==e)||e,a={};return function(e){var t=e.callback,n=e.indices,e=pE()(n),A=!o||e.every(function(e){e=n[e];return Array.isArray(e)?0<e.length:0<=e}),e=e.length!==pE()(a).length||e.some(function(e){var t=a[e],e=n[e];return Array.isArray(e)?t.join(",")!==e.join(","):t!==e});a=n,A&&e&&t(n)}}function BE(e){var t=e.cellSize,n=e.cellSizeAndPositionManager,A=e.previousCellsCount,o=e.previousCellSize,a=e.previousScrollToAlignment,i=e.previousScrollToIndex,r=e.previousSize,s=e.scrollOffset,l=e.scrollToAlignment,u=e.scrollToIndex,c=e.size,g=e.sizeJustIncreasedFromZero,e=e.updateScrollIndexCallback,d=n.getCellCount(),h=0<=u&&u<d;h&&(c!==r||g||!o||"number"==typeof t&&t!==o||l!==a||u!==i)?e(u):!h&&0<d&&(c<r||d<A)&&s>n.getTotalSize()-c&&e(d-1)}function fE(e){bE(e.id)}function EE(t,n){var A=void 0,o=(CE.a.resolve().then(function(){A=Date.now()}),{id:yE(function e(){Date.now()-A>=n?t.call():o.id=yE(e)})});return o}var Q=e(239),wE=e.n(Q),Q=e(814),CE=e.n(Q),IE=void 0,Q=(IE="undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).requestAnimationFrame||IE.webkitRequestAnimationFrame||IE.mozRequestAnimationFrame||IE.oRequestAnimationFrame||IE.msRequestAnimationFrame||function(e){return IE.setTimeout(e,1e3/60)},S=IE.cancelAnimationFrame||IE.webkitCancelAnimationFrame||IE.mozCancelAnimationFrame||IE.oCancelAnimationFrame||IE.msCancelAnimationFrame||function(e){IE.clearTimeout(e)},yE=Q,bE=S,ME="observed",QE="requested",S=(Q=M.PureComponent,a()(k,Q),g()(k,[{key:"getOffsetForCell",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,t=void 0===t?this.props.scrollToAlignment:t,n=e.columnIndex,n=void 0===n?this.props.scrollToColumn:n,e=e.rowIndex,e=void 0===e?this.props.scrollToRow:e,t=T()({},this.props,{scrollToAlignment:t,scrollToColumn:n,scrollToRow:e});return{scrollLeft:this._getCalculatedScrollLeft(t),scrollTop:this._getCalculatedScrollTop(t)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(e){var t,n,A,o,a,i,r,s=e.scrollLeft,s=void 0===s?0:s,e=e.scrollTop,e=void 0===e?0:e;e<0||(this._debounceScrollEnded(),t=(i=this.props).autoHeight,n=i.autoWidth,r=i.height,i=i.width,A=(a=this.state.instanceProps).scrollbarSize,o=a.rowSizeAndPositionManager.getTotalSize(),a=a.columnSizeAndPositionManager.getTotalSize(),i=Math.min(Math.max(0,a-i+A),s),s=Math.min(Math.max(0,o-r+A),e),this.state.scrollLeft===i&&this.state.scrollTop===s||(r={isScrolling:!0,scrollDirectionHorizontal:i!==this.state.scrollLeft?i>this.state.scrollLeft?1:-1:this.state.scrollDirectionHorizontal,scrollDirectionVertical:s!==this.state.scrollTop?s>this.state.scrollTop?1:-1:this.state.scrollDirectionVertical,scrollPositionChangeReason:ME},t||(r.scrollTop=s),n||(r.scrollLeft=i),r.needToResetStyleCache=!1,this.setState(r)),this._invokeOnScrollMemoizer({scrollLeft:i,scrollTop:s,totalColumnsWidth:a,totalRowsHeight:o}))}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,e):e}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,e=e.rowCount,n=this.state.instanceProps;n.columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),n.rowSizeAndPositionManager.getSizeAndPositionOfCell(e-1)}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e,n=this.props,A=n.scrollToColumn,n=n.scrollToRow,o=this.state.instanceProps;o.columnSizeAndPositionManager.resetCell(t),o.rowSizeAndPositionManager.resetCell(e),this._recomputeScrollLeftFlag=0<=A&&(1===this.state.scrollDirectionHorizontal?t<=A:A<=t),this._recomputeScrollTopFlag=0<=n&&(1===this.state.scrollDirectionVertical?e<=n:n<=e),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,e=e.rowIndex,n=this.props.columnCount,A=this.props;1<n&&void 0!==t&&this._updateScrollLeftForScrollToColumn(T()({},A,{scrollToColumn:t})),void 0!==e&&this._updateScrollTopForScrollToRow(T()({},A,{scrollToRow:e}))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.getScrollbarSize,n=e.height,A=e.scrollLeft,o=e.scrollToColumn,a=e.scrollTop,i=e.scrollToRow,e=e.width,r=this.state.instanceProps,s=(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),r.scrollbarSizeMeasured||this.setState(function(e){e=T()({},e,{needToResetStyleCache:!1});return e.instanceProps.scrollbarSize=t(),e.instanceProps.scrollbarSizeMeasured=!0,e}),("number"==typeof A&&0<=A||"number"==typeof a&&0<=a)&&(s=k._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:A,scrollTop:a}))&&(s.needToResetStyleCache=!1,this.setState(s)),this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop)&&(this._scrollingContainer.scrollTop=this.state.scrollTop),0<n&&0<e);0<=o&&s&&this._updateScrollLeftForScrollToColumn(),0<=i&&s&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:A||0,scrollTop:a||0,totalColumnsWidth:r.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:r.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var n=this,A=this.props,o=A.autoHeight,a=A.autoWidth,i=A.columnCount,r=A.height,s=A.rowCount,l=A.scrollToAlignment,u=A.scrollToColumn,c=A.scrollToRow,A=A.width,g=this.state,d=g.scrollLeft,h=g.scrollPositionChangeReason,p=g.scrollTop,g=g.instanceProps,i=(this._handleInvalidatedGridSize(),0<i&&0===e.columnCount||0<s&&0===e.rowCount),s=(h===QE&&(!a&&0<=d&&(d!==this._scrollingContainer.scrollLeft||i)&&(this._scrollingContainer.scrollLeft=d),!o)&&0<=p&&(p!==this._scrollingContainer.scrollTop||i)&&(this._scrollingContainer.scrollTop=p),(0===e.width||0===e.height)&&0<r&&0<A);this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):BE({cellSizeAndPositionManager:g.columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:d,scrollToAlignment:l,scrollToIndex:u,size:A,sizeJustIncreasedFromZero:s,updateScrollIndexCallback:function(){return n._updateScrollLeftForScrollToColumn(n.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):BE({cellSizeAndPositionManager:g.rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:p,scrollToAlignment:l,scrollToIndex:c,size:r,sizeJustIncreasedFromZero:s,updateScrollIndexCallback:function(){return n._updateScrollTopForScrollToRow(n.props)}}),this._invokeOnGridRenderedHelper(),d===t.scrollLeft&&p===t.scrollTop||(h=g.rowSizeAndPositionManager.getTotalSize(),a=g.columnSizeAndPositionManager.getTotalSize(),this._invokeOnScrollMemoizer({scrollLeft:d,scrollTop:p,totalColumnsWidth:a,totalRowsHeight:h})),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&fE(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,n=e.autoHeight,A=e.autoWidth,o=e.className,a=e.containerProps,i=e.containerRole,r=e.containerStyle,s=e.height,l=e.id,u=e.noContentRenderer,c=e.role,g=e.style,d=e.tabIndex,e=e.width,h=this.state,p=h.instanceProps,h=h.needToResetStyleCache,m=this._isScrolling(),n={boxSizing:"border-box",direction:"ltr",height:n?"auto":s,position:"relative",width:A?"auto":e,WebkitOverflowScrolling:"touch",willChange:"transform"},A=(h&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state),p.columnSizeAndPositionManager.getTotalSize()),h=p.rowSizeAndPositionManager.getTotalSize(),B=s<h?p.scrollbarSize:0,p=e<A?p.scrollbarSize:0,B=(p===this._horizontalScrollBarSize&&B===this._verticalScrollBarSize||(this._horizontalScrollBarSize=p,this._verticalScrollBarSize=B,this._scrollbarPresenceChanged=!0),n.overflowX=A+B<=e?"hidden":"auto",n.overflowY=h+p<=s?"hidden":"auto",this._childrenToDisplay),p=0===B.length&&0<s&&0<e;return M.createElement("div",T()({ref:this._setScrollingContainerRef},a,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:J()("ReactVirtualized__Grid",o),id:l,onScroll:this._onScroll,role:c,style:T()({},n,g),tabIndex:d}),0<B.length&&M.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:i,style:T()({width:t?"auto":A,height:h,maxWidth:A,maxHeight:h,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"},r)},B),p&&u())}},{key:"_calculateChildrenToRender",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,n=e.cellRenderer,A=e.cellRangeRenderer,o=e.columnCount,a=e.deferredMeasurementCache,i=e.height,r=e.overscanColumnCount,s=e.overscanIndicesGetter,l=e.overscanRowCount,u=e.rowCount,c=e.width,g=e.isScrollingOptOut,d=t.scrollDirectionHorizontal,h=t.scrollDirectionVertical,p=t.instanceProps,m=0<this._initialScrollTop?this._initialScrollTop:t.scrollTop,B=0<this._initialScrollLeft?this._initialScrollLeft:t.scrollLeft,e=this._isScrolling(e,t);if(this._childrenToDisplay=[],0<i&&0<c){var t=p.columnSizeAndPositionManager.getVisibleCellRange({containerSize:c,offset:B}),f=p.rowSizeAndPositionManager.getVisibleCellRange({containerSize:i,offset:m}),c=p.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:c,offset:B}),i=p.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:i,offset:m}),r=(this._renderedColumnStartIndex=t.start,this._renderedColumnStopIndex=t.stop,this._renderedRowStartIndex=f.start,this._renderedRowStopIndex=f.stop,s({direction:"horizontal",cellCount:o,overscanCellsCount:r,scrollDirection:d,startIndex:"number"==typeof t.start?t.start:0,stopIndex:"number"==typeof t.stop?t.stop:-1})),d=s({direction:"vertical",cellCount:u,overscanCellsCount:l,scrollDirection:h,startIndex:"number"==typeof f.start?f.start:0,stopIndex:"number"==typeof f.stop?f.stop:-1}),E=r.overscanStartIndex,w=r.overscanStopIndex,C=d.overscanStartIndex,I=d.overscanStopIndex;if(a){if(!a.hasFixedHeight())for(var y=C;y<=I;y++)if(!a.has(y,0)){E=0,w=o-1;break}if(!a.hasFixedWidth())for(var b=E;b<=w;b++)if(!a.has(0,b)){C=0,I=u-1;break}}this._childrenToDisplay=A({cellCache:this._cellCache,cellRenderer:n,columnSizeAndPositionManager:p.columnSizeAndPositionManager,columnStartIndex:E,columnStopIndex:w,deferredMeasurementCache:a,horizontalOffsetAdjustment:c,isScrolling:e,isScrollingOptOut:g,parent:this,rowSizeAndPositionManager:p.rowSizeAndPositionManager,rowStartIndex:C,rowStopIndex:I,scrollLeft:B,scrollTop:m,styleCache:this._styleCache,verticalOffsetAdjustment:i,visibleColumnIndices:t,visibleRowIndices:f}),this._columnStartIndex=E,this._columnStopIndex=w,this._rowStartIndex=C,this._rowStopIndex=I}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&fE(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=EE(this._debounceScrollEndedCallback,e)}},{key:"_handleInvalidatedGridSize",value:function(){var e,t;"number"==typeof this._deferredInvalidateColumnIndex&&"number"==typeof this._deferredInvalidateRowIndex&&(e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex,this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t}))}},{key:"_invokeOnScrollMemoizer",value:function(e){var o=this,t=e.scrollLeft,n=e.scrollTop,a=e.totalColumnsWidth,i=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var t=e.scrollLeft,e=e.scrollTop,n=o.props,A=n.height;(0,n.onScroll)({clientHeight:A,clientWidth:n.width,scrollHeight:i,scrollLeft:t,scrollTop:e,scrollWidth:a})},indices:{scrollLeft:t,scrollTop:n}})}},{key:"_isScrolling",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){var e;this._scrollbarPresenceChanged&&(e=this.props.onScrollbarPresenceChange,this._scrollbarPresenceChanged=!1,e({horizontal:0<this._horizontalScrollBarSize,size:this.state.instanceProps.scrollbarSize,vertical:0<this._verticalScrollBarSize}))}},{key:"scrollToPosition",value:function(e){var t=e.scrollLeft,e=e.scrollTop,t=k._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:t,scrollTop:e});t&&(t.needToResetStyleCache=!1,this.setState(t))}},{key:"_getCalculatedScrollLeft",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return k._getCalculatedScrollLeft(e,t)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,e=k._getScrollLeftForScrollToColumnStateUpdate(e,t);e&&(e.needToResetStyleCache=!1,this.setState(e))}},{key:"_getCalculatedScrollTop",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state;return k._getCalculatedScrollTop(e,t)}},{key:"_resetStyleCache",value:function(){var e=this._styleCache,t=this._cellCache,n=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var A=this._rowStartIndex;A<=this._rowStopIndex;A++)for(var o=this._columnStartIndex;o<=this._columnStopIndex;o++){var a=A+"-"+o;this._styleCache[a]=e[a],n&&(this._cellCache[a]=t[a])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.state,e=k._getScrollTopForScrollToRowStateUpdate(e,t);e&&(e.needToResetStyleCache=!1,this.setState(e))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n={},A=(0===e.columnCount&&0!==t.scrollLeft||0===e.rowCount&&0!==t.scrollTop?(n.scrollLeft=0,n.scrollTop=0):(e.scrollLeft!==t.scrollLeft&&e.scrollToColumn<0||e.scrollTop!==t.scrollTop&&e.scrollToRow<0)&&oE()(n,k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop})),t.instanceProps),o=(n.needToResetStyleCache=!1,e.columnWidth===A.prevColumnWidth&&e.rowHeight===A.prevRowHeight||(n.needToResetStyleCache=!0),A.columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:k._getEstimatedColumnSize(e),cellSizeGetter:k._wrapSizeGetter(e.columnWidth)}),A.rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:k._getEstimatedRowSize(e),cellSizeGetter:k._wrapSizeGetter(e.rowHeight)}),0!==A.prevColumnCount&&0!==A.prevRowCount||(A.prevColumnCount=0,A.prevRowCount=0),e.autoHeight&&!1===e.isScrolling&&!0===A.prevIsScrolling&&oE()(n,{isScrolling:!1}),void 0),a=void 0;return aE({cellCount:A.prevColumnCount,cellSize:"number"==typeof A.prevColumnWidth?A.prevColumnWidth:null,computeMetadataCallback:function(){return A.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"==typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:A.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){o=k._getScrollLeftForScrollToColumnStateUpdate(e,t)}}),aE({cellCount:A.prevRowCount,cellSize:"number"==typeof A.prevRowHeight?A.prevRowHeight:null,computeMetadataCallback:function(){return A.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"==typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:A.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){a=k._getScrollTopForScrollToRowStateUpdate(e,t)}}),A.prevColumnCount=e.columnCount,A.prevColumnWidth=e.columnWidth,A.prevIsScrolling=!0===e.isScrolling,A.prevRowCount=e.rowCount,A.prevRowHeight=e.rowHeight,A.prevScrollToColumn=e.scrollToColumn,A.prevScrollToRow=e.scrollToRow,A.scrollbarSize=e.getScrollbarSize(),void 0===A.scrollbarSize?(A.scrollbarSizeMeasured=!1,A.scrollbarSize=0):A.scrollbarSizeMeasured=!0,n.instanceProps=A,T()({},n,o,a)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"==typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"==typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(e){var t=e.prevState,n=e.scrollLeft,e=e.scrollTop,A={scrollPositionChangeReason:QE};return"number"==typeof n&&0<=n&&(A.scrollDirectionHorizontal=n>t.scrollLeft?1:-1,A.scrollLeft=n),"number"==typeof e&&0<=e&&(A.scrollDirectionVertical=e>t.scrollTop?1:-1,A.scrollTop=e),"number"==typeof n&&0<=n&&n!==t.scrollLeft||"number"==typeof e&&0<=e&&e!==t.scrollTop?A:null}},{key:"_wrapSizeGetter",value:function(e){return"function"==typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(e,t){var n=e.columnCount,A=e.height,o=e.scrollToAlignment,a=e.scrollToColumn,e=e.width,i=t.scrollLeft,t=t.instanceProps;return 0<n?(n=n-1,n=a<0?n:Math.min(n,a),a=t.rowSizeAndPositionManager.getTotalSize(),A=t.scrollbarSizeMeasured&&A<a?t.scrollbarSize:0,t.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:o,containerSize:e-A,currentOffset:i,targetIndex:n})):0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(e,t){var n=t.scrollLeft,e=k._getCalculatedScrollLeft(e,t);return"number"==typeof e&&0<=e&&n!==e?k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:e,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(e,t){var n=e.height,A=e.rowCount,o=e.scrollToAlignment,a=e.scrollToRow,e=e.width,i=t.scrollTop,t=t.instanceProps;return 0<A?(A=A-1,A=a<0?A:Math.min(A,a),a=t.columnSizeAndPositionManager.getTotalSize(),e=t.scrollbarSizeMeasured&&e<a?t.scrollbarSize:0,t.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:o,containerSize:n-e,currentOffset:i,targetIndex:A})):0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(e,t){var n=t.scrollTop,e=k._getCalculatedScrollTop(e,t);return"number"==typeof e&&0<=e&&n!==e?k._getScrollToPositionStateUpdate({prevState:t,scrollLeft:-1,scrollTop:e}):null}}]),k);function k(t){b()(this,k);var n=AE()(this,(k.__proto__||nE()(k)).call(this,t)),e=(n._onGridRenderedMemoizer=mE(),n._onScrollMemoizer=mE(!1),n._deferredInvalidateColumnIndex=null,n._deferredInvalidateRowIndex=null,n._recomputeScrollLeftFlag=!1,n._recomputeScrollTopFlag=!1,n._horizontalScrollBarSize=0,n._verticalScrollBarSize=0,n._scrollbarPresenceChanged=!1,n._renderedColumnStartIndex=0,n._renderedColumnStopIndex=0,n._renderedRowStartIndex=0,n._renderedRowStopIndex=0,n._styleCache={},n._cellCache={},n._debounceScrollEndedCallback=function(){n._disablePointerEventsTimeoutId=null,n.setState({isScrolling:!1,needToResetStyleCache:!1})},n._invokeOnGridRenderedHelper=function(){var e=n.props.onSectionRendered;n._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:n._columnStartIndex,columnOverscanStopIndex:n._columnStopIndex,columnStartIndex:n._renderedColumnStartIndex,columnStopIndex:n._renderedColumnStopIndex,rowOverscanStartIndex:n._rowStartIndex,rowOverscanStopIndex:n._rowStopIndex,rowStartIndex:n._renderedRowStartIndex,rowStopIndex:n._renderedRowStopIndex}})},n._setScrollingContainerRef=function(e){n._scrollingContainer=e},n._onScroll=function(e){e.target===n._scrollingContainer&&n.handleScrollEvent(e.target)},new hE({cellCount:t.columnCount,cellSizeGetter:function(e){return k._wrapSizeGetter(t.columnWidth)(e)},estimatedCellSize:k._getEstimatedColumnSize(t)})),A=new hE({cellCount:t.rowCount,cellSizeGetter:function(e){return k._wrapSizeGetter(t.rowHeight)(e)},estimatedCellSize:k._getEstimatedRowSize(t)});return n.state={instanceProps:{columnSizeAndPositionManager:e,rowSizeAndPositionManager:A,prevColumnWidth:t.columnWidth,prevRowHeight:t.rowHeight,prevColumnCount:t.columnCount,prevRowCount:t.rowCount,prevIsScrolling:!0===t.isScrolling,prevScrollToColumn:t.scrollToColumn,prevScrollToRow:t.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:1,scrollDirectionVertical:1,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},0<t.scrollToRow&&(n._initialScrollTop=n._getCalculatedScrollTop(t,n.state)),0<t.scrollToColumn&&(n._initialScrollLeft=n._getCalculatedScrollLeft(t,n.state)),n}S.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:function(e){for(var t=e.cellCache,n=e.cellRenderer,A=e.columnSizeAndPositionManager,o=e.columnStartIndex,a=e.columnStopIndex,i=e.deferredMeasurementCache,r=e.horizontalOffsetAdjustment,s=e.isScrolling,l=e.isScrollingOptOut,u=e.parent,c=e.rowSizeAndPositionManager,g=e.rowStartIndex,d=e.rowStopIndex,h=e.styleCache,p=e.verticalOffsetAdjustment,m=e.visibleColumnIndices,B=e.visibleRowIndices,f=[],e=A.areOffsetsAdjusted()||c.areOffsetsAdjusted(),E=!s&&!e,w=g;w<=d;w++)for(var C=c.getSizeAndPositionOfCell(w),I=o;I<=a;I++){var y=A.getSizeAndPositionOfCell(I),b=I>=m.start&&I<=m.stop&&w>=B.start&&w<=B.stop,M=w+"-"+I,Q=void 0,y=(E&&h[M]?Q=h[M]:i&&!i.has(w,I)?Q={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(Q={height:C.size,left:y.offset+r,position:"absolute",top:C.offset+p,width:y.size},h[M]=Q),{columnIndex:I,isScrolling:s,isVisible:b,key:M,parent:u,rowIndex:w,style:Q}),b=void 0;null!=(b=!l&&!s||r||p?n(y):(t[M]||(t[M]=n(y)),t[M]))&&!1!==b&&f.push(b)}return f},containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:wE.a,noContentRenderer:function(){return null},onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:function(e){var t=e.cellCount,n=e.overscanCellsCount,A=e.scrollDirection,o=e.startIndex,e=e.stopIndex;return 1===A?{overscanStartIndex:Math.max(0,o),overscanStopIndex:Math.min(t-1,e+n)}:{overscanStartIndex:Math.max(0,o-n),overscanStopIndex:Math.min(t-1,e)}},overscanRowCount:10,role:"grid",scrollingResetTimeInterval:150,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1},S.propTypes=null,Object(d.polyfill)(S);var TE=S;function SE(e){var t=e.cellCount,n=e.overscanCellsCount,A=e.scrollDirection,o=e.startIndex,e=e.stopIndex,n=Math.max(1,n);return 1===A?{overscanStartIndex:Math.max(0,o-1),overscanStopIndex:Math.min(t-1,e+n)}:{overscanStartIndex:Math.max(0,o-n),overscanStopIndex:Math.min(t-1,e+1)}}Q=M.PureComponent,a()(kE,Q),g()(kE,[{key:"setScrollIndexes",value:function(e){var t=e.scrollToColumn,e=e.scrollToRow;this.setState({scrollToRow:e,scrollToColumn:t})}},{key:"render",value:function(){var e=this.props,t=e.className,e=e.children,n=this._getScrollState(),A=n.scrollToColumn,n=n.scrollToRow;return M.createElement("div",{className:t,onKeyDown:this._onKeyDown},e({onSectionRendered:this._onSectionRendered,scrollToColumn:A,scrollToRow:n}))}},{key:"_getScrollState",value:function(){return this.props.isControlled?this.props:this.state}},{key:"_updateScrollState",value:function(e){var t=e.scrollToColumn,e=e.scrollToRow,n=this.props,A=n.isControlled,n=n.onScrollToChange;"function"==typeof n&&n({scrollToColumn:t,scrollToRow:e}),A||this.setState({scrollToColumn:t,scrollToRow:e})}}],[{key:"getDerivedStateFromProps",value:function(e,t){return!e.isControlled&&(e.scrollToColumn!==t.scrollToColumn||e.scrollToRow!==t.scrollToRow)?{scrollToColumn:e.scrollToColumn,scrollToRow:e.scrollToRow}:null}}]);S=kE;function kE(){var l,e;b()(this,kE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=l=AE()(this,(e=kE.__proto__||nE()(kE)).call.apply(e,[this].concat(n)))).state={scrollToColumn:0,scrollToRow:0},l._columnStartIndex=0,l._columnStopIndex=0,l._rowStartIndex=0,l._rowStopIndex=0,l._onKeyDown=function(e){var t=l.props,n=t.columnCount,A=t.disabled,o=t.mode,a=t.rowCount;if(!A){var t=l._getScrollState(),A=t.scrollToColumn,t=t.scrollToRow,i=l._getScrollState(),r=i.scrollToColumn,s=i.scrollToRow;switch(e.key){case"ArrowDown":s="cells"===o?Math.min(s+1,a-1):Math.min(l._rowStopIndex+1,a-1);break;case"ArrowLeft":r="cells"===o?Math.max(r-1,0):Math.max(l._columnStartIndex-1,0);break;case"ArrowRight":r="cells"===o?Math.min(r+1,n-1):Math.min(l._columnStopIndex+1,n-1);break;case"ArrowUp":s="cells"===o?Math.max(s-1,0):Math.max(l._rowStartIndex-1,0)}r===A&&s===t||(e.preventDefault(),l._updateScrollState({scrollToColumn:r,scrollToRow:s}))}},l._onSectionRendered=function(e){var t=e.columnStartIndex,n=e.columnStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;l._columnStartIndex=t,l._columnStopIndex=n,l._rowStartIndex=A,l._rowStopIndex=e},e=e,AE()(l,e)}S.defaultProps={disabled:!1,isControlled:!1,mode:"edges",scrollToColumn:0,scrollToRow:0},S.propTypes=null,Object(d.polyfill)(S);var DE=e(310),S=(Q=M.PureComponent,a()(vE,Q),g()(vE,[{key:"componentDidMount",value:function(){var e=this.props.nonce;this._autoSizer&&this._autoSizer.parentNode&&this._autoSizer.parentNode.ownerDocument&&this._autoSizer.parentNode.ownerDocument.defaultView&&this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement&&(this._parentNode=this._autoSizer.parentNode,this._detectElementResize=Object(DE.a)(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.className,A=e.disableHeight,o=e.disableWidth,e=e.style,a=this.state,i=a.height,a=a.width,r={overflow:"visible"},s={};return A||(r.height=0,s.height=i),o||(r.width=0,s.width=a),M.createElement("div",{className:n,ref:this._setRef,style:T()({},r,e)},t(s))}}]),vE);function vE(){var l,e;b()(this,vE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=l=AE()(this,(e=vE.__proto__||nE()(vE)).call.apply(e,[this].concat(n)))).state={height:l.props.defaultHeight||0,width:l.props.defaultWidth||0},l._onResize=function(){var e,t,n,A,o,a,i=l.props,r=i.disableHeight,s=i.disableWidth,i=i.onResize;l._parentNode&&(e=l._parentNode.offsetHeight||0,t=l._parentNode.offsetWidth||0,a=window.getComputedStyle(l._parentNode)||{},n=parseInt(a.paddingLeft,10)||0,A=parseInt(a.paddingRight,10)||0,o=parseInt(a.paddingTop,10)||0,a=parseInt(a.paddingBottom,10)||0,!r&&l.state.height!==e-o-a||!s&&l.state.width!==t-n-A)&&(l.setState({height:e-o-a,width:t-n-A}),i({height:e,width:t}))},l._setRef=function(e){l._autoSizer=e},e=e,AE()(l,e)}S.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}},S.propTypes=null;Q=M.PureComponent,a()(NE,Q),g()(NE,[{key:"componentDidMount",value:function(){this._maybeMeasureCell()}},{key:"componentDidUpdate",value:function(){this._maybeMeasureCell()}},{key:"render",value:function(){var e=this.props.children;return"function"==typeof e?e({measure:this._measure}):e}},{key:"_getCellMeasurements",value:function(){var e,t,n,A=this.props.cache,o=Object(j0.findDOMNode)(this);return o&&o.ownerDocument&&o.ownerDocument.defaultView&&o instanceof o.ownerDocument.defaultView.HTMLElement?(e=o.style.width,t=o.style.height,A.hasFixedWidth()||(o.style.width="auto"),A.hasFixedHeight()||(o.style.height="auto"),A=Math.ceil(o.offsetHeight),n=Math.ceil(o.offsetWidth),e&&(o.style.width=e),t&&(o.style.height=t),{height:A,width:n}):{height:0,width:0}}},{key:"_maybeMeasureCell",value:function(){var e,t,n=this.props,A=n.cache,o=n.columnIndex,o=void 0===o?0:o,a=n.parent,n=n.rowIndex,n=void 0===n?this.props.index||0:n;A.has(n,o)||(e=(t=this._getCellMeasurements()).height,t=t.width,A.set(n,o,t,e),a&&"function"==typeof a.invalidateCellSizeAfterRender&&a.invalidateCellSizeAfterRender({columnIndex:o,rowIndex:n}))}}]);S=NE;function NE(){var i,e;b()(this,NE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(i=AE()(this,(e=NE.__proto__||nE()(NE)).call.apply(e,[this].concat(n))))._measure=function(){var e=i.props,t=e.cache,n=e.columnIndex,n=void 0===n?0:n,A=e.parent,e=e.rowIndex,e=void 0===e?i.props.index||0:e,o=i._getCellMeasurements(),a=o.height,o=o.width;a===t.getHeight(e,n)&&o===t.getWidth(e,n)||(t.set(e,n,o,a),A&&"function"==typeof A.recomputeGridSize&&A.recomputeGridSize({columnIndex:n,rowIndex:e}))},e=i,AE()(i,e)}S.__internalCellMeasurerFlag=!1,S.propTypes=null;function OE(){var t=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=(b()(this,OE),this._cellHeightCache={},this._cellWidthCache={},this._columnWidthCache={},this._rowHeightCache={},this._columnCount=0,this._rowCount=0,this.columnWidth=function(e){e=e.index,e=t._keyMapper(0,e);return t._columnWidthCache.hasOwnProperty(e)?t._columnWidthCache[e]:t._defaultWidth},this.rowHeight=function(e){e=e.index,e=t._keyMapper(e,0);return t._rowHeightCache.hasOwnProperty(e)?t._rowHeightCache[e]:t._defaultHeight},e.defaultHeight),A=e.defaultWidth,o=e.fixedHeight,a=e.fixedWidth,i=e.keyMapper,r=e.minHeight,e=e.minWidth;this._hasFixedHeight=!0===o,this._hasFixedWidth=!0===a,this._minHeight=r||0,this._minWidth=e||0,this._keyMapper=i||FE,this._defaultHeight=Math.max(this._minHeight,"number"==typeof n?n:30),this._defaultWidth=Math.max(this._minWidth,"number"==typeof A?A:100)}g()(OE,[{key:"clear",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=this._keyMapper(e,t);delete this._cellHeightCache[n],delete this._cellWidthCache[n],this._updateCachedColumnAndRowSizes(e,t)}},{key:"clearAll",value:function(){this._cellHeightCache={},this._cellWidthCache={},this._columnWidthCache={},this._rowHeightCache={},this._rowCount=0,this._columnCount=0}},{key:"hasFixedHeight",value:function(){return this._hasFixedHeight}},{key:"hasFixedWidth",value:function(){return this._hasFixedWidth}},{key:"getHeight",value:function(e){return!this._hasFixedHeight&&(e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0),this._cellHeightCache.hasOwnProperty(e))?Math.max(this._minHeight,this._cellHeightCache[e]):this._defaultHeight}},{key:"getWidth",value:function(e){return!this._hasFixedWidth&&(e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0),this._cellWidthCache.hasOwnProperty(e))?Math.max(this._minWidth,this._cellWidthCache[e]):this._defaultWidth}},{key:"has",value:function(e){e=this._keyMapper(e,1<arguments.length&&void 0!==arguments[1]?arguments[1]:0);return this._cellHeightCache.hasOwnProperty(e)}},{key:"set",value:function(e,t,n,A){var o=this._keyMapper(e,t);t>=this._columnCount&&(this._columnCount=t+1),e>=this._rowCount&&(this._rowCount=e+1),this._cellHeightCache[o]=A,this._cellWidthCache[o]=n,this._updateCachedColumnAndRowSizes(e,t)}},{key:"_updateCachedColumnAndRowSizes",value:function(e,t){if(!this._hasFixedWidth){for(var n=0,A=0;A<this._rowCount;A++)n=Math.max(n,this.getWidth(A,t));var o=this._keyMapper(0,t);this._columnWidthCache[o]=n}if(!this._hasFixedHeight){for(var a=0,i=0;i<this._columnCount;i++)a=Math.max(a,this.getHeight(e,i));o=this._keyMapper(e,0);this._rowHeightCache[o]=a}}},{key:"defaultHeight",get:function(){return this._defaultHeight}},{key:"defaultWidth",get:function(){return this._defaultWidth}}]);function FE(e,t){return e+"-"+t}var RE="observed",YE="requested",S=(Q=M.PureComponent,a()(xE,Q),g()(xE,[{key:"recomputeCellSizesAndPositions",value:function(){this._calculateSizeAndPositionDataOnNextUpdate=!0,this.forceUpdate()}},{key:"componentDidMount",value:function(){var e=this.props,t=e.cellLayoutManager,n=e.scrollLeft,A=e.scrollToCell,e=e.scrollTop,A=(this._scrollbarSizeMeasured||(this._scrollbarSize=wE()(),this._scrollbarSizeMeasured=!0,this.setState({})),0<=A?this._updateScrollPositionForScrollToCell():(0<=n||0<=e)&&this._setScrollPosition({scrollLeft:n,scrollTop:e}),this._invokeOnSectionRenderedHelper(),t.getTotalSize()),t=A.height,A=A.width;this._invokeOnScrollMemoizer({scrollLeft:n||0,scrollTop:e||0,totalHeight:t,totalWidth:A})}},{key:"componentDidUpdate",value:function(e,t){var n=this.props,A=n.height,o=n.scrollToAlignment,a=n.scrollToCell,n=n.width,i=this.state,r=i.scrollLeft,s=i.scrollPositionChangeReason,i=i.scrollTop;s===YE&&(0<=r&&r!==t.scrollLeft&&r!==this._scrollingContainer.scrollLeft&&(this._scrollingContainer.scrollLeft=r),0<=i)&&i!==t.scrollTop&&i!==this._scrollingContainer.scrollTop&&(this._scrollingContainer.scrollTop=i),A===e.height&&o===e.scrollToAlignment&&a===e.scrollToCell&&n===e.width||this._updateScrollPositionForScrollToCell(),this._invokeOnSectionRenderedHelper()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoHeight,n=e.cellCount,A=e.cellLayoutManager,o=e.className,a=e.height,i=e.horizontalOverscanSize,r=e.id,s=e.noContentRenderer,l=e.style,u=e.verticalOverscanSize,e=e.width,c=this.state,g=c.isScrolling,d=c.scrollLeft,c=c.scrollTop,h=(this._lastRenderedCellCount===n&&this._lastRenderedCellLayoutManager===A&&!this._calculateSizeAndPositionDataOnNextUpdate||(this._lastRenderedCellCount=n,this._lastRenderedCellLayoutManager=A,this._calculateSizeAndPositionDataOnNextUpdate=!1,A.calculateSizeAndPositionData()),A.getTotalSize()),p=h.height,h=h.width,m=Math.max(0,d-i),B=Math.max(0,c-u),d=Math.min(h,d+e+i),i=Math.min(p,c+a+u),c=0<a&&0<e?A.cellRenderers({height:i-B,isScrolling:g,width:d-m,x:m,y:B}):[],u={boxSizing:"border-box",direction:"ltr",height:t?"auto":a,position:"relative",WebkitOverflowScrolling:"touch",width:e,willChange:"transform"},A=a<p?this._scrollbarSize:0,i=e<h?this._scrollbarSize:0;return u.overflowX=h+A<=e?"hidden":"auto",u.overflowY=p+i<=a?"hidden":"auto",M.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:J()("ReactVirtualized__Collection",o),id:r,onScroll:this._onScroll,role:"grid",style:T()({},u,l),tabIndex:0},0<n&&M.createElement("div",{className:"ReactVirtualized__Collection__innerScrollContainer",style:{height:p,maxHeight:p,maxWidth:h,overflow:"hidden",pointerEvents:g?"none":"",width:h}},c),0===n&&s())}},{key:"_enablePointerEventsAfterDelay",value:function(){var e=this;this._disablePointerEventsTimeoutId&&clearTimeout(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=setTimeout(function(){(0,e.props.isScrollingChange)(!1),e._disablePointerEventsTimeoutId=null,e.setState({isScrolling:!1})},150)}},{key:"_invokeOnScrollMemoizer",value:function(e){var o=this,t=e.scrollLeft,n=e.scrollTop,a=e.totalHeight,i=e.totalWidth;this._onScrollMemoizer({callback:function(e){var t=e.scrollLeft,e=e.scrollTop,n=o.props,A=n.height;(0,n.onScroll)({clientHeight:A,clientWidth:n.width,scrollHeight:a,scrollLeft:t,scrollTop:e,scrollWidth:i})},indices:{scrollLeft:t,scrollTop:n}})}},{key:"_setScrollPosition",value:function(e){var t=e.scrollLeft,e=e.scrollTop,n={scrollPositionChangeReason:YE};0<=t&&(n.scrollLeft=t),0<=e&&(n.scrollTop=e),(0<=t&&t!==this.state.scrollLeft||0<=e&&e!==this.state.scrollTop)&&this.setState(n)}}],[{key:"getDerivedStateFromProps",value:function(e,t){return 0!==e.cellCount||0===t.scrollLeft&&0===t.scrollTop?e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:(null!=e.scrollLeft?e:t).scrollLeft,scrollTop:(null!=e.scrollTop?e:t).scrollTop}:null:{scrollLeft:0,scrollTop:0}}}]),xE);function xE(){var e;b()(this,xE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];var r=AE()(this,(e=xE.__proto__||nE()(xE)).call.apply(e,[this].concat(n)));return r.state={isScrolling:!1,scrollLeft:0,scrollTop:0},r._calculateSizeAndPositionDataOnNextUpdate=!1,r._onSectionRenderedMemoizer=mE(),r._onScrollMemoizer=mE(!1),r._invokeOnSectionRenderedHelper=function(){var e=r.props,t=e.cellLayoutManager,e=e.onSectionRendered;r._onSectionRenderedMemoizer({callback:e,indices:{indices:t.getLastRenderedIndices()}})},r._setScrollingContainerRef=function(e){r._scrollingContainer=e},r._updateScrollPositionForScrollToCell=function(){var e=r.props,t=e.cellLayoutManager,n=e.height,A=e.scrollToAlignment,o=e.scrollToCell,e=e.width,a=r.state,i=a.scrollLeft,a=a.scrollTop;0<=o&&((t=t.getScrollPositionForCell({align:A,cellIndex:o,height:n,scrollLeft:i,scrollTop:a,width:e})).scrollLeft===i&&t.scrollTop===a||r._setScrollPosition(t))},r._onScroll=function(e){var t,n,A,o,a,i;e.target===r._scrollingContainer&&(r._enablePointerEventsAfterDelay(),A=(o=r.props).cellLayoutManager,a=o.height,t=o.isScrollingChange,o=o.width,i=r._scrollbarSize,n=(A=A.getTotalSize()).height,A=A.width,o=Math.max(0,Math.min(A-o+i,e.target.scrollLeft)),a=Math.max(0,Math.min(n-a+i,e.target.scrollTop)),r.state.scrollLeft===o&&r.state.scrollTop===a||(i=e.cancelable?RE:YE,r.state.isScrolling||t(!0),r.setState({isScrolling:!0,scrollLeft:o,scrollPositionChangeReason:i,scrollTop:a})),r._invokeOnScrollMemoizer({scrollLeft:o,scrollTop:a,totalWidth:A,totalHeight:n}))},r._scrollbarSize=wE()(),void 0===r._scrollbarSize?(r._scrollbarSizeMeasured=!1,r._scrollbarSize=0):r._scrollbarSizeMeasured=!0,r}S.defaultProps={"aria-label":"grid",horizontalOverscanSize:0,noContentRenderer:function(){return null},onScroll:function(){return null},onSectionRendered:function(){return null},scrollToAlignment:"auto",scrollToCell:-1,style:{},verticalOverscanSize:0},S.propTypes={},Object(d.polyfill)(S);var _E=S;function UE(e){var t=e.height,n=e.width,A=e.x,e=e.y;b()(this,UE),this.height=t,this.width=n,this.x=A,this.y=e,this._indexMap={},this._indices=[]}g()(UE,[{key:"addCellIndex",value:function(e){e=e.index;this._indexMap[e]||(this._indexMap[e]=!0,this._indices.push(e))}},{key:"getCellIndices",value:function(){return this._indices}},{key:"toString",value:function(){return this.x+","+this.y+" "+this.width+"x"+this.height}}]);var GE=UE;function LE(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:100;b()(this,LE),this._sectionSize=e,this._cellMetadata=[],this._sections={}}g()(LE,[{key:"getCellIndices",value:function(e){var t=e.height,n=e.width,A=e.x,e=e.y,o={};return this.getSections({height:t,width:n,x:A,y:e}).forEach(function(e){return e.getCellIndices().forEach(function(e){o[e]=e})}),pE()(o).map(function(e){return o[e]})}},{key:"getCellMetadata",value:function(e){e=e.index;return this._cellMetadata[e]}},{key:"getSections",value:function(e){for(var t=e.height,n=e.width,A=e.x,e=e.y,o=Math.floor(A/this._sectionSize),a=Math.floor((A+n-1)/this._sectionSize),i=Math.floor(e/this._sectionSize),r=Math.floor((e+t-1)/this._sectionSize),s=[],l=o;l<=a;l++)for(var u=i;u<=r;u++){var c=l+"."+u;this._sections[c]||(this._sections[c]=new GE({height:this._sectionSize,width:this._sectionSize,x:l*this._sectionSize,y:u*this._sectionSize})),s.push(this._sections[c])}return s}},{key:"getTotalSectionCount",value:function(){return pE()(this._sections).length}},{key:"toString",value:function(){var t=this;return pE()(this._sections).map(function(e){return t._sections[e].toString()})}},{key:"registerCell",value:function(e){var t=e.cellMetadatum,n=e.index;this._cellMetadata[n]=t,this.getSections(t).forEach(function(e){return e.addCellIndex({index:n})})}}]);var PE=LE;function HE(e){var t=e.align,n=e.cellOffset,A=e.cellSize,o=e.containerSize,a=e.currentOffset,i=n,r=i-o+A;switch(void 0===t?"auto":t){case"start":return i;case"end":return r;case"center":return i-(o-A)/2;default:return Math.max(r,Math.min(i,a))}}Q=M.PureComponent,a()(jE,Q),g()(jE,[{key:"forceUpdate",value:function(){void 0!==this._collectionView&&this._collectionView.forceUpdate()}},{key:"recomputeCellSizesAndPositions",value:function(){this._cellCache=[],this._collectionView.recomputeCellSizesAndPositions()}},{key:"render",value:function(){var e=iE()(this.props,[]);return M.createElement(_E,T()({cellLayoutManager:this,isScrollingChange:this._isScrollingChange,ref:this._setCollectionViewRef},e))}},{key:"calculateSizeAndPositionData",value:function(){var e=this.props,e=function(e){for(var t=e.cellCount,n=e.cellSizeAndPositionGetter,e=e.sectionSize,A=[],o=new PE(e),a=0,i=0,r=0;r<t;r++){var s=n({index:r});if(null==s.height||isNaN(s.height)||null==s.width||isNaN(s.width)||null==s.x||isNaN(s.x)||null==s.y||isNaN(s.y))throw Error("Invalid metadata returned for cell "+r+":\n x:"+s.x+", y:"+s.y+", width:"+s.width+", height:"+s.height);a=Math.max(a,s.y+s.height),i=Math.max(i,s.x+s.width),o.registerCell({cellMetadatum:A[r]=s,index:r})}return{cellMetadata:A,height:a,sectionManager:o,width:i}}({cellCount:e.cellCount,cellSizeAndPositionGetter:e.cellSizeAndPositionGetter,sectionSize:e.sectionSize});this._cellMetadata=e.cellMetadata,this._sectionManager=e.sectionManager,this._height=e.height,this._width=e.width}},{key:"getLastRenderedIndices",value:function(){return this._lastRenderedCellIndices}},{key:"getScrollPositionForCell",value:function(e){var t=e.align,n=e.cellIndex,A=e.height,o=e.scrollLeft,a=e.scrollTop,e=e.width,i=this.props.cellCount;return 0<=n&&n<i&&(o=HE({align:t,cellOffset:(i=this._cellMetadata[n]).x,cellSize:i.width,containerSize:e,currentOffset:o,targetIndex:n}),a=HE({align:t,cellOffset:i.y,cellSize:i.height,containerSize:A,currentOffset:a,targetIndex:n})),{scrollLeft:o,scrollTop:a}}},{key:"getTotalSize",value:function(){return{height:this._height,width:this._width}}},{key:"cellRenderers",value:function(e){var t=this,n=e.height,A=e.isScrolling,o=e.width,a=e.x,e=e.y,i=this.props,r=i.cellGroupRenderer,i=i.cellRenderer;return this._lastRenderedCellIndices=this._sectionManager.getCellIndices({height:n,width:o,x:a,y:e}),r({cellCache:this._cellCache,cellRenderer:i,cellSizeAndPositionGetter:function(e){e=e.index;return t._sectionManager.getCellMetadata({index:e})},indices:this._lastRenderedCellIndices,isScrolling:A})}},{key:"_isScrollingChange",value:function(e){e||(this._cellCache=[])}},{key:"_setCollectionViewRef",value:function(e){this._collectionView=e}}]);S=jE;function jE(e,t){b()(this,jE);e=AE()(this,(jE.__proto__||nE()(jE)).call(this,e,t));return e._cellMetadata=[],e._lastRenderedCellIndices=[],e._cellCache=[],e._isScrollingChange=e._isScrollingChange.bind(e),e._setCollectionViewRef=e._setCollectionViewRef.bind(e),e}S.defaultProps={"aria-label":"grid",cellGroupRenderer:function(e){var n=e.cellCache,A=e.cellRenderer,o=e.cellSizeAndPositionGetter,t=e.indices,a=e.isScrolling;return t.map(function(e){var t=o({index:e}),t={index:e,isScrolling:a,key:e,style:{height:t.height,left:t.x,position:"absolute",top:t.y,width:t.width}};return a?(e in n||(n[e]=A(t)),n[e]):A(t)}).filter(function(e){return!!e})}};S.propTypes={};function zE(e,t){b()(this,zE);e=AE()(this,(zE.__proto__||nE()(zE)).call(this,e,t));return e._registerChild=e._registerChild.bind(e),e}Q=M.PureComponent,a()(zE,Q),g()(zE,[{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.columnMaxWidth,A=t.columnMinWidth,o=t.columnCount,t=t.width;n===e.columnMaxWidth&&A===e.columnMinWidth&&o===e.columnCount&&t===e.width||this._registeredChild&&this._registeredChild.recomputeGridSize()}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.columnMaxWidth,A=e.columnMinWidth,o=e.columnCount,e=e.width,A=A||1,n=n?Math.min(n,e):e,a=e/o,a=Math.max(A,a);return a=Math.min(n,a),a=Math.floor(a),t({adjustedWidth:Math.min(e,a*o),columnWidth:a,getColumnWidth:function(){return a},registerChild:this._registerChild})}},{key:"_registerChild",value:function(e){if(e&&"function"!=typeof e.recomputeGridSize)throw Error("Unexpected child type registered; only Grid/MultiGrid children are supported.");this._registeredChild=e,this._registeredChild&&this._registeredChild.recomputeGridSize()}}]);zE.propTypes={},S=M.PureComponent,a()(JE,S),g()(JE,[{key:"resetLoadMoreRowsCache",value:function(e){this._loadMoreRowsMemoizer=mE(),e&&this._doStuff(this._lastRenderedStartIndex,this._lastRenderedStopIndex)}},{key:"render",value:function(){return(0,this.props.children)({onRowsRendered:this._onRowsRendered,registerChild:this._registerChild})}},{key:"_loadUnloadedRanges",value:function(e){var a=this,t=this.props.loadMoreRows;e.forEach(function(o){var e=t(o);e&&e.then(function(){var e,t,n,A;e={lastRenderedStartIndex:a._lastRenderedStartIndex,lastRenderedStopIndex:a._lastRenderedStopIndex,startIndex:o.startIndex,stopIndex:o.stopIndex},t=e.lastRenderedStartIndex,n=e.lastRenderedStopIndex,A=e.startIndex,e=e.stopIndex,n<A||e<t||a._registeredChild&&function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n="function"==typeof e.recomputeGridSize?e.recomputeGridSize:e.recomputeRowHeights;n?n.call(e,t):e.forceUpdate()}(a._registeredChild,a._lastRenderedStartIndex)})})}},{key:"_onRowsRendered",value:function(e){var t=e.startIndex,e=e.stopIndex;this._lastRenderedStartIndex=t,this._lastRenderedStopIndex=e,this._doStuff(t,e)}},{key:"_doStuff",value:function(e,t){var n=this,A=this.props,o=A.isRowLoaded,a=A.minimumBatchSize,i=A.rowCount,A=A.threshold,r=function(e){for(var t=e.isRowLoaded,n=e.minimumBatchSize,A=e.rowCount,o=e.startIndex,a=e.stopIndex,i=[],r=null,s=null,l=o;l<=a;l++)t({index:l})?null!==s&&(i.push({startIndex:r,stopIndex:s}),r=s=null):(s=l,null===r&&(r=l));if(null!==s){for(var u=Math.min(Math.max(s,r+n-1),A-1),c=s+1;c<=u&&!t({index:c});c++)s=c;i.push({startIndex:r,stopIndex:s})}if(i.length)for(var g=i[0];g.stopIndex-g.startIndex+1<n&&0<g.startIndex;){var d=g.startIndex-1;if(t({index:d}))break;g.startIndex=d}return i}({isRowLoaded:o,minimumBatchSize:a,rowCount:i,startIndex:Math.max(0,e-A),stopIndex:Math.min(i-1,t+A)}),o=r.reduce(function(e,t){return e.concat([t.startIndex,t.stopIndex])},[]);this._loadMoreRowsMemoizer({callback:function(){n._loadUnloadedRanges(r)},indices:{squashedUnloadedRanges:o}})}},{key:"_registerChild",value:function(e){this._registeredChild=e}}]),Q=JE;function JE(e,t){b()(this,JE);e=AE()(this,(JE.__proto__||nE()(JE)).call(this,e,t));return e._loadMoreRowsMemoizer=mE(),e._onRowsRendered=e._onRowsRendered.bind(e),e._registerChild=e._registerChild.bind(e),e}Q.defaultProps={minimumBatchSize:10,rowCount:0,threshold:15};Q.propTypes={};var S=e(815),WE=e.n(S),S=(Q=M.PureComponent,a()(VE,Q),g()(VE,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,e=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:e,columnIndex:0}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:e,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.recomputeGridSize({rowIndex:void 0===e?0:e,columnIndex:void 0===t?0:t})}},{key:"recomputeRowHeights",value:function(){this.Grid&&this.Grid.recomputeGridSize({rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,columnIndex:0})}},{key:"scrollToPosition",value:function(){this.Grid&&this.Grid.scrollToPosition({scrollTop:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToRow",value:function(){this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.noRowsRenderer,A=e.scrollToIndex,e=e.width,t=J()("ReactVirtualized__List",t);return M.createElement(TE,T()({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:t,columnWidth:e,columnCount:1,noContentRenderer:n,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:A}))}}]),VE);function VE(){var r,e;b()(this,VE);for(var t=arguments.length,n=Array(t),A=0;A<t;A++)n[A]=arguments[A];return(e=r=AE()(this,(e=VE.__proto__||nE()(VE)).call.apply(e,[this].concat(n))))._cellRenderer=function(e){var t=e.parent,n=e.rowIndex,A=e.style,o=e.isScrolling,a=e.isVisible,e=e.key,i=r.props.rowRenderer;return WE()(A,"width").writable&&(A.width="100%"),i({index:n,style:A,isScrolling:o,isVisible:a,key:e,parent:t})},r._setRef=function(e){r.Grid=e},r._onScroll=function(e){var t=e.clientHeight,n=e.scrollHeight,e=e.scrollTop;(0,r.props.onScroll)({clientHeight:t,scrollHeight:n,scrollTop:e})},r._onSectionRendered=function(e){var t=e.rowOverscanStartIndex,n=e.rowOverscanStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;(0,r.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:n,startIndex:A,stopIndex:e})},e=e,AE()(r,e)}S.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:SE,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}},S.propTypes=null;var KE=S,Q=e(246),XE=e.n(Q),S=e(816),qE=e.n(S);var ZE={ge:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=r+1;i<=r;){var c=i+r>>>1;0<=l(a[c],s)?r=(u=c)-1:i=1+c}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=h+1;d<=h;){var B=d+h>>>1;p<=g[B]?h=(m=B)-1:d=1+B}return m},gt:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=r+1;i<=r;){var c=i+r>>>1;0<l(a[c],s)?r=(u=c)-1:i=1+c}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=h+1;d<=h;){var B=d+h>>>1;p<g[B]?h=(m=B)-1:d=1+B}return m},lt:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=i-1;i<=r;){var c=i+r>>>1;l(a[c],s)<0?i=1+(u=c):r=c-1}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=d-1;d<=h;){var B=d+h>>>1;g[B]<p?d=1+(m=B):h=B-1}return m},le:function(e,t,n,A,o){if("function"==typeof n){for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n,u=i-1;i<=r;){var c=i+r>>>1;l(a[c],s)<=0?i=1+(u=c):r=c-1}return u}for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t,m=d-1;d<=h;){var B=d+h>>>1;g[B]<=p?d=1+(m=B):h=B-1}return m},eq:function(e,t,n,A,o){if("function"==typeof n)for(var a=e,i=void 0===A?0:0|A,r=void 0===o?e.length-1:0|o,s=t,l=n;i<=r;){var u=i+r>>>1,c=l(a[u],s);if(0===c)return u;c<=0?i=1+u:r=u-1}else for(var g=e,d=void 0===n?0:0|n,h=void 0===A?e.length-1:0|A,p=t;d<=h;){var m=d+h>>>1,B=g[m];if(B===p)return m;B<=p?d=1+m:h=m-1}return-1}};function $E(e,t,n,A,o){this.mid=e,this.left=t,this.right=n,this.leftPoints=A,this.rightPoints=o,this.count=(t?t.count:0)+(n?n.count:0)+A.length}Q=$E.prototype;function e1(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function t1(e,t){t=u1(t);e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function n1(e,t){var n=e.intervals([]);n.push(t),t1(e,n)}function A1(e,t){var n=e.intervals([]),t=n.indexOf(t);return t<0?0:(n.splice(t,1),t1(e,n),1)}function o1(e,t,n){for(var A=0;A<e.length&&e[A][0]<=t;++A){var o=n(e[A]);if(o)return o}}function a1(e,t,n){for(var A=e.length-1;0<=A&&e[A][1]>=t;--A){var o=n(e[A]);if(o)return o}}function i1(e,t){for(var n=0;n<e.length;++n){var A=t(e[n]);if(A)return A}}function r1(e,t){return e-t}function s1(e,t){var n=e[0]-t[0];return n||e[1]-t[1]}function l1(e,t){var n=e[1]-t[1];return n||e[0]-t[0]}function u1(e){if(0===e.length)return null;for(var t=[],n=0;n<e.length;++n)t.push(e[n][0],e[n][1]);t.sort(r1);for(var A=t[t.length>>1],o=[],a=[],i=[],n=0;n<e.length;++n){var r=e[n];(r[1]<A?o:A<r[0]?a:i).push(r)}var s=i,l=i.slice();return s.sort(s1),l.sort(l1),new $E(A,u1(o),u1(a),s,l)}function c1(e){this.root=e}Q.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e},Q.insert=function(e){var t,n=this.count-this.leftPoints.length;this.count+=1,e[1]<this.mid?this.left?4*(this.left.count+1)>3*(1+n)?n1(this,e):this.left.insert(e):this.left=u1([e]):e[0]>this.mid?this.right?4*(this.right.count+1)>3*(1+n)?n1(this,e):this.right.insert(e):this.right=u1([e]):(n=ZE.ge(this.leftPoints,e,s1),t=ZE.ge(this.rightPoints,e,l1),this.leftPoints.splice(n,0,e),this.rightPoints.splice(t,0,e))},Q.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid)return this.left?3*(t-1)<4*(this.right?this.right.count:0)?A1(this,e):2===(a=this.left.remove(e))?(this.left=null,--this.count,1):(1===a&&--this.count,a):0;if(e[0]>this.mid)return this.right?3*(t-1)<4*(this.left?this.left.count:0)?A1(this,e):2===(a=this.right.remove(e))?(this.right=null,--this.count,1):(1===a&&--this.count,a):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var n=this,A=this.left;A.right;)A=(n=A).right;n===this?A.right=this.right:(o=this.left,a=this.right,n.count-=A.count,n.right=A.left,A.left=o,A.right=a),e1(this,A),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?e1(this,this.left):e1(this,this.right);return 1}for(var o=ZE.ge(this.leftPoints,e,s1);o<this.leftPoints.length&&this.leftPoints[o][0]===e[0];++o)if(this.leftPoints[o]===e){--this.count,this.leftPoints.splice(o,1);for(var a=ZE.ge(this.rightPoints,e,l1);a<this.rightPoints.length&&this.rightPoints[a][1]===e[1];++a)if(this.rightPoints[a]===e)return this.rightPoints.splice(a,1),1}return 0},Q.queryPoint=function(e,t){if(e<this.mid){if(this.left)if(n=this.left.queryPoint(e,t))return n;return o1(this.leftPoints,e,t)}if(e>this.mid){var n;if(this.right)if(n=this.right.queryPoint(e,t))return n;return a1(this.rightPoints,e,t)}return i1(this.leftPoints,t)},Q.queryInterval=function(e,t,n){var A;if(e<this.mid&&this.left&&(A=this.left.queryInterval(e,t,n)))return A;if(t>this.mid&&this.right&&(A=this.right.queryInterval(e,t,n)))return A;return t<this.mid?o1(this.leftPoints,t,n):e>this.mid?a1(this.rightPoints,e,n):i1(this.leftPoints,n)};S=c1.prototype;function g1(){var e;b()(this,g1),this._columnSizeMap={},this._intervalTree=e&&0!==e.length?new c1(u1(e)):new c1(null),this._leftMap={}}S.insert=function(e){this.root?this.root.insert(e):this.root=new $E(e[0],null,null,[e],[e])},S.remove=function(e){return!!this.root&&(2===(e=this.root.remove(e))&&(this.root=null),0!==e)},S.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},S.queryInterval=function(e,t,n){if(e<=t&&this.root)return this.root.queryInterval(e,t,n)},Object.defineProperty(S,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(S,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}}),g()(g1,[{key:"estimateTotalHeight",value:function(e,t,n){e-=this.count;return this.tallestColumnSize+Math.ceil(e/t)*n}},{key:"range",value:function(e,t,n){var A=this;this._intervalTree.queryInterval(e,e+t,function(e){var e=qE()(e,3),t=e[0],e=(e[1],e[2]);return n(e,A._leftMap[e],t)})}},{key:"setPosition",value:function(e,t,n,A){this._intervalTree.insert([n,n+A,e]),this._leftMap[e]=t;var e=this._columnSizeMap,o=e[t];e[t]=void 0===o?n+A:Math.max(o,n+A)}},{key:"count",get:function(){return this._intervalTree.count}},{key:"shortestColumnSize",get:function(){var e,t=this._columnSizeMap,n=0;for(e in t)var A=t[e],n=0===n?A:Math.min(n,A);return n}},{key:"tallestColumnSize",get:function(){var e,t=this._columnSizeMap,n=0;for(e in t)var A=t[e],n=Math.max(n,A);return n}}]);var d1=g1,S=(Q=M.PureComponent,a()(h1,Q),g()(h1,[{key:"clearCellPositions",value:function(){this._positionCache=new d1,this.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(e){e=e.rowIndex;null===this._invalidateOnUpdateStartIndex?(this._invalidateOnUpdateStartIndex=e,this._invalidateOnUpdateStopIndex=e):(this._invalidateOnUpdateStartIndex=Math.min(this._invalidateOnUpdateStartIndex,e),this._invalidateOnUpdateStopIndex=Math.max(this._invalidateOnUpdateStopIndex,e))}},{key:"recomputeCellPositions",value:function(){var e=this._positionCache.count-1;this._positionCache=new d1,this._populatePositionCache(0,e),this.forceUpdate()}},{key:"componentDidMount",value:function(){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback()}},{key:"componentDidUpdate",value:function(e,t){this._checkInvalidateOnUpdate(),this._invokeOnScrollCallback(),this._invokeOnCellsRenderedCallback(),this.props.scrollTop!==e.scrollTop&&this._debounceResetIsScrolling()}},{key:"componentWillUnmount",value:function(){this._debounceResetIsScrollingId&&fE(this._debounceResetIsScrollingId)}},{key:"render",value:function(){var o=this,e=this.props,t=e.autoHeight,n=e.cellCount,a=e.cellMeasurerCache,i=e.cellRenderer,A=e.className,r=e.height,s=e.id,l=e.keyMapper,u=e.overscanByPixels,c=e.role,g=e.style,d=e.tabIndex,h=e.width,p=e.rowDirection,e=this.state,m=e.isScrolling,e=e.scrollTop,B=[],f=this._getEstimatedTotalHeight(),E=this._positionCache.shortestColumnSize,w=this._positionCache.count,C=0,I=void 0;if(this._positionCache.range(Math.max(0,e-u),r+2*u,function(e,t,n){var A;I=void 0===I?C=e:(C=Math.min(C,e),Math.max(I,e)),B.push(i({index:e,isScrolling:m,key:l(e),parent:o,style:(A={height:a.getHeight(e)},XE()(A,"ltr"===p?"left":"right",t),XE()(A,"position","absolute"),XE()(A,"top",n),XE()(A,"width",a.getWidth(e)),A)}))}),E<e+r+u&&w<n)for(var y=Math.min(n-w,Math.ceil((e+r+u-E)/a.defaultHeight*h/a.defaultWidth)),b=w;b<w+y;b++)I=b,B.push(i({index:b,isScrolling:m,key:l(b),parent:this,style:{width:a.getWidth(b)}}));return this._startIndex=C,this._stopIndex=I,M.createElement("div",{ref:this._setScrollingContainerRef,"aria-label":this.props["aria-label"],className:J()("ReactVirtualized__Masonry",A),id:s,onScroll:this._onScroll,role:c,style:T()({boxSizing:"border-box",direction:"ltr",height:t?"auto":r,overflowX:"hidden",overflowY:f<r?"hidden":"auto",position:"relative",width:h,WebkitOverflowScrolling:"touch",willChange:"transform"},g),tabIndex:d},M.createElement("div",{className:"ReactVirtualized__Masonry__innerScrollContainer",style:{width:"100%",height:f,maxWidth:"100%",maxHeight:f,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"}},B))}},{key:"_checkInvalidateOnUpdate",value:function(){var e,t;"number"==typeof this._invalidateOnUpdateStartIndex&&(e=this._invalidateOnUpdateStartIndex,t=this._invalidateOnUpdateStopIndex,this._invalidateOnUpdateStartIndex=null,this._invalidateOnUpdateStopIndex=null,this._populatePositionCache(e,t),this.forceUpdate())}},{key:"_debounceResetIsScrolling",value:function(){var e=this.props.scrollingResetTimeInterval;this._debounceResetIsScrollingId&&fE(this._debounceResetIsScrollingId),this._debounceResetIsScrollingId=EE(this._debounceResetIsScrollingCallback,e)}},{key:"_getEstimatedTotalHeight",value:function(){var e=this.props,t=e.cellCount,n=e.cellMeasurerCache,e=e.width,e=Math.max(1,Math.floor(e/n.defaultWidth));return this._positionCache.estimateTotalHeight(t,e,n.defaultHeight)}},{key:"_invokeOnScrollCallback",value:function(){var e=this.props,t=e.height,e=e.onScroll,n=this.state.scrollTop;this._onScrollMemoized!==n&&(e({clientHeight:t,scrollHeight:this._getEstimatedTotalHeight(),scrollTop:n}),this._onScrollMemoized=n)}},{key:"_invokeOnCellsRenderedCallback",value:function(){this._startIndexMemoized===this._startIndex&&this._stopIndexMemoized===this._stopIndex||((0,this.props.onCellsRendered)({startIndex:this._startIndex,stopIndex:this._stopIndex}),this._startIndexMemoized=this._startIndex,this._stopIndexMemoized=this._stopIndex)}},{key:"_populatePositionCache",value:function(e,t){for(var n=this.props,A=n.cellMeasurerCache,o=n.cellPositioner,a=e;a<=t;a++){var i=o(a),r=i.left,i=i.top;this._positionCache.setPosition(a,r,i,A.getHeight(a))}}}],[{key:"getDerivedStateFromProps",value:function(e,t){return void 0!==e.scrollTop&&t.scrollTop!==e.scrollTop?{isScrolling:!0,scrollTop:e.scrollTop}:null}}]),h1);function h1(){var n,e;b()(this,h1);for(var t=arguments.length,A=Array(t),o=0;o<t;o++)A[o]=arguments[o];return(e=n=AE()(this,(e=h1.__proto__||nE()(h1)).call.apply(e,[this].concat(A)))).state={isScrolling:!1,scrollTop:0},n._invalidateOnUpdateStartIndex=null,n._invalidateOnUpdateStopIndex=null,n._positionCache=new d1,n._startIndex=null,n._startIndexMemoized=null,n._stopIndex=null,n._stopIndexMemoized=null,n._debounceResetIsScrollingCallback=function(){n.setState({isScrolling:!1})},n._setScrollingContainerRef=function(e){n._scrollingContainer=e},n._onScroll=function(e){var t=n.props.height,e=e.target.scrollTop,t=Math.min(Math.max(0,n._getEstimatedTotalHeight()-t),e);e===t&&(n._debounceResetIsScrolling(),n.state.scrollTop!==t)&&n.setState({isScrolling:!0,scrollTop:t})},e=e,AE()(n,e)}function p1(){}S.defaultProps={autoHeight:!1,keyMapper:function(e){return e},onCellsRendered:p1,onScroll:p1,overscanByPixels:20,role:"grid",scrollingResetTimeInterval:150,style:{},tabIndex:0,rowDirection:"ltr"};S.propTypes=null;Object(d.polyfill)(S);function m1(){var t=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=(b()(this,m1),this.columnWidth=function(e){e=e.index;t._cellMeasurerCache.columnWidth({index:e+t._columnIndexOffset})},this.rowHeight=function(e){e=e.index;t._cellMeasurerCache.rowHeight({index:e+t._rowIndexOffset})},e.cellMeasurerCache),A=e.columnIndexOffset,A=void 0===A?0:A,e=e.rowIndexOffset,e=void 0===e?0:e;this._cellMeasurerCache=n,this._columnIndexOffset=A,this._rowIndexOffset=e}g()(m1,[{key:"clear",value:function(e,t){this._cellMeasurerCache.clear(e+this._rowIndexOffset,t+this._columnIndexOffset)}},{key:"clearAll",value:function(){this._cellMeasurerCache.clearAll()}},{key:"hasFixedHeight",value:function(){return this._cellMeasurerCache.hasFixedHeight()}},{key:"hasFixedWidth",value:function(){return this._cellMeasurerCache.hasFixedWidth()}},{key:"getHeight",value:function(e){return this._cellMeasurerCache.getHeight(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"getWidth",value:function(e){return this._cellMeasurerCache.getWidth(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"has",value:function(e){return this._cellMeasurerCache.has(e+this._rowIndexOffset,(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0)+this._columnIndexOffset)}},{key:"set",value:function(e,t,n,A){this._cellMeasurerCache.set(e+this._rowIndexOffset,t+this._columnIndexOffset,n,A)}},{key:"defaultHeight",get:function(){return this._cellMeasurerCache.defaultHeight}},{key:"defaultWidth",get:function(){return this._cellMeasurerCache.defaultWidth}}]);var B1=m1,S=(Q=M.PureComponent,a()(f1,Q),g()(f1,[{key:"forceUpdateGrids",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.forceUpdate(),this._bottomRightGrid&&this._bottomRightGrid.forceUpdate(),this._topLeftGrid&&this._topLeftGrid.forceUpdate(),this._topRightGrid&&this._topRightGrid.forceUpdate()}},{key:"invalidateCellSizeAfterRender",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,e):e}},{key:"measureAllCells",value:function(){this._bottomLeftGrid&&this._bottomLeftGrid.measureAllCells(),this._bottomRightGrid&&this._bottomRightGrid.measureAllCells(),this._topLeftGrid&&this._topLeftGrid.measureAllCells(),this._topRightGrid&&this._topRightGrid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,t=void 0===t?0:t,e=e.rowIndex,e=void 0===e?0:e,n=this.props,A=n.fixedColumnCount,n=n.fixedRowCount,A=Math.max(0,t-A),n=Math.max(0,e-n);this._bottomLeftGrid&&this._bottomLeftGrid.recomputeGridSize({columnIndex:t,rowIndex:n}),this._bottomRightGrid&&this._bottomRightGrid.recomputeGridSize({columnIndex:A,rowIndex:n}),this._topLeftGrid&&this._topLeftGrid.recomputeGridSize({columnIndex:t,rowIndex:e}),this._topRightGrid&&this._topRightGrid.recomputeGridSize({columnIndex:A,rowIndex:e}),this._leftGridWidth=null,this._topGridHeight=null,this._maybeCalculateCachedStyles(!0)}},{key:"componentDidMount",value:function(){var e,t=this.props,n=t.scrollLeft,t=t.scrollTop;(0<n||0<t)&&(e={},0<n&&(e.scrollLeft=n),0<t&&(e.scrollTop=t),this.setState(e)),this._handleInvalidatedGridSize()}},{key:"componentDidUpdate",value:function(){this._handleInvalidatedGridSize()}},{key:"render",value:function(){var e,t,n=this.props,A=n.onScroll,o=n.onSectionRendered,a=(n.onScrollbarPresenceChange,n.scrollLeft,n.scrollToColumn),i=(n.scrollTop,n.scrollToRow),n=iE()(n,["onScroll","onSectionRendered","onScrollbarPresenceChange","scrollLeft","scrollToColumn","scrollTop","scrollToRow"]);return this._prepareForRender(),0===this.props.width||0===this.props.height?null:(e=(t=this.state).scrollLeft,t=t.scrollTop,M.createElement("div",{style:this._containerOuterStyle},M.createElement("div",{style:this._containerTopStyle},this._renderTopLeftGrid(n),this._renderTopRightGrid(T()({},n,{onScroll:A,scrollLeft:e}))),M.createElement("div",{style:this._containerBottomStyle},this._renderBottomLeftGrid(T()({},n,{onScroll:A,scrollTop:t})),this._renderBottomRightGrid(T()({},n,{onScroll:A,onSectionRendered:o,scrollLeft:e,scrollToColumn:a,scrollToRow:i,scrollTop:t})))))}},{key:"_getBottomGridHeight",value:function(e){return e.height-this._getTopGridHeight(e)}},{key:"_getLeftGridWidth",value:function(e){var t=e.fixedColumnCount,n=e.columnWidth;if(null==this._leftGridWidth)if("function"==typeof n){for(var A=0,o=0;o<t;o++)A+=n({index:o});this._leftGridWidth=A}else this._leftGridWidth=n*t;return this._leftGridWidth}},{key:"_getRightGridWidth",value:function(e){return e.width-this._getLeftGridWidth(e)}},{key:"_getTopGridHeight",value:function(e){var t=e.fixedRowCount,n=e.rowHeight;if(null==this._topGridHeight)if("function"==typeof n){for(var A=0,o=0;o<t;o++)A+=n({index:o});this._topGridHeight=A}else this._topGridHeight=n*t;return this._topGridHeight}},{key:"_handleInvalidatedGridSize",value:function(){var e,t;"number"==typeof this._deferredInvalidateColumnIndex&&(e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex,this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t}),this.forceUpdate())}},{key:"_maybeCalculateCachedStyles",value:function(e){var t=this.props,n=t.columnWidth,A=t.enableFixedColumnScroll,o=t.enableFixedRowScroll,a=t.height,i=t.fixedColumnCount,r=t.fixedRowCount,s=t.rowHeight,l=t.style,u=t.styleBottomLeftGrid,c=t.styleBottomRightGrid,g=t.styleTopLeftGrid,d=t.styleTopRightGrid,t=t.width,h=e||a!==this._lastRenderedHeight||t!==this._lastRenderedWidth,p=e||n!==this._lastRenderedColumnWidth||i!==this._lastRenderedFixedColumnCount,m=e||r!==this._lastRenderedFixedRowCount||s!==this._lastRenderedRowHeight;(e||h||l!==this._lastRenderedStyle)&&(this._containerOuterStyle=T()({height:a,overflow:"visible",width:t},l)),(e||h||m)&&(this._containerTopStyle={height:this._getTopGridHeight(this.props),position:"relative",width:t},this._containerBottomStyle={height:a-this._getTopGridHeight(this.props),overflow:"visible",position:"relative",width:t}),!e&&u===this._lastRenderedStyleBottomLeftGrid||(this._bottomLeftGridStyle=T()({left:0,overflowX:"hidden",overflowY:A?"auto":"hidden",position:"absolute"},u)),(e||p||c!==this._lastRenderedStyleBottomRightGrid)&&(this._bottomRightGridStyle=T()({left:this._getLeftGridWidth(this.props),position:"absolute"},c)),!e&&g===this._lastRenderedStyleTopLeftGrid||(this._topLeftGridStyle=T()({left:0,overflowX:"hidden",overflowY:"hidden",position:"absolute",top:0},g)),(e||p||d!==this._lastRenderedStyleTopRightGrid)&&(this._topRightGridStyle=T()({left:this._getLeftGridWidth(this.props),overflowX:o?"auto":"hidden",overflowY:"hidden",position:"absolute",top:0},d)),this._lastRenderedColumnWidth=n,this._lastRenderedFixedColumnCount=i,this._lastRenderedFixedRowCount=r,this._lastRenderedHeight=a,this._lastRenderedRowHeight=s,this._lastRenderedStyle=l,this._lastRenderedStyleBottomLeftGrid=u,this._lastRenderedStyleBottomRightGrid=c,this._lastRenderedStyleTopLeftGrid=g,this._lastRenderedStyleTopRightGrid=d,this._lastRenderedWidth=t}},{key:"_prepareForRender",value:function(){this._lastRenderedColumnWidth===this.props.columnWidth&&this._lastRenderedFixedColumnCount===this.props.fixedColumnCount||(this._leftGridWidth=null),this._lastRenderedFixedRowCount===this.props.fixedRowCount&&this._lastRenderedRowHeight===this.props.rowHeight||(this._topGridHeight=null),this._maybeCalculateCachedStyles(),this._lastRenderedColumnWidth=this.props.columnWidth,this._lastRenderedFixedColumnCount=this.props.fixedColumnCount,this._lastRenderedFixedRowCount=this.props.fixedRowCount,this._lastRenderedRowHeight=this.props.rowHeight}},{key:"_renderBottomLeftGrid",value:function(e){var t,n,A,o=e.enableFixedColumnScroll,a=e.fixedColumnCount,i=e.fixedRowCount,r=e.rowCount,s=e.hideBottomLeftGridScrollbar,l=this.state.showVerticalScrollbar;return a?(l=l?1:0,t=this._getBottomGridHeight(e),n=this._getLeftGridWidth(e),A=this.state.showVerticalScrollbar?this.state.scrollbarSize:0,A=s?n+A:n,e=M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererBottomLeftGrid,className:this.props.classNameBottomLeftGrid,columnCount:a,deferredMeasurementCache:this._deferredMeasurementCacheBottomLeftGrid,height:t,onScroll:o?this._onScrollTop:void 0,ref:this._bottomLeftGridRef,rowCount:Math.max(0,r-i)+l,rowHeight:this._rowHeightBottomGrid,style:this._bottomLeftGridStyle,tabIndex:null,width:A})),s?M.createElement("div",{className:"BottomLeftGrid_ScrollWrapper",style:T()({},this._bottomLeftGridStyle,{height:t,width:n,overflowY:"hidden"})},e):e):null}},{key:"_renderBottomRightGrid",value:function(e){var t=e.columnCount,n=e.fixedColumnCount,A=e.fixedRowCount,o=e.rowCount,a=e.scrollToColumn,i=e.scrollToRow;return M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererBottomRightGrid,className:this.props.classNameBottomRightGrid,columnCount:Math.max(0,t-n),columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheBottomRightGrid,height:this._getBottomGridHeight(e),onScroll:this._onScroll,onScrollbarPresenceChange:this._onScrollbarPresenceChange,ref:this._bottomRightGridRef,rowCount:Math.max(0,o-A),rowHeight:this._rowHeightBottomGrid,scrollToColumn:a-n,scrollToRow:i-A,style:this._bottomRightGridStyle,width:this._getRightGridWidth(e)}))}},{key:"_renderTopLeftGrid",value:function(e){var t=e.fixedColumnCount,n=e.fixedRowCount;return t&&n?M.createElement(TE,T()({},e,{className:this.props.classNameTopLeftGrid,columnCount:t,height:this._getTopGridHeight(e),ref:this._topLeftGridRef,rowCount:n,style:this._topLeftGridStyle,tabIndex:null,width:this._getLeftGridWidth(e)})):null}},{key:"_renderTopRightGrid",value:function(e){var t,n,A,o,a,i=e.columnCount,r=e.enableFixedRowScroll,s=e.fixedColumnCount,l=e.fixedRowCount,u=e.scrollLeft,c=e.hideTopRightGridScrollbar,g=this.state,d=g.showHorizontalScrollbar,g=g.scrollbarSize;return l?(t=d?1:0,n=this._getTopGridHeight(e),A=this._getRightGridWidth(e),o=n,a=this._topRightGridStyle,c&&(o=n+(d?g:0),a=T()({},this._topRightGridStyle,{left:0})),d=M.createElement(TE,T()({},e,{cellRenderer:this._cellRendererTopRightGrid,className:this.props.classNameTopRightGrid,columnCount:Math.max(0,i-s)+t,columnWidth:this._columnWidthRightGrid,deferredMeasurementCache:this._deferredMeasurementCacheTopRightGrid,height:o,onScroll:r?this._onScrollLeft:void 0,ref:this._topRightGridRef,rowCount:l,scrollLeft:u,style:a,tabIndex:null,width:A})),c?M.createElement("div",{className:"TopRightGrid_ScrollWrapper",style:T()({},this._topRightGridStyle,{height:n,width:A,overflowX:"hidden"})},d):d):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.scrollLeft!==t.scrollLeft||e.scrollTop!==t.scrollTop?{scrollLeft:(null!=e.scrollLeft&&0<=e.scrollLeft?e:t).scrollLeft,scrollTop:(null!=e.scrollTop&&0<=e.scrollTop?e:t).scrollTop}:null}}]),f1);function f1(e,t){b()(this,f1);var t=AE()(this,(f1.__proto__||nE()(f1)).call(this,e,t)),n=(E1.call(t),e.deferredMeasurementCache),A=e.fixedColumnCount,e=e.fixedRowCount;return t._maybeCalculateCachedStyles(!0),n&&(t._deferredMeasurementCacheBottomLeftGrid=0<e?new B1({cellMeasurerCache:n,columnIndexOffset:0,rowIndexOffset:e}):n,t._deferredMeasurementCacheBottomRightGrid=0<A||0<e?new B1({cellMeasurerCache:n,columnIndexOffset:A,rowIndexOffset:e}):n,t._deferredMeasurementCacheTopRightGrid=0<A?new B1({cellMeasurerCache:n,columnIndexOffset:A,rowIndexOffset:0}):n),t}S.defaultProps={classNameBottomLeftGrid:"",classNameBottomRightGrid:"",classNameTopLeftGrid:"",classNameTopRightGrid:"",enableFixedColumnScroll:!1,enableFixedRowScroll:!1,fixedColumnCount:0,fixedRowCount:0,scrollToColumn:-1,scrollToRow:-1,style:{},styleBottomLeftGrid:{},styleBottomRightGrid:{},styleTopLeftGrid:{},styleTopRightGrid:{},hideTopRightGridScrollbar:!1,hideBottomLeftGridScrollbar:!1};var E1=function(){var i=this;this.state={scrollLeft:0,scrollTop:0,scrollbarSize:0,showHorizontalScrollbar:!1,showVerticalScrollbar:!1},this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this._bottomLeftGridRef=function(e){i._bottomLeftGrid=e},this._bottomRightGridRef=function(e){i._bottomRightGrid=e},this._cellRendererBottomLeftGrid=function(e){var t=e.rowIndex,e=iE()(e,["rowIndex"]),n=i.props,A=n.cellRenderer,o=n.fixedRowCount;return t===n.rowCount-o?M.createElement("div",{key:e.key,style:T()({},e.style,{height:20})}):A(T()({},e,{parent:i,rowIndex:t+o}))},this._cellRendererBottomRightGrid=function(e){var t=e.columnIndex,n=e.rowIndex,e=iE()(e,["columnIndex","rowIndex"]),A=i.props,o=A.cellRenderer,a=A.fixedColumnCount,A=A.fixedRowCount;return o(T()({},e,{columnIndex:t+a,parent:i,rowIndex:n+A}))},this._cellRendererTopRightGrid=function(e){var t=e.columnIndex,e=iE()(e,["columnIndex"]),n=i.props,A=n.cellRenderer,o=n.columnCount,n=n.fixedColumnCount;return t===o-n?M.createElement("div",{key:e.key,style:T()({},e.style,{width:20})}):A(T()({},e,{columnIndex:t+n,parent:i}))},this._columnWidthRightGrid=function(e){var e=e.index,t=i.props,n=t.columnCount,A=t.fixedColumnCount,t=t.columnWidth,o=i.state,a=o.scrollbarSize;return o.showHorizontalScrollbar&&e===n-A?a:"function"==typeof t?t({index:e+A}):t},this._onScroll=function(e){var t=e.scrollLeft,n=e.scrollTop,t=(i.setState({scrollLeft:t,scrollTop:n}),i.props.onScroll);t&&t(e)},this._onScrollbarPresenceChange=function(e){var t=e.horizontal,n=e.size,e=e.vertical,A=i.state,o=A.showHorizontalScrollbar,A=A.showVerticalScrollbar;t===o&&e===A||(i.setState({scrollbarSize:n,showHorizontalScrollbar:t,showVerticalScrollbar:e}),"function"==typeof(o=i.props.onScrollbarPresenceChange)&&o({horizontal:t,size:n,vertical:e}))},this._onScrollLeft=function(e){e=e.scrollLeft;i._onScroll({scrollLeft:e,scrollTop:i.state.scrollTop})},this._onScrollTop=function(e){e=e.scrollTop;i._onScroll({scrollTop:e,scrollLeft:i.state.scrollLeft})},this._rowHeightBottomGrid=function(e){var e=e.index,t=i.props,n=t.fixedRowCount,A=t.rowCount,t=t.rowHeight,o=i.state,a=o.scrollbarSize;return o.showVerticalScrollbar&&e===A-n?a:"function"==typeof t?t({index:e+n}):t},this._topLeftGridRef=function(e){i._topLeftGrid=e},this._topRightGridRef=function(e){i._topRightGrid=e}};S.propTypes={},Object(d.polyfill)(S);function w1(e,t){b()(this,w1);e=AE()(this,(w1.__proto__||nE()(w1)).call(this,e,t));return e.state={clientHeight:0,clientWidth:0,scrollHeight:0,scrollLeft:0,scrollTop:0,scrollWidth:0},e._onScroll=e._onScroll.bind(e),e}Q=M.PureComponent,a()(w1,Q),g()(w1,[{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.clientHeight,A=t.clientWidth,o=t.scrollHeight,a=t.scrollLeft,i=t.scrollTop,t=t.scrollWidth;return e({clientHeight:n,clientWidth:A,onScroll:this._onScroll,scrollHeight:o,scrollLeft:a,scrollTop:i,scrollWidth:t})}},{key:"_onScroll",value:function(e){var t=e.clientHeight,n=e.clientWidth,A=e.scrollHeight,o=e.scrollLeft,a=e.scrollTop,e=e.scrollWidth;this.setState({clientHeight:t,clientWidth:n,scrollHeight:A,scrollLeft:o,scrollTop:a,scrollWidth:e})}}]);w1.propTypes={};function C1(e){var t=e.className,n=e.columns,e=e.style;return M.createElement("div",{className:t,role:"row",style:e},n)}C1.propTypes=null;var I1={ASC:"ASC",DESC:"DESC"};function y1(e){var e=e.sortDirection,t=J()("ReactVirtualized__Table__sortableHeaderIcon",{"ReactVirtualized__Table__sortableHeaderIcon--ASC":e===I1.ASC,"ReactVirtualized__Table__sortableHeaderIcon--DESC":e===I1.DESC});return M.createElement("svg",{className:t,width:18,height:18,viewBox:"0 0 24 24"},e===I1.ASC?M.createElement("path",{d:"M7 14l5-5 5 5z"}):M.createElement("path",{d:"M7 10l5 5 5-5z"}),M.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))}function b1(e){var t=e.dataKey,n=e.label,A=e.sortBy,e=e.sortDirection,A=A===t,t=[M.createElement("span",{className:"ReactVirtualized__Table__headerTruncatedText",key:"label",title:n},n)];return A&&t.push(M.createElement(y1,{key:"SortIndicator",sortDirection:e})),t}function M1(e){var t=e.className,n=e.columns,A=e.index,o=e.key,a=e.onRowClick,i=e.onRowDoubleClick,r=e.onRowMouseOut,s=e.onRowMouseOver,l=e.onRowRightClick,u=e.rowData,e=e.style,c={};return(a||i||r||s||l)&&(c["aria-label"]="row",c.tabIndex=0,a&&(c.onClick=function(e){return a({event:e,index:A,rowData:u})}),i&&(c.onDoubleClick=function(e){return i({event:e,index:A,rowData:u})}),r&&(c.onMouseOut=function(e){return r({event:e,index:A,rowData:u})}),s&&(c.onMouseOver=function(e){return s({event:e,index:A,rowData:u})}),l)&&(c.onContextMenu=function(e){return l({event:e,index:A,rowData:u})}),M.createElement("div",T()({},c,{className:t,key:o,role:"row",style:e}),n)}y1.propTypes={},M1.propTypes=b1.propTypes=null;d=M.Component,a()(Q1,d);S=Q1;function Q1(){return b()(this,Q1),AE()(this,(Q1.__proto__||nE()(Q1)).apply(this,arguments))}S.defaultProps={cellDataGetter:function(e){var t=e.dataKey;return"function"==typeof(e=e.rowData).get?e.get(t):e[t]},cellRenderer:function(e){return null==(e=e.cellData)?"":String(e)},defaultSortDirection:I1.ASC,flexGrow:0,flexShrink:1,headerRenderer:b1,style:{}};S.propTypes={},Q=M.PureComponent,a()(T1,Q),g()(T1,[{key:"forceUpdateGrid",value:function(){this.Grid&&this.Grid.forceUpdate()}},{key:"getOffsetForRow",value:function(e){var t=e.alignment,e=e.index;return this.Grid?this.Grid.getOffsetForCell({alignment:t,rowIndex:e}).scrollTop:0}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.invalidateCellSizeAfterRender({rowIndex:e,columnIndex:t})}},{key:"measureAllRows",value:function(){this.Grid&&this.Grid.measureAllCells()}},{key:"recomputeGridSize",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,e=e.rowIndex;this.Grid&&this.Grid.recomputeGridSize({rowIndex:void 0===e?0:e,columnIndex:void 0===t?0:t})}},{key:"recomputeRowHeights",value:function(){this.Grid&&this.Grid.recomputeGridSize({rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToPosition",value:function(){this.Grid&&this.Grid.scrollToPosition({scrollTop:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"scrollToRow",value:function(){this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:0<arguments.length&&void 0!==arguments[0]?arguments[0]:0})}},{key:"componentDidMount",value:function(){this._setScrollbarWidth()}},{key:"componentDidUpdate",value:function(){this._setScrollbarWidth()}},{key:"render",value:function(){var n=this,e=this.props,t=e.children,A=e.className,o=e.disableHeader,a=e.gridClassName,i=e.gridStyle,r=e.headerHeight,s=e.headerRowRenderer,l=e.height,u=e.id,c=e.noRowsRenderer,g=e.rowClassName,d=e.rowStyle,h=e.scrollToIndex,p=e.style,e=e.width,m=this.state.scrollbarWidth,l=o?l:l-r,g="function"==typeof g?g({index:-1}):g,d="function"==typeof d?d({index:-1}):d;return this._cachedColumnStyles=[],M.Children.toArray(t).forEach(function(e,t){e=n._getFlexStyleForColumn(e,e.props.style);n._cachedColumnStyles[t]=T()({},e,{overflow:"hidden"})}),M.createElement("div",{className:J()("ReactVirtualized__Table",A),id:u,role:"grid",style:p},!o&&s({className:J()("ReactVirtualized__Table__headerRow",g),columns:this._getHeaderColumns(),style:T()({},d,{height:r,overflow:"hidden",paddingRight:m,width:e})}),M.createElement(TE,T()({},this.props,{autoContainerWidth:!0,className:J()("ReactVirtualized__Table__Grid",a),cellRenderer:this._createRow,columnWidth:e,columnCount:1,height:l,id:void 0,noContentRenderer:c,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,role:"rowgroup",scrollbarWidth:m,scrollToRow:h,style:T()({},i,{overflowX:"hidden"})})))}},{key:"_createColumn",value:function(e){var t=e.column,n=e.columnIndex,A=e.isScrolling,o=e.parent,a=e.rowData,e=e.rowIndex,t=t.props,i=t.cellDataGetter,r=t.cellRenderer,s=t.className,l=t.columnData,u=t.dataKey,t=t.id,r=r({cellData:i({columnData:l,dataKey:u,rowData:a}),columnData:l,columnIndex:n,dataKey:u,isScrolling:A,parent:o,rowData:a,rowIndex:e}),i=this._cachedColumnStyles[n],l="string"==typeof r?r:null;return M.createElement("div",{"aria-describedby":t,className:J()("ReactVirtualized__Table__rowColumn",s),key:"Row"+e+"-Col"+n,role:"gridcell",style:i,title:l},r)}},{key:"_createHeader",value:function(e){var t,n,A=e.column,e=e.index,o=this.props,a=o.headerClassName,i=o.headerStyle,r=o.onHeaderClick,s=o.sort,l=o.sortBy,o=o.sortDirection,u=A.props,c=u.columnData,g=u.dataKey,d=u.defaultSortDirection,h=u.disableSort,p=u.headerRenderer,m=u.id,u=u.label,B=!h&&s,a=J()("ReactVirtualized__Table__headerColumn",a,A.props.headerClassName,{ReactVirtualized__Table__sortableHeaderColumn:B}),i=this._getFlexStyleForColumn(A,T()({},i,A.props.headerStyle)),p=p({columnData:c,dataKey:g,disableSort:h,label:u,sortBy:l,sortDirection:o}),h=void 0,f=void 0,E=void 0,w=void 0,C=void 0;return(B||r)&&(t=l!==g?d:o===I1.DESC?I1.ASC:I1.DESC,n=function(e){B&&s({defaultSortDirection:d,event:e,sortBy:g,sortDirection:t}),r&&r({columnData:c,dataKey:g,event:e})},C=A.props["aria-label"]||u||g,E=0,h=n,f=function(e){"Enter"!==e.key&&" "!==e.key||n(e)}),M.createElement("div",{"aria-label":C,"aria-sort":w=l===g?o===I1.ASC?"ascending":"descending":w,className:a,id:m,key:"Header-Col"+e,onClick:h,onKeyDown:f,role:"columnheader",style:i,tabIndex:E},p)}},{key:"_createRow",value:function(e){var n=this,A=e.rowIndex,o=e.isScrolling,t=e.key,a=e.parent,e=e.style,i=this.props,r=i.children,s=i.onRowClick,l=i.onRowDoubleClick,u=i.onRowRightClick,c=i.onRowMouseOver,g=i.onRowMouseOut,d=i.rowClassName,h=i.rowGetter,p=i.rowRenderer,i=i.rowStyle,m=this.state.scrollbarWidth,d="function"==typeof d?d({index:A}):d,i="function"==typeof i?i({index:A}):i,B=h({index:A}),h=M.Children.toArray(r).map(function(e,t){return n._createColumn({column:e,columnIndex:t,isScrolling:o,parent:a,rowData:B,rowIndex:A,scrollbarWidth:m})}),r=J()("ReactVirtualized__Table__row",d),d=T()({},e,i,{height:this._getRowHeight(A),overflow:"hidden",paddingRight:m});return p({className:r,columns:h,index:A,isScrolling:o,key:t,onRowClick:s,onRowDoubleClick:l,onRowRightClick:u,onRowMouseOver:c,onRowMouseOut:g,rowData:B,style:d})}},{key:"_getFlexStyleForColumn",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=e.props.flexGrow+" "+e.props.flexShrink+" "+e.props.width+"px",t=T()({},t,{flex:n,msFlex:n,WebkitFlex:n});return e.props.maxWidth&&(t.maxWidth=e.props.maxWidth),e.props.minWidth&&(t.minWidth=e.props.minWidth),t}},{key:"_getHeaderColumns",value:function(){var n=this,e=this.props,t=e.children;return(e.disableHeader?[]:M.Children.toArray(t)).map(function(e,t){return n._createHeader({column:e,index:t})})}},{key:"_getRowHeight",value:function(e){var t=this.props.rowHeight;return"function"==typeof t?t({index:e}):t}},{key:"_onScroll",value:function(e){var t=e.clientHeight,n=e.scrollHeight,e=e.scrollTop;(0,this.props.onScroll)({clientHeight:t,scrollHeight:n,scrollTop:e})}},{key:"_onSectionRendered",value:function(e){var t=e.rowOverscanStartIndex,n=e.rowOverscanStopIndex,A=e.rowStartIndex,e=e.rowStopIndex;(0,this.props.onRowsRendered)({overscanStartIndex:t,overscanStopIndex:n,startIndex:A,stopIndex:e})}},{key:"_setRef",value:function(e){this.Grid=e}},{key:"_setScrollbarWidth",value:function(){var e,t;this.Grid&&(e=(t=Object(j0.findDOMNode)(this.Grid)).clientWidth||0,t=t.offsetWidth||0,this.setState({scrollbarWidth:t-e}))}}]);d=T1;function T1(e){b()(this,T1);e=AE()(this,(T1.__proto__||nE()(T1)).call(this,e));return e.state={scrollbarWidth:0},e._createColumn=e._createColumn.bind(e),e._createRow=e._createRow.bind(e),e._onScroll=e._onScroll.bind(e),e._onSectionRendered=e._onSectionRendered.bind(e),e._setRef=e._setRef.bind(e),e}d.defaultProps={disableHeader:!1,estimatedRowSize:30,headerHeight:0,headerStyle:{},noRowsRenderer:function(){return null},onRowsRendered:function(){return null},onScroll:function(){return null},overscanIndicesGetter:SE,overscanRowCount:10,rowRenderer:M1,headerRowRenderer:C1,rowStyle:{},scrollToAlignment:"auto",scrollToIndex:-1,style:{}};d.propTypes={};var S1=[],k1=null,D1=null;function v1(){D1&&(D1=null,document.body&&null!=k1&&(document.body.style.pointerEvents=k1),k1=null)}function N1(){v1(),S1.forEach(function(e){return e.__resetIsScrolling()})}function O1(t){var n;t.currentTarget===window&&null==k1&&document.body&&(k1=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),D1&&fE(D1),n=0,S1.forEach(function(e){n=Math.max(n,e.props.scrollingResetTimeInterval)}),D1=EE(N1,n),S1.forEach(function(e){e.props.scrollElement===t.currentTarget&&e.__handleWindowScrollEvent()})}function F1(e,t){S1.some(function(e){return e.props.scrollElement===t})||t.addEventListener("scroll",O1),S1.push(e)}function R1(t,e){(S1=S1.filter(function(e){return e!==t})).length||(e.removeEventListener("scroll",O1),D1&&(fE(D1),v1()))}var Y1=function(e){return e===window},x1=function(e){return e.getBoundingClientRect()};function _1(e,t){var n,A;return e?Y1(e)?{height:"number"==typeof(A=(n=window).innerHeight)?A:0,width:"number"==typeof(A=n.innerWidth)?A:0}:x1(e):{height:t.serverHeight,width:t.serverWidth}}function U1(e){return Y1(e)&&document.documentElement?{top:"scrollY"in window?window.scrollY:document.documentElement.scrollTop,left:"scrollX"in window?window.scrollX:document.documentElement.scrollLeft}:{top:e.scrollTop,left:e.scrollLeft}}function G1(){return"undefined"!=typeof window?window:void 0}S=M.PureComponent,a()(L1,S),g()(L1,[{key:"updatePosition",value:function(){var e,t,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.props.scrollElement,A=this.props.onResize,o=this.state,a=o.height,o=o.width,i=this._child||j0.findDOMNode(this),r=(i instanceof Element&&n&&(i=i,e=Y1(e=n)&&document.documentElement?(r=document.documentElement,t=x1(i),r=x1(r),{top:t.top-r.top,left:t.left-r.left}):(t=U1(e),r=x1(i),i=x1(e),{top:r.top+t.top-i.top,left:r.left+t.left-i.left}),this._positionFromTop=e.top,this._positionFromLeft=e.left),_1(n,this.props));a===r.height&&o===r.width||(this.setState({height:r.height,width:r.width}),A({height:r.height,width:r.width}))}},{key:"componentDidMount",value:function(){var e=this.props.scrollElement;this._detectElementResize=Object(DE.a)(),this.updatePosition(e),e&&(F1(this,e),this._registerResizeListener(e)),this._isMounted=!0}},{key:"componentDidUpdate",value:function(e,t){var n=this.props.scrollElement,e=e.scrollElement;e!==n&&null!=e&&null!=n&&(this.updatePosition(n),R1(this,e),F1(this,n),this._unregisterResizeListener(e),this._registerResizeListener(n))}},{key:"componentWillUnmount",value:function(){var e=this.props.scrollElement;e&&(R1(this,e),this._unregisterResizeListener(e)),this._isMounted=!1}},{key:"render",value:function(){var e=this.props.children,t=this.state,n=t.isScrolling,A=t.scrollTop,o=t.scrollLeft,a=t.height,t=t.width;return e({onChildScroll:this._onChildScroll,registerChild:this._registerChild,height:a,isScrolling:n,scrollLeft:o,scrollTop:A,width:t})}}]);Q=L1;function L1(){var A,e;b()(this,L1);for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return(e=A=AE()(this,(e=L1.__proto__||nE()(L1)).call.apply(e,[this].concat(n))))._window=G1(),A._isMounted=!1,A._positionFromTop=0,A._positionFromLeft=0,A.state=T()({},_1(A.props.scrollElement,A.props),{isScrolling:!1,scrollLeft:0,scrollTop:0}),A._registerChild=function(e){!e||e instanceof Element||console.warn("WindowScroller registerChild expects to be passed Element or null"),A._child=e,A.updatePosition()},A._onChildScroll=function(e){var t,e=e.scrollTop;A.state.scrollTop!==e&&(t=A.props.scrollElement)&&("function"==typeof t.scrollTo?t.scrollTo(0,e+A._positionFromTop):t.scrollTop=e+A._positionFromTop)},A._registerResizeListener=function(e){e===window?window.addEventListener("resize",A._onResize,!1):A._detectElementResize.addResizeListener(e,A._onResize)},A._unregisterResizeListener=function(e){e===window?window.removeEventListener("resize",A._onResize,!1):e&&A._detectElementResize.removeResizeListener(e,A._onResize)},A._onResize=function(){A.updatePosition()},A.__handleWindowScrollEvent=function(){var e,t,n;A._isMounted&&(e=A.props.onScroll,n=A.props.scrollElement)&&(n=U1(n),t=Math.max(0,n.left-A._positionFromLeft),n=Math.max(0,n.top-A._positionFromTop),A.setState({isScrolling:!0,scrollLeft:t,scrollTop:n}),e({scrollLeft:t,scrollTop:n}))},A.__resetIsScrolling=function(){A.setState({isScrolling:!1})},e=e,AE()(A,e)}Q.defaultProps={onResize:function(){},onScroll:function(){},scrollingResetTimeInterval:150,scrollElement:G1(),serverHeight:0,serverWidth:0},Q.propTypes=null;function P1(e){return(P1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function H1(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function j1(e,t){return(j1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z1(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=W1(A);return e=o?(e=W1(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==P1(t)&&"function"!=typeof t?J1(n):t}}function J1(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W1(e){return(W1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&j1(t,e);var n,A=z1(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(J1(e),["rowRenderer","noRowsRenderer","handleEventFactory"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleEventFactory",value:function(e){var t=this;return function(){return t.props.onActivate(e)}}},{key:"noRowsRenderer",value:function(){return j.a.createElement("div",{className:J()(y.a.listRow,y.a.listEmpty)},j.a.createElement(z.a,{defaultMessage:"(empty)",id:"gui.monitor.listMonitor.empty"}))}},{key:"rowRenderer",value:function(e){var t=e.index,n=e.key,e=e.style;return j.a.createElement("div",{className:y.a.listRow,key:n,style:e},j.a.createElement("div",{className:y.a.listIndex},t+1),j.a.createElement("div",{className:y.a.listValue,dataIndex:t,style:{background:this.props.categoryColor},onClick:this.props.draggable?this.handleEventFactory(t):null},this.props.draggable&&this.props.activeIndex===t?j.a.createElement("div",{className:y.a.inputWrapper},j.a.createElement("input",{autoFocus:!0,autoComplete:!1,className:J()(y.a.listInput,"no-drag"),spellCheck:!1,type:"text",value:this.props.activeValue,onBlur:this.props.onDeactivate,onChange:this.props.onInput,onFocus:this.props.onFocus,onKeyDown:this.props.onKeyPress}),j.a.createElement("div",{className:y.a.removeButton,onMouseDown:this.props.onRemove},"✖︎")):j.a.createElement("div",{className:y.a.valueInner},this.props.values[t])))}},{key:"render",value:function(){var e=this.props,t=e.height,n=e.values,A=e.width,o=e.activeIndex,e=e.activeValue;return j.a.createElement(KE,{activeIndex:o,activeValue:e,height:t-44,noRowsRenderer:this.noRowsRenderer,rowCount:n.length,rowHeight:24,rowRenderer:this.rowRenderer,scrollToIndex:null===o?void 0:o,values:n,width:A})}}])&&H1(t.prototype,e),n&&H1(t,n),o}(j.a.Component),V1=(d.propTypes={activeIndex:n.a.number,activeValue:n.a.string,categoryColor:n.a.string,draggable:n.a.bool,height:n.a.number,onActivate:n.a.func,onDeactivate:n.a.func,onFocus:n.a.func,onInput:n.a.func,onKeyPress:n.a.func,onRemove:n.a.func,values:n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number])),width:n.a.number},d),K1=["draggable","label","width","height","value","onResizeMouseDown","onAdd"];function X1(){return(X1=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function q1(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function Z1(e){var t=e.draggable,n=e.label,A=e.width,o=e.height,a=e.value,i=e.onResizeMouseDown,r=e.onAdd,e=q1(e,K1);return j.a.createElement("div",{className:y.a.listMonitor,style:{width:"".concat(A,"px"),height:"".concat(o,"px")}},j.a.createElement("div",{className:y.a.listHeader},n),j.a.createElement("div",{className:y.a.listBody},j.a.createElement(V1,X1({draggable:t,height:o,values:a,width:A},e))),j.a.createElement("div",{className:y.a.listFooter},j.a.createElement("div",{className:J()(t?y.a.addButton:null,"no-drag"),onClick:t?r:null},"+"),j.a.createElement("div",{className:y.a.footerLength},j.a.createElement(z.a,{defaultMessage:"length {length}",id:"gui.monitor.listMonitor.listLength",values:{length:a.length}})),j.a.createElement("div",{className:J()(t?y.a.resizeHandle:null,"no-drag"),onMouseDown:t?i:null},"=")))}Z1.propTypes={activeIndex:n.a.number,categoryColor:n.a.string.isRequired,draggable:n.a.bool.isRequired,height:n.a.number,label:n.a.string.isRequired,onActivate:n.a.func,onAdd:n.a.func,onResizeMouseDown:n.a.func,value:n.a.oneOfType([n.a.string,n.a.number,n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number]))]),width:n.a.number},Z1.defaultProps={width:110,height:200};var $1=Z1,e3=e(75);function t3(e){return(t3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n3=["vm"];function A3(){return(A3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function o3(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function a3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function i3(e,t){return(i3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function r3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=l3(A);return e=o?(e=l3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==t3(t)&&"function"!=typeof t?s3(n):t}}function s3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l3(e){return(l3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i3(t,e);var n,A=r3(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(s3(t),["handleActivate","handleDeactivate","handleInput","handleRemove","handleKeyPress","handleFocus","handleAdd","handleResizeMouseDown"]),t.state={activeIndex:null,activeValue:null,width:e.width||100,height:e.height||200},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleActivate",value:function(e){this.state.activeIndex!==e&&this.setState({activeIndex:e,activeValue:this.props.value[e]})}},{key:"handleDeactivate",value:function(){var e,t,n,A;null!==this.state.activeIndex&&(e=(n=this.props).vm,t=n.targetId,n=n.id,(A=G0(e,t,n))[this.state.activeIndex]=this.state.activeValue,L0(e,t,n,A),this.setState({activeIndex:null,activeValue:null}))}},{key:"handleFocus",value:function(e){e.target.select()}},{key:"handleKeyPress",value:function(e){var t=this.state.activeIndex,n=this.props,A=n.vm,o=n.targetId,n=n.id,a=0;"Tab"===e.key?a=e.shiftKey?-1:1:"ArrowUp"===e.key?a=-1:"ArrowDown"===e.key&&(a=1),a?(this.handleDeactivate(),a=this.wrapListIndex(t+a,this.props.value.length),this.setState({activeIndex:a,activeValue:this.props.value[a]}),e.preventDefault()):"Enter"===e.key&&(this.handleDeactivate(),a=e.shiftKey?0:1,e=(e=G0(A,o,n)).slice(0,t+a).concat([""]).concat(e.slice(t+a)),L0(A,o,n,e),A=this.wrapListIndex(t+a,e.length),this.setState({activeIndex:A,activeValue:""}))}},{key:"handleInput",value:function(e){this.setState({activeValue:e.target.value})}},{key:"handleRemove",value:function(e){e.preventDefault(),e.stopPropagation();var e=this.props,t=e.vm,n=e.targetId,e=e.id,A=G0(t,n,e),A=A.slice(0,this.state.activeIndex).concat(A.slice(this.state.activeIndex+1)),t=(L0(t,n,e,A),Math.min(A.length-1,this.state.activeIndex));this.setState({activeIndex:t,activeValue:A[t]})}},{key:"handleAdd",value:function(){var e=this.props,t=e.vm,n=e.targetId,e=e.id,A=G0(t,n,e).concat([""]);L0(t,n,e,A),this.setState({activeIndex:A.length-1,activeValue:""})}},{key:"handleResizeMouseDown",value:function(e){function t(e){A(e),window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",t),n.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:n.props.id,height:n.state.height,width:n.state.width}))}var n=this,A=(this.initialPosition=bn(e),this.initialWidth=this.state.width,this.initialHeight=this.state.height,function(e){var e=bn(e),t=e.x-n.initialPosition.x,e=e.y-n.initialPosition.y;n.setState({width:Math.max(Math.min(n.initialWidth+t,480),100),height:Math.max(Math.min(n.initialHeight+e,360),60)})});window.addEventListener("mousemove",A),window.addEventListener("mouseup",t)}},{key:"wrapListIndex",value:function(e,t){return(e+t)%t}},{key:"render",value:function(){var e=this.props,e=(e.vm,o3(e,n3));return j.a.createElement($1,A3({},e,{activeIndex:this.state.activeIndex,activeValue:this.state.activeValue,height:this.state.height,width:this.state.width,onActivate:this.handleActivate,onAdd:this.handleAdd,onDeactivate:this.handleDeactivate,onFocus:this.handleFocus,onInput:this.handleInput,onKeyPress:this.handleKeyPress,onRemove:this.handleRemove,onResizeMouseDown:this.handleResizeMouseDown}))}}])&&a3(t.prototype,e),n&&a3(t,n),o}(j.a.Component),a.propTypes={height:n.a.number,id:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.number,n.a.string]),vm:n.a.instanceOf(o.a),width:n.a.number,x:n.a.number,y:n.a.number},S=Object(A.b)(function(e){return{vm:e.scratchGui.vm}})(a);function u3(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function c3(A){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?u3(Object(o),!0).forEach(function(e){var t,n;t=A,n=o[e=e],e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(o)):u3(Object(o)).forEach(function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(o,e))})}return A}function g3(e){return j.a.createElement(TA,{disable:!e.draggable,holdToDisplay:"slider"===e.mode?-1:1e3,id:"monitor-".concat(e.label)},j.a.createElement(R2.a,{bounds:".monitor-overlay",cancel:".no-drag",defaultClassNameDragging:y.a.dragging,disabled:!e.draggable,onStop:e.onDragEnd},j.a.createElement(W.a,{className:y.a.monitorContainer,componentRef:e.componentRef,onDoubleClick:"list"!==e.mode&&e.draggable?e.onNextMode:null},j.a.createElement(p3[e.mode],c3({categoryColor:h3[e.category]},e)))),z0.a.createPortal(j.a.createElement(DA,{id:"monitor-".concat(e.label)},e.onSetModeToDefault&&j.a.createElement(vA,{onClick:e.onSetModeToDefault},j.a.createElement(z.a,{defaultMessage:"normal readout",id:"gui.monitor.contextMenu.default"})),e.onSetModeToLarge&&j.a.createElement(vA,{onClick:e.onSetModeToLarge},j.a.createElement(z.a,{defaultMessage:"large readout",id:"gui.monitor.contextMenu.large"})),e.onSetModeToSlider&&j.a.createElement(vA,{onClick:e.onSetModeToSlider},j.a.createElement(z.a,{defaultMessage:"slider",id:"gui.monitor.contextMenu.slider"})),e.onSliderPromptOpen&&"slider"===e.mode&&j.a.createElement(NA,{onClick:e.onSliderPromptOpen},j.a.createElement(z.a,{defaultMessage:"change slider range",id:"gui.monitor.contextMenu.sliderRange"})),e.onImport&&j.a.createElement(vA,{onClick:e.onImport},j.a.createElement(z.a,{defaultMessage:"import",id:"gui.monitor.contextMenu.import"})),e.onExport&&j.a.createElement(vA,{onClick:e.onExport},j.a.createElement(z.a,{defaultMessage:"export",id:"gui.monitor.contextMenu.export"})),e.onHide&&j.a.createElement(NA,{onClick:e.onHide},j.a.createElement(z.a,{defaultMessage:"hide",id:"gui.monitor.contextMenu.hide"}))),document.body))}function d3(e){return j.a.createElement(cl.a,{className:f3.a.modalContent,contentLabel:e.intl.formatMessage(E3.title),id:"sliderPrompt",onRequestClose:e.onCancel},j.a.createElement(W.a,{className:f3.a.body},j.a.createElement(W.a,{className:f3.a.label},e.intl.formatMessage(E3.minValue)),j.a.createElement(W.a,null,j.a.createElement("input",{className:f3.a.minInput,name:e.intl.formatMessage(E3.minValue),pattern:"-?[0-9]*(\\.[0-9]+)?",type:"text",value:e.minValue,onChange:e.onChangeMin,onKeyPress:e.onKeyPress})),j.a.createElement(W.a,{className:f3.a.label},e.intl.formatMessage(E3.maxValue)),j.a.createElement(W.a,null,j.a.createElement("input",{className:f3.a.maxInput,name:e.intl.formatMessage(E3.maxValue),pattern:"-?[0-9]*(\\.[0-9]+)?",type:"text",value:e.maxValue,onChange:e.onChangeMax,onKeyPress:e.onKeyPress})),j.a.createElement(W.a,{className:f3.a.buttonRow},j.a.createElement("button",{className:f3.a.cancelButton,onClick:e.onCancel},j.a.createElement(z.a,{defaultMessage:"Cancel",id:"gui.sliderPrompt.cancel"})),j.a.createElement("button",{className:f3.a.okButton,onClick:e.onOk},j.a.createElement(z.a,{defaultMessage:"OK",id:"gui.sliderPrompt.ok"})))))}var h3={data:"#FF8C1A",sensing:"#5CB1D6",sound:"#CF63CF",looks:"#9966FF",motion:"#4C97FF",list:"#FC662C",extension:"#0FBD8C"},p3={default:t,large:i,slider:u,list:S},m3=(g3.categories=h3,Object.keys(p3)),g=(g3.propTypes={category:n.a.oneOf(Object.keys(h3)),componentRef:n.a.func.isRequired,draggable:n.a.bool.isRequired,label:n.a.string.isRequired,mode:n.a.oneOf(m3),onDragEnd:n.a.func.isRequired,onExport:n.a.func,onImport:n.a.func,onHide:n.a.func,onNextMode:n.a.func.isRequired,onSetModeToDefault:n.a.func,onSetModeToLarge:n.a.func,onSetModeToSlider:n.a.func,onSliderPromptOpen:n.a.func},g3.defaultProps={category:"extension",mode:"default"},e(817)),B3=e.n(g),Q=e(115),f3=e.n(Q),E3=Object(z.d)({minValue:{id:"gui.sliderModal.min",defaultMessage:"Minimum value"},maxValue:{id:"gui.sliderModal.max",defaultMessage:"Maximum value"},title:{id:"gui.sliderModal.title",defaultMessage:"Change slider range"}}),w3=(d3.propTypes={intl:z.f,maxValue:n.a.string,minValue:n.a.string,onCancel:n.a.func.isRequired,onChangeMax:n.a.func.isRequired,onChangeMin:n.a.func.isRequired,onKeyPress:n.a.func.isRequired,onOk:n.a.func.isRequired},Object(z.e)(d3));function C3(e){return(C3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function y3(e,t){return(y3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Q3(A);return e=o?(e=Q3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==C3(t)&&"function"!=typeof t?M3(n):t}}function M3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q3(e){return(Q3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y3(t,e);var n,o=b3(a);function a(e){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");e=o.call(this,e),l()(M3(e),["handleOk","handleCancel","handleChangeMin","handleChangeMax","handleKeyPress","validates","shouldBeDiscrete"]);var t=e.props,n=t.isDiscrete,A=t.minValue,t=t.maxValue;return e.state={minValue:n?A.toFixed(0):A.toFixed(2),maxValue:n?t.toFixed(0):t.toFixed(2)},e}return t=a,(e=[{key:"handleKeyPress",value:function(e){"Enter"===e.key&&this.handleOk()}},{key:"handleOk",value:function(){var e=this.state,t=e.minValue,e=e.maxValue;this.validates(t,e)?this.props.onOk(parseFloat(t),parseFloat(e),this.shouldBeDiscrete(t,e)):this.props.onCancel()}},{key:"handleCancel",value:function(){this.props.onCancel()}},{key:"handleChangeMin",value:function(e){this.setState({minValue:e.target.value})}},{key:"handleChangeMax",value:function(e){this.setState({maxValue:e.target.value})}},{key:"shouldBeDiscrete",value:function(e,t){return e.indexOf(".")+t.indexOf(".")===-2}},{key:"validates",value:function(e,t){return isFinite(e)&&isFinite(t)}},{key:"render",value:function(){return j.a.createElement(w3,{maxValue:this.state.maxValue,minValue:this.state.minValue,onCancel:this.handleCancel,onChangeMax:this.handleChangeMax,onChangeMin:this.handleChangeMin,onKeyPress:this.handleKeyPress,onOk:this.handleOk})}}])&&I3(t.prototype,e),n&&I3(t,n),a}(j.a.Component),T3=(d.propTypes={isDiscrete:n.a.bool,maxValue:n.a.number,minValue:n.a.number,onCancel:n.a.func.isRequired,onOk:n.a.func.isRequired},d.defaultProps={maxValue:100,minValue:0,isDiscrete:!0},d);function S3(e){return(S3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function k3(){return(k3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function D3(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?v3(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v3(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v3(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function N3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function O3(e,t){return(O3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Y3(A);return e=o?(e=Y3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==S3(t)&&"function"!=typeof t?R3(n):t}}function R3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Y3(e){return(Y3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function x3(t){return m3.filter(function(e){return"data_variable"===t?"list"!==e:"data_listcontents"===t?"list"===e:"slider"!==e&&"list"!==e})}function _3(t){return j.a.createElement(W.a,{className:J()(L3.a.monitorList,"monitor-overlay"),style:{width:t.stageSize.width||0,height:t.stageSize.height||0}},j.a.createElement(W.a,{className:L3.a.monitorListScaler,style:Ld(t.stageSize)},t.monitors.valueSeq().filter(function(e){return e.visible}).map(function(e){return j.a.createElement(G3,{draggable:t.draggable,height:e.height,id:e.id,isDiscrete:e.isDiscrete,key:e.id,max:e.sliderMax,min:e.sliderMin,mode:e.mode,opcode:e.opcode,params:e.params,spriteName:e.spriteName,targetId:e.targetId,value:e.value,width:e.width,x:null,y:null,onDragEnd:t.onMonitorChange})})))}var U3=Object(z.d)({columnPrompt:{id:"gui.monitors.importListColumnPrompt",defaultMessage:"Which column should be used (1-{numberOfColumns})?"}}),a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&O3(t,e);var n,A=F3(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(R3(e),["handleDragEnd","handleHide","handleNextMode","handleSetModeToDefault","handleSetModeToLarge","handleSetModeToSlider","handleSliderPromptClose","handleSliderPromptOk","handleSliderPromptOpen","handleImport","handleExport","setElement"]),e.state={sliderPrompt:!1},e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){function e(e){return"number"==typeof e&&!isNaN(e)}var t,n=this,A=setTimeout(function(){e(n.props.x)&&e(n.props.y)&&!n.props.monitorLayout.savedMonitorPositions[n.props.id]?(t={upperStart:{x:n.props.x,y:n.props.y},lowerEnd:{x:n.props.x+n.element.offsetWidth,y:n.props.y+n.element.offsetHeight}},n.props.addMonitorRect(n.props.id,t,!0)):(t=Object(R0.c)(n.props.monitorLayout,n.props.id,n.element.offsetWidth,n.element.offsetHeight),n.props.addMonitorRect(n.props.id,t),n.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:n.props.id,x:t.upperStart.x,y:t.upperStart.y}))),n.element.style.top="".concat(t.upperStart.y,"px"),n.element.style.left="".concat(t.upperStart.x,"px"),clearTimeout(A)},1)}},{key:"shouldComponentUpdate",value:function(e,t){if(t!==this.state)return!0;var n,A=D3(Object.getOwnPropertyNames(e));try{for(A.s();!(n=A.n()).done;){var o=n.value;if("monitorLayout"!==o&&e[o]!==this.props[o])return!0}}catch(e){A.e(e)}finally{A.f()}return!1}},{key:"componentDidUpdate",value:function(){this.props.resizeMonitorRect(this.props.id,this.element.offsetWidth,this.element.offsetHeight)}},{key:"componentWillUnmount",value:function(){this.props.removeMonitorRect(this.props.id)}},{key:"handleDragEnd",value:function(e,t){var n=t.x,t=t.y,n=parseInt(this.element.style.left,10)+n,t=parseInt(this.element.style.top,10)+t;this.props.onDragEnd(this.props.id,n,t),this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,x:n,y:t}))}},{key:"handleHide",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,visible:!1}))}},{key:"handleNextMode",value:function(){var e=x3(this.props.opcode),t=e.indexOf(this.props.mode),t=e[(t+1)%e.length];this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:t}))}},{key:"handleSetModeToDefault",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"default"}))}},{key:"handleSetModeToLarge",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"large"}))}},{key:"handleSetModeToSlider",value:function(){this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,mode:"slider"}))}},{key:"handleSliderPromptClose",value:function(){this.setState({sliderPrompt:!1})}},{key:"handleSliderPromptOpen",value:function(){this.setState({sliderPrompt:!0})}},{key:"handleSliderPromptOk",value:function(e,t,n){var A=Math.min(e,t),e=Math.max(e,t);this.props.vm.runtime.requestUpdateMonitor(Object(e3.Map)({id:this.props.id,sliderMin:A,sliderMax:e,isDiscrete:n})),this.handleSliderPromptClose()}},{key:"setElement",value:function(e){this.element=e}},{key:"handleImport",value:function(){var a=this;new Promise(function(t,n){var A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept",".csv, .tsv, .txt"),A.onchange=function(e){e=e.target.files[0];B3.a.parse(e,{header:!1,complete:function(e){document.body.removeChild(A),t(e.data)},error:function(e){document.body.removeChild(A),n(e)}})},document.body.appendChild(A),A.click()}).then(function(e){var t=e[0].length,n=1,t=(1<t&&(t=a.props.intl.formatMessage(U3.columnPrompt,{numberOfColumns:t}),n=parseInt(prompt(t),10)),e.map(function(e){return e[n-1]}).filter(function(e){return"string"==typeof e})),e=a.props,A=e.vm,o=e.targetId,e=e.id;L0(A,o,e,t)})}},{key:"handleExport",value:function(){var e=this.props,t=e.vm,n=e.targetId,e=e.id,t=U0(t,n,e),n=t.value.join("\r\n"),e=new Blob([n],{type:"text/plain;charset=utf-8"});Go("".concat(t.name,".txt"),e)}},{key:"render",value:function(){o=this.props,e=o.id,i=o.spriteName,t=o.opcode,a=o.params,n=o.value,o=(o=o.vm)&&o.runtime.getLabelForOpcode(t)||H0.getLabel(t),t=o.label,A=o.category,void 0!==(o=o.labelFn)&&(t=o(a)),i&&(t="".concat(i,": ").concat(t)),"boolean"==typeof(n="number"==typeof n?Number(n.toFixed(6)):n)&&(n=n.toString());var e,t,n,A,o={id:e,label:t,category:A,value:n=Array.isArray(n)?n.map(function(e){return e.toString()}):n},a=-1!==x3(this.props.opcode).indexOf("slider"),i="list"===this.props.mode;return j.a.createElement(j.a.Fragment,null,this.state.sliderPrompt&&j.a.createElement(T3,{isDiscrete:this.props.isDiscrete,maxValue:parseFloat(this.props.max),minValue:parseFloat(this.props.min),onCancel:this.handleSliderPromptClose,onOk:this.handleSliderPromptOk}),j.a.createElement(g3,k3({componentRef:this.setElement},o,{draggable:this.props.draggable,height:this.props.height,isDiscrete:this.props.isDiscrete,max:this.props.max,min:this.props.min,mode:this.props.mode,targetId:this.props.targetId,width:this.props.width,onDragEnd:this.handleDragEnd,onExport:i?this.handleExport:null,onImport:i?this.handleImport:null,onHide:this.handleHide,onNextMode:this.handleNextMode,onSetModeToDefault:i?null:this.handleSetModeToDefault,onSetModeToLarge:i?null:this.handleSetModeToLarge,onSetModeToSlider:a?this.handleSetModeToSlider:null,onSliderPromptOpen:this.handleSliderPromptOpen})))}}])&&N3(t.prototype,e),n&&N3(t,n),o}(j.a.Component),G3=(a.propTypes={addMonitorRect:n.a.func.isRequired,draggable:n.a.bool,height:n.a.number,id:n.a.string.isRequired,intl:z.f,isDiscrete:n.a.bool,max:n.a.number,min:n.a.number,mode:n.a.oneOf(["default","slider","large","list"]),monitorLayout:n.a.shape({monitors:n.a.object,savedMonitorPositions:n.a.object}).isRequired,onDragEnd:n.a.func.isRequired,opcode:n.a.string.isRequired,params:n.a.object,removeMonitorRect:n.a.func.isRequired,resizeMonitorRect:n.a.func.isRequired,spriteName:n.a.string,targetId:n.a.string,value:n.a.oneOfType([n.a.string,n.a.number,n.a.arrayOf(n.a.oneOfType([n.a.string,n.a.number]))]),vm:n.a.instanceOf(o.a),width:n.a.number,x:n.a.number,y:n.a.number},Object(z.e)(Object(A.b)(function(e){return{monitorLayout:e.scratchGui.monitorLayout,vm:e.scratchGui.vm}},function(A){return{addMonitorRect:function(e,t,n){return A(Object(R0.a)(e,t.upperStart,t.lowerEnd,n))},resizeMonitorRect:function(e,t,n){return A(Object(R0.g)(e,t,n))},removeMonitorRect:function(e){return A(Object(R0.f)(e))}}})(a))),t=e(404),L3=e.n(t),P3=(_3.propTypes={draggable:n.a.bool.isRequired,monitors:n.a.instanceOf(e3.OrderedMap),onMonitorChange:n.a.func.isRequired,stageSize:n.a.shape({width:n.a.number,height:n.a.number,widthDefault:n.a.number,heightDefault:n.a.number}).isRequired},_3);function H3(e){return(H3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function j3(){return(j3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function z3(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function J3(e,t){return(J3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function W3(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=K3(A);return e=o?(e=K3(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==H3(t)&&"function"!=typeof t?V3(n):t}}function V3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function K3(e){return(K3=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var i=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&J3(t,e);var n,A=W3(o);function o(e){var t;if(this instanceof o)return t=A.call(this,e),l()(V3(t),["handleMonitorChange"]),H0.setTranslatorFunction(e.intl.formatMessage),t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleMonitorChange",value:function(e,t,n){this.props.moveMonitorRect(e,t,n)}},{key:"render",value:function(){return j.a.createElement(P3,j3({onMonitorChange:this.handleMonitorChange},this.props))}}])&&z3(t.prototype,e),n&&z3(t,n),o}(j.a.Component),X3=(i.propTypes={intl:z.f.isRequired,moveMonitorRect:n.a.func.isRequired},Object(O.a)("Monitors")(Object(z.e)(Object(A.b)(function(e){return{monitors:e.scratchGui.monitors}},function(A){return{moveMonitorRect:function(e,t,n){return A(Object(R0.e)(e,t,n))}}})(i)))),u=e(329),q3=e.n(u),S=e(311),Z3=e.n(S);function $3(e){return($3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ew(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function tw(e,t){return(tw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nw(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=Aw(n),t=(e=A?(e=Aw(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==$3(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function Aw(e){return(Aw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ow=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tw(t,e);var n,A=nw(o);function o(){if(this instanceof o)return A.call(this);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){return j.a.createElement("div",{className:Z3.a.martyConnectBtnContainer},j.a.createElement("svg",{id:"a",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 130.459 41.2807"},j.a.createElement("rect",{x:".5",y:".5",width:"129.459",height:"40.2807",rx:"9.1484",ry:"9.1484",fill:"#37abc8",stroke:"#050505",strokeMiterlimit:"10"}),j.a.createElement("rect",{x:"15.2596",y:"23.9589",width:"8.6585",height:"15.8269",rx:"4.3293",ry:"4.3293",transform:"translate(51.4612 12.2835) rotate(90)",fill:"#a1d5e3",stroke:"#020202",strokeMiterlimit:"10",strokeWidth:".25"}),j.a.createElement("circle",{cx:"15.7005",cy:"31.8724",r:"4.3613",fill:"#70888e",stroke:"#020202",strokeMiterlimit:"10",strokeWidth:".25"}),j.a.createElement("g",null,j.a.createElement("path",{d:"M17.4972,4.2222l3.8022-.0263c1.2734,.8363,2.761,1.4764,3.7515,2.5718,.7708,.8524,.9223,2.2717,1.3491,3.4392,.0074,3.0388,.0147,6.0776,.0221,9.1164-.5164,4.2866-2.9297,5.8431-5.9385,6.2073-4.3465,.5262-6.935-1.4588-8.0642-5.6011,.0825-1.7646,.2274-3.529,.2293-5.2937,.0018-1.665-.1468-3.3302-.2293-4.9954,.5347-2.905,2.4132-4.5346,5.0778-5.4182Zm1.3235,10.6415l-3.2986,2.9308,.8646,.8287,2.4468-2.3209v7.1878l4.7277-5.7427-3.5222-3.088,3.4013-2.7912-4.6594-5.3953v6.5622q-2.6482-1.7846-3.2099-1.0286l3.2497,2.8573Z",fill:"#70888e"}),j.a.createElement("path",{d:"M18.8207,14.8637l-3.2497-2.8573q.5617-.756,3.2099,1.0286V6.4729l4.6594,5.3953-3.4013,2.7912,3.5222,3.088-4.7277,5.7427v-7.1878l-2.4468,2.3209-.8646-.8287,3.2986-2.9308Zm1.2259-1.3338l1.7429-1.8487-1.7429-1.989v3.8377Zm1.5723,4.8031l-1.5572-2.1154v3.9743l1.5572-1.8589Z",fill:"#fcfdfd"}),j.a.createElement("path",{d:"M20.0466,13.5299v-3.8377l1.7429,1.989-1.7429,1.8487Z",fill:"#70888e"}),j.a.createElement("path",{d:"M21.619,18.333l-1.5572,1.8589v-3.9743l1.5572,2.1154Z",fill:"#70888e"})),j.a.createElement("g",null,j.a.createElement("path",{d:"M38.9786,23.4017v.6881c0,1.2177-.5734,1.8259-1.7214,1.8259h-.9276c-1.1474,0-1.7208-.6083-1.7208-1.8259v-7.0946c0-1.2177,.5734-1.8259,1.7208-1.8259h.9276c1.148,0,1.7214,.6083,1.7214,1.8259v1.212h-1.4369v-1.1075c0-.4194-.2148-.6285-.6431-.6285h-.2845c-.3789,0-.5689,.2091-.5689,.6285v6.8855c0,.4183,.19,.6285,.5689,.6285h.3598c.3789,0,.5678-.2103,.5678-.6285v-.5835h1.4369Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M41.7625,25.9157c-1.157,0-1.736-.6083-1.736-1.8259v-7.08c0-1.2267,.5734-1.8406,1.7214-1.8406h1.3773c1.1468,0,1.7214,.6139,1.7214,1.8406v7.08c0,1.2177-.579,1.8259-1.736,1.8259h-1.3481Zm.3452-1.302h.7331c.3789,0,.5689-.2103,.5689-.6285v-6.8855c0-.4194-.2148-.6285-.6443-.6285h-.6735c-.4183,0-.6285,.2091-.6285,.6285v6.8855c0,.4183,.2148,.6285,.6443,.6285Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M49.0966,20.3625v-5.1934h1.4369v10.7465h-1.4369v-2.1408l-1.5415-4.8943v7.035h-1.4369V15.1692h1.4369l1.5415,5.1934Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M54.8589,20.3625v-5.1934h1.4369v10.7465h-1.4369v-2.1408l-1.5415-4.8943v7.035h-1.4369V15.1692h1.4369l1.5415,5.1934Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M57.6428,25.9157V15.1692h3.5631v1.302h-2.1261v3.2629h1.8867v1.302h-1.8867v3.5777h2.1261v1.302h-3.5631Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M66.533,23.4017v.6881c0,1.2177-.5734,1.8259-1.7214,1.8259h-.9276c-1.148,0-1.7214-.6083-1.7214-1.8259v-7.0946c0-1.2177,.5734-1.8259,1.7214-1.8259h.9276c1.148,0,1.7214,.6083,1.7214,1.8259v1.212h-1.4369v-1.1075c0-.4194-.2148-.6285-.6431-.6285h-.2845c-.3789,0-.5689,.2091-.5689,.6285v6.8855c0,.4183,.19,.6285,.5689,.6285h.3598c.3789,0,.5678-.2103,.5678-.6285v-.5835h1.4369Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M69.9465,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M76.8309,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M80.6919,25.9157c-1.1581,0-1.7371-.6083-1.7371-1.8259v-7.08c0-1.2267,.5745-1.8406,1.7214-1.8406h1.3773c1.148,0,1.7214,.6139,1.7214,1.8406v7.08c0,1.2177-.579,1.8259-1.736,1.8259h-1.347Zm.344-1.302h.7331c.3789,0,.5689-.2103,.5689-.6285v-6.8855c0-.4194-.2148-.6285-.6431-.6285h-.6735c-.4194,0-.6296,.2091-.6296,.6285v6.8855c0,.4183,.2148,.6285,.6443,.6285Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M88.8029,25.9157h-1.4369v-8.9059c0-1.2267,.5745-1.8406,1.7214-1.8406h1.0782c1.1468,0,1.7214,.6139,1.7214,1.8406v8.9059h-1.4369v-3.9363h-1.6472v3.9363Zm1.6472-5.2383v-3.5777c0-.4194-.2103-.6285-.6285-.6285h-.389c-.4194,0-.6296,.2091-.6296,.6285v3.5777h1.6472Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M98.4723,21.4858l1.3324-6.3166h1.5865v10.7465h-1.4369l.1495-7.035-1.0782,5.0888h-1.1075l-1.0771-5.0888,.1495,7.035h-1.4369V15.1692h1.5865l1.3324,6.3166Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M104.0996,25.9157h-1.4369v-8.9059c0-1.2267,.5745-1.8406,1.7214-1.8406h1.0782c1.1468,0,1.7214,.6139,1.7214,1.8406v8.9059h-1.4369v-3.9363h-1.6472v3.9363Zm1.6472-5.2383v-3.5777c0-.4194-.2103-.6285-.6285-.6285h-.389c-.4194,0-.6296,.2091-.6296,.6285v3.5777h1.6472Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M108.4553,15.1692h2.8142c1.0974,0,1.646,.6139,1.646,1.8406v2.6501c0,.9377-.2845,1.5314-.8534,1.781l1.0029,4.4749h-1.3616l-.9433-4.34h-.868v4.34h-1.4369V15.1692Zm1.4369,5.1787h.9433c.4284,0,.6431-.2597,.6431-.778v-2.3207c0-.5183-.2148-.778-.6431-.778h-.9433v3.8767Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M116.4033,16.4712v9.4445h-1.4369v-9.4445h-1.3773v-1.302h4.1904v1.302h-1.3762Z",fill:"#f9f9f9"}),j.a.createElement("path",{d:"M121.2819,25.9157h-1.4369v-3.951l-1.7663-6.7955h1.4223l1.0771,4.6694h.045l.9726-4.6694h1.4223l-1.736,6.7955v3.951Z",fill:"#f9f9f9"})),j.a.createElement("rect",{x:"12.4195",y:"4.1959",width:"14.0026",height:"21.4131",rx:"7.0013",ry:"7.0013",fill:"none",stroke:"#000",strokeMiterlimit:"10",strokeWidth:".25"})))}}])&&ew(t.prototype,e),n&&ew(t,n),o}(j.a.Component);function aw(e){return(aw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function rw(e,t){return(rw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sw(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=lw(n),t=(e=A?(e=lw(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==aw(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function lw(e){return(lw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var uw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rw(t,e);var n,A=sw(o);function o(){if(this instanceof o)return A.call(this);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"render",value:function(){return j.a.createElement("div",{className:Z3.a.martyDisconnectBtnContainer},j.a.createElement("svg",{id:"a",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 29.3735 42.9438"},j.a.createElement("g",null,j.a.createElement("rect",{x:".3053",y:".2501",width:"28.8736",height:"42.4442",rx:"11.2782",ry:"11.2782",fill:"#d67b7b"}),j.a.createElement("path",{d:"M17.8452,42.9438h-6.3169c-6.3569,0-11.5283-5.1709-11.5283-11.5273V11.5283C0,5.1714,5.1714,0,11.5283,0h6.3169c6.3564,0,11.5283,5.1714,11.5283,11.5283V31.4165c0,6.3564-5.1719,11.5273-11.5283,11.5273ZM11.5283,.5C5.4473,.5,.5,5.4473,.5,11.5283V31.4165c0,6.0801,4.9473,11.0273,11.0283,11.0273h6.3169c6.0811,0,11.0283-4.9473,11.0283-11.0273V11.5283C28.8735,5.4473,23.9263,.5,17.8452,.5h-6.3169Z"})),j.a.createElement("g",null,j.a.createElement("rect",{x:"10.2558",y:"25.2469",width:"9.6217",height:"17.5874",rx:"4.8108",ry:"4.8108",transform:"translate(49.1072 18.974) rotate(90)",fill:"#d6f3f6"}),j.a.createElement("path",{d:"M19.0493,38.9761h-7.9658c-2.7217,0-4.9355-2.2139-4.9355-4.9355s2.2139-4.9355,4.9355-4.9355h7.9658c2.7217,0,4.9355,2.2139,4.9355,4.9355s-2.2139,4.9355-4.9355,4.9355Zm-7.9658-9.6211c-2.5835,0-4.6855,2.1016-4.6855,4.6855s2.1021,4.6855,4.6855,4.6855h7.9658c2.584,0,4.6855-2.1016,4.6855-4.6855s-2.1016-4.6855-4.6855-4.6855h-7.9658Z",fill:"#050505"})),j.a.createElement("g",null,j.a.createElement("circle",{cx:"18.9892",cy:"34.0406",r:"4.8653",fill:"#2e8fa7"}),j.a.createElement("path",{d:"M18.9888,39.0308c-2.751,0-4.9897-2.2383-4.9897-4.9902s2.2388-4.9902,4.9897-4.9902,4.9912,2.2383,4.9912,4.9902-2.2393,4.9902-4.9912,4.9902Zm0-9.7305c-2.6133,0-4.7397,2.126-4.7397,4.7402s2.1265,4.7402,4.7397,4.7402,4.7412-2.126,4.7412-4.7402-2.127-4.7402-4.7412-4.7402Z",fill:"#050505"})),j.a.createElement("path",{d:"M13.6282,4.3198c4.1103-.1344,2.9372,.1652,3.5473,.254,.8884,.2993,.8608-.3553,4.1145,2.5785,.9211,.8306,1.0319,2.2698,1.4925,3.5298,.008,3.2797,.0159,6.5594,.0238,9.8391-.5573,4.6265-3.8375,6.0184-6.4092,6.6994-4.0961,.3912-7.4848-1.5745-8.7035-6.0451,.089-1.9044-.0021-3.6518,0-5.5563,.002-1.797,.2142-3.394,.1252-5.1912,.577-3.1353,2.9336-5.1545,5.8093-6.1082Zm.9741,11.3884l-3.5601,3.1631,.9332,.8944,2.6408-2.5049v7.7576l5.1025-6.198-3.8015-3.3328,3.671-3.0124-5.0288-5.823v7.0824q-2.8582-1.9261-3.4644-1.1102l3.5073,3.0838Z",fill:"#2e8ea6"}),j.a.createElement("path",{d:"M14.6023,15.7082l-3.5073-3.0838q.6062-.8159,3.4644,1.1102V6.6522l5.0288,5.823-3.671,3.0124,3.8015,3.3328-5.1025,6.198v-7.7576l-2.6408,2.5049-.9332-.8944,3.5601-3.1631Zm1.3231-1.4396l1.8811-1.9953-1.8811-2.1467v4.142Zm1.697,5.1838l-1.6807-2.2831v4.2894l1.6807-2.0063Z",fill:"#fcfdfd"}),j.a.createElement("path",{d:"M15.9254,14.2687v-4.142l1.8811,2.1467-1.8811,1.9953Z",fill:"#4b9eb3"}),j.a.createElement("path",{d:"M17.6224,19.4525l-1.6807,2.0063v-4.2894l1.6807,2.2831Z",fill:"#4a9eb2"}),j.a.createElement("path",{d:"M15.25,27.4351c-4.2354,0-7.6812-3.4453-7.6812-7.6812V11.751c0-4.2354,3.4458-7.6812,7.6812-7.6812s7.6812,3.4458,7.6812,7.6812v8.0029c0,4.2358-3.4453,7.6812-7.6812,7.6812Zm0-23.1152c-4.0977,0-7.4312,3.3335-7.4312,7.4312v8.0029c0,4.0972,3.3335,7.4312,7.4312,7.4312s7.4312-3.334,7.4312-7.4312V11.751c0-4.0977-3.334-7.4312-7.4312-7.4312Z"})))}}])&&iw(t.prototype,e),n&&iw(t,n),o}(j.a.Component),g=e(204),cw=e.n(g);function gw(e){return(gw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function hw(e,t){return(hw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Bw(A);return e=o?(e=Bw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==gw(t)&&"function"!=typeof t?mw(n):t}}function mw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bw(e){return(Bw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var fw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&hw(t,e);var n,A=pw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={batteryPercent:0},e.onBatteryPerecentChange=e.onBatteryPerecentChange.bind(mw(e)),mv2Interface.addEventListener("onBattRemainCapacityPercentChange",e.onBatteryPerecentChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onBattRemainCapacityPercentChange",this.onBatteryPerecentChange)}},{key:"onBatteryPerecentChange",value:function(e){this.setState({batteryPercent:e.battRemainCapacityPercent})}},{key:"getBorderColor",value:function(e){return 70<=e||30<=e?"black":"rgb(255,69,0)"}},{key:"getFillColor",value:function(e){var e=(e=e)<=30&&11<=e?20:e<=50&&31<=e?40:e<=70&&51<=e?60:e<=90&&71<=e?80:e,t="rgb(3, 125, 60)";return e<=10?t="rgb(91, 20, 19)":10<e&&e<=30&&(t="rgb(250, 217, 5)"),t}},{key:"render",value:function(){var e=this.state.batteryPercent,t=this.getFillColor(e);return j.a.createElement("div",{className:cw.a.container},j.a.createElement("div",{className:"".concat(!1," ").concat(cw.a.batteryContainer)},j.a.createElement("div",{className:cw.a.batteryCap,style:{backgroundColor:"black"}}),j.a.createElement("div",{className:cw.a.batteryCylinder,style:{borderColor:"black"}},j.a.createElement("div",{style:{backgroundColor:t,width:"100%",height:"".concat(Math.round(e),"%")}}))),j.a.createElement("p",{className:cw.a.batteryPercent},Math.round(e),"%"))}}])&&dw(t.prototype,e),n&&dw(t,n),o}(j.a.Component),Q=e(157),Ew=e.n(Q);function ww(e){return(ww="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Cw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Iw(e,t){return(Iw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Mw(A);return e=o?(e=Mw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==ww(t)&&"function"!=typeof t?bw(n):t}}function bw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mw(e){return(Mw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Qw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Iw(t,e);var n,A=yw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={rssi:-200},e.onRSSIChange=e.onRSSIChange.bind(bw(e)),mv2Interface.addEventListener("onRSSIChange",e.onRSSIChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onRSSIChange",this.onRSSIChange)}},{key:"onRSSIChange",value:function(e){this.setState({rssi:e.rssi})}},{key:"render",value:function(){var e=this.state.rssi,t=0==e?Ew.a.signalFlash:"";return j.a.createElement("div",{className:"".concat(t," ").concat(Ew.a.signalStrengthContainer)},j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-100?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"20%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-80?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"40%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-70?"white":e<=-60?"rgb(250, 217, 5)":"rgb(3, 125, 60)",height:"60%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-60?"white":"rgb(3, 125, 60)",height:"80%"}}),j.a.createElement("div",{className:Ew.a.signalBar,style:{backgroundColor:e<=-50?"white":"rgb(3, 125, 60)",height:"100%"}}))}}])&&Cw(t.prototype,e),n&&Cw(t,n),o}(j.a.Component);function Tw(e){return(Tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Sw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function kw(e,t){return(kw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Nw(A);return e=o?(e=Nw(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Tw(t)&&"function"!=typeof t?vw(n):t}}function vw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nw(e){return(Nw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ow(){return j.a.createElement("img",{className:Rw.a.icon,src:Yw.a,alt:"Sensors Dashboard BTN",onClick:function(){mv2Interface.toggleSensorsDashboard()}})}var Fw=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&kw(t,e);var n,A=Dw(o);function o(e){if(this instanceof o)return(e=A.call(this,e)).state={isConnected:mv2Interface.isConnected},l()(vw(e),["clickBtnHandler"]),e.onIsConnectedChange=e.onIsConnectedChange.bind(vw(e)),mv2Interface.addEventListener("onIsConnectedChange",e.onIsConnectedChange),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillUnmount",value:function(){mv2Interface.removeEventListener("onIsConnectedChange",this.onIsConnectedChange)}},{key:"onIsConnectedChange",value:function(e){this.setState({isConnected:e.isConnected})}},{key:"clickBtnHandler",value:function(){var e=mv2Interface.isConnected?"disconnect":"connect";mv2Interface.send_REST(e)}},{key:"render",value:function(){return j.a.createElement("div",{className:q3.a.martyConnectBtnContainer,onClick:this.clickBtnHandler},this.state.isConnected?j.a.createElement("div",{className:q3.a.batterySignalContainer},j.a.createElement(fw,null),j.a.createElement(Qw,null),j.a.createElement("div",{className:q3.a.disconnectBtnContainer},j.a.createElement(uw,null))):j.a.createElement(ow,null))}}])&&Sw(t.prototype,e),n&&Sw(t,n),o}(j.a.Component),d=e(818),Rw=e.n(d),a=e(819),Yw=e.n(a),t=e(56),xw=e.n(t),i=e(820),_w=e.n(i),u=e(821),Uw=e.n(u),S=(e(1531),e(1532),e(1533),e(822)),Gw=e.n(S),g=e(247),Lw=e.n(g);function Pw(e){return(Pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function jw(e,t){return(jw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zw(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=Ww(A);return e=o?(e=Ww(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Pw(t)&&"function"!=typeof t?Jw(n):t}}function Jw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ww(e){return(Ww=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vw(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}var Q=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&jw(t,e);var n,A=zw(o);function o(e){var t;if(this instanceof o)return Vw(Jw(t=A.call(this,e)),"highlight",function(){t.ref&&Uw.a.highlightElement(t.ref)}),Vw(Jw(t),"onCopyToClipboard",function(){navigator.clipboard.writeText(t.props.code),t.setState({isCopied:!0})}),t.ref=null,t.setRef=function(e){t.ref=e,t.highlight()},t.state={isCopied:!1},t;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.highlight(),pythonTranspiler.isModalOpen=!0;var e=!this.props.code.includes("# Uh-oh! We can't find any Marty Blocks.");mv2Interface.startPythonTranslatorSession(e)}},{key:"componentWillUnmount",value:function(){pythonTranspiler.isModalOpen=!1,mv2Interface.endPythonTranslatorSession()}},{key:"componentDidUpdate",value:function(e,t){var n=this;this.highlight(),this.state.isCopied!==t.isCopied&&setTimeout(function(){n.setState({isCopied:!1})},2e3)}},{key:"render",value:function(){return j.a.createElement(j.a.Fragment,null,j.a.createElement(W.a,{className:Lw.a.body},j.a.createElement(W.a,{className:Lw.a.header},j.a.createElement("button",{className:Lw.a.cpToClipboardBtn,onClick:this.onCopyToClipboard}," ",this.state.isCopied?"Copied!":"Copy to clipboard"," ",j.a.createElement("img",{className:Lw.a.cpToClipboardBtnIcon,draggable:!1,src:Gw.a}))),j.a.createElement(W.a,{style:{height:"100%"}},j.a.createElement("pre",{style:{userSelect:"text"}},j.a.createElement("code",{ref:this.setRef,className:"language-python",style:{userSelect:"text"}},this.props.code.trim())))))}}])&&Hw(t.prototype,e),n&&Hw(t,n),o}(j.a.Component),Kw=(Q.propTypes={},Q);function Xw(e){return(Xw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qw(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function Zw(e,t){return(Zw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $w(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=tC(A);return e=o?(e=tC(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==Xw(t)&&"function"!=typeof t?eC(n):t}}function eC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tC(e){return(tC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Zw(t,e);var n,o=$w(a);function a(e){var t,n,A;if(this instanceof a)return t=o.call(this,e),e=eC(t),A=function(){return j.a.createElement(j.a.Fragment,null,t.state.helpModalVisible&&j.a.createElement(Oc.a,{id:xw.a.helpModalContent,className:xw.a.helpModalContent,headerClassName:xw.a.header,contentLabel:"How to run the Python code",onRequestClose:function(){return t.setState({helpModalVisible:!1})}},j.a.createElement(W.a,{className:xw.a.body},j.a.createElement("div",{className:xw.a.container},j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"1"),j.a.createElement("div",{className:xw.a.description},"Install Python & martypy")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"2"),j.a.createElement("div",{className:xw.a.description},"Connect your marty to wifi or USB")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"3"),j.a.createElement("div",{className:xw.a.description},"Copy & paste the code into a file")),j.a.createElement("div",{className:xw.a.step},j.a.createElement("div",{className:xw.a.circle},"4"),j.a.createElement("div",{className:xw.a.description},"Run the code!")),j.a.createElement("a",{href:"https://userguides.robotical.io/martyv2/userguides/python/setting_up_python_on_your_computer",target:"_blank",rel:"noopener noreferrer",className:xw.a.help_button},"Show me how!")))),j.a.createElement("img",{className:xw.a.icon,src:_w.a,alt:"Python Logo",onClick:t.clickHandler}))},(n="render")in e?Object.defineProperty(e,n,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[n]=A,t.state={helpModalVisible:!1,code:""},t.clickHandler=t.clickHandler.bind(eC(t)),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidMount",value:function(){var t=this;pythonTranspiler.setModal=function(e){t.setState({code:e}),t.props.onOpenPythonModal(j.a.createElement(Kw,{code:t.state.code}),"Python (βeta -- May contain bugs!)",function(){return t.setState({helpModalVisible:!0})})}}},{key:"clickHandler",value:function(){var t=this;pythonTranspiler.fromSb3JSON(JSON.parse(vm.toJSON()),{getAsset:function(){}}).then(function(e){return e.toPython()}).then(function(e){""===e.trim()&&(e="\n# Uh-oh! We can't find any Marty Blocks.\n# To see what your project would look like in code, \n# don't forget to add some Marty Blocks!\n"),t.setState({code:e}),t.props.onOpenPythonModal(j.a.createElement(Kw,{code:t.state.code}),"Python (βeta -- May contain bugs!)",function(){return t.setState({helpModalVisible:!0})})})}}])&&qw(t.prototype,e),n&&qw(t,n),a}(j.a.Component),nC=Object(A.b)(null,function(A){return{onOpenPythonModal:function(e,t,n){return A(Object(Nc.a)(e,t,n))}}})(d),AC=["accountNavOpen","activeTabIndex","alertsVisible","authorId","authorThumbnailUrl","authorUsername","basePath","backdropLibraryVisible","backpackHost","backpackVisible","blocksTabVisible","cardsVisible","canChangeLanguage","canCreateNew","canEditTitle","canManageFiles","canRemix","canSave","canCreateCopy","canShare","canUseCloud","children","connectionModalVisible","costumeLibraryVisible","costumesTabVisible","draggableModalVisible","enableCommunity","intl","isCreating","isFullScreen","isPlayerOnly","isRtl","isShared","loading","logo","renderLogin","onClickAccountNav","onCloseAccountNav","onLogOut","onOpenRegistration","onToggleLoginOpen","onActivateCostumesTab","onActivateSaveLoadTab","onActivateSoundsTab","onActivateMartyMachineTab","onActivateTab","onClickLogo","onExtensionButtonClick","onProjectTelemetryEvent","onRequestCloseBackdropLibrary","onRequestCloseCostumeLibrary","onRequestCloseTelemetryModal","onSeeCommunity","onShare","onTelemetryModalCancel","onTelemetryModalOptIn","onTelemetryModalOptOut","saveLoadTabVisible","martyMachineTabVisible","showComingSoon","soundsTabVisible","stageSizeForSensors","stageSizeMode","targetIsStage","telemetryModalVisible","tipsLibraryVisible","useEditorDragStyle","vm"];function oC(){return(oC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function aC(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function iC(e){(e=X()(e,"dispatch")).accountNavOpen;var t,n,A=e.activeTabIndex,o=e.alertsVisible,a=(e.authorId,e.authorThumbnailUrl,e.authorUsername,e.basePath),i=e.backdropLibraryVisible,r=(e.backpackHost,e.backpackVisible,e.blocksTabVisible),s=e.cardsVisible,l=e.canChangeLanguage,u=(e.canCreateNew,e.canEditTitle,e.canManageFiles,e.canRemix,e.canSave,e.canCreateCopy,e.canShare,e.canUseCloud),c=e.children,g=e.connectionModalVisible,d=e.costumeLibraryVisible,h=e.costumesTabVisible,p=e.draggableModalVisible,m=(e.enableCommunity,e.intl),B=e.isCreating,f=e.isFullScreen,E=e.isPlayerOnly,w=e.isRtl,C=(e.isShared,e.loading),I=(e.logo,e.renderLogin,e.onClickAccountNav,e.onCloseAccountNav,e.onLogOut,e.onOpenRegistration,e.onToggleLoginOpen,e.onActivateCostumesTab),y=e.onActivateSaveLoadTab,b=e.onActivateSoundsTab,M=e.onActivateMartyMachineTab,Q=e.onActivateTab,T=(e.onClickLogo,e.onExtensionButtonClick),S=(e.onProjectTelemetryEvent,e.onRequestCloseBackdropLibrary),k=e.onRequestCloseCostumeLibrary,D=e.onRequestCloseTelemetryModal,v=(e.onSeeCommunity,e.onShare,e.onTelemetryModalCancel),N=e.onTelemetryModalOptIn,O=e.onTelemetryModalOptOut,Y=e.saveLoadTabVisible,x=e.martyMachineTabVisible,_=(e.showComingSoon,e.soundsTabVisible),U=e.stageSizeForSensors,G=e.stageSizeMode,L=e.targetIsStage,P=e.telemetryModalVisible,H=e.tipsLibraryVisible,F=(e.useEditorDragStyle,e.vm),R=aC(e,AC);return c?j.a.createElement(W.a,R,c):(t=Gd(U,f),n={tabs:K.a.tabs,tab:J()(Sn.a.reactTabsTab,K.a.tab),tabList:J()(Sn.a.reactTabsTabList,K.a.tabList),tabPanel:J()(Sn.a.reactTabsTabPanel,K.a.tabPanel),tabPanelSelected:J()(Sn.a.reactTabsTabPanelSelected,K.a.isSelected),tabSelected:J()(Sn.a.reactTabsTabSelected,K.a.isSelected)},null===sC&&(sC=kn.a.isSupported()),j.a.createElement(nn.a,{minWidth:V.e.fullSizeMinWidth},function(e){e=e;e=G===V.d.small?V.c.small:e?V.c.large:V.c.largeConstrained;return E?j.a.createElement(Xp,{isFullScreen:f,isRendererSupported:sC,isRtl:w,loading:C,stageSize:V.d.large,vm:F},o?j.a.createElement(ZB,{className:K.a.alertsContainer}):null):j.a.createElement(W.a,oC({className:K.a.pageWrapper,dir:w?"rtl":"ltr"},R),P?j.a.createElement(h0,{onCancel:v,onOptIn:N,onOptOut:O,onRequestClose:D}):null,C?j.a.createElement(zp,null):null,B?j.a.createElement(zp,{messageId:"gui.loader.creating"}):null,sC?null:j.a.createElement(b2,{isRtl:w}),H?j.a.createElement(F2,null):null,s?j.a.createElement(uB,null):null,p?j.a.createElement(MB,null):null,o?j.a.createElement(ZB,{className:K.a.alertsContainer}):null,g?j.a.createElement(A0,{vm:F}):null,d?j.a.createElement(om,{vm:F,onRequestClose:k}):null,i?j.a.createElement(hm,{vm:F,onRequestClose:S}):null,j.a.createElement(W.a,{className:K.a.bodyWrapper},j.a.createElement(W.a,{className:K.a.flexWrapper},j.a.createElement(W.a,{className:K.a.editorWrapper},j.a.createElement(fn,{forceRenderTabPanel:!0,className:n.tabs,selectedIndex:A,selectedTabClassName:n.tabSelected,selectedTabPanelClassName:n.tabPanelSelected,onSelect:Q},j.a.createElement(wn,{className:n.tabList},j.a.createElement(In,{className:n.tab},j.a.createElement("img",{draggable:!1,src:m0.a}),j.a.createElement(z.a,{defaultMessage:"Code",id:"gui.gui.codeTab"})),j.a.createElement(In,{className:n.tab,onClick:I},j.a.createElement("img",{draggable:!1,src:B0.a}),L?j.a.createElement(z.a,{defaultMessage:"Backdrops",id:"gui.gui.backdropsTab"}):j.a.createElement(z.a,{defaultMessage:"Costumes",id:"gui.gui.costumesTab"})),j.a.createElement(In,{className:n.tab,onClick:b},j.a.createElement("img",{draggable:!1,src:f0.a}),j.a.createElement(z.a,{defaultMessage:"Sounds",id:"gui.gui.soundsTab"})),j.a.createElement(In,{className:n.tab,onClick:M},j.a.createElement("img",{draggable:!1,src:w0.a}),j.a.createElement(z.a,{defaultMessage:"Machine Learning",id:"gui.gui.toggleMartyMachineTab"})),j.a.createElement(In,{className:n.tab,onClick:y},j.a.createElement("img",{draggable:!1,src:E0.a}),j.a.createElement(z.a,{defaultMessage:"Save/Load",id:"gui.gui.toggleSaveLoadTab"})),j.a.createElement(r2,{canChangeLanguage:l}),j.a.createElement(Fw,null),j.a.createElement(Ow,null),j.a.createElement(nC,null),j.a.createElement(W.a,{className:K.a.controlsWrapper},j.a.createElement(Jd.a,{vm:F}),j.a.createElement(F0,{stageSize:e,vm:F}))),j.a.createElement(Tn,{className:n.tabPanel},j.a.createElement(W.a,{className:K.a.blocksWrapper},j.a.createElement(Dn.a,{canUseCloud:u,grow:1,isVisible:r,options:{media:"".concat(a,"static/blocks-media/")},stageSize:e,vm:F})),j.a.createElement(W.a,{className:K.a.extensionButtonContainer},j.a.createElement("button",{className:K.a.extensionButton,title:m.formatMessage(rC.addExtension),onClick:T},j.a.createElement("img",{className:K.a.extensionButtonIcon,draggable:!1,src:p0.a}))),j.a.createElement(W.a,{className:K.a.monitorWrapper},j.a.createElement(X3,{draggable:!1,stageSize:t})),j.a.createElement(W.a,{className:K.a.watermark},j.a.createElement(Mm,null))),j.a.createElement(Tn,{className:n.tabPanel},h?j.a.createElement(sa,{vm:F}):null),j.a.createElement(Tn,{className:n.tabPanel},_?j.a.createElement(Hu,{vm:F}):null),j.a.createElement(Tn,{className:n.tabPanel},x?j.a.createElement(Ug,{vm:F}):null),j.a.createElement(Tn,{className:[n.tabPanel,K.a["tab-panel-height-100"]].join(" ")},Y?j.a.createElement(Ud,{vm:F}):null))),j.a.createElement(W.a,{className:J()(K.a.stageAndTargetWrapper,K.a[e]),style:e===V.d.small?"":{display:"none"}},j.a.createElement(Xp,{isRendererSupported:sC,isRtl:w,stageSize:e,vm:F}),j.a.createElement(W.a,{className:K.a.targetWrapper},j.a.createElement(jr,{stageSize:e,vm:F}))))),j.a.createElement(ef,null))}))}var rC=Object(z.d)({addExtension:{id:"gui.gui.addExtension",defaultMessage:"Add Extension"}}),sC=null,lC=(iC.propTypes={accountNavOpen:n.a.bool,activeTabIndex:n.a.number,authorId:n.a.oneOfType([n.a.string,n.a.bool]),authorThumbnailUrl:n.a.string,authorUsername:n.a.oneOfType([n.a.string,n.a.bool]),backdropLibraryVisible:n.a.bool,backpackHost:n.a.string,backpackVisible:n.a.bool,basePath:n.a.string,blocksTabVisible:n.a.bool,canChangeLanguage:n.a.bool,canCreateCopy:n.a.bool,canCreateNew:n.a.bool,canEditTitle:n.a.bool,canManageFiles:n.a.bool,canRemix:n.a.bool,canSave:n.a.bool,canShare:n.a.bool,canUseCloud:n.a.bool,cardsVisible:n.a.bool,children:n.a.node,costumeLibraryVisible:n.a.bool,costumesTabVisible:n.a.bool,draggableModalVisible:n.a.bool,enableCommunity:n.a.bool,intl:z.f.isRequired,isCreating:n.a.bool,isFullScreen:n.a.bool,isPlayerOnly:n.a.bool,isRtl:n.a.bool,isShared:n.a.bool,loading:n.a.bool,logo:n.a.string,onActivateCostumesTab:n.a.func,onActivateSoundsTab:n.a.func,onActivateMartyMachineTab:n.a.func,onActivateSaveLoadTab:n.a.func,onActivateTab:n.a.func,onClickAccountNav:n.a.func,onClickLogo:n.a.func,onCloseAccountNav:n.a.func,onExtensionButtonClick:n.a.func,onLogOut:n.a.func,onOpenRegistration:n.a.func,onRequestCloseBackdropLibrary:n.a.func,onRequestCloseCostumeLibrary:n.a.func,onRequestCloseTelemetryModal:n.a.func,onSeeCommunity:n.a.func,onShare:n.a.func,onTabSelect:n.a.func,onTelemetryModalCancel:n.a.func,onTelemetryModalOptIn:n.a.func,onTelemetryModalOptOut:n.a.func,onToggleLoginOpen:n.a.func,renderLogin:n.a.func,martyMachineTabVisible:n.a.bool,saveLoadTabVisible:n.a.bool,showComingSoon:n.a.bool,soundsTabVisible:n.a.bool,stageSizeMode:n.a.oneOf(Object.keys(V.d)),targetIsStage:n.a.bool,telemetryModalVisible:n.a.bool,tipsLibraryVisible:n.a.bool,useEditorDragStyle:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},iC.defaultProps={backpackHost:null,backpackVisible:!1,basePath:"./",canChangeLanguage:!0,canCreateNew:!1,canEditTitle:!1,canManageFiles:!0,canRemix:!1,canSave:!1,canCreateCopy:!1,canShare:!1,canUseCloud:!1,enableCommunity:!1,isCreating:!1,isShared:!1,loading:!1,showComingSoon:!1,stageSizeMode:V.d.large},Object(z.e)(Object(A.b)(function(e){return{stageSizeMode:e.scratchGui.stageSize.stageSize}})(iC)));function uC(e){return(uC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var cC=["assetHost","cloudHost","error","isError","isScratchDesktop","isShowingProject","onProjectLoaded","onStorageInit","onUpdateProjectId","onVmInit","projectHost","projectId","children","fetchingProject","isLoading","loadingStateVisible"];function gC(){return(gC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function dC(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function hC(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function pC(e,t){return(pC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mC(n){var A=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=BC(n),t=(e=A?(e=BC(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(!e||"object"!==uC(e)&&"function"!=typeof e){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}}function BC(e){return(BC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}a=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&pC(t,e);var n,A=mC(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e;e=this.props.isScratchDesktop,y2=e,this.props.onStorageInit(Ie.a),this.props.onVmInit(this.props.vm)}},{key:"componentDidUpdate",value:function(e){this.props.projectId!==e.projectId&&null!==this.props.projectId&&this.props.onUpdateProjectId(this.props.projectId),this.props.isShowingProject&&!e.isShowingProject&&this.props.onProjectLoaded()}},{key:"render",value:function(){if(this.props.isError)throw new Error("Error in Scratch GUI [location=".concat(window.location,"]: ").concat(this.props.error));var e=this.props,t=(e.assetHost,e.cloudHost,e.error,e.isError,e.isScratchDesktop,e.isShowingProject,e.onProjectLoaded,e.onStorageInit,e.onUpdateProjectId,e.onVmInit,e.projectHost,e.projectId,e.children),n=e.fetchingProject,A=e.isLoading,o=e.loadingStateVisible,e=dC(e,cC);return j.a.createElement(lC,gC({loading:n||A||o},e),t)}}])&&hC(t.prototype,e),n&&hC(t,n),o}(j.a.Component),a.propTypes={assetHost:n.a.string,children:n.a.node,cloudHost:n.a.string,error:n.a.oneOfType([n.a.object,n.a.string]),fetchingProject:n.a.bool,intl:z.f,isError:n.a.bool,isLoading:n.a.bool,isScratchDesktop:n.a.bool,isShowingProject:n.a.bool,loadingStateVisible:n.a.bool,onProjectLoaded:n.a.func,onSeeCommunity:n.a.func,onStorageInit:n.a.func,onUpdateProjectId:n.a.func,onVmInit:n.a.func,projectHost:n.a.string,projectId:n.a.oneOfType([n.a.string,n.a.number]),telemetryModalVisible:n.a.bool,vm:n.a.instanceOf(o.a).isRequired},a.defaultProps={isScratchDesktop:!1,onStorageInit:function(e){return e.addOfficialScratchWebStores()},onProjectLoaded:function(){},onUpdateProjectId:function(){},onVmInit:function(){}},t=Object(z.e)(Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{activeTabIndex:e.scratchGui.editorTab.activeTabIndex,alertsVisible:e.scratchGui.alerts.visible,backdropLibraryVisible:e.scratchGui.modals.backdropLibrary,blocksTabVisible:e.scratchGui.editorTab.activeTabIndex===s.a,cardsVisible:e.scratchGui.cards.visible,connectionModalVisible:e.scratchGui.modals.connectionModal,costumeLibraryVisible:e.scratchGui.modals.costumeLibrary,costumesTabVisible:e.scratchGui.editorTab.activeTabIndex===s.b,draggableModalVisible:e.scratchGui.draggableModal.visible,error:e.scratchGui.projectState.error,isError:Object(r.k)(t),isFullScreen:e.scratchGui.mode.isFullScreen,isPlayerOnly:e.scratchGui.mode.isPlayerOnly,isRtl:e.locales.isRtl,isShowingProject:Object(r.s)(t),loadingStateVisible:e.scratchGui.modals.loadingProject,projectId:e.scratchGui.projectState.projectId,saveLoadTabVisible:e.scratchGui.editorTab.activeTabIndex===s.d,martyMachineTabVisible:e.scratchGui.editorTab.activeTabIndex===s.c,soundsTabVisible:e.scratchGui.editorTab.activeTabIndex===s.e,targetIsStage:e.scratchGui.targets.stage&&e.scratchGui.targets.stage.id===e.scratchGui.targets.editingTarget,telemetryModalVisible:e.scratchGui.modals.telemetryModal,tipsLibraryVisible:e.scratchGui.modals.tipsLibrary,vm:e.scratchGui.vm}},function(t){return{onExtensionButtonClick:function(){return t(Object(R.p)())},onActivateTab:function(e){return t(Object(s.f)(e))},onActivateCostumesTab:function(){return t(Object(s.f)(s.b))},onActivateSoundsTab:function(){return t(Object(s.f)(s.e))},onActivateMartyMachineTab:function(){return t(Object(s.f)(s.c))},onActivateSaveLoadTab:function(){return t(Object(s.f)(s.d))},onRequestCloseBackdropLibrary:function(){return t(Object(R.a)())},onRequestCloseCostumeLibrary:function(){return t(Object(R.c)())},onRequestCloseTelemetryModal:function(){return t(Object(R.i)())}}})(a)),i=Object(N.d)(ie,Object(O.a)("Top Level App"),function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&L(t,e);var n,A=P(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){var e,t=this;this.props.fontsLoaded||(e=function(){var e=[];if(document.fonts&&"function"==typeof document.fonts.values&&"function"==typeof document.fonts.values()[Symbol.iterator]){var t,n=_(document.fonts.values());try{for(n.s();!(t=n.n()).done;){var A=t.value;-1!==q.indexOf(A.family)&&(e.push(A.loaded),A.load())}}catch(e){n.e(e)}finally{n.f()}}return e},"complete"===document.readyState?Promise.all(e()).then(function(){t.props.onSetFontsLoaded()}):document.onreadystatechange=function(){"complete"===document.readyState&&(document.onreadystatechange=null,Promise.all(e()).then(function(){t.props.onSetFontsLoaded()}))})}},{key:"render",value:function(){var e=X()(this.props,["onSetFontsLoaded"]);return j.a.createElement(a,e)}}])&&G(t.prototype,e),n&&G(t,n),o}(j.a.Component);e.propTypes={fontsLoaded:n.a.bool.isRequired,onSetFontsLoaded:n.a.func.isRequired};return Object(A.b)(function(e){return{fontsLoaded:e.scratchGui.fontsLoaded}},function(e){return{onSetFontsLoaded:function(){return e(Object(Y.c)())}}})(e)},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gt(t,e);var n,A=dt(o);function o(e){var t;if(this instanceof o)return e=A.call(this,e),(t=function(e){e=Array.isArray(e.tutorial)?e.tutorial[0]:e.tutorial;return void 0===e?null:"all"===e?e:it(e)}(ze.a.parse(location.search)))&&("all"===t?e.openTutorials():e.setActiveCards(t)),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"setActiveCards",value:function(e){this.props.onUpdateReduxDeck(e)}},{key:"openTutorials",value:function(){this.props.onOpenTipsLibrary()}},{key:"render",value:function(){var e=this.props,e=(e.onOpenTipsLibrary,e.onUpdateReduxDeck,ut(e,lt));return j.a.createElement(a,e)}}])&&ct(t.prototype,e),n&&ct(t,n),o}(j.a.Component);e.propTypes={onOpenTipsLibrary:n.a.func,onUpdateReduxDeck:n.a.func};return Object(A.b)(null,function(t){return{onOpenTipsLibrary:function(){t(Object(R.u)())},onUpdateReduxDeck:function(e){t(Object(rt.a)(e))}}})(e)},function(i){var e=function(e){var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ke(t,e);var n,r,A,o=De(a);function a(e){var t;if(this instanceof a)return t=o.call(this,e),l()(ve(t),["fetchProject"]),Ie.a.setProjectHost(e.projectHost),Ie.a.setAssetHost(e.assetHost),Ie.a.setTranslatorFunction(e.intl.formatMessage),""!==e.projectId&&null!==e.projectId&&void 0!==e.projectId&&t.props.setProjectId(e.projectId.toString()),t;throw new TypeError("Cannot call a class as a function")}return t=a,(e=[{key:"componentDidUpdate",value:function(e){e.projectHost!==this.props.projectHost&&Ie.a.setProjectHost(this.props.projectHost),e.assetHost!==this.props.assetHost&&Ie.a.setAssetHost(this.props.assetHost),this.props.isFetchingWithId&&!e.isFetchingWithId&&this.fetchProject(this.props.reduxProjectId,this.props.loadingState).then(function(){return console.log("Fetch project success")},function(e){return console.error("Error fetching project",e.message)}),this.props.isShowingProject&&!e.isShowingProject&&this.props.onProjectUnchanged(),this.props.isShowingProject&&(e.isLoadingProject||e.isCreatingNew)&&this.props.onActivateTab(s.a)}},{key:"fetchProject",value:(r=function*(e,t){try{var n,A=new URLSearchParams(window.location.search).get("p"),o=yield(yield fetch("https://martyblocks-projects-default-rtdb.europe-west1.firebasedatabase.app/projects/"+A+".json")).json();if(o&&o.data)return n=yield(yield fetch(o.data)).arrayBuffer(),this.props.onFetchedProjectData(n,t);throw new Error("Invalid project id")}catch(e){console.log("Couldn't load project from db:",e)}try{var a=yield mv2Interface.loadScratchFile("__autosave");if(!a||!a.contents||!confirm("Would you like to load the last autosave?"))throw new Error("No autosave file");console.log("Using autosave file");var i=yield(yield fetch(a.contents)).arrayBuffer();return this.props.onFetchedProjectData(i,t)}catch(e){console.warn("No autosave data available")}console.log("Falling back to default project");A=yield Ie.a.load(Ie.a.AssetType.Project,e,Ie.a.DataFormat.JSON);return this.props.onFetchedProjectData(A.data,t)},A=function(){var e=this,i=arguments;return new Promise(function(t,n){var A=r.apply(e,i);function o(e){Te(A,t,n,o,a,"next",e)}function a(e){Te(A,t,n,o,a,"throw",e)}o(void 0)})},function(e,t){return A.apply(this,arguments)})},{key:"render",value:function(){var e=this.props,t=(e.assetHost,e.intl,e.isLoadingProject,e.loadingState,e.onActivateTab,e.onError,e.onFetchedProjectData,e.onProjectUnchanged,e.projectHost,e.projectId,e.reduxProjectId,e.setProjectId,e.isFetchingWithId),e=Qe(e,be);return j.a.createElement(i,Me({fetchingProject:t},e))}}])&&Se(t.prototype,e),n&&Se(t,n),a}(j.a.Component);e.propTypes={assetHost:n.a.string,canSave:n.a.bool,intl:z.f.isRequired,isCreatingNew:n.a.bool,isFetchingWithId:n.a.bool,isLoadingProject:n.a.bool,isShowingProject:n.a.bool,loadingState:n.a.oneOf(r.a),onActivateTab:n.a.func,onError:n.a.func,onFetchedProjectData:n.a.func,onProjectUnchanged:n.a.func,projectHost:n.a.string,projectId:n.a.oneOfType([n.a.string,n.a.number]),reduxProjectId:n.a.oneOfType([n.a.string,n.a.number]),setProjectId:n.a.func},e.defaultProps={assetHost:"https://assets.scratch.mit.edu",projectHost:"https://projects.scratch.mit.edu"};return Object(z.e)(Object(A.b)(function(e){return{isCreatingNew:Object(r.j)(e.scratchGui.projectState.loadingState),isFetchingWithId:Object(r.l)(e.scratchGui.projectState.loadingState),isLoadingProject:Object(r.n)(e.scratchGui.projectState.loadingState),isShowingProject:Object(r.s)(e.scratchGui.projectState.loadingState),loadingState:e.scratchGui.projectState.loadingState,reduxProjectId:e.scratchGui.projectState.projectId}},function(n){return{onActivateTab:function(e){return n(Object(s.f)(e))},onError:function(e){return n(Object(r.z)(e))},onFetchedProjectData:function(e,t){return n(Object(r.x)(e,t))},setProjectId:function(e){return n(Object(r.F)(e))},onProjectUnchanged:function(){return n(Object(Ce.d)())}}},function(e,t,n){return Object.assign({},e,t,n)})(e))},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xe(t,e);var n,A=_e(o);function o(){var e=this,t=o;if(e instanceof t)return A.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){this.handleReceivedProjectTitle(this.props.projectTitle)}},{key:"componentDidUpdate",value:function(e){var t;this.props.projectTitle!==e.projectTitle&&this.handleReceivedProjectTitle(this.props.projectTitle),this.props.isShowingWithoutId&&e.isAnyCreatingNewState&&(t=this.handleReceivedProjectTitle(),this.props.onUpdateProjectTitle(t)),this.props.reduxProjectTitle!==e.reduxProjectTitle&&this.props.reduxProjectTitle!==this.props.projectTitle&&this.props.onUpdateProjectTitle(this.props.reduxProjectTitle)}},{key:"handleReceivedProjectTitle",value:function(e){return null==e&&(e=this.props.intl.formatMessage(Ge.defaultProjectTitle)),this.props.onChangedProjectTitle(e),e}},{key:"render",value:function(){var e=this.props,e=(e.intl,e.isAnyCreatingNewState,e.isShowingWithoutId,e.onChangedProjectTitle,e.onUpdateProjectTitle,e.projectTitle,e.reduxProjectTitle,Re(e,Fe));return j.a.createElement(a,e)}}])&&Ye(t.prototype,e),n&&Ye(t,n),o}(j.a.Component);e.propTypes={intl:z.f,isAnyCreatingNewState:n.a.bool,isShowingWithoutId:n.a.bool,onChangedProjectTitle:n.a.func,onUpdateProjectTitle:n.a.func,projectTitle:n.a.string,reduxProjectTitle:n.a.string},e.defaultProps={onUpdateProjectTitle:function(){}};return Object(z.e)(Object(A.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{isAnyCreatingNewState:Object(r.h)(t),isShowingWithoutId:Object(r.u)(t),reduxProjectTitle:e.scratchGui.projectTitle}},function(t){return{onChangedProjectTitle:function(e){return t(Object(le.c)(e))}}})(e))},function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&et(t,e);var n,A=tt(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(nt(e),["getProjectThumbnail","leavePageConfirm","tryToAutoSave"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentWillMount",value:function(){var t=this;"object"===("undefined"==typeof window?"undefined":Ze(window))&&(window.onbeforeunload=function(e){return t.leavePageConfirm(e)}),this.props.onSetProjectThumbnailer(this.getProjectThumbnail),this.props.onSetProjectSaver(this.tryToAutoSave)}},{key:"componentDidUpdate",value:function(e){var t;!this.props.isAnyCreatingNewState&&e.isAnyCreatingNewState&&this.reportTelemetryEvent("projectWasCreated"),!this.props.isLoading&&e.isLoading&&this.reportTelemetryEvent("projectDidLoad"),this.props.projectChanged&&!e.projectChanged&&this.scheduleAutoSave(),this.props.isUpdating&&!e.isUpdating&&this.updateProjectToStorage(),this.props.isCreatingNew&&!e.isCreatingNew&&this.createNewProjectToStorage(),this.props.isCreatingCopy&&!e.isCreatingCopy&&this.createCopyToStorage(),this.props.isRemixing&&!e.isRemixing?(this.props.onRemixing(!0),this.createRemixToStorage()):!this.props.isRemixing&&e.isRemixing&&this.props.onRemixing(!1),e.isCreatingNew||(this.isShowingCreatable(this.props)&&!this.isShowingCreatable(e)&&this.props.onCreateProject(),e.isUpdating)||(t=this.props.canSave&&!e.canSave,e=this.props.isShared&&!e.isShared,this.props.isShowingSaveable&&(t||e)&&this.props.onAutoUpdateProject())}},{key:"componentWillUnmount",value:function(){this.clearAutoSaveTimeout(),this.props.onSetProjectThumbnailer(null),this.props.onSetProjectSaver(null)}},{key:"leavePageConfirm",value:function(e){if(this.props.projectChanged)return(e||window.event).returnValue=!0}},{key:"clearAutoSaveTimeout",value:function(){null!==this.props.autoSaveTimeoutId&&(clearTimeout(this.props.autoSaveTimeoutId),this.props.setAutoSaveTimeoutId(null))}},{key:"scheduleAutoSave",value:function(){var e;this.props.isShowingSaveable&&null===this.props.autoSaveTimeoutId&&(e=setTimeout(this.tryToAutoSave,1e3*this.props.autoSaveIntervalSecs),this.props.setAutoSaveTimeoutId(e))}},{key:"tryToAutoSave",value:function(){this.props.projectChanged&&this.props.isShowingSaveable&&this.props.onAutoUpdateProject()}},{key:"isShowingCreatable",value:function(e){return e.canCreateNew&&e.isShowingWithoutId}},{key:"updateProjectToStorage",value:function(){var t=this;return this.props.onShowSavingAlert(),this.storeProject(this.props.reduxProjectId).then(function(){t.props.onUpdatedProject(t.props.loadingState),t.props.onShowSaveSuccessAlert()}).catch(function(e){t.props.onShowAlert("savingError"),t.props.onProjectError(e)})}},{key:"createNewProjectToStorage",value:function(){var t=this;return this.storeProject(null).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState)}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"createCopyToStorage",value:function(){var t=this;return this.props.onShowCreatingCopyAlert(),this.storeProject(null,{originalId:this.props.reduxProjectId,isCopy:1,title:this.props.reduxProjectTitle}).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState),t.props.onShowCopySuccessAlert()}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"createRemixToStorage",value:function(){var t=this;return this.props.onShowCreatingRemixAlert(),this.storeProject(null,{originalId:this.props.reduxProjectId,isRemix:1,title:this.props.reduxProjectTitle}).then(function(e){t.props.onCreatedProject(e.id.toString(),t.props.loadingState),t.props.onShowRemixSuccessAlert()}).catch(function(e){t.props.onShowAlert("creatingError"),t.props.onProjectError(e)})}},{key:"storeProject",value:function(e,t){var n=this,A=(t=t||{},this.clearAutoSaveTimeout(),this.props.vm.toJSON());return Promise.all(this.props.vm.assets.filter(function(e){return!e.clean}).map(function(t){return Ie.a.store(t.assetType,t.dataFormat,t.data,t.assetId).then(function(e){if("ok"!==e.status)return Promise.reject(e.code);t.clean=!0})})).then(function(){return n.props.onUpdateProjectData(e,A,t)}).then(function(e){n.props.onSetProjectUnchanged();var t=e.id.toString();return t&&n.props.onUpdateProjectThumbnail&&n.storeProjectThumbnail(t),n.reportTelemetryEvent("projectDidSave"),e}).catch(function(e){throw re.a.error(e),e})}},{key:"storeProjectThumbnail",value:function(t){var n=this;try{this.getProjectThumbnail(function(e){n.props.onUpdateProjectThumbnail(t,function(e){for(var t=atob(e.split(",")[1]),e=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),A=new Uint8Array(n),o=0;o<t.length;o++)A[o]=t.charCodeAt(o);return new Blob([n],{type:e})}(e))})}catch(e){re.a.error("Project thumbnail save error",e)}}},{key:"getProjectThumbnail",value:function(t){var n=this;this.props.vm.postIOData("video",{forceTransparentPreview:!0}),this.props.vm.renderer.requestSnapshot(function(e){n.props.vm.postIOData("video",{forceTransparentPreview:!1}),t(e)}),this.props.vm.renderer.draw()}},{key:"reportTelemetryEvent",value:function(t){try{var e;this.props.onProjectTelemetryEvent&&(e=He(this.props.vm,this.props.reduxProjectTitle,this.props.locale),this.props.onProjectTelemetryEvent(t,e))}catch(e){re.a.error("Telemetry error",t,e)}}},{key:"render",value:function(){var e=this.props,t=(e.autoSaveTimeoutId,e.autoSaveIntervalSecs,e.isCreatingCopy,e.isCreatingNew,e.projectChanged,e.isAnyCreatingNewState),e=(e.isLoading,e.isManualUpdating,e.isRemixing,e.isShowingSaveable,e.isShowingWithId,e.isShowingWithoutId,e.isUpdating,e.loadingState,e.onAutoUpdateProject,e.onCreatedProject,e.onCreateProject,e.onProjectError,e.onRemixing,e.onSetProjectUnchanged,e.onSetProjectThumbnailer,e.onSetProjectSaver,e.onShowAlert,e.onShowCopySuccessAlert,e.onShowRemixSuccessAlert,e.onShowCreatingCopyAlert,e.onShowCreatingRemixAlert,e.onShowSaveSuccessAlert,e.onShowSavingAlert,e.onUpdatedProject,e.onUpdateProjectData,e.onUpdateProjectThumbnail,e.reduxProjectId,e.reduxProjectTitle,e.setAutoSaveTimeoutId,qe(e,Ke));return j.a.createElement(a,Xe({isCreating:t},e))}}])&&$e(t.prototype,e),n&&$e(t,n),o}(j.a.Component);e.propTypes={autoSaveIntervalSecs:n.a.number.isRequired,autoSaveTimeoutId:n.a.number,canCreateNew:n.a.bool,canSave:n.a.bool,isAnyCreatingNewState:n.a.bool,isCreatingCopy:n.a.bool,isCreatingNew:n.a.bool,isLoading:n.a.bool,isManualUpdating:n.a.bool,isRemixing:n.a.bool,isShared:n.a.bool,isShowingSaveable:n.a.bool,isShowingWithId:n.a.bool,isShowingWithoutId:n.a.bool,isUpdating:n.a.bool,loadingState:n.a.oneOf(r.a),locale:n.a.string.isRequired,onAutoUpdateProject:n.a.func,onCreateProject:n.a.func,onCreatedProject:n.a.func,onProjectError:n.a.func,onProjectTelemetryEvent:n.a.func,onRemixing:n.a.func,onSetProjectSaver:n.a.func.isRequired,onSetProjectThumbnailer:n.a.func.isRequired,onSetProjectUnchanged:n.a.func.isRequired,onShowAlert:n.a.func,onShowCopySuccessAlert:n.a.func,onShowCreatingCopyAlert:n.a.func,onShowCreatingRemixAlert:n.a.func,onShowRemixSuccessAlert:n.a.func,onShowSaveSuccessAlert:n.a.func,onShowSavingAlert:n.a.func,onUpdateProjectData:n.a.func.isRequired,onUpdateProjectThumbnail:n.a.func,onUpdatedProject:n.a.func,projectChanged:n.a.bool,reduxProjectId:n.a.oneOfType([n.a.string,n.a.number]),reduxProjectTitle:n.a.string,setAutoSaveTimeoutId:n.a.func.isRequired,vm:n.a.instanceOf(o.a).isRequired},e.defaultProps={autoSaveIntervalSecs:120,onRemixing:function(){},onSetProjectThumbnailer:function(){},onSetProjectSaver:function(){},onUpdateProjectData:je};return Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=Object(r.t)(n);return{autoSaveTimeoutId:e.scratchGui.timeout.autoSaveTimeoutId,isAnyCreatingNewState:Object(r.h)(n),isLoading:Object(r.n)(n),isCreatingCopy:Object(r.i)(n),isCreatingNew:Object(r.j)(n),isRemixing:Object(r.r)(n),isShowingSaveable:t.canSave&&A,isShowingWithId:A,isShowingWithoutId:Object(r.u)(n),isUpdating:Object(r.v)(n),isManualUpdating:Object(r.q)(n),loadingState:n,locale:e.locales.locale,projectChanged:e.scratchGui.projectChanged,reduxProjectId:e.scratchGui.projectState.projectId,reduxProjectTitle:e.scratchGui.projectTitle,vm:e.scratchGui.vm}},function(n){return{onAutoUpdateProject:function(){return n(Object(r.b)())},onCreatedProject:function(e,t){return n(Object(r.f)(e,t))},onCreateProject:function(){return n(Object(r.c)())},onProjectError:function(e){return n(Object(r.z)(e))},onSetProjectUnchanged:function(){return n(Object(Ce.d)())},onShowAlert:function(e){return n(Object(We.h)(e))},onShowCopySuccessAlert:function(){return Object(We.f)(n,"createCopySuccess")},onShowRemixSuccessAlert:function(){return Object(We.f)(n,"createRemixSuccess")},onShowCreatingCopyAlert:function(){return Object(We.f)(n,"creatingCopy")},onShowCreatingRemixAlert:function(){return Object(We.f)(n,"creatingRemix")},onShowSaveSuccessAlert:function(){return Object(We.f)(n,"saveSuccess")},onShowSavingAlert:function(){return Object(We.f)(n,"saving")},onUpdatedProject:function(e){return n(Object(r.g)(e))},setAutoSaveTimeoutId:function(e){return n(Object(Ve.b)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e)},vt,Pt,function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&me(t,e);var n,A=Be(o);function o(e){if(this instanceof o)return e=A.call(this,e),l()(fe(e),["createFileObjects","getProjectTitleFromFilename","handleFinishedLoadingUpload","handleStartSelectingFileUpload","handleChange","onload","removeFileObjects"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidUpdate",value:function(e){this.props.isLoadingUpload&&!e.isLoadingUpload&&this.handleFinishedLoadingUpload()}},{key:"componentWillUnmount",value:function(){this.removeFileObjects()}},{key:"handleStartSelectingFileUpload",value:function(){this.createFileObjects()}},{key:"createFileObjects",value:function(){this.removeFileObjects(),this.fileReader=new FileReader,this.fileReader.onload=this.onload,this.inputElement=document.createElement("input"),this.inputElement.accept=".sb,.sb2,.sb3",this.inputElement.style="display: none;",this.inputElement.type="file",this.inputElement.onchange=this.handleChange,document.body.appendChild(this.inputElement),this.inputElement.click()}},{key:"handleChange",value:function(e){var t=this.props,n=t.intl,A=t.isShowingWithoutId,o=t.loadingState,a=t.projectChanged,t=t.userOwnsProject,e=e.target;e.files&&(this.fileToUpload=e.files[0],e=!0,(e=t||a&&A?confirm(n.formatMessage(se.a.replaceProjectWarning)):e)?this.props.requestProjectUpload(o):this.removeFileObjects(),this.props.closeFileMenu())}},{key:"handleFinishedLoadingUpload",value:function(){this.fileToUpload&&this.fileReader?this.fileReader.readAsArrayBuffer(this.fileToUpload):(this.props.cancelFileUpload(this.props.loadingState),this.removeFileObjects())}},{key:"getProjectTitleFromFilename",value:function(e){return(e=e&&e.match(/^(.*)\.sb[23]?$/))?e[1].substring(0,100):""}},{key:"onload",value:function(){var t,n,A=this;this.fileReader&&(this.props.onLoadingStarted(),t=this.fileToUpload&&this.fileToUpload.name,n=!1,this.props.vm.loadProject(this.fileReader.result).then(function(){var e;t&&(e=A.getProjectTitleFromFilename(t),A.props.onSetProjectTitle(e)),n=!0}).catch(function(e){re.a.warn(e),alert(A.props.intl.formatMessage(we.loadError))}).then(function(){A.props.onLoadingFinished(A.props.loadingState,n),A.removeFileObjects()}))}},{key:"removeFileObjects",value:function(){this.inputElement&&(this.inputElement.value=null,document.body.removeChild(this.inputElement)),this.inputElement=null,this.fileReader=null,this.fileToUpload=null}},{key:"render",value:function(){var e=this.props,e=(e.cancelFileUpload,e.closeFileMenu,e.isLoadingUpload,e.isShowingWithoutId,e.loadingState,e.onLoadingFinished,e.onLoadingStarted,e.onSetProjectTitle,e.projectChanged,e.requestProjectUpload,e.userOwnsProject,he(e,ge));return j.a.createElement(j.a.Fragment,null,j.a.createElement(a,de({onStartSelectingFileUpload:this.handleStartSelectingFileUpload},e)))}}])&&pe(t.prototype,e),n&&pe(t,n),o}(j.a.Component);e.propTypes={canSave:n.a.bool,cancelFileUpload:n.a.func,closeFileMenu:n.a.func,intl:z.f.isRequired,isLoadingUpload:n.a.bool,isShowingWithoutId:n.a.bool,loadingState:n.a.oneOf(r.a),onLoadingFinished:n.a.func,onLoadingStarted:n.a.func,onSetProjectTitle:n.a.func,projectChanged:n.a.bool,requestProjectUpload:n.a.func,userOwnsProject:n.a.bool,vm:n.a.shape({loadProject:n.a.func})};return Object(z.e)(Object(A.b)(function(e,t){var n=e.scratchGui.projectState.loadingState,A=e.session&&e.session.session&&e.session.session.user;return{isLoadingUpload:Object(r.o)(n),isShowingWithoutId:Object(r.u)(n),loadingState:n,projectChanged:e.scratchGui.projectChanged,userOwnsProject:t.authorUsername&&A&&t.authorUsername===A.username,vm:e.scratchGui.vm}},function(n,A){return{cancelFileUpload:function(e){return n(Object(r.y)(e,!1,!1))},closeFileMenu:function(){return n(Object(ue.d)())},onLoadingFinished:function(e,t){n(Object(r.y)(e,A.canSave,t)),n(Object(R.e)()),n(Object(ue.d)())},onLoadingStarted:function(){return n(Object(R.q)())},onSetProjectTitle:function(e){return n(Object(le.c)(e))},requestProjectUpload:function(e){return n(Object(r.D)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e))},tn)(t);i.setAppElement=F.a.setAppElement,v.a=i},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return i});var t=n(16),A="scratch-gui/StageSize/SET_STAGE_SIZE",o={stageSize:t.c.large},a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:{stageSize:t.stageSize}},i=function(e){return{type:A,stageSize:e}}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n,A={};for(n in e)0<=t.indexOf(n)||Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}},function(e,t,n){"use strict";e.exports=function(e,t,n,A,o,a,i,r){var s,l,u;if(!e)throw void 0===t?u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."):(s=[n,A,o,a,i,r],l=0,(u=new Error(t.replace(/%s/g,function(){return s[l++]}))).name="Invariant Violation"),u.framesToPop=1,u}},function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"e",function(){return i}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return s}),n.d(t,"d",function(){return u});var A="scratch-gui/vm-status/SET_RUNNING_STATE",o="scratch-gui/vm-status/SET_TURBO_STATE",a="scratch-gui/vm-status/SET_STARTED_STATE",i={running:!1,started:!1,turbo:!1},r=function(e,t){switch(void 0===e&&(e=i),t.type){case a:return Object.assign({},e,{started:t.started});case A:return Object.assign({},e,{running:t.running});case o:return Object.assign({},e,{turbo:t.turbo});default:return e}},s=function(e){return{type:a,started:e}},l=function(e){return{type:A,running:e}},u=function(e){return{type:o,turbo:e}}},function(e,t,n){var A=n(1281),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1419),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t){e=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=e)},function(e,t,n){function A(){}n(872).mixin(A),A.prototype.write=function(e,t,n){this.emit("item",e,t,n)},A.prototype.end=function(){this.emit("end"),this.removeAllListeners()},A.prototype.pipe=function(t){var n=this;function A(){t.write.apply(t,Array.prototype.slice.call(arguments))}function o(){t._isStdio||t.end()}return n.emit("unpipe",t),t.emit("pipe",n),n.on("item",A),n.on("end",o),n.when("unpipe",function(e){e=e===t||void 0===e;return e&&(n.removeListener("item",A),n.removeListener("end",o),t.emit("unpipe")),e}),t},A.prototype.unpipe=function(e){return this.emit("unpipe",e),this},A.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},A.mixin=function(e){var t,n=A.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=A},function(e,t,n){function A(){}n(936).mixin(A),A.prototype.write=function(e,t,n){this.emit("item",e,t,n)},A.prototype.end=function(){this.emit("end"),this.removeAllListeners()},A.prototype.pipe=function(t){var n=this;function A(){t.write.apply(t,Array.prototype.slice.call(arguments))}function o(){t._isStdio||t.end()}return n.emit("unpipe",t),t.emit("pipe",n),n.on("item",A),n.on("end",o),n.when("unpipe",function(e){e=e===t||void 0===e;return e&&(n.removeListener("item",A),n.removeListener("end",o),t.emit("unpipe")),e}),t},A.prototype.unpipe=function(e){return this.emit("unpipe",e),this},A.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},A.mixin=function(e){var t,n=A.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=A},function(e,t){function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var n=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function")}var t,n,A;return t=e,A=[{key:"simple",value:function(e){return JSON.parse(JSON.stringify(e))}}],(n=null)&&o(t.prototype,n),A&&o(t,A),e}();e.exports=n},function(e,t,n){function A(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var a=n(108),i=n(256),n=function(){function o(e,t,n,A){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");switch(this.id=e||a(),this.name=t,this.type=n,this.isCloud=A,this.type){case o.SCALAR_TYPE:this.value=0;break;case o.LIST_TYPE:this.value=[];break;case o.BROADCAST_MESSAGE_TYPE:this.value=this.name;break;default:throw new Error("Invalid variable type: ".concat(this.type))}}var e,t,n;return e=o,n=[{key:"SCALAR_TYPE",get:function(){return""}},{key:"LIST_TYPE",get:function(){return"list"}},{key:"BROADCAST_MESSAGE_TYPE",get:function(){return"broadcast_msg"}}],(t=[{key:"toXML",value:function(e){return e=!0===e,'<variable type="'.concat(this.type,'" id="').concat(this.id,'" islocal="').concat(e,'" iscloud="').concat(this.isCloud,'">').concat(i(this.name),"</variable>")}}])&&A(e.prototype,t),n&&A(e,n),o}();e.exports=n},function(e,t){function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var n=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function")}var t,n,A;return t=e,A=[{key:"BACKGROUND_LAYER",get:function(){return"background"}},{key:"VIDEO_LAYER",get:function(){return"video"}},{key:"PEN_LAYER",get:function(){return"pen"}},{key:"SPRITE_LAYER",get:function(){return"sprite"}},{key:"LAYER_GROUPS",get:function(){return[e.BACKGROUND_LAYER,e.VIDEO_LAYER,e.PEN_LAYER,e.SPRITE_LAYER]}}],(n=null)&&o(t.prototype,n),A&&o(t,A),e}();e.exports=n},function(e,A,o){"use strict";!function(t){if(A.base64=!0,A.array=!0,A.string=!0,A.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,A.nodebuffer=void 0!==t,A.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)A.blob=!1;else{t=new ArrayBuffer(0);try{A.blob=0===new Blob([t],{type:"application/zip"}).size}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(t),A.blob=0===n.getBlob("application/zip").size}catch(e){A.blob=!1}}}try{A.nodestream=!!o(478).Readable}catch(e){A.nodestream=!1}}.call(this,o(57).Buffer)},function(e,t,n){"use strict";var A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t,n,A=Array.prototype.slice.call(arguments,1);A.length;){var o=A.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var a in o)t=o,n=a,Object.prototype.hasOwnProperty.call(t,n)&&(e[a]=o[a])}}return e},t.shrinkBuf=function(e,t){if(e.length!==t){if(e.subarray)return e.subarray(0,t);e.length=t}return e};var o={arraySet:function(e,t,n,A,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+A),o);else for(var a=0;a<A;a++)e[o+a]=t[n+a]},flattenChunks:function(e){for(var t,n,A,o=0,a=0,i=e.length;a<i;a++)o+=e[a].length;for(A=new Uint8Array(o),a=t=0,i=e.length;a<i;a++)n=e[a],A.set(n,t),t+=n.length;return A}},a={arraySet:function(e,t,n,A,o){for(var a=0;a<A;a++)e[o+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,o)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,a))},t.setTyped(A)},function(e,t,n){var A=n(110),o=n(553),a=n(375),i=Object.defineProperty;t.f=n(139)?Object.defineProperty:function(e,t,n){if(A(e),t=a(t,!0),A(n),o)try{return i(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(183)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(Y,e,t){"use strict";t.r(e),t.d(e,"default",function(){return L}),t.d(e,"guiInitialState",function(){return F}),t.d(e,"guiMiddleware",function(){return O}),t.d(e,"initEmbedded",function(){return _}),t.d(e,"initFullScreen",function(){return x}),t.d(e,"initPlayer",function(){return R}),t.d(e,"initTelemetryModal",function(){return G}),t.d(e,"initTutorialCard",function(){return U});var e=t(43),n=t(37),A=t(224),o=t(60),a=t(145),i=t(166),r=t(195),s=t(225),l=t(85),u=t(19),c=t(119),g=t(45),d=t(226),h=t(26),p=t(66),m=t(227),B=t(112),f=t(92),E=t(13),w=t(120),C=t(228),I=t(100),y=t(123),b=t(167),M=t(229),Q=t(230),T=t(11),T=t.n(T),S=t(44),k="scratch-gui/vm/SET_VM",T=new T.a,D=(T.attachStorage(S.a),T),S=(window.vm=T,t(126)),T=t(231),v=t(675),v=t.n(v),N=t(68),O=Object(e.d)(Object(e.a)(v()(300,{leading:!0,trailing:!0}))),F={alerts:n.a,assetDrag:A.a,blockDrag:s.a,cards:o.b,colorPicker:a.b,connectionModal:i.a,customProcedures:r.b,draggableModal:l.e,editorTab:u.h,mode:p.b,hoveredTarget:c.b,stageSize:y.c,menus:g.l,micIndicator:d.b,modals:h.l,monitors:m.b,monitorLayout:B.d,projectChanged:f.b,projectState:E.A,projectTitle:w.b,fontsLoaded:C.b,restoreDeletion:I.b,targets:b.c,timeout:M.c,toolbox:Q.b,vm:D,vmStatus:S.e,workspaceMetrics:T.c},R=function(e){return Object.assign({},e,{mode:{isFullScreen:e.mode.isFullScreen,isPlayerOnly:!0,hasEverEnteredEditor:!1}})},x=function(e){return Object.assign({},e,{mode:{isFullScreen:!0,isPlayerOnly:e.mode.isPlayerOnly,hasEverEnteredEditor:e.mode.hasEverEnteredEditor}})},_=function(e){return Object.assign({},e,{mode:{showBranding:!0,isFullScreen:!0,isPlayerOnly:!0,hasEverEnteredEditor:!1}})},U=function(e,t){return Object.assign({},e,{cards:{visible:!0,content:N.a,activeDeckId:t,expanded:!0,step:0,x:0,y:0,dragging:!1}})},G=function(e){return Object.assign({},e,{modals:{telemetryModal:!0}})},L=Object(e.c)({alerts:n.d,assetDrag:A.b,blockDrag:s.b,cards:o.d,colorPicker:a.d,connectionModal:i.b,customProcedures:r.d,draggableModal:l.c,editorTab:u.g,mode:p.a,hoveredTarget:c.a,stageSize:y.a,menus:g.g,micIndicator:d.a,modals:h.k,monitors:m.a,monitorLayout:B.b,projectChanged:f.a,projectState:E.d,projectTitle:w.a,fontsLoaded:C.a,restoreDeletion:I.a,targets:b.a,timeout:M.a,toolbox:Q.a,vm:function(e,t){return void 0===e&&(e=D),t.type!==k?e:(window.vm=t.vm,t.vm)},vmStatus:S.a,workspaceMetrics:T.a})},function(e,t,n){e.exports=n.p+"static/assets/301439e2e5ab88b658368ee525e6752b.svg"},function(e,t,n){e.exports=n.p+"static/assets/551aae506dfa65ce3b45713b5300a678.svg"},function(e,t,n){"use strict";n.d(t,"a",function(){return m});var t=n(5),i=n.n(t),t=n(1),r=n.n(t),t=n(0),A=n.n(t),o=n(7),s=n(13);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l=["isFetchingWithoutId","reduxProjectId","setProjectId"];function u(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function c(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=p(A);return e=o?(e=p(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==a(t)&&"function"!=typeof t?h(n):t}}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(a){var e=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e);var n,A=d(o);function o(e){if(this instanceof o)return e=A.call(this,e),i()(h(e),["handleHashChange"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"componentDidMount",value:function(){window.addEventListener("hashchange",this.handleHashChange),this.handleHashChange()}},{key:"componentDidUpdate",value:function(e){this.props.isFetchingWithoutId&&!e.isFetchingWithoutId&&history.pushState("new-project","new-project",window.location.pathname+window.location.search)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("hashchange",this.handleHashChange)}},{key:"handleHashChange",value:function(){var e=window.location.hash.match(/#(\d+)/),e=null===e?s.e:e[1];this.props.setProjectId(e.toString())}},{key:"render",value:function(){var e=this.props,e=(e.isFetchingWithoutId,e.reduxProjectId,e.setProjectId,u(e,l));return r.a.createElement(a,e)}}])&&c(t.prototype,e),n&&c(t,n),o}(r.a.Component);e.propTypes={isFetchingWithoutId:A.a.bool,reduxProjectId:A.a.oneOfType([A.a.string,A.a.number]),setProjectId:A.a.func};return Object(o.b)(function(e){var t=e.scratchGui.projectState.loadingState;return{isFetchingWithoutId:Object(s.m)(t),reduxProjectId:e.scratchGui.projectState.projectId}},function(t){return{setProjectId:function(e){t(Object(s.F)(e))}}},function(e,t,n){return Object.assign({},e,t,n)})(e)}},function(Y,e,t){"use strict";var n=t(5),a=t.n(n),n=t(0),n=t.n(n),A=t(1),r=t.n(A),A=t(11),A=t.n(A),o=t(7),i=t(4),s=t.n(i),l=t(3),i=t(306),u=t.n(i),i=t(400),c=t.n(i),g=["active","className","onClick","title"];function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function h(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function p(e){var t,n=e.active,A=e.className,o=e.onClick,a=e.title,e=h(e,g);return r.a.createElement("img",d({className:s()(A,c.a.greenFlag,(A={},t=c.a.isActive,n=n,t in A?Object.defineProperty(A,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):A[t]=n,A)),draggable:!1,src:u.a,title:a,onClick:o},e))}p.propTypes={active:n.a.bool,className:n.a.string,onClick:n.a.func.isRequired,title:n.a.string},p.defaultProps={active:!1,title:"Go"};var m=p,i=t(779),B=t.n(i),i=t(401),f=t.n(i),E=["active","className","onClick","title"];function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function C(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function I(e){var t,n=e.active,A=e.className,o=e.onClick,a=e.title,e=C(e,E);return r.a.createElement("img",w({className:s()(A,f.a.stopAll,(A={},t=f.a.isActive,n=n,t in A?Object.defineProperty(A,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):A[t]=n,A)),draggable:!1,src:B.a,title:a,onClick:o},e))}function y(){return r.a.createElement("div",{className:Q.a.turboContainer},r.a.createElement("img",{className:Q.a.turboIcon,src:M.a}),r.a.createElement("div",{className:Q.a.turboLabel},r.a.createElement(l.a,{defaultMessage:"Turbo Mode",id:"gui.turboMode.active"})))}I.propTypes={active:n.a.bool,className:n.a.string,onClick:n.a.func.isRequired,title:n.a.string},I.defaultProps={active:!1,title:"Stop"};var b=I,i=t(780),M=t.n(i),i=t(327),Q=t.n(i),i=t(781),x=t.n(i),_=["active","className","intl","onGreenFlagClick","onStopAllClick","turbo"];function T(){return(T=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function U(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function S(e){var t=e.active,n=e.className,A=e.intl,o=e.onGreenFlagClick,a=e.onStopAllClick,i=e.turbo,e=U(e,_);return r.a.createElement("div",T({className:s()(x.a.controlsContainer,n)},e),r.a.createElement(m,{active:t,title:A.formatMessage(k.goTitle),onClick:o}),r.a.createElement(b,{active:t,title:A.formatMessage(k.stopTitle),onClick:a}),i?r.a.createElement(y,null):null)}var k=Object(l.d)({goTitle:{id:"gui.controls.go",defaultMessage:"Go"},stopTitle:{id:"gui.controls.stop",defaultMessage:"Stop"}}),G=(S.propTypes={active:n.a.bool,className:n.a.string,intl:l.f.isRequired,onGreenFlagClick:n.a.func.isRequired,onStopAllClick:n.a.func.isRequired,turbo:n.a.bool},S.defaultProps={active:!1,turbo:!1},Object(l.e)(S));function D(e){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var L=["vm","isStarted","projectRunning","turbo"];function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}function P(e,t){if(null==e)return{};var n,A=function(e,t){if(null==e)return{};var n,A,o={},a=Object.keys(e);for(A=0;A<a.length;A++)n=a[A],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(A[n]=e[n]);return A}function N(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(A){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,n=R(A);return e=o?(e=R(this).constructor,Reflect.construct(n,arguments,e)):n.apply(this,arguments),n=this,!(t=e)||"object"!==D(t)&&"function"!=typeof t?F(n):t}}function F(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t=function(e){var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&O(t,e);var n,A=H(o);function o(e){if(this instanceof o)return e=A.call(this,e),a()(F(e),["handleGreenFlagClick","handleStopAllClick"]),e;throw new TypeError("Cannot call a class as a function")}return t=o,(e=[{key:"handleGreenFlagClick",value:function(e){e.preventDefault(),e.shiftKey?this.props.vm.setTurboMode(!this.props.turbo):(this.props.isStarted||this.props.vm.start(),this.props.vm.greenFlag())}},{key:"handleStopAllClick",value:function(e){e.preventDefault(),this.props.vm.stopAll(),mv2Interface.send_REST("robot/stop")}},{key:"render",value:function(){var e=this.props,t=(e.vm,e.isStarted,e.projectRunning),n=e.turbo,e=P(e,L);return r.a.createElement(G,v({},e,{active:t,turbo:n,onGreenFlagClick:this.handleGreenFlagClick,onStopAllClick:this.handleStopAllClick}))}}])&&N(t.prototype,e),n&&N(t,n),o}(r.a.Component);t.propTypes={isStarted:n.a.bool.isRequired,projectRunning:n.a.bool.isRequired,turbo:n.a.bool.isRequired,vm:n.a.instanceOf(A.a)},e.a=Object(o.b)(function(e){return{isStarted:e.scratchGui.vmStatus.running,projectRunning:e.scratchGui.vmStatus.running,turbo:e.scratchGui.vmStatus.turbo}},function(){return{}})(t)},function(e,t,n){"use strict";n.d(t,"d",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"a",function(){return s}),n.d(t,"c",function(){return l});var A="scratch-gui/color-picker/ACTIVATE_COLOR_PICKER",o="scratch-gui/color-picker/DEACTIVATE_COLOR_PICKER",a="scratch-gui/color-picker/SET_CALLBACK",i={active:!1,callback:function(){throw new Error("Color picker callback not initialized")}},r=function(e,t){switch(void 0===e&&(e=i),t.type){case A:return Object.assign({},e,{active:!0,callback:t.callback});case o:return"string"==typeof t.color&&e.callback(t.color),Object.assign({},e,{active:!1});case a:return Object.assign({},e,{callback:t.callback});default:return e}},s=function(e){return{type:A,callback:e}},l=function(e){return{type:o,color:e}}},function(e,t,n){e.exports=n.p+"static/assets/cb666b99d3528f91b52f985dfb102afa.svg"},function(e){e.exports=JSON.parse('[{"name":"Arctic","tags":["outdoors","cold","north pole","south pole","ice","antarctica","robert hunter"],"assetId":"67e0db3305b3c8bac3a363b1c428892e","bitmapResolution":2,"dataFormat":"png","md5ext":"67e0db3305b3c8bac3a363b1c428892e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Baseball 1","tags":["baseball","sports","outdoors","alex eben meyer"],"assetId":"825d9b54682c406215d9d1f98a819449","bitmapResolution":1,"dataFormat":"svg","md5ext":"825d9b54682c406215d9d1f98a819449.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Baseball 2","tags":["baseball","sports","outdoors","alex eben meyer"],"assetId":"7be1f5b3e682813dac1f297e52ff7dca","bitmapResolution":1,"dataFormat":"svg","md5ext":"7be1f5b3e682813dac1f297e52ff7dca.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Basketball 1","tags":["sports","outdoors","basketball","alex eben meyer"],"assetId":"ae21eac3d1814aee1d37ae82ea287816","bitmapResolution":1,"dataFormat":"svg","md5ext":"ae21eac3d1814aee1d37ae82ea287816.svg","rotationCenterX":249,"rotationCenterY":186},{"name":"Basketball 2","tags":["outdoors","sports","basketball"],"assetId":"a5865738283613a2725b2c9dda6d8c78","bitmapResolution":2,"dataFormat":"png","md5ext":"a5865738283613a2725b2c9dda6d8c78.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Beach Malibu","tags":["outdoors"],"assetId":"050615fe992a00d6af0e664e497ebf53","bitmapResolution":2,"dataFormat":"png","md5ext":"050615fe992a00d6af0e664e497ebf53.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Beach Rio","tags":["outdoors"],"assetId":"968f0ede6e70e1dbb763d6fd4c5003e0","bitmapResolution":2,"dataFormat":"png","md5ext":"968f0ede6e70e1dbb763d6fd4c5003e0.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 1","tags":["bedroom","indoors"],"assetId":"7aa6bbb2ddc4c10f901e1a50aeac1c7e","bitmapResolution":2,"dataFormat":"png","md5ext":"7aa6bbb2ddc4c10f901e1a50aeac1c7e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 2","tags":["indoors"],"assetId":"e2f8b0dbd0a65d2ad8bfc21616662a6a","bitmapResolution":2,"dataFormat":"png","md5ext":"e2f8b0dbd0a65d2ad8bfc21616662a6a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bedroom 3","tags":["indoors"],"assetId":"8cc0b88d53345b3e337e8f028a32a4e7","bitmapResolution":2,"dataFormat":"png","md5ext":"8cc0b88d53345b3e337e8f028a32a4e7.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Bench With View","tags":["outdoors","hill","view"],"assetId":"962201a2b712a302fb087f8f0dcb2076","bitmapResolution":2,"dataFormat":"png","md5ext":"962201a2b712a302fb087f8f0dcb2076.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Blue Sky","tags":["outdoors","flying"],"assetId":"e7c147730f19d284bcd7b3f00af19bb6","bitmapResolution":1,"dataFormat":"svg","md5ext":"e7c147730f19d284bcd7b3f00af19bb6.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Blue Sky 2 ","tags":["outdoors","flying"],"assetId":"8eb8790be5507fdccf73e7c1570bbbab","bitmapResolution":1,"dataFormat":"svg","md5ext":"8eb8790be5507fdccf73e7c1570bbbab.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Boardwalk","tags":["outdoors","ocean"],"assetId":"de0e54cd11551566f044e7e6bc588b2c","bitmapResolution":2,"dataFormat":"png","md5ext":"de0e54cd11551566f044e7e6bc588b2c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Canyon","tags":["outdoors","nature"],"assetId":"c7c0b27b959193a0b570a9639cfe8158","bitmapResolution":2,"dataFormat":"png","md5ext":"c7c0b27b959193a0b570a9639cfe8158.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 1","tags":["fantasy"],"assetId":"e1914ed7917267f1c2ef2b48004cade9","bitmapResolution":2,"dataFormat":"png","md5ext":"e1914ed7917267f1c2ef2b48004cade9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 2","tags":["fantasy"],"assetId":"951765ee7f7370f120c9df20b577c22f","bitmapResolution":2,"dataFormat":"png","md5ext":"951765ee7f7370f120c9df20b577c22f.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 3","tags":["fantasy"],"assetId":"76fa99f67569fcd39b4be74ed38c33f3","bitmapResolution":2,"dataFormat":"png","md5ext":"76fa99f67569fcd39b4be74ed38c33f3.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Castle 4","tags":["fantasy"],"assetId":"4f45f79af8e8dac3d41eb5a06ade61d4","bitmapResolution":2,"dataFormat":"png","md5ext":"4f45f79af8e8dac3d41eb5a06ade61d4.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Chalkboard","tags":["indoors","school"],"assetId":"a8a24b5aa717bbef09dbe31368914427","bitmapResolution":2,"dataFormat":"png","md5ext":"a8a24b5aa717bbef09dbe31368914427.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Circles","tags":["patterns"],"assetId":"c9847be305920807c5597d81576dd0c4","bitmapResolution":1,"dataFormat":"svg","md5ext":"c9847be305920807c5597d81576dd0c4.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"City With Water","tags":["outdoors","boston"],"assetId":"1ef98019fc94ea65a1b55d5521285c7a","bitmapResolution":2,"dataFormat":"png","md5ext":"1ef98019fc94ea65a1b55d5521285c7a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Colorful City","tags":["city","town","road","skyline","outdoors"],"assetId":"04d18ddd1b85f0ea30beb14b8da49f60","bitmapResolution":2,"dataFormat":"png","md5ext":"04d18ddd1b85f0ea30beb14b8da49f60.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Concert","tags":["indoors","music","andrew rae"],"assetId":"c8d90320d2966c08af8cdd1c6a7a93b5","bitmapResolution":2,"dataFormat":"png","md5ext":"c8d90320d2966c08af8cdd1c6a7a93b5.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Desert","tags":["desert"," landscape"," outdoors"," cacti"],"assetId":"d98a9526a34890cf4bad11b5409eae2a","bitmapResolution":2,"dataFormat":"png","md5ext":"d98a9526a34890cf4bad11b5409eae2a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Farm","tags":["outdoors","chicken","barn","coup","owen davey"],"assetId":"1e8a70bd07f1dcba3383883f3b948266","bitmapResolution":2,"dataFormat":"png","md5ext":"1e8a70bd07f1dcba3383883f3b948266.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Field At Mit","tags":["outdoors","architecture"],"assetId":"5b0a970202b464915915260c03f05455","bitmapResolution":2,"dataFormat":"png","md5ext":"5b0a970202b464915915260c03f05455.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Flowers","tags":["outdoors","nature"],"assetId":"25a6ede51a96d4e55de2ffb81ae96f8c","bitmapResolution":2,"dataFormat":"png","md5ext":"25a6ede51a96d4e55de2ffb81ae96f8c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Forest","tags":["outdoors","forest"],"assetId":"92968ac16b2f0c3f7835a6dacd172c7b","bitmapResolution":2,"dataFormat":"png","md5ext":"92968ac16b2f0c3f7835a6dacd172c7b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Galaxy","tags":["space","stars","nasa"],"assetId":"5fab1922f254ae9fd150162c3e392bef","bitmapResolution":2,"dataFormat":"png","md5ext":"5fab1922f254ae9fd150162c3e392bef.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Garden-rock","tags":["outdoors"," garden"," park"],"assetId":"4f66053598bea0905e1559ab9d5a6e31","bitmapResolution":2,"dataFormat":"png","md5ext":"4f66053598bea0905e1559ab9d5a6e31.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Greek Theater","tags":["outdoors","theatre"],"assetId":"93d71e8b8a96cc007b8d68f36acd338a","bitmapResolution":2,"dataFormat":"png","md5ext":"93d71e8b8a96cc007b8d68f36acd338a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hall","tags":["indoors"],"assetId":"ea86ca30b346f27ca5faf1254f6a31e3","bitmapResolution":2,"dataFormat":"png","md5ext":"ea86ca30b346f27ca5faf1254f6a31e3.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hay Field","tags":["outdoors","farm"],"assetId":"da102a69d135973e0fc139131dec785a","bitmapResolution":2,"dataFormat":"png","md5ext":"da102a69d135973e0fc139131dec785a.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Hearts","tags":["patterns"],"assetId":"f98526ccb0eec3ac7d6c8f8ab502825e","bitmapResolution":1,"dataFormat":"svg","md5ext":"f98526ccb0eec3ac7d6c8f8ab502825e.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Hill","tags":["outdoors","nature"],"assetId":"2129c842f28d6881f622fdc3497ff2da","bitmapResolution":2,"dataFormat":"png","md5ext":"2129c842f28d6881f622fdc3497ff2da.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Jungle","tags":["outdoors","forest","robert hunter"],"assetId":"f4f908da19e2753f3ed679d7b37650ca","bitmapResolution":2,"dataFormat":"png","md5ext":"f4f908da19e2753f3ed679d7b37650ca.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Jurassic","tags":["outdoors","dinosaur","alex eben meyer"],"assetId":"64025bdca5db4938f65597e3682fddcf","bitmapResolution":1,"dataFormat":"svg","md5ext":"64025bdca5db4938f65597e3682fddcf.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Light","tags":["patterns"],"assetId":"4b98c07876ed8997c3762e75790507b4","bitmapResolution":1,"dataFormat":"svg","md5ext":"4b98c07876ed8997c3762e75790507b4.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Metro","tags":["outdoors","city","urban"],"assetId":"0b4a15ba028bf205ec051390d6ac4de7","bitmapResolution":2,"dataFormat":"png","md5ext":"0b4a15ba028bf205ec051390d6ac4de7.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Moon","tags":["space","nasa","apollo"],"assetId":"0b1d2eaf22d62ef88de80ccde5578fba","bitmapResolution":2,"dataFormat":"png","md5ext":"0b1d2eaf22d62ef88de80ccde5578fba.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Mountain","tags":["outdoors","snow","cave","robert hunter"],"assetId":"f84989feee2cf462a1c597169777ee3c","bitmapResolution":2,"dataFormat":"png","md5ext":"f84989feee2cf462a1c597169777ee3c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Mural","tags":["outdoors","mural","graffiti","street","art"],"assetId":"efb625f7e0b199b15f69e116cd053cea","bitmapResolution":2,"dataFormat":"png","md5ext":"efb625f7e0b199b15f69e116cd053cea.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Nebula","tags":["space","nasa","bubble","hubble"],"assetId":"9b5cdbd596da1b6149f56b794b6394f4","bitmapResolution":2,"dataFormat":"png","md5ext":"9b5cdbd596da1b6149f56b794b6394f4.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Neon Tunnel","tags":["games","game","space"],"assetId":"57d2b13b2f73d3d878c72810c137b0d6","bitmapResolution":2,"dataFormat":"png","md5ext":"57d2b13b2f73d3d878c72810c137b0d6.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Night City","tags":["outdoors","urban","city","metro"],"assetId":"6fdc795ff487204f72740567be5f64f9","bitmapResolution":2,"dataFormat":"png","md5ext":"6fdc795ff487204f72740567be5f64f9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Night City With Street","tags":["urban","city","metro","transportation"],"assetId":"14443ad7907b6479d7562a12b8ae0efb","bitmapResolution":2,"dataFormat":"png","md5ext":"14443ad7907b6479d7562a12b8ae0efb.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Party","tags":["indoors","inflatable"],"assetId":"108160d0e44d1c340182e31c9dc0758a","bitmapResolution":1,"dataFormat":"svg","md5ext":"108160d0e44d1c340182e31c9dc0758a.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Pathway","tags":["outdoors","garden"],"assetId":"5d747ec036755a4b129f0d5b978bc61c","bitmapResolution":2,"dataFormat":"png","md5ext":"5d747ec036755a4b129f0d5b978bc61c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Playground","tags":["outdoors","play"],"assetId":"e5f794c8756ca0cead5cb7e7fe354c41","bitmapResolution":2,"dataFormat":"png","md5ext":"e5f794c8756ca0cead5cb7e7fe354c41.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Playing Field","tags":["outdoors","sports"],"assetId":"2de108f3098e92f5c5976cf75d38e99d","bitmapResolution":2,"dataFormat":"png","md5ext":"2de108f3098e92f5c5976cf75d38e99d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Pool","tags":["outdoors","sports","swim","swimming"],"assetId":"6cab934df643d2fc508cfa90c0c4059b","bitmapResolution":2,"dataFormat":"png","md5ext":"6cab934df643d2fc508cfa90c0c4059b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Rays","tags":["patterns","raimondious"],"assetId":"87e963282db9e020e8c4d075891ea12b","bitmapResolution":1,"dataFormat":"svg","md5ext":"87e963282db9e020e8c4d075891ea12b.svg","rotationCenterX":240.1199951171875,"rotationCenterY":180},{"name":"Refrigerator","tags":["food","indoors","alex eben meyer"],"assetId":"98f053f9681e872f34fafd783ce72205","bitmapResolution":1,"dataFormat":"svg","md5ext":"98f053f9681e872f34fafd783ce72205.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Room 1","tags":["indoors","books","library"],"assetId":"a81668321aa3dcc0fc185d3e36ae76f6","bitmapResolution":2,"dataFormat":"png","md5ext":"a81668321aa3dcc0fc185d3e36ae76f6.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Room 2","tags":["indoors"],"assetId":"05ae3e3bbea890a6e3552ffe8456775e","bitmapResolution":2,"dataFormat":"png","md5ext":"05ae3e3bbea890a6e3552ffe8456775e.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Savanna","tags":["africa","savanna","savanah","outdoors","robert hunter"],"assetId":"9b020b8c7cb6a9592f7303add9441d8f","bitmapResolution":2,"dataFormat":"png","md5ext":"9b020b8c7cb6a9592f7303add9441d8f.png","rotationCenterX":480,"rotationCenterY":360},{"name":"School","tags":["outdoors","building","education","learning"],"assetId":"1dea69ac0f62cf538d368a7bde1372ac","bitmapResolution":2,"dataFormat":"png","md5ext":"1dea69ac0f62cf538d368a7bde1372ac.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Slopes","tags":["outdoors","winter","ski","snowboard","cold","snow"],"assetId":"63b6a69594a0a87888b56244bfa2ac1b","bitmapResolution":2,"dataFormat":"png","md5ext":"63b6a69594a0a87888b56244bfa2ac1b.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Soccer","tags":["soccer","football","sports","alex eben meyer"],"assetId":"04a63154f04b09494354090f7cc2f1b9","bitmapResolution":2,"dataFormat":"png","md5ext":"04a63154f04b09494354090f7cc2f1b9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Soccer 2","tags":["soccer","football","sports","alex eben meyer"],"assetId":"b0dc1268cb595aaeef405bce40d1639c","bitmapResolution":2,"dataFormat":"png","md5ext":"b0dc1268cb595aaeef405bce40d1639c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"84208d9a3718ec3c9fc5a32a792fa1d0","bitmapResolution":2,"dataFormat":"png","md5ext":"84208d9a3718ec3c9fc5a32a792fa1d0.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space City 1","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"20344b0edcc498281e4cb80242a72667","bitmapResolution":2,"dataFormat":"png","md5ext":"20344b0edcc498281e4cb80242a72667.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Space City 2","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"32b2316fd375faa18088f6c57ebb1c8d","bitmapResolution":2,"dataFormat":"png","md5ext":"32b2316fd375faa18088f6c57ebb1c8d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Spaceship","tags":["space","moon","science fiction","planet","wren mcdonald"],"assetId":"0c450891306fa63ef02aa0fda7fd0ef9","bitmapResolution":2,"dataFormat":"png","md5ext":"0c450891306fa63ef02aa0fda7fd0ef9.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Spotlight","tags":["music","dance"],"assetId":"d26bf4c3980163d9106625cc2ea6c50d","bitmapResolution":2,"dataFormat":"png","md5ext":"d26bf4c3980163d9106625cc2ea6c50d.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Stars","tags":["space","nasa"],"assetId":"47282ff0f7047c6fab9c94b531abf721","bitmapResolution":2,"dataFormat":"png","md5ext":"47282ff0f7047c6fab9c94b531abf721.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Stripes","tags":["patterns"],"assetId":"a6a21f5c08d586e8daaebde37c97fb6f","bitmapResolution":1,"dataFormat":"svg","md5ext":"a6a21f5c08d586e8daaebde37c97fb6f.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Theater","tags":["indoors","music","andrew rae"],"assetId":"c2b097bc5cdb6a14ef5485202bc5ee76","bitmapResolution":2,"dataFormat":"png","md5ext":"c2b097bc5cdb6a14ef5485202bc5ee76.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Theater 2","tags":["music"],"assetId":"061a78ed83495dd0acd6d62e83e1b972","bitmapResolution":2,"dataFormat":"png","md5ext":"061a78ed83495dd0acd6d62e83e1b972.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Tree","tags":["outdoors","nature"],"assetId":"a23fbf972001c94637b568992f8fd7bd","bitmapResolution":2,"dataFormat":"png","md5ext":"a23fbf972001c94637b568992f8fd7bd.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Underwater 1","tags":["ocean","outdoors","underwater","ipzy"],"assetId":"d3344650f594bcecdf46aa4a9441badd","bitmapResolution":1,"dataFormat":"svg","md5ext":"d3344650f594bcecdf46aa4a9441badd.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Underwater 2","tags":["outdoors","nature","underwater"],"assetId":"1517c21786d2d0edc2f3037408d850bd","bitmapResolution":2,"dataFormat":"png","md5ext":"1517c21786d2d0edc2f3037408d850bd.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Urban","tags":["outdoors","city","metro","transportation"],"assetId":"1679049718869e1f548e1e8823e29c1c","bitmapResolution":2,"dataFormat":"png","md5ext":"1679049718869e1f548e1e8823e29c1c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wall 1","tags":["outdoors","brick"],"assetId":"7e5327c68ff6ddabc48dbfe4717a04fe","bitmapResolution":2,"dataFormat":"png","md5ext":"7e5327c68ff6ddabc48dbfe4717a04fe.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wall 2","tags":["outdoors","brick"],"assetId":"82d867fcd9f1b5f49e29c2f853d55665","bitmapResolution":2,"dataFormat":"png","md5ext":"82d867fcd9f1b5f49e29c2f853d55665.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Water And Rocks","tags":["outdoors","nature","tree","river","stream"],"assetId":"0015433a406a53f00b792424b823268c","bitmapResolution":2,"dataFormat":"png","md5ext":"0015433a406a53f00b792424b823268c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Wetland","tags":["outdoor","nature","swamp","wetland","owen davey"],"assetId":"ef9973bcff6d4cbc558e946028ec7d23","bitmapResolution":2,"dataFormat":"png","md5ext":"ef9973bcff6d4cbc558e946028ec7d23.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Winter","tags":["outdoors","trees","forest","winter"],"assetId":"5fa9385a60b904672d0e46e9d768bb32","bitmapResolution":1,"dataFormat":"svg","md5ext":"5fa9385a60b904672d0e46e9d768bb32.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Witch House","tags":["fantasy","indoors","ipzy"],"assetId":"30085b2d27beb5acdbe895d8b3e64b04","bitmapResolution":1,"dataFormat":"svg","md5ext":"30085b2d27beb5acdbe895d8b3e64b04.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Woods","tags":["fantasy","spooky","halloween","outdoors","haunted","forest","alex eben meyer"],"assetId":"f3eb165d6f3fd23370f97079f2e631bf","bitmapResolution":1,"dataFormat":"svg","md5ext":"f3eb165d6f3fd23370f97079f2e631bf.svg","rotationCenterX":240,"rotationCenterY":180},{"name":"Woods And Bench","tags":["outdoors","park"],"assetId":"4fcf7ed0de6c6b6e9b52c511b0650e9c","bitmapResolution":2,"dataFormat":"png","md5ext":"4fcf7ed0de6c6b6e9b52c511b0650e9c.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid","tags":["grid","xy","coordinates"],"assetId":"9838d02002d05f88dc54d96494fbc202","bitmapResolution":2,"dataFormat":"png","md5ext":"9838d02002d05f88dc54d96494fbc202.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid-20px","tags":["grid","xy","coordinates"],"assetId":"4eec0e1db92b8dea3e5bee25105e8f46","bitmapResolution":2,"dataFormat":"png","md5ext":"4eec0e1db92b8dea3e5bee25105e8f46.png","rotationCenterX":480,"rotationCenterY":360},{"name":"Xy-grid-30px","tags":["grid","xy","coordinates"],"assetId":"3b8bcabd0ac683b7cb3673208039764b","bitmapResolution":2,"dataFormat":"png","md5ext":"3b8bcabd0ac683b7cb3673208039764b.png","rotationCenterX":480,"rotationCenterY":360}]')},function(e,t,n){"use strict";var A=n(881).default;n(888),(t=e.exports=A).default=t},function(e,t,n){"use strict";var A=n(0),A=n.n(A),o=n(1),a=n.n(o),o=n(4),i=n.n(o),o=n(150),r=n.n(o),o=n(146),s=n.n(o),o=n(717),o=n.n(o),l=n(297),u=n.n(l);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){var t;return a.a.createElement("div",{"aria-label":"Close",className:i()(r.a.closeButton,e.className,(c(t={},r.a.small,e.size===g.SIZE_SMALL),c(t,r.a.large,e.size===g.SIZE_LARGE),c(t,r.a.orange,e.color===g.COLOR_ORANGE),t)),role:"button",tabIndex:"0",onClick:e.onClick},"back"===e.buttonType?a.a.createElement("img",{className:r.a.backIcon,src:u.a}):a.a.createElement("img",{className:i()(r.a.closeIcon,c({},r.a[e.color],e.color!==g.COLOR_NEUTRAL)),src:e.color&&d[e.color]?d[e.color]:s.a}))}var d={};g.SIZE_SMALL="small",g.SIZE_LARGE="large",g.COLOR_NEUTRAL="neutral",g.COLOR_GREEN="green",g.COLOR_ORANGE="orange",c(n={},g.COLOR_NEUTRAL,s.a),c(n,g.COLOR_GREEN,s.a),c(n,g.COLOR_ORANGE,o.a),d=n,g.propTypes={buttonType:A.a.oneOf(["back","close"]),className:A.a.string,color:A.a.string,onClick:A.a.func.isRequired,size:A.a.oneOf([g.SIZE_SMALL,g.SIZE_LARGE])},g.defaultProps={color:g.COLOR_NEUTRAL,size:g.SIZE_LARGE,buttonType:"close"},t.a=g},function(e,t,n){var A=n(1362),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1382),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1400),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1414),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1420),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1421),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1448),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){var A=n(1528),o=("string"==typeof A&&(A=[[e.i,A,""]]),{hmr:!0});o.transform=void 0,o.insertInto=void 0,n(10)(A,o);A.locals&&(e.exports=A.locals)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(t=t.OpCode||(t.OpCode={})).motion_movesteps="motion_movesteps",t.motion_turnright="motion_turnright",t.motion_turnleft="motion_turnleft",t.motion_goto="motion_goto",t.motion_gotoxy="motion_gotoxy",t.motion_glideto="motion_glideto",t.motion_glidesecstoxy="motion_glidesecstoxy",t.motion_pointindirection="motion_pointindirection",t.motion_pointtowards="motion_pointtowards",t.motion_changexby="motion_changexby",t.motion_setx="motion_setx",t.motion_changeyby="motion_changeyby",t.motion_sety="motion_sety",t.motion_ifonedgebounce="motion_ifonedgebounce",t.motion_setrotationstyle="motion_setrotationstyle",t.motion_xposition="motion_xposition",t.motion_yposition="motion_yposition",t.motion_direction="motion_direction",t.looks_sayforsecs="looks_sayforsecs",t.looks_say="looks_say",t.looks_thinkforsecs="looks_thinkforsecs",t.looks_think="looks_think",t.looks_switchcostumeto="looks_switchcostumeto",t.looks_nextcostume="looks_nextcostume",t.looks_switchbackdropto="looks_switchbackdropto",t.looks_nextbackdrop="looks_nextbackdrop",t.looks_changesizeby="looks_changesizeby",t.looks_setsizeto="looks_setsizeto",t.looks_changeeffectby="looks_changeeffectby",t.looks_seteffectto="looks_seteffectto",t.looks_cleargraphiceffects="looks_cleargraphiceffects",t.looks_show="looks_show",t.looks_hide="looks_hide",t.looks_gotofrontback="looks_gotofrontback",t.looks_goforwardbackwardlayers="looks_goforwardbackwardlayers",t.looks_costumenumbername="looks_costumenumbername",t.looks_backdropnumbername="looks_backdropnumbername",t.looks_size="looks_size",t.sound_playuntildone="sound_playuntildone",t.sound_play="sound_play",t.sound_stopallsounds="sound_stopallsounds",t.sound_changeeffectby="sound_changeeffectby",t.sound_seteffectto="sound_seteffectto",t.sound_cleareffects="sound_cleareffects",t.sound_changevolumeby="sound_changevolumeby",t.sound_setvolumeto="sound_setvolumeto",t.sound_volume="sound_volume",t.event_whenflagclicked="event_whenflagclicked",t.event_whenkeypressed="event_whenkeypressed",t.event_whenthisspriteclicked="event_whenthisspriteclicked",t.event_whenstageclicked="event_whenstageclicked",t.event_whenbackdropswitchesto="event_whenbackdropswitchesto",t.event_whengreaterthan="event_whengreaterthan",t.event_whenbroadcastreceived="event_whenbroadcastreceived",t.event_broadcast="event_broadcast",t.event_broadcastandwait="event_broadcastandwait",t.control_wait="control_wait",t.control_repeat="control_repeat",t.control_forever="control_forever",t.control_if="control_if",t.control_if_else="control_if_else",t.control_wait_until="control_wait_until",t.control_repeat_until="control_repeat_until",t.control_stop="control_stop",t.control_start_as_clone="control_start_as_clone",t.control_create_clone_of="control_create_clone_of",t.control_delete_this_clone="control_delete_this_clone",t.sensing_touchingobject="sensing_touchingobject",t.sensing_touchingcolor="sensing_touchingcolor",t.sensing_coloristouchingcolor="sensing_coloristouchingcolor",t.sensing_distanceto="sensing_distanceto",t.sensing_askandwait="sensing_askandwait",t.sensing_answer="sensing_answer",t.sensing_keypressed="sensing_keypressed",t.sensing_mousedown="sensing_mousedown",t.sensing_mousex="sensing_mousex",t.sensing_mousey="sensing_mousey",t.sensing_setdragmode="sensing_setdragmode",t.sensing_loudness="sensing_loudness",t.sensing_timer="sensing_timer",t.sensing_resettimer="sensing_resettimer",t.sensing_of="sensing_of",t.sensing_current="sensing_current",t.sensing_dayssince2000="sensing_dayssince2000",t.sensing_username="sensing_username",t.operator_add="operator_add",t.operator_subtract="operator_subtract",t.operator_multiply="operator_multiply",t.operator_divide="operator_divide",t.operator_random="operator_random",t.operator_gt="operator_gt",t.operator_lt="operator_lt",t.operator_equals="operator_equals",t.operator_and="operator_and",t.operator_or="operator_or",t.operator_not="operator_not",t.operator_join="operator_join",t.operator_letter_of="operator_letter_of",t.operator_length="operator_length",t.operator_contains="operator_contains",t.operator_mod="operator_mod",t.operator_round="operator_round",t.operator_mathop="operator_mathop",t.data_variable="data_variable",t.data_setvariableto="data_setvariableto",t.data_changevariableby="data_changevariableby",t.data_showvariable="data_showvariable",t.data_hidevariable="data_hidevariable",t.data_listcontents="data_listcontents",t.data_addtolist="data_addtolist",t.data_deleteoflist="data_deleteoflist",t.data_deletealloflist="data_deletealloflist",t.data_insertatlist="data_insertatlist",t.data_replaceitemoflist="data_replaceitemoflist",t.data_itemoflist="data_itemoflist",t.data_itemnumoflist="data_itemnumoflist",t.data_lengthoflist="data_lengthoflist",t.data_listcontainsitem="data_listcontainsitem",t.data_showlist="data_showlist",t.data_hidelist="data_hidelist",t.procedures_definition="procedures_definition",t.procedures_prototype="procedures_prototype",t.argument_reporter_boolean="argument_reporter_boolean",t.argument_reporter_string_number="argument_reporter_string_number",t.procedures_call="procedures_call",t.music_playDrumForBeats="music_playDrumForBeats",t.music_restForBeats="music_restForBeats",t.music_playNoteForBeats="music_playNoteForBeats",t.music_setInstrument="music_setInstrument",t.music_setTempo="music_setTempo",t.music_changeTempo="music_changeTempo",t.music_getTempo="music_getTempo",t.pen_clear="pen_clear",t.pen_stamp="pen_stamp",t.pen_penDown="pen_penDown",t.pen_penUp="pen_penUp",t.pen_setPenColorToColor="pen_setPenColorToColor",t.pen_changePenColorParamBy="pen_changePenColorParamBy",t.pen_setPenColorParamTo="pen_setPenColorParamTo",t.pen_changePenSizeBy="pen_changePenSizeBy",t.pen_setPenSizeTo="pen_setPenSizeTo",t.videoSensing_whenMotionGreaterThan="videoSensing_whenMotionGreaterThan",t.videoSensing_videoOn="videoSensing_videoOn",t.videoSensing_videoToggle="videoSensing_videoToggle",t.videoSensing_setVideoTransparency="videoSensing_setVideoTransparency",t.wedo2_motorOnFor="wedo2_motorOnFor",t.wedo2_motorOn="wedo2_motorOn",t.wedo2_motorOff="wedo2_motorOff",t.wedo2_startMotorPower="wedo2_startMotorPower",t.wedo2_setMotorDirection="wedo2_setMotorDirection",t.wedo2_setLightHue="wedo2_setLightHue",t.wedo2_whenDistance="wedo2_whenDistance",t.wedo2_whenTilted="wedo2_whenTilted",t.wedo2_getDistance="wedo2_getDistance",t.wedo2_isTilted="wedo2_isTilted",t.wedo2_getTiltAngle="wedo2_getTiltAngle",t.motion_scroll_right="motion_scroll_right",t.motion_scroll_up="motion_scroll_up",t.motion_align_scene="motion_align_scene",t.motion_xscroll="motion_xscroll",t.motion_yscroll="motion_yscroll",t.looks_hideallsprites="looks_hideallsprites",t.looks_switchbackdroptoandwait="looks_switchbackdroptoandwait",t.looks_changestretchby="looks_changestretchby",t.looks_setstretchto="looks_setstretchto",t.control_while="control_while",t.control_for_each="control_for_each",t.control_get_counter="control_get_counter",t.control_incr_counter="control_incr_counter",t.control_clear_counter="control_clear_counter",t.control_all_at_once="control_all_at_once",t.sensing_userid="sensing_userid",t.sensing_loud="sensing_loud",t.music_midiPlayDrumForBeats="music_midiPlayDrumForBeats",t.music_midiSetInstrument="music_midiSetInstrument",t.pen_setPenShadeToNumber="pen_setPenShadeToNumber",t.pen_changePenShadeBy="pen_changePenShadeBy",t.pen_setPenHueToNumber="pen_setPenHueToNumber",t.pen_changePenHueBy="pen_changePenHueBy",t.wedo2_playNoteFor="wedo2_playNoteFor",t.motion_pointtowards_menu="motion_pointtowards_menu",t.motion_glideto_menu="motion_glideto_menu",t.motion_goto_menu="motion_goto_menu",t.looks_costume="looks_costume",t.looks_backdrops="looks_backdrops",t.sound_sounds_menu="sound_sounds_menu",t.event_broadcast_menu="broadcast_menu",t.control_create_clone_of_menu="control_create_clone_of_menu",t.sensing_touchingobjectmenu="sensing_touchingobjectmenu",t.sensing_distancetomenu="sensing_distancetomenu",t.sensing_keyoptions="sensing_keyoptions",t.sensing_of_object_menu="sensing_of_object_menu",t.pen_menu_colorParam="pen_menu_colorParam",t.music_menu_DRUM="music_menu_DRUM",t.music_menu_INSTRUMENT="music_menu_INSTRUMENT",t.note="note",t.videoSensing_menu_ATTRIBUTE="videoSensing_menu_ATTRIBUTE",t.videoSensing_menu_SUBJECT="videoSensing_menu_SUBJECT",t.videoSensing_menu_VIDEO_STATE="videoSensing_menu_VIDEO_STATE",t.wedo2_menu_MOTOR_ID="wedo2_menu_MOTOR_ID",t.wedo2_menu_MOTOR_DIRECTION="wedo2_menu_MOTOR_DIRECTION",t.wedo2_menu_TILT_DIRECTION="wedo2_menu_TILT_DIRECTION",t.wedo2_menu_TILT_DIRECTION_ANY="wedo2_menu_TILT_DIRECTION_ANY",t.wedo2_menu_OP="wedo2_menu_OP",t.mv2_circle="mv2_circle",t.mv2_eyes="mv2_eyes",t.mv2_kick="mv2_kick",t.mv2_lean="mv2_lean",t.mv2_liftFoot="mv2_liftFoot",t.mv2_lowerFoot="mv2_lowerFoot",t.mv2_moveJoint="mv2_moveJoint",t.mv2_slide="mv2_slide",t.mv2_slideMsLength="mv2_slideMsLength",t.mv2_turn="mv2_turn",t.mv2_wave="mv2_wave",t.mv2_gripperArmBasic="mv2_gripperArmBasic",t.mv2_gripperArmTimed="mv2_gripperArmTimed",t.mv2_getReady="mv2_getReady",t.mv2_dance="mv2_dance",t.mv2_hold="mv2_hold",t.mv2_standStraight="mv2_standStraight",t.mv2_walk_fw="mv2_walk_fw",t.mv2_walk_bw="mv2_walk_bw",t.mv2_walk="mv2_walk",t.mv2_wiggle="mv2_wiggle",t.mv2_discoChangeBlockPattern="mv2_discoChangeBlockPattern",t.mv2_LEDEyesColour="mv2_LEDEyesColour",t.mv2_LEDEyesColour_SpecificLED="mv2_LEDEyesColour_SpecificLED",t.colour_picker_LED_eyes="colour_picker_LED_eyes",t.mv2_LEDEyesColourLEDs="mv2_LEDEyesColourLEDs",t.mv2_discoChangeRegionColour="mv2_discoChangeRegionColour",t.mv2_RGBOperator="mv2_RGBOperator",t.mv2_HSLOperator="mv2_HSLOperator",t.mv2_discoChangeBackColour="mv2_discoChangeBackColour",t.mv2_discoSetBreatheBackColour="mv2_discoSetBreatheBackColour",t.mv2_discoTurnOffBackColour="mv2_discoTurnOffBackColour",t.mv2_playNote="mv2_playNote",t.mv2_changePitchEffect="mv2_changePitchEffect",t.mv2_setPitchEffect="mv2_setPitchEffect",t.mv2_playSoundUntilDone="mv2_playSoundUntilDone",t.mv2_playTone="mv2_playTone",t.mv2_stopSounds="mv2_stopSounds",t.mv2_playSound="mv2_playSound",t.mv2_clearSoundEffects="mv2_clearSoundEffects",t.mv2_changeVolume="mv2_changeVolume",t.mv2_setVolume="mv2_setVolume",t.ServoCurrent="ServoCurrent",t.ServoPosition="ServoPosition",t.mv2_obstaclesense="mv2_obstaclesense",t.mv2_groundsense="mv2_groundsense",t.mv2_coloursense="mv2_coloursense",t.mv2_coloursense_hex="mv2_coloursense_hex",t.mv2_coloursenseraw="mv2_coloursenseraw",t.mv2_lightsense="mv2_lightsense",t.mv2_noisesense="mv2_noisesense",t.XAxisMovement="XAxisMovement",t.YAxisMovement="YAxisMovement",t.ZAxisMovement="ZAxisMovement",t.BatteryPercentage="BatteryPercentage",t.mv2_distancesense="mv2_distancesense",t.text2speech_marty_speakAndWait="text2speech_marty_speakAndWait"},function(e,t,n){function c(e,t){var n,A,o,a,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return A=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){A=!0,o=e},f:function(){try{n||null==i.return||i.return()}finally{if(A)throw o}}};if(Array.isArray(e)||(i=function(e,t){var n;if(e)return"string"==typeof e?r(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),a=0,{s:t=function(){},n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,A=new Array(t);n<t;n++)A[n]=e[n];return A}function g(e){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var d=n(954),a=n(444),u=n(256),i=n(340),s=n(132),l=n(210).Map,A=n(451),h=n(452),p=n(39),m=n(133),B=n(341),n=function(){function A(e,t){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");this.runtime=e,this._blocks={},this._scripts=[],Object.defineProperty(this,"_cache",{writable:!0,enumerable:!1}),this._cache={inputs:{},procedureParamNames:{},procedureDefinitions:{},_executeCached:{},_monitored:null,scripts:{}},this.forceNoGlow=t||!1}var e,t,n;return e=A,n=[{key:"BRANCH_INPUT_PREFIX",get:function(){return"SUBSTACK"}}],(t=[{key:"getBlock",value:function(e){return this._blocks[e]}},{key:"getScripts",value:function(){return this._scripts}},{key:"getNextBlock",value:function(e){e=this._blocks[e];return void 0===e?null:e.next}},{key:"getBranch",value:function(e,t){var n,e=this._blocks[e];return void 0===e||(n=A.BRANCH_INPUT_PREFIX,1<(t=t||1)&&(n+=t),void 0===(t=e.inputs[n]))?null:t.block}},{key:"getOpcode",value:function(e){return void 0===e?null:e.opcode}},{key:"getFields",value:function(e){return void 0===e?null:e.fields}},{key:"getInputs",value:function(e){if(void 0===e)return null;var t=this._cache.inputs[e.id];if(void 0===t){for(var n in t={},e.inputs)n.substring(0,A.BRANCH_INPUT_PREFIX.length)!==A.BRANCH_INPUT_PREFIX&&(t[n]=e.inputs[n]);this._cache.inputs[e.id]=t}return t}},{key:"getMutation",value:function(e){return void 0===e?null:e.mutation}},{key:"getTopLevelScript",value:function(e){var t=this._blocks[e];if(void 0===t)return null;for(;null!==t.parent;)t=this._blocks[t.parent];return t.id}},{key:"getProcedureDefinition",value:function(e){var t,n=this._cache.procedureDefinitions[e];if(void 0!==n)return n;for(t in this._blocks)if(this._blocks.hasOwnProperty(t)){var A=this._blocks[t];if("procedures_definition"===A.opcode){A=this._getCustomBlockInternal(A);if(A&&A.mutation.proccode===e)return this._cache.procedureDefinitions[e]=t}}return this._cache.procedureDefinitions[e]=null}},{key:"getProcedureParamNamesAndIds",value:function(e){return this.getProcedureParamNamesIdsAndDefaults(e).slice(0,2)}},{key:"getProcedureParamNamesIdsAndDefaults",value:function(e){var t,n=this._cache.procedureParamNames[e];if(void 0!==n)return n;for(t in this._blocks)if(this._blocks.hasOwnProperty(t)){var A,o,a=this._blocks[t];if("procedures_prototype"===a.opcode&&a.mutation.proccode===e)return A=JSON.parse(a.mutation.argumentnames),o=JSON.parse(a.mutation.argumentids),a=JSON.parse(a.mutation.argumentdefaults),this._cache.procedureParamNames[e]=[A,o,a],this._cache.procedureParamNames[e]}return this._cache.procedureParamNames[e]=null}},{key:"duplicate",value:function(){var e=new A(this.runtime,this.forceNoGlow);return e._blocks=s.simple(this._blocks),e._scripts=s.simple(this._scripts),e}},{key:"blocklyListen",value:function(e){if("object"===g(e)&&("string"==typeof e.blockId||"string"==typeof e.varId||"string"==typeof e.commentId)){var t=this.runtime.getTargetForStage(),n=this.runtime.getEditingTarget();if("stackclick"===e.element)this.runtime.toggleScript(e.blockId,{stackClick:!0});else switch(e.type){case"create":for(var A=d(e),o=0;o<A.length;o++)this.createBlock(A[o]);break;case"change":this.changeBlock({id:e.blockId,element:e.element,name:e.name,value:e.newValue});break;case"move":this.moveBlock({id:e.blockId,oldParent:e.oldParentId,oldInput:e.oldInputName,newParent:e.newParentId,newInput:e.newInputName,newCoordinate:e.newCoordinate});break;case"dragOutside":this.runtime.emitBlockDragUpdate(e.isOutside);break;case"endDrag":this.runtime.emitBlockDragUpdate(!1),e.isOutside&&(l=d(e),this.runtime.emitBlockEndDrag(l,e.blockId));break;case"delete":this._blocks.hasOwnProperty(e.blockId)&&!this._blocks[e.blockId].shadow&&(this._blocks[e.blockId].topLevel&&this.runtime.quietGlow(e.blockId),this.deleteBlock(e.blockId));break;case"var_create":if(e.isLocal&&n&&!n.isStage&&!e.isCloud)n.lookupVariableById(e.varId)||(n.createVariable(e.varId,e.varName,e.varType),this.emitProjectChanged());else{if(t.lookupVariableById(e.varId))return;var a,i=c(this.runtime.targets.filter(function(e){return e.isOriginal}));try{for(i.s();!(a=i.n()).done;)if(a.value.lookupVariableByNameAndType(e.varName,e.varType,!0))return}catch(e){i.e(e)}finally{i.f()}t.createVariable(e.varId,e.varName,e.varType,e.isCloud),this.emitProjectChanged()}break;case"var_rename":if(n&&n.variables.hasOwnProperty(e.varId))n.renameVariable(e.varId,e.newName),n.blocks.updateBlocksAfterVarRename(e.varId,e.newName);else{t.renameVariable(e.varId,e.newName);for(var r=this.runtime.targets,s=0;s<r.length;s++)r[s].blocks.updateBlocksAfterVarRename(e.varId,e.newName)}this.emitProjectChanged();break;case"var_delete":(n&&n.variables.hasOwnProperty(e.varId)?n:t).deleteVariable(e.varId),this.emitProjectChanged();break;case"comment_create":this.runtime.getEditingTarget()&&((l=this.runtime.getEditingTarget()).createComment(e.commentId,e.blockId,e.text,e.xy.x,e.xy.y,e.width,e.height,e.minimized),null===l.comments[e.commentId].x)&&null===l.comments[e.commentId].y&&(l.comments[e.commentId].x=e.xy.x,l.comments[e.commentId].y=e.xy.y),this.emitProjectChanged();break;case"comment_change":if(this.runtime.getEditingTarget()){var l=this.runtime.getEditingTarget();if(!l.comments.hasOwnProperty(e.commentId))return void p.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));var l=l.comments[e.commentId],u=e.newContents_;u.hasOwnProperty("minimized")&&(l.minimized=u.minimized),u.hasOwnProperty("width")&&u.hasOwnProperty("height")&&(l.width=u.width,l.height=u.height),u.hasOwnProperty("text")&&(l.text=u.text),this.emitProjectChanged()}break;case"comment_move":if(this.runtime.getEditingTarget()){l=this.runtime.getEditingTarget();if(l&&!l.comments.hasOwnProperty(e.commentId))return void p.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));u=l.comments[e.commentId],l=e.newCoordinate_;u.x=l.x,u.y=l.y,this.emitProjectChanged()}break;case"comment_delete":if(this.runtime.getEditingTarget()){u=this.runtime.getEditingTarget();if(!u.comments.hasOwnProperty(e.commentId))return;if(delete u.comments[e.commentId],e.blockId){l=u.blocks.getBlock(e.blockId);if(!l)return void p.warn("Could not find block referenced by comment with id: ".concat(e.commentId));delete l.comment}this.emitProjectChanged()}}}}},{key:"resetCache",value:function(){this._cache.inputs={},this._cache.procedureParamNames={},this._cache.procedureDefinitions={},this._cache._executeCached={},this._cache._monitored=null,this._cache.scripts={}}},{key:"emitProjectChanged",value:function(){this.forceNoGlow||this.runtime.emitProjectChanged()}},{key:"createBlock",value:function(e){this._blocks.hasOwnProperty(e.id)||((this._blocks[e.id]=e).topLevel&&this._addScript(e.id),this.resetCache(),this.emitProjectChanged())}},{key:"changeBlock",value:function(e){if(-1!==["field","mutation","checkbox"].indexOf(e.element)){var t=this._blocks[e.id];if(void 0!==t){switch(e.element){case"field":if(!t.fields[e.name])return;"VARIABLE"===e.name||"LIST"===e.name||"BROADCAST_OPTION"===e.name?(n=this.runtime.getEditingTarget().lookupVariableById(e.value))&&(t.fields[e.name].value=n.name,t.fields[e.name].id=e.value):(t.fields[e.name].value=e.value,"sensing_of_object_menu"===t.opcode&&("_stage_"===t.fields.OBJECT.value?this._blocks[t.parent].fields.PROPERTY.value="backdrop #":this._blocks[t.parent].fields.PROPERTY.value="x position",this.runtime.requestBlocksUpdate()),(n=t.shadow&&t.parent?this._blocks[t.parent]:t).isMonitored&&this.runtime.requestUpdateMonitor(l({id:n.id,params:this._getBlockParams(n)})));break;case"mutation":t.mutation=a(e.value);break;case"checkbox":t.fields&&0<Object.keys(t.fields).length&&"data_variable"!==t.opcode&&"data_listcontents"!==t.opcode&&(n=B(t.id,t.fields),(A=this.runtime.monitorBlocks.getBlock(n))||((A=JSON.parse(JSON.stringify(t))).id=n,this.runtime.monitorBlocks.createBlock(A)),t=A);var n=t.isMonitored,A=(t.isMonitored=e.value,!1),A=("data_variable"===t.opcode?A=!this.runtime.getTargetForStage().variables[t.fields.VARIABLE.id]:"data_listcontents"===t.opcode&&(A=!this.runtime.getTargetForStage().variables[t.fields.LIST.id]),A||this.runtime.monitorBlockInfo.hasOwnProperty(t.opcode)&&this.runtime.monitorBlockInfo[t.opcode].isSpriteSpecific);t.targetId=A?t.targetId||this.runtime.getEditingTarget().id:null,n&&!t.isMonitored?this.runtime.requestHideMonitor(t.id):n||!t.isMonitored||this.runtime.requestShowMonitor(t.id)||this.runtime.requestAddMonitor(i({id:t.id,targetId:t.targetId,spriteName:t.targetId?this.runtime.getTargetById(t.targetId).getName():null,opcode:t.opcode,params:this._getBlockParams(t),value:"",mode:"data_listcontents"===t.opcode?"list":"default"}))}this.emitProjectChanged(),this.resetCache()}}}},{key:"moveBlock",value:function(e){var t,n;this._blocks.hasOwnProperty(e.id)&&(n=this._blocks[e.id],t=!1,e.newCoordinate&&(t=n.x!==e.newCoordinate.x||n.y!==e.newCoordinate.y,n.x=e.newCoordinate.x,n.y=e.newCoordinate.y),void 0!==e.oldParent&&(n=this._blocks[e.oldParent],void 0!==e.oldInput&&n.inputs[e.oldInput].block===e.id?n.inputs[e.oldInput].block=null:n.next===e.id&&(n.next=null),t=!(this._blocks[e.id].parent=null)),void 0===e.newParent?this._addScript(e.id):(this._deleteScript(e.id),void 0===e.newInput?this._blocks[e.newParent].next=e.id:(n=null,this._blocks[e.newParent].inputs.hasOwnProperty(e.newInput)&&(n=this._blocks[e.newParent].inputs[e.newInput].shadow),this._blocks[e.id].shadow&&(n=e.id),this._blocks[e.newParent].inputs[e.newInput]={name:e.newInput,block:e.id,shadow:n}),this._blocks[e.id].parent=e.newParent,t=!0),this.resetCache(),t)&&this.emitProjectChanged()}},{key:"runAllMonitored",value:function(n){for(var A=this,e=(null===this._cache._monitored&&(this._cache._monitored=Object.keys(this._blocks).filter(function(e){return A.getBlock(e).isMonitored}).map(function(e){var t=A.getBlock(e).targetId;return{blockId:e,target:t?n.getTargetById(t):null}})),this._cache._monitored),t=0;t<e.length;t++){var o=e[t],a=o.blockId,o=o.target;n.addMonitorScript(a,o)}}},{key:"deleteBlock",value:function(e){var t=this._blocks[e];if(t){for(var n in null!==t.next&&this.deleteBlock(t.next),t.inputs)null!==t.inputs[n].block&&this.deleteBlock(t.inputs[n].block),null!==t.inputs[n].shadow&&t.inputs[n].shadow!==t.inputs[n].block&&this.deleteBlock(t.inputs[n].shadow);this._deleteScript(e),delete this._blocks[e],this.resetCache(),this.emitProjectChanged()}}},{key:"getAllVariableAndListReferences",value:function(e,t){var n,A=e||this._blocks,o=Object.create(null);for(n in A){var a,i=null,r=null;A[n].fields.VARIABLE?(i=A[n].fields.VARIABLE,r=m.SCALAR_TYPE):A[n].fields.LIST?(i=A[n].fields.LIST,r=m.LIST_TYPE):t&&A[n].fields.BROADCAST_OPTION&&(i=A[n].fields.BROADCAST_OPTION,r=m.BROADCAST_MESSAGE_TYPE),i&&(o[a=i.id]?o[a].push({referencingField:i,type:r}):o[a]=[{referencingField:i,type:r}])}return o}},{key:"updateBlocksAfterVarRename",value:function(e,t){var n,A=this._blocks;for(n in A){var o=null;A[n].fields.VARIABLE?o=A[n].fields.VARIABLE:A[n].fields.LIST&&(o=A[n].fields.LIST),o&&e===o.id&&(o.value=t)}}},{key:"updateTargetSpecificBlocks",value:function(e){var t,n=this._blocks;for(t in n)e&&"event_whenthisspriteclicked"===n[t].opcode?n[t].opcode="event_whenstageclicked":e||"event_whenstageclicked"!==n[t].opcode||(n[t].opcode="event_whenthisspriteclicked")}},{key:"updateAssetName",value:function(e,t,n){var A,o;if("costume"===n)A=this._getCostumeField.bind(this);else if("sound"===n)A=this._getSoundField.bind(this);else if("backdrop"===n)A=this._getBackdropField.bind(this);else{if("sprite"!==n)return;A=this._getSpriteField.bind(this)}for(o in this._blocks){var a=A(o);a&&a.value===e&&(a.value=t)}}},{key:"updateSensingOfReference",value:function(e,t,n){var A,o=this._blocks,a=!1;for(A in o){var i=o[A];"sensing_of"===i.opcode&&i.fields.PROPERTY.value===e&&i.inputs.OBJECT.block===i.inputs.OBJECT.shadow&&this.getBlock(i.inputs.OBJECT.block).fields.OBJECT.value===n&&(i.fields.PROPERTY.value=t,a=!0)}return a&&this.resetCache(),a}},{key:"_getCostumeField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("COSTUME")?e.fields.COSTUME:null}},{key:"_getSoundField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("SOUND_MENU")?e.fields.SOUND_MENU:null}},{key:"_getBackdropField",value:function(e){e=this.getBlock(e);return e&&e.fields.hasOwnProperty("BACKDROP")?e.fields.BACKDROP:null}},{key:"_getSpriteField",value:function(e){var t=this.getBlock(e);if(t)for(var n=["TOWARDS","TO","OBJECT","VIDEOONMENU2","DISTANCETOMENU","TOUCHINGOBJECTMENU","CLONE_OPTION"],A=0;A<n.length;A++){var o=n[A];if(t.fields.hasOwnProperty(o))return t.fields[o]}return null}},{key:"toXML",value:function(t){var n=this;return this._scripts.map(function(e){return n.blockToXML(e,t)}).join()}},{key:"blockToXML",value:function(e,t){var n=this._blocks[e];if(n){var A,o,a,i,r,e=n.shadow?"shadow":"block",s="<".concat(e,'\n id="').concat(n.id,'"\n type="').concat(n.opcode,'"\n ').concat(n.topLevel?'x="'.concat(n.x,'" y="').concat(n.y,'"'):"","\n >"),l=n.comment;for(A in l&&(t?t.hasOwnProperty(l)?s+=t[l].toXML():p.warn("Could not find comment with id: ".concat(l," in provided comment descriptions.")):p.warn("Cannot serialize comment with id: ".concat(l,"; no comment descriptions provided."))),n.mutation&&(s+=this.mutationToXML(n.mutation)),n.inputs)n.inputs.hasOwnProperty(A)&&((o=n.inputs[A]).block||o.shadow)&&(s+='<value name="'.concat(o.name,'">'),o.block&&(s+=this.blockToXML(o.block,t)),o.shadow&&o.shadow!==o.block&&(s+=this.blockToXML(o.shadow,t)),s+="</value>");for(a in n.fields)n.fields.hasOwnProperty(a)&&(i=n.fields[a],s+='<field name="'.concat(i.name,'"'),(r=i.id)&&(s+=' id="'.concat(r,'"')),"string"==typeof(r=i.variableType)&&(s+=' variabletype="'.concat(r,'"')),"string"==typeof(r=i.value)&&(r=u(i.value)),s+=">".concat(r,"</field>"));return n.next&&(s+="<next>".concat(this.blockToXML(n.next,t),"</next>")),s+="</".concat(e,">")}}},{key:"mutationToXML",value:function(e){var t,n,A="<".concat(e.tagName);for(t in e)"children"!==t&&"tagName"!==t&&(n="string"==typeof e[t]?u(e[t]):e[t],"blockInfo"===t&&(n=u(JSON.stringify(e[t]))),A+=" ".concat(t,'="').concat(n,'"'));A+=">";for(var o=0;o<e.children.length;o++)A+=this.mutationToXML(e.children[o]);return A+="</".concat(e.tagName,">")}},{key:"_getBlockParams",value:function(e){var t,n,A={};for(t in e.fields)A[t]=e.fields[t].value;for(n in e.inputs){var o,a=this._blocks[e.inputs[n].block];for(o in a.fields)A[o]=a.fields[o].value}return A}},{key:"_getCustomBlockInternal",value:function(e){if(e.inputs&&e.inputs.custom_block)return this._blocks[e.inputs.custom_block.block]}},{key:"_addScript",value:function(e){-1<this._scripts.indexOf(e)||(this._scripts.push(e),this._blocks[e].topLevel=!0)}},{key:"_deleteScript",value:function(e){var t=this._scripts.indexOf(e);-1<t&&this._scripts.splice(t,1),this._blocks[e]&&(this._blocks[e].topLevel=!1)}}])&&o(e.prototype,t),n&&o(e,n),A}(),f=(A.getCached=function(e,t,n){var A=e._cache._executeCached[t];if(void 0===A){var o=e.getBlock(t);if(void 0===o)return null;A=void 0===n?{id:t,opcode:e.getOpcode(o),fields:e.getFields(o),inputs:e.getInputs(o),mutation:e.getMutation(o)}:new n(e,{id:t,opcode:e.getOpcode(o),fields:e.getFields(o),inputs:e.getInputs(o),mutation:e.getMutation(o)}),e._cache._executeCached[t]=A}return A},h._RuntimeScriptCache);h.getScripts=function(e,t){if(!(n=e._cache.scripts[t]))for(var n=e._cache.scripts[t]=[],A=e._scripts,o=0;o<A.length;o++){var a=A[o];e.getBlock(a).opcode===t&&n.push(new f(e,a))}return n},e.exports=n},function(t,e,n){!function(o){function a(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}var e=function(){function A(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:A.nowObj,t=this,n=A;if(!(t instanceof n))throw new TypeError("Cannot call a class as a function");this.startTime=0,this.nowObj=e}var e,t,n;return e=A,n=[{key:"USE_PERFORMANCE",get:function(){return!1}},{key:"legacyDateCode",get:function(){return{now:function(){return(new Date).getTime()}}}},{key:"nowObj",get:function(){return A.USE_PERFORMANCE&&"undefined"!=typeof self&&self.performance&&"now"in self.performance?self.performance:Date.now?Date:A.legacyDateCode}}],(t=[{key:"time",value:function(){return this.nowObj.now()}},{key:"relativeTime",value:function(){return this.nowObj.now()}},{key:"start",value:function(){this.startTime=this.nowObj.now()}},{key:"timeElapsed",value:function(){return this.nowObj.now()-this.startTime}},{key:"setTimeout",value:function(e,t){return o.setTimeout(e,t)}},{key:"clearTimeout",value:function(e){o.clearTimeout(e)}}])&&a(e.prototype,t),n&&a(e,n),A}();t.exports=e}.call(this,n(28))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(t=t.OpCode||(t.OpCode={})).motion_movesteps="motion_movesteps",t.motion_turnright="motion_turnright",t.motion_turnleft="motion_turnleft",t.motion_goto="motion_goto",t.motion_gotoxy="motion_gotoxy",t.motion_glideto="motion_glideto",t.motion_glidesecstoxy="motion_glidesecstoxy",t.motion_pointindirection="motion_pointindirection",t.motion_pointtowards="motion_pointtowards",t.motion_changexby="motion_changexby",t.motion_setx="motion_setx",t.motion_changeyby="motion_changeyby",t.motion_sety="motion_sety",t.motion_ifonedgebounce="motion_ifonedgebounce",t.motion_setrotationstyle="motion_setrotationstyle",t.motion_xposition="motion_xposition",t.motion_yposition="motion_yposition",t.motion_direction="motion_direction",t.looks_sayforsecs="looks_sayforsecs",t.looks_say="looks_say",t.looks_thinkforsecs="looks_thinkforsecs",t.looks_think="looks_think",t.looks_switchcostumeto="looks_switchcostumeto",t.looks_nextcostume="looks_nextcostume",t.looks_switchbackdropto="looks_switchbackdropto",t.looks_nextbackdrop="looks_nextbackdrop",t.looks_changesizeby="looks_changesizeby",t.looks_setsizeto="looks_setsizeto",t.looks_changeeffectby="looks_changeeffectby",t.looks_seteffectto="looks_seteffectto",t.looks_cleargraphiceffects="looks_cleargraphiceffects",t.looks_show="looks_show",t.looks_hide="looks_hide",t.looks_gotofrontback="looks_gotofrontback",t.looks_goforwardbackwardlayers="looks_goforwardbackwardlayers",t.looks_costumenumbername="looks_costumenumbername",t.looks_backdropnumbername="looks_backdropnumbername",t.looks_size="looks_size",t.sound_playuntildone="sound_playuntildone",t.sound_play="sound_play",t.sound_stopallsounds="sound_stopallsounds",t.sound_changeeffectby="sound_changeeffectby",t.sound_seteffectto="sound_seteffectto",t.sound_cleareffects="sound_cleareffects",t.sound_changevolumeby="sound_changevolumeby",t.sound_setvolumeto="sound_setvolumeto",t.sound_volume="sound_volume",t.event_whenflagclicked="event_whenflagclicked",t.event_whenkeypressed="event_whenkeypressed",t.event_whenthisspriteclicked="event_whenthisspriteclicked",t.event_whenstageclicked="event_whenstageclicked",t.event_whenbackdropswitchesto="event_whenbackdropswitchesto",t.event_whengreaterthan="event_whengreaterthan",t.event_whenbroadcastreceived="event_whenbroadcastreceived",t.event_broadcast="event_broadcast",t.event_broadcastandwait="event_broadcastandwait",t.control_wait="control_wait",t.control_repeat="control_repeat",t.control_forever="control_forever",t.control_if="control_if",t.control_if_else="control_if_else",t.control_wait_until="control_wait_until",t.control_repeat_until="control_repeat_until",t.control_stop="control_stop",t.control_start_as_clone="control_start_as_clone",t.control_create_clone_of="control_create_clone_of",t.control_delete_this_clone="control_delete_this_clone",t.sensing_touchingobject="sensing_touchingobject",t.sensing_touchingcolor="sensing_touchingcolor",t.sensing_coloristouchingcolor="sensing_coloristouchingcolor",t.sensing_distanceto="sensing_distanceto",t.sensing_askandwait="sensing_askandwait",t.sensing_answer="sensing_answer",t.sensing_keypressed="sensing_keypressed",t.sensing_mousedown="sensing_mousedown",t.sensing_mousex="sensing_mousex",t.sensing_mousey="sensing_mousey",t.sensing_setdragmode="sensing_setdragmode",t.sensing_loudness="sensing_loudness",t.sensing_timer="sensing_timer",t.sensing_resettimer="sensing_resettimer",t.sensing_of="sensing_of",t.sensing_current="sensing_current",t.sensing_dayssince2000="sensing_dayssince2000",t.sensing_username="sensing_username",t.operator_add="operator_add",t.operator_subtract="operator_subtract",t.operator_multiply="operator_multiply",t.operator_divide="operator_divide",t.operator_random="operator_random",t.operator_gt="operator_gt",t.operator_lt="operator_lt",t.operator_equals="operator_equals",t.operator_and="operator_and",t.operator_or="operator_or",t.operator_not="operator_not",t.operator_join="operator_join",t.operator_letter_of="operator_letter_of",t.operator_length="operator_length",t.operator_contains="operator_contains",t.operator_mod="operator_mod",t.operator_round="operator_round",t.operator_mathop="operator_mathop",t.data_variable="data_variable",t.data_setvariableto="data_setvariableto",t.data_changevariableby="data_changevariableby",t.data_showvariable="data_showvariable",t.data_hidevariable="data_hidevariable",t.data_listcontents="data_listcontents",t.data_addtolist="data_addtolist",t.data_deleteoflist="data_deleteoflist",t.data_deletealloflist="data_deletealloflist",t.data_insertatlist="data_insertatlist",t.data_replaceitemoflist="data_replaceitemoflist",t.data_itemoflist="data_itemoflist",t.data_itemnumoflist="data_itemnumoflist",t.data_lengthoflist="data_lengthoflist",t.data_listcontainsitem="data_listcontainsitem",t.data_showlist="data_showlist",t.data_hidelist="data_hidelist",t.procedures_definition="procedures_definition",t.procedures_prototype="procedures_prototype",t.argument_reporter_boolean="argument_reporter_boolean",t.argument_reporter_string_number="argument_reporter_string_number",t.procedures_call="procedures_call",t.music_playDrumForBeats="music_playDrumForBeats",t.music_restForBeats="music_restForBeats",t.music_playNoteForBeats="music_playNoteForBeats",t.music_setInstrument="music_setInstrument",t.music_setTempo="music_setTempo",t.music_changeTempo="music_changeTempo",t.music_getTempo="music_getTempo",t.pen_clear="pen_clear",t.pen_stamp="pen_stamp",t.pen_penDown="pen_penDown",t.pen_penUp="pen_penUp",t.pen_setPenColorToColor="pen_setPenColorToColor",t.pen_changePenColorParamBy="pen_changePenColorParamBy",t.pen_setPenColorParamTo="pen_setPenColorParamTo",t.pen_changePenSizeBy="pen_changePenSizeBy",t.pen_setPenSizeTo="pen_setPenSizeTo",t.videoSensing_whenMotionGreaterThan="videoSensing_whenMotionGreaterThan",t.videoSensing_videoOn="videoSensing_videoOn",t.videoSensing_videoToggle="videoSensing_videoToggle",t.videoSensing_setVideoTransparency="videoSensing_setVideoTransparency",t.wedo2_motorOnFor="wedo2_motorOnFor",t.wedo2_motorOn="wedo2_motorOn",t.wedo2_motorOff="wedo2_motorOff",t.wedo2_startMotorPower="wedo2_startMotorPower",t.wedo2_setMotorDirection="wedo2_setMotorDirection",t.wedo2_setLightHue="wedo2_setLightHue",t.wedo2_whenDistance="wedo2_whenDistance",t.wedo2_whenTilted="wedo2_whenTilted",t.wedo2_getDistance="wedo2_getDistance",t.wedo2_isTilted="wedo2_isTilted",t.wedo2_getTiltAngle="wedo2_getTiltAngle",t.motion_scroll_right="motion_scroll_right",t.motion_scroll_up="motion_scroll_up",t.motion_align_scene="motion_align_scene",t.motion_xscroll="motion_xscroll",t.motion_yscroll="motion_yscroll",t.looks_hideallsprites="looks_hideallsprites",t.looks_switchbackdroptoandwait="looks_switchbackdroptoandwait",t.looks_changestretchby="looks_changestretchby",t.looks_setstretchto="looks_setstretchto",t.control_while="control_while",t.control_for_each="control_for_each",t.control_get_counter="control_get_counter",t.control_incr_counter="control_incr_counter",t.control_clear_counter="control_clear_counter",t.control_all_at_once="control_all_at_once",t.sensing_userid="sensing_userid",t.sensing_loud="sensing_loud",t.music_midiPlayDrumForBeats="music_midiPlayDrumForBeats",t.music_midiSetInstrument="music_midiSetInstrument",t.pen_setPenShadeToNumber="pen_setPenShadeToNumber",t.pen_changePenShadeBy="pen_changePenShadeBy",t.pen_setPenHueToNumber="pen_setPenHueToNumber",t.pen_changePenHueBy="pen_changePenHueBy",t.wedo2_playNoteFor="wedo2_playNoteFor",t.motion_pointtowards_menu="motion_pointtowards_menu",t.motion_glideto_menu="motion_glideto_menu",t.motion_goto_menu="motion_goto_menu",t.looks_costume="looks_costume",t.looks_backdrops="looks_backdrops",t.sound_sounds_menu="sound_sounds_menu",t.event_broadcast_menu="broadcast_menu",t.control_create_clone_of_menu="control_create_clone_of_menu",t.sensing_touchingobjectmenu="sensing_touchingobjectmenu",t.sensing_distancetomenu="sensing_distancetomenu",t.sensing_keyoptions="sensing_keyoptions",t.sensing_of_object_menu="sensing_of_object_menu",t.pen_menu_colorParam="pen_menu_colorParam",t.music_menu_DRUM="music_menu_DRUM",t.music_menu_INSTRUMENT="music_menu_INSTRUMENT",t.note="note",t.videoSensing_menu_ATTRIBUTE="videoSensing_menu_ATTRIBUTE",t.videoSensing_menu_SUBJECT="videoSensing_menu_SUBJECT",t.videoSensing_menu_VIDEO_STATE="videoSensing_menu_VIDEO_STATE",t.wedo2_menu_MOTOR_ID="wedo2_menu_MOTOR_ID",t.wedo2_menu_MOTOR_DIRECTION="wedo2_menu_MOTOR_DIRECTION",t.wedo2_menu_TILT_DIRECTION="wedo2_menu_TILT_DIRECTION",t.wedo2_menu_TILT_DIRECTION_ANY="wedo2_menu_TILT_DIRECTION_ANY",t.wedo2_menu_OP="wedo2_menu_OP",t.mv2_circle="mv2_circle",t.mv2_eyes="mv2_eyes",t.mv2_kick="mv2_kick",t.mv2_lean="mv2_lean",t.mv2_liftFoot="mv2_liftFoot",t.mv2_lowerFoot="mv2_lowerFoot",t.mv2_moveJoint="mv2_moveJoint",t.mv2_slide="mv2_slide",t.mv2_slideMsLength="mv2_slideMsLength",t.mv2_turn="mv2_turn",t.mv2_wave="mv2_wave",t.mv2_gripperArmBasic="mv2_gripperArmBasic",t.mv2_gripperArmTimed="mv2_gripperArmTimed",t.mv2_getReady="mv2_getReady",t.mv2_dance="mv2_dance",t.mv2_hold="mv2_hold",t.mv2_standStraight="mv2_standStraight",t.mv2_walk_fw="mv2_walk_fw",t.mv2_walk_bw="mv2_walk_bw",t.mv2_walk="mv2_walk",t.mv2_wiggle="mv2_wiggle",t.mv2_discoChangeBlockPattern="mv2_discoChangeBlockPattern",t.mv2_LEDEyesColour="mv2_LEDEyesColour",t.mv2_LEDEyesColour_SpecificLED="mv2_LEDEyesColour_SpecificLED",t.colour_picker_LED_eyes="colour_picker_LED_eyes",t.mv2_LEDEyesColourLEDs="mv2_LEDEyesColourLEDs",t.mv2_discoChangeRegionColour="mv2_discoChangeRegionColour",t.mv2_RGBOperator="mv2_RGBOperator",t.mv2_HSLOperator="mv2_HSLOperator",t.mv2_discoChangeBackColour="mv2_discoChangeBackColour",t.mv2_discoSetBreatheBackColour="mv2_discoSetBreatheBackColour",t.mv2_discoTurnOffBackColour="mv2_discoTurnOffBackColour",t.mv2_playNote="mv2_playNote",t.mv2_changePitchEffect="mv2_changePitchEffect",t.mv2_setPitchEffect="mv2_setPitchEffect",t.mv2_playSoundUntilDone="mv2_playSoundUntilDone",t.mv2_playTone="mv2_playTone",t.mv2_stopSounds="mv2_stopSounds",t.mv2_playSound="mv2_playSound",t.mv2_clearSoundEffects="mv2_clearSoundEffects",t.mv2_changeVolume="mv2_changeVolume",t.mv2_setVolume="mv2_setVolume",t.ServoCurrent="ServoCurrent",t.ServoPosition="ServoPosition",t.mv2_obstaclesense="mv2_obstaclesense",t.mv2_groundsense="mv2_groundsense",t.mv2_coloursense="mv2_coloursense",t.mv2_coloursense_hex="mv2_coloursense_hex",t.mv2_coloursenseraw="mv2_coloursenseraw",t.mv2_lightsense="mv2_lightsense",t.mv2_noisesense="mv2_noisesense",t.XAxisMovement="XAxisMovement",t.YAxisMovement="YAxisMovement",t.ZAxisMovement="ZAxisMovement",t.BatteryPercentage="BatteryPercentage",t.mv2_distancesense="mv2_distancesense",t.text2speech_marty_speakAndWait="text2speech_marty_speakAndWait"},function(e,t,n){"use strict";var A=n(263),o=Object.keys||function(e){var t,n=[];for(t in e)n.push(t);return n},e=(e.exports=u,n(212)),a=(e.inherits=n(181),n(479)),i=n(347);e.inherits(u,a);for(var r=o(i.prototype),s=0;s<r.length;s++){var l=r[s];u.prototype[l]||(u.prototype[l]=i.prototype[l])}function u(e){if(!(this instanceof u))return new u(e);a.call(this,e),i.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",c)}function c(){this.allowHalfOpen||this._writableState.ended||A.nextTick(g,this)}function g(e){e.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),u.prototype._destroy=function(e,t){this.push(null),this.end(),A.nextTick(t,e)}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var A=n(137),o=n(273);e.exports=n(139)?function(e,t,n){return A.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var A=n(559),o=n(370);e.exports=function(e){return A(o(e))}},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o}),n.d(t,"c",function(){return i});var A="scratch-gui/connection-modal/setId",o={extensionId:null},a=function(e,t){return void 0===e&&(e=o),t.type!==A?e:Object.assign({},e,{extensionId:t.extensionId})},i=function(e){return{type:A,extensionId:e}}},function(e,t,n){"use strict";function A(t,e){var n,A=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),A.push.apply(A,n)),A}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",function(){return s}),n.d(t,"c",function(){return r}),n.d(t,"d",function(){return l}),n.d(t,"b",function(){return u});var a="scratch-gui/targets/UPDATE_TARGET_LIST",i="scratch-gui/targets/HIGHLIGHT_TARGET",r={sprites:{},stage:{},highlightedTargetId:null,highlightedTargetTime:null},s=function(e,t){switch(void 0===e&&(e=r),t.type){case a:return Object.assign({},e,{sprites:t.targets.filter(function(e){return!e.isStage}).reduce(function(e,t,n){return Object.assign(e,o({},t.id,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){o(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({order:n},t)))},{}),stage:t.targets.filter(function(e){return e.isStage})[0]||{},editingTarget:t.editingTarget});case i:return Object.assign({},e,{highlightedTargetId:t.targetId,highlightedTargetTime:t.updateTime});default:return e}},l=function(e,t){return{type:a,targets:e,editingTarget:t}},u=function(e){return{type:i,targetId:e,updateTime:Date.now()}}},function(e,t,n){function A(e){var t;return(i[e]||(t=i[e]={i:e,l:!1,exports:{}},a[e].call(t.exports,t,t.exports,A),t.l=!0,t)).exports}var o,a,i;e.exports=(o=n(1),a=[function(e,t,n){var A="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(6)(function(e){return"object"==typeof e&&null!==e&&e.$$typeof===A},!0)},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var A=/[A-Z]/g,o=/^ms-/,a={};e.exports=function(e){return e in a?a[e]:a[e]=e.replace(A,"-$&").toLowerCase().replace(o,"-ms-")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},n=n(0),n=n&&n.__esModule?n:{default:n},o=n.default.oneOfType([n.default.string,n.default.number]),a={orientation:n.default.oneOf(["portrait","landscape"]),scan:n.default.oneOf(["progressive","interlace"]),aspectRatio:n.default.string,deviceAspectRatio:n.default.string,height:o,deviceHeight:o,width:o,deviceWidth:o,color:n.default.bool,colorIndex:n.default.bool,monochrome:n.default.bool,resolution:o},o=A({minAspectRatio:n.default.string,maxAspectRatio:n.default.string,minDeviceAspectRatio:n.default.string,maxDeviceAspectRatio:n.default.string,minHeight:o,maxHeight:o,minDeviceHeight:o,maxDeviceHeight:o,minWidth:o,maxWidth:o,minDeviceWidth:o,maxDeviceWidth:o,minColor:n.default.number,maxColor:n.default.number,minColorIndex:n.default.number,maxColorIndex:n.default.number,minMonochrome:n.default.number,maxMonochrome:n.default.number,minResolution:o,maxResolution:o},a),n={all:n.default.bool,grid:n.default.bool,aural:n.default.bool,braille:n.default.bool,handheld:n.default.bool,print:n.default.bool,projection:n.default.bool,screen:n.default.bool,tty:n.default.bool,tv:n.default.bool,embossed:n.default.bool},A=A({},n,o);a.type=Object.keys(n),t.default={all:A,types:n,matchers:a,features:o},e.exports=t.default},function(e,t,n){"use strict";function A(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function o(e,t){var n=i({},e);return t.forEach(function(e){return delete n[e]}),n}Object.defineProperty(t,"__esModule",{value:!0}),t.toQuery=t.default=void 0;var a=function(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,A=arguments[t];for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e},s=A(n(5)),l=A(n(0)),u=A(n(9)),c=A(n(2)),g=A(n(3)),d=A(n(11)),n={component:l.default.node,query:l.default.string,values:l.default.shape(g.default.matchers),children:l.default.oneOfType([l.default.node,l.default.func]),onChange:l.default.func,onBeforeChange:l.default.func},l=Object.keys(g.default.all),h=Object.keys(n),p=h.concat(l),g=function(e){function i(){var e,t=this,n=i;if(!(t instanceof n))throw new TypeError("Cannot call a class as a function");for(var A=arguments.length,o=Array(A),a=0;a<A;a++)o[a]=arguments[a];return n=e=r(this,(t=i.__proto__||Object.getPrototypeOf(i)).call.apply(t,[this].concat(o))),e.state={matches:!1},e.updateMatches=function(){e._mql.matches!==e.state.matches&&e.setState({matches:e._mql.matches})},e.removeMql=function(){e._mql&&(e._mql.removeListener(e.updateMatches),e._mql.dispose())},r(e,n)}var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),a(i,[{key:"componentWillMount",value:function(){this.updateQuery(this.props)}},{key:"componentWillReceiveProps",value:function(e){this.updateQuery(e)}},{key:"updateQuery",value:function(n){var e=void 0,t=!1;if(n.query?this.query=n.query:this.query=(0,d.default)(o(n,h)),!this.query)throw new Error("Invalid or missing MediaQuery!");n.values&&(e=Object.keys(n.values).reduce(function(e,t){return e[(0,c.default)(t)]=n.values[t],e},{}),0!==Object.keys(e).length)&&(t=!0),this.removeMql(),this._mql=(0,u.default)(this.query,e,t),this._mql.addListener(this.updateMatches),this.updateMatches()}},{key:"componentWillUpdate",value:function(e,t){this.props.onBeforeChange&&this.state.matches!==t.matches&&this.props.onBeforeChange(this.state.matches)}},{key:"componentDidUpdate",value:function(e,t){this.props.onChange&&t.matches!==this.state.matches&&this.props.onChange(this.state.matches)}},{key:"componentWillUnmount",value:function(){this.removeMql()}},{key:"render",value:function(){var e,t,n;return"function"==typeof this.props.children?this.props.children(this.state.matches):!1===this.state.matches?null:(e=o(this.props,p),t=0<Object.keys(e).length,n=s.default.Children.count(this.props.children),this.props.component||null==this.props.children||t&&1<n?s.default.createElement(this.props.component||"div",e,this.props.children):t?s.default.cloneElement(this.props.children,e):n?this.props.children:null)}}]),i}(s.default.Component);function m(e,t){for(var n=0;n<t.length;n++){var A=t[n];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(e,A.key,A)}}g.displayName="MediaQuery",g.defaultProps={values:{}},t.default=g,t.toQuery=d.default},function(e,t){e.exports=o},function(e,t,n){"use strict";function A(){return null}var h=n(7),p=n(1),o=n(8),m=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}};e.exports=function(a,u){function c(e){this.message=e,this.stack=""}function n(r){function e(e,t,n,A,o,a,i){if(A=A||d,a=a||n,i!==p){if(u)throw(i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types")).name="Invariant Violation",i;"undefined"!=typeof console&&!s[i=A+":"+n]&&l<3&&(m("You are manually calling a React.PropTypes validation function for the `"+a+"` prop on `"+A+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),s[i]=!0,l++)}return null==t[n]?e?new c(null===t[n]?"The "+o+" `"+a+"` is marked as required in `"+A+"`, but its value is `null`.":"The "+o+" `"+a+"` is marked as required in `"+A+"`, but its value is `undefined`."):null:r(t,n,A,o,a)}var s={},l=0,t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function e(i){return n(function(e,t,n,A,o,a){return g(e=e[t])!==i?new c("Invalid "+A+" `"+o+"` of type `"+r(e)+"` supplied to `"+n+"`, expected `"+i+"`."):null})}function i(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(i);if(null!==e&&!a(e)){var t=function(e){if("function"==typeof(e=e&&(s&&e[s]||e[l])))return e}(e);if(!t)return!1;var n,A=t.call(e);if(t!==e.entries){for(;!(n=A.next()).done;)if(!i(n.value))return!1}else for(;!(n=A.next()).done;){var o=n.value;if(o&&!i(o[1]))return!1}}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":(e=e,"symbol"===t||"Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol?"symbol":t)}function r(e){if(null==e)return""+e;var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}var s="function"==typeof Symbol&&Symbol.iterator,l="@@iterator",d="<<anonymous>>",t={array:e("array"),bool:e("boolean"),func:e("function"),number:e("number"),object:e("object"),string:e("string"),symbol:e("symbol"),any:n(A),arrayOf:function(s){return n(function(e,t,n,A,o){if("function"!=typeof s)return new c("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside arrayOf.");var a=e[t];if(!Array.isArray(a))return new c("Invalid "+A+" `"+o+"` of type `"+g(a)+"` supplied to `"+n+"`, expected an array.");for(var i=0;i<a.length;i++){var r=s(a,i,n,A,o+"["+i+"]",p);if(r instanceof Error)return r}return null})},element:n(function(e,t,n,A,o){return e=e[t],a(e)?null:new c("Invalid "+A+" `"+o+"` of type `"+g(e)+"` supplied to `"+n+"`, expected a single ReactElement.")}),instanceOf:function(i){return n(function(e,t,n,A,o){var a;return e[t]instanceof i?null:(a=i.name||d,new c("Invalid "+A+" `"+o+"` of type `"+((A=e[t]).constructor&&A.constructor.name?A.constructor.name:d)+"` supplied to `"+n+"`, expected instance of `"+a+"`."))})},node:n(function(e,t,n,A,o){return i(e[t])?null:new c("Invalid "+A+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(s){return n(function(e,t,n,A,o){if("function"!=typeof s)return new c("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside objectOf.");var a,i=e[t];if("object"!==(e=g(i)))return new c("Invalid "+A+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected an object.");for(a in i)if(i.hasOwnProperty(a)){var r=s(i,a,n,A,o+"."+a,p);if(r instanceof Error)return r}return null})},oneOf:function(l){return Array.isArray(l)?n(function(e,t,n,A,o){for(var a,i,r=e[t],s=0;s<l.length;s++)if(a=r,i=l[s],a===i?0!==a||1/a==1/i:a!=a&&i!=i)return null;return new c("Invalid "+A+" `"+o+"` of value `"+r+"` supplied to `"+n+"`, expected one of "+JSON.stringify(l)+".")}):(m("Invalid argument supplied to oneOf, expected an instance of array."),A)},oneOfType:function(i){if(!Array.isArray(i))return m("Invalid argument supplied to oneOfType, expected an instance of array."),A;for(var e=0;e<i.length;e++){var t=i[e];if("function"!=typeof t)return m("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+function(e){var t=r(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}(t)+" at index "+e+"."),A}return n(function(e,t,n,A,o){for(var a=0;a<i.length;a++)if(null==(0,i[a])(e,t,n,A,o,p))return null;return new c("Invalid "+A+" `"+o+"` supplied to `"+n+"`.")})},shape:function(s){return n(function(e,t,n,A,o){var a,i=e[t];if("object"!==(e=g(i)))return new c("Invalid "+A+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected `object`.");for(a in s){var r=s[a];if(r){r=r(i,a,n,A,o+"."+a,p);if(r)return r}}return null})},exact:function(l){return n(function(e,t,n,A,o){var a,i=e[t],r=g(i);if("object"!==r)return new c("Invalid "+A+" `"+o+"` of type `"+r+"` supplied to `"+n+"`, expected `object`.");for(a in h({},e[t],l)){var s=l[a];if(!s)return new c("Invalid "+A+" `"+o+"` key `"+a+"` supplied to `"+n+"`.\nBad object: "+JSON.stringify(e[t],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(l),null," "));s=s(i,a,n,A,o+"."+a,p);if(s)return s}return null})}};return c.prototype=Error.prototype,t.checkPropTypes=o,t.PropTypes=t}},function(e,t,n){"use strict";
32
32
  /*
33
33
  object-assign
34
34
  (c) Sindre Sorhus