setup-php 2.36.0 → 2.37.0

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.
package/lib/tools.js CHANGED
@@ -77,11 +77,11 @@ async function getSemverVersion(data) {
77
77
  (await utils.readEnv('COMPOSER_TOKEN'));
78
78
  const response = await fetch.fetch(url, github_token);
79
79
  if (response.error || response.data === '[]') {
80
- data['error'] = response.error ?? `No version found with prefix ${search}.`;
81
- return data['version'];
80
+ data.error = response.error ?? `No version found with prefix ${search}.`;
81
+ return data.version;
82
82
  }
83
83
  else {
84
- const refs = JSON.parse(response['data']);
84
+ const refs = JSON.parse(response.data);
85
85
  const tags = refs
86
86
  .map((i) => (i.ref?.split('/').pop() ?? '').replace(/^v(?=\d)/, ''))
87
87
  .filter((t) => t.length > 0);
@@ -91,7 +91,7 @@ async function getSemverVersion(data) {
91
91
  fixedToOriginal.set(f, t);
92
92
  return f;
93
93
  });
94
- fixed.sort((a, b) => {
94
+ const sorted = fixed.toSorted((a, b) => {
95
95
  try {
96
96
  return cv.compareVersions(b, a);
97
97
  }
@@ -99,49 +99,51 @@ async function getSemverVersion(data) {
99
99
  return b.localeCompare(a, 'en', { numeric: true, sensitivity: 'base' });
100
100
  }
101
101
  });
102
- return fixedToOriginal.get(fixed[0]) ?? fixed[0];
102
+ return fixedToOriginal.get(sorted[0]) ?? sorted[0];
103
103
  }
104
104
  }
105
105
  async function getLatestVersion(data) {
106
- if (!data['version'] && data['fetch_latest'] === 'false') {
106
+ if (!data.version && data.fetch_latest === 'false') {
107
107
  return 'latest';
108
108
  }
109
- const resp = await fetch.fetch(`${data['github']}/${data['repository']}/releases.atom`);
110
- if (resp['data']) {
109
+ if (data.fetch_latest === 'true' && !data.repository) {
110
+ return 'latest';
111
+ }
112
+ const resp = await fetch.fetch(`${data.github}/${data.repository}/releases.atom`);
113
+ if (resp.data) {
111
114
  const releases = [
112
- ...resp['data'].matchAll(/releases\/tag\/([a-zA-Z]*)?(\d+.\d+.\d+)"/g)
115
+ ...resp.data.matchAll(/releases\/tag\/([a-zA-Z]*)?(\d+\.\d+\.\d+)"/g)
113
116
  ].map(match => match[2]);
114
- return (releases
115
- .sort((a, b) => a.localeCompare(b, undefined, { numeric: true }))
116
- .pop() || 'latest');
117
+ const sorted = releases.toSorted((a, b) => a.localeCompare(b, undefined, { numeric: true }));
118
+ return sorted.at(-1) || 'latest';
117
119
  }
118
120
  return 'latest';
119
121
  }
120
122
  async function getVersion(version, data) {
121
123
  const semver_regex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
122
- const composer_regex = /^composer:(stable|preview|snapshot|[1|2])$/;
124
+ const composer_regex = /^composer:(stable|preview|snapshot|[12])$/;
123
125
  const constraint_regex = /[><=^~]+.*/;
124
126
  const major_minor_regex = /^\d+(\.\d+)?$/;
125
- data['version'] = version.replace(/v?(\d)/, '$1').replace(/\.x/, '');
127
+ data.version = version.replace(/v?(\d)/, '$1').replace(/\.x/, '');
126
128
  switch (true) {
127
- case composer_regex.test(data['release']):
128
- case semver_regex.test(data['version']):
129
- case constraint_regex.test(data['version']) && data['type'] === 'composer':
130
- return data['version'];
131
- case major_minor_regex.test(data['version']) && data['type'] === 'composer':
132
- data['release'] = `${data['tool']}:${data['version']}.*`;
133
- return `${data['version']}.*`;
134
- case data['repository'] && major_minor_regex.test(data['version']):
129
+ case composer_regex.test(data.release):
130
+ case semver_regex.test(data.version):
131
+ case constraint_regex.test(data.version) && data.type === 'composer':
132
+ return data.version;
133
+ case major_minor_regex.test(data.version) && data.type === 'composer':
134
+ data.release = `${data.tool}:${data.version}.*`;
135
+ return `${data.version}.*`;
136
+ case !!data.repository && major_minor_regex.test(data.version):
135
137
  return await getSemverVersion(data);
136
138
  default:
137
- return data['version'].replace(/[><=^~]*/, '');
139
+ return data.version.replace(/[><=^~]*/, '');
138
140
  }
139
141
  }
140
142
  async function getRelease(release, data) {
141
143
  release = release.includes('/') ? release.split('/')[1] : release;
142
144
  return release.includes(':')
143
- ? [data['tool'], release.split(':')[1]].join(':')
144
- : data['tool'];
145
+ ? [data.tool, release.split(':')[1]].join(':')
146
+ : data.tool;
145
147
  }
146
148
  async function filterList(tools_list) {
147
149
  const regex_any = /^composer($|:.*)/;
@@ -153,100 +155,101 @@ async function filterList(tools_list) {
153
155
  case matches[0] == undefined:
154
156
  break;
155
157
  default:
156
- composer = matches[matches.length - 1].replace(/v(\d\S*)/, '$1');
158
+ composer = matches.at(-1).replace(/v(\d\S*)/, '$1');
157
159
  break;
158
160
  }
159
161
  tools_list.unshift(composer);
160
162
  return tools_list;
161
163
  }
162
164
  async function getUrl(data) {
163
- if ((data['version'] ?? 'latest') === 'latest') {
165
+ const version = data.version ?? 'latest';
166
+ if (version === 'latest' || version === '') {
164
167
  return [
165
- data['domain'],
166
- data['repository'],
167
- data['prefix'],
168
- data['version'],
169
- data['verb'],
170
- data['tool'] + data['extension']
168
+ data.domain,
169
+ data.repository,
170
+ data.prefix,
171
+ 'latest',
172
+ data.verb,
173
+ data.tool + data.extension
171
174
  ]
172
175
  .filter(Boolean)
173
176
  .join('/');
174
177
  }
175
178
  else {
176
179
  return [
177
- data['domain'],
178
- data['repository'],
179
- data['prefix'],
180
- data['verb'],
181
- data['version_prefix'] + data['version'],
182
- data['tool'] + data['extension']
180
+ data.domain,
181
+ data.repository,
182
+ data.prefix,
183
+ data.verb,
184
+ data.version_prefix + data.version,
185
+ data.tool + data.extension
183
186
  ]
184
187
  .filter(Boolean)
185
188
  .join('/');
186
189
  }
187
190
  }
188
191
  async function getPharUrl(data) {
189
- if (data['version'] === 'latest') {
190
- return data['domain'] + '/' + data['tool'] + '.phar';
192
+ if (data.version === 'latest') {
193
+ return data.domain + '/' + data.tool + '.phar';
191
194
  }
192
195
  else {
193
- return (data['domain'] +
196
+ return (data.domain +
194
197
  '/' +
195
- data['tool'] +
198
+ data.tool +
196
199
  '-' +
197
- data['version_prefix'] +
198
- data['version'] +
200
+ data.version_prefix +
201
+ data.version +
199
202
  '.phar');
200
203
  }
201
204
  }
202
205
  async function addArchive(data) {
203
- return ((await utils.getCommand(data['os'], 'tool')) +
204
- (await utils.joins(data['url'], data['tool'], data['version_parameter'])));
206
+ return ((await utils.getCommand(data.os, 'tool')) +
207
+ (await utils.joins(data.url, data.tool, data.version_parameter)));
205
208
  }
206
209
  async function addPackage(data) {
207
- const command = await utils.getCommand(data['os'], 'composer_tool');
208
- const parts = data['repository'].split('/');
209
- const args = await utils.joins(parts[1], data['release'], parts[0] + '/', data['scope']);
210
+ const command = await utils.getCommand(data.os, 'composer_tool');
211
+ const parts = data.repository.split('/');
212
+ const args = await utils.joins(parts[1], data.release, parts[0] + '/', data.scope);
210
213
  return command + args;
211
214
  }
212
215
  async function addBlackfirePlayer(data) {
213
- switch (data['os']) {
216
+ switch (data.os) {
214
217
  case 'win32':
215
- return await utils.addLog('$cross', data['tool'], data['tool'] + ' is not a windows tool', 'win32');
218
+ return await utils.addLog('$cross', data.tool, data.tool + ' is not a windows tool', 'win32');
216
219
  default:
217
- if (data['version'] == 'latest') {
218
- if (/5\.[5-6]|7\.0/.test(data['php_version'])) {
219
- data['version'] = '1.9.3';
220
+ if (data.version == 'latest') {
221
+ if (/5\.[5-6]|7\.0/.test(data.php_version)) {
222
+ data.version = '1.9.3';
220
223
  }
221
- else if (/7\.[1-4]|8\.0/.test(data['php_version'])) {
222
- data['version'] = '1.22.0';
224
+ else if (/7\.[1-4]|8\.0/.test(data.php_version)) {
225
+ data.version = '1.22.0';
223
226
  }
224
227
  }
225
- data['url'] = await getPharUrl(data);
228
+ data.url = await getPharUrl(data);
226
229
  return addArchive(data);
227
230
  }
228
231
  }
229
232
  async function addCastor(data) {
230
- data['tool'] = 'castor.' + data['os'].replace('win32', 'windows') + '-amd64';
231
- data['url'] = await getUrl(data);
232
- data['tool'] = 'castor';
233
- data['version_parameter'] = fs_1.default.existsSync('castor.php')
234
- ? data['version_parameter']
233
+ data.tool = 'castor.' + data.os.replace('win32', 'windows') + '-amd64';
234
+ data.url = await getUrl(data);
235
+ data.tool = 'castor';
236
+ data.version_parameter = fs_1.default.existsSync('castor.php')
237
+ ? data.version_parameter
235
238
  : '';
236
239
  return await addArchive(data);
237
240
  }
238
241
  async function addComposer(data) {
239
- const channel = data['version'].replace('latest', 'stable');
240
- const github = data['github'];
241
- const getcomposer = data['domain'];
242
+ const channel = data.version.replace('latest', 'stable');
243
+ const github = data.github;
244
+ const getcomposer = data.domain;
242
245
  const cds = 'https://dl.cloudsmith.io';
243
246
  const spc = 'https://artifacts.setup-php.com';
244
- const filename = `composer-${data['php_version']}-${channel}.phar`;
247
+ const filename = `composer-${data.php_version}-${channel}.phar`;
245
248
  const releases_url = `${github}/shivammathur/composer-cache/releases/latest/download/${filename}`;
246
249
  const cds_url = `${cds}/public/shivammathur/composer-cache/raw/files/${filename}`;
247
250
  const spc_url = `${spc}/composer/${filename}`;
248
251
  const lts_url = `${getcomposer}/download/latest-2.2.x/composer.phar`;
249
- const is_lts = /^5\.[3-6]$|^7\.[0-1]$/.test(data['php_version']);
252
+ const is_lts = /^5\.[3-6]$|^7\.[0-1]$/.test(data.php_version);
250
253
  const channel_source_url = `${getcomposer}/composer-${channel}.phar`;
251
254
  const version_source_url = `${getcomposer}/download/${channel}/composer.phar`;
252
255
  let cache_url = `${releases_url},${spc_url},${cds_url}`;
@@ -261,106 +264,104 @@ async function addComposer(data) {
261
264
  case /^1$/.test(channel):
262
265
  source_url = channel_source_url;
263
266
  break;
264
- case /^\d+\.\d+\.\d+[\w-]*$/.test(data['version']):
265
- cache_url = `${github}/${data['repository']}/releases/download/${data['version']}/composer.phar`;
267
+ case /^\d+\.\d+\.\d+[\w-]*$/.test(data.version):
268
+ cache_url = `${github}/${data.repository}/releases/download/${data.version}/composer.phar`;
266
269
  source_url = version_source_url;
267
270
  break;
268
271
  default:
269
272
  source_url = is_lts ? lts_url : channel_source_url;
270
273
  }
271
274
  const use_cache = (await utils.readEnv('NO_TOOLS_CACHE')) !== 'true';
272
- data['url'] = use_cache ? `${cache_url},${source_url}` : source_url;
273
- data['version_parameter'] = data['version'];
275
+ data.url = use_cache ? `${cache_url},${source_url}` : source_url;
276
+ data.version_parameter = data.version;
274
277
  return await addArchive(data);
275
278
  }
276
279
  async function addDeployer(data) {
277
- if (data['version'] === 'latest') {
278
- data['url'] = data['domain'] + '/deployer.phar';
280
+ if (data.version === 'latest') {
281
+ data.url = data.domain + '/deployer.phar';
279
282
  }
280
283
  else {
281
284
  const manifest = await fetch.fetch('https://deployer.org/manifest.json');
282
285
  const version_data = JSON.parse(manifest.data);
283
286
  const version_key = Object.keys(version_data).find((key) => {
284
- return version_data[key]['version'] === data['version'];
287
+ return version_data[key].version === data.version;
285
288
  });
286
289
  if (version_key) {
287
- data['url'] = version_data[version_key]['url'];
290
+ data.url = version_data[version_key].url;
288
291
  }
289
292
  else {
290
- return await utils.addLog('$cross', 'deployer', 'Version missing in deployer manifest', data['os']);
293
+ return await utils.addLog('$cross', 'deployer', 'Version missing in deployer manifest', data.os);
291
294
  }
292
295
  }
293
296
  return await addArchive(data);
294
297
  }
295
298
  async function addDevTools(data) {
296
- switch (data['os']) {
299
+ switch (data.os) {
297
300
  case 'linux':
298
301
  case 'darwin':
299
- return 'add_devtools ' + data['tool'];
302
+ return 'add_devtools ' + data.tool;
300
303
  case 'win32':
301
- return await utils.addLog('$tick', data['tool'], data['tool'] + ' is not a windows tool', 'win32');
304
+ return await utils.addLog('$tick', data.tool, data.tool + ' is not a windows tool', 'win32');
302
305
  default:
303
- return await utils.log('Platform ' + data['os'] + ' is not supported', data['os'], 'error');
306
+ return await utils.log('Platform ' + data.os + ' is not supported', data.os, 'error');
304
307
  }
305
308
  }
306
309
  async function addPECL(data) {
307
- return await utils.getCommand(data['os'], 'pecl');
310
+ return await utils.getCommand(data.os, 'pecl');
308
311
  }
309
312
  async function addPhing(data) {
310
- data['url'] =
311
- data['domain'] + '/get/phing-' + data['version'] + data['extension'];
312
- if (data['version'] != 'latest') {
313
- [data['prefix'], data['verb']] = ['releases', 'download'];
314
- data['domain'] = data['github'];
315
- data['extension'] = '-' + data['version'] + data['extension'];
316
- data['url'] += ',' + (await getUrl(data));
313
+ data.url = data.domain + '/get/phing-' + data.version + data.extension;
314
+ if (data.version != 'latest') {
315
+ [data.prefix, data.verb] = ['releases', 'download'];
316
+ data.domain = data.github;
317
+ data.extension = '-' + data.version + data.extension;
318
+ data.url += ',' + (await getUrl(data));
317
319
  }
318
320
  return await addArchive(data);
319
321
  }
320
322
  async function addPhive(data) {
321
323
  switch (true) {
322
- case /5\.[3-5]/.test(data['php_version']):
323
- return await utils.addLog('$cross', 'phive', 'Phive is not supported on PHP ' + data['php_version'], data['os']);
324
- case /5\.6|7\.0/.test(data['php_version']):
325
- data['version'] = '0.12.1';
324
+ case /5\.[3-5]/.test(data.php_version):
325
+ return await utils.addLog('$cross', 'phive', 'Phive is not supported on PHP ' + data.php_version, data.os);
326
+ case /5\.6|7\.0/.test(data.php_version):
327
+ data.version = '0.12.1';
326
328
  break;
327
- case /7\.1/.test(data['php_version']):
328
- data['version'] = '0.13.5';
329
+ case /7\.1/.test(data.php_version):
330
+ data.version = '0.13.5';
329
331
  break;
330
- case /7\.2/.test(data['php_version']):
331
- data['version'] = '0.14.5';
332
+ case /7\.2/.test(data.php_version):
333
+ data.version = '0.14.5';
332
334
  break;
333
- case /7\.3|7\.4/.test(data['php_version']):
334
- data['version'] = '0.15.3';
335
+ case /7\.3|7\.4/.test(data.php_version):
336
+ data.version = '0.15.3';
335
337
  break;
336
- case /^latest$/.test(data['version']):
337
- data['version'] = await getLatestVersion(data);
338
+ case /^latest$/.test(data.version):
339
+ data.version = await getLatestVersion(data);
338
340
  break;
339
341
  }
340
- data['extension'] = '-' + data['version'] + data['extension'];
341
- data['url'] = await getUrl(data);
342
+ data.extension = '-' + data.version + data.extension;
343
+ data.url = await getUrl(data);
342
344
  return await addArchive(data);
343
345
  }
344
346
  async function addPHPUnitTools(data) {
345
- if (data['version'] === 'latest') {
346
- data['version'] =
347
- (await packagist.search(data['packagist'], data['php_version'])) ??
348
- 'latest';
347
+ if (data.version === 'latest') {
348
+ data.version =
349
+ (await packagist.search(data.packagist, data.php_version)) ?? 'latest';
349
350
  }
350
- data['url'] = await getPharUrl(data);
351
- if (data['url'].match(/-\d+/)) {
352
- data['url'] += ',' + data['url'].replace(/-(\d+)\.\d+\.\d+/, '-$1');
351
+ data.url = await getPharUrl(data);
352
+ if (data.url.match(/-\d+/)) {
353
+ data.url += ',' + data.url.replace(/-(\d+)\.\d+\.\d+/, '-$1');
353
354
  }
354
355
  return await addArchive(data);
355
356
  }
356
357
  async function addWPCLI(data) {
357
- if (data['version'] === 'latest') {
358
- data['uri'] = 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true';
359
- data['url'] = [data['domain'], data['uri']].join('/');
358
+ if (data.version === 'latest') {
359
+ data.uri = 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true';
360
+ data.url = [data.domain, data.uri].join('/');
360
361
  }
361
362
  else {
362
- data['extension'] = '-' + data['version'] + data['extension'];
363
- data['url'] = await getUrl(data);
363
+ data.extension = '-' + data.version + data.extension;
364
+ data.url = await getUrl(data);
364
365
  }
365
366
  return await addArchive(data);
366
367
  }
@@ -372,44 +373,59 @@ async function getData(release, php_version, os) {
372
373
  const parts = release.split(':');
373
374
  const tool = parts[0];
374
375
  const version = parts[1];
375
- let data;
376
- if (Object.keys(json_objects).includes(tool)) {
377
- data = json_objects[tool];
378
- data['tool'] = tool;
376
+ let config;
377
+ if (Object.hasOwn(json_objects, tool)) {
378
+ config = { ...json_objects[tool], tool };
379
379
  }
380
380
  else {
381
381
  const key = Object.keys(json_objects).find((key) => {
382
- return json_objects[key]['alias'] == tool;
382
+ return json_objects[key].alias == tool;
383
383
  });
384
384
  if (key) {
385
- data = json_objects[key];
386
- data['tool'] = key;
385
+ config = { ...json_objects[key], tool: key };
387
386
  }
388
- else {
389
- data = {
387
+ else if (tool.includes('/')) {
388
+ config = {
390
389
  tool: tool.split('/')[1],
391
390
  repository: tool,
392
391
  type: 'composer'
393
392
  };
394
- data = !tool.includes('/') ? { tool: tool } : data;
393
+ }
394
+ else {
395
+ config = { tool };
395
396
  }
396
397
  }
397
- data['github'] = 'https://github.com';
398
- data['domain'] ??= data['github'];
399
- data['extension'] ??= '.phar';
400
- data['os'] = os;
401
- data['php_version'] = php_version;
402
- data['packagist'] ??= data['repository'];
403
- data['prefix'] = data['github'] === data['domain'] ? 'releases' : '';
404
- data['verb'] = data['github'] === data['domain'] ? 'download' : '';
405
- data['fetch_latest'] ??= 'false';
406
- data['scope'] ??= 'global';
407
- data['version_parameter'] = JSON.stringify(data['version_parameter']) || '';
408
- data['version_prefix'] ??= '';
409
- data['release'] = await getRelease(release, data);
410
- data['version'] = version
398
+ const github = 'https://github.com';
399
+ const domain = config.domain ?? github;
400
+ const data = {
401
+ tool: config.tool,
402
+ version: '',
403
+ url: '',
404
+ os,
405
+ php_version,
406
+ github,
407
+ domain,
408
+ extension: config.extension ?? '.phar',
409
+ repository: config.repository ?? '',
410
+ prefix: domain === github ? 'releases' : '',
411
+ verb: domain === github ? 'download' : '',
412
+ fetch_latest: config.fetch_latest ?? 'false',
413
+ scope: config.scope ?? 'global',
414
+ version_parameter: config.version_parameter != null
415
+ ? JSON.stringify(config.version_parameter)
416
+ : '',
417
+ version_prefix: config.version_prefix ?? '',
418
+ release: '',
419
+ packagist: config.packagist ?? config.repository ?? '',
420
+ type: config.type,
421
+ function: config.function,
422
+ alias: config.alias
423
+ };
424
+ data.release = await getRelease(release, data);
425
+ data.version = version
411
426
  ? await getVersion(version, data)
412
427
  : await getLatestVersion(data);
428
+ data.url = await getUrl(data);
413
429
  return data;
414
430
  }
415
431
  exports.functionRecord = {
@@ -438,26 +454,30 @@ async function addTools(tools_csv, php_version, os) {
438
454
  const data = await getData(release, php_version, os);
439
455
  script += '\n';
440
456
  switch (true) {
441
- case data['error'] !== undefined:
442
- script += await utils.addLog('$cross', data['tool'], data['error'], data['os']);
457
+ case data.error !== undefined:
458
+ script += await utils.addLog('$cross', data.tool, data.error, data.os);
443
459
  break;
444
- case 'phar' === data['type']:
445
- data['url'] = await getUrl(data);
460
+ case 'phar' === data.type:
446
461
  script += await addArchive(data);
447
462
  break;
448
- case 'composer' === data['type']:
463
+ case 'composer' === data.type:
449
464
  script += await addPackage(data);
450
465
  break;
451
- case 'custom-package' === data['type']:
452
- script += await utils.customPackage(data['tool'].split('-')[0], 'tools', data['version'], data['os']);
466
+ case 'custom-package' === data.type:
467
+ script += await utils.customPackage(data.tool.split('-')[0], 'tools', data.version, data.os);
453
468
  break;
454
- case 'custom-function' === data['type']:
455
- script += await exports.functionRecord[data['function']](data);
469
+ case 'custom-function' === data.type:
470
+ if (!data.function) {
471
+ script += await utils.addLog('$cross', data.tool, data.tool + ' has no function defined. Please report this issue.', data.os);
472
+ }
473
+ else {
474
+ script += await exports.functionRecord[data.function](data);
475
+ }
456
476
  break;
457
- case /^none$/.test(data['tool']):
477
+ case /^none$/.test(data.tool):
458
478
  break;
459
479
  default:
460
- script += await utils.addLog('$cross', data['tool'], 'Tool ' + data['tool'] + ' is not supported', data['os']);
480
+ script += await utils.addLog('$cross', data.tool, 'Tool ' + data.tool + ' is not supported', data.os);
461
481
  break;
462
482
  }
463
483
  });
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,4CAqCC;AAOD,4CAqBC;AAQD,gCAwBC;AAQD,gCAQC;AAOD,gCAgBC;AAOD,wBAyBC;AAOD,gCAcC;AAOD,gCAKC;AAOD,gCAUC;AAOD,gDAoBC;AAOD,8BAQC;AAOD,kCAqCC;AAOD,kCAyBC;AAOD,kCAmBC;AAOD,0BAEC;AAOD,4BASC;AAOD,4BA4BC;AAOD,0CAWC;AAOD,4BASC;AASD,0BAkEC;AA0BD,4BA2DC;AA9sBD,gDAAwB;AACxB,4CAAoB;AACpB,qDAAuC;AACvC,+CAAiC;AACjC,uDAAyC;AACzC,+CAAiC;AAiG1B,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;QACtC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,MAAM,GAAW,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,gCAAgC,IAAI,CAAC,YAAY,CAAC,6BAA6B,MAAM,GAAG,CAAC;IACrG,MAAM,YAAY,GAChB,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,gCAAgC,MAAM,GAAG,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CACpB,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CACxD;aACA,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CAAC,IAAe;IACpD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAC5B,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,gBAAgB,CAClD,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,GAAa;YACzB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,8CAA8C,CAAC;SACtE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACxD,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;QACF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQM,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,IAAc;IAGd,MAAM,YAAY,GAChB,qLAAqL,CAAC;IACxL,MAAM,cAAc,GAAG,2CAA2C,CAAC;IACnE,MAAM,gBAAgB,GAAG,YAAY,CAAC;IACtC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAClE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YACnE,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5D,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,IAAc;IAEd,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChB,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,UAAoB;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,MAAM,WAAW,GACf,yEAAyE,CAAC;IAC5E,MAAM,OAAO,GAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS;YAC1B,MAAM;QACR;YACE,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM;IACV,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAOM,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,MAAM;YACX,QAAQ;YACR,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;SAC3B;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO;YACL,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;YAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;SAC3B;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CACL,IAAI,CAAC,MAAM;YACX,GAAG;YACH,IAAI,CAAC,IAAI;YACT,GAAG;YACH,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,OAAO;YACZ,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,OAAO,CACL,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,KAAK,GAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,IAAI,GAAW,MAAM,KAAK,CAAC,KAAK,CACpC,KAAK,CAAC,CAAC,CAAC,EACR,IAAI,CAAC,OAAO,EACZ,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EACd,IAAI,CAAC,KAAK,CACX,CAAC;IACF,OAAO,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC;AAOM,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,wBAAwB,EACpC,OAAO,CACR,CAAC;QACJ;YACE,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC;qBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;IACvE,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACrB,IAAI,CAAC,iBAAiB,GAAG,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,iBAAiB;QACxB,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,MAAM,GAAG,GAAG,0BAA0B,CAAC;IACvC,MAAM,GAAG,GAAG,iCAAiC,CAAC;IAC9C,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC;IAChE,MAAM,YAAY,GAAG,GAAG,MAAM,yDAAyD,QAAQ,EAAE,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,GAAG,iDAAiD,QAAQ,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,GAAG,GAAG,aAAa,QAAQ,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,WAAW,sCAAsC,CAAC;IACrE,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,GAAG,WAAW,aAAa,OAAO,OAAO,CAAC;IACrE,MAAM,kBAAkB,GAAG,GAAG,WAAW,aAAa,OAAO,gBAAgB,CAAC;IAC9E,IAAI,SAAS,GAAG,GAAG,YAAY,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,GAAG,WAAW,gBAAgB,CAAC;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3C,MAAM;QACR,KAAK,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACnD,MAAM;QACR,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR,KAAK,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,sBAAsB,IAAI,CAAC,OAAO,gBAAgB,CAAC;YAC3F,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR;YACE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACvD,CAAC;IACD,MAAM,SAAS,GAAY,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,MAAM,CAAC;IAC9E,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;IACtC,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACzE,MAAM,YAAY,GAA0C,IAAI,CAAC,KAAK,CACpE,QAAQ,CAAC,IAAI,CACd,CAAC;QACF,MAAM,WAAW,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACpE,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;QACpD,CAAC,CACF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,UAAU,EACV,sCAAsC,EACtC,IAAI,CAAC,EAAE,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,wBAAwB,EACpC,OAAO,CACR,CAAC;QACJ;YACE,OAAO,MAAM,KAAK,CAAC,GAAG,CACpB,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,mBAAmB,EAC3C,IAAI,CAAC,EAAE,EACP,OAAO,CACR,CAAC;IACN,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACvE,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,OAAO,EACP,gCAAgC,GAAG,IAAI,CAAC,WAAW,EACnD,IAAI,CAAC,EAAE,CACR,CAAC;QACJ,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM;IACV,CAAC;IACD,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACrD,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,eAAe,CAAC,IAAc;IAElD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YACV,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,uDAAuD,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AASM,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,WAAmB,EACnB,EAAU;IAEV,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACzE,MAAM,SAAS,GAAW,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,YAAY,GAA+B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,MAAmC,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,EAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC5D,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;QACzC,CAAC,CACF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,EAAC,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG;gBACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAC,IAAI,EAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IACvC,MAAM,IAAI,GAAa;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,EAAE;QACF,WAAW;QACX,MAAM;QACN,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;QAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ;QAC/B,iBAAiB,EACf,MAAM,CAAC,iBAAiB,IAAI,IAAI;YAC9B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC1C,CAAC,CAAC,EAAE;QACR,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC3C,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE;QACtD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IACF,IAAI,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,GAAG,OAAO;QACpB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QACjC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,cAAc,GAGvB;IACF,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,gBAAgB,EAAE,kBAAkB;IACpC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,QAAQ;CACjB,CAAC;AASK,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,WAAmB,EACnB,EAAU;IAEV,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,OAAe;QAClE,MAAM,IAAI,GAAa,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,IAAI,CAAC;QACf,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,KAAK,KAAK,SAAS;gBAC3B,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI;gBACvB,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU,KAAK,IAAI,CAAC,IAAI;gBAC3B,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,gBAAgB,KAAK,IAAI,CAAC,IAAI;gBACjC,MAAM,IAAI,MAAM,KAAK,CAAC,aAAa,CACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACvB,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,CACR,CAAC;gBACF,MAAM;YACR,KAAK,iBAAiB,KAAK,IAAI,CAAC,IAAI;gBAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,GAAG,qDAAqD,EACjE,IAAI,CAAC,EAAE,CACR,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,MAAM,sBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,mBAAmB,EACzC,IAAI,CAAC,EAAE,CACR,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/lib/utils.js CHANGED
@@ -61,7 +61,7 @@ exports.readPHPVersion = readPHPVersion;
61
61
  exports.setVariable = setVariable;
62
62
  const fs_1 = __importDefault(require("fs"));
63
63
  const path = __importStar(require("path"));
64
- const core = __importStar(require("@actions/core"));
64
+ const core = __importStar(require("./core"));
65
65
  const fetch = __importStar(require("./fetch"));
66
66
  async function readEnv(property) {
67
67
  const property_lc = property.toLowerCase();
@@ -95,7 +95,7 @@ async function getManifestURLS() {
95
95
  }
96
96
  async function parseVersion(version) {
97
97
  switch (true) {
98
- case /^(latest|lowest|highest|nightly|\d+\.x)$/.test(version):
98
+ case /^(latest|lowest|highest|nightly|master|\d+\.x)$/.test(version):
99
99
  for (const manifestURL of await getManifestURLS()) {
100
100
  const fetchResult = await fetch.fetch(manifestURL);
101
101
  if (fetchResult['data'] ?? false) {
@@ -123,8 +123,8 @@ async function parseIniFile(ini_file) {
123
123
  }
124
124
  }
125
125
  async function asyncForEach(array, callback) {
126
- for (let index = 0; index < array.length; index++) {
127
- await callback(array[index], index, array);
126
+ for (const [index, element] of array.entries()) {
127
+ await callback(element, index, array);
128
128
  }
129
129
  }
130
130
  async function color(type) {