@granite-js/pulumi-aws 0.1.34 → 1.0.2

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 (82) hide show
  1. package/CHANGELOG.md +6 -112
  2. package/dist/chunk-23MVQUOJ.js +1630 -0
  3. package/dist/chunk-24XYHOWM.js +171 -0
  4. package/dist/chunk-3AVBP57V.js +1598 -0
  5. package/dist/chunk-3JKQPIJ2.js +460 -0
  6. package/dist/{chunk-ITI6QA2Q.js → chunk-3OYGHA4S.js} +1 -1
  7. package/dist/{chunk-IEZY5C3G.js → chunk-46DIC54Q.js} +49 -37
  8. package/dist/chunk-57WYIP4I.js +808 -0
  9. package/dist/{chunk-WCHHWTND.js → chunk-63Q3RLAK.js} +93 -59
  10. package/dist/chunk-6KRYZP6R.js +28 -0
  11. package/dist/{chunk-QAE2S7MG.js → chunk-7NN7DVGK.js} +2050 -552
  12. package/dist/{chunk-5W7B34BN.js → chunk-ASGFIK4A.js} +2231 -464
  13. package/dist/chunk-BTBQTDRJ.js +174 -0
  14. package/dist/chunk-DDZTWBHZ.js +154 -0
  15. package/dist/chunk-G3FWLTNJ.js +10 -0
  16. package/dist/{chunk-TJ744C2T.js → chunk-GJFKL6XM.js} +43 -38
  17. package/dist/chunk-H4QJ5O4E.js +36 -0
  18. package/dist/{chunk-X6XO7USX.js → chunk-LCO5F3JB.js} +109 -56
  19. package/dist/chunk-NDDYFDCU.js +60 -0
  20. package/dist/chunk-OCHPLE5N.js +28 -0
  21. package/dist/chunk-OSJA4YYQ.js +846 -0
  22. package/dist/chunk-PIT3K3NC.js +464 -0
  23. package/dist/chunk-QCKAO4UT.js +476 -0
  24. package/dist/{chunk-64IS37V6.js → chunk-RYIGWCGK.js} +1 -6
  25. package/dist/chunk-S4LJWEXU.js +37 -0
  26. package/dist/chunk-SJ26Y3GW.js +472 -0
  27. package/dist/chunk-TDZTH7TL.js +60 -0
  28. package/dist/chunk-THUA35UY.js +35 -0
  29. package/dist/{chunk-IUKLHJNE.js → chunk-V7TRGEV6.js} +4 -7
  30. package/dist/{chunk-KGNTV362.js → chunk-WDFKVCPC.js} +66 -34
  31. package/dist/{chunk-B7OAPHPY.js → chunk-YWWEFWFD.js} +3 -3
  32. package/dist/chunk-Z4UYYQ4J.js +42 -0
  33. package/dist/chunk-ZBT5SDIQ.js +16528 -0
  34. package/dist/chunk-ZIHRRTTA.js +24 -0
  35. package/dist/{dist-es-CDFIYJVE.js → dist-es-3VZ2IGGJ.js} +18 -15
  36. package/dist/{dist-es-SUPEA6VE-3B5JSW5C.js → dist-es-BQW4ETQH-C7ZSD5EG.js} +8 -25
  37. package/dist/{dist-es-GHYMLBON.js → dist-es-HSWXMGNC.js} +21 -21
  38. package/dist/{dist-es-OCQVKISC-TNAJ62WG.js → dist-es-IDBNBAO5-H3TO63FG.js} +15 -18
  39. package/dist/{dist-es-S75EKWRJ.js → dist-es-KPJNIAPT.js} +9 -10
  40. package/dist/{dist-es-PRWCVZGQ-HTTVI42T.js → dist-es-LZDRG6RP-SP2FWWEO.js} +3 -4
  41. package/dist/{dist-es-OZGLUDWT.js → dist-es-PIWY5TOR.js} +49 -26
  42. package/dist/{dist-es-ADTONJUN-RVFWNZHO.js → dist-es-R4LD2OHZ-B5MB6BR2.js} +11 -13
  43. package/dist/dist-es-S2KJK4L2-5GDBXJIO.js +470 -0
  44. package/dist/{dist-es-XQME5F6W.js → dist-es-THYWPEKB.js} +12 -10
  45. package/dist/{dist-es-HJVOMDYC-PIAMWMAL.js → dist-es-TIYLKN6W-BAHZRZH5.js} +7 -13
  46. package/dist/{dist-es-IDBDK36G-Y6TQMRO5.js → dist-es-VORPMM2F-WOMP2FYQ.js} +37 -30
  47. package/dist/{dist-es-WQHDOVD7.js → dist-es-WESJCADT.js} +3 -4
  48. package/dist/dist-es-XMOG24OT.js +490 -0
  49. package/dist/event-streams-L7RH32OW-AFMBEYJJ.js +237 -0
  50. package/dist/event-streams-NGUY2RWE.js +237 -0
  51. package/dist/index.cjs +2 -2
  52. package/dist/index.js +2 -2
  53. package/dist/lambda/auto-cache-removal.cjs +28894 -16488
  54. package/dist/lambda/auto-cache-removal.js +11574 -2713
  55. package/dist/lambda/origin-request.cjs +22351 -17619
  56. package/dist/lambda/origin-request.js +21 -17
  57. package/dist/lambda/origin-response.cjs +22219 -17387
  58. package/dist/lambda/origin-response.js +17 -13
  59. package/dist/{loadSso-CZSSLFH6-SA5HOQAX.js → loadSso-F4PTCHDN-YR3RRUYW.js} +330 -227
  60. package/dist/{loadSso-T7GJVVO2.js → loadSso-LG7MFP7N.js} +344 -223
  61. package/dist/signin-P7DNG43W.js +658 -0
  62. package/dist/signin-XWTOVLF3-4ENWNEF7.js +630 -0
  63. package/dist/{sso-oidc-PKO5GYK5-LC65L46O.js → sso-oidc-FQQGUOJL.js} +293 -332
  64. package/dist/{sso-oidc-55SJ27II.js → sso-oidc-RRDYLOJY-FK3AUTOI.js} +263 -337
  65. package/dist/{sts-OPF4H3GL.js → sts-7FBOVTCN.js} +674 -601
  66. package/dist/{sts-P7Q3MYTS-BKGWHQE4.js → sts-TBWJ374A-DHXXCVJJ.js} +651 -608
  67. package/package.json +5 -5
  68. package/dist/chunk-AEOST5WF.js +0 -63
  69. package/dist/chunk-FO7L563E.js +0 -13695
  70. package/dist/chunk-FRWSD3YQ.js +0 -1722
  71. package/dist/chunk-JBVMOFGH.js +0 -152
  72. package/dist/chunk-JSBRDJBE.js +0 -30
  73. package/dist/chunk-KRJS4RAS.js +0 -1732
  74. package/dist/chunk-M5GUUX64.js +0 -63
  75. package/dist/chunk-SX6SVQKS.js +0 -67
  76. package/dist/chunk-UNXXS5FM.js +0 -120
  77. package/dist/chunk-UT2RMOJS.js +0 -2447
  78. package/dist/chunk-VOTRVWIB.js +0 -1965
  79. package/dist/chunk-W3VXP3A3.js +0 -119
  80. package/dist/chunk-XLUI7RQ4.js +0 -115
  81. package/dist/dist-es-2M7RLZ5O.js +0 -200
  82. package/dist/dist-es-Y7VN37H5-WQ3GYROF.js +0 -196
