@coherentglobal/wasm-runner 0.1.4 → 0.2.4

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 (55) hide show
  1. package/README.md +137 -222
  2. package/dist/CancellationToken.js +2 -0
  3. package/dist/CancellationToken.js.map +1 -1
  4. package/dist/browser/logger.js +6 -2
  5. package/dist/browser/logger.js.map +1 -1
  6. package/dist/browser/template/main.template.js +1 -1
  7. package/dist/browser/template/main.template.js.map +1 -1
  8. package/dist/browser/template/worker.template.js +117 -108
  9. package/dist/browser/template/worker.template.js.map +1 -1
  10. package/dist/browser/template.js +2 -2
  11. package/dist/browser/template.js.map +1 -1
  12. package/dist/browser.d.ts +5 -5
  13. package/dist/browser.js +242 -257
  14. package/dist/browser.js.map +1 -1
  15. package/dist/constants.d.ts +1 -0
  16. package/dist/constants.js +2 -0
  17. package/dist/constants.js.map +1 -1
  18. package/dist/defaultExternalResolver.js +6 -15
  19. package/dist/defaultExternalResolver.js.map +1 -1
  20. package/dist/error.d.ts +5 -0
  21. package/dist/error.js +23 -5
  22. package/dist/error.js.map +1 -1
  23. package/dist/node/logger.d.ts +2 -1
  24. package/dist/node/logger.js +2 -2
  25. package/dist/node/logger.js.map +1 -1
  26. package/dist/node/logger.ts +2 -2
  27. package/dist/node/mockLogger.d.ts +2 -1
  28. package/dist/node/template/main.template.ejs +108 -69
  29. package/dist/node/threads/mockWorkerThread.d.ts +1 -0
  30. package/dist/node/threads/mockWorkerThread.js +10 -3
  31. package/dist/node/threads/mockWorkerThread.js.map +1 -1
  32. package/dist/node/threads/workerPool.d.ts +4 -5
  33. package/dist/node/threads/workerPool.js +8 -11
  34. package/dist/node/threads/workerPool.js.map +1 -1
  35. package/dist/node/threads/workerPool.ts +15 -10
  36. package/dist/node/threads/workerThread.d.ts +2 -2
  37. package/dist/node/threads/workerThread.js +36 -35
  38. package/dist/node/threads/workerThread.js.map +1 -1
  39. package/dist/node/threads/workerThread.ts +28 -25
  40. package/dist/node.d.ts +32 -7
  41. package/dist/node.js +602 -331
  42. package/dist/node.js.map +1 -1
  43. package/dist/responseTimeMetric.d.ts +20 -0
  44. package/dist/responseTimeMetric.js +159 -0
  45. package/dist/responseTimeMetric.js.map +1 -0
  46. package/dist/serializer/columnarSerializer.d.ts +9 -0
  47. package/dist/serializer/columnarSerializer.js +59 -30
  48. package/dist/serializer/columnarSerializer.js.map +1 -1
  49. package/dist/types.d.ts +36 -2
  50. package/dist/types.js +8 -0
  51. package/dist/types.js.map +1 -1
  52. package/dist/utils.d.ts +3 -1
  53. package/dist/utils.js +53 -59
  54. package/dist/utils.js.map +1 -1
  55. package/package.json +74 -60
package/dist/utils.js CHANGED
@@ -1,96 +1,92 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getSafeJSONString = exports.getSafeJSONObject = exports.isV3Input = exports.last = exports.addScript = exports.isEmpty = exports.fn2workerURL = exports.jsString2workerURL = exports.isCompatible = exports.isWorkerSupported = exports.isWasmSupported = exports.isBrowser = exports.isFilePath = exports.isHttpURL = exports.isPath = exports.ENVIRONMENT_IS_NODE = exports.ENVIRONMENT_IS_WEB = void 0;
16
- const fs_1 = __importDefault(require("fs"));
17
- const url_1 = __importDefault(require("url"));
6
+ exports.formatMemory = exports.isEmpty = exports.ENVIRONMENT_IS_NODE = exports.ENVIRONMENT_IS_WEB = void 0;
7
+ exports.isPath = isPath;
8
+ exports.isHttpURL = isHttpURL;
9
+ exports.isFilePath = isFilePath;
10
+ exports.isBrowser = isBrowser;
11
+ exports.isWasmSupported = isWasmSupported;
12
+ exports.isWorkerSupported = isWorkerSupported;
13
+ exports.isCompatible = isCompatible;
14
+ exports.jsString2workerURL = jsString2workerURL;
15
+ exports.fn2workerURL = fn2workerURL;
16
+ exports.addScript = addScript;
17
+ exports.last = last;
18
+ exports.isV3Input = isV3Input;
19
+ exports.getSafeJSONObject = getSafeJSONObject;
20
+ exports.getSafeJSONString = getSafeJSONString;
21
+ exports.isNumber = isNumber;
18
22
  const error_1 = __importDefault(require("./error"));
