@eggjs/onerror 3.0.1-beta.1 → 3.1.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,156 +1,160 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title></title>
6
- <style>
7
- /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript&plugins=line-highlight+line-numbers+toolbar+show-language */
8
- /**
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title></title>
6
+ <style>
7
+ /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript&plugins=line-highlight+line-numbers+toolbar+show-language */
8
+ /**
9
9
  * prism.js default theme for JavaScript, CSS and HTML
10
10
  * Based on dabblet (http://dabblet.com)
11
11
  * @author Lea Verou
12
12
  */
13
- code[class*="language-"],
14
- pre[class*="language-"] {
15
- color: black;
16
- background: none;
17
- text-shadow: 0 1px white;
18
- font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
19
- text-align: left;
20
- white-space: pre;
21
- word-spacing: normal;
22
- word-break: normal;
23
- word-wrap: normal;
24
- line-height: 1.5;
25
- -moz-tab-size: 4;
26
- -o-tab-size: 4;
27
- tab-size: 4;
28
- -webkit-hyphens: none;
29
- -moz-hyphens: none;
30
- -ms-hyphens: none;
31
- hyphens: none;
32
- }
33
- pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
34
- code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
35
- text-shadow: none;
36
- background: #98d8b7;
37
- }
38
- pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
39
- code[class*="language-"]::selection, code[class*="language-"] ::selection {
40
- text-shadow: none;
41
- background: #98d8b7;
42
- }
43
- @media print {
44
- code[class*="language-"],
45
- pre[class*="language-"] {
13
+ code[class*='language-'],
14
+ pre[class*='language-'] {
15
+ color: black;
16
+ background: none;
17
+ text-shadow: 0 1px white;
18
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
19
+ text-align: left;
20
+ white-space: pre;
21
+ word-spacing: normal;
22
+ word-break: normal;
23
+ word-wrap: normal;
24
+ line-height: 1.5;
25
+ -moz-tab-size: 4;
26
+ -o-tab-size: 4;
27
+ tab-size: 4;
28
+ -webkit-hyphens: none;
29
+ -moz-hyphens: none;
30
+ -ms-hyphens: none;
31
+ hyphens: none;
32
+ }
33
+ pre[class*='language-']::-moz-selection,
34
+ pre[class*='language-'] ::-moz-selection,
35
+ code[class*='language-']::-moz-selection,
36
+ code[class*='language-'] ::-moz-selection {
37
+ text-shadow: none;
38
+ background: #98d8b7;
39
+ }
40
+ pre[class*='language-']::selection,
41
+ pre[class*='language-'] ::selection,
42
+ code[class*='language-']::selection,
43
+ code[class*='language-'] ::selection {
46
44
  text-shadow: none;
45
+ background: #98d8b7;
46
+ }
47
+ @media print {
48
+ code[class*='language-'],
49
+ pre[class*='language-'] {
50
+ text-shadow: none;
51
+ }
52
+ }
53
+ /* Code blocks */
54
+ pre[class*='language-'] {
55
+ padding: 1em;
56
+ margin: 0.5em 0;
57
+ overflow: auto;
58
+ }
59
+ :not(pre) > code[class*='language-'],
60
+ pre[class*='language-'] {
61
+ background: #f5f2f0;
62
+ }
63
+ /* Inline code */
64
+ :not(pre) > code[class*='language-'] {
65
+ padding: 0.1em;
66
+ border-radius: 0.3em;
67
+ white-space: normal;
68
+ }
69
+ .token.comment,
70
+ .token.prolog,
71
+ .token.doctype,
72
+ .token.cdata {
73
+ color: slategray;
74
+ }
75
+ .token.punctuation {
76
+ color: #999;
77
+ }
78
+ .namespace {
79
+ opacity: 0.7;
80
+ }
81
+ .token.property,
82
+ .token.tag,
83
+ .token.boolean,
84
+ .token.number,
85
+ .token.constant,
86
+ .token.symbol,
87
+ .token.deleted {
88
+ color: #905;
89
+ }
90
+ .token.selector,
91
+ .token.attr-name,
92
+ .token.string,
93
+ .token.char,
94
+ .token.builtin,
95
+ .token.inserted {
96
+ color: #690;
97
+ }
98
+ .token.operator,
99
+ .token.entity,
100
+ .token.url,
101
+ .language-css .token.string,
102
+ .style .token.string {
103
+ color: #a67f59;
104
+ background: hsla(0, 0%, 100%, 0.5);
105
+ }
106
+ .token.atrule,
107
+ .token.attr-value,
108
+ .token.keyword {
109
+ color: #07a;
110
+ }
111
+ .token.function {
112
+ color: #dd4a68;
113
+ }
114
+ .token.regex,
115
+ .token.important,
116
+ .token.variable {
117
+ color: #e90;
118
+ }
119
+ .token.important,
120
+ .token.bold {
121
+ font-weight: bold;
122
+ }
123
+ .token.italic {
124
+ font-style: italic;
125
+ }
126
+ .token.entity {
127
+ cursor: help;
128
+ }
129
+ pre[data-line] {
130
+ position: relative;
131
+ padding: 1em 0 1em 3em;
132
+ }
133
+ .line-highlight {
134
+ position: absolute;
135
+ left: 0;
136
+ right: 0;
137
+ padding: inherit 0;
138
+ margin-top: 1em; /* Same as .prism’s padding-top */
139
+ background: hsla(24, 20%, 50%, 0.08);
140
+ background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));
141
+ pointer-events: none;
142
+ line-height: inherit;
143
+ white-space: pre;
47
144
  }
48
- }
49
- /* Code blocks */
50
- pre[class*="language-"] {
51
- padding: 1em;
52
- margin: .5em 0;
53
- overflow: auto;
54
- }
55
- :not(pre) > code[class*="language-"],
56
- pre[class*="language-"] {
57
- background: #f5f2f0;
58
- }
59
- /* Inline code */
60
- :not(pre) > code[class*="language-"] {
61
- padding: .1em;
62
- border-radius: .3em;
63
- white-space: normal;
64
- }
65
- .token.comment,
66
- .token.prolog,
67
- .token.doctype,
68
- .token.cdata {
69
- color: slategray;
70
- }
71
- .token.punctuation {
72
- color: #999;
73
- }
74
- .namespace {
75
- opacity: .7;
76
- }
77
- .token.property,
78
- .token.tag,
79
- .token.boolean,
80
- .token.number,
81
- .token.constant,
82
- .token.symbol,
83
- .token.deleted {
84
- color: #905;
85
- }
86
- .token.selector,
87
- .token.attr-name,
88
- .token.string,
89
- .token.char,
90
- .token.builtin,
91
- .token.inserted {
92
- color: #690;
93
- }
94
- .token.operator,
95
- .token.entity,
96
- .token.url,
97
- .language-css .token.string,
98
- .style .token.string {
99
- color: #a67f59;
100
- background: hsla(0, 0%, 100%, .5);
101
- }
102
- .token.atrule,
103
- .token.attr-value,
104
- .token.keyword {
105
- color: #07a;
106
- }
107
- .token.function {
108
- color: #DD4A68;
109
- }
110
- .token.regex,
111
- .token.important,
112
- .token.variable {
113
- color: #e90;
114
- }
115
- .token.important,
116
- .token.bold {
117
- font-weight: bold;
118
- }
119
- .token.italic {
120
- font-style: italic;
121
- }
122
- .token.entity {
123
- cursor: help;
124
- }
125
- pre[data-line] {
126
- position: relative;
127
- padding: 1em 0 1em 3em;
128
- }
129
- .line-highlight {
130
- position: absolute;
131
- left: 0;
132
- right: 0;
133
- padding: inherit 0;
134
- margin-top: 1em; /* Same as .prism’s padding-top */
135
- background: hsla(24, 20%, 50%,.08);
136
- background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
137
- pointer-events: none;
138
- line-height: inherit;
139
- white-space: pre;
140
- }
141
145
  .line-highlight:before,
142
146
  .line-highlight[data-end]:after {
143
147
  content: attr(data-start);
144
148
  position: absolute;
145
- top: .4em;
146
- left: .6em;
149
+ top: 0.4em;
150
+ left: 0.6em;
147
151
  min-width: 1em;
148
- padding: 0 .5em;
149
- background-color: hsla(24, 20%, 50%,.4);
152
+ padding: 0 0.5em;
153
+ background-color: hsla(24, 20%, 50%, 0.4);
150
154
  color: hsl(24, 20%, 95%);
151
155
  font: bold 65%/1.5 sans-serif;
152
156
  text-align: center;
153
- vertical-align: .3em;
157
+ vertical-align: 0.3em;
154
158
  border-radius: 999px;
155
159
  text-shadow: none;
156
160
  box-shadow: 0 1px white;
@@ -158,120 +162,127 @@
158
162
  .line-highlight[data-end]:after {
159
163
  content: attr(data-end);
160
164
  top: auto;
161
- bottom: .4em;
162
- }
163
- pre.line-numbers {
164
- position: relative;
165
- padding-left: 3.8em;
166
- counter-reset: linenumber;
167
- }
168
- pre.line-numbers > code {
169
- position: relative;
170
- }
171
- .line-numbers .line-numbers-rows {
172
- position: absolute;
173
- pointer-events: none;
174
- top: 0;
175
- font-size: 100%;
176
- left: -3.8em;
177
- width: 3em; /* works for line-numbers below 1000 lines */
178
- letter-spacing: -1px;
179
- border-right: 1px solid #999;
180
- -webkit-user-select: none;
181
- -moz-user-select: none;
182
- -ms-user-select: none;
183
- user-select: none;
184
- }
165
+ bottom: 0.4em;
166
+ }
167
+ pre.line-numbers {
168
+ position: relative;
169
+ padding-left: 3.8em;
170
+ counter-reset: linenumber;
171
+ }
172
+ pre.line-numbers > code {
173
+ position: relative;
174
+ }
175
+ .line-numbers .line-numbers-rows {
176
+ position: absolute;
177
+ pointer-events: none;
178
+ top: 0;
179
+ font-size: 100%;
180
+ left: -3.8em;
181
+ width: 3em; /* works for line-numbers below 1000 lines */
182
+ letter-spacing: -1px;
183
+ border-right: 1px solid #999;
184
+ -webkit-user-select: none;
185
+ -moz-user-select: none;
186
+ -ms-user-select: none;
187
+ user-select: none;
188
+ }
185
189
  .line-numbers-rows > span {
186
190
  pointer-events: none;
187
191
  display: block;
188
192
  counter-increment: linenumber;
189
193
  }
