nadesiko3 3.3.71 → 3.3.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/batch/command.txt +242 -240
  2. package/batch/command_nakopad.txt +2 -0
  3. package/core/command/snako.mts +6 -6
  4. package/core/package.json +5 -5
  5. package/core/src/nako3.mjs +14 -6
  6. package/core/src/nako3.mts +43 -33
  7. package/core/src/nako_errors.mts +13 -13
  8. package/core/src/nako_from_dncl2.mjs +1 -0
  9. package/core/src/nako_from_dncl2.mts +1 -0
  10. package/core/src/nako_gen.mjs +24 -2
  11. package/core/src/nako_gen.mts +47 -24
  12. package/core/src/nako_global.mts +19 -19
  13. package/core/src/nako_lexer.mts +5 -5
  14. package/core/src/nako_logger.mts +1 -1
  15. package/core/src/nako_parser_base.mts +18 -18
  16. package/core/src/nako_prepare.mts +10 -9
  17. package/core/src/nako_source_mapping.mts +13 -13
  18. package/core/src/nako_types.mts +16 -0
  19. package/core/src/plugin_system.mjs +3 -0
  20. package/core/src/plugin_system.mts +3 -0
  21. package/core/test/dncl2_test.mjs +24 -0
  22. package/package.json +1 -2
  23. package/release/_hash.txt +24 -24
  24. package/release/_script-tags.txt +14 -14
  25. package/release/command.json +1 -1
  26. package/release/command.json.js +1 -1
  27. package/release/command_cnako3.json +1 -1
  28. package/release/command_list.json +1 -1
  29. package/release/editor.js +1 -1
  30. package/release/nako_gen_async.js +1 -1
  31. package/release/nako_gen_async.js.LICENSE.txt +0 -20
  32. package/release/stats.json +1 -1
  33. package/release/version.js +1 -1
  34. package/release/wnako3.js +1 -1
  35. package/release/wnako3webworker.js +1 -1
  36. package/release/wnako3webworker.js.LICENSE.txt +4 -0
  37. package/src/nako_version.mjs +2 -2
  38. package/src/nako_version.mts +2 -2