19
23
  exports.ENVIRONMENT_IS_WEB = typeof window === "object";
20
24
  exports.ENVIRONMENT_IS_NODE = typeof process === "object" &&
21
25
  typeof process.versions === "object" &&
22
26
  typeof process.versions.node === "string";
23
- function isPath(str) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- try {
26
- const stats = yield fs_1.default.promises.stat(str);
27
- return stats.isFile();
28
- }
29
- catch (err) {
30
- return false;
31
- }
32
- });
27
+ async function isPath(str) {
28
+ // In browser environment, this always returns false
29
+ if (exports.ENVIRONMENT_IS_WEB) {
30
+ return false;
31
+ }
32
+ // For Node.js environment only
33
+ // This check prevents webpack from trying to bundle fs in browser builds
34
+ if (typeof require === "undefined") {
35
+ return false;
36
+ }
37
+ try {
38
+ // Use eval to prevent webpack from statically analyzing this require
39
+ const fs = eval("require")("fs");
40
+ const stats = await fs.promises.stat(str);
41
+ return stats.isFile();
42
+ }
43
+ catch (_err) {
44
+ return false;
45
+ }
33
46
  }
34
- exports.isPath = isPath;
35
47
  /* istanbul ignore next */
36
48
  function isHttpURL(str) {
37
- let urlInstance;
38
49
  try {
39
- if (exports.ENVIRONMENT_IS_NODE) {
40
- urlInstance = new url_1.default.URL(str);
41
- }
42
- if (exports.ENVIRONMENT_IS_WEB) {
43
- urlInstance = new URL(str);
44
- }
50
+ // Both Node.js and browser support URL constructor
51
+ const urlInstance = new URL(str);
52
+ return (urlInstance.protocol === "http:" || urlInstance.protocol === "https:");
45
53
  }
46
- catch (err) {
54
+ catch (_err) {
47
55
  return false;
48
56
  }
49
- return urlInstance.protocol === "http:" || urlInstance.protocol === "https:";
50
57
  }
51
- exports.isHttpURL = isHttpURL;
52
58
  /* istanbul ignore next */
53
59
  function isFilePath(str, ext) {
54
60
  const idx = str.indexOf(`.${ext}`);
55
61
  return idx > -1 && idx === str.length - `.${ext}`.length;
56
62
  }
57
- exports.isFilePath = isFilePath;
58
63
  /* istanbul ignore next */
59
64
  function isBrowser() {
60
65
  try {
61
- // eslint-disable-next-line no-undef
62
66
  return window;
63
67
  }
64
- catch (e) {
68
+ catch (_e) {
65
69
  return false;
66
70
  }
67
71
  }
68
- exports.isBrowser = isBrowser;
69
72
  /* istanbul ignore next */
70
73
  function isWasmSupported() {
71
74
  try {
72
75
  if (typeof WebAssembly === "object" &&
73
- // eslint-disable-next-line no-undef
74
76
  typeof WebAssembly.instantiate === "function") {
75
- // eslint-disable-next-line no-undef
76
77
  const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
77
- // eslint-disable-next-line no-undef
78
78
  if (module instanceof WebAssembly.Module)
79
- // eslint-disable-next-line no-undef
80
79
  return new WebAssembly.Instance(module) instanceof WebAssembly.Instance;
81
80
  }
82
81
  // eslint-disable-next-line no-empty
83
82
  }
84
- catch (e) { }
83
+ catch (_e) { }
85
84
  return false;
86
85
  }
87
- exports.isWasmSupported = isWasmSupported;
88
86
  /* istanbul ignore next */
89
87
  function isWorkerSupported() {
90
- // eslint-disable-next-line no-undef
91
88
  return window.Worker;
92
89
  }
93
- exports.isWorkerSupported = isWorkerSupported;
94
90
  /* istanbul ignore next */
95
91
  function isCompatible() {
96
92
  if (!isBrowser()) {
@@ -103,58 +99,48 @@ function isCompatible() {
103
99
  throw new error_1.default.NotSupportedError("Web Worker");
104
100
  }
105
101
  }
106
- exports.isCompatible = isCompatible;
107
102
  /* istanbul ignore next */
108
103
  function jsString2workerURL(str) {
109
- // eslint-disable-next-line no-undef
110
104
  const blob = new Blob([str], { type: "text/javascript" });
111
105
  return URL.createObjectURL(blob);
112
106
  }
113
- exports.jsString2workerURL = jsString2workerURL;
114
107
  function fn2workerURL(fn) {
115
- // eslint-disable-next-line no-undef
116
108
  const blob = new Blob([`(${fn.toString()})()`], {
117
109
  type: "text/javascript",
118
110
  });
119
111
  return URL.createObjectURL(blob);
120
112
  }
121
- exports.fn2workerURL = fn2workerURL;
122
113
  /* istanbul ignore next */
123
114
  const isEmpty = (obj) => [Object, Array].includes((obj || {}).constructor) &&
124
115
  !Object.entries(obj || {}).length;
125
116
  exports.isEmpty = isEmpty;
126
117
  /* istanbul ignore next */
127
118
  function addScript(src) {
128
- // eslint-disable-next-line no-undef
129
119
  const s = document.createElement("script");
130
120
  s.setAttribute("src", src);
131
121
  s.setAttribute("async", "true");
132
- // eslint-disable-next-line no-undef
133
122
  document.body.appendChild(s);
134
123
  }
135
- exports.addScript = addScript;
136
124
  /* istanbul ignore next */
137
125
  function last(arr) {
138
126
  if (!Array.isArray(arr)) {
139
127
  throw new Error("Argument is not array");
140
128
  }
141
- const length = arr.length;
129
+ const { length } = arr;
142
130
  if (length === 0) {
143
131
  return undefined;
144
132
  }
145
133
  return arr[length - 1];
146
134
  }
147
- exports.last = last;
148
135
  /* istanbul ignore next */
149
136
  function isV3Input(input) {
150
137
  let isV3 = false;
151
- if (input.hasOwnProperty("request_data") &&
138
+ if (Object.prototype.hasOwnProperty.call(input, "request_data") &&
152
139
  !Array.isArray(input.request_data.inputs)) {
153
140
  isV3 = true;
154
141
  }
155
142
  return isV3;
156
143
  }
157
- exports.isV3Input = isV3Input;
158
144
  /**
159
145
  * Ensures that the value you'll get is a JSON object.
160
146
  *
@@ -170,7 +156,6 @@ exports.isV3Input = isV3Input;
170
156
  function getSafeJSONObject(data) {
171
157
  return typeof data === "string" ? JSON.parse(data) : data;
172
158
  }
173
- exports.getSafeJSONObject = getSafeJSONObject;
174
159
  /**
175
160
  * Ensures that the value you'll get is stringified JSON object.
176
161
  *
@@ -186,5 +171,14 @@ exports.getSafeJSONObject = getSafeJSONObject;
186
171
  function getSafeJSONString(data) {
187
172
  return typeof data === "object" ? JSON.stringify(data) : data;
188
173
  }
189
- exports.getSafeJSONString = getSafeJSONString;
174
+ const MB = 1024 * 1024;
175
+ const formatMemory = (usage) => {
176
+ // # bytes / KB / MB
177
+ const exactUsage = usage / MB;
178
+ return Math.round(exactUsage * 100) / 100;
179
+ };
180
+ exports.formatMemory = formatMemory;
181
+ function isNumber(value) {
182
+ return typeof value === "number" && !Number.isNaN(value);
183
+ }
190
184
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coherentglobal/wasm-runner",
3
- "version": "0.1.4",
3
+ "version": "0.2.4",
4
4
  "description": "Coherent WASM runner for Javascript and Node.js",
5
5
  "main": "dist/node.js",
6
6
  "browser": "dist/browser.js",
@@ -15,25 +15,27 @@
15
15
  "format": "prettier --write .",
16
16
  "build:ts": "tsc --declaration && cp -R ./src/node ./dist",
17
17
  "build:template": "node tools/create-template.js",
18
- "build": "yarn compress && yarn build:template && yarn build:ts",
19
- "bundle": "yarn compress && yarn build:template && yarn bundle:full && yarn bundle:min",
18
+ "build": "npm run compress && npm run build:template && npm run build:ts",
19
+ "bundle": "npm run compress && npm run build:template && npm run bundle:full && npm run bundle:min",
20
20
  "compress:runtime": "terser --compress --mangle --comments false src/browser/template/runtime.template.js > src/browser/template/runtime.template.min.js",
21
21
  "compress:worker": "terser --compress --mangle --comments false src/browser/template/worker.template.js > src/browser/template/worker.template.min.js",
22
- "compress": "yarn compress:runtime && yarn compress:worker",
22
+ "compress": "npm run compress:runtime && npm run compress:worker",
23
23
  "bundle:full": "browserify src/browser.ts --standalone CoherentGlobal -p [ tsify ] > lib/wasmrunner.js",
24
24
  "bundle:min": "browserify src/browser.ts --standalone CoherentGlobal -p [ tsify ] | terser --compress --mangle --comments false > lib/wasmrunner.min.js",
25
- "prep:samples:simple-html": "yarn bundle && cp ./lib/wasmrunner.js example/simple-html/ && cp ./lib/wasmrunner.min.js example/simple-html/",
26
- "test:lcov": "nyc --check-coverage --reporter=lcov --lines 30 npm run test",
25
+ "prep:samples:simple-html": "npm run bundle && cp ./lib/wasmrunner.js example/simple-html/ && cp ./lib/wasmrunner.min.js example/simple-html/",
26
+ "test:lcov": "c8 --check-coverage --lines 30 --reporter=lcov npm run test",
27
27
  "test:reporter": "NODE_ENV=test mocha -r ts-node/register tests/**/*.test.ts --bail --exit --recursive --timeout 100000 --reporter mocha-sonarqube-reporter tests --reporter-options output=./reports/test-reporter.xml",
28
- "cover": "yarn test:lcov && yarn test:reporter",
28
+ "cover": "npm run test:lcov && npm run test:reporter",
29
29
  "test": "cross-env NODE_ENV=test mocha -r ts-node/register tests/**/*.test.ts --bail --exit --recursive --timeout 100000 ",
30
30
  "test:chrome": "cross-env BROWSER=chrome MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000",
31
31
  "test:firefox": "cross-env BROWSER=firefox MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000",
32
32
  "test:edge": "cross-env BROWSER=edge MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000",
33
33
  "test:safari": "cross-env BROWSER=safari MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000",
34
- "test:opera": "cross-env BROWSER=opera MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000"
34
+ "test:opera": "cross-env BROWSER=opera MODE=headless NODE_ENV=test mocha -r ts-node/register selenium/headless.test.js --bail --exit --recursive --timeout 100000",
35
+ "clean-up": "node scripts/cleanup.js",
36
+ "start:node": "cross-env NODE_ENV=test DEV_DEBUG_TMP_PATH=/tempZip ts-node ./example/nodejs-typescript/index.ts"
35
37
  },
36
- "nyc": {
38
+ "c8": {
37
39
  "exclude": [
38
40
  "dist/",
39
41
  "src/browser/logger.js",
@@ -41,72 +43,78 @@
41
43
  "src/error.ts"
42
44
  ]
43
45
  },
46
+ "resolutions": {
47
+ "brace-expansion": "2.0.2",
48
+ "form-data": "4.0.4",
49
+ "js-yaml": "4.1.1",
50
+ "glob": "11.1.0"
51
+ },
44
52
  "devDependencies": {
45
- "@babel/cli": "^7.22.6",
46
- "@babel/core": "^7.22.8",
47
- "@babel/eslint-parser": "^7.22.7",
48
- "@babel/plugin-transform-runtime": "^7.19.6",
49
- "@babel/preset-env": "^7.20.2",
50
- "@istanbuljs/nyc-config-typescript": "^1.0.2",
51
- "@types/isomorphic-fetch": "^0.0.36",
52
- "@types/jest": "^29.5.0",
53
- "@types/jsdom": "^21.1.0",
54
- "@types/mocha": "^10.0.1",
55
- "@types/sinon": "^10.0.13",
56
- "@types/supertest": "^2.0.12",
53
+ "@babel/cli": "^7.28.3",
54
+ "@babel/core": "^7.28.5",
55
+ "@babel/eslint-parser": "^7.28.5",
56
+ "@babel/plugin-transform-runtime": "^7.28.5",
57
+ "@babel/preset-env": "^7.28.5",
58
+ "@eslint/eslintrc": "^3.2.0",
59
+ "@eslint/js": "^9.39.1",
60
+ "@types/isomorphic-fetch": "^0.0.39",
61
+ "@types/jest": "^30.0.0",
62
+ "@types/jsdom": "^27.0.0",
63
+ "@types/mocha": "^10.0.10",
64
+ "@types/sinon": "^21.0.0",
65
+ "@types/supertest": "^6.0.3",
66
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
67
+ "@typescript-eslint/parser": "^8.47.0",
57
68
  "babelify": "^10.0.0",
58
- "browserify": "^17.0.0",
59
- "chai": "^4.3.7",
60
- "chromedriver": "^116.0.0",
69
+ "browserify": "^17.0.1",
70
+ "c8": "^10.1.3",
71
+ "chai": "^6.2.1",
72
+ "chromedriver": "^142.0.2",
61
73
  "cross-blob": "^3.0.2",
62
- "cross-env": "^7.0.3",
63
- "edgedriver": "^5.2.1",
64
- "eslint": "^8.32.0",
65
- "eslint-config-airbnb": "19.0.4",
66
- "eslint-config-prettier": "^8.6.0",
67
- "eslint-plugin-import": "^2.27.5",
68
- "eslint-plugin-jsx-a11y": "^6.7.1",
74
+ "cross-env": "^10.1.0",
75
+ "edgedriver": "^6.1.2",
76
+ "eslint": "^9.39.1",
77
+ "eslint-config-prettier": "^10.1.8",
78
+ "eslint-import-resolver-typescript": "^4.4.4",
79
+ "eslint-plugin-import": "^2.32.0",
69
80
  "eslint-plugin-node": "^11.1.0",
70
- "eslint-plugin-prettier": "^4.2.1",
71
- "eslint-plugin-react": "^7.32.1",
72
- "eslint-plugin-react-hooks": "^4.6.0",
73
- "geckodriver": "^4.0.1",
81
+ "eslint-plugin-prettier": "^5.5.4",
82
+ "geckodriver": "^6.0.2",
74
83
  "isomorphic-blob": "^1.0.1",
75
84
  "isomorphic-fetch": "^3.0.0",
76
- "jest": "^29.6.1",
77
- "jsdom": "^21.1.1",
78
- "mocha": "^10.2.0",
85
+ "jest": "^30.2.0",
86
+ "jsdom": "^27.2.0",
87
+ "mocha": "^11.7.5",
79
88
  "mocha-sonarqube-reporter": "^1.0.2",
80
- "node-fetch": "^3.3.1",
81
- "nyc": "^15.1.0",
82
- "prettier": "^2.8.3",
89
+ "node-fetch": "^3.3.2",
90
+ "prettier": "^3.6.2",
83
91
  "replace": "^1.2.2",
84
- "selenium-webdriver": "^4.9.2",
92
+ "selenium-webdriver": "^4.38.0",
85
93
  "should": "^13.2.3",
86
- "sinon": "^15.0.2",
87
- "terser": "^5.16.1",
88
- "ts-node": "^10.9.1",
89
- "typescript": "^5.0.4"
94
+ "terser": "^5.44.1",
95
+ "ts-node": "^10.9.2",
96
+ "typescript": "^5.9.3"
90
97
  },
91
98
  "dependencies": {
92
- "@babel/runtime": "^7.22.6",
93
- "@paralleldrive/cuid2": "^2.2.1",
94
- "@types/ejs": "^3.1.1",
99
+ "@babel/runtime": "^7.28.4",
100
+ "@paralleldrive/cuid2": "^2.2.2",
101
+ "@types/ejs": "^3.1.5",
95
102
  "@types/got": "^9.6.12",
96
- "@types/node": "17.0.10",
97
- "@types/tmp": "^0.2.3",
98
- "@types/unzipper": "^0.10.5",
99
- "@types/worker-threads-pool": "^2.0.1",
100
- "ejs": "^3.1.8",
103
+ "@types/node": "^24.10.1",
104
+ "@types/tmp": "^0.2.6",
105
+ "@types/unzipper": "^0.10.11",
106
+ "@types/worker-threads-pool": "^2.0.4",
107
+ "ejs": "^3.1.10",
101
108
  "got": "11.8.6",
102
109
  "is-buffer": "^2.0.5",
103
110
  "memoizerific": "^1.11.3",
104
- "pino": "^8.11.0",
105
- "poolifier": "^2.6.31",
106
- "tmp": "^0.2.1",
111
+ "pino": "^10.1.0",
112
+ "poolifier": "^5.1.7",
113
+ "semver": "^7.7.3",
114
+ "tmp": "^0.2.5",
107
115
  "tsify": "^5.0.4",
108
- "unzipit": "^1.4.2",
109
- "unzipper": "^0.10.11"
116
+ "unzipit": "^1.4.3",
117
+ "unzipper": "^0.12.3"
110
118
  },
111
119
  "browserify": {
112
120
  "transform": [
@@ -127,5 +135,11 @@
127
135
  }
128
136
  ]
129
137
  ]
138
+ },
139
+ "overrides": {
140
+ "brace-expansion": "2.0.2",
141
+ "form-data": "4.0.4",
142
+ "glob": "11.1.0",
143
+ "js-yaml": "4.1.1"
130
144
  }
131
- }
145
+ }