ts-swc-transform 2.8.0 → 2.8.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.
@@ -1,12 +0,0 @@
1
- /**
2
- * Lightweight ESM exports field resolver
3
- * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)
4
- *
5
- * Only loaded on Node >= 12.2 where module.createRequire exists.
6
- * On older Node, toPath.ts skips this and falls back to resolve.sync().
7
- */
8
- /**
9
- * Resolve a module specifier using the exports field in package.json
10
- * Falls back to legacy main/module fields if exports is not present
11
- */
12
- export default function resolveWithExports(specifier: string, basedir: string, conditions?: string[]): string | null;
@@ -1,12 +0,0 @@
1
- /**
2
- * Lightweight ESM exports field resolver
3
- * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)
4
- *
5
- * Only loaded on Node >= 12.2 where module.createRequire exists.
6
- * On older Node, toPath.ts skips this and falls back to resolve.sync().
7
- */
8
- /**
9
- * Resolve a module specifier using the exports field in package.json
10
- * Falls back to legacy main/module fields if exports is not present
11
- */
12
- export default function resolveWithExports(specifier: string, basedir: string, conditions?: string[]): string | null;
@@ -1,146 +0,0 @@
1
- /**
2
- * Lightweight ESM exports field resolver
3
- * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)
4
- *
5
- * Only loaded on Node >= 12.2 where module.createRequire exists.
6
- * On older Node, toPath.ts skips this and falls back to resolve.sync().
7
- */ "use strict";
8
- Object.defineProperty(exports, "__esModule", {
9
- value: true
10
- });
11
- Object.defineProperty(exports, /**
12
- * Resolve a module specifier using the exports field in package.json
13
- * Falls back to legacy main/module fields if exports is not present
14
- */ "default", {
15
- enumerable: true,
16
- get: function() {
17
- return resolveWithExports;
18
- }
19
- });
20
- var _module = /*#__PURE__*/ _interop_require_default(require("module"));
21
- var _resolve = /*#__PURE__*/ _interop_require_wildcard(require("resolve"));
22
- function _interop_require_default(obj) {
23
- return obj && obj.__esModule ? obj : {
24
- default: obj
25
- };
26
- }
27
- function _getRequireWildcardCache(nodeInterop) {
28
- if (typeof WeakMap !== "function") return null;
29
- var cacheBabelInterop = new WeakMap();
30
- var cacheNodeInterop = new WeakMap();
31
- return (_getRequireWildcardCache = function(nodeInterop) {
32
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
33
- })(nodeInterop);
34
- }
35
- function _interop_require_wildcard(obj, nodeInterop) {
36
- if (!nodeInterop && obj && obj.__esModule) {
37
- return obj;
38
- }
39
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
40
- return {
41
- default: obj
42
- };
43
- }
44
- var cache = _getRequireWildcardCache(nodeInterop);
45
- if (cache && cache.has(obj)) {
46
- return cache.get(obj);
47
- }
48
- var newObj = {
49
- __proto__: null
50
- };
51
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
- for(var key in obj){
53
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
- if (desc && (desc.get || desc.set)) {
56
- Object.defineProperty(newObj, key, desc);
57
- } else {
58
- newObj[key] = obj[key];
59
- }
60
- }
61
- }
62
- newObj.default = obj;
63
- if (cache) {
64
- cache.set(obj, newObj);
65
- }
66
- return newObj;
67
- }
68
- var _resolve_default;
69
- var resolveSync = ((_resolve_default = _resolve.default) !== null && _resolve_default !== void 0 ? _resolve_default : _resolve).sync;
70
- var _resolveExports = null;
71
- function getResolveExports() {
72
- if (_resolveExports === null) {
73
- try {
74
- // Use dynamic require to avoid loading on older Node versions
75
- var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
76
- _resolveExports = _require('resolve.exports');
77
- } catch (_) {
78
- // If resolve.exports fails to load, return null
79
- // This shouldn't happen on Node >= 12.2, but handle gracefully
80
- _resolveExports = null;
81
- }
82
- }
83
- return _resolveExports;
84
- }
85
- /**
86
- * Extract the subpath from a specifier
87
- * "lodash/get" → "./get"
88
- * "react" → "."
89
- * "@scope/pkg/foo" → "./foo"
90
- */ function getSubpath(specifier) {
91
- var parts = specifier.split('/');
92
- var pkgName = specifier[0] === '@' ? parts.slice(0, 2).join('/') : parts[0];
93
- var remainder = specifier.slice(pkgName.length);
94
- return remainder ? ".".concat(remainder) : '.';
95
- }
96
- function resolveWithExports(specifier, basedir) {
97
- var conditions = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [
98
- 'node',
99
- 'import'
100
- ];
101
- var resolveExportsMod = getResolveExports();
102
- if (!resolveExportsMod) {
103
- // resolve.exports not available, return null to trigger fallback
104
- return null;
105
- }
106
- var resolveExportsFn = resolveExportsMod.exports, legacy = resolveExportsMod.legacy;
107
- var subpath = getSubpath(specifier);
108
- try {
109
- return resolveSync(specifier, {
110
- basedir: basedir,
111
- extensions: [
112
- '.js',
113
- '.json',
114
- '.node',
115
- '.mjs'
116
- ],
117
- packageFilter: function(pkg) {
118
- // Try exports field first
119
- try {
120
- var resolved = resolveExportsFn(pkg, subpath, {
121
- conditions: conditions
122
- });
123
- if (resolved === null || resolved === void 0 ? void 0 : resolved[0]) {
124
- pkg.main = resolved[0];
125
- return pkg;
126
- }
127
- } catch (_) {
128
- // exports field parsing failed, try legacy
129
- }
130
- // Try legacy main/module fields
131
- try {
132
- var legacyMain = legacy(pkg);
133
- if (legacyMain) {
134
- pkg.main = legacyMain;
135
- }
136
- } catch (_) {
137
- // legacy parsing failed, use original pkg
138
- }
139
- return pkg;
140
- }
141
- });
142
- } catch (_) {
143
- return null;
144
- }
145
- }
146
- /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/resolve-with-exports.ts"],"sourcesContent":["/**\n * Lightweight ESM exports field resolver\n * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)\n *\n * Only loaded on Node >= 12.2 where module.createRequire exists.\n * On older Node, toPath.ts skips this and falls back to resolve.sync().\n */\n\nimport Module from 'module';\nimport * as resolve from 'resolve';\n\nconst resolveSync = (resolve.default ?? resolve).sync;\n\n// Lazy-load resolve.exports to avoid requiring it on older Node versions\n// resolve.exports requires Node >= 10, but this code only runs on Node >= 12.2\ntype ResolveExportsModule = typeof import('resolve.exports');\nlet _resolveExports: ResolveExportsModule | null = null;\n\nfunction getResolveExports(): ResolveExportsModule | null {\n if (_resolveExports === null) {\n try {\n // Use dynamic require to avoid loading on older Node versions\n const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n _resolveExports = _require('resolve.exports') as ResolveExportsModule;\n } catch (_) {\n // If resolve.exports fails to load, return null\n // This shouldn't happen on Node >= 12.2, but handle gracefully\n _resolveExports = null;\n }\n }\n return _resolveExports;\n}\n\n/**\n * Extract the subpath from a specifier\n * \"lodash/get\" → \"./get\"\n * \"react\" → \".\"\n * \"@scope/pkg/foo\" → \"./foo\"\n */\nfunction getSubpath(specifier: string): string {\n const parts = specifier.split('/');\n const pkgName = specifier[0] === '@' ? parts.slice(0, 2).join('/') : parts[0];\n const remainder = specifier.slice(pkgName.length);\n return remainder ? `.${remainder}` : '.';\n}\n\n/**\n * Resolve a module specifier using the exports field in package.json\n * Falls back to legacy main/module fields if exports is not present\n */\nexport default function resolveWithExports(specifier: string, basedir: string, conditions: string[] = ['node', 'import']): string | null {\n const resolveExportsMod = getResolveExports();\n if (!resolveExportsMod) {\n // resolve.exports not available, return null to trigger fallback\n return null;\n }\n\n const { exports: resolveExportsFn, legacy } = resolveExportsMod;\n const subpath = getSubpath(specifier);\n\n try {\n return resolveSync(specifier, {\n basedir,\n extensions: ['.js', '.json', '.node', '.mjs'],\n packageFilter: (pkg) => {\n // Try exports field first\n try {\n const resolved = resolveExportsFn(pkg, subpath, { conditions });\n if (resolved?.[0]) {\n pkg.main = resolved[0];\n return pkg;\n }\n } catch (_) {\n // exports field parsing failed, try legacy\n }\n\n // Try legacy main/module fields\n try {\n const legacyMain = legacy(pkg);\n if (legacyMain) {\n pkg.main = legacyMain;\n }\n } catch (_) {\n // legacy parsing failed, use original pkg\n }\n\n return pkg;\n },\n });\n } catch (_) {\n return null;\n }\n}\n"],"names":["resolveWithExports","resolve","resolveSync","default","sync","_resolveExports","getResolveExports","_require","require","Module","createRequire","_","getSubpath","specifier","parts","split","pkgName","slice","join","remainder","length","basedir","conditions","resolveExportsMod","exports","resolveExportsFn","legacy","subpath","extensions","packageFilter","pkg","resolved","main","legacyMain"],"mappings":"AAAA;;;;;;CAMC;;;;+BAwCD;;;CAGC,GACD;;;eAAwBA;;;6DA1CL;+DACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEJC;AAArB,IAAMC,cAAc,AAACD,CAAAA,CAAAA,mBAAAA,SAAQE,OAAO,cAAfF,8BAAAA,mBAAmBA,QAAM,EAAGG,IAAI;AAKrD,IAAIC,kBAA+C;AAEnD,SAASC;IACP,IAAID,oBAAoB,MAAM;QAC5B,IAAI;YACF,8DAA8D;YAC9D,IAAME,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;YAC1FH,kBAAkBE,SAAS;QAC7B,EAAE,OAAOI,GAAG;YACV,gDAAgD;YAChD,+DAA+D;YAC/DN,kBAAkB;QACpB;IACF;IACA,OAAOA;AACT;AAEA;;;;;CAKC,GACD,SAASO,WAAWC,SAAiB;IACnC,IAAMC,QAAQD,UAAUE,KAAK,CAAC;IAC9B,IAAMC,UAAUH,SAAS,CAAC,EAAE,KAAK,MAAMC,MAAMG,KAAK,CAAC,GAAG,GAAGC,IAAI,CAAC,OAAOJ,KAAK,CAAC,EAAE;IAC7E,IAAMK,YAAYN,UAAUI,KAAK,CAACD,QAAQI,MAAM;IAChD,OAAOD,YAAY,AAAC,IAAa,OAAVA,aAAc;AACvC;AAMe,SAASnB,mBAAmBa,SAAiB,EAAEQ,OAAe;QAAEC,aAAAA,iEAAuB;QAAC;QAAQ;KAAS;IACtH,IAAMC,oBAAoBjB;IAC1B,IAAI,CAACiB,mBAAmB;QACtB,iEAAiE;QACjE,OAAO;IACT;IAEA,IAAQC,AAASC,mBAA6BF,kBAAtCC,SAA2BE,SAAWH,kBAAXG;IACnC,IAAMC,UAAUf,WAAWC;IAE3B,IAAI;QACF,OAAOX,YAAYW,WAAW;YAC5BQ,SAAAA;YACAO,YAAY;gBAAC;gBAAO;gBAAS;gBAAS;aAAO;YAC7CC,eAAe,SAACC;gBACd,0BAA0B;gBAC1B,IAAI;oBACF,IAAMC,WAAWN,iBAAiBK,KAAKH,SAAS;wBAAEL,YAAAA;oBAAW;oBAC7D,IAAIS,qBAAAA,+BAAAA,QAAU,CAAC,EAAE,EAAE;wBACjBD,IAAIE,IAAI,GAAGD,QAAQ,CAAC,EAAE;wBACtB,OAAOD;oBACT;gBACF,EAAE,OAAOnB,GAAG;gBACV,2CAA2C;gBAC7C;gBAEA,gCAAgC;gBAChC,IAAI;oBACF,IAAMsB,aAAaP,OAAOI;oBAC1B,IAAIG,YAAY;wBACdH,IAAIE,IAAI,GAAGC;oBACb;gBACF,EAAE,OAAOtB,GAAG;gBACV,0CAA0C;gBAC5C;gBAEA,OAAOmB;YACT;QACF;IACF,EAAE,OAAOnB,GAAG;QACV,OAAO;IACT;AACF"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Lightweight ESM exports field resolver
3
- * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)
4
- *
5
- * Only loaded on Node >= 12.2 where module.createRequire exists.
6
- * On older Node, toPath.ts skips this and falls back to resolve.sync().
7
- */
8
- /**
9
- * Resolve a module specifier using the exports field in package.json
10
- * Falls back to legacy main/module fields if exports is not present
11
- */
12
- export default function resolveWithExports(specifier: string, basedir: string, conditions?: string[]): string | null;
@@ -1,88 +0,0 @@
1
- /**
2
- * Lightweight ESM exports field resolver
3
- * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)
4
- *
5
- * Only loaded on Node >= 12.2 where module.createRequire exists.
6
- * On older Node, toPath.ts skips this and falls back to resolve.sync().
7
- */ import Module from 'module';
8
- import * as resolve from 'resolve';
9
- var _resolve_default;
10
- const resolveSync = ((_resolve_default = resolve.default) !== null && _resolve_default !== void 0 ? _resolve_default : resolve).sync;
11
- let _resolveExports = null;
12
- function getResolveExports() {
13
- if (_resolveExports === null) {
14
- try {
15
- // Use dynamic require to avoid loading on older Node versions
16
- const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
17
- _resolveExports = _require('resolve.exports');
18
- } catch (_) {
19
- // If resolve.exports fails to load, return null
20
- // This shouldn't happen on Node >= 12.2, but handle gracefully
21
- _resolveExports = null;
22
- }
23
- }
24
- return _resolveExports;
25
- }
26
- /**
27
- * Extract the subpath from a specifier
28
- * "lodash/get" → "./get"
29
- * "react" → "."
30
- * "@scope/pkg/foo" → "./foo"
31
- */ function getSubpath(specifier) {
32
- const parts = specifier.split('/');
33
- const pkgName = specifier[0] === '@' ? parts.slice(0, 2).join('/') : parts[0];
34
- const remainder = specifier.slice(pkgName.length);
35
- return remainder ? `.${remainder}` : '.';
36
- }
37
- /**
38
- * Resolve a module specifier using the exports field in package.json
39
- * Falls back to legacy main/module fields if exports is not present
40
- */ export default function resolveWithExports(specifier, basedir, conditions = [
41
- 'node',
42
- 'import'
43
- ]) {
44
- const resolveExportsMod = getResolveExports();
45
- if (!resolveExportsMod) {
46
- // resolve.exports not available, return null to trigger fallback
47
- return null;
48
- }
49
- const { exports: resolveExportsFn, legacy } = resolveExportsMod;
50
- const subpath = getSubpath(specifier);
51
- try {
52
- return resolveSync(specifier, {
53
- basedir,
54
- extensions: [
55
- '.js',
56
- '.json',
57
- '.node',
58
- '.mjs'
59
- ],
60
- packageFilter: (pkg)=>{
61
- // Try exports field first
62
- try {
63
- const resolved = resolveExportsFn(pkg, subpath, {
64
- conditions
65
- });
66
- if (resolved === null || resolved === void 0 ? void 0 : resolved[0]) {
67
- pkg.main = resolved[0];
68
- return pkg;
69
- }
70
- } catch (_) {
71
- // exports field parsing failed, try legacy
72
- }
73
- // Try legacy main/module fields
74
- try {
75
- const legacyMain = legacy(pkg);
76
- if (legacyMain) {
77
- pkg.main = legacyMain;
78
- }
79
- } catch (_) {
80
- // legacy parsing failed, use original pkg
81
- }
82
- return pkg;
83
- }
84
- });
85
- } catch (_) {
86
- return null;
87
- }
88
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/resolve-with-exports.ts"],"sourcesContent":["/**\n * Lightweight ESM exports field resolver\n * Uses resolve.exports (952 bytes) instead of import-meta-resolve (64KB)\n *\n * Only loaded on Node >= 12.2 where module.createRequire exists.\n * On older Node, toPath.ts skips this and falls back to resolve.sync().\n */\n\nimport Module from 'module';\nimport * as resolve from 'resolve';\n\nconst resolveSync = (resolve.default ?? resolve).sync;\n\n// Lazy-load resolve.exports to avoid requiring it on older Node versions\n// resolve.exports requires Node >= 10, but this code only runs on Node >= 12.2\ntype ResolveExportsModule = typeof import('resolve.exports');\nlet _resolveExports: ResolveExportsModule | null = null;\n\nfunction getResolveExports(): ResolveExportsModule | null {\n if (_resolveExports === null) {\n try {\n // Use dynamic require to avoid loading on older Node versions\n const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n _resolveExports = _require('resolve.exports') as ResolveExportsModule;\n } catch (_) {\n // If resolve.exports fails to load, return null\n // This shouldn't happen on Node >= 12.2, but handle gracefully\n _resolveExports = null;\n }\n }\n return _resolveExports;\n}\n\n/**\n * Extract the subpath from a specifier\n * \"lodash/get\" → \"./get\"\n * \"react\" → \".\"\n * \"@scope/pkg/foo\" → \"./foo\"\n */\nfunction getSubpath(specifier: string): string {\n const parts = specifier.split('/');\n const pkgName = specifier[0] === '@' ? parts.slice(0, 2).join('/') : parts[0];\n const remainder = specifier.slice(pkgName.length);\n return remainder ? `.${remainder}` : '.';\n}\n\n/**\n * Resolve a module specifier using the exports field in package.json\n * Falls back to legacy main/module fields if exports is not present\n */\nexport default function resolveWithExports(specifier: string, basedir: string, conditions: string[] = ['node', 'import']): string | null {\n const resolveExportsMod = getResolveExports();\n if (!resolveExportsMod) {\n // resolve.exports not available, return null to trigger fallback\n return null;\n }\n\n const { exports: resolveExportsFn, legacy } = resolveExportsMod;\n const subpath = getSubpath(specifier);\n\n try {\n return resolveSync(specifier, {\n basedir,\n extensions: ['.js', '.json', '.node', '.mjs'],\n packageFilter: (pkg) => {\n // Try exports field first\n try {\n const resolved = resolveExportsFn(pkg, subpath, { conditions });\n if (resolved?.[0]) {\n pkg.main = resolved[0];\n return pkg;\n }\n } catch (_) {\n // exports field parsing failed, try legacy\n }\n\n // Try legacy main/module fields\n try {\n const legacyMain = legacy(pkg);\n if (legacyMain) {\n pkg.main = legacyMain;\n }\n } catch (_) {\n // legacy parsing failed, use original pkg\n }\n\n return pkg;\n },\n });\n } catch (_) {\n return null;\n }\n}\n"],"names":["Module","resolve","resolveSync","default","sync","_resolveExports","getResolveExports","_require","require","createRequire","url","_","getSubpath","specifier","parts","split","pkgName","slice","join","remainder","length","resolveWithExports","basedir","conditions","resolveExportsMod","exports","resolveExportsFn","legacy","subpath","extensions","packageFilter","pkg","resolved","main","legacyMain"],"mappings":"AAAA;;;;;;CAMC,GAED,OAAOA,YAAY,SAAS;AAC5B,YAAYC,aAAa,UAAU;IAEdA;AAArB,MAAMC,cAAc,AAACD,CAAAA,CAAAA,mBAAAA,QAAQE,OAAO,cAAfF,8BAAAA,mBAAmBA,OAAM,EAAGG,IAAI;AAKrD,IAAIC,kBAA+C;AAEnD,SAASC;IACP,IAAID,oBAAoB,MAAM;QAC5B,IAAI;YACF,8DAA8D;YAC9D,MAAME,WAAW,OAAOC,YAAY,cAAcR,OAAOS,aAAa,CAAC,YAAYC,GAAG,IAAIF;YAC1FH,kBAAkBE,SAAS;QAC7B,EAAE,OAAOI,GAAG;YACV,gDAAgD;YAChD,+DAA+D;YAC/DN,kBAAkB;QACpB;IACF;IACA,OAAOA;AACT;AAEA;;;;;CAKC,GACD,SAASO,WAAWC,SAAiB;IACnC,MAAMC,QAAQD,UAAUE,KAAK,CAAC;IAC9B,MAAMC,UAAUH,SAAS,CAAC,EAAE,KAAK,MAAMC,MAAMG,KAAK,CAAC,GAAG,GAAGC,IAAI,CAAC,OAAOJ,KAAK,CAAC,EAAE;IAC7E,MAAMK,YAAYN,UAAUI,KAAK,CAACD,QAAQI,MAAM;IAChD,OAAOD,YAAY,CAAC,CAAC,EAAEA,WAAW,GAAG;AACvC;AAEA;;;CAGC,GACD,eAAe,SAASE,mBAAmBR,SAAiB,EAAES,OAAe,EAAEC,aAAuB;IAAC;IAAQ;CAAS;IACtH,MAAMC,oBAAoBlB;IAC1B,IAAI,CAACkB,mBAAmB;QACtB,iEAAiE;QACjE,OAAO;IACT;IAEA,MAAM,EAAEC,SAASC,gBAAgB,EAAEC,MAAM,EAAE,GAAGH;IAC9C,MAAMI,UAAUhB,WAAWC;IAE3B,IAAI;QACF,OAAOX,YAAYW,WAAW;YAC5BS;YACAO,YAAY;gBAAC;gBAAO;gBAAS;gBAAS;aAAO;YAC7CC,eAAe,CAACC;gBACd,0BAA0B;gBAC1B,IAAI;oBACF,MAAMC,WAAWN,iBAAiBK,KAAKH,SAAS;wBAAEL;oBAAW;oBAC7D,IAAIS,qBAAAA,+BAAAA,QAAU,CAAC,EAAE,EAAE;wBACjBD,IAAIE,IAAI,GAAGD,QAAQ,CAAC,EAAE;wBACtB,OAAOD;oBACT;gBACF,EAAE,OAAOpB,GAAG;gBACV,2CAA2C;gBAC7C;gBAEA,gCAAgC;gBAChC,IAAI;oBACF,MAAMuB,aAAaP,OAAOI;oBAC1B,IAAIG,YAAY;wBACdH,IAAIE,IAAI,GAAGC;oBACb;gBACF,EAAE,OAAOvB,GAAG;gBACV,0CAA0C;gBAC5C;gBAEA,OAAOoB;YACT;QACF;IACF,EAAE,OAAOpB,GAAG;QACV,OAAO;IACT;AACF"}