@@ -4,37 +4,46 @@ import {
4
4
  getSSOTokenFromFile,
5
5
  loadSsoSessionData,
6
6
  parseKnownFiles
7
- } from "./chunk-KGNTV362.js";
7
+ } from "./chunk-WDFKVCPC.js";
8
8
  import {
9
9
  setCredentialFeature
10
- } from "./chunk-ITI6QA2Q.js";
11
- import "./chunk-M5GUUX64.js";
10
+ } from "./chunk-3OYGHA4S.js";
12
11
  import {
13
12
  CredentialsProviderError,
14
- TokenProviderError
15
- } from "./chunk-W3VXP3A3.js";
16
- import "./chunk-JSBRDJBE.js";
13
+ ProviderError
14
+ } from "./chunk-S4LJWEXU.js";
17
15
 
18
- // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.817.0-594516ea78-5f5d4569c9.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js
16
+ // ../../.yarn/cache/@smithy-property-provider-npm-4.2.5-86dfaa488e-bea8cf1758.zip/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js
17
+ var TokenProviderError = class _TokenProviderError extends ProviderError {
18
+ name = "TokenProviderError";
19
+ constructor(message, options = true) {
20
+ super(message, options);
21
+ Object.setPrototypeOf(this, _TokenProviderError.prototype);
22
+ }
23
+ };
24
+
25
+ // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.940.0-2be651c1ce-fd6397d6df.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js
19
26
  var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string");