@@ -77,7 +77,7 @@ interface NakoLoggerListener {
77
77
  * error() は引数にエラーオブジェクトを受け取ることもでき、その場合エラーオブジェクトからエラーメッセージとエラー位置が取り出される。
78
78
  */
79
79
  export class NakoLogger {
80
- private listeners: NakoLoggerListener[];
80
+ private listeners: NakoLoggerListener[]
81
81
  private logs: string
82
82
  private position: string
83
83
  public constructor () {
@@ -5,24 +5,24 @@ import { FuncList, FuncListItem, Token, Ast, SourceMap, NewEmptyToken } from './
5
5
  * なでしこの構文解析のためのユーティリティクラス
6
6
  */
7
7
  export class NakoParserBase {
8
- public logger: NakoLogger;
9
- protected stackList: any[];
10
- protected tokens: Token[];
11
- protected stack: any[];
12
- protected index: number;
13
- protected y: any[];
14
- public modName: string;
15
- public modList: string[];
16
- public funclist: FuncList;
17
- public usedFuncs: Set<string>;
18
- protected funcLevel: number;
19
- protected usedAsyncFn: boolean;
20
- protected localvars: FuncList;
21
- public genMode: string;
22
- protected arrayIndexFrom: number;
23
- protected flagReverseArrayIndex: boolean;
24
- protected flagCheckArrayInit: boolean;
25
- protected recentlyCalledFunc: FuncListItem[];
8
+ public logger: NakoLogger
9
+ protected stackList: any[]
10
+ protected tokens: Token[]
11
+ protected stack: any[]
12
+ protected index: number
13
+ protected y: any[]
14
+ public modName: string
15
+ public modList: string[]
16
+ public funclist: FuncList
17
+ public usedFuncs: Set<string>
18
+ protected funcLevel: number
19
+ protected usedAsyncFn: boolean
20
+ protected localvars: FuncList
21
+ public genMode: string
22
+ protected arrayIndexFrom: number
23
+ protected flagReverseArrayIndex: boolean
24
+ protected flagCheckArrayInit: boolean
25
+ protected recentlyCalledFunc: FuncListItem[]
26
26
 
27
27
  constructor (logger: NakoLogger) {
28
28
  this.logger = logger
@@ -4,9 +4,9 @@
4
4
  * ただし、コメントや文字列の中は変換しないように考慮して変換する。
5
5
  */
6
6
  class ReplaceHistory {
7
- from: number;
8
- to: number;
9
- index: number;
7
+ from: number
8
+ to: number
9
+ index: number
10
10
  constructor (from: number, to: number, index: number) {
11
11
  this.from = from
12
12
  this.to = to
@@ -15,8 +15,8 @@ class ReplaceHistory {
15
15
  }
16
16
 
17
17
  class ConvertResult {
18
- public text: string;
19
- public sourcePosition: number;
18
+ public text: string
19
+ public sourcePosition: number
20
20
  constructor (text: string, sourcePosition: number) {
21
21
  this.text = text
22
22
  this.sourcePosition = sourcePosition
@@ -27,8 +27,8 @@ class ConvertResult {
27
27
  * 置換後の位置から置換前の位置へマッピングできる文字列
28
28
  */
29
29
  export class Replace {
30
- history: ReplaceHistory[];
31
- private code: string;
30
+ history: ReplaceHistory[]
31
+ private code: string
32
32
  constructor (code: string) {
33
33
  this.history = []
34
34
  this.code = code
@@ -77,7 +77,8 @@ export class Replace {
77
77
  */
78
78
  export class NakoPrepare {
79
79
  // 唯一のインスタンス
80
- private static _instance: NakoPrepare;
80
+ // eslint-disable-next-line no-use-before-define
81
+ private static _instance: NakoPrepare
81
82
  /** 唯一のインスタンスを返す */
82
83
  public static getInstance (): NakoPrepare {
83
84
  if (!NakoPrepare._instance) {
@@ -86,7 +87,7 @@ export class NakoPrepare {
86
87
  return NakoPrepare._instance
87
88
  }
88
89
 
89
- private convertTable: Map<number, string>;
90
+ private convertTable: Map<number, string>
90
91
  private constructor () {
91
92
  // 単純な変換テーブル
92
93
  this.convertTable = new Map([
@@ -6,11 +6,11 @@ interface PreprocessItem {
6
6
 
7
7
  /** prepareとtokenizeのソースマッピング */
8
8
  export class SourceMappingOfTokenization {
9
- private readonly sourceCodeLength: number;
10
- private readonly preprocessed: PreprocessItem[];
11
- private readonly cumulativeSum: number[];
12
- private lastIndex: number;
13
- private lastPreprocessedCodePosition: number;
9
+ private readonly sourceCodeLength: number
10
+ private readonly preprocessed: PreprocessItem[]
11
+ private readonly cumulativeSum: number[]
12
+ private lastIndex: number
13
+ private lastPreprocessedCodePosition: number
14
14
  /**
15
15
  * @param {number} sourceCodeLength
16
16
  * @param {PreprocessItem[]} preprocessed
@@ -73,11 +73,11 @@ export class SourceMappingOfTokenization {
73
73
  }
74
74
 
75
75
  export class SourceMappingOfIndentSyntax {
76
- private lines: { offset: number, len: number }[];
77
- private readonly linesInsertedByIndentationSyntax: number[];
78
- private readonly linesDeletedByIndentationSyntax: { lineNumber: number, len: number }[];
79
- lastLineNumber: number;
80
- lastOffset: number;
76
+ private lines: { offset: number, len: number }[]
77
+ private readonly linesInsertedByIndentationSyntax: number[]
78
+ private readonly linesDeletedByIndentationSyntax: { lineNumber: number, len: number }[]
79
+ lastLineNumber: number
80
+ lastOffset: number
81
81
  /**
82
82
  * @param {string} codeAfterProcessingIndentationSyntax
83
83
  * @param {readonly number[]} linesInsertedByIndentationSyntax
@@ -181,9 +181,9 @@ export class SourceMappingOfIndentSyntax {
181
181
 
182
182
  /** offsetから (line, column) へ変換する。 */
183
183
  export class OffsetToLineColumn {
184
- private lineOffsets: number[];
185
- private lastLineNumber: number;
186
- private lastOffset: number;
184
+ private lineOffsets: number[]
185
+ private lastLineNumber: number
186
+ private lastOffset: number
187
187
  /**
188
188
  * @param {string} code
189
189
  */
@@ -144,3 +144,19 @@ export interface NakoEvent {
144
144
  eventName: NakoComEventName
145
145
  callback: (event: any) => void
146
146
  }
147
+
148
+ /**
149
+ * デバッグに関する型
150
+ */
151
+ export type NakoDebugEventName = 'line'
152
+
153
+ export interface NakoDebugEvent {
154
+ eventName: NakoDebugEventName
155
+ forceStop: boolean
156
+ }
157
+
158
+ export interface NakoDebugOption {
159
+ useDebug: boolean
160
+ waitTime: number // sec
161
+ messageAction?: string
162
+ }
@@ -171,6 +171,8 @@ export default {
171
171
  'OK': { type: 'const', value: true },
172
172
  'NG': { type: 'const', value: false },
173
173
  'キャンセル': { type: 'const', value: 0 },
174
+ 'TRUE': { type: 'const', value: true },
175
+ 'FALSE': { type: 'const', value: false },
174
176
  'PI': { type: 'const', value: Math.PI },
175
177
  '空': { type: 'const', value: '' },
176
178
  'NULL': { type: 'const', value: null },
@@ -592,6 +594,7 @@ export default {
592
594
  args = [args];
593
595
  }
594
596
  // 実行
597
+ // eslint-disable-next-line prefer-spread
595
598
  return name.apply(null, args);
596
599
  }
597
600
  },
@@ -158,6 +158,8 @@ export default {
158
158
  'OK': { type: 'const', value: true }, // @OK
159
159
  'NG': { type: 'const', value: false }, // @NG
160
160
  'キャンセル': { type: 'const', value: 0 }, // @きゃんせる
161
+ 'TRUE': { type: 'const', value: true }, // @TRUE
162
+ 'FALSE': { type: 'const', value: false }, // @FALSE
161
163
  'PI': { type: 'const', value: Math.PI }, // @PI
162
164
  '空': { type: 'const', value: '' }, // @から
163
165
  'NULL': { type: 'const', value: null }, // @NULL
@@ -571,6 +573,7 @@ export default {
571
573
  if (!(args instanceof Array)) { args = [args] }
572
574
 
573
575
  // 実行
576
+ // eslint-disable-next-line prefer-spread
574
577
  return name.apply(null, args)
575
578
  }
576
579
  },
@@ -204,4 +204,28 @@ describe('dncl2 (core #41)', async () => {
204
204
  '⎿ 表示する(Tomei[k], ":", Tosen[k], "名")\n' +
205
205
  '', 'A党:3名\nB党:1名\nC党:2名\nD党:0名')
206
206
  })
207
+ it('and/or/not', async () => {
208
+ const TRUE = '1'
209
+ const FALSE = '0'
210
+ await cmp('' +
211
+ '!DNCL2\n' +
212
+ '(not 真)を表示' +
213
+ '\n', FALSE)
214
+ await cmp('' +
215
+ '!DNCL2\n' +
216
+ '(真 and 真)を表示' +
217
+ '\n', TRUE)
218
+ await cmp('' +
219
+ '!DNCL2\n' +
220
+ '(真 and 偽)を表示' +
221
+ '\n', FALSE)
222
+ await cmp('' +
223
+ '!DNCL2\n' +
224
+ '(真 or 偽)を表示' +
225
+ '\n', TRUE)
226
+ await cmp('' +
227
+ '!DNCL2\n' +
228
+ '(偽 or 偽)を表示' +
229
+ '\n', FALSE)
230
+ })
207
231
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3",
3
- "version": "3.3.71",
3
+ "version": "3.3.72",
4
4
  "description": "Japanese Programming Language",
5
5
  "type": "module",
6
6
  "main": "src/index.mjs",
@@ -170,7 +170,6 @@
170
170
  "typescript": "^4.7.2",
171
171
  "url-loader": "^4.1.1",
172
172
  "util": "^0.12.4",
173
- "uuid": "^8.3.2",
174
173
  "webpack": "^5.72.1",
175
174
  "webpack-bundle-analyzer": "^4.5.0",
176
175
  "webpack-cli": "^4.9.2"
package/release/_hash.txt CHANGED
@@ -1,18 +1,18 @@
1
1
  command.json.js:
2
- md5(hex): 6085bdf552ea5e49b7b12967bcabd4f2
3
- sha256(hex): 76bd5753c8154eb45af90837a83b33fa1769802af309bfcf2dd4ba357068a7a0
4
- sha256(base64): dr1XU8gVTrRa+Qg3qDsz+hdpgCrzCb/PLdS6NXBop6A=
5
- sha512(base64): LPJcfBMP1GMv/qpIH/BWHt/aHuTSJKV+ihdPSUmOTLNQpmBFIIWgCqpLnrPkFlDKFbrzrjzagkefILlb87QVXA==
2
+ md5(hex): e1906f374604205486d2114bfa929517
3
+ sha256(hex): 85241d5778eccb8b2b15b6356baeef394108e3cb248bb6a6353bb17dedf710e2
4
+ sha256(base64): hSQdV3jsy4srFbY1a67vOUEI48ski7amNTuxfe33EOI=
5
+ sha512(base64): ulsaA38JYudHBOC+2mi6soQEkzgeE/3kuZ4AeG+JKvqFkGvkOatwaeKGZCjIRsgkOXGh77uDxbf9L5XV1DszUw==
6
6
  editor.js:
7
- md5(hex): 34fa0bcacee5c54bbb8c666cc6d7a61b
8
- sha256(hex): 1f01f147f3ee35c2b957c651f4a24bc288902604d1876d560c9d5dfffd33332f
9
- sha256(base64): HwHxR/PuNcK5V8ZR9KJLwoiQJgTRh21WDJ1d//0zMy8=
10
- sha512(base64): xknHqYa3QPqoQyjj2mKVgXDKO/fOAMTwbeJqkGxrsOGJjzr6FppJdhJHUlS9h7HnHZzdGyy44CNk+ukEPiJTYw==
7
+ md5(hex): 4ce168b12eb50fb17b33358bd887e102
8
+ sha256(hex): b7e1bf9a1ebcdf5ceca24375af7738a91004c435128f5a1d36b23d175e4fe8ce
9
+ sha256(base64): t+G/mh6831zsokN1r3c4qRAExDUSj1odNrI9F15P6M4=
10
+ sha512(base64): st5xg/JOoUq4rkH04dOaiLPCinzIphdgVJvGJLMfFpcOwMpLLk+tA6cAam5kmO94oPRShnjlPewiTbxoeUSMhg==
11
11
  nako_gen_async.js:
12
- md5(hex): 465c71372041f7b774bd4086890072ee
13
- sha256(hex): da9440c037b1d8003c66422f6e85ae90602354ebe55f07d51b97e50f3071d0a1
14
- sha256(base64): 2pRAwDex2AA8ZkIvboWukGAjVOvlXwfVG5flDzBx0KE=
15
- sha512(base64): oepEPQyKtebLjiLmDgZ/1AUxQwJqB2ilMJF4fdDJBMtMlqnbvJ5MFRVnt4HU9sZ72vQ61IZMJ9GmfGKGoSB56w==
12
+ md5(hex): ffc1a80017d5bbef5410ee7c8dd9f39a
13
+ sha256(hex): bc65fda61cbe712a4c120008bb8ca6211a4760aefedfe000305dd1ac9037497e
14
+ sha256(base64): vGX9phy+cSpMEgAIu4ymIRpHYK7+3+AAMF3RrJA3SX4=
15
+ sha512(base64): wj9RSWiaWqFnA56tp/fViG8xLjCNss6PHp5zxK/pL1mf8C5QAVEh/1oiFI+NL5Sa4d0kYVJFGBbwr8CrrFmdrg==
16
16
  plugin_caniuse.js:
17
17
  md5(hex): 95a7a5c98a92a46b6435e577daba3241
18
18
  sha256(hex): 57638b3979be70b45ab8085861f6b2ece43200bd6aa92765d73caf76b9e6fea9
@@ -54,17 +54,17 @@ plugin_weykturtle3d.js:
54
54
  sha256(base64): ND/1JqYrFVGTIPYsbBk+tScnF8RVzgYPM0/E2aE8GRw=
55
55
  sha512(base64): T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==
56
56
  version.js:
57
- md5(hex): 119e6215cbb13a56d9f1ca6bd592cee2
58
- sha256(hex): 34a3e157ec0b351ecd80625c2f16352bf6ce8127517f47e5cc6cdb1097d2574a
59
- sha256(base64): NKPhV+wLNR7NgGJcLxY1K/bOgSdRf0flzGzbEJfSV0o=
60
- sha512(base64): HXOcsMQT7sXWSjXnWAcWOx35yGFVNuVnQkzLn9IBZ14YOw0IVjIMobT2AD5sqIH47JSmJzhiRRFohDK/wXgPpw==
57
+ md5(hex): 43d0b4d77cfbfd21acf6379b437f2ba4
58
+ sha256(hex): 5db5d50e89d2f93d354eeb2c7f3079b1324c317fcf79014f27afb8732e60dce9
59
+ sha256(base64): XbXVDonS+T01TussfzB5sTJMMX/PeQFPJ6+4cy5g3Ok=
60
+ sha512(base64): 2Va9dQcWY8ryFy8nCIEMbGWixaXKZKOtEbglfIMX6+XJ86fQIlT1CNYH3L1ZGpIc5MdiGsZPDgqiPK9zaAxeFg==
61
61
  wnako3.js:
62
- md5(hex): dd897096705a62ab0f6236206230f106
63
- sha256(hex): 2fdec91def9951cbdc226e9cd56a485dce349d11487791b896d909feef7def4b
64
- sha256(base64): L97JHe+ZUcvcIm6c1WpIXc40nRFId5G4ltkJ/u9970s=
65
- sha512(base64): GTWjF3Ol7OuWXp7Oe57agDVfXHFdUH2aowvAk815MMW+NRgemJmrB67C9A/Cg7LHDlASy+1wvlWKjORzkiuJwA==
62
+ md5(hex): c92c140d870dc20caadb02c5cba60717
63
+ sha256(hex): ce912c9eb3417767fc6ca3e4cd711f3faee82fde7622a25e654f2177f0389d56
64
+ sha256(base64): zpEsnrNBd2f8bKPkzXEfP67oL952IqJeZU8hd/A4nVY=
65
+ sha512(base64): lNUvP9dfDWcmeI3FuSqYwQwU7nGpNsRvmWqEgurXHuo7iS/3YJsWrehuUCcsPAC4Kt0Ir4EpybOIuYV2QtJBBA==
66
66
  wnako3webworker.js:
67
- md5(hex): c2215834392b2ad5b3d85a24a5d980ad
68
- sha256(hex): 63be26eeef09d894bffe49a9e216d666717caeaf75ab11963779da1e678751e2
69
- sha256(base64): Y74m7u8J2JS//kmp4hbWZnF8rq91qxGWN3naHmeHUeI=
70
- sha512(base64): flqNVXNwbYayqFUk2NUYOZG0cbgiA+/cG9g9eVnsbfanGu5rzVOIevUtwY+w9y0csYgdCvfsU3S62t1SPG9aJQ==
67
+ md5(hex): 52b1ffe78b86cab8edc5686b0ff18d79
68
+ sha256(hex): 2906b3ae0dd29bb1b42d72cb04c7f5281c0207f920759a76a884ccd198f7a9f9
69
+ sha256(base64): KQazrg3Sm7G0LXLLBMf1KBwCB/kgdZp2qITM0Zj3qfk=
70
+ sha512(base64): DJbCSh0P9kLhiztiTVE8reOKfcIamp0Y8kzjevO8yHNxinFbVqLn/MPAf5Yaw5+GBjrELzG0ll0XkAVPZ3y55A==
@@ -1,14 +1,14 @@
1
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/command.json.js" integrity="sha512-LPJcfBMP1GMv/qpIH/BWHt/aHuTSJKV+ihdPSUmOTLNQpmBFIIWgCqpLnrPkFlDKFbrzrjzagkefILlb87QVXA==" crossorigin="anonymous"></script>
2
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/editor.js" integrity="sha512-xknHqYa3QPqoQyjj2mKVgXDKO/fOAMTwbeJqkGxrsOGJjzr6FppJdhJHUlS9h7HnHZzdGyy44CNk+ukEPiJTYw==" crossorigin="anonymous"></script>
3
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/nako_gen_async.js" integrity="sha512-oepEPQyKtebLjiLmDgZ/1AUxQwJqB2ilMJF4fdDJBMtMlqnbvJ5MFRVnt4HU9sZ72vQ61IZMJ9GmfGKGoSB56w==" crossorigin="anonymous"></script>
4
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_caniuse.js" integrity="sha512-NbX6BKUNq1J8xwtv5CThQC54Lb/KxaPlimRpsF745nxqjYeuGD7S70j4yOgNm4Uwd7AN5FgezS6NDyhlvoJF2w==" crossorigin="anonymous"></script>
5
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
6
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_kansuji.js" integrity="sha512-tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==" crossorigin="anonymous"></script>
8
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_markup.js" integrity="sha512-pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==" crossorigin="anonymous"></script>
9
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_turtle.js" integrity="sha512-3/BlAe3uVDBgJrgFWzLJa3bvNQVhAQuL343Icict5hI3LndcPjV6mAD8KoWRlxmF8A8S6n8eKnmrh6NFWTjyEw==" crossorigin="anonymous"></script>
10
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_webworker.js" integrity="sha512-JLlIg9cW9UgM2AT+qMgEuKvea3t8R+1jihhlN/QGDQe7iCaGEfXfKG5gpvRb0IUyisNfzncUN8AfLn9wyxGGiw==" crossorigin="anonymous"></script>
11
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/plugin_weykturtle3d.js" integrity="sha512-T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==" crossorigin="anonymous"></script>
12
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/version.js" integrity="sha512-HXOcsMQT7sXWSjXnWAcWOx35yGFVNuVnQkzLn9IBZ14YOw0IVjIMobT2AD5sqIH47JSmJzhiRRFohDK/wXgPpw==" crossorigin="anonymous"></script>
13
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/wnako3.js" integrity="sha512-GTWjF3Ol7OuWXp7Oe57agDVfXHFdUH2aowvAk815MMW+NRgemJmrB67C9A/Cg7LHDlASy+1wvlWKjORzkiuJwA==" crossorigin="anonymous"></script>
14
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.71&f=release/wnako3webworker.js" integrity="sha512-flqNVXNwbYayqFUk2NUYOZG0cbgiA+/cG9g9eVnsbfanGu5rzVOIevUtwY+w9y0csYgdCvfsU3S62t1SPG9aJQ==" crossorigin="anonymous"></script>
1
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/command.json.js" integrity="sha512-ulsaA38JYudHBOC+2mi6soQEkzgeE/3kuZ4AeG+JKvqFkGvkOatwaeKGZCjIRsgkOXGh77uDxbf9L5XV1DszUw==" crossorigin="anonymous"></script>
2
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/editor.js" integrity="sha512-st5xg/JOoUq4rkH04dOaiLPCinzIphdgVJvGJLMfFpcOwMpLLk+tA6cAam5kmO94oPRShnjlPewiTbxoeUSMhg==" crossorigin="anonymous"></script>
3
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/nako_gen_async.js" integrity="sha512-wj9RSWiaWqFnA56tp/fViG8xLjCNss6PHp5zxK/pL1mf8C5QAVEh/1oiFI+NL5Sa4d0kYVJFGBbwr8CrrFmdrg==" crossorigin="anonymous"></script>
4
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_caniuse.js" integrity="sha512-NbX6BKUNq1J8xwtv5CThQC54Lb/KxaPlimRpsF745nxqjYeuGD7S70j4yOgNm4Uwd7AN5FgezS6NDyhlvoJF2w==" crossorigin="anonymous"></script>
5
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
6
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_kansuji.js" integrity="sha512-tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==" crossorigin="anonymous"></script>
8
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_markup.js" integrity="sha512-pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==" crossorigin="anonymous"></script>
9
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_turtle.js" integrity="sha512-3/BlAe3uVDBgJrgFWzLJa3bvNQVhAQuL343Icict5hI3LndcPjV6mAD8KoWRlxmF8A8S6n8eKnmrh6NFWTjyEw==" crossorigin="anonymous"></script>
10
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_webworker.js" integrity="sha512-JLlIg9cW9UgM2AT+qMgEuKvea3t8R+1jihhlN/QGDQe7iCaGEfXfKG5gpvRb0IUyisNfzncUN8AfLn9wyxGGiw==" crossorigin="anonymous"></script>
11
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/plugin_weykturtle3d.js" integrity="sha512-T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==" crossorigin="anonymous"></script>
12
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/version.js" integrity="sha512-2Va9dQcWY8ryFy8nCIEMbGWixaXKZKOtEbglfIMX6+XJ86fQIlT1CNYH3L1ZGpIc5MdiGsZPDgqiPK9zaAxeFg==" crossorigin="anonymous"></script>
13
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/wnako3.js" integrity="sha512-lNUvP9dfDWcmeI3FuSqYwQwU7nGpNsRvmWqEgurXHuo7iS/3YJsWrehuUCcsPAC4Kt0Ir4EpybOIuYV2QtJBBA==" crossorigin="anonymous"></script>
14
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.72&f=release/wnako3webworker.js" integrity="sha512-DJbCSh0P9kLhiztiTVE8reOKfcIamp0Y8kzjevO8yHNxinFbVqLn/MPAf5Yaw5+GBjrELzG0ll0XkAVPZ3y55A==" crossorigin="anonymous"></script>