190
- .line-numbers-rows > span:before {
191
- content: counter(linenumber);
192
- color: #999;
193
- display: block;
194
- padding-right: 0.8em;
195
- text-align: right;
196
- }
197
- pre.code-toolbar {
198
- position: relative;
199
- }
200
- pre.code-toolbar > .toolbar {
201
- position: absolute;
202
- top: .3em;
203
- right: .2em;
204
- transition: opacity 0.3s ease-in-out;
205
- opacity: 0;
206
- }
207
- pre.code-toolbar:hover > .toolbar {
208
- opacity: 1;
209
- }
210
- pre.code-toolbar > .toolbar .toolbar-item {
211
- display: inline-block;
212
- }
213
- pre.code-toolbar > .toolbar a {
214
- cursor: pointer;
215
- }
216
- pre.code-toolbar > .toolbar button {
217
- background: none;
218
- border: 0;
219
- color: inherit;
220
- font: inherit;
221
- line-height: normal;
222
- overflow: visible;
223
- padding: 0;
224
- -webkit-user-select: none; /* for button */
225
- -moz-user-select: none;
226
- -ms-user-select: none;
227
- }
228
- pre.code-toolbar > .toolbar a,
229
- pre.code-toolbar > .toolbar button,
230
- pre.code-toolbar > .toolbar span {
231
- color: #bbb;
232
- font-size: .8em;
233
- padding: 0 .5em;
234
- background: #f5f2f0;
235
- background: rgba(224, 224, 224, 0.2);
236
- box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
237
- border-radius: .5em;
238
- }
239
- pre.code-toolbar > .toolbar a:hover,
240
- pre.code-toolbar > .toolbar a:focus,
241
- pre.code-toolbar > .toolbar button:hover,
242
- pre.code-toolbar > .toolbar button:focus,
243
- pre.code-toolbar > .toolbar span:hover,
244
- pre.code-toolbar > .toolbar span:focus {
245
- color: inherit;
246
- text-decoration: none;
247
- }
248
- </style>
194
+ .line-numbers-rows > span:before {
195
+ content: counter(linenumber);
196
+ color: #999;
197
+ display: block;
198
+ padding-right: 0.8em;
199
+ text-align: right;
200
+ }
201
+ pre.code-toolbar {
202
+ position: relative;
203
+ }
204
+ pre.code-toolbar > .toolbar {
205
+ position: absolute;
206
+ top: 0.3em;
207
+ right: 0.2em;
208
+ transition: opacity 0.3s ease-in-out;
209
+ opacity: 0;
210
+ }
211
+ pre.code-toolbar:hover > .toolbar {
212
+ opacity: 1;
213
+ }
214
+ pre.code-toolbar > .toolbar .toolbar-item {
215
+ display: inline-block;
216
+ }
217
+ pre.code-toolbar > .toolbar a {
218
+ cursor: pointer;
219
+ }
220
+ pre.code-toolbar > .toolbar button {
221
+ background: none;
222
+ border: 0;
223
+ color: inherit;
224
+ font: inherit;
225
+ line-height: normal;
226
+ overflow: visible;
227
+ padding: 0;
228
+ -webkit-user-select: none; /* for button */
229
+ -moz-user-select: none;
230
+ -ms-user-select: none;
231
+ }
232
+ pre.code-toolbar > .toolbar a,
233
+ pre.code-toolbar > .toolbar button,
234
+ pre.code-toolbar > .toolbar span {
235
+ color: #bbb;
236
+ font-size: 0.8em;
237
+ padding: 0 0.5em;
238
+ background: #f5f2f0;
239
+ background: rgba(224, 224, 224, 0.2);
240
+ box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2);
241
+ border-radius: 0.5em;
242
+ }
243
+ pre.code-toolbar > .toolbar a:hover,
244
+ pre.code-toolbar > .toolbar a:focus,
245
+ pre.code-toolbar > .toolbar button:hover,
246
+ pre.code-toolbar > .toolbar button:focus,
247
+ pre.code-toolbar > .toolbar span:hover,
248
+ pre.code-toolbar > .toolbar span:focus {
249
+ color: inherit;
250
+ text-decoration: none;
251
+ }
252
+ </style>
249
253
 
250
- <style>
251
- @keyframes hover-color {
252
- from {
253
- border-color: #c0c0c0; }
254
- to {
255
- border-color: #53b783; } }
256
- .magic-radio,
257
- .magic-checkbox {
258
- position: absolute;
259
- display: none; }
260
- .magic-radio[disabled],
261
- .magic-checkbox[disabled] {
262
- cursor: not-allowed; }
263
- .magic-radio + label,
264
- .magic-checkbox + label {
265
- position: relative;
266
- display: block;
267
- padding-left: 30px;
268
- cursor: pointer;
269
- vertical-align: middle; }
254
+ <style>
255
+ @keyframes hover-color {
256
+ from {
257
+ border-color: #c0c0c0;
258
+ }
259
+ to {
260
+ border-color: #53b783;
261
+ }
262
+ }
263
+ .magic-radio,
264
+ .magic-checkbox {
265
+ position: absolute;
266
+ display: none;
267
+ }
268
+ .magic-radio[disabled],
269
+ .magic-checkbox[disabled] {
270
+ cursor: not-allowed;
271
+ }
272
+ .magic-radio + label,
273
+ .magic-checkbox + label {
274
+ position: relative;
275
+ display: block;
276
+ padding-left: 30px;
277
+ cursor: pointer;
278
+ vertical-align: middle;
279
+ }
270
280
  .magic-radio + label:hover:before,
271
281
  .magic-checkbox + label:hover:before {
272
282
  animation-duration: 0.4s;
273
283
  animation-fill-mode: both;
274
- animation-name: hover-color; }
284
+ animation-name: hover-color;
285
+ }
275
286
  .magic-radio + label:before,
276
287
  .magic-checkbox + label:before {
277
288
  position: absolute;
@@ -281,481 +292,1043 @@
281
292
  width: 20px;
282
293
  height: 20px;
283
294
  content: '';
284
- border: 1px solid #c0c0c0; }
295
+ border: 1px solid #c0c0c0;
296
+ }
285
297
  .magic-radio + label:after,
286
298
  .magic-checkbox + label:after {
287
299
  position: absolute;
288
300
  display: none;
289
- content: ''; }
290
- .magic-radio[disabled] + label,
291
- .magic-checkbox[disabled] + label {
292
- cursor: not-allowed;
293
- color: #e4e4e4; }
294
- .magic-radio[disabled] + label:hover, .magic-radio[disabled] + label:before, .magic-radio[disabled] + label:after,
301
+ content: '';
302
+ }
303
+ .magic-radio[disabled] + label,
304
+ .magic-checkbox[disabled] + label {
305
+ cursor: not-allowed;
306
+ color: #e4e4e4;
307
+ }
308
+ .magic-radio[disabled] + label:hover,
309
+ .magic-radio[disabled] + label:before,
310
+ .magic-radio[disabled] + label:after,
295
311
  .magic-checkbox[disabled] + label:hover,
296
312
  .magic-checkbox[disabled] + label:before,
297
313
  .magic-checkbox[disabled] + label:after {
298
- cursor: not-allowed; }
314
+ cursor: not-allowed;
315
+ }
299
316
  .magic-radio[disabled] + label:hover:before,
300
317
  .magic-checkbox[disabled] + label:hover:before {
301
318
  border: 1px solid #e4e4e4;
302
- animation-name: none; }
319
+ animation-name: none;
320
+ }
303
321
  .magic-radio[disabled] + label:before,