20
27
 
21
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/constants.js
28
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/constants.js
22
29
  var EXPIRE_WINDOW_MS = 5 * 60 * 1e3;
23
30
  var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;
24
31
 
25
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js
32
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js
26
33
  var getSsoOidcClient = async (ssoRegion, init = {}) => {
27
- const { SSOOIDCClient } = await import("./sso-oidc-55SJ27II.js");
34
+ const { SSOOIDCClient } = await import("./sso-oidc-FQQGUOJL.js");
35
+ const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop];
28
36
  const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {
29
37
  region: ssoRegion ?? init.clientConfig?.region,
30
- logger: init.clientConfig?.logger ?? init.parentClientConfig?.logger
38
+ logger: coalesce("logger"),
39
+ userAgentAppId: coalesce("userAgentAppId")
31
40
  }));
32
41
  return ssoOidcClient;
33
42
  };
34
43
 
35
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js
44
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js
36
45
  var getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}) => {
37
- const { CreateTokenCommand } = await import("./sso-oidc-55SJ27II.js");
46
+ const { CreateTokenCommand } = await import("./sso-oidc-FQQGUOJL.js");
38
47
  const ssoOidcClient = await getSsoOidcClient(ssoRegion, init);
39
48
  return ssoOidcClient.send(new CreateTokenCommand({
40
49
  clientId: ssoToken.clientId,
@@ -44,21 +53,21 @@ var getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}) => {
44
53
  }));
45
54
  };
46
55
 
47
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js
56
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js
48
57
  var validateTokenExpiry = (token) => {
49
58
  if (token.expiration && token.expiration.getTime() < Date.now()) {
50
59
  throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);
51
60
  }
52
61
  };
53
62
 
