forked from gn-math/assets
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
324 lines (301 loc) · 194 KB
/
index.html
File metadata and controls
324 lines (301 loc) · 194 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<!DOCTYPE html>
<!-- Created with https://packager.turbowarp.org/ -->
<html>
<head>
<base href="https://cdn.jsdelivr.net/gh/gn-math/assets@main/434/">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- We only include this to explicitly loosen the CSP of various packager environments. It does not provide any security. -->
<meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: blob:">
<title>God's Flesh</title>
<style>
body {
color: #ffffff;
font-family: sans-serif;
overflow: hidden;
margin: 0;
padding: 0;
}
:root, body.is-fullscreen {
background-color: #000000;
}
[hidden] {
display: none !important;
}
h1 {
font-weight: normal;
}
a {
color: inherit;
text-decoration: underline;
cursor: pointer;
}
#app, #loading, #error, #launch {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.screen {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
cursor: default;
user-select: none;
-webkit-user-select: none;
background-color: #000000;
}
#launch {
background-color: rgba(0, 0, 0, 0.7);
cursor: pointer;
}
.green-flag {
width: 80px;
height: 80px;
padding: 16px;
border-radius: 100%;
background: rgba(255, 255, 255, 0.75);
border: 3px solid hsla(0, 100%, 100%, 1);
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
}
#loading {
}
.progress-bar-outer {
border: 1px solid currentColor;
height: 10px;
width: 200px;
max-width: 200px;
}
.progress-bar-inner {
height: 100%;
width: 0;
background-color: currentColor;
}
.loading-text, noscript {
font-weight: normal;
font-size: 36px;
margin: 0 0 16px;
}
.loading-image {
margin: 0 0 16px;
}
#error-message, #error-stack {
font-family: monospace;
max-width: 600px;
white-space: pre-wrap;
user-select: text;
-webkit-user-select: text;
}
#error-stack {
text-align: left;
max-height: 200px;
overflow: auto;
}
.control-button {
width: 2rem;
height: 2rem;
padding: 0.375rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
user-select: none;
-webkit-user-select: none;
cursor: pointer;
border: 0;
border-radius: 4px;
}
.control-button-highlight:hover {
background: #ff4c4c26;
}
.control-button-highlight.active {
background: #ff4c4c59;
}
.fullscreen-button {
background: white;
}
.standalone-fullscreen-button {
position: absolute;
top: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 0 0 0 4px;
padding: 4px;
cursor: pointer;
}
.sc-canvas {
cursor: auto;
}
.sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color {
background-color: #ff8c1a;
}
.sc-monitor-row-value-outer {
background-color: #fc662c;
}
.sc-monitor-row-value-editing .sc-monitor-row-value-outer {
background-color: #e25b27;
}
</style>
<meta name="theme-color" content="#000000">
</head>
<body>
<div id="app"></div>
<div id="launch" class="screen" hidden title="Click to start">
<div class="green-flag">
<svg viewBox="0 0 16.63 17.5" width="42" height="44">
<defs><style>.cls-1,.cls-2{fill:#4cbf56;stroke:#45993d;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:1.5px;}</style></defs>
<path class="cls-1" d="M.75,2A6.44,6.44,0,0,1,8.44,2h0a6.44,6.44,0,0,0,7.69,0V12.4a6.44,6.44,0,0,1-7.69,0h0a6.44,6.44,0,0,0-7.69,0"/>
<line class="cls-2" x1="0.75" y1="16.75" x2="0.75" y2="0.75"/>
</svg>
</div>
</div>
<div id="loading" class="screen">
<noscript>Enable JavaScript</noscript>
<div class="loading-image"><img src="data:image/png;base64,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"></div>
<div class="progress-bar-outer"><div class="progress-bar-inner" id="loading-inner"></div></div>
</div>
<div id="error" class="screen" hidden>
<h1>Error</h1>
<details>
<summary id="error-message"></summary>
<p id="error-stack"></p>
</details>
</div>
<script src="script.js"></script>
<script>
const appElement = document.getElementById('app');
const launchScreen = document.getElementById('launch');
const loadingScreen = document.getElementById('loading');
const loadingInner = document.getElementById('loading-inner');
const errorScreen = document.getElementById('error');
const errorScreenMessage = document.getElementById('error-message');
const errorScreenStack = document.getElementById('error-stack');
const handleError = (error) => {
console.error(error);
if (!errorScreen.hidden) return;
errorScreen.hidden = false;
errorScreenMessage.textContent = '' + error;
let debug = error && error.stack || 'no stack';
debug += '\nUser agent: ' + navigator.userAgent;
errorScreenStack.textContent = debug;
};
const setProgress = (progress) => {
if (loadingInner) loadingInner.style.width = progress * 100 + '%';
};
const interpolate = (a, b, t) => a + t * (b - a);
try {
setProgress(0.1);
const scaffolding = new Scaffolding.Scaffolding();
scaffolding.width = 480;
scaffolding.height = 360;
scaffolding.resizeMode = "preserve-ratio";
scaffolding.editableLists = false;
scaffolding.usePackagedRuntime = true;
scaffolding.setup();
scaffolding.appendTo(appElement);
const vm = scaffolding.vm;
window.scaffolding = scaffolding;
window.vm = scaffolding.vm;
window.Scratch = {
vm,
renderer: vm.renderer,
audioEngine: vm.runtime.audioEngine,
bitmapAdapter: vm.runtime.v2BitmapAdapter,
videoProvider: vm.runtime.ioDevices.video.provider
};
scaffolding.setUsername("player####".replace(/#/g, () => Math.floor(Math.random() * 10)));
scaffolding.setAccentColor("#ff4c4c");
try {
scaffolding.addCloudProvider(new Scaffolding.Cloud.WebSocketProvider(["wss://clouddata.turbowarp.org","wss://clouddata.turbowarp.xyz"], "p4-@project.sb3"));
} catch (error) {
console.error(error);
}
vm.setTurboMode(false);
if (vm.setInterpolation) vm.setInterpolation(false);
if (vm.setFramerate) vm.setFramerate(30);
if (vm.renderer.setUseHighQualityRender) vm.renderer.setUseHighQualityRender(false);
if (vm.setRuntimeOptions) vm.setRuntimeOptions({
fencing: true,
miscLimits: true,
maxClones: 300,
});
if (vm.setCompilerOptions) vm.setCompilerOptions({
enabled: true,
warpTimer: false
});
if (vm.renderer.setMaxTextureDimension) vm.renderer.setMaxTextureDimension(2048);
// enforcePrivacy threat model only makes sense in the editor
if (vm.runtime.setEnforcePrivacy) vm.runtime.setEnforcePrivacy(false);
if (typeof ScaffoldingAddons !== 'undefined') {
ScaffoldingAddons.run(scaffolding, {"gamepad":false,"pointerlock":false,"specialCloudBehaviors":false,"unsafeCloudBehaviors":false,"pause":false});
}
scaffolding.setExtensionSecurityManager({
getSandboxMode: () => 'unsandboxed',
canLoadExtensionFromProject: () => true
});
for (const extension of ["data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Canvas%20Effects%0A%2F%2F%20ID%3A%20theshovelcanvaseffects%0A%2F%2F%20Description%3A%20Apply%20visual%20effects%20to%20the%20entire%20stage.%0A%2F%2F%20By%3A%20TheShovel%0A%2F%2F%20By%3A%20SharkPool%20%3Chttps%3A%2F%2Fscratch.mit.edu%2Fusers%2FDemonX5%2F%3E%0A%2F%2F%20License%3A%20MIT%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22_Canvas%20Effects%22%3A%22B%C3%BChneneffekte%22%7D%2C%22fi%22%3A%7B%22_Canvas%20Effects%22%3A%22Canvas-tehosteet%22%2C%22_background%22%3A%22tausta%22%2C%22_blur%22%3A%22sumennus%22%2C%22_border%20color%22%3A%22reunuksen%20v%C3%A4ri%22%2C%22_border%20radius%22%3A%22reunuksen%20s%C3%A4de%22%2C%22_border%20style%22%3A%22reunuksen%20tyyli%22%2C%22_border%20width%22%3A%22reunuksen%20leveys%22%2C%22_brightness%22%3A%22kirkkaus%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22lis%C3%A4%C3%A4%20canvas-tehostetta%20%5BEFFECT%5D%20arvolla%20%5BNUMBER%5D%22%2C%22_clear%20canvas%20effects%22%3A%22poista%20canvas-tehosteet%22%2C%22_color%20shift%22%3A%22v%C3%A4rinvaihto%22%2C%22_contrast%22%3A%22kontrasti%22%2C%22_dashed%22%3A%22viivoja%22%2C%22_default%22%3A%22oletus%22%2C%22_dotted%22%3A%22pisteit%C3%A4%22%2C%22_double%22%3A%22kaksoisviivaa%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22canvas-tehoste%20%5BEFFECT%5D%22%2C%22_groove%22%3A%22ulkoista%20sis%C3%A4kk%C3%A4ist%C3%A4%20viivaa%22%2C%22_inset%22%3A%22yl%C3%A4-vasenta%20viivaa%22%2C%22_invert%22%3A%22k%C3%A4%C3%A4nteiset%20v%C3%A4rit%22%2C%22_none%22%3A%22ilman%20kuviota%22%2C%22_offset%20X%22%3A%22x-siirto%22%2C%22_offset%20Y%22%3A%22y-siirto%22%2C%22_outset%22%3A%22ala-oikeaa%20viivaa%22%2C%22_pixelated%22%3A%22piksel%C3%B6inti%22%2C%22_resize%20rendering%20mode%22%3A%22render%C3%B6intitila%22%2C%22_ridge%22%3A%22sis%C3%A4ist%C3%A4%20sis%C3%A4kk%C3%A4ist%C3%A4%20viivaa%22%2C%22_rotation%22%3A%22kierto%22%2C%22_saturation%22%3A%22v%C3%A4rikyll%C3%A4isyys%22%2C%22_scale%22%3A%22skaalaus%22%2C%22_scale%20X%22%3A%22x-skaalaus%22%2C%22_scale%20Y%22%3A%22y-skaalaus%22%2C%22_sepia%22%3A%22seepia%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22aseta%20canvas-tehoste%20%5BEFFECT%5D%20arvoon%20%5BNUMBER%5D%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22aseta%20canvas-elementin%20reunukseksi%20%5BWIDTH%5D%20pikseli%C3%A4%20%5BSTYLE%5D%20v%C3%A4rill%C3%A4%20%5BCOLOR1%5D%20ja%20taustalla%20%5BCOLOR2%5D%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22aseta%20canvas-elementin%20kooksi%20leveys%3A%20%5BX%5D%20korkeus%3A%20%5BY%5D%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22aseta%20canvas-elementin%20render%C3%B6intitilaksi%20%5BEFFECT%5D%22%2C%22_skew%20X%22%3A%22x-vinous%22%2C%22_skew%20Y%22%3A%22y-vinous%22%2C%22_solid%22%3A%22tasaista%20viivaa%22%2C%22_transparency%22%3A%22l%C3%A4pin%C3%A4kyvyys%22%7D%2C%22it%22%3A%7B%22_Canvas%20Effects%22%3A%22Effetti%20Stage%22%2C%22_clear%20canvas%20effects%22%3A%22rimuovi%20tutti%20gli%20effetti%20dello%20Stage%22%2C%22_scale%22%3A%22scala%22%7D%2C%22ja%22%3A%7B%22_Canvas%20Effects%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E5%8A%B9%E6%9E%9C%22%2C%22_background%22%3A%22%E8%83%8C%E6%99%AF%22%2C%22_blur%22%3A%22%E3%81%BC%E3%81%8B%E3%81%97%22%2C%22_border%20color%22%3A%22%E7%B8%81%E3%81%AE%E8%89%B2%22%2C%22_border%20radius%22%3A%22%E7%B8%81%E3%81%AE%E5%8D%8A%E5%BE%84%22%2C%22_border%20style%22%3A%22%E7%B8%81%E3%81%AE%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%22%2C%22_border%20width%22%3A%22%E7%B8%81%E3%81%AE%E5%B9%85%22%2C%22_brightness%22%3A%22%E6%98%8E%E3%82%8B%E3%81%95%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%5BEFFECT%5D%E3%82%92%5BNUMBER%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_clear%20canvas%20effects%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E5%8A%B9%E6%9E%9C%E3%82%92%E6%B6%88%E3%81%99%22%2C%22_color%20shift%22%3A%22%E8%89%B2%22%2C%22_contrast%22%3A%22%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%22%2C%22_dashed%22%3A%22%E7%A0%B4%E7%B7%9A%22%2C%22_default%22%3A%22%E9%BB%99%E8%AA%8D%22%2C%22_dotted%22%3A%22%E3%83%89%E3%83%83%E3%83%88%22%2C%22_double%22%3A%22%E4%BA%8C%E9%87%8D%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%5BEFFECT%5D%22%2C%22_groove%22%3A%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%96%22%2C%22_inset%22%3A%22%E5%9F%8B%E3%82%81%E8%BE%BC%E3%81%BF%22%2C%22_invert%22%3A%22%E8%89%B2%E3%81%AE%E5%8F%8D%E8%BB%A2%22%2C%22_none%22%3A%22%E7%84%A1%E3%81%97%22%2C%22_offset%20X%22%3A%22X%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%22%2C%22_offset%20Y%22%3A%22Y%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%22%2C%22_outset%22%3A%22%E5%87%BA%E3%81%A3%E5%BC%B5%E3%82%8A%22%2C%22_pixelated%22%3A%22%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB%E5%8C%96%22%2C%22_resize%20rendering%20mode%22%3A%22%E6%8F%8F%E7%94%BB%E3%83%A2%E3%83%BC%E3%83%89%22%2C%22_ridge%22%3A%22%E3%83%AA%E3%83%83%E3%82%B8%22%2C%22_rotation%22%3A%22%E5%9B%9E%E8%BB%A2%22%2C%22_saturation%22%3A%22%E5%BD%A9%E5%BA%A6%22%2C%22_scale%22%3A%22%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%22%2C%22_scale%20X%22%3A%22X%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%22%2C%22_scale%20Y%22%3A%22Y%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%22%2C%22_sepia%22%3A%22%E3%82%BB%E3%83%94%E3%82%A2%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%5BEFFECT%5D%E3%82%92%5BNUMBER%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%E7%B8%81%E3%82%92%5BWIDTH%5D%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB%E3%81%9A%E3%81%A4%5BSTYLE%5D%E3%81%A7%5BCOLOR1%5D%E8%89%B2%E3%80%81%E8%83%8C%E6%99%AF%E3%82%92%5BCOLOR2%5D%E8%89%B2%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%E6%8F%8F%E7%94%BB%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E5%B9%85%E3%82%92%5BX%5D%E3%80%81%E9%AB%98%E3%81%95%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%E3%81%AE%E6%8F%8F%E7%94%BB%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%5BEFFECT%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_skew%20X%22%3A%22X%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%22%2C%22_skew%20Y%22%3A%22Y%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%22%2C%22_solid%22%3A%22%E5%9B%BA%E3%81%BE%E3%82%8A%22%2C%22_transparency%22%3A%22%E9%80%8F%E6%98%8E%E5%BA%A6%22%7D%2C%22ko%22%3A%7B%22_Canvas%20Effects%22%3A%22Canvas%20%ED%9A%A8%EA%B3%BC%22%2C%22_background%22%3A%22%EB%B0%B0%EA%B2%BD%EC%83%89%22%2C%22_blur%22%3A%22%ED%9D%90%EB%A6%BC%22%2C%22_border%20color%22%3A%22%EC%99%B8%EA%B3%BD%EC%84%A0%20%EC%83%89%EC%83%81%22%2C%22_border%20radius%22%3A%22%EB%AA%A8%EC%84%9C%EB%A6%AC%20%EB%91%A5%EA%B8%80%EA%B8%B0%22%2C%22_border%20style%22%3A%22%EC%99%B8%EA%B3%BD%EC%84%A0%20%EC%8A%A4%ED%83%80%EC%9D%BC%22%2C%22_border%20width%22%3A%22%EC%99%B8%EA%B3%BD%EC%84%A0%20%EB%91%90%EA%BB%98%22%2C%22_brightness%22%3A%22%EB%B0%9D%EA%B8%B0%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%5BEFFECT%5D%ED%9A%A8%EA%B3%BC%EB%A5%BC%20%5BNUMBER%5D%EB%A7%8C%ED%81%BC%20%EB%B0%94%EA%BE%B8%EA%B8%B0%22%2C%22_clear%20canvas%20effects%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%ED%9A%A8%EA%B3%BC%20%EC%B4%88%EA%B8%B0%ED%99%94%ED%95%98%EA%B8%B0%22%2C%22_color%20shift%22%3A%22%EC%83%89%EA%B9%94%22%2C%22_contrast%22%3A%22%EB%8C%80%EB%B9%84%22%2C%22_dashed%22%3A%22%ED%8C%8C%EC%84%A0%22%2C%22_default%22%3A%22%EA%B8%B0%EB%B3%B8%22%2C%22_dotted%22%3A%22%EC%A0%90%EC%84%A0%22%2C%22_double%22%3A%22%EB%B3%B5%EC%84%A0%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%5BEFFECT%5D%ED%9A%A8%EA%B3%BC%20%EA%B0%92%20%22%2C%22_groove%22%3A%22%EC%98%A4%EB%AA%A9%20%ED%8B%80%22%2C%22_inset%22%3A%22%EC%98%A4%EB%AA%A9%20%EC%9A%94%EC%86%8C%22%2C%22_invert%22%3A%22%EB%B0%98%EC%A0%84%22%2C%22_none%22%3A%22%EC%97%86%EC%9D%8C%22%2C%22_offset%20X%22%3A%22%EC%9C%84%EC%B9%98%20x%22%2C%22_offset%20Y%22%3A%22%EC%9C%84%EC%B9%98%20y%22%2C%22_outset%22%3A%22%EB%B3%BC%EB%A1%9D%20%EC%9A%94%EC%86%8C%22%2C%22_pixelated%22%3A%22%ED%94%BD%EC%85%80%ED%99%94%22%2C%22_resize%20rendering%20mode%22%3A%22%EB%A0%8C%EB%8D%94%EB%A7%81%20%EB%AA%A8%EB%93%9C%22%2C%22_ridge%22%3A%22%EB%B3%BC%EB%A1%9D%20%ED%8B%80%22%2C%22_rotation%22%3A%22%ED%9A%8C%EC%A0%84%22%2C%22_saturation%22%3A%22%EC%B1%84%EB%8F%84%22%2C%22_scale%22%3A%22%ED%81%AC%EA%B8%B0%22%2C%22_scale%20X%22%3A%22%EB%84%93%EC%9D%B4%22%2C%22_scale%20Y%22%3A%22%EB%86%92%EC%9D%B4%22%2C%22_sepia%22%3A%22%EC%84%B8%ED%94%BC%EC%95%84%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%5BEFFECT%5D%ED%9A%A8%EA%B3%BC%EB%A5%BC%20%5BNUMBER%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%EC%99%B8%EA%B3%BD%EC%84%A0%EC%9D%84%20%5BWIDTH%5D%ED%94%BD%EC%85%80%EB%A7%88%EB%8B%A4%20%5BSTYLE%5D%EC%8A%A4%ED%83%80%EC%9D%BC%EB%A1%9C%20%5BCOLOR1%5D%20%5BCOLOR2%5D%20%EC%83%89%EC%9C%BC%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%EB%A0%8C%EB%8D%94%EB%A7%81%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EB%84%93%EC%9D%B4%3A%5BX%5D%20%EB%86%92%EC%9D%B4%3A%5BY%5D%20(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22%EC%BA%94%EB%B2%84%EC%8A%A4%20%EB%A0%8C%EB%8D%94%EB%A7%81%20%EB%AA%A8%EB%93%9C%EB%A5%BC%20%5BEFFECT%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_skew%20X%22%3A%22%EA%B8%B0%EC%9A%B8%EA%B8%B0%20x%22%2C%22_skew%20Y%22%3A%22%EA%B8%B0%EC%9A%B8%EA%B8%B0%20y%22%2C%22_solid%22%3A%22%EC%8B%A4%EC%84%A0%22%2C%22_transparency%22%3A%22%ED%88%AC%EB%AA%85%22%7D%2C%22nb%22%3A%7B%22_Canvas%20Effects%22%3A%22Canvas%20effekter%22%2C%22_brightness%22%3A%22lysstyrke%22%2C%22_scale%22%3A%22skala%22%7D%2C%22nl%22%3A%7B%22_Canvas%20Effects%22%3A%22Canvas-effecten%22%2C%22_background%22%3A%22randachtergrond%22%2C%22_blur%22%3A%22vervaging%22%2C%22_border%20color%22%3A%22randkleur%22%2C%22_border%20radius%22%3A%22randstraal%22%2C%22_border%20style%22%3A%22randstijl%22%2C%22_border%20width%22%3A%22randbreedte%22%2C%22_brightness%22%3A%22helderheid%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22verander%20canvas-effect%20%5BEFFECT%5D%20met%20%5BNUMBER%5D%22%2C%22_color%20shift%22%3A%22kleurverschuiving%22%2C%22_dashed%22%3A%22onderbroken%22%2C%22_default%22%3A%22standaard%22%2C%22_dotted%22%3A%22gestippeld%22%2C%22_double%22%3A%22dubbel%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22canvas-effect%20%5BEFFECT%5D%22%2C%22_groove%22%3A%22groef%22%2C%22_inset%22%3A%22ingesprongen%22%2C%22_invert%22%3A%22omgekeerd%22%2C%22_none%22%3A%22geen%22%2C%22_offset%20X%22%3A%22x-verschuiving%22%2C%22_offset%20Y%22%3A%22y-verschuiving%22%2C%22_outset%22%3A%22uitstekend%22%2C%22_pixelated%22%3A%22gepixeleerd%22%2C%22_resize%20rendering%20mode%22%3A%22formaatverandering-rendermodus%22%2C%22_ridge%22%3A%22richel%22%2C%22_rotation%22%3A%22rotatie%22%2C%22_saturation%22%3A%22verzadiging%22%2C%22_scale%22%3A%22schaal%22%2C%22_scale%20X%22%3A%22x-schaal%22%2C%22_scale%20Y%22%3A%22y-schaal%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22zet%20canvas-effect%20%5BEFFECT%5D%20op%20%5BNUMBER%5D%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22zet%20canvas-rand%20op%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20met%20kleur%20%5BCOLOR1%5D%20en%20achtergrond%20%5BCOLOR2%5D%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22zet%20canvas-rendergrootte%20op%3A%20breedte%3A%20%5BX%5D%20hoogte%3A%20%5BY%5D%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22zet%20formaatverandering-rendermodus%20van%20canvas%20op%20%5BEFFECT%5D%22%2C%22_skew%20X%22%3A%22x-scheefheid%22%2C%22_skew%20Y%22%3A%22y-scheefheid%22%2C%22_solid%22%3A%22ononderbroken%22%2C%22_transparency%22%3A%22doorzichtigheid%22%7D%2C%22pl%22%3A%7B%22_brightness%22%3A%22jasno%C5%9B%C4%87%22%2C%22_saturation%22%3A%22nasycenie%22%2C%22_scale%22%3A%22skala%22%2C%22_transparency%22%3A%22przezroczysto%C5%9B%C4%87%22%7D%2C%22ru%22%3A%7B%22_Canvas%20Effects%22%3A%22Canvas%20%D0%AD%D1%84%D1%84%D0%B5%D0%BA%D1%82%D1%8B%22%2C%22_background%22%3A%22%D0%B7%D0%B0%D0%B4%D0%BD%D0%B8%D0%B9%20%D1%84%D0%BE%D0%BD%22%2C%22_blur%22%3A%22%D0%B1%D0%BB%D1%8E%D1%80%22%2C%22_border%20color%22%3A%22%D1%86%D0%B2%D0%B5%D1%82%20%D0%B1%D0%B0%D1%80%D1%8C%D0%B5%D1%80%D0%B0%22%2C%22_border%20radius%22%3A%22%D1%80%D0%B0%D0%B4%D0%B8%D1%83%D1%81%20%D0%B1%D0%B0%D1%80%D1%8C%D0%B5%D1%80%D0%B0%22%2C%22_border%20style%22%3A%22%D1%81%D1%82%D0%B8%D0%BB%D1%8C%20%D0%B1%D0%B0%D1%80%D1%8C%D0%B5%D1%80%D0%B0%22%2C%22_border%20width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%20%D0%B1%D0%B0%D1%80%D1%8C%D0%B5%D1%80%D0%B0%22%2C%22_brightness%22%3A%22%D1%8F%D1%80%D0%BA%D0%BE%D1%81%D1%82%D1%8C%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%5BEFFECT%5D%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%20%D0%B2%20%5BNUMBER%5D%22%2C%22_clear%20canvas%20effects%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D1%8B%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%D0%B0%22%2C%22_color%20shift%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%86%D0%B2%D0%B5%D1%82%D0%B0%22%2C%22_contrast%22%3A%22%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D1%81%D1%82%22%2C%22_dashed%22%3A%22%D0%B4%D1%8D%D1%88%D0%BD%D1%83%D1%82%D1%8B%D0%B9%22%2C%22_default%22%3A%22%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%22%2C%22_dotted%22%3A%22%D0%BF%D1%83%D0%BD%D0%BA%D1%82%D0%B8%D1%80%D0%BD%D1%8B%D0%B9%22%2C%22_double%22%3A%22%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%BE%D0%B9%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C%20%5BEFFECT%5D%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%22%2C%22_groove%22%3A%22%D0%B3%D1%80%D0%B0%D1%84%D1%84%D0%B8%D1%82%D0%B8%22%2C%22_inset%22%3A%22%D0%B2%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%22%2C%22_invert%22%3A%22%D0%B8%D0%BD%D0%B2%D0%B5%D1%80%D1%82%22%2C%22_none%22%3A%22%D0%BD%D0%B8%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%22%2C%22_offset%20X%22%3A%22%D1%81%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20X%22%2C%22_offset%20Y%22%3A%22%D1%81%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20Y%22%2C%22_outset%22%3A%22%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%22%2C%22_pixelated%22%3A%22%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%22%2C%22_resize%20rendering%20mode%22%3A%22%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%20%D1%80%D0%B5%D0%BD%D0%B4%D0%B5%D1%80%D0%B8%D0%BD%D0%B3%D0%B0%20%D1%81%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0%22%2C%22_ridge%22%3A%22%D1%80%D0%B5%D0%B1%D1%80%D0%BE%22%2C%22_rotation%22%3A%22%D0%BF%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82%22%2C%22_saturation%22%3A%22%D0%BD%D0%B0%D1%81%D1%8B%D1%89%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%22%2C%22_scale%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%22%2C%22_scale%20X%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20X%22%2C%22_scale%20Y%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20Y%22%2C%22_sepia%22%3A%22%D1%81%D0%B5%D0%BF%D0%B8%D1%8F%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%5BEFFECT%5D%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%20%D0%B2%20%5BNUMBER%5D%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%B1%D0%B0%D1%80%D1%8C%D0%B5%D1%80%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%D0%B0%20%D0%BD%D0%B0%20%5BWIDTH%5D%20%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D0%B5%D0%B9%20%5BSTYLE%5D%20%D1%81%20%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BC%20%5BCOLOR1%5D%20%D0%B8%20%D0%B7%D0%B0%D0%B4%D0%BD%D0%B8%D0%BC%20%D1%84%D0%BE%D0%BD%D0%BE%D0%BC%20%5BCOLOR2%5D%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%80%D0%B5%D0%BD%D0%B4%D0%B5%D1%80%D0%B0%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%D0%B0%20%D0%BD%D0%B0%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5BX%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5BY%5D%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%20%D1%80%D0%B5%D0%BD%D0%B4%D0%B5%D1%80%D0%B8%D0%BD%D0%B3%D0%B0%20%D1%81%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0%20%D1%85%D0%BE%D0%BB%D1%81%D1%82%D0%B0%20%5BEFFECT%5D%22%2C%22_skew%20X%22%3A%22%D1%81%D0%BA%D0%BE%D1%81%20X%22%2C%22_skew%20Y%22%3A%22%D1%81%D0%BA%D0%BE%D1%81%20Y%22%2C%22_solid%22%3A%22%D1%82%D0%B2%D1%91%D1%80%D0%B4%D1%8B%D0%B9%22%2C%22_transparency%22%3A%22%D0%BF%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C%22%7D%2C%22tr%22%3A%7B%22_Canvas%20Effects%22%3A%22Tuval%20Efektleri%22%7D%2C%22uk%22%3A%7B%22_Canvas%20Effects%22%3A%22%D0%92%D1%96%D0%B7%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%96%20%D0%95%D1%84%D0%B5%D0%BA%D1%82%D0%B8%22%2C%22_brightness%22%3A%22%D1%8F%D1%81%D0%BA%D1%80%D0%B0%D0%B2%D1%96%D1%81%D1%82%D1%8C%22%7D%2C%22zh-cn%22%3A%7B%22_Canvas%20Effects%22%3A%22%E7%94%BB%E5%B8%83%E6%95%88%E6%9E%9C%22%2C%22_background%22%3A%22%E8%83%8C%E6%99%AF%22%2C%22_blur%22%3A%22%E6%A8%A1%E7%B3%8A%22%2C%22_border%20color%22%3A%22%E8%BE%B9%E7%BC%98%E9%A2%9C%E8%89%B2%22%2C%22_border%20radius%22%3A%22%E8%BE%B9%E7%BC%98%E5%8D%8A%E5%BE%84%22%2C%22_border%20style%22%3A%22%E8%BE%B9%E7%BC%98%E6%A0%B7%E5%BC%8F%22%2C%22_border%20width%22%3A%22%E8%BE%B9%E7%BC%98%E5%AE%BD%22%2C%22_brightness%22%3A%22%E4%BA%AE%E5%BA%A6%22%2C%22_change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22%3A%22%E5%B0%86%E7%94%BB%E5%B8%83%5BEFFECT%5D%E5%A2%9E%E5%8A%A0%5BNUMBER%5D%22%2C%22_clear%20canvas%20effects%22%3A%22%E6%B8%85%E9%99%A4%E7%94%BB%E5%B8%83%E6%95%88%E6%9E%9C%22%2C%22_color%20shift%22%3A%22%E9%A2%9C%E8%89%B2%E5%81%8F%E7%A7%BB%22%2C%22_contrast%22%3A%22%E5%AF%B9%E6%AF%94%E5%BA%A6%22%2C%22_dashed%22%3A%22%E8%99%9A%E7%BA%BF%22%2C%22_default%22%3A%22%E9%BB%98%E8%AE%A4%E7%B1%BB%E5%9E%8B%22%2C%22_dotted%22%3A%22%E7%82%B9%E7%8A%B6%22%2C%22_double%22%3A%22%E5%8F%8C%E7%BA%BF%22%2C%22_get%20canvas%20%5BEFFECT%5D%22%3A%22%E8%8E%B7%E5%8F%96%E7%94%BB%E5%B8%83%5BEFFECT%5D%22%2C%22_groove%22%3A%22%E5%87%B9%E6%A7%BD%22%2C%22_inset%22%3A%22%E5%B5%8C%E5%85%A5%22%2C%22_invert%22%3A%22%E5%8F%8D%E8%89%B2%22%2C%22_none%22%3A%22%E6%97%A0%22%2C%22_offset%20X%22%3A%22X%20%E5%81%8F%E7%A7%BB%22%2C%22_offset%20Y%22%3A%22Y%20%E5%81%8F%E7%A7%BB%22%2C%22_outset%22%3A%22%E5%A4%96%E5%87%B8%22%2C%22_pixelated%22%3A%22%E5%83%8F%E7%B4%A0%E5%8C%96%22%2C%22_resize%20rendering%20mode%22%3A%22%E9%87%8D%E8%AE%BE%E5%B0%BA%E5%AF%B8%E6%97%B6%E7%9A%84%E6%B8%B2%E6%9F%93%E6%A8%A1%E5%BC%8F%22%2C%22_ridge%22%3A%22%E5%9E%84%E7%8A%B6%22%2C%22_rotation%22%3A%22%E6%97%8B%E8%BD%AC%22%2C%22_saturation%22%3A%22%E9%A5%B1%E5%92%8C%E5%BA%A6%22%2C%22_scale%22%3A%22%E8%A7%84%E6%A8%A1%22%2C%22_scale%20X%22%3A%22X%20%E7%BC%A9%E6%94%BE%22%2C%22_scale%20Y%22%3A%22Y%20%E7%BC%A9%E6%94%BE%22%2C%22_sepia%22%3A%22%E6%B7%B1%E8%A4%90%E8%89%B2%22%2C%22_set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22%3A%22%E5%B0%86%E7%94%BB%E5%B8%83%5BEFFECT%5D%E8%AE%BE%E4%B8%BA%5BNUMBER%5D%22%2C%22_set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%3A%22%E5%B0%86%E7%94%BB%E5%B8%83%E8%BE%B9%E6%A1%86%E8%AE%BE%E4%B8%BA%5BWIDTH%5D%E5%83%8F%E7%B4%A0%5BSTYLE%5D%E6%A0%B7%E5%BC%8F%EF%BC%8C%E9%A2%9C%E8%89%B2%E4%B8%BA%5BCOLOR1%5D%E8%83%8C%E6%99%AF%E9%A2%9C%E8%89%B2%E4%B8%BA%5BCOLOR2%5D%22%2C%22_set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%3A%22%E5%B0%86%E7%94%BB%E5%B8%83%E6%B8%B2%E6%9F%93%E5%B0%BA%E5%AF%B8%E8%AE%BE%E4%B8%BA%E5%AE%BD%EF%BC%9A%5BX%5D%E9%AB%98%EF%BC%9A%5BY%5D%22%2C%22_set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%3A%22%E5%B0%86%E7%94%BB%E5%B8%83%E9%87%8D%E8%AE%BE%E5%B0%BA%E5%AF%B8%E6%B8%B2%E6%9F%93%E6%A8%A1%E5%BC%8F%E8%AE%BE%E4%B8%BA%5BEFFECT%5D%22%2C%22_skew%20X%22%3A%22X%20%E5%80%BE%E6%96%9C%22%2C%22_skew%20Y%22%3A%22Y%20%E5%80%BE%E6%96%9C%22%2C%22_solid%22%3A%22%E5%AE%9E%E7%BA%BF%22%2C%22_transparency%22%3A%22%E9%80%8F%E6%98%8E%E5%BA%A6%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22This%20extension%20must%20run%20unsandboxed%22)%3B%0A%20%20%7D%0A%0A%20%20const%20canvas%20%3D%20Scratch.renderer.canvas%3B%0A%0A%20%20const%20updateStyle%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%2F%2F%20Gotta%20keep%20the%20translation%20to%20%25%20because%20of%20the%20stage%20size%2C%20window%20size%20and%20so%20on%0A%20%20%20%20const%20transform%20%3D%20%60rotate(%24%7Brotation%7Ddeg)%20scale(%24%7BscaleX%7D%25%2C%20%24%7BscaleY%7D%25)%20skew(%24%7BskewX%7Ddeg%2C%20%24%7BskewY%7Ddeg)%20translate(%24%7BoffsetX%7D%25%2C%20%24%7B%0A%20%20%20%20%20%200%20-%20offsetY%0A%20%20%20%20%7D%25)%60%3B%0A%20%20%20%20if%20(canvas.style.transform%20!%3D%3D%20transform)%20%7B%0A%20%20%20%20%20%20canvas.style.transform%20%3D%20transform%3B%0A%20%20%20%20%7D%0A%20%20%20%20const%20filter%20%3D%20%60blur(%24%7Bblur%7Dpx)%20contrast(%24%7B%0A%20%20%20%20%20%20contrast%20%2F%20100%0A%20%20%20%20%7D)%20saturate(%24%7Bsaturation%7D%25)%20hue-rotate(%24%7Bcolor%7Ddeg)%20brightness(%24%7Bbrightness%7D%25)%20invert(%24%7Binvert%7D%25)%20sepia(%24%7Bsepia%7D%25)%20opacity(%24%7B%0A%20%20%20%20%20%20100%20-%20transparency%0A%20%20%20%20%7D%25)%60%3B%0A%20%20%20%20if%20(canvas.style.filter%20!%3D%3D%20filter)%20%7B%0A%20%20%20%20%20%20canvas.style.filter%20%3D%20filter%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20const%20cssBorderRadius%20%3D%20borderRadius%20%3D%3D%3D%200%20%3F%20%22%22%20%3A%20%60%24%7BborderRadius%7D%25%60%3B%0A%20%20%20%20if%20(canvas.style.borderRadius%20!%3D%3D%20cssBorderRadius)%20%7B%0A%20%20%20%20%20%20canvas.style.borderRadius%20%3D%20cssBorderRadius%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20const%20imageRendering%20%3D%20resizeMode%20%3D%3D%3D%20%22pixelated%22%20%3F%20%22pixelated%22%20%3A%20%22%22%3B%0A%20%20%20%20if%20(canvas.style.imageRendering%20!%3D%3D%20imageRendering)%20%7B%0A%20%20%20%20%20%20canvas.style.imageRendering%20%3D%20imageRendering%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20const%20border%20%3D%20%60%24%7BborderWidth%7Dpx%20%24%7BborderStyle%7D%20%24%7BborderColor%7D%60%3B%0A%20%20%20%20if%20(canvas.style.border%20!%3D%3D%20border)%20%7B%0A%20%20%20%20%20%20canvas.style.border%20%3D%20border%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20(canvas.style.backgroundColor%20!%3D%3D%20backgroundColor)%20%7B%0A%20%20%20%20%20%20canvas.style.backgroundColor%20%3D%20backgroundColor%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20%2F%2F%20scratch-gui%20may%20reset%20canvas%20styles%20when%20resizing%20the%20window%20or%20going%20in%2Fout%20of%20fullscreen%0A%20%20new%20MutationObserver(updateStyle).observe(canvas%2C%20%7B%0A%20%20%20%20attributeFilter%3A%20%5B%22style%22%5D%2C%0A%20%20%20%20attributes%3A%20true%2C%0A%20%20%7D)%3B%0A%0A%20%20let%20borderRadius%20%3D%200%3B%0A%20%20let%20rotation%20%3D%200%3B%0A%20%20let%20offsetY%20%3D%200%3B%0A%20%20let%20offsetX%20%3D%200%3B%0A%20%20let%20skewY%20%3D%200%3B%0A%20%20let%20skewX%20%3D%200%3B%0A%20%20let%20scaleX%20%3D%20100%3B%0A%20%20let%20scaleY%20%3D%20100%3B%0A%20%20%2F%2F%20Thanks%20SharkPool%20for%20telling%20me%20about%20these%0A%20%20let%20transparency%20%3D%200%3B%0A%20%20let%20sepia%20%3D%200%3B%0A%20%20let%20blur%20%3D%200%3B%0A%20%20let%20contrast%20%3D%20100%3B%0A%20%20let%20saturation%20%3D%20100%3B%0A%20%20let%20color%20%3D%200%3B%0A%20%20let%20brightness%20%3D%20100%3B%0A%20%20let%20invert%20%3D%200%3B%0A%20%20let%20resizeMode%20%3D%20%22default%22%3B%0A%20%20let%20borderStyle%20%3D%20%22solid%22%3B%0A%20%20let%20borderWidth%20%3D%200%3B%0A%20%20let%20borderColor%20%3D%20%22%23000000%22%3B%0A%20%20let%20backgroundColor%20%3D%20%22transparent%22%3B%0A%0A%20%20const%20resetStyles%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20borderRadius%20%3D%200%3B%0A%20%20%20%20rotation%20%3D%200%3B%0A%20%20%20%20offsetY%20%3D%200%3B%0A%20%20%20%20offsetX%20%3D%200%3B%0A%20%20%20%20skewY%20%3D%200%3B%0A%20%20%20%20skewX%20%3D%200%3B%0A%20%20%20%20scaleX%20%3D%20100%3B%0A%20%20%20%20scaleY%20%3D%20100%3B%0A%20%20%20%20transparency%20%3D%200%3B%0A%20%20%20%20sepia%20%3D%200%3B%0A%20%20%20%20blur%20%3D%200%3B%0A%20%20%20%20contrast%20%3D%20100%3B%0A%20%20%20%20saturation%20%3D%20100%3B%0A%20%20%20%20color%20%3D%200%3B%0A%20%20%20%20brightness%20%3D%20100%3B%0A%20%20%20%20invert%20%3D%200%3B%0A%20%20%20%20resizeMode%20%3D%20%22default%22%3B%0A%20%20%20%20borderStyle%20%3D%20%22solid%22%3B%0A%20%20%20%20borderWidth%20%3D%200%3B%0A%20%20%20%20borderColor%20%3D%20%22%23000000%22%3B%0A%20%20%20%20backgroundColor%20%3D%20%22transparent%22%3B%0A%20%20%20%20updateStyle()%3B%0A%20%20%7D%3B%0A%0A%20%20Scratch.vm.runtime.on(%22RUNTIME_DISPOSED%22%2C%20resetStyles)%3B%0A%0A%20%20class%20CanvasEffects%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22theshovelcanvaseffects%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Canvas%20Effects%22)%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22seteffect%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20canvas%20%5BEFFECT%5D%20to%20%5BNUMBER%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22EFFECTMENU%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBER%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeEffect%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20canvas%20%5BEFFECT%5D%20by%20%5BNUMBER%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22EFFECTMENU%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBER%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22geteffect%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22get%20canvas%20%5BEFFECT%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22EFFECTGETMENU%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22cleareffects%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clear%20canvas%20effects%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setBorder%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20canvas%20border%20to%20%5BWIDTH%5D%20pixels%20%5BSTYLE%5D%20with%20color%20%5BCOLOR1%5D%20and%20background%20%5BCOLOR2%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20STYLE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22borderTypes%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WIDTH%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR1%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23ff0000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR2%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%230000ff%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22renderscale%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20canvas%20render%20size%20to%20width%3A%20%5BX%5D%20height%3A%20%5BY%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setrendermode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20canvas%20resize%20rendering%20mode%20%5BEFFECT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22RENDERMODE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20EFFECTMENU%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20this._getMenuItems(false)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20RENDERMODE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22pixelated%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22pixelated%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22default%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20EFFECTGETMENU%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20this._getMenuItems(true)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20borderTypes%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22dotted%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22dotted%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22dashed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22dashed%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22solid%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22solid%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22double%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22double%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22groove%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22groove%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22ridge%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22ridge%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22inset%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22inset%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22outset%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22outset%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22none%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22none%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20_getMenuItems(isGetter)%20%7B%0A%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22blur%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22blur%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22contrast%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22contrast%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22saturation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22saturation%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22color%20shift%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22color%20shift%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22brightness%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22brightness%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22invert%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22invert%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20...(isGetter%0A%20%20%20%20%20%20%20%20%20%20%3F%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22resize%20rendering%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22resize%20rendering%20mode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%3A%20%5B%5D)%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22sepia%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22sepia%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22transparency%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22transparency%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20...(isGetter%0A%20%20%20%20%20%20%20%20%20%20%3F%20%5B%5D%0A%20%20%20%20%20%20%20%20%20%20%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22scale%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20description%3A%20%22Scale%20as%20in%20upscale%2Fdownscale%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22scale%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D)%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22scale%20X%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22scale%20X%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22scale%20Y%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22scale%20Y%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22skew%20X%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22skew%20X%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22skew%20Y%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22skew%20Y%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22offset%20X%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22offset%20X%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22offset%20Y%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22offset%20Y%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22rotation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22rotation%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22border%20radius%22)%2C%0A%20%20%20%20%20%20%20%20%20%20value%3A%20%22border%20radius%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20...(isGetter%0A%20%20%20%20%20%20%20%20%20%20%3F%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22border%20width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22border%20width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22border%20style%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22border%20style%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22border%20color%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22border%20color%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22background%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22background%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%3A%20%5B%5D)%2C%0A%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20geteffect(%7B%20EFFECT%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(EFFECT%20%3D%3D%3D%20%22blur%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20blur%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22contrast%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20contrast%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22saturation%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20saturation%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22color%20shift%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20color%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22brightness%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20brightness%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22invert%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20invert%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22resize%20rendering%20mode%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20resizeMode%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22sepia%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20sepia%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22transparency%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20transparency%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%22)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20old%20extension%20compatibility%0A%20%20%20%20%20%20%20%20return%20scaleX%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20scaleX%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20scaleY%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22skew%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20skewX%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22skew%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20skewY%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22offset%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20offsetX%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22offset%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20offsetY%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22rotation%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20rotation%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22border%20radius%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20borderRadius%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22border%20width%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20borderWidth%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22border%20style%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20borderStyle%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22border%20color%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20borderColor%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22background%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20backgroundColor%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20seteffect(%7B%20EFFECT%2C%20NUMBER%20%7D)%20%7B%0A%20%20%20%20%20%20NUMBER%20%3D%20Scratch.Cast.toNumber(NUMBER)%3B%0A%20%20%20%20%20%20if%20(EFFECT%20%3D%3D%3D%20%22blur%22)%20%7B%0A%20%20%20%20%20%20%20%20blur%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22contrast%22)%20%7B%0A%20%20%20%20%20%20%20%20contrast%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22saturation%22)%20%7B%0A%20%20%20%20%20%20%20%20saturation%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22color%20shift%22)%20%7B%0A%20%20%20%20%20%20%20%20color%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22brightness%22)%20%7B%0A%20%20%20%20%20%20%20%20brightness%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22invert%22)%20%7B%0A%20%20%20%20%20%20%20%20invert%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22sepia%22)%20%7B%0A%20%20%20%20%20%20%20%20sepia%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22transparency%22)%20%7B%0A%20%20%20%20%20%20%20%20transparency%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%22)%20%7B%0A%20%20%20%20%20%20%20%20scaleX%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%20%20scaleY%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20scaleX%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22scale%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20scaleY%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22skew%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20skewX%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22skew%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20skewY%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22offset%20X%22)%20%7B%0A%20%20%20%20%20%20%20%20offsetX%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22offset%20Y%22)%20%7B%0A%20%20%20%20%20%20%20%20offsetY%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22rotation%22)%20%7B%0A%20%20%20%20%20%20%20%20rotation%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(EFFECT%20%3D%3D%3D%20%22border%20radius%22)%20%7B%0A%20%20%20%20%20%20%20%20borderRadius%20%3D%20NUMBER%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20updateStyle()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeEffect(args)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Scale%20needs%20some%20special%20treatment%20to%20change%20x%20%26%20y%20separately%0A%20%20%20%20%20%20if%20(args.EFFECT%20%3D%3D%3D%20%22scale%22)%20%7B%0A%20%20%20%20%20%20%20%20scaleX%20%3D%20scaleX%20%2B%20Scratch.Cast.toNumber(args.NUMBER)%3B%0A%20%20%20%20%20%20%20%20scaleY%20%3D%20scaleY%20%2B%20Scratch.Cast.toNumber(args.NUMBER)%3B%0A%20%20%20%20%20%20%20%20updateStyle()%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Everything%20else%20is%20really%20generic%0A%20%20%20%20%20%20const%20currentEffect%20%3D%20Scratch.Cast.toNumber(this.geteffect(args))%3B%0A%20%20%20%20%20%20const%20newValue%20%3D%20Scratch.Cast.toNumber(args.NUMBER)%20%2B%20currentEffect%3B%0A%20%20%20%20%20%20this.seteffect(%7B%0A%20%20%20%20%20%20%20%20EFFECT%3A%20args.EFFECT%2C%0A%20%20%20%20%20%20%20%20NUMBER%3A%20newValue%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%20%20%20%20cleareffects()%20%7B%0A%20%20%20%20%20%20resetStyles()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setrendermode(%7B%20EFFECT%20%7D)%20%7B%0A%20%20%20%20%20%20resizeMode%20%3D%20EFFECT%3B%0A%20%20%20%20%20%20updateStyle()%3B%0A%20%20%20%20%7D%0A%20%20%20%20renderscale(%7B%20X%2C%20Y%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.vm.renderer.resize(X%2C%20Y)%3B%0A%20%20%20%20%7D%0A%20%20%20%20setBorder(args)%20%7B%0A%20%20%20%20%20%20borderWidth%20%3D%20Scratch.Cast.toNumber(args.WIDTH)%3B%0A%20%20%20%20%20%20borderStyle%20%3D%20Scratch.Cast.toString(args.STYLE).replace(%2F%5B%5Ea-z%5D%2Fgi%2C%20%22%22)%3B%0A%20%20%20%20%20%20borderColor%20%3D%20Scratch.Cast.toString(args.COLOR1).replace(%0A%20%20%20%20%20%20%20%20%2F%5B%5E%230-9a-z%5D%2Fgi%2C%0A%20%20%20%20%20%20%20%20%22%22%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20backgroundColor%20%3D%20Scratch.Cast.toString(args.COLOR2).replace(%0A%20%20%20%20%20%20%20%20%2F%5B%5E%230-9a-z%5D%2Fgi%2C%0A%20%20%20%20%20%20%20%20%22%22%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20updateStyle()%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20Scratch.extensions.register(new%20CanvasEffects())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Runtime%20Options%0A%2F%2F%20ID%3A%20runtimeoptions%0A%2F%2F%20Description%3A%20Get%20and%20modify%20turbo%20mode%2C%20framerate%2C%20interpolation%2C%20clone%20limit%2C%20stage%20size%2C%20and%20more.%0A%2F%2F%20License%3A%20MIT%20AND%20MPL-2.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22ca%22%3A%7B%22_Runtime%20Options%22%3A%22Opcions%20d'execuci%C3%B3%22%7D%2C%22cs%22%3A%7B%22_Runtime%20Options%22%3A%22Nastaven%C3%AD%20b%C4%9Bhu%22%7D%2C%22de%22%3A%7B%22_Runtime%20Options%22%3A%22Laufzeit-Optionen%22%7D%2C%22es%22%3A%7B%22_Runtime%20Options%22%3A%22Opciones%20de%20Runtime%22%7D%2C%22fi%22%3A%7B%22_Infinity%22%3A%22%C3%A4%C3%A4ret%C3%B6n%22%2C%22_Runtime%20Options%22%3A%22Ajonaikaiset%20asetukset%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22onko%20%5Bthing%5D%20k%C3%A4yt%C3%B6ss%C3%A4%3F%22%2C%22_clone%20limit%22%3A%22klooniraja%22%2C%22_default%20(%7Bn%7D)%22%3A%22oletus%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22pois%20p%C3%A4%C3%A4lt%C3%A4%22%2C%22_enabled%22%3A%22p%C3%A4%C3%A4ll%C3%A4%22%2C%22_framerate%22%3A%22kuvataajuus%22%2C%22_framerate%20limit%22%3A%22kuvataajuus%22%2C%22_height%22%3A%22korkeus%22%2C%22_high%20quality%20pen%22%3A%22korkealaatuinen%20kyn%C3%A4%22%2C%22_interpolation%22%3A%22interpolaatio%22%2C%22_remove%20fencing%22%3A%22aitauksen%20poistaminen%22%2C%22_remove%20misc%20limits%22%3A%22erilaisten%20rajoitusten%20poistaminen%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22klikkaa%20vihre%C3%A4%C3%A4%20lippua%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22kytke%20%5Bthing%5D%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22aseta%20kloonirajaksi%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22aseta%20kuvataajuudeksi%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22aseta%20esiintymislavan%20leveydeksi%20%5Bwidth%5D%20ja%20korkeudeksi%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22aseta%20k%C3%A4ytt%C3%A4j%C3%A4nimeksi%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22esiintymislavan%20%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22esiintymislavan%20koko%22%2C%22_turbo%20mode%22%3A%22turbotila%22%2C%22_username%22%3A%22k%C3%A4ytt%C3%A4j%C3%A4nimi%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22kun%20%5BWHAT%5D%20muuttuu%22%2C%22_width%22%3A%22leveys%22%7D%2C%22fr%22%3A%7B%22_Runtime%20Options%22%3A%22Options%20d'ex%C3%A9cution%22%7D%2C%22hu%22%3A%7B%22_Runtime%20Options%22%3A%22Lefut%C3%A1si%20Opci%C3%B3k%22%7D%2C%22it%22%3A%7B%22_Infinity%22%3A%22infinito%22%2C%22_Runtime%20Options%22%3A%22Opzioni%20Esecuzione%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20abilitato%22%2C%22_clone%20limit%22%3A%22limite%20cloni%22%2C%22_default%20(%7Bn%7D)%22%3A%22predefinito(%7Bn%7D)%22%2C%22_disabled%22%3A%22sblocca%22%2C%22_enabled%22%3A%22blocca%22%2C%22_framerate%22%3A%22frequenza%22%2C%22_framerate%20limit%22%3A%22limite%20framerate%22%2C%22_height%22%3A%22altezza%22%2C%22_high%20quality%20pen%22%3A%22penna%20alta%20qualit%C3%A0%22%2C%22_interpolation%22%3A%22interpolazione%22%2C%22_remove%20fencing%22%3A%22rimuovi%20i%20limiti%20dallo%20Stage%22%2C%22_remove%20misc%20limits%22%3A%22rimuovi%20limiti%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22esegui%20tutti%20i%20cappelli%20bandiera%20verde%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22imposta%20%5Bthing%5D%20a%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22imposta%20limite%20cloni%20a%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22imposta%20limite%20framerate%20a%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22imposta%20dimensioni%20Stage%20larghezza%3A%20%5Bwidth%5Daltezza%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22imposta%20username%20a%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20dello%20Stage%22%2C%22_stage%20size%22%3A%22dimensioni%20Stage%22%2C%22_turbo%20mode%22%3A%22modalit%C3%A0%20turbo%22%2C%22_width%22%3A%22larghezza%22%7D%2C%22ja%22%3A%7B%22_Infinity%22%3A%22%E7%84%A1%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%E3%81%8C%E6%9C%89%E5%8A%B9%22%2C%22_clone%20limit%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%84%A1%E5%8A%B9%22%2C%22_enabled%22%3A%22%E6%9C%89%E5%8A%B9%22%2C%22_framerate%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%22%2C%22_framerate%20limit%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E3%81%95%22%2C%22_high%20quality%20pen%22%3A%22%E3%83%9A%E3%83%B3%E3%81%A7%E3%81%8D%E3%82%8C%E3%81%84%E3%81%AB%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%22%2C%22_interpolation%22%3A%22%E8%A3%9C%E5%AE%8C%E6%A9%9F%E8%83%BD%22%2C%22_remove%20fencing%22%3A%22%E5%8B%95%E3%81%8F%E7%AF%84%E5%9B%B2%E3%81%A8%E5%A4%A7%E3%81%8D%E3%81%95%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%E8%A7%A3%E9%99%A4%E3%81%99%E3%82%8B%22%2C%22_remove%20misc%20limits%22%3A%22%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%E8%A7%A3%E9%99%A4%E3%81%99%E3%82%8B%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E7%B7%91%E3%81%AE%E6%97%97%5Bflag%5D%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%5Bthing%5D%E3%82%92%5Benabled%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Blimit%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Bfps%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%E6%A8%AA%E5%B9%85%E3%82%92%5Bwidth%5D%E9%AB%98%E3%81%95%E3%82%92%5Bheight%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%E3%82%92%5Busername%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%22%2C%22_turbo%20mode%22%3A%22%E3%82%BF%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%83%89%22%2C%22_username%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%5BWHAT%5D%E3%81%8C%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%9F%E3%81%A8%E3%81%8D%22%2C%22_width%22%3A%22%E6%A8%AA%E5%B9%85%22%7D%2C%22ja-hira%22%3A%7B%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%7D%2C%22ko%22%3A%7B%22_Infinity%22%3A%22%EB%AC%B4%EC%A0%9C%ED%95%9C%22%2C%22_Runtime%20Options%22%3A%22%EC%8B%A4%ED%96%89%20%EC%84%A4%EC%A0%95%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%EC%9D%B4(%EA%B0%80)%20%ED%99%9C%EC%84%B1%ED%99%94%EC%9D%B8%EA%B0%80%3F%22%2C%22_clone%20limit%22%3A%22%EB%B3%B5%EC%A0%9C%EB%B3%B8%20%EA%B0%9C%EC%88%98%20%EC%A0%9C%ED%95%9C%22%2C%22_default%20(%7Bn%7D)%22%3A%22%EA%B8%B0%EB%B3%B8%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%22%2C%22_enabled%22%3A%22%ED%99%9C%EC%84%B1%ED%99%94%22%2C%22_framerate%22%3A%22%ED%94%84%EB%A0%88%EC%9E%84%EB%A5%A0%22%2C%22_framerate%20limit%22%3A%22%ED%94%84%EB%A0%88%EC%9E%84%EB%A5%A0%20%EC%A0%9C%ED%95%9C%22%2C%22_height%22%3A%22%EB%86%92%EC%9D%B4%22%2C%22_high%20quality%20pen%22%3A%22%EA%B3%A0%ED%92%88%EC%A7%88%20%ED%8E%9C%22%2C%22_interpolation%22%3A%22%EB%B3%B4%EA%B0%84%EB%B2%95%22%2C%22_remove%20fencing%22%3A%22%EB%AC%B4%EB%8C%80%20%EB%B0%96%20%EB%8F%99%EC%9E%91%22%2C%22_remove%20misc%20limits%22%3A%22%EA%B8%B0%ED%83%80%20%EC%A0%9C%ED%95%9C%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%5Bflag%5D%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%5Bthing%5D%EC%9D%84(%EB%A5%BC)%20%5Benabled%5D%ED%95%98%EA%B8%B0%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%EB%B3%B5%EC%A0%9C%EB%B3%B8%20%EA%B0%9C%EC%88%98%20%EC%A0%9C%ED%95%9C%EC%9D%84%20%5Blimit%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%ED%94%84%EB%A0%88%EC%9E%84%EB%A5%A0%20%EC%A0%9C%ED%95%9C%EC%9D%84%20%5Bfps%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%EB%AC%B4%EB%8C%80%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EB%84%93%EC%9D%B4%3A%5Bwidth%5D%20%EB%86%92%EC%9D%B4%3A%5Bheight%5D%20(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%5Busername%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%EB%AC%B4%EB%8C%80%20%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22%EB%AC%B4%EB%8C%80%20%ED%81%AC%EA%B8%B0%22%2C%22_turbo%20mode%22%3A%22%ED%84%B0%EB%B3%B4%20%EB%AA%A8%EB%93%9C%22%2C%22_username%22%3A%22%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%9D%B4%EB%A6%84%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%5BWHAT%5D%EC%9D%B4(%EA%B0%80)%20%EB%B3%80%EA%B2%BD%EB%90%98%EC%97%88%EC%9D%84%20%EB%95%8C%22%2C%22_width%22%3A%22%EB%84%93%EC%9D%B4%22%7D%2C%22lt%22%3A%7B%22_Runtime%20Options%22%3A%22Paleidimo%20laiko%20parinktys%22%7D%2C%22nb%22%3A%7B%22_Infinity%22%3A%22Uendelighet%22%2C%22_Runtime%20Options%22%3A%22Kj%C3%B8retidsalternativer%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20aktivert%3F%22%2C%22_clone%20limit%22%3A%22klon%20grense%22%2C%22_default%20(%7Bn%7D)%22%3A%22standard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22deaktivert%22%2C%22_enabled%22%3A%22aktivert%22%2C%22_framerate%22%3A%22Bildetakt%22%2C%22_framerate%20limit%22%3A%22grense%20for%20bildefrekvens%22%2C%22_height%22%3A%22h%C3%B8yde%22%2C%22_high%20quality%20pen%22%3A%22H%C3%B8y%20kvalitet%20penn%22%2C%22_interpolation%22%3A%22interpolasjon%22%2C%22_remove%20fencing%22%3A%22Fjern%20gjerde%22%2C%22_remove%20misc%20limits%22%3A%22fjern%20diverse%20begrensninger%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22kj%C3%B8r%20gr%C3%B8nt%20flagg%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22sett%20%5Bthing%5D%20til%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22sett%20klon-grensen%20til%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22begrens%20bildefrekvensen%20til%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22sett%20scenest%C3%B8rrelse%20bredde%3A%20%5Bwidth%5D%20h%C3%B8yde%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22sett%20brukernavn%20til%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22scene%20%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22scenest%C3%B8rrelse%22%2C%22_turbo%20mode%22%3A%22turbo%20modus%22%2C%22_username%22%3A%22brukernavn%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22n%C3%A5r%20%5BWHAT%5D%20endret%20seg%22%2C%22_width%22%3A%22bredde%22%7D%2C%22nl%22%3A%7B%22_Infinity%22%3A%22oneindig%22%2C%22_Runtime%20Options%22%3A%22Looptijdopties%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20ingeschakeld%3F%22%2C%22_clone%20limit%22%3A%22kloonlimiet%22%2C%22_default%20(%7Bn%7D)%22%3A%22standaard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22uit%22%2C%22_enabled%22%3A%22in%22%2C%22_framerate%20limit%22%3A%22framerate-limiet%22%2C%22_height%22%3A%22hoogte%22%2C%22_high%20quality%20pen%22%3A%22pen%20met%20hoge%20kwaliteit%22%2C%22_interpolation%22%3A%22interpolatie%22%2C%22_remove%20fencing%22%3A%22waarde-limieten%20weghalen%22%2C%22_remove%20misc%20limits%22%3A%22diverse%20limieten%20weghalen%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22voer%20groene%20vlag%20%5Bflag%5D%20uit%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22schakel%20%5Bthing%5D%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22maak%20kloonlimiet%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22maak%20framerate-limiet%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22maak%20speelveldbreedte%3A%20%5Bwidth%5D%20en%20-hoogte%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22maak%20gebruikersnaam%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20van%20speelveld%22%2C%22_stage%20size%22%3A%22speelveldgrootte%22%2C%22_turbo%20mode%22%3A%22turbomodus%22%2C%22_username%22%3A%22gebruikersnaam%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22wanneer%20%5BWHAT%5D%20verandert%22%2C%22_width%22%3A%22breedte%22%7D%2C%22pl%22%3A%7B%22_Runtime%20Options%22%3A%22Opcje%20Uruchamiania%22%2C%22_height%22%3A%22wysoko%C5%9B%C4%87%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22ustaw%20limit%20klon%C3%B3w%20na%20%5Blimit%5D%22%2C%22_turbo%20mode%22%3A%22tryb%20turbo%22%2C%22_username%22%3A%22nazwa%20u%C5%BCytkownika%22%2C%22_width%22%3A%22szeroko%C5%9B%C4%87%22%7D%2C%22pt%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22pt-br%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22ru%22%3A%7B%22_Infinity%22%3A%22%D0%91%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%22%2C%22_Runtime%20Options%22%3A%22%D0%9E%D0%BF%D1%86%D0%B8%D0%B8%20%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%3F%22%2C%22_clone%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%22%2C%22_default%20(%7Bn%7D)%22%3A%22%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_enabled%22%3A%22%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_framerate%22%3A%22%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_framerate%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%22%2C%22_high%20quality%20pen%22%3A%22%D0%BF%D0%B5%D1%80%D0%BE%20%D0%B2%20%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BC%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%22%2C%22_interpolation%22%3A%22%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%22%2C%22_remove%20fencing%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%BC%D0%BA%D1%83%22%2C%22_remove%20misc%20limits%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B7%D0%B5%D0%BB%D0%B5%D0%BD%D1%8B%D0%B9%20%D1%84%D0%BB%D0%B0%D0%B6%D0%BE%D0%BA%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%5Bthing%5D%20%D0%B2%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%B2%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%20%D0%B2%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5Bwidth%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5Bheight%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20%D0%BA%D0%B0%D0%BA%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_stage%20size%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_turbo%20mode%22%3A%22%D1%82%D1%83%D1%80%D0%B1%D0%BE%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%22%2C%22_username%22%3A%22%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%5BWHAT%5D%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%91%D0%BD%22%2C%22_width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%22%7D%2C%22sl%22%3A%7B%22_Runtime%20Options%22%3A%22Mo%C5%BEnosti%20izvajanja%22%7D%2C%22sv%22%3A%7B%22_Runtime%20Options%22%3A%22K%C3%B6rtidsalternativ%22%7D%2C%22tr%22%3A%7B%22_Runtime%20Options%22%3A%22%C3%87al%C4%B1%C5%9Fma%20Zaman%C4%B1%20Se%C3%A7enekleri%22%7D%2C%22uk%22%3A%7B%22_Infinity%22%3A%22%D0%B1%D0%B5%D0%B7%20%D0%BC%D0%B5%D0%B6%22%2C%22_Runtime%20Options%22%3A%22%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B8%20%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20%D1%83%D0%B2%D1%96%D0%BC%D0%BA%D0%BD%D0%B5%D0%BD%D0%BE%3F%22%2C%22_clone%20limit%22%3A%22%D0%BC%D0%B0%D0%BA%D1%81.%20%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D1%82%D1%8C%20%D0%BA%D0%BB%D0%BE%D0%BD%D1%96%D0%B2%22%2C%22_default%20(%7Bn%7D)%22%3A%22%D0%B7%D0%B0%20%D1%83%D0%BC%D0%BE%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F%D0%BC%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22%D0%B2%D0%B8%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%B8%22%2C%22_enabled%22%3A%22%D1%83%D0%B2%D1%96%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%B8%22%2C%22_framerate%22%3A%22%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0%20%D0%BA%D0%B0%D0%B4%D1%80%D1%96%D0%B2%22%2C%22_framerate%20limit%22%3A%22%D0%BC%D0%B0%D0%BA%D1%81.%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0%20%D0%BA%D0%B0%D0%B4%D1%80%D1%96%D0%B2%22%2C%22_height%22%3A%22%D0%B2%D0%B8%D1%81%D0%BE%D1%82%D0%B0%22%2C%22_high%20quality%20pen%22%3A%22%D0%BF%D0%B5%D1%80%D0%BE%20%D0%B2%D0%B8%D1%81%D0%BE%D0%BA%D0%BE%D1%97%20%D1%8F%D0%BA%D0%BE%D1%81%D1%82%D1%96%22%2C%22_interpolation%22%3A%22%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D1%96%D1%8F%22%2C%22_remove%20fencing%22%3A%22%D0%BF%D1%80%D0%B8%D0%B1%D1%80%D0%B0%D1%82%D0%B8%20%D1%80%D0%B0%D0%BC%D0%BA%D1%83%22%2C%22_remove%20misc%20limits%22%3A%22%D0%BF%D1%80%D0%B8%D0%B1%D1%80%D0%B0%D1%82%D0%B8%20%D1%80%D1%96%D0%B7%D0%BD%D1%96%20%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%D0%BD%D0%B0%D1%82%D0%B8%D1%81%D0%BD%D1%83%D1%82%D0%B8%20%D0%BD%D0%B0%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%5Benabled%5D%20%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F%20%5Bthing%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B8%20%D0%BC%D0%B0%D0%BA%D1%81.%20%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D1%82%D1%8C%20%D0%BA%D0%BB%D0%BE%D0%BD%D1%96%D0%B2%20%D0%B4%D0%BE%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B8%20%D0%BC%D0%B0%D0%BA%D1%81.%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%83%20%D0%BA%D0%B0%D0%B4%D1%80%D1%96%D0%B2%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B8%20%D1%80%D0%BE%D0%B7%D0%BC%D1%96%D1%80%20%D1%81%D1%86%D0%B5%D0%BD%D0%B8%3A%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%3A%20%5Bwidth%5D%20%D0%B2%D0%B8%D1%81%D0%BE%D1%82%D0%B0%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B8%20%D1%96%D0%BC'%D1%8F%20%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20%D1%81%D1%86%D0%B5%D0%BD%D0%B8%22%2C%22_stage%20size%22%3A%22%D1%80%D0%BE%D0%B7%D0%BC%D1%96%D1%80%20%D1%81%D1%86%D0%B5%D0%BD%D0%B8%22%2C%22_turbo%20mode%22%3A%22%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%20%D1%82%D1%83%D1%80%D0%B1%D0%BE%22%2C%22_username%22%3A%22%D1%96%D0%BC'%D1%8F%20%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%D0%BA%D0%BE%D0%BB%D0%B8%20%5BWHAT%5D%20%D0%B7%D0%BC%D1%96%D0%BD%D0%B5%D0%BD%D0%BE%22%2C%22_width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%22%7D%2C%22zh-cn%22%3A%7B%22_Infinity%22%3A%22%E6%97%A0%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E8%BF%90%E8%A1%8C%E9%80%89%E9%A1%B9%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%E5%90%AF%E7%94%A8%E4%BA%86%5Bthing%5D%EF%BC%9F%22%2C%22_clone%20limit%22%3A%22%E5%85%8B%E9%9A%86%E9%99%90%E5%88%B6%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E9%BB%98%E8%AE%A4%E5%80%BC(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%A6%81%E7%94%A8%22%2C%22_enabled%22%3A%22%E5%90%AF%E7%94%A8%22%2C%22_framerate%22%3A%22%E5%B8%A7%E7%8E%87%22%2C%22_framerate%20limit%22%3A%22FPS%E4%B8%8A%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E5%BA%A6%22%2C%22_high%20quality%20pen%22%3A%22%E9%AB%98%E6%B8%85%E7%94%BB%E7%AC%94%22%2C%22_interpolation%22%3A%22%E8%A1%A5%E5%B8%A7%22%2C%22_remove%20fencing%22%3A%22%E5%85%81%E8%AE%B8%E8%A7%92%E8%89%B2%E7%A7%BB%E5%87%BA%E8%88%9E%E5%8F%B0%22%2C%22_remove%20misc%20limits%22%3A%22%E5%8F%96%E6%B6%88%E9%9F%B3%E6%95%88%E8%8C%83%E5%9B%B4%E4%B8%8E%E7%94%BB%E7%AC%94%E5%A4%A7%E5%B0%8F%E9%99%90%E5%88%B6%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E8%BF%90%E8%A1%8C%E7%BB%BF%E6%97%97%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%E5%B0%86%5Bthing%5D%E8%AE%BE%E4%B8%BA%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E5%B0%86%E5%85%8B%E9%9A%86%E4%BD%93%E9%99%90%E5%88%B6%E8%AE%BE%E4%B8%BA%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E5%B0%86FPS%E4%B8%8A%E9%99%90%E8%AE%BE%E4%B8%BA%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E5%B0%86%E8%88%9E%E5%8F%B0%E5%A4%A7%E5%B0%8F%E8%AE%BE%E4%B8%BA%E5%AE%BD%5Bwidth%5D%20%E9%AB%98%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E5%B0%86%E7%94%A8%E6%88%B7%E5%90%8D%E8%AE%BE%E4%B8%BA%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E8%88%9E%E5%8F%B0%E7%9A%84%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22%E8%88%9E%E5%8F%B0%E5%B0%BA%E5%AF%B8%22%2C%22_turbo%20mode%22%3A%22%E5%8A%A0%E9%80%9F%E6%A8%A1%E5%BC%8F%22%2C%22_username%22%3A%22%E7%94%A8%E6%88%B7%E5%90%8D%E7%A7%B0%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%E5%BD%93%5BWHAT%5D%E8%A2%AB%E4%BF%AE%E6%94%B9%E6%97%B6%22%2C%22_width%22%3A%22%E5%AE%BD%E5%BA%A6%22%7D%2C%22zh-tw%22%3A%7B%22_Runtime%20Options%22%3A%22%E9%81%8B%E8%A1%8C%E9%81%B8%E9%A0%85%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22Runtime%20Options%20extension%20needs%20to%20be%20run%20unsandboxed%22)%3B%0A%20%20%7D%0A%0A%20%20const%20greenFlagURI%20%3D%0A%20%20%20%20%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAABFFBMVEUAAACAgABVqlVJkklAn0BNmTNLljxGlzpDmzdFmjpGmzxHmz9Fmj1FmT5Emj1GmT1GmD1EmDxGmTxEmT1GmjxGmT1FmDxEmT5EmTxGmT5FmD1GmT5FmT1Gmj1EmT5FmT1FmT1FmDxGmT1FmjxLs09LtE9Jr0xJsk1Js05JtVBKtU5KtVBKtlBJrkpJsE1KtlFIrEpIsExLt1FLuFJKuVNIqkhLulNIp0VJqkhKtlJLvVRMvFNFmT5GpUVFmT1HpEVHokNMvlVFmT1Ho0NFmTxLvlVGoUFMvlVLvlVGn0BFmT1Nv1ZEmz5FmTxFmTxFmT1NvlZFmz9FmT5FnT9FnD5GnT9Mv1ZMv1ZMv1ZFmT1Mv1b%2F%2F%2F%2F70P2GAAAAWXRSTlMAAgMHCAoRFhcwMz0%2FRkdQVGFmaWpxcnh7gIGEhZKZo6eprLq%2Fv8DAwMDAwMDBwcHCwsPDxcbIysrLzM3Pz9DQ1NTV1dfZ29vg4uXm5%2Bjp6ens7fDx9Pv8%2FnPb5aAAAAABYktHRFt0vJU0AAAAsUlEQVQoz2NgwA3YhNiwS4hHykoou9goCrKiSUhGhqhZe7gbm3rxQwQ4BJihEupRYODooMDFyMAu6uMsgyoRFW5kHxjkqeuhL4cmAQM4JXRwSWjjktDEJaGFS0IVIeFtZuIaAZdQgUmY2%2FoqyTu5WcEkNGAS%2FkJMQJrbySAAJBxmGSoIlYAoYGCR8rPVM7QItuNlQJVgYGDlE5MU5kSErhz2%2BKCihEikNHYJJh5mBhIAADBcR%2Fr5OJzCAAAAAElFTkSuQmCC%22%3B%0A%20%20const%20TURBO_MODE%20%3D%20%22turbo%20mode%22%3B%0A%20%20const%20INTERPOLATION%20%3D%20%22interpolation%22%3B%0A%20%20const%20REMOVE_FENCING%20%3D%20%22remove%20fencing%22%3B%0A%20%20const%20REMOVE_MISC_LIMITS%20%3D%20%22remove%20misc%20limits%22%3B%0A%20%20const%20HIGH_QUALITY_PEN%20%3D%20%22high%20quality%20pen%22%3B%0A%20%20const%20FRAMERATE%20%3D%20%22framerate%22%3B%0A%20%20const%20CLONE_LIMIT%20%3D%20%22clone%20limit%22%3B%0A%20%20const%20STAGE_SIZE%20%3D%20%22stage%20size%22%3B%0A%20%20const%20USERNAME%20%3D%20%22username%22%3B%0A%0A%20%20%2F**%20%40param%20%7Bstring%7D%20what%20*%2F%0A%20%20const%20emitChanged%20%3D%20(what)%20%3D%3E%0A%20%20%20%20Scratch.vm.runtime.startHats(%22runtimeoptions_whenChange%22%2C%20%7B%0A%20%20%20%20%20%20WHAT%3A%20what%2C%0A%20%20%20%20%7D)%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40template%20T%0A%20%20%20*%20%40param%20%7BT%7D%20obj%0A%20%20%20*%20%40returns%20%7BT%7D%0A%20%20%20*%2F%0A%20%20const%20shallowCopy%20%3D%20(obj)%20%3D%3E%20Object.assign(%7B%7D%2C%20obj)%3B%0A%0A%20%20let%20previousRuntimeOptions%20%3D%20shallowCopy(Scratch.vm.runtime.runtimeOptions)%3B%0A%0A%20%20Scratch.vm.on(%22TURBO_MODE_OFF%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22TURBO_MODE_ON%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22INTERPOLATION_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(INTERPOLATION))%3B%0A%20%20Scratch.vm.on(%22RUNTIME_OPTIONS_CHANGED%22%2C%20(newOptions)%20%3D%3E%20%7B%0A%20%20%20%20if%20(newOptions.fencing%20!%3D%3D%20previousRuntimeOptions.fencing)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_FENCING)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.miscLimits%20!%3D%3D%20previousRuntimeOptions.miscLimits)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_MISC_LIMITS)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.maxClones%20!%3D%3D%20previousRuntimeOptions.maxClones)%20%7B%0A%20%20%20%20%20%20emitChanged(CLONE_LIMIT)%3B%0A%20%20%20%20%7D%0A%20%20%20%20previousRuntimeOptions%20%3D%20shallowCopy(newOptions)%3B%0A%20%20%7D)%3B%0A%20%20Scratch.vm.renderer.on(%22UseHighQualityRenderChanged%22%2C%20()%20%3D%3E%0A%20%20%20%20emitChanged(HIGH_QUALITY_PEN)%0A%20%20)%3B%0A%20%20Scratch.vm.on(%22FRAMERATE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(FRAMERATE))%3B%0A%20%20Scratch.vm.on(%22STAGE_SIZE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(STAGE_SIZE))%3B%0A%0A%20%20const%20originalPostData%20%3D%20Scratch.vm.runtime.ioDevices.userData.postData%3B%0A%20%20Scratch.vm.runtime.ioDevices.userData.postData%20%3D%20function%20(data)%20%7B%0A%20%20%20%20const%20newUsername%20%3D%20data.username%20!%3D%3D%20this._username%3B%0A%20%20%20%20originalPostData.call(this%2C%20data)%3B%0A%20%20%20%20if%20(newUsername)%20%7B%0A%20%20%20%20%20%20emitChanged(USERNAME)%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20class%20RuntimeOptions%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22runtimeoptions%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Runtime%20Options%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%238c9abf%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%237d8aab%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%236f7b99%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22%5Bthing%5D%20enabled%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20%5Bthing%5D%20to%20%5Benabled%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22enabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20framerate%20limit%20to%20%5Bfps%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20fps%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2230%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20clone%20limit%20to%20%5Blimit%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20limit%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22clones%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getDimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22stage%20%5Bdimension%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20description%3A%20%22%5Bdimension%5D%20is%20a%20dropdown%20of%20width%20and%20height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22dimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setDimensions%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setUsername%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20username%20to%20%5Busername%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20username%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22greenFlag%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22run%20green%20flag%20%5Bflag%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20flag%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.IMAGE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dataURI%3A%20greenFlagURI%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22whenChange%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.EVENT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22when%20%5BWHAT%5D%20changed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20isEdgeActivated%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHAT%3A%20%7B%20type%3A%20Scratch.ArgumentType.STRING%2C%20menu%3A%20%22changeable%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20changeable%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20FRAMERATE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20CLONE_LIMIT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22stage%20size%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20STAGE_SIZE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22username%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20USERNAME%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22enabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22disabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22false%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20clones%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22default%20(%7Bn%7D)%22%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20n%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22Infinity%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22Infinity%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getEnabled(%7B%20thing%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.turboMode%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.interpolationEnabled%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.fencing%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.miscLimits%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.renderer.useHighQualityRender%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setEnabled(%7B%20thing%2C%20enabled%20%7D)%20%7B%0A%20%20%20%20%20%20enabled%20%3D%20Scratch.Cast.toBoolean(enabled)%3B%0A%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setTurboMode(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setInterpolation(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20fencing%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20miscLimits%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.renderer.setUseHighQualityRender(enabled)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20getFramerate()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.frameLoop.framerate%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setFramerate(%7B%20fps%20%7D)%20%7B%0A%20%20%20%20%20%20fps%20%3D%20Scratch.Cast.toNumber(fps)%3B%0A%20%20%20%20%20%20Scratch.vm.setFramerate(fps)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getCloneLimit()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.runtimeOptions.maxClones%3B%0A%20%20%20%20%7D%0A%20%20%20%20setCloneLimit(%7B%20limit%20%7D)%20%7B%0A%20%20%20%20%20%20limit%20%3D%20Scratch.Cast.toNumber(limit)%3B%0A%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20maxClones%3A%20limit%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getDimension(%7B%20dimension%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(dimension%20%3D%3D%3D%20%22width%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageWidth%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(dimension%20%3D%3D%3D%20%22height%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%200%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setDimensions(%7B%20width%2C%20height%20%7D)%20%7B%0A%20%20%20%20%20%20width%20%3D%20Scratch.Cast.toNumber(width)%3B%0A%20%20%20%20%20%20height%20%3D%20Scratch.Cast.toNumber(height)%3B%0A%20%20%20%20%20%20Scratch.vm.setStageSize(width%2C%20height)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setUsername(%7B%20username%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.vm.postIOData(%22userData%22%2C%20%7B%0A%20%20%20%20%20%20%20%20username%3A%20Scratch.Cast.toString(username)%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20greenFlag()%20%7B%0A%20%20%20%20%20%20Scratch.vm.runtime.greenFlag()%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20RuntimeOptions())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Stretch%0A%2F%2F%20ID%3A%20stretch%0A%2F%2F%20Description%3A%20Stretch%20sprites%20horizontally%20or%20vertically.%0A%2F%2F%20License%3A%20MIT%20AND%20MPL-2.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22_Stretch%22%3A%22Strecken%22%7D%2C%22fi%22%3A%7B%22_Stretch%22%3A%22Venyt%C3%A4%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22muuta%20venytyst%C3%A4%20arvoilla%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22lis%C3%A4%C3%A4%20x-venytyst%C3%A4%20arvolla%20%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22lis%C3%A4%C3%A4%20y-venytyst%C3%A4%20arvolla%20%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22aseta%20venytys%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22aseta%20x-venytys%20arvoon%20%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22aseta%20y-venytys%20arvoon%20%5BY%5D%22%2C%22_x%20stretch%22%3A%22x-venytys%22%2C%22_y%20stretch%22%3A%22y-venytys%22%7D%2C%22it%22%3A%7B%22_Stretch%22%3A%22Stira%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22cambia%20deformazione%20di%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22cambia%20deformazione%20x%20di%20%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22cambia%20deformazione%20y%20di%20%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22imposta%20deformazione%20a%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22porta%20deformazione%20x%20a%20%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22porta%20deformazione%20y%20a%20%5BY%5D%22%2C%22_x%20stretch%22%3A%22deformazione%20x%22%2C%22_y%20stretch%22%3A%22deformazione%20y%22%7D%2C%22ja%22%3A%7B%22_Stretch%22%3A%22%E4%BC%B8%E7%B8%AE%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22x%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BDX%5D%E3%80%81y%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BDY%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22x%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BDX%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22y%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BDY%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22x%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BX%5D%E3%80%81y%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22x%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BX%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22y%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_x%20stretch%22%3A%22x%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%22%2C%22_y%20stretch%22%3A%22y%E5%BA%A7%E6%A8%99%E3%81%AE%E4%BC%B8%E7%B8%AE%22%7D%2C%22ko%22%3A%7B%22_Stretch%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%EB%A5%BC%20x%3A%5BDX%5D%20y%3A%5BDY%5D%20%EB%A7%8C%ED%81%BC%20%EB%B0%94%EA%BE%B8%EA%B8%B0%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20x%EB%A5%BC%20%5BDX%5D%EB%A7%8C%ED%81%BC%20%EB%B0%94%EA%BE%B8%EA%B8%B0%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20y%EB%A5%BC%20%5BDY%5D%EB%A7%8C%ED%81%BC%20%EB%B0%94%EA%BE%B8%EA%B8%B0%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%EB%A5%BC%20x%3A%5BX%5D%20y%3A%5BY%5D%20(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20x%EB%A5%BC%20%5BX%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20y%EB%A5%BC%20%5BY%5D(%EC%9C%BC)%EB%A1%9C%20%EC%A0%95%ED%95%98%EA%B8%B0%22%2C%22_x%20stretch%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20x%22%2C%22_y%20stretch%22%3A%22%EB%8A%98%EB%A6%AC%EA%B8%B0%20y%22%7D%2C%22nb%22%3A%7B%22_Stretch%22%3A%22Strekke%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22endre%20strekk%20med%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22endre%20strekk%20x%20med%20%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22endre%20strekk%20y%20med%20%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22sett%20strekk%20til%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22sett%20strekk%20x%20til%20%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22sett%20strekk%20y%20til%20%5BY%5D%22%2C%22_x%20stretch%22%3A%22x%20strekk%22%2C%22_y%20stretch%22%3A%22y%20strekk%22%7D%2C%22nl%22%3A%7B%22_Stretch%22%3A%22Rekken%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22verander%20uitrekking%20met%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22verander%20x-uitrekking%20met%20%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22verander%20y-uitrekking%20met%20%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22stel%20uitrekking%20in%20op%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22maak%20x-uitrekking%20%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22maak%20y-uitrekking%20%5BY%5D%22%2C%22_x%20stretch%22%3A%22x-uitrekking%22%2C%22_y%20stretch%22%3A%22y-uitrekking%22%7D%2C%22ru%22%3A%7B%22_Stretch%22%3A%22%D0%A0%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20x%20%D0%BD%D0%B0%20%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20y%20%D0%BD%D0%B0%20%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20x%20%D0%B2%20%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20y%20%D0%B2%20%5BY%5D%22%2C%22_x%20stretch%22%3A%22%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20x%22%2C%22_y%20stretch%22%3A%22%D1%80%D0%B0%D1%81%D1%82%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20y%22%7D%2C%22uk%22%3A%7B%22_Stretch%22%3A%22%D0%A0%D0%BE%D0%B7%D1%82%D1%8F%D0%B6%D0%BA%D0%B0%22%7D%2C%22zh-cn%22%3A%7B%22_Stretch%22%3A%22%E8%A7%92%E8%89%B2%E6%8B%89%E4%BC%B8%22%2C%22_change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22%3A%22%E5%A2%9E%E5%8A%A0%E8%A7%92%E8%89%B2%E6%8B%89%E4%BC%B8x%20%5BDX%5D%20y%20%5BDY%5D%22%2C%22_change%20stretch%20x%20by%20%5BDX%5D%22%3A%22x%E6%8B%89%E4%BC%B8%E5%A2%9E%E5%8A%A0%5BDX%5D%22%2C%22_change%20stretch%20y%20by%20%5BDY%5D%22%3A%22y%E6%8B%89%E4%BC%B8%E5%A2%9E%E5%8A%A0%5BDY%5D%22%2C%22_set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%E5%B0%86%E8%A7%92%E8%89%B2%E6%8B%89%E4%BC%B8%E8%AE%BE%E4%B8%BAx%EF%BC%9A%5BX%5Dy%EF%BC%9A%5BY%5D%22%2C%22_set%20stretch%20x%20to%20%5BX%5D%22%3A%22%E5%B0%86x%E6%8B%89%E4%BC%B8%E8%AE%BE%E4%B8%BA%5BX%5D%22%2C%22_set%20stretch%20y%20to%20%5BY%5D%22%3A%22%E5%B0%86y%E6%8B%89%E4%BC%B8%E8%AE%BE%E4%B8%BA%5BY%5D%22%2C%22_x%20stretch%22%3A%22x%E6%8B%89%E4%BC%B8%22%2C%22_y%20stretch%22%3A%22y%E6%8B%89%E4%BC%B8%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20const%20STRETCH_X%20%3D%20Symbol(%22stretch.x%22)%3B%0A%20%20const%20STRETCH_Y%20%3D%20Symbol(%22stretch.y%22)%3B%0A%0A%20%20const%20vm%20%3D%20Scratch.vm%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7BVM.RenderedTarget%7D%20target%0A%20%20%20*%20%40param%20%7BVM.RenderedTarget%7D%20%5BoriginalTarget%5D%20If%20target%20is%20a%20clone%2C%20the%20original%20to%20copy%20from.%0A%20%20%20*%2F%0A%20%20const%20implementStretchForTarget%20%3D%20(target%2C%20originalTarget)%20%3D%3E%20%7B%0A%20%20%20%20if%20(STRETCH_X%20in%20target)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Target%20already%20has%20stretch.%20Don't%20implement%20again.%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20target%5BSTRETCH_X%5D%20%3D%20originalTarget%20%3F%20originalTarget%5BSTRETCH_X%5D%20%3A%20100%3B%0A%20%20%20%20target%5BSTRETCH_Y%5D%20%3D%20originalTarget%20%3F%20originalTarget%5BSTRETCH_Y%5D%20%3A%20100%3B%0A%0A%20%20%20%20const%20original%20%3D%20target._getRenderedDirectionAndScale%3B%0A%20%20%20%20target._getRenderedDirectionAndScale%20%3D%20function%20()%20%7B%0A%20%20%20%20%20%20const%20result%20%3D%20original.call(this)%3B%0A%0A%20%20%20%20%20%20result.scale%5B0%5D%20*%3D%20this%5BSTRETCH_X%5D%20%2F%20100%3B%0A%20%20%20%20%20%20result.scale%5B1%5D%20*%3D%20this%5BSTRETCH_Y%5D%20%2F%20100%3B%0A%0A%20%20%20%20%20%20return%20result%3B%0A%20%20%20%20%7D%3B%0A%20%20%7D%3B%0A%20%20vm.runtime.targets.forEach((target)%20%3D%3E%20implementStretchForTarget(target))%3B%0A%20%20vm.runtime.on(%22targetWasCreated%22%2C%20(target%2C%20originalTarget)%20%3D%3E%0A%20%20%20%20implementStretchForTarget(target%2C%20originalTarget)%0A%20%20)%3B%0A%20%20vm.runtime.on(%22PROJECT_LOADED%22%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20vm.runtime.targets.forEach((target)%20%3D%3E%20implementStretchForTarget(target))%3B%0A%20%20%7D)%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7BVM.RenderedTarget%7D%20target%0A%20%20%20*%2F%0A%20%20const%20forceUpdateDirectionAndScale%20%3D%20(target)%20%3D%3E%20%7B%0A%20%20%20%20target.setDirection(target.direction)%3B%0A%20%20%7D%3B%0A%0A%20%20class%20Stretch%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22stretch%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Stretch%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%234287f5%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%232b62ba%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%23204785%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setStretch%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20stretch%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20filter%3A%20%5BScratch.TargetType.SPRITE%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeStretch%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20stretch%20by%20x%3A%20%5BDX%5D%20y%3A%20%5BDY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DX%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DY%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setStretchX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20stretch%20x%20to%20%5BX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20filter%3A%20%5BScratch.TargetType.SPRITE%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setStretchY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20stretch%20y%20to%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20filter%3A%20%5BScratch.TargetType.SPRITE%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeStretchX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20stretch%20x%20by%20%5BDX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DX%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2010%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeStretchY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20stretch%20y%20by%20%5BDY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DY%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2010%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22x%20stretch%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20filter%3A%20%5BScratch.TargetType.SPRITE%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20disableMonitor%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22y%20stretch%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20filter%3A%20%5BScratch.TargetType.SPRITE%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20disableMonitor%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%20%20%20%20setStretch(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_X%5D%20%3D%20Scratch.Cast.toNumber(args.X)%3B%0A%20%20%20%20%20%20util.target%5BSTRETCH_Y%5D%20%3D%20Scratch.Cast.toNumber(args.Y)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeStretch(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_X%5D%20%2B%3D%20Scratch.Cast.toNumber(args.DX)%3B%0A%20%20%20%20%20%20util.target%5BSTRETCH_Y%5D%20%2B%3D%20Scratch.Cast.toNumber(args.DY)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20setStretchX(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_X%5D%20%3D%20Scratch.Cast.toNumber(args.X)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20setStretchY(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_Y%5D%20%3D%20Scratch.Cast.toNumber(args.Y)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeStretchX(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_X%5D%20%2B%3D%20Scratch.Cast.toNumber(args.DX)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeStretchY(args%2C%20util)%20%7B%0A%20%20%20%20%20%20util.target%5BSTRETCH_Y%5D%20%2B%3D%20Scratch.Cast.toNumber(args.DY)%3B%0A%20%20%20%20%20%20forceUpdateDirectionAndScale(util.target)%3B%0A%20%20%20%20%7D%0A%20%20%20%20getX(args%2C%20util)%20%7B%0A%20%20%20%20%20%20return%20util.target%5BSTRETCH_X%5D%3B%0A%20%20%20%20%7D%0A%20%20%20%20getY(args%2C%20util)%20%7B%0A%20%20%20%20%20%20return%20util.target%5BSTRETCH_Y%5D%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20Stretch())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Network%0A%2F%2F%20ID%3A%20truefantomnetwork%0A%2F%2F%20Description%3A%20Various%20blocks%20for%20interacting%20with%20the%20network.%0A%2F%2F%20By%3A%20TrueFantom%20%3Chttps%3A%2F%2Fscratch.mit.edu%2Fusers%2FTrueFantom%2F%3E%0A%2F%2F%20License%3A%20MIT%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22_Network%22%3A%22Netzwerk%22%7D%2C%22fi%22%3A%7B%22_(1)%20text%22%3A%22(1)%20teksti%22%2C%22_(3)%20status%20ok%3F%22%3A%22(3)%20onko%20tila%20ok%3F%22%2C%22_(4)%20status%22%3A%22(4)%20tila%22%2C%22_(5%201)%20status%20text%20and%20text%22%3A%22(5%201)%20tilateksti%20ja%20teksti%22%2C%22_(5)%20status%20text%22%3A%22(5)%20tilateksti%22%2C%22_(6%204)%20type%20and%20status%22%3A%22(6%204)%20tyyppi%20ja%20tila%22%2C%22_(6)%20type%22%3A%22(6)%20tyyppi%22%2C%22_(7)%20redirected%3F%22%3A%22(7)%20onko%20uudelleenohjattu%3F%22%2C%22_(9)%20body%20used%3F%22%3A%22(9)%20onko%20runkoa%20k%C3%A4ytetty%3F%22%2C%22_Network%22%3A%22Verkko%22%2C%22_apple%22%3A%22omena%22%2C%22_browser%22%3A%22selain%22%2C%22_connected%20to%20internet%3F%22%3A%22onko%20yhteydess%C3%A4%20internetiin%3F%22%2C%22_current%20url%22%3A%22nykyinen%20url-osoite%22%2C%22_default%22%3A%22oletus%22%2C%22_delete%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22tee%20delete-pyynt%C3%B6%20sivustoon%20%5BUSER_URL%5D%20ja%20ilmoita%20vastauksen%20%5BRESPONSES_TYPES%5D%20jaettuna%20merkill%C3%A4%20%5BSPLIT%5D%22%2C%22_downlink%20max%20speed%20in%20mb%2Fs%22%3A%22enimm%C3%A4isvastaanottovauhti%20megabittein%C3%A4%20sekunnissa%22%2C%22_downlink%20speed%20in%20mb%2Fs%22%3A%22vastaanottonopeus%20megabittein%C3%A4%20sekunnissa%22%2C%22_get%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22tee%20get-pyynt%C3%B6%20sivustoon%20%5BUSER_URL%5D%20ja%20ilmoita%20vastauksen%20%5BRESPONSES_TYPES%5D%20jaettuna%20merkill%C3%A4%20%5BSPLIT%5D%22%2C%22_network%20generation%22%3A%22verkon%20sukupolvi%22%2C%22_network%20type%22%3A%22verkon%20tyyppi%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20tab%22%3A%22avaa%20%5BUSER_URL%5D%20uudessa%20v%C3%A4lilehdess%C3%A4%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20window%20with%20width%3A%20%5BWIDTH%5D%20height%3A%20%5BHEIGHT%5D%20left%3A%20%5BLEFT%5D%20top%3A%20%5BTOP%5D%22%3A%22avaa%20%5BUSER_URL%5D%20uudessa%20ikkunassa%3A%20leveys%20%5BWIDTH%5D%20korkeus%3A%20%5BHEIGHT%5D%20vasen%20sijainti%3A%20%5BLEFT%5D%20yl%C3%A4sijainti%3A%20%5BTOP%5D%22%2C%22_patch%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22tee%20patch-pyynt%C3%B6%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20sivustoon%20%5BUSER_URL%5D%20ja%20ilmoita%20vastauksen%20%5BRESPONSES_TYPES%5D%20jaettuna%20merkill%C3%A4%20%5BSPLIT%5D%22%2C%22_post%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22tee%20post-pyynt%C3%B6%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20sivustoon%20%5BUSER_URL%5D%20ja%20ilmoita%20vastauksen%20%5BRESPONSES_TYPES%5D%20jaettuna%20merkill%C3%A4%20%5BSPLIT%5D%22%2C%22_put%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22tee%20put-pyynt%C3%B6%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20sivustoon%20%5BUSER_URL%5D%20ja%20ilmoita%20vastauksen%20%5BRESPONSES_TYPES%5D%20jaettuna%20merkill%C3%A4%20%5BSPLIT%5D%22%2C%22_redirect%20this%20tab%20to%20%5BUSER_URL%5D%22%3A%22siirry%20osoitteeseen%20%5BUSER_URL%5D%20t%C3%A4ll%C3%A4%20v%C3%A4lilehdell%C3%A4%22%2C%22_rtt%20in%20ms%22%3A%22viive%20millisekunteina%22%7D%2C%22it%22%3A%7B%22_Network%22%3A%22Rete%22%2C%22_apple%22%3A%22mela%22%7D%2C%22ja%22%3A%7B%22_(1)%20text%22%3A%22(1)%20%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%22%2C%22_(3)%20status%20ok%3F%22%3A%22(3)%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9OK%22%2C%22_(4)%20status%22%3A%22(4)%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%22%2C%22_(5%201)%20status%20text%20and%20text%22%3A%22(5%201)%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%A8%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%22%2C%22_(5)%20status%20text%22%3A%22(5)%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%22%2C%22_(6%204)%20type%20and%20status%22%3A%22(6%204)%20%E3%82%BF%E3%82%A4%E3%83%97%E3%81%A8%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%22%2C%22_(6)%20type%22%3A%22(6)%20%E3%82%BF%E3%82%A4%E3%83%97%22%2C%22_(7)%20redirected%3F%22%3A%22(7)%20%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%95%E3%82%8C%E3%81%9F%22%2C%22_(9)%20body%20used%3F%22%3A%22(9)%20body%E3%81%8C%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%9F%22%2C%22_Network%22%3A%22%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%22%2C%22_apple%22%3A%22%E3%82%8A%E3%82%93%E3%81%94%22%2C%22_browser%22%3A%22%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%22%2C%22_connected%20to%20internet%3F%22%3A%22%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%22%2C%22_current%20url%22%3A%22%E7%8F%BE%E5%9C%A8%E3%81%AEURL%22%2C%22_default%22%3A%22%E9%BB%99%E8%AA%8D%22%2C%22_downlink%20max%20speed%20in%20mb%2Fs%22%3A%22%E6%9C%80%E5%A4%A7%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AA%E3%83%B3%E3%82%AF%E9%80%9F%E5%BA%A6%E3%82%92MB%2Fs%E3%81%A7%E8%A1%A8%E3%81%99%22%2C%22_downlink%20speed%20in%20mb%2Fs%22%3A%22%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AA%E3%83%B3%E3%82%AF%E9%80%9F%E5%BA%A6%E3%82%92MB%2Fs%E3%81%A7%E8%A1%A8%E3%81%99%22%2C%22_network%20generation%22%3A%22%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E4%B8%96%E4%BB%A3%22%2C%22_network%20type%22%3A%22%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%BF%E3%82%A4%E3%83%97%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20tab%22%3A%22%5BUSER_URL%5D%E3%82%92%E6%96%B0%E3%81%97%E3%81%84%E3%82%BF%E3%83%96%E3%81%A7%E9%96%8B%E3%81%8F%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20window%20with%20width%3A%20%5BWIDTH%5D%20height%3A%20%5BHEIGHT%5D%20left%3A%20%5BLEFT%5D%20top%3A%20%5BTOP%5D%22%3A%22%5BUSER_URL%5D%E3%82%92%E6%96%B0%E3%81%97%E3%81%84%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E5%B9%85%5BWIDTH%5D%E9%AB%98%E3%81%95%5BHEIGHT%5D%E5%B7%A6%5BLEFT%5D%E3%83%88%E3%83%83%E3%83%97%5BTOP%5D%E3%81%A7%E9%96%8B%E3%81%8F%22%2C%22_redirect%20this%20tab%20to%20%5BUSER_URL%5D%22%3A%22%E3%81%93%E3%81%AE%E3%82%BF%E3%83%96%E3%82%92%5BUSER_URL%5D%E3%81%AB%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%99%E3%82%8B%22%2C%22_rtt%20in%20ms%22%3A%22%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%88%E3%83%AA%E3%83%83%E3%83%97%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%92%E3%83%9F%E3%83%AA%E7%A7%92%E3%81%A7%E8%A1%A8%E3%81%99%22%7D%2C%22ko%22%3A%7B%22_(1)%20text%22%3A%22(1)%20%ED%85%8D%EC%8A%A4%ED%8A%B8%22%2C%22_(3)%20status%20ok%3F%22%3A%22(3)%20%EC%83%81%ED%83%9C%EA%B0%80%20ok%EC%9D%B8%EC%A7%80%20%EC%97%AC%EB%B6%80%22%2C%22_(4)%20status%22%3A%22(4)%20%EC%83%81%ED%83%9C%20%EC%BD%94%EB%93%9C%22%2C%22_(5%201)%20status%20text%20and%20text%22%3A%22(5%201)%20%EC%83%81%ED%83%9C%20%EB%A9%94%EC%8B%9C%EC%A7%80%20%EB%B0%8F%20%ED%85%8D%EC%8A%A4%ED%8A%B8%22%2C%22_(5)%20status%20text%22%3A%22(5)%20%EC%83%81%ED%83%9C%20%EB%A9%94%EC%8B%9C%EC%A7%80%22%2C%22_(7)%20redirected%3F%22%3A%22(7)%20%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%ED%8A%B8%20%EC%97%AC%EB%B6%80%22%2C%22_(9)%20body%20used%3F%22%3A%22(9)%20body%20%EC%82%AC%EC%9A%A9%20%EC%97%AC%EB%B6%80%22%2C%22_Network%22%3A%22%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%22%2C%22_browser%22%3A%22%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%22%2C%22_connected%20to%20internet%3F%22%3A%22%EC%9D%B8%ED%84%B0%EB%84%B7%EC%97%90%20%EC%97%B0%EA%B2%B0%EB%90%98%EC%97%88%EB%8A%94%EA%B0%80%3F%22%2C%22_current%20url%22%3A%22%ED%98%84%EC%9E%AC%20URL%22%2C%22_default%22%3A%22%EA%B8%B0%EB%B3%B8%22%2C%22_network%20generation%22%3A%22%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%84%B8%EB%8C%80%22%7D%2C%22nb%22%3A%7B%22_Network%22%3A%22Nettverk%22%2C%22_browser%22%3A%22nettleser%22%7D%2C%22nl%22%3A%7B%22_Network%22%3A%22Netwerk%22%2C%22_apple%22%3A%22appel%22%2C%22_default%22%3A%22standaard%22%7D%2C%22pl%22%3A%7B%22_browser%22%3A%22przegl%C4%85darka%22%7D%2C%22ru%22%3A%7B%22_(1)%20text%22%3A%22(1)%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%22%2C%22_(3)%20status%20ok%3F%22%3A%22(3)%20%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%20%D0%BE%D0%BA%3F%22%2C%22_(4)%20status%22%3A%22(4)%20%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%22%2C%22_(5%201)%20status%20text%20and%20text%22%3A%22(5%201)%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0%20%D0%B8%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%22%2C%22_(5)%20status%20text%22%3A%22(5)%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0%22%2C%22_(6%204)%20type%20and%20status%22%3A%22(6%204)%20%D1%82%D0%B8%D0%BF%20%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%22%2C%22_(6)%20type%22%3A%22(6)%20%D1%82%D0%B8%D0%BF%22%2C%22_(7)%20redirected%3F%22%3A%22(7)%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%3F%22%2C%22_(9)%20body%20used%3F%22%3A%22(9)%20%D1%82%D0%B5%D0%BB%D0%BE%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%3F%22%2C%22_Network%22%3A%22%D0%A1%D0%B5%D1%82%D1%8C%22%2C%22_apple%22%3A%22%D1%8F%D0%B1%D0%BB%D0%BE%D0%BA%D0%BE%22%2C%22_browser%22%3A%22%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%22%2C%22_connected%20to%20internet%3F%22%3A%22%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D1%91%D0%BD%20%D0%BA%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D1%83%3F%22%2C%22_current%20url%22%3A%22%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B5%20url%22%2C%22_default%22%3A%22%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%22%2C%22_delete%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%5BUSER_URL%5D%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%20%5BRESPONSES_TYPES%5D%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%B0%20%5BSPLIT%5D%22%2C%22_downlink%20max%20speed%20in%20mb%2Fs%22%3A%22%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C%20%D0%BD%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B3%D0%BE%20%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%B0%20%D0%B2%20%D0%BC%D0%B1%2F%D1%81%22%2C%22_downlink%20speed%20in%20mb%2Fs%22%3A%22%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C%20%D0%BD%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B3%D0%BE%20%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%B0%20%D0%B2%20%D0%BC%D0%B1%2F%D1%81%22%2C%22_get%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C%20%5BUSER_URL%5D%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%20%5BRESPONSES_TYPES%5D%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%B0%20%5BSPLIT%5D%22%2C%22_network%20generation%22%3A%22%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%20%D1%81%D0%B5%D1%82%D0%B8%22%2C%22_network%20type%22%3A%22%D1%82%D0%B8%D0%BF%20%D1%81%D0%B5%D1%82%D0%B8%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20tab%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%5BUSER_URL%5D%20%D0%B2%20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20window%20with%20width%3A%20%5BWIDTH%5D%20height%3A%20%5BHEIGHT%5D%20left%3A%20%5BLEFT%5D%20top%3A%20%5BTOP%5D%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%5BUSER_URL%5D%20%D0%B2%20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5%20%D1%81%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%BE%D0%B9%3A%20%5BWIDTH%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%BE%D0%B9%3A%20%5BHEIGHT%5D%20%D0%BB%D0%B5%D0%B2%D0%BE%3A%20%5BLEFT%5D%20%D0%B2%D0%B5%D1%80%D1%85%3A%20%5BTOP%5D%20%22%2C%22_patch%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20%D0%BD%D0%B0%20%5BUSER_URL%5D%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%20%5BRESPONSES_TYPES%5D%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%B0%20%5BSPLIT%5D%22%2C%22_post%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B8%D1%82%D1%8C%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20%D0%BD%D0%B0%20%5BUSER_URL%5D%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%20%5BRESPONSES_TYPES%5D%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%B0%20%5BSPLIT%5D%22%2C%22_put%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20%D0%BD%D0%B0%20%5BUSER_URL%5D%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%20%5BRESPONSES_TYPES%5D%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%B0%20%5BSPLIT%5D%22%2C%22_redirect%20this%20tab%20to%20%5BUSER_URL%5D%22%3A%22%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D1%8D%D1%82%D1%83%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D1%83%20%D0%BD%D0%B0%20%5BUSER_URL%5D%22%2C%22_rtt%20in%20ms%22%3A%22rtt%20%D0%B2%20%D0%BC%D1%81%22%7D%2C%22uk%22%3A%7B%22_browser%22%3A%22%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%22%7D%2C%22zh-cn%22%3A%7B%22_(1)%20text%22%3A%22%EF%BC%881%EF%BC%89%E6%96%87%E6%9C%AC%22%2C%22_(3)%20status%20ok%3F%22%3A%22%EF%BC%883%EF%BC%89%E7%8A%B6%E6%80%81%20ok%3F%22%2C%22_(4)%20status%22%3A%22%EF%BC%884%EF%BC%89%E7%8A%B6%E6%80%81%E7%A0%81%22%2C%22_(5%201)%20status%20text%20and%20text%22%3A%22(5%201)%20%E7%8A%B6%E6%80%81%E6%96%87%E6%9C%AC%E5%92%8C%E6%96%87%E6%9C%AC%22%2C%22_(5)%20status%20text%22%3A%22(5)%20%E7%8A%B6%E6%80%81%E6%96%87%E6%9C%AC%22%2C%22_(6%204)%20type%20and%20status%22%3A%22(6%204)%20%E7%B1%BB%E5%9E%8B%E5%92%8C%E7%8A%B6%E6%80%81%22%2C%22_(6)%20type%22%3A%22(6)%20%E7%B1%BB%E5%9E%8B%22%2C%22_(7)%20redirected%3F%22%3A%22(7)%20%E5%B7%B2%E9%87%8D%E5%AE%9A%E5%90%91%EF%BC%9F%22%2C%22_(9)%20body%20used%3F%22%3A%22(9)%20%E8%AF%B7%E6%B1%82%E4%BD%93%E5%B7%B2%E4%BD%BF%E7%94%A8%EF%BC%9F%22%2C%22_Network%22%3A%22%E7%BD%91%E7%BB%9C%22%2C%22_apple%22%3A%22%E8%8B%B9%E6%9E%9C%22%2C%22_browser%22%3A%22%E6%B5%8F%E8%A7%88%E5%99%A8%E5%90%8D%E7%A7%B0%22%2C%22_connected%20to%20internet%3F%22%3A%22%E5%B7%B2%E8%81%94%E7%BD%91%EF%BC%9F%22%2C%22_current%20url%22%3A%22%E5%BD%93%E5%89%8Durl%22%2C%22_default%22%3A%22%E9%BB%98%E8%AE%A4%E7%B1%BB%E5%9E%8B%22%2C%22_delete%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22%E5%88%A0%E9%99%A4%5BUSER_URL%5D%E7%9A%84%E5%93%8D%E5%BA%94%5BRESPONSES_TYPES%5D%E4%BB%A5%5BSPLIT%5D%E5%88%86%E5%89%B2%22%2C%22_downlink%20max%20speed%20in%20mb%2Fs%22%3A%22%E6%9C%80%E5%A4%A7%E4%B8%8B%E8%A1%8C%E9%80%9F%E5%BA%A6%20mb%2Fs%22%2C%22_downlink%20speed%20in%20mb%2Fs%22%3A%22%E4%B8%8B%E8%A1%8C%E9%80%9F%E5%BA%A6%20mb%2Fs%22%2C%22_get%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22get%5BUSER_URL%5D%E7%9A%84%5BRESPONSES_TYPES%5D%E5%93%8D%E5%BA%94%E4%BB%A5%5BSPLIT%5D%E5%88%86%E5%89%B2%22%2C%22_network%20generation%22%3A%22%E7%BD%91%E7%BB%9C%E4%BB%A3%E9%99%85%22%2C%22_network%20type%22%3A%22%E7%BD%91%E7%BB%9C%E7%B1%BB%E5%9E%8B%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20tab%22%3A%22%E5%9C%A8%E6%96%B0%E6%A0%87%E7%AD%BE%E9%A1%B5%E6%89%93%E5%BC%80%5BUSER_URL%5D%22%2C%22_open%20%5BUSER_URL%5D%20in%20new%20window%20with%20width%3A%20%5BWIDTH%5D%20height%3A%20%5BHEIGHT%5D%20left%3A%20%5BLEFT%5D%20top%3A%20%5BTOP%5D%22%3A%22%E5%9C%A8%E6%96%B0%E7%AA%97%E5%8F%A3%E6%89%93%E5%BC%80%5BUSER_URL%5D%20%E5%AE%BD%3A%20%5BWIDTH%5D%20%E9%AB%98%3A%20%5BHEIGHT%5D%20%E5%B7%A6%3A%20%5BLEFT%5D%20%E4%B8%8A%3A%20%5BTOP%5D%22%2C%22_patch%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22patch%5BCONTENT_TYPE%5D%5BBODY%5D%E7%9A%84%5BUSER_URL%5D%E5%93%8D%E5%BA%94%5BRESPONSES_TYPES%5D%E4%BB%A5%5BSPLIT%5D%E5%88%86%E5%89%B2%22%2C%22_post%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22post%5BCONTENT_TYPE%5D%5BBODY%5D%E7%9A%84%5BUSER_URL%5D%E5%93%8D%E5%BA%94%5BRESPONSES_TYPES%5D%E4%BB%A5%5BSPLIT%5D%E5%88%86%E5%89%B2%22%2C%22_put%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%3A%22put%5BCONTENT_TYPE%5D%5BBODY%5D%E7%9A%84%5BUSER_URL%5D%E5%93%8D%E5%BA%94%5BRESPONSES_TYPES%5D%E4%BB%A5%5BSPLIT%5D%E5%88%86%E5%89%B2%22%2C%22_redirect%20this%20tab%20to%20%5BUSER_URL%5D%22%3A%22%E8%B7%B3%E8%BD%AC%E5%88%B0%5BUSER_URL%5D%22%2C%22_rtt%20in%20ms%22%3A%22%E5%BE%80%E8%BF%94%E6%97%B6%E5%BB%B6%20ms%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F((Scratch)%20%3D%3E%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20const%20icon%20%3D%0A%20%20%20%20%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2aWV3Qm94PSIwLDAsMjI1LjM1NDgsMjI1LjM1NDgiIGhlaWdodD0iMjI1LjM1NDgiIHdpZHRoPSIyMjUuMzU0OCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTI3LjMyMjc0LC02Ny4zMjI2KSI%2BPGcgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZT0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iPjxwYXRoIHN0cm9rZS13aWR0aD0iMCIgZmlsbD0iIzE0NjYwMCIgZD0iTTEyNy4zMjI3NSwxODBjMCwtNjIuMjMwMDEgNTAuNDQ3MzksLTExMi42Nzc0IDExMi42Nzc0LC0xMTIuNjc3NGM2Mi4yMzAwMSwwIDExMi42Nzc0LDUwLjQ0NzM5IDExMi42Nzc0LDExMi42Nzc0YzAsNjIuMjMwMDEgLTUwLjQ0NzM5LDExMi42Nzc0IC0xMTIuNjc3NCwxMTIuNjc3NGMtNjIuMjMwMDEsMCAtMTEyLjY3NzQsLTUwLjQ0NzM5IC0xMTIuNjc3NCwtMTEyLjY3NzR6Ij48L3BhdGg%2BPGcgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSIjZmZmZmZmIj48cGF0aCBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZD0iTTI2MS4zNjIzNSwxNDYuNjIzNTlsLTUuMTUwOTcsNS4yNzQ2MmwtMTMuMTg1NTEsLTEyLjIzOTg5bDE5LjIzNjg5LC0xOS40OTU4OWMxMC41OTE0NywtMTAuNTkxNDcgMjcuNzU4NCwtMTAuNTkxNDcgMzguMzQxMTIsMGwxMi43ODAzOCwxMi43ODAzOGMxMC41OTE0NywxMC41ODI3MSAxMC41OTE0NywyNy43NDk2NSAwLDM4LjM0MTEybC0zOC4zNDExMiwzOC4zNDExMmMtMTAuNTkxNDcsMTAuNTg2OTUgLTI3Ljc0OTY1LDEwLjU4Njk1IC0zOC4zNDExMiwwbC0xMi43ODAzNywtMTIuNzgwMzdsLTEyLjY3Mzc4LC0xMy4yMjYxMmwxMi4yNjMwNCwtMTIuNDMzbDI1Ljk3MTQ5LDI1LjY1OTEyYzMuNTIxNzQsMy41MjE3NCA5LjI1ODY0LDMuNTIxNzQgMTIuNzgwMzgsMGwzOC4zNDExMiwtMzguMzQxMTJjMy41MzA0OSwtMy41MzA0OSAzLjUzMDQ5LC05LjI1ODY0IDAsLTEyLjc4MDM4bC0xMi43ODAzNywtMTIuNzgwMzdjLTMuNTIxNzQsLTMuNTIxNzMgLTkuMjQ5ODgsLTMuNTMwNDkgLTEyLjc4MDM4LDBsLTEzLjY4MDc5LDEzLjY4MDc5eiI%2BPC9wYXRoPjxwYXRoIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBkPSJNMjE4LjYzNzczLDIxMy4zNzY0bDUuMTUwOTcsLTUuMjc0NjJsMTMuMTg1NTEsMTIuMjM5ODlsLTE5LjIzNjg5LDE5LjQ5NTg5Yy0xMC41OTE0NywxMC41OTE0NyAtMjcuNzU4NCwxMC41OTE0NyAtMzguMzQxMTIsMGwtMTIuNzgwMzgsLTEyLjc4MDM4Yy0xMC41OTE0NywtMTAuNTgyNzEgLTEwLjU5MTQ3LC0yNy43NDk2NSAwLC0zOC4zNDExMWwzOC4zNDExMiwtMzguMzQxMTJjMTAuNTkxNDcsLTEwLjU4Njk1IDI3Ljc0OTY1LC0xMC41ODY5NSAzOC4zNDExMiwwbDEyLjc4MDM3LDEyLjc4MDM3bDEyLjY3Mzc4LDEzLjIyNjEybC0xMi4yNjMwNSwxMi40MzNsLTI1Ljk3MTQ4LC0yNS42NTkxMmMtMy41MjE3NCwtMy41MjE3NCAtOS4yNTg2NCwtMy41MjE3NCAtMTIuNzgwMzgsMGwtMzguMzQxMTIsMzguMzQxMTJjLTMuNTMwNDksMy41MzA0OSAtMy41MzA0OSw5LjI1ODY0IDAsMTIuNzgwMzhsMTIuNzgwMzcsMTIuNzgwMzdjMy41MjE3NCwzLjUyMTczIDkuMjQ5ODgsMy41MzA0OSAxMi43ODAzOCwwbDEzLjY4MDc5LC0xMy42ODA3OXoiPjwvcGF0aD48L2c%2BPC9nPjwvZz48L3N2Zz48IS0tcm90YXRpb25DZW50ZXI6MTEyLjY3NzI1NToxMTIuNjc3NDA1LS0%2B%22%3B%0A%0A%20%20const%20fetch_url%20%3D%20(%0A%20%20%20%20%7B%20USER_URL%2C%20BODY%2C%20CONTENT_TYPE%2C%20RESPONSES_TYPES%2C%20SPLIT%20%7D%2C%0A%20%20%20%20METHOD%0A%20%20)%20%3D%3E%20%7B%0A%20%20%20%20SPLIT%20%3D%20String(SPLIT)%3B%0A%20%20%20%20CONTENT_TYPE%20%3D%20Number(CONTENT_TYPE)%3B%0A%20%20%20%20RESPONSES_TYPES%20%3D%0A%20%20%20%20%20%20String(RESPONSES_TYPES)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.filter((word)%20%3D%3E%20word%20!%3D%3D%20%22%22).length%20%3E%3D%201%0A%20%20%20%20%20%20%20%20%3F%20String(RESPONSES_TYPES)%0A%20%20%20%20%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20.filter((word)%20%3D%3E%20word%20!%3D%3D%20%22%22)%0A%20%20%20%20%20%20%20%20%3A%20%5B%229%22%5D%3B%0A%20%20%20%20let%20single%20%3D%20METHOD%20%3D%3D%3D%20%22GET%22%20%7C%7C%20METHOD%20%3D%3D%3D%20%22DELETE%22%3B%0A%20%20%20%20return%20Scratch.fetch(String(USER_URL)%2C%20%7B%0A%20%20%20%20%20%20method%3A%20METHOD%2C%0A%20%20%20%20%20%20headers%3A%20single%0A%20%20%20%20%20%20%20%20%3F%20%7B%7D%0A%20%20%20%20%20%20%20%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Content-Type%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20CONTENT_TYPE%20%3D%3D%3D%201%20%3F%20%22text%2Fplain%22%20%3A%20%22application%2Fjson%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20redirect%3A%20single%20%3F%20%22follow%22%20%3A%20%22follow%22%2C%0A%20%20%20%20%20%20body%3A%20CONTENT_TYPE%20%3D%3D%3D%201%20%3F%20String(BODY)%20%3A%20JSON.stringify(BODY)%2C%0A%20%20%20%20%7D)%0A%20%20%20%20%20%20.then((res)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20responses%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%3D%20RESPONSES_TYPES.length%20-%201%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20switch%20(Number(RESPONSES_TYPES%5Bi%5D))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(res.text())%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%202%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(JSON.stringify(res.json()))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%203%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(String(res.ok))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%204%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(res.status)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%205%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(res.statusText)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%206%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(res.type)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%207%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(String(res.redirected))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%208%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(res.url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%209%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20responses.push(single%20%3F%20res.url%20%3A%20String(res.bodyUsed))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20Promise.all(responses)%3B%0A%20%20%20%20%20%20%7D)%0A%20%20%20%20%20%20.then((arr)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20let%20responses%20%3D%20%22%22%3B%0A%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%3D%20RESPONSES_TYPES.length%20-%201%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20%20%20responses%20%2B%3D%20SPLIT%20%2B%20arr%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20SPLIT%20%3D%3D%3D%20%22%22%20%3F%20responses%20%3A%20responses.slice(1)%3B%0A%20%20%20%20%20%20%7D)%0A%20%20%20%20%20%20.catch((err)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20console.error(err)%3B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%7D%3B%0A%0A%20%20class%20Network%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22truefantomnetwork%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Network%22)%2C%0A%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23146600%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%23125C00%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%23105200%22%2C%0A%0A%20%20%20%20%20%20%20%20menuIconURI%3A%20icon%2C%0A%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22connected_to_internet_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22connected%20to%20internet%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22browser_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22browser%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22current_url_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22current%20url%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22network_type_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22network%20type%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22network_generation_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22network%20generation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22downlink_speed_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22downlink%20speed%20in%20mb%2Fs%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22downlink_max_speed_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22downlink%20max%20speed%20in%20mb%2Fs%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22rtt_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22rtt%20in%20ms%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22get_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22get%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fhttpbin.org%2Fget%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20RESPONSES_TYPES%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22only_url_response_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPLIT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22delete_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22delete%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fhttpbin.org%2Fdelete%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20RESPONSES_TYPES%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22only_url_response_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPLIT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22post_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22post%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fhttpbin.org%2Fpost%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BODY%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22apple%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20CONTENT_TYPE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22content_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20RESPONSES_TYPES%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22response_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPLIT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22put_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22put%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fhttpbin.org%2Fput%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BODY%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22apple%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20CONTENT_TYPE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22content_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20RESPONSES_TYPES%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22response_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPLIT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22patch_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22patch%20%5BCONTENT_TYPE%5D%20%5BBODY%5D%20to%20%5BUSER_URL%5D%20respond%20%5BRESPONSES_TYPES%5D%20split%20by%20%5BSPLIT%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fhttpbin.org%2Fpatch%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BODY%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22apple%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20CONTENT_TYPE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22content_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20RESPONSES_TYPES%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22response_type%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPLIT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22open_link_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20%5BUSER_URL%5D%20in%20new%20tab%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fextensions.turbowarp.org%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22open_window_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22open%20%5BUSER_URL%5D%20in%20new%20window%20with%20width%3A%20%5BWIDTH%5D%20height%3A%20%5BHEIGHT%5D%20left%3A%20%5BLEFT%5D%20top%3A%20%5BTOP%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fextensions.turbowarp.org%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WIDTH%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20HEIGHT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20LEFT%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TOP%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22redirect_link_block%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22redirect%20this%20tab%20to%20%5BUSER_URL%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20USER_URL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22https%3A%2F%2Fextensions.turbowarp.org%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20content_type%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(1)%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22(2)%20json%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20only_url_response_type%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(1)%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22(2)%20json%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(3)%20status%20ok%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%223%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(4)%20status%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%224%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(5)%20status%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%225%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(5%201)%20status%20text%20and%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%225%201%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(6)%20type%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%226%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(6%204)%20type%20and%20status%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%226%204%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(7)%20redirected%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%227%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22(8)%20url%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%228%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20response_type%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(1)%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22(2)%20json%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(3)%20status%20ok%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%223%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(4)%20status%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%224%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(5)%20status%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%225%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(5%201)%20status%20text%20and%20text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%225%201%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(6)%20type%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%226%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(6%204)%20type%20and%20status%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%226%204%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(7)%20redirected%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%227%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22(8)%20url%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%228%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22(9)%20body%20used%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%229%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20default%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22default%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22default%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20connected_to_internet_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20return%20navigator.onLine%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20browser_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20let%20has%20%3D%20(input)%20%3D%3E%20navigator.userAgent.includes(input)%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Firefox%22))%20return%20%22firefox%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22SamsungBrowser%22))%20return%20%22samsung%20internet%22%3B%0A%20%20%20%20%20%20%20%20if%20((has(%22Opera%22)%20%7C%7C%20has(%22OPR%22))%20%26%26%20has(%22GX%22))%20return%20%22opera%20gx%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Opera%22)%20%7C%7C%20has(%22OPR%22))%20return%20%22opera%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Trident%22))%20return%20%22internet%20explorer%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Edge%22))%20return%20%22legacy%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Edg%22))%20return%20%22edge%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22YaBrowser%22)%20%7C%7C%20has(%22YaSearchBrowser%22))%20return%20%22yandex%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Miui%22))%20return%20%22mi%20browser%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22UBrowser%22))%20return%20%22uc%20browser%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Chrome%22))%20return%20%22chromium%22%3B%0A%20%20%20%20%20%20%20%20if%20(has(%22Safari%22))%20return%20%22safari%22%3B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20current_url_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20return%20document.URL%20%7C%7C%20%22%22%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20network_type_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20switch%20(navigator.connection.type)%20%7B%0A%20%20%20%20%20%20%20%20%20%20case%20%22bluetooth%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22bluetooth%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%22cellular%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22cellular%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%22ethernet%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22ethernet%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%22wifi%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22wi-fi%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%22wimax%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22wimax%22%3B%0A%20%20%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20network_generation_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20switch%20(navigator.connection.effectiveType)%20%7B%0A%20%20%20%20%20%20%20%20%20%20case%20%22slow-2g%22%3A%0A%20%20%20%20%20%20%20%20%20%20case%20%222g%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%222g%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%223g%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%223g%22%3B%0A%20%20%20%20%20%20%20%20%20%20case%20%224g%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%224g%22%3B%0A%20%20%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20downlink_speed_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20return%20navigator.connection.downlink%20%7C%7C%20%22%22%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20downlink_max_speed_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20return%20navigator.connection.downlinkMax%20%7C%7C%20%22%22%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20rtt_block()%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20return%20navigator.connection.rtt%20%7C%7C%20%22%22%3B%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20get_block(args)%20%7B%0A%20%20%20%20%20%20return%20fetch_url(args%2C%20%22GET%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20delete_block(args)%20%7B%0A%20%20%20%20%20%20return%20fetch_url(args%2C%20%22DELETE%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20post_block(args)%20%7B%0A%20%20%20%20%20%20return%20fetch_url(args%2C%20%22POST%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20put_block(args)%20%7B%0A%20%20%20%20%20%20return%20fetch_url(args%2C%20%22PUT%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20patch_block(args)%20%7B%0A%20%20%20%20%20%20return%20fetch_url(args%2C%20%22PATCH%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20open_link_block(%7B%20USER_URL%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.openWindow(USER_URL)%3B%0A%20%20%20%20%7D%0A%20%20%20%20open_window_block(%7B%20USER_URL%2C%20WIDTH%2C%20HEIGHT%2C%20LEFT%2C%20TOP%20%7D)%20%7B%0A%20%20%20%20%20%20let%20params%20%3D%20%22popup%3D1%22%3B%0A%20%20%20%20%20%20params%20%2B%3D%20isNaN(WIDTH)%0A%20%20%20%20%20%20%20%20%3F%20%22%22%0A%20%20%20%20%20%20%20%20%3A%20%60%2Cwidth%3D%24%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Number(WIDTH)%20%3C%20100%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20100%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(WIDTH)%20%3E%20window.screen.width%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20window.screen.width%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(WIDTH)%0A%20%20%20%20%20%20%20%20%20%20%7D%60%3B%0A%20%20%20%20%20%20params%20%2B%3D%20isNaN(HEIGHT)%0A%20%20%20%20%20%20%20%20%3F%20%22%22%0A%20%20%20%20%20%20%20%20%3A%20%60%2Cheight%3D%24%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Number(HEIGHT)%20%3C%20100%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20100%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(HEIGHT)%20%3E%20window.screen.height%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20window.screen.height%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(HEIGHT)%0A%20%20%20%20%20%20%20%20%20%20%7D%60%3B%0A%20%20%20%20%20%20params%20%2B%3D%20isNaN(LEFT)%0A%20%20%20%20%20%20%20%20%3F%20%22%22%0A%20%20%20%20%20%20%20%20%3A%20%60%2Cleft%3D%24%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Number(LEFT)%20%3C%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(LEFT)%20%3E%20window.screen.width%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20window.screen.width%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(LEFT)%0A%20%20%20%20%20%20%20%20%20%20%7D%60%3B%0A%20%20%20%20%20%20params%20%2B%3D%20isNaN(TOP)%0A%20%20%20%20%20%20%20%20%3F%20%22%22%0A%20%20%20%20%20%20%20%20%3A%20%60%2Ctop%3D%24%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Number(TOP)%20%3C%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(TOP)%20%3E%20window.screen.height%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20window.screen.height%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Number(TOP)%0A%20%20%20%20%20%20%20%20%20%20%7D%60%3B%0A%20%20%20%20%20%20Scratch.openWindow(String(USER_URL)%2C%20params)%3B%0A%20%20%20%20%7D%0A%20%20%20%20redirect_link_block(%7B%20USER_URL%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.redirect(USER_URL)%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20Network())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B"]) {
vm.extensionManager.loadExtensionURL(extension);
}
} catch (e) {
handleError(e);
}
</script>
<script>
const getProjectData = (function() {
const storage = scaffolding.storage;
storage.onprogress = (total, loaded) => {
setProgress(interpolate(0.2, 0.98, loaded / total));
};
storage.addWebStore(
[
storage.AssetType.ImageVector,
storage.AssetType.ImageBitmap,
storage.AssetType.Sound,
storage.AssetType.Font
].filter(i => i),
(asset) => new URL('./assets/' + asset.assetId + '.' + asset.dataFormat, location).href
);
return () => new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onload = () => {
resolve(xhr.response);
};
xhr.onerror = () => {
reject(new Error('Request to load project data failed.'));
};
xhr.onprogress = (e) => {
if (e.lengthComputable) {
setProgress(interpolate(0.1, 0.2, e.loaded / e.total));
}
};
xhr.responseType = 'arraybuffer';
xhr.open('GET', "./assets/project.json");
xhr.send();
});
})();
</script>
<script>
const run = async () => {
const projectData = await getProjectData();
await scaffolding.loadProject(projectData);
setProgress(1);
loadingScreen.hidden = true;
if (true) {
scaffolding.start();
} else {
launchScreen.hidden = false;
launchScreen.addEventListener('click', () => {
launchScreen.hidden = true;
scaffolding.start();
});
launchScreen.focus();
}
};
run().catch(handleError);
</script>
</body>
</html>