304
322
  .magic-checkbox[disabled] + label:before {
305
- border-color: #e4e4e4; }
306
- .magic-radio:checked + label:before,
307
- .magic-checkbox:checked + label:before {
308
- animation-name: none; }
309
- .magic-radio:checked + label:after,
310
- .magic-checkbox:checked + label:after {
311
- display: block; }
312
- .magic-radio + label:before {
313
- border-radius: 50%; }
314
- .magic-radio + label:after {
315
- top: 6px;
316
- left: 6px;
317
- width: 8px;
318
- height: 8px;
319
- border-radius: 50%;
320
- background: #53b783; }
321
- .magic-radio:checked + label:before {
322
- border: 1px solid #53b783; }
323
- .magic-radio:checked[disabled] + label:before {
324
- border: 1px solid #c9e2f9; }
325
- .magic-radio:checked[disabled] + label:after {
326
- background: #c9e2f9; }
327
- .magic-checkbox + label:before {
328
- border-radius: 3px; }
329
- .magic-checkbox + label:after {
330
- top: 2px;
331
- left: 7px;
332
- box-sizing: border-box;
333
- width: 6px;
334
- height: 12px;
335
- transform: rotate(45deg);
336
- border-width: 2px;
337
- border-style: solid;
338
- border-color: #fff;
339
- border-top: 0;
340
- border-left: 0; }
341
- .magic-checkbox:checked + label:before {
342
- border: #53b783;
343
- background: #53b783; }
344
- .magic-checkbox:checked[disabled] + label:before {
345
- border: #c9e2f9;
346
- background: #c9e2f9; }
347
- </style>
348
-
349
- <style>
350
- html, body {
351
- height: 100%;
352
- width: 100%;
353
- -webkit-font-smoothing: antialiased;
354
- -moz-osx-font-smoothing: grayscale;
355
- }
356
- body {
357
- font-family: Helvetica Neue For Number,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;
358
- font-size: 14px;
359
- line-height: 24px;
360
- color: #444;
361
- }
362
- * {
363
- padding: 0;
364
- margin: 0;
365
- }
366
- ::selection {
367
- text-shadow: none;
368
- color: #fff;
369
- background: #98d8b7;
370
- }
371
- ::-moz-selection {
372
- text-shadow: none;
373
- color: #fff;
374
- background: #98d8b7;
375
- }
376
- .error-page {
377
- display: flex;
378
- flex-direction: column;
379
- width: 100%;
380
- height: 100%;
381
- }
382
- .error-logo {
383
- position: absolute;
384
- top: -15px;
385
- right: 0px;
386
- }
387
- .error-stack {
388
- background: #f1f1f1;
389
- padding: 140px 80px 40px;
390
- box-sizing: border-box;
391
- border-bottom: 1px solid #e2e2e2;
392
- }
393
- .error-status {
394
- color: #afafaf;
395
- font-size: 150px;
396
- position: absolute;
397
- opacity: 0.2;
398
- left: 76px;
399
- top: 80px;
400
- font-weight: 600;
401
- margin-bottom: 10px;
402
- }
403
- .error-name {
404
- color: #db5461;
405
- font-size: 18px;
406
- font-family: menlo, 'sans-serif';
407
- font-weight: 300;
408
- margin-bottom: 15px;
409
- }
410
- .error-title {
411
- border-bottom: 1px solid #e0e0e0;
412
- padding-bottom: 26px;
413
- margin-bottom: 20px;
414
- margin-top: 48px;
415
- }
416
- .error-title .box {
417
- color: #db5461;
418
- font-weight: 700;
419
- font-size: 20px;
420
- margin-left: 5px;
421
- }
422
- .error-title .context {
423
- color: #db5461;
424
- font-weight: 400;
425
- margin-left: 5px;
426
- margin-top: 48px;
427
- line-height: 1.5;
428
- }
429
- .error-frames {
430
- display: flex;
431
- flex-direction: row-reverse;
432
- margin-top: 40px;
433
- }
434
- .frame-preview {
435
- background: #fff;
436
- width: 50%;
437
- box-shadow: 0px 0px 9px #d3d3d3;
438
- height: 100%;
439
- box-sizing: border-box;
440
- overflow: auto;
441
- }
442
- .frame-stack {
443
- margin-right: 40px;
444
- flex: 1;
445
- padding: 10px 0;
446
- box-sizing: border-box;
447
- }
448
- .frames-list {
449
- overflow: auto;
450
- max-height: 334px;
451
- }
452
- .frames-filter-selector {
453
- margin-bottom: 30px;
454
- margin-left: 8px;
455
- }
456
- .request-details {
457
- padding: 50px 80px;
458
- }
459
- .request-title {
460
- text-transform: uppercase;
461
- font-size: 18px;
462
- letter-spacing: 1px;
463
- padding: 0 5px 5px 5px;
464
- margin-bottom: 15px;
465
- color: #53b783;
466
- }
467
- .request-details .table {
468
- width: 100%;
469
- border-collapse: collapse;
470
- margin-bottom: 80px;
471
- }
472
- .request-details .tr {
473
- display: flex;
474
- flex-direction: row;
475
- }
476
- .request-details .tr:nth-of-type(even) {
477
- background: #fbfbfb;
478
- }
479
- .request-details .table .td {
480
- padding: 6px 5px;
481
- font-size: 14px;
482
- letter-spacing: 0.4px;
483
- color: #455275;
484
- border-bottom: 1px solid #e8e8e8;
485
- word-break: break-word;
486
- }
487
- .request-details .table .td.title {
488
- flex: 1;
489
- color: #565655;
490
- font-size: 14px;
491
- font-weight: 600;
492
- }
493
- .request-details .table .td.content {
494
- width: 70%;
495
- }
496
- .request-details .table .td.content.code {
497
- background: #fff;
498
- width: 70%;
499
- box-shadow: 0px 0px 9px #d3d3d3;
500
- height: 100%;
501
- box-sizing: border-box;
502
- overflow: auto;
503
- }
504
- code[class*="language-"], pre[class*="language-"] {
505
- background: transparent;
506
- font-size: 13px;
507
- line-height: 1.8;
508
- }
509
- .line-numbers .line-numbers-rows {
510
- border: none;
511
- }
512
- .frame-row {
513
- display: flex;
514
- justify-content: space-between;
515
- padding: 6px 10px 6px 34px;
516
- position: relative;
517
- cursor: pointer;
518
- transition: background 300ms ease;
519
- }
520
- .frame-row.native-frame {
521
- display: none;
522
- opacity: 0.4;
523
- }
524
- .frame-row.native-frame.force-show {
525
- display: flex;
526
- }
527
- .frame-row:after {
528
- content: "";
529
- background: #db5461;
530
- position: absolute;
531
- top: 50%;
532
- left: 10px;
533
- transform: translateY(-50%);
534
- height: 10px;
535
- width: 10px;
536
- border-radius: 24px;
537
- }
538
- .frame-row:hover, .frame-row.active {
539
- background: #fff;
540
- }
541
- .frame-row.active {
542
- opacity: 1;
543
- }
544
- .frame-row-filepath {
545
- color: #455275;
546
- font-weight: 600;
547
- margin-right: 15px;
548
- }
549
- .frame-context {
550
- display: none;
551
- }
552
- .frame-row-code {
553
- color: #999;
554
- }
555
- #frame-file {
556
- color: #455275;
557
- font-weight: 600;
558
- border-bottom: 1px solid #e8e8e8;
559
- padding: 10px 22px;
560
- }
561
- #frame-method {
562
- color: #999;
563
- font-weight: 400;
564
- border-top: 1px solid #e8e8e8;
565
- padding: 10px 22px;
566
- }
567
- .is-hidden {
568
- display: none;
569
- }
570
- </style>
571
- </head>
572
- <body>
573
- <section class="error-page">
574
- <section class="error-stack">
575
- <h3 class="error-status">{{ status }}</h3>
576
- <div class="error-title">
577
- <h1 class="box">{{ name }} in {{ request.url }}</h1>
578
- <div class="context">{{ message }}</div>
579
- </div>
580
-
581
- <img class="error-logo" src="https://zos.alipayobjects.com/rmsportal/JFKAMfmPehWfhBPdCjrw.svg"/>
323
+ border-color: #e4e4e4;
324
+ }
325
+ .magic-radio:checked + label:before,
326
+ .magic-checkbox:checked + label:before {
327
+ animation-name: none;
328
+ }
329
+ .magic-radio:checked + label:after,
330
+ .magic-checkbox:checked + label:after {
331
+ display: block;
332
+ }
333
+ .magic-radio + label:before {
334
+ border-radius: 50%;
335
+ }
336
+ .magic-radio + label:after {
337
+ top: 6px;
338
+ left: 6px;
339
+ width: 8px;
340
+ height: 8px;
341
+ border-radius: 50%;
342
+ background: #53b783;
343
+ }
344
+ .magic-radio:checked + label:before {
345
+ border: 1px solid #53b783;
346
+ }
347
+ .magic-radio:checked[disabled] + label:before {
348
+ border: 1px solid #c9e2f9;
349
+ }
350
+ .magic-radio:checked[disabled] + label:after {
351
+ background: #c9e2f9;
352
+ }
353
+ .magic-checkbox + label:before {
354
+ border-radius: 3px;
355
+ }
356
+ .magic-checkbox + label:after {
357
+ top: 2px;
358
+ left: 7px;
359
+ box-sizing: border-box;
360
+ width: 6px;
361
+ height: 12px;
362
+ transform: rotate(45deg);
363
+ border-width: 2px;
364
+ border-style: solid;
365
+ border-color: #fff;
366
+ border-top: 0;
367
+ border-left: 0;
368
+ }
369
+ .magic-checkbox:checked + label:before {
370
+ border: #53b783;
371
+ background: #53b783;
372
+ }
373
+ .magic-checkbox:checked[disabled] + label:before {
374
+ border: #c9e2f9;
375
+ background: #c9e2f9;
376
+ }
377
+ </style>
582
378
 
583
- <div class="error-frames">
584
- <div class="frame-preview is-hidden">
585
- <div id="frame-file"></div>
586
- <div id="frame-code"><pre class="line-numbers"><code id="code-drop"></code></pre></div>
587
- <div id="frame-method"></div>
379
+ <style>
380
+ html,
381
+ body {
382
+ height: 100%;
383
+ width: 100%;
384
+ -webkit-font-smoothing: antialiased;
385
+ -moz-osx-font-smoothing: grayscale;
386
+ }
387
+ body {
388
+ font-family:
389
+ Helvetica Neue For Number,
390
+ -apple-system,
391
+ BlinkMacSystemFont,
392
+ Segoe UI,
393
+ Roboto,
394
+ PingFang SC,
395
+ Hiragino Sans GB,
396
+ Microsoft YaHei,
397
+ Helvetica Neue,
398
+ Helvetica,
399
+ Arial,
400
+ sans-serif;
401
+ font-size: 14px;
402
+ line-height: 24px;
403
+ color: #444;
404
+ }
405
+ * {
406
+ padding: 0;
407
+ margin: 0;
408
+ }
409
+ ::selection {
410
+ text-shadow: none;
411
+ color: #fff;
412
+ background: #98d8b7;
413
+ }
414
+ ::-moz-selection {
415
+ text-shadow: none;
416
+ color: #fff;
417
+ background: #98d8b7;
418
+ }
419
+ .error-page {
420
+ display: flex;
421
+ flex-direction: column;
422
+ width: 100%;
423
+ height: 100%;
424
+ }
425
+ .error-logo {
426
+ position: absolute;
427
+ top: -15px;
428
+ right: 0px;
429
+ }
430
+ .error-stack {
431
+ background: #f1f1f1;
432
+ padding: 140px 80px 40px;
433
+ box-sizing: border-box;
434
+ border-bottom: 1px solid #e2e2e2;
435
+ }
436
+ .error-status {
437
+ color: #afafaf;
438
+ font-size: 150px;
439
+ position: absolute;
440
+ opacity: 0.2;
441
+ left: 76px;
442
+ top: 80px;
443
+ font-weight: 600;
444
+ margin-bottom: 10px;
445
+ }
446
+ .error-name {
447
+ color: #db5461;
448
+ font-size: 18px;
449
+ font-family: menlo, 'sans-serif';
450
+ font-weight: 300;
451
+ margin-bottom: 15px;
452
+ }
453
+ .error-title {
454
+ border-bottom: 1px solid #e0e0e0;
455
+ padding-bottom: 26px;
456
+ margin-bottom: 20px;
457
+ margin-top: 48px;
458
+ }
459
+ .error-title .box {
460
+ color: #db5461;
461
+ font-weight: 700;
462
+ font-size: 20px;
463
+ margin-left: 5px;
464
+ }
465
+ .error-title .context {
466
+ color: #db5461;
467
+ font-weight: 400;
468
+ margin-left: 5px;
469
+ margin-top: 48px;
470
+ line-height: 1.5;
471
+ }
472
+ .error-frames {
473
+ display: flex;
474
+ flex-direction: row-reverse;
475
+ margin-top: 40px;
476
+ }
477
+ .frame-preview {
478
+ background: #fff;
479
+ width: 50%;
480
+ box-shadow: 0px 0px 9px #d3d3d3;
481
+ height: 100%;
482
+ box-sizing: border-box;
483
+ overflow: auto;
484
+ }
485
+ .frame-stack {
486
+ margin-right: 40px;
487
+ flex: 1;
488
+ padding: 10px 0;
489
+ box-sizing: border-box;
490
+ }
491
+ .frames-list {
492
+ overflow: auto;
493
+ max-height: 334px;
494
+ }
495
+ .frames-filter-selector {
496
+ margin-bottom: 30px;
497
+ margin-left: 8px;
498
+ }
499
+ .request-details {
500
+ padding: 50px 80px;
501
+ }
502
+ .request-title {
503
+ text-transform: uppercase;
504
+ font-size: 18px;
505
+ letter-spacing: 1px;
506
+ padding: 0 5px 5px 5px;
507
+ margin-bottom: 15px;
508
+ color: #53b783;
509
+ }
510
+ .request-details .table {
511
+ width: 100%;
512
+ border-collapse: collapse;
513
+ margin-bottom: 80px;
514
+ }
515
+ .request-details .tr {
516
+ display: flex;
517
+ flex-direction: row;
518
+ }
519
+ .request-details .tr:nth-of-type(even) {
520
+ background: #fbfbfb;
521
+ }
522
+ .request-details .table .td {
523
+ padding: 6px 5px;
524
+ font-size: 14px;
525
+ letter-spacing: 0.4px;
526
+ color: #455275;
527
+ border-bottom: 1px solid #e8e8e8;
528
+ word-break: break-word;
529
+ }
530
+ .request-details .table .td.title {
531
+ flex: 1;
532
+ color: #565655;
533
+ font-size: 14px;
534
+ font-weight: 600;
535
+ }
536
+ .request-details .table .td.content {
537
+ width: 70%;
538
+ }
539
+ .request-details .table .td.content.code {
540
+ background: #fff;
541
+ width: 70%;
542
+ box-shadow: 0px 0px 9px #d3d3d3;
543
+ height: 100%;
544
+ box-sizing: border-box;
545
+ overflow: auto;
546
+ }
547
+ code[class*='language-'],
548
+ pre[class*='language-'] {
549
+ background: transparent;
550
+ font-size: 13px;
551
+ line-height: 1.8;
552
+ }
553
+ .line-numbers .line-numbers-rows {
554
+ border: none;
555
+ }
556
+ .frame-row {
557
+ display: flex;
558
+ justify-content: space-between;
559
+ padding: 6px 10px 6px 34px;
560
+ position: relative;
561
+ cursor: pointer;
562
+ transition: background 300ms ease;
563
+ }
564
+ .frame-row.native-frame {
565
+ display: none;
566
+ opacity: 0.4;
567
+ }
568
+ .frame-row.native-frame.force-show {
569
+ display: flex;
570
+ }
571
+ .frame-row:after {
572
+ content: '';
573
+ background: #db5461;
574
+ position: absolute;
575
+ top: 50%;
576
+ left: 10px;
577
+ transform: translateY(-50%);
578
+ height: 10px;
579
+ width: 10px;
580
+ border-radius: 24px;
581
+ }
582
+ .frame-row:hover,
583
+ .frame-row.active {
584
+ background: #fff;
585
+ }
586
+ .frame-row.active {
587
+ opacity: 1;
588
+ }
589
+ .frame-row-filepath {
590
+ color: #455275;
591
+ font-weight: 600;
592
+ margin-right: 15px;
593
+ }
594
+ .frame-context {
595
+ display: none;
596
+ }
597
+ .frame-row-code {
598
+ color: #999;
599
+ }
600
+ #frame-file {
601
+ color: #455275;
602
+ font-weight: 600;
603
+ border-bottom: 1px solid #e8e8e8;
604
+ padding: 10px 22px;
605
+ }
606
+ #frame-method {
607
+ color: #999;
608
+ font-weight: 400;
609
+ border-top: 1px solid #e8e8e8;
610
+ padding: 10px 22px;
611
+ }
612
+ .is-hidden {
613
+ display: none;
614
+ }
615
+ </style>
616
+ </head>
617
+ <body>
618
+ <section class="error-page">
619
+ <section class="error-stack">
620
+ <h3 class="error-status">{{ status }}</h3>
621
+ <div class="error-title">
622
+ <h1 class="box">{{ name }} in {{ request.url }}</h1>
623
+ <div class="context">{{ message }}</div>
588
624
  </div>
589
625
 
590
- <div class="frame-stack">
591
- <div class="frames-filter-selector">
592
- <input type="checkbox" class="magic-checkbox" name="frames-filter" id="frames-filter">
593
- <label for="frames-filter">Show all frames</label>
626
+ <img class="error-logo" src="https://zos.alipayobjects.com/rmsportal/JFKAMfmPehWfhBPdCjrw.svg" />
627
+
628
+ <div class="error-frames">
629
+ <div class="frame-preview is-hidden">
630
+ <div id="frame-file"></div>
631
+ <div id="frame-code">
632
+ <pre class="line-numbers"><code id="code-drop"></code></pre>
633
+ </div>
634
+ <div id="frame-method"></div>
594
635
  </div>
595
636
 
596
- <div class="frames-list">
597
- {{#frames}}
598
- {{index}}
637
+ <div class="frame-stack">
638
+ <div class="frames-filter-selector">
639
+ <input type="checkbox" class="magic-checkbox" name="frames-filter" id="frames-filter" />
640
+ <label for="frames-filter">Show all frames</label>
641
+ </div>
642
+
643
+ <div class="frames-list">
644
+ {{#frames}} {{index}}
599
645
  <div class="frame-row {{classes}}">
600
- <div class="frame-row-filepath">
601
- {{ file }}:{{ line }}:{{ column }}
602
- </div>
603
- <div class="frame-row-code">
604
- {{ method }}
605
- </div>
606
- <div class="frame-context"
646
+ <div class="frame-row-filepath">{{ file }}:{{ line }}:{{ column }}</div>
647
+ <div class="frame-row-code">{{ method }}</div>
648
+ <div
649
+ class="frame-context"
607
650
  data-start="{{context.start}}"
608
651
  data-line="{{line}}"
609
652
  data-file="{{file}}"
610
653
  data-method="{{method}}"
611
654
  data-extname="{{extname}}"
612
655
  data-line-column="{{line}}:{{column}}"
613
- >{{ context.pre }}
614
- {{ context.line }}
615
- {{ context.post }}
656
+ >
657
+ {{ context.pre }} {{ context.line }} {{ context.post }}
616
658
  </div>
617
659
  </div>
618
- {{/frames}}
660
+ {{/frames}}
661
+ </div>
619
662
  </div>
620
663
  </div>
621
- </div>
622
- </section>
664
+ </section>
623
665
 
624
- <section class="request-details">
625
- <h2 class="request-title"> Request Details </h2>
626
- <div class="table">
627
- <div class="tr">
628
- <div class="td title"> URI </div>
629
- <div class="td content">{{ request.url }}</div>
630
- </div>
666
+ <section class="request-details">
667
+ <h2 class="request-title">Request Details</h2>
668
+ <div class="table">
669
+ <div class="tr">
670
+ <div class="td title">URI</div>
671
+ <div class="td content">{{ request.url }}</div>
672
+ </div>
631
673
 
632
- <div class="tr">
633
- <div class="td title"> Request Method </div>
634
- <div class="td content">{{ request.method }}</div>
635
- </div>
674
+ <div class="tr">
675
+ <div class="td title">Request Method</div>
676
+ <div class="td content">{{ request.method }}</div>
677
+ </div>
636
678
 
637
- <div class="tr">
638
- <div class="td title"> HTTP Version </div>
639
- <div class="td content">{{ request.httpVersion }}</div>
640
- </div>
679
+ <div class="tr">
680
+ <div class="td title">HTTP Version</div>
681
+ <div class="td content">{{ request.httpVersion }}</div>
682
+ </div>
641
683
 
642
- <div class="tr">
643
- <div class="td title"> Connection </div>
644
- <div class="td content">{{ request.connection }}</div>
684
+ <div class="tr">
685
+ <div class="td title">Connection</div>
686
+ <div class="td content">{{ request.connection }}</div>
687
+ </div>
645
688
  </div>
646
- </div>
647
689
 
648
- <h2 class="request-title"> Headers </h2>
649
- <div class="table">
650
- {{#request.headers}}
690
+ <h2 class="request-title">Headers</h2>
691
+ <div class="table">
692
+ {{#request.headers}}
651
693
  <div class="tr">
652
694
  <div class="td title">{{ key }}</div>
653
695
  <div class="td content">{{ value }}</div>
654
696
  </div>
655
- {{/request.headers}}
656
- </div>
697
+ {{/request.headers}}
698
+ </div>
657
699
 
658
- <h2 class="request-title"> Cookies </h2>
659
- <div class="table">
660
- {{#request.cookies}}
700
+ <h2 class="request-title">Cookies</h2>
701
+ <div class="table">
702
+ {{#request.cookies}}
661
703
  <div class="tr">
662
704
  <div class="td title">{{ key }}</div>
663
705
  <div class="td content">{{ value }}</div>
664
706
  </div>
665
- {{/request.cookies}}
666
- </div>
667
- <h2 class="request-title"> AppInfo </h2>
668
- <div class="table">
669
- <div class="tr">
670
- <div class="td title"> baseDir </div>
671
- <div class="td content">{{ appInfo.baseDir }}</div>
707
+ {{/request.cookies}}
672
708
  </div>
673
- <div class="tr">
674
- <div class="td title"> config </div>
675
- <div class="td content code">
676
- <pre class="line-numbers"><code class="language-json">{{ appInfo.config }}</code></pre>
709
+ <h2 class="request-title">AppInfo</h2>
710
+ <div class="table">
711
+ <div class="tr">
712
+ <div class="td title">baseDir</div>
713
+ <div class="td content">{{ appInfo.baseDir }}</div>
714
+ </div>
715
+ <div class="tr">
716
+ <div class="td title">config</div>
717
+ <div class="td content code">
718
+ <pre class="line-numbers"><code class="language-json">{{ appInfo.config }}</code></pre>
719
+ </div>
677
720
  </div>
678
721
  </div>
679
- </div>
680
- </section>
722
+ </section>
681
723
 
682
- <script type="text/javascript">
683
- var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(\w+)\b/i,t=0,n=_self.Prism={util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function(e){var t=n.util.type(e);switch(t){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=n.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return n.util.clone(e)})}return e}},languages:{extend:function(e,t){var a=n.util.clone(n.languages[e]);for(var r in t)a[r]=t[r];return a},insertBefore:function(e,t,a,r){r=r||n.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==t)for(var l in a)a.hasOwnProperty(l)&&(o[l]=a[l]);o[s]=i[s]}return n.languages.DFS(n.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,t,a,r){r=r||{};for(var i in e)e.hasOwnProperty(i)&&(t.call(e,i,e[i],a||i),"Object"!==n.util.type(e[i])||r[n.util.objId(e[i])]?"Array"!==n.util.type(e[i])||r[n.util.objId(e[i])]||(r[n.util.objId(e[i])]=!0,n.languages.DFS(e[i],t,i,r)):(r[n.util.objId(e[i])]=!0,n.languages.DFS(e[i],t,null,r)))}},plugins:{},highlightAll:function(e,t){var a={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",a);for(var r,i=a.elements||document.querySelectorAll(a.selector),l=0;r=i[l++];)n.highlightElement(r,e===!0,a.callback)},highlightElement:function(t,a,r){for(var i,l,o=t;o&&!e.test(o.className);)o=o.parentNode;o&&(i=(o.className.match(e)||[,""])[1].toLowerCase(),l=n.languages[i]),t.className=t.className.replace(e,"").replace(/\s+/g," ")+" language-"+i,o=t.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+i);var s=t.textContent,u={element:t,language:i,grammar:l,code:s};if(n.hooks.run("before-sanity-check",u),!u.code||!u.grammar)return u.code&&(u.element.textContent=u.code),n.hooks.run("complete",u),void 0;if(n.hooks.run("before-highlight",u),a&&_self.Worker){var g=new Worker(n.filename);g.onmessage=function(e){u.highlightedCode=e.data,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(u.element),n.hooks.run("after-highlight",u),n.hooks.run("complete",u)},g.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=n.highlight(u.code,u.grammar,u.language),n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(t),n.hooks.run("after-highlight",u),n.hooks.run("complete",u)},highlight:function(e,t,r){var i=n.tokenize(e,t);return a.stringify(n.util.encode(i),r)},tokenize:function(e,t){var a=n.Token,r=[e],i=t.rest;if(i){for(var l in i)t[l]=i[l];delete t.rest}e:for(var l in t)if(t.hasOwnProperty(l)&&t[l]){var o=t[l];o="Array"===n.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],g=u.inside,c=!!u.lookbehind,h=!!u.greedy,f=0,d=u.alias;if(h&&!u.pattern.global){var p=u.pattern.toString().match(/[imuy]*$/)[0];u.pattern=RegExp(u.pattern.source,p+"g")}u=u.pattern||u;for(var m=0,y=0;m<r.length;y+=r[m].length,++m){var v=r[m];if(r.length>e.length)break e;if(!(v instanceof a)){u.lastIndex=0;var b=u.exec(v),k=1;if(!b&&h&&m!=r.length-1){if(u.lastIndex=y,b=u.exec(e),!b)break;for(var w=b.index+(c?b[1].length:0),_=b.index+b[0].length,A=m,P=y,j=r.length;j>A&&_>P;++A)P+=r[A].length,w>=P&&(++m,y=P);if(r[m]instanceof a||r[A-1].greedy)continue;k=A-m,v=e.slice(y,P),b.index-=y}if(b){c&&(f=b[1].length);var w=b.index+f,b=b[0].slice(f),_=w+b.length,x=v.slice(0,w),O=v.slice(_),S=[m,k];x&&S.push(x);var N=new a(l,g?n.tokenize(b,g):b,d,b,h);S.push(N),O&&S.push(O),Array.prototype.splice.apply(r,S)}}}}}return r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length,this.greedy=!!r};if(a.stringify=function(e,t,r){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var i={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}n.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+"</"+i.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,i=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),i&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,document.addEventListener&&!r.hasAttribute("data-manual")&&("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
684
- Prism.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/i,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,"&"))}),Prism.languages.xml=Prism.languages.markup,Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;
685
- Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:"language-css"}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},Prism.languages.markup.tag));
686
- Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};
687
- Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript"}}),Prism.languages.js=Prism.languages.javascript;
688
- Prism.languages.json={property:/"(?:\\.|[^\\"])*"(?=\s*:)/gi,string:/"(?!:)(?:\\.|[^\\"])*"(?!:)/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/g,punctuation:/[{}[\]);,]/g,operator:/:/g,"boolean":/\b(true|false)\b/gi,"null":/\bnull\b/gi},Prism.languages.jsonp=Prism.languages.json;
689
- Prism.languages.typescript=Prism.languages.extend("javascript",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|false|true|module|declare|constructor|string|Function|any|number|boolean|Array|enum|symbol|namespace|abstract|require|type)\b/}),Prism.languages.ts=Prism.languages.typescript;
690
- !function(){function e(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function t(e,t){return t=" "+t+" ",(" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(t)>-1}function n(e,n,i){for(var o,a=n.replace(/\s+/g,"").split(","),l=+e.getAttribute("data-line-offset")||0,d=r()?parseInt:parseFloat,c=d(getComputedStyle(e).lineHeight),s=0;o=a[s++];){o=o.split("-");var u=+o[0],m=+o[1]||u,h=document.createElement("div");h.textContent=Array(m-u+2).join(" \n"),h.setAttribute("aria-hidden","true"),h.className=(i||"")+" line-highlight",t(e,"line-numbers")||(h.setAttribute("data-start",u),m>u&&h.setAttribute("data-end",m)),h.style.top=(u-l-1)*c+"px",t(e,"line-numbers")?e.appendChild(h):(e.querySelector("code")||e).appendChild(h)}}function i(){var t=location.hash.slice(1);e(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)});var i=(t.match(/\.([\d,-]+)$/)||[,""])[1];if(i&&!document.getElementById(t)){var r=t.slice(0,t.lastIndexOf(".")),o=document.getElementById(r);o&&(o.hasAttribute("data-line")||o.setAttribute("data-line",""),n(o,i,"temporary "),document.querySelector(".temporary.line-highlight").scrollIntoView())}}if("undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector){var r=function(){var e;return function(){if("undefined"==typeof e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding=0,t.style.border=0,t.innerHTML="&nbsp;<br />&nbsp;",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}}(),o=0;Prism.hooks.add("complete",function(t){var r=t.element.parentNode,a=r&&r.getAttribute("data-line");r&&a&&/pre/i.test(r.nodeName)&&(clearTimeout(o),e(".line-highlight",r).forEach(function(e){e.parentNode.removeChild(e)}),n(r,a),o=setTimeout(i,1))}),window.addEventListener&&window.addEventListener("hashchange",i)}}();
691
- !function(){"undefined"!=typeof self&&self.Prism&&self.document&&Prism.hooks.add("complete",function(e){if(e.code){var t=e.element.parentNode,s=/\s*\bline-numbers\b\s*/;if(t&&/pre/i.test(t.nodeName)&&(s.test(t.className)||s.test(e.element.className))&&!e.element.querySelector(".line-numbers-rows")){s.test(e.element.className)&&(e.element.className=e.element.className.replace(s,"")),s.test(t.className)||(t.className+=" line-numbers");var n,a=e.code.match(/\n(?!$)/g),l=a?a.length+1:1,r=new Array(l+1);r=r.join("<span></span>"),n=document.createElement("span"),n.setAttribute("aria-hidden","true"),n.className="line-numbers-rows",n.innerHTML=r,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),e.element.appendChild(n)}}})}();
692
- </script>
693
- <script>
694
- (function() {
695
- const $ = function(value) { return document.querySelector(value) };
696
- const $$ = function(value) { return document.querySelectorAll(value) };
697
- var nativeFramesLength = $$('.frame-row.native-frame').length;
698
- var allFramesLength = $$('.frame-row').length;
699
- function filterFrames () {
700
- $('.frame-preview').classList.remove('is-hidden');
701
- var isSelected = $('#frames-filter').checked;
702
- if (isSelected) {
703
- $$('.frame-row.native-frame').forEach(function(node) {
704
- node.classList.add('force-show');
705
- });
706
- } else {
707
- $$('.frame-row.native-frame').forEach(function(node) {
708
- node.classList.remove('force-show');
724
+ <script type="text/javascript">
725
+ var _self =
726
+ 'undefined' != typeof window
727
+ ? window
728
+ : 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope
729
+ ? self
730
+ : {},
731
+ Prism = (function () {
732
+ var e = /\blang(?:uage)?-(\w+)\b/i,
733
+ t = 0,
734
+ n = (_self.Prism = {
735
+ util: {
736
+ encode: function (e) {
737
+ return e instanceof a
738
+ ? new a(e.type, n.util.encode(e.content), e.alias)
739
+ : 'Array' === n.util.type(e)
740
+ ? e.map(n.util.encode)
741
+ : e
742
+ .replace(/&/g, '&amp;')
743
+ .replace(/</g, '&lt;')
744
+ .replace(/\u00a0/g, ' ');
745
+ },
746
+ type: function (e) {
747
+ return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1];
748
+ },
749
+ objId: function (e) {
750
+ return (e.__id || Object.defineProperty(e, '__id', { value: ++t }), e.__id);
751
+ },
752
+ clone: function (e) {
753
+ var t = n.util.type(e);
754
+ switch (t) {
755
+ case 'Object':
756
+ var a = {};
757
+ for (var r in e) e.hasOwnProperty(r) && (a[r] = n.util.clone(e[r]));
758
+ return a;
759
+ case 'Array':
760
+ return (
761
+ e.map &&
762
+ e.map(function (e) {
763
+ return n.util.clone(e);
764
+ })
765
+ );
766
+ }
767
+ return e;
768
+ },
769
+ },
770
+ languages: {
771
+ extend: function (e, t) {
772
+ var a = n.util.clone(n.languages[e]);
773
+ for (var r in t) a[r] = t[r];
774
+ return a;
775
+ },
776
+ insertBefore: function (e, t, a, r) {
777
+ r = r || n.languages;
778
+ var i = r[e];
779
+ if (2 == arguments.length) {
780
+ a = arguments[1];
781
+ for (var l in a) a.hasOwnProperty(l) && (i[l] = a[l]);
782
+ return i;
783
+ }
784
+ var o = {};
785
+ for (var s in i)
786
+ if (i.hasOwnProperty(s)) {
787
+ if (s == t) for (var l in a) a.hasOwnProperty(l) && (o[l] = a[l]);
788
+ o[s] = i[s];
789
+ }
790
+ return (
791
+ n.languages.DFS(n.languages, function (t, n) {
792
+ n === r[e] && t != e && (this[t] = o);
793
+ }),
794
+ (r[e] = o)
795
+ );
796
+ },
797
+ DFS: function (e, t, a, r) {
798
+ r = r || {};
799
+ for (var i in e)
800
+ e.hasOwnProperty(i) &&
801
+ (t.call(e, i, e[i], a || i),
802
+ 'Object' !== n.util.type(e[i]) || r[n.util.objId(e[i])]
803
+ ? 'Array' !== n.util.type(e[i]) ||
804
+ r[n.util.objId(e[i])] ||
805
+ ((r[n.util.objId(e[i])] = !0), n.languages.DFS(e[i], t, i, r))
806
+ : ((r[n.util.objId(e[i])] = !0), n.languages.DFS(e[i], t, null, r)));
807
+ },
808
+ },
809
+ plugins: {},
810
+ highlightAll: function (e, t) {
811
+ var a = {
812
+ callback: t,
813
+ selector:
814
+ 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code',
815
+ };
816
+ n.hooks.run('before-highlightall', a);
817
+ for (var r, i = a.elements || document.querySelectorAll(a.selector), l = 0; (r = i[l++]); )
818
+ n.highlightElement(r, e === !0, a.callback);
819
+ },
820
+ highlightElement: function (t, a, r) {
821
+ for (var i, l, o = t; o && !e.test(o.className); ) o = o.parentNode;
822
+ (o && ((i = (o.className.match(e) || [, ''])[1].toLowerCase()), (l = n.languages[i])),
823
+ (t.className = t.className.replace(e, '').replace(/\s+/g, ' ') + ' language-' + i),
824
+ (o = t.parentNode),
825
+ /pre/i.test(o.nodeName) &&
826
+ (o.className = o.className.replace(e, '').replace(/\s+/g, ' ') + ' language-' + i));
827
+ var s = t.textContent,
828
+ u = { element: t, language: i, grammar: l, code: s };
829
+ if ((n.hooks.run('before-sanity-check', u), !u.code || !u.grammar))
830
+ return (u.code && (u.element.textContent = u.code), n.hooks.run('complete', u), void 0);
831
+ if ((n.hooks.run('before-highlight', u), a && _self.Worker)) {
832
+ var g = new Worker(n.filename);
833
+ ((g.onmessage = function (e) {
834
+ ((u.highlightedCode = e.data),
835
+ n.hooks.run('before-insert', u),
836
+ (u.element.innerHTML = u.highlightedCode),
837
+ r && r.call(u.element),
838
+ n.hooks.run('after-highlight', u),
839
+ n.hooks.run('complete', u));
840
+ }),
841
+ g.postMessage(JSON.stringify({ language: u.language, code: u.code, immediateClose: !0 })));
842
+ } else
843
+ ((u.highlightedCode = n.highlight(u.code, u.grammar, u.language)),
844
+ n.hooks.run('before-insert', u),
845
+ (u.element.innerHTML = u.highlightedCode),
846
+ r && r.call(t),
847
+ n.hooks.run('after-highlight', u),
848
+ n.hooks.run('complete', u));
849
+ },
850
+ highlight: function (e, t, r) {
851
+ var i = n.tokenize(e, t);
852
+ return a.stringify(n.util.encode(i), r);
853
+ },
854
+ tokenize: function (e, t) {
855
+ var a = n.Token,
856
+ r = [e],
857
+ i = t.rest;
858
+ if (i) {
859
+ for (var l in i) t[l] = i[l];
860
+ delete t.rest;
861
+ }
862
+ e: for (var l in t)
863
+ if (t.hasOwnProperty(l) && t[l]) {
864
+ var o = t[l];
865
+ o = 'Array' === n.util.type(o) ? o : [o];
866
+ for (var s = 0; s < o.length; ++s) {
867
+ var u = o[s],
868
+ g = u.inside,
869
+ c = !!u.lookbehind,
870
+ h = !!u.greedy,
871
+ f = 0,
872
+ d = u.alias;
873
+ if (h && !u.pattern.global) {
874
+ var p = u.pattern.toString().match(/[imuy]*$/)[0];
875
+ u.pattern = RegExp(u.pattern.source, p + 'g');
876
+ }
877
+ u = u.pattern || u;
878
+ for (var m = 0, y = 0; m < r.length; y += r[m].length, ++m) {
879
+ var v = r[m];
880
+ if (r.length > e.length) break e;
881
+ if (!(v instanceof a)) {
882
+ u.lastIndex = 0;
883
+ var b = u.exec(v),
884
+ k = 1;
885
+ if (!b && h && m != r.length - 1) {
886
+ if (((u.lastIndex = y), (b = u.exec(e)), !b)) break;
887
+ for (
888
+ var w = b.index + (c ? b[1].length : 0),
889
+ _ = b.index + b[0].length,
890
+ A = m,
891
+ P = y,
892
+ j = r.length;
893
+ j > A && _ > P;
894
+ ++A
895
+ )
896
+ ((P += r[A].length), w >= P && (++m, (y = P)));
897
+ if (r[m] instanceof a || r[A - 1].greedy) continue;
898
+ ((k = A - m), (v = e.slice(y, P)), (b.index -= y));
899
+ }
900
+ if (b) {
901
+ c && (f = b[1].length);
902
+ var w = b.index + f,
903
+ b = b[0].slice(f),
904
+ _ = w + b.length,
905
+ x = v.slice(0, w),
906
+ O = v.slice(_),
907
+ S = [m, k];
908
+ x && S.push(x);
909
+ var N = new a(l, g ? n.tokenize(b, g) : b, d, b, h);
910
+ (S.push(N), O && S.push(O), Array.prototype.splice.apply(r, S));
911
+ }
912
+ }
913
+ }
914
+ }
915
+ }
916
+ return r;
917
+ },
918
+ hooks: {
919
+ all: {},
920
+ add: function (e, t) {
921
+ var a = n.hooks.all;
922
+ ((a[e] = a[e] || []), a[e].push(t));
923
+ },
924
+ run: function (e, t) {
925
+ var a = n.hooks.all[e];
926
+ if (a && a.length) for (var r, i = 0; (r = a[i++]); ) r(t);
927
+ },
928
+ },
929
+ }),
930
+ a = (n.Token = function (e, t, n, a, r) {
931
+ ((this.type = e),
932
+ (this.content = t),
933
+ (this.alias = n),
934
+ (this.length = 0 | (a || '').length),
935
+ (this.greedy = !!r));
936
+ });
937
+ if (
938
+ ((a.stringify = function (e, t, r) {
939
+ if ('string' == typeof e) return e;
940
+ if ('Array' === n.util.type(e))
941
+ return e
942
+ .map(function (n) {
943
+ return a.stringify(n, t, e);
944
+ })
945
+ .join('');
946
+ var i = {
947
+ type: e.type,
948
+ content: a.stringify(e.content, t, r),
949
+ tag: 'span',
950
+ classes: ['token', e.type],
951
+ attributes: {},
952
+ language: t,
953
+ parent: r,
954
+ };
955
+ if (('comment' == i.type && (i.attributes.spellcheck = 'true'), e.alias)) {
956
+ var l = 'Array' === n.util.type(e.alias) ? e.alias : [e.alias];
957
+ Array.prototype.push.apply(i.classes, l);
958
+ }
959
+ n.hooks.run('wrap', i);
960
+ var o = Object.keys(i.attributes)
961
+ .map(function (e) {
962
+ return e + '="' + (i.attributes[e] || '').replace(/"/g, '&quot;') + '"';
963
+ })
964
+ .join(' ');
965
+ return (
966
+ '<' +
967
+ i.tag +
968
+ ' class="' +
969
+ i.classes.join(' ') +
970
+ '"' +
971
+ (o ? ' ' + o : '') +
972
+ '>' +
973
+ i.content +
974
+ '</' +
975
+ i.tag +
976
+ '>'
977
+ );
978
+ }),
979
+ !_self.document)
980
+ )
981
+ return _self.addEventListener
982
+ ? (_self.addEventListener(
983
+ 'message',
984
+ function (e) {
985
+ var t = JSON.parse(e.data),
986
+ a = t.language,
987
+ r = t.code,
988
+ i = t.immediateClose;
989
+ (_self.postMessage(n.highlight(r, n.languages[a], a)), i && _self.close());
990
+ },
991
+ !1
992
+ ),
993
+ _self.Prism)
994
+ : _self.Prism;
995
+ var r = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop();
996
+ return (
997
+ r &&
998
+ ((n.filename = r.src),
999
+ document.addEventListener &&
1000
+ !r.hasAttribute('data-manual') &&
1001
+ ('loading' !== document.readyState
1002
+ ? window.requestAnimationFrame
1003
+ ? window.requestAnimationFrame(n.highlightAll)
1004
+ : window.setTimeout(n.highlightAll, 16)
1005
+ : document.addEventListener('DOMContentLoaded', n.highlightAll))),
1006
+ _self.Prism
1007
+ );
1008
+ })();
1009
+ ('undefined' != typeof module && module.exports && (module.exports = Prism),
1010
+ 'undefined' != typeof global && (global.Prism = Prism));
1011
+ ((Prism.languages.markup = {
1012
+ comment: /<!--[\w\W]*?-->/,
1013
+ prolog: /<\?[\w\W]+?\?>/,
1014
+ doctype: /<!DOCTYPE[\w\W]+?>/i,
1015
+ cdata: /<!\[CDATA\[[\w\W]*?]]>/i,
1016
+ tag: {
1017
+ pattern:
1018
+ /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
1019
+ inside: {
1020
+ tag: { pattern: /^<\/?[^\s>\/]+/i, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } },
1021
+ 'attr-value': { pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i, inside: { punctuation: /[=>"']/ } },
1022
+ punctuation: /\/?>/,
1023
+ 'attr-name': { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } },
1024
+ },
1025
+ },
1026
+ entity: /&#?[\da-z]{1,8};/i,
1027
+ }),
1028
+ Prism.hooks.add('wrap', function (a) {
1029
+ 'entity' === a.type && (a.attributes.title = a.content.replace(/&amp;/, '&'));
1030
+ }),
1031
+ (Prism.languages.xml = Prism.languages.markup),
1032
+ (Prism.languages.html = Prism.languages.markup),
1033
+ (Prism.languages.mathml = Prism.languages.markup),
1034
+ (Prism.languages.svg = Prism.languages.markup));
1035
+ ((Prism.languages.css = {
1036
+ comment: /\/\*[\w\W]*?\*\//,
1037
+ atrule: { pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i, inside: { rule: /@[\w-]+/ } },
1038
+ url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
1039
+ selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
1040
+ string: { pattern: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/, greedy: !0 },
1041
+ property: /(\b|\B)[\w-]+(?=\s*:)/i,
1042
+ important: /\B!important\b/i,
1043
+ function: /[-a-z0-9]+(?=\()/i,
1044
+ punctuation: /[(){};:]/,
1045
+ }),
1046
+ (Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css)),
1047
+ Prism.languages.markup &&
1048
+ (Prism.languages.insertBefore('markup', 'tag', {
1049
+ style: {
1050
+ pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
1051
+ lookbehind: !0,
1052
+ inside: Prism.languages.css,
1053
+ alias: 'language-css',
1054
+ },
1055
+ }),
1056
+ Prism.languages.insertBefore(
1057
+ 'inside',
1058
+ 'attr-value',
1059
+ {
1060
+ 'style-attr': {
1061
+ pattern: /\s*style=("|').*?\1/i,
1062
+ inside: {
1063
+ 'attr-name': { pattern: /^\s*style/i, inside: Prism.languages.markup.tag.inside },
1064
+ punctuation: /^\s*=\s*['"]|['"]\s*$/,
1065
+ 'attr-value': { pattern: /.+/i, inside: Prism.languages.css },
1066
+ },
1067
+ alias: 'language-css',
1068
+ },
1069
+ },
1070
+ Prism.languages.markup.tag
1071
+ )));
1072
+ Prism.languages.clike = {
1073
+ comment: [
1074
+ { pattern: /(^|[^\\])\/\*[\w\W]*?\*\//, lookbehind: !0 },
1075
+ { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0 },
1076
+ ],
1077
+ string: { pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 },
1078
+ 'class-name': {
1079
+ pattern:
1080
+ /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
1081
+ lookbehind: !0,
1082
+ inside: { punctuation: /(\.|\\)/ },
1083
+ },
1084
+ keyword:
1085
+ /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
1086
+ boolean: /\b(true|false)\b/,
1087
+ function: /[a-z0-9_]+(?=\()/i,
1088
+ number: /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
1089
+ operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
1090
+ punctuation: /[{}[\];(),.:]/,
1091
+ };
1092
+ ((Prism.languages.javascript = Prism.languages.extend('clike', {
1093
+ keyword:
1094
+ /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
1095
+ number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
1096
+ function: /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,
1097
+ operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/,
1098
+ })),
1099
+ Prism.languages.insertBefore('javascript', 'keyword', {
1100
+ regex: {
1101
+ pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
1102
+ lookbehind: !0,
1103
+ greedy: !0,
1104
+ },
1105
+ }),
1106
+ Prism.languages.insertBefore('javascript', 'string', {
1107
+ 'template-string': {
1108
+ pattern: /`(?:\\\\|\\?[^\\])*?`/,
1109
+ greedy: !0,
1110
+ inside: {
1111
+ interpolation: {
1112
+ pattern: /\$\{[^}]+\}/,
1113
+ inside: {
1114
+ 'interpolation-punctuation': { pattern: /^\$\{|\}$/, alias: 'punctuation' },
1115
+ rest: Prism.languages.javascript,
1116
+ },
1117
+ },
1118
+ string: /[\s\S]+/,
1119
+ },
1120
+ },
1121
+ }),
1122
+ Prism.languages.markup &&
1123
+ Prism.languages.insertBefore('markup', 'tag', {
1124
+ script: {
1125
+ pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
1126
+ lookbehind: !0,
1127
+ inside: Prism.languages.javascript,
1128
+ alias: 'language-javascript',
1129
+ },
1130
+ }),
1131
+ (Prism.languages.js = Prism.languages.javascript));
1132
+ ((Prism.languages.json = {
1133
+ property: /"(?:\\.|[^\\"])*"(?=\s*:)/gi,
1134
+ string: /"(?!:)(?:\\.|[^\\"])*"(?!:)/g,
1135
+ number: /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/g,
1136
+ punctuation: /[{}[\]);,]/g,
1137
+ operator: /:/g,
1138
+ boolean: /\b(true|false)\b/gi,
1139
+ null: /\bnull\b/gi,
1140
+ }),
1141
+ (Prism.languages.jsonp = Prism.languages.json));
1142
+ ((Prism.languages.typescript = Prism.languages.extend('javascript', {
1143
+ keyword:
1144
+ /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|false|true|module|declare|constructor|string|Function|any|number|boolean|Array|enum|symbol|namespace|abstract|require|type)\b/,
1145
+ })),
1146
+ (Prism.languages.ts = Prism.languages.typescript));
1147
+ !(function () {
1148
+ function e(e, t) {
1149
+ return Array.prototype.slice.call((t || document).querySelectorAll(e));
1150
+ }
1151
+ function t(e, t) {
1152
+ return ((t = ' ' + t + ' '), (' ' + e.className + ' ').replace(/[\n\t]/g, ' ').indexOf(t) > -1);
1153
+ }
1154
+ function n(e, n, i) {
1155
+ for (
1156
+ var o,
1157
+ a = n.replace(/\s+/g, '').split(','),
1158
+ l = +e.getAttribute('data-line-offset') || 0,
1159
+ d = r() ? parseInt : parseFloat,
1160
+ c = d(getComputedStyle(e).lineHeight),
1161
+ s = 0;
1162
+ (o = a[s++]);
1163
+
1164
+ ) {
1165
+ o = o.split('-');
1166
+ var u = +o[0],
1167
+ m = +o[1] || u,
1168
+ h = document.createElement('div');
1169
+ ((h.textContent = Array(m - u + 2).join(' \n')),
1170
+ h.setAttribute('aria-hidden', 'true'),
1171
+ (h.className = (i || '') + ' line-highlight'),
1172
+ t(e, 'line-numbers') || (h.setAttribute('data-start', u), m > u && h.setAttribute('data-end', m)),
1173
+ (h.style.top = (u - l - 1) * c + 'px'),
1174
+ t(e, 'line-numbers') ? e.appendChild(h) : (e.querySelector('code') || e).appendChild(h));
1175
+ }
1176
+ }
1177
+ function i() {
1178
+ var t = location.hash.slice(1);
1179
+ e('.temporary.line-highlight').forEach(function (e) {
1180
+ e.parentNode.removeChild(e);
709
1181
  });
710
- var activeFrame = $('.frame-row.active');
711
- if (activeFrame.classList.contains('native-frame')) {
712
- activeFrame.classList.remove('active');
713
- var firstFrame = $$('.frame-row')[0];
714
- firstFrame.classList.add('active');
715
- showFrameContext(firstFrame);
1182
+ var i = (t.match(/\.([\d,-]+)$/) || [, ''])[1];
1183
+ if (i && !document.getElementById(t)) {
1184
+ var r = t.slice(0, t.lastIndexOf('.')),
1185
+ o = document.getElementById(r);
1186
+ o &&
1187
+ (o.hasAttribute('data-line') || o.setAttribute('data-line', ''),
1188
+ n(o, i, 'temporary '),
1189
+ document.querySelector('.temporary.line-highlight').scrollIntoView());
716
1190
  }
717
1191
  }
718
- }
719
- function displayFirstView () {
720
- if (nativeFramesLength !== allFramesLength) {
1192
+ if ('undefined' != typeof self && self.Prism && self.document && document.querySelector) {
1193
+ var r = (function () {
1194
+ var e;
1195
+ return function () {
1196
+ if ('undefined' == typeof e) {
1197
+ var t = document.createElement('div');
1198
+ ((t.style.fontSize = '13px'),
1199
+ (t.style.lineHeight = '1.5'),
1200
+ (t.style.padding = 0),
1201
+ (t.style.border = 0),
1202
+ (t.innerHTML = '&nbsp;<br />&nbsp;'),
1203
+ document.body.appendChild(t),
1204
+ (e = 38 === t.offsetHeight),
1205
+ document.body.removeChild(t));
1206
+ }
1207
+ return e;
1208
+ };
1209
+ })(),
1210
+ o = 0;
1211
+ (Prism.hooks.add('complete', function (t) {
1212
+ var r = t.element.parentNode,
1213
+ a = r && r.getAttribute('data-line');
1214
+ r &&
1215
+ a &&
1216
+ /pre/i.test(r.nodeName) &&
1217
+ (clearTimeout(o),
1218
+ e('.line-highlight', r).forEach(function (e) {
1219
+ e.parentNode.removeChild(e);
1220
+ }),
1221
+ n(r, a),
1222
+ (o = setTimeout(i, 1)));
1223
+ }),
1224
+ window.addEventListener && window.addEventListener('hashchange', i));
1225
+ }
1226
+ })();
1227
+ !(function () {
1228
+ 'undefined' != typeof self &&
1229
+ self.Prism &&
1230
+ self.document &&
1231
+ Prism.hooks.add('complete', function (e) {
1232
+ if (e.code) {
1233
+ var t = e.element.parentNode,
1234
+ s = /\s*\bline-numbers\b\s*/;
1235
+ if (
1236
+ t &&
1237
+ /pre/i.test(t.nodeName) &&
1238
+ (s.test(t.className) || s.test(e.element.className)) &&
1239
+ !e.element.querySelector('.line-numbers-rows')
1240
+ ) {
1241
+ (s.test(e.element.className) && (e.element.className = e.element.className.replace(s, '')),
1242
+ s.test(t.className) || (t.className += ' line-numbers'));
1243
+ var n,
1244
+ a = e.code.match(/\n(?!$)/g),
1245
+ l = a ? a.length + 1 : 1,
1246
+ r = new Array(l + 1);
1247
+ ((r = r.join('<span></span>')),
1248
+ (n = document.createElement('span')),
1249
+ n.setAttribute('aria-hidden', 'true'),
1250
+ (n.className = 'line-numbers-rows'),
1251
+ (n.innerHTML = r),
1252
+ t.hasAttribute('data-start') &&
1253
+ (t.style.counterReset = 'linenumber ' + (parseInt(t.getAttribute('data-start'), 10) - 1)),
1254
+ e.element.appendChild(n));
1255
+ }
1256
+ }
1257
+ });
1258
+ })();
1259
+ </script>
1260
+ <script>
1261
+ (function () {
1262
+ const $ = function (value) {
1263
+ return document.querySelector(value);
1264
+ };
1265
+ const $$ = function (value) {
1266
+ return document.querySelectorAll(value);
1267
+ };
1268
+ var nativeFramesLength = $$('.frame-row.native-frame').length;
1269
+ var allFramesLength = $$('.frame-row').length;
1270
+ function filterFrames() {
721
1271
  $('.frame-preview').classList.remove('is-hidden');
1272
+ var isSelected = $('#frames-filter').checked;
1273
+ if (isSelected) {
1274
+ $$('.frame-row.native-frame').forEach(function (node) {
1275
+ node.classList.add('force-show');
1276
+ });
1277
+ } else {
1278
+ $$('.frame-row.native-frame').forEach(function (node) {
1279
+ node.classList.remove('force-show');
1280
+ });
1281
+ var activeFrame = $('.frame-row.active');
1282
+ if (activeFrame.classList.contains('native-frame')) {
1283
+ activeFrame.classList.remove('active');
1284
+ var firstFrame = $$('.frame-row')[0];
1285
+ firstFrame.classList.add('active');
1286
+ showFrameContext(firstFrame);
1287
+ }
1288
+ }
722
1289
  }
723
- }
724
- function showFrameContext (frame) {
725
- $frameContext = frame.querySelector('.frame-context');
726
- var $context = $frameContext.innerHTML;
727
- $context = $context.trim().length === 0 ? 'Missing stack frames' : $context;
728
- var $line = $frameContext.getAttribute('data-line');
729
- var $start = $frameContext.getAttribute('data-start');
730
- var $file = $frameContext.getAttribute('data-file');
731
- var $method = $frameContext.getAttribute('data-method');
732
- var $lineColumn = $frameContext.getAttribute('data-line-column');
733
- var $language = $frameContext.getAttribute('data-extname') || 'js';
734
- $('#code-drop').parentNode.setAttribute('data-line', $line);
735
- $('#code-drop').parentNode.setAttribute('data-start', $start);
736
- $('#code-drop').parentNode.setAttribute('data-language', $language);
737
- $('#code-drop').parentNode.setAttribute('data-line-offset', (Number($start) - 1));
738
- $('#code-drop').setAttribute('class', 'language-' + $language);
739
- $('#code-drop').innerHTML = $context;
740
- $('#frame-file').innerHTML = $file;
741
- $('#frame-method').innerHTML = $method + '' + $lineColumn;
1290
+ function displayFirstView() {
1291
+ if (nativeFramesLength !== allFramesLength) {
1292
+ $('.frame-preview').classList.remove('is-hidden');
1293
+ }
1294
+ }
1295
+ function showFrameContext(frame) {
1296
+ $frameContext = frame.querySelector('.frame-context');
1297
+ var $context = $frameContext.innerHTML;
1298
+ $context = $context.trim().length === 0 ? 'Missing stack frames' : $context;
1299
+ var $line = $frameContext.getAttribute('data-line');
1300
+ var $start = $frameContext.getAttribute('data-start');
1301
+ var $file = $frameContext.getAttribute('data-file');
1302
+ var $method = $frameContext.getAttribute('data-method');
1303
+ var $lineColumn = $frameContext.getAttribute('data-line-column');
1304
+ var $language = $frameContext.getAttribute('data-extname') || 'js';
1305
+ $('#code-drop').parentNode.setAttribute('data-line', $line);
1306
+ $('#code-drop').parentNode.setAttribute('data-start', $start);
1307
+ $('#code-drop').parentNode.setAttribute('data-language', $language);
1308
+ $('#code-drop').parentNode.setAttribute('data-line-offset', Number($start) - 1);
1309
+ $('#code-drop').setAttribute('class', 'language-' + $language);
1310
+ $('#code-drop').innerHTML = $context;
1311
+ $('#frame-file').innerHTML = $file;
1312
+ $('#frame-method').innerHTML = $method + '' + $lineColumn;
742
1313
 
743
- Prism.highlightAll();
744
- }
745
- $$('.frame-row').forEach(function(node) {
746
- node.onclick = function (e) {
747
- $$('.frame-row').forEach(function(_node) { _node.classList.remove('active') });
748
- e.currentTarget.classList.add('active');
749
- showFrameContext(e.currentTarget);
1314
+ Prism.highlightAll();
750
1315
  }
751
- })
752
- $('#frames-filter').onclick = function () {
753
- filterFrames();
754
- }
755
- displayFirstView();
756
- showFrameContext($('.frame-row.active'));
757
- })();
758
- </script>
759
- </section>
760
- </body>
1316
+ $$('.frame-row').forEach(function (node) {
1317
+ node.onclick = function (e) {
1318
+ $$('.frame-row').forEach(function (_node) {
1319
+ _node.classList.remove('active');
1320
+ });
1321
+ e.currentTarget.classList.add('active');
1322
+ showFrameContext(e.currentTarget);
1323
+ };
1324
+ });
1325
+ $('#frames-filter').onclick = function () {
1326
+ filterFrames();
1327
+ };
1328
+ displayFirstView();
1329
+ showFrameContext($('.frame-row.active'));
1330
+ })();
1331
+ </script>
1332
+ </section>
1333
+ </body>
761
1334
  </html>