54
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js
63
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js
55
64
  var validateTokenKey = (key, value, forRefresh = false) => {
56
65
  if (typeof value === "undefined") {
57
66
  throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${REFRESH_MESSAGE}`, false);
58
67
  }
59
68
  };
60
69
 
61
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js
70
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js
62
71
  import { promises as fsPromises } from "fs";
63
72
  var { writeFile } = fsPromises;
64
73
  var writeSSOTokenToFile = (id, ssoToken) => {
@@ -67,7 +76,7 @@ var writeSSOTokenToFile = (id, ssoToken) => {
67
76
  return writeFile(tokenFilepath, tokenString);
68
77
  };
69
78
 
70
- // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.817.0-fe7c07f79c-fdb06b3bb2.zip/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js
79
+ // ../../.yarn/cache/@aws-sdk-token-providers-npm-3.940.0-95e61914c7-6dc90385d5.zip/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js
71
80
  var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0);
72
81
  var fromSso = (_init = {}) => async ({ callerClientConfig } = {}) => {
73
82
  const init = {
@@ -146,14 +155,19 @@ var fromSso = (_init = {}) => async ({ callerClientConfig } = {}) => {
146
155
  }
147
156
  };
148
157
 
149
- // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.817.0-594516ea78-5f5d4569c9.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js
158
+ // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.940.0-2be651c1ce-fd6397d6df.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js
150
159
  var SHOULD_FAIL_CREDENTIAL_CHAIN = false;
151
- var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, profile, logger }) => {
160
+ var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, profile, filepath, configFilepath, ignoreCache, logger }) => {
152
161
  let token;
153
162
  const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
154
163
  if (ssoSession) {
155
164
  try {
156
- const _token = await fromSso({ profile })();
165
+ const _token = await fromSso({
166
+ profile,
167
+ filepath,
168
+ configFilepath,
169
+ ignoreCache
170
+ })();
157
171
  token = {
158
172
  accessToken: _token.token,
159
173
  expiresAt: new Date(_token.expiration).toISOString()
@@ -181,10 +195,11 @@ var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoR
181
195
  });
182
196
  }
183
197
  const { accessToken } = token;
184
- const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso-T7GJVVO2.js");
198
+ const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso-LG7MFP7N.js");
185
199
  const sso = ssoClient || new SSOClient(Object.assign({}, clientConfig ?? {}, {
186
200
  logger: clientConfig?.logger ?? parentClientConfig?.logger,
187
- region: clientConfig?.region ?? ssoRegion
201
+ region: clientConfig?.region ?? ssoRegion,
202
+ userAgentAppId: clientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId
188
203
  }));
189
204
  let ssoResp;
190
205
  try {
@@ -222,7 +237,7 @@ var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoR
222
237
  return credentials;
223
238
  };
224
239
 
225
- // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.817.0-594516ea78-5f5d4569c9.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js
240
+ // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.940.0-2be651c1ce-fd6397d6df.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js
226
241
  var validateSsoProfile = (profile, logger) => {
227
242
  const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
228
243
  if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
@@ -232,7 +247,7 @@ Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.ht
232
247
  return profile;
233
248
  };
234
249
 
235
- // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.817.0-594516ea78-5f5d4569c9.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js
250
+ // ../../.yarn/cache/@aws-sdk-credential-provider-sso-npm-3.940.0-2be651c1ce-fd6397d6df.zip/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js
236
251
  var fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {
237
252
  init.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");
238
253
  const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
@@ -280,7 +295,11 @@ var fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {
280
295
  ssoClient,
281
296
  clientConfig: init.clientConfig,
282
297
  parentClientConfig: init.parentClientConfig,
283
- profile: profileName
298
+ profile: profileName,
299
+ filepath: init.filepath,
300
+ configFilepath: init.configFilepath,
301
+ ignoreCache: init.ignoreCache,
302
+ logger: init.logger
284
303
  });
285
304
  } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
286
305
  throw new CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init.logger });
@@ -294,7 +313,11 @@ var fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {
294
313
  ssoClient,
295
314
  clientConfig: init.clientConfig,
296
315
  parentClientConfig: init.parentClientConfig,
297
- profile: profileName
316
+ profile: profileName,
317
+ filepath: init.filepath,
318
+ configFilepath: init.configFilepath,
319
+ ignoreCache: init.ignoreCache,
320
+ logger: init.logger
298
321
  });
299
322
  }
300
323
  };
@@ -1,23 +1,21 @@
1
+ import {
2
+ externalDataInterceptor
3
+ } from "./chunk-GJFKL6XM.js";
1
4
  import {
2
5
  setCredentialFeature
3
- } from "./chunk-64IS37V6.js";
6
+ } from "./chunk-RYIGWCGK.js";
4
7
  import {
5
- CredentialsProviderError,
6
- init_esm_shims
7
- } from "./chunk-JBVMOFGH.js";
8
- import "./chunk-JSBRDJBE.js";
8
+ CredentialsProviderError
9
+ } from "./chunk-THUA35UY.js";
9
10
 
10
- // ../deployment-manager/dist/dist-es-ADTONJUN.js
11
+ // ../deployment-manager/dist/dist-es-R4LD2OHZ.js
11
12
  import { readFileSync } from "fs";
12
- init_esm_shims();
13
- init_esm_shims();
14
- init_esm_shims();
15
13
  var fromWebToken = (init) => async (awsIdentityProperties) => {
16
14
  init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");
17
15
  const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;
18
16
  let { roleAssumerWithWebIdentity } = init;
19
17
  if (!roleAssumerWithWebIdentity) {
20
- const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-P7Q3MYTS-BKGWHQE4.js");
18
+ const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-TBWJ374A-DHXXCVJJ.js");
21
19
  roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({
22
20
  ...init.clientConfig,
23
21
  credentialProviderLogger: init.logger,
@@ -40,7 +38,7 @@ var fromWebToken = (init) => async (awsIdentityProperties) => {
40
38
  var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE";
41
39
  var ENV_ROLE_ARN = "AWS_ROLE_ARN";
42
40
  var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME";
43
- var fromTokenFile = (init = {}) => async () => {
41
+ var fromTokenFile = (init = {}) => async (awsIdentityProperties) => {
44
42
  init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");
45
43
  const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];
46
44
  const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];
@@ -52,10 +50,10 @@ var fromTokenFile = (init = {}) => async () => {
52
50
  }
53
51
  const credentials = await fromWebToken({
54
52
  ...init,
55
- webIdentityToken: readFileSync(webIdentityTokenFile, { encoding: "ascii" }),
53
+ webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ?? readFileSync(webIdentityTokenFile, { encoding: "ascii" }),
56
54
  roleArn,
57
55
  roleSessionName
58
- })();
56
+ })(awsIdentityProperties);
59
57
  if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {
60
58
  setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h");
61
59
  }