@lannguyensi/harness 0.53.0 → 0.54.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/CHANGELOG.md +40 -1
- package/dist/cli/delegate/index.d.ts +15 -2
- package/dist/cli/delegate/index.js +128 -4
- package/dist/cli/delegate/index.js.map +1 -1
- package/dist/cli/doctor/bypass-without-auto-approve.js +10 -4
- package/dist/cli/doctor/bypass-without-auto-approve.js.map +1 -1
- package/dist/cli/dry-run.js +32 -1
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/index.js +13 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/profiles.js +89 -8
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.js +163 -3
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +200 -95
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/record/index.d.ts +8 -0
- package/dist/cli/record/index.js +55 -7
- package/dist/cli/record/index.js.map +1 -1
- package/dist/cli/validate/checks.js +61 -9
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/extract.d.ts +29 -0
- package/dist/io/extract.js +36 -0
- package/dist/io/extract.js.map +1 -1
- package/dist/policies/index.d.ts +1 -1
- package/dist/policies/index.js +1 -1
- package/dist/policies/index.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +37 -0
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +41 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +9 -3
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +1 -1
- package/dist/runtime/destructive-shell-floor.d.ts +19 -0
- package/dist/runtime/destructive-shell-floor.js +597 -0
- package/dist/runtime/destructive-shell-floor.js.map +1 -0
- package/dist/runtime/intercept.d.ts +10 -7
- package/dist/runtime/intercept.js +108 -9
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/read-only-bash.d.ts +21 -0
- package/dist/runtime/read-only-bash.js +484 -0
- package/dist/runtime/read-only-bash.js.map +1 -1
- package/dist/runtime/risk-classifier.js +68 -13
- package/dist/runtime/risk-classifier.js.map +1 -1
- package/dist/runtime/when-eval.d.ts +18 -5
- package/dist/runtime/when-eval.js +64 -11
- package/dist/runtime/when-eval.js.map +1 -1
- package/dist/runtime/workflow-policies.d.ts +43 -1
- package/dist/runtime/workflow-policies.js +158 -1
- package/dist/runtime/workflow-policies.js.map +1 -1
- package/dist/schema/extract.d.ts +4 -0
- package/dist/schema/extract.js +64 -1
- package/dist/schema/extract.js.map +1 -1
- package/dist/schema/index.d.ts +13 -0
- package/dist/schema/policies.d.ts +19 -0
- package/dist/schema/policies.js +17 -1
- package/dist/schema/policies.js.map +1 -1
- package/package.json +1 -1
|
@@ -974,6 +974,490 @@ export function isReadOnlyKubectlCommand(command) {
|
|
|
974
974
|
}
|
|
975
975
|
return true;
|
|
976
976
|
}
|
|
977
|
+
// ---------------------------------------------------------------------------
|
|
978
|
+
// `sed` read-only floor, Risk-Classifier ONLY (task 2929c5b7).
|
|
979
|
+
//
|
|
980
|
+
// Placed here beside `isReadOnlyKubectlCommand` above, and wired ONLY at
|
|
981
|
+
// `risk-classifier.ts`'s built-in floor, for the same reason that floor is:
|
|
982
|
+
// `isReadOnlyBashCommand` is consumed DIRECTLY by two other gates, and both
|
|
983
|
+
// short-circuit on it before running their own checks. The
|
|
984
|
+
// solution-acceptance write-guard (`src/cli/pack/hook-solution-acceptance-
|
|
985
|
+
// writeguard.ts`) returns `blocked: false` for anything
|
|
986
|
+
// `isReadOnlyBashCommand` accepts BEFORE it ever looks at whether the
|
|
987
|
+
// command references the protected verdict directory. Teaching the shared
|
|
988
|
+
// predicate about `sed` therefore widens that guard: review round 2 of this
|
|
989
|
+
// task measured `sed 's/a/b/w <verdict-dir>/marker.json' f` and
|
|
990
|
+
// `sed -n 'w <verdict-dir>/marker.json' f` going BLOCKED -> ALLOWED. This
|
|
991
|
+
// predicate must therefore stay OUT of `classifyTokens`; the write-guard
|
|
992
|
+
// pins in `tests/cli/pack-hook-solution-acceptance-writeguard.test.ts`
|
|
993
|
+
// fail if that is ever undone.
|
|
994
|
+
//
|
|
995
|
+
// NO `curl` FLOOR EXISTS, deliberately (decision D-013, this run). Rounds
|
|
996
|
+
// 2 and 3 both shipped one and both leaked: round 2's write-flag denylist
|
|
997
|
+
// missed `-o`/`-O`/`-D`/`-c`/`-K`, and round 3's flag ALLOWLIST still
|
|
998
|
+
// admitted `-w`/`--write-out`, whose `%output{FILE}` directive writes a
|
|
999
|
+
// local file since curl 8.3.0 (measured on curl 8.7.1). The recurring
|
|
1000
|
+
// class is the premise, not the list: deciding a curl invocation is inert
|
|
1001
|
+
// requires knowing every curl flag's write capability across curl
|
|
1002
|
+
// versions, and `-H @file` shows the value side has the same problem.
|
|
1003
|
+
// `curl` therefore stays UNCLASSIFIED, like `ssh` and `node -e`, and rides
|
|
1004
|
+
// the `when:` evaluator's fallback: approval-gated in a production
|
|
1005
|
+
// context, never hard-blocked, never floored. Its write-capable spellings
|
|
1006
|
+
// are raised to `high` by `destructive-shell-floor.ts` instead, which only
|
|
1007
|
+
// has to recognise capability it CAN name. See docs/risk-gate.md's
|
|
1008
|
+
// "Unclassified actions and the fail-close rule".
|
|
1009
|
+
//
|
|
1010
|
+
// Design: ALLOWLIST, fail closed (decision D-012, this run). Every token
|
|
1011
|
+
// after the head must be recognised: a known read-only flag, a known
|
|
1012
|
+
// flag's value, or a plain operand. An unknown flag, an unknown short-flag
|
|
1013
|
+
// cluster character, a missing flag value, or anything this module cannot
|
|
1014
|
+
// name forfeits the floor. That is the opposite of the round-2 shape
|
|
1015
|
+
// (a denylist of write flags, where every flag nobody had enumerated
|
|
1016
|
+
// silently passed).
|
|
1017
|
+
//
|
|
1018
|
+
// Forfeiting is cheap: the command simply stays unclassified, which the
|
|
1019
|
+
// `when:` evaluator treats as risk-bearing at the "high" rung (approval-
|
|
1020
|
+
// gated, never hard-blocked at `severity_at_least: critical`). Under-
|
|
1021
|
+
// blocking is not cheap. Over-block a read, never under-block a write.
|
|
1022
|
+
//
|
|
1023
|
+
// `decodeShellWord` is used here on the PERMISSIVE side (to EXEMPT a
|
|
1024
|
+
// command), which `shell-word.ts`'s module header explicitly calls out as
|
|
1025
|
+
// outside its `raw || decoded` direction rule. That is safe here BY
|
|
1026
|
+
// CONSTRUCTION rather than by argument: (1) the decoder returns the RAW
|
|
1027
|
+
// token unchanged for anything it cannot resolve, and a raw token with
|
|
1028
|
+
// quoting still in it does not match any allowlist entry, so an incomplete
|
|
1029
|
+
// decode forfeits the floor; (2) a token whose RAW form is not a flag but
|
|
1030
|
+
// whose DECODED form is (`"-o"`), or vice versa, is rejected outright
|
|
1031
|
+
// rather than classified under either reading.
|
|
1032
|
+
/**
|
|
1033
|
+
* Characters whose UNQUOTED appearance in a token means the shell rewrites
|
|
1034
|
+
* that token into text this classifier never sees, and, critically, can
|
|
1035
|
+
* rewrite ONE token into SEVERAL argv words, which is how a write flag
|
|
1036
|
+
* gets past a token-shape allowlist: `sed $FLAGS f` with
|
|
1037
|
+
* `FLAGS='-i'`, `sed -n 1p {-i,x}` (brace expansion), or a glob whose
|
|
1038
|
+
* match starts with `-`. `$` and a backtick also cover command
|
|
1039
|
+
* substitution that the `hasUnsafeShellMetachar` preamble does not already
|
|
1040
|
+
* refuse (`$(`, a backtick and every chaining metacharacter are refused
|
|
1041
|
+
* there first).
|
|
1042
|
+
*
|
|
1043
|
+
* Quoting is honoured: inside `'single quotes'` every one of these is
|
|
1044
|
+
* literal, and inside `"double quotes"` the glob/brace characters are
|
|
1045
|
+
* literal while `$` and a backtick stay live. That is what keeps
|
|
1046
|
+
* `sed -n '$p' f` on the floor while `sed -n "/$X/p" f` forfeits it.
|
|
1047
|
+
* Quote your script to keep the floor.
|
|
1048
|
+
*/
|
|
1049
|
+
const LIVE_EXPANSION_CHARS = new Set([
|
|
1050
|
+
"$", "`", "{", "}", "*", "?", "[", "]",
|
|
1051
|
+
]);
|
|
1052
|
+
/** Glob/brace characters, literal inside double quotes; `$`/backtick are not. */
|
|
1053
|
+
const DOUBLE_QUOTE_INERT_EXPANSION_CHARS = new Set([
|
|
1054
|
+
"{", "}", "*", "?", "[", "]",
|
|
1055
|
+
]);
|
|
1056
|
+
/**
|
|
1057
|
+
* True when `token` contains a shell expansion (see `LIVE_EXPANSION_CHARS`)
|
|
1058
|
+
* that is NOT quoted away. An unterminated quote run (the `'A:` / `b'` pair
|
|
1059
|
+
* a whitespace tokenizer produces for `-H 'A: b'`) is treated as quoted to
|
|
1060
|
+
* its end, which is what bash does across the whitespace this tokenizer
|
|
1061
|
+
* split on.
|
|
1062
|
+
*/
|
|
1063
|
+
function hasLiveShellExpansion(token) {
|
|
1064
|
+
let quote = null;
|
|
1065
|
+
for (let i = 0; i < token.length; i += 1) {
|
|
1066
|
+
const ch = token[i];
|
|
1067
|
+
if (quote !== "'" && ch === "\\") {
|
|
1068
|
+
i += 1; // backslash escapes the next character outside single quotes
|
|
1069
|
+
continue;
|
|
1070
|
+
}
|
|
1071
|
+
if (quote === null && (ch === "'" || ch === '"')) {
|
|
1072
|
+
quote = ch;
|
|
1073
|
+
continue;
|
|
1074
|
+
}
|
|
1075
|
+
if (quote !== null && ch === quote) {
|
|
1076
|
+
quote = null;
|
|
1077
|
+
continue;
|
|
1078
|
+
}
|
|
1079
|
+
if (quote === "'")
|
|
1080
|
+
continue;
|
|
1081
|
+
if (quote === '"' && DOUBLE_QUOTE_INERT_EXPANSION_CHARS.has(ch))
|
|
1082
|
+
continue;
|
|
1083
|
+
if (LIVE_EXPANSION_CHARS.has(ch))
|
|
1084
|
+
return true;
|
|
1085
|
+
}
|
|
1086
|
+
return false;
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* Splits a metachar-cleared command into `[head, ...rest]` and applies the
|
|
1090
|
+
* two preconditions the floor below needs: the head must be the exact
|
|
1091
|
+
* binary name (no path prefix, the same tightness as
|
|
1092
|
+
* `isReadOnlyKubectlCommand`'s `tokens[0] !== "kubectl"`), and no token may
|
|
1093
|
+
* carry a live shell expansion. Returns `null` when the command is not a
|
|
1094
|
+
* floorable invocation of `bin`.
|
|
1095
|
+
*
|
|
1096
|
+
* Parameterised by `bin` rather than hard-coded to `sed`: it was shared
|
|
1097
|
+
* with the `curl` floor D-013 removed, and the parameter keeps the head
|
|
1098
|
+
* check honest (an exact match, not a prefix) for whichever binary a
|
|
1099
|
+
* future floor names.
|
|
1100
|
+
*/
|
|
1101
|
+
function floorArgv(command, bin) {
|
|
1102
|
+
const trimmed = command.trim();
|
|
1103
|
+
if (trimmed === "")
|
|
1104
|
+
return null;
|
|
1105
|
+
if (hasUnsafeShellMetachar(trimmed))
|
|
1106
|
+
return null;
|
|
1107
|
+
const tokens = trimmed.split(/\s+/);
|
|
1108
|
+
if (tokens[0] !== bin)
|
|
1109
|
+
return null;
|
|
1110
|
+
const rest = tokens.slice(1);
|
|
1111
|
+
if (rest.length === 0)
|
|
1112
|
+
return null;
|
|
1113
|
+
if (rest.some(hasLiveShellExpansion))
|
|
1114
|
+
return null;
|
|
1115
|
+
return rest;
|
|
1116
|
+
}
|
|
1117
|
+
const CLUSTER_FORFEIT = { kind: "forfeit" };
|
|
1118
|
+
/**
|
|
1119
|
+
* Walk a single-dash short-flag cluster CHARACTER BY CHARACTER, which is
|
|
1120
|
+
* the whole point of the floor's short-flag handling: `-ni f` must forfeit
|
|
1121
|
+
* on the `i` even though it starts with an allowlisted `n`.
|
|
1122
|
+
*
|
|
1123
|
+
* Every character must be in `noValueChars` until the first character
|
|
1124
|
+
* `isValueChar` claims. That character consumes the REST of the cluster as
|
|
1125
|
+
* its glued value, or `nextToken` when nothing is glued, and `onValue`
|
|
1126
|
+
* decides whether the value keeps the floor. `onValue` returning `false`,
|
|
1127
|
+
* an empty cluster, or an unrecognised character all forfeit.
|
|
1128
|
+
*
|
|
1129
|
+
* `isReadOnlySedCommand` is its only caller since D-013 removed the `curl`
|
|
1130
|
+
* floor. Kept as its own function rather than inlined: it is the
|
|
1131
|
+
* security-relevant half of the sed floor and is exercised directly by the
|
|
1132
|
+
* cluster cases in tests/runtime/read-only-floors.test.ts.
|
|
1133
|
+
*/
|
|
1134
|
+
function walkShortFlagCluster(chars, noValueChars, isValueChar, onValue, nextToken) {
|
|
1135
|
+
if (chars.length === 0)
|
|
1136
|
+
return CLUSTER_FORFEIT;
|
|
1137
|
+
for (let j = 0; j < chars.length; j += 1) {
|
|
1138
|
+
const c = chars[j];
|
|
1139
|
+
if (isValueChar(c)) {
|
|
1140
|
+
const glued = chars.slice(j + 1);
|
|
1141
|
+
if (!onValue(c, glued, nextToken))
|
|
1142
|
+
return CLUSTER_FORFEIT;
|
|
1143
|
+
return { kind: "ok", consumedNext: glued.length === 0 };
|
|
1144
|
+
}
|
|
1145
|
+
if (!noValueChars.has(c))
|
|
1146
|
+
return CLUSTER_FORFEIT;
|
|
1147
|
+
}
|
|
1148
|
+
return { kind: "ok", consumedNext: false };
|
|
1149
|
+
}
|
|
1150
|
+
// --- sed -------------------------------------------------------------------
|
|
1151
|
+
/** `sed` flags that take no value and cannot write. */
|
|
1152
|
+
const SED_READ_ONLY_LONG_FLAGS = new Set([
|
|
1153
|
+
"--quiet", "--silent", "--regexp-extended", "--separate",
|
|
1154
|
+
"--null-data", "--unbuffered", "--posix",
|
|
1155
|
+
]);
|
|
1156
|
+
/** `sed` flags whose value is a SCRIPT (scanned by `sedScriptIsReadOnly`). */
|
|
1157
|
+
const SED_SCRIPT_LONG_FLAGS = new Set(["--expression"]);
|
|
1158
|
+
/** Short-flag cluster characters that take no value and cannot write. */
|
|
1159
|
+
const SED_READ_ONLY_SHORT_CHARS = new Set([
|
|
1160
|
+
"n", "E", "r", "s", "z", "u",
|
|
1161
|
+
]);
|
|
1162
|
+
/** Short-flag cluster characters whose value is a SCRIPT. */
|
|
1163
|
+
const SED_SCRIPT_SHORT_CHARS = new Set(["e"]);
|
|
1164
|
+
/**
|
|
1165
|
+
* `sed` read-only floor for the Risk Classifier ONLY.
|
|
1166
|
+
*
|
|
1167
|
+
* CORRECTS A FALSE PREMISE this task shipped in round 1 ("without `-i`,
|
|
1168
|
+
* sed only writes to stdout"). It does not: sed's `w FILE` command and the
|
|
1169
|
+
* `s///w FILE` substitution flag write an operator-named file with no
|
|
1170
|
+
* `-i`, no redirection and no shell metacharacter, and `-f SCRIPTFILE`
|
|
1171
|
+
* executes a script this classifier never reads. GNU sed's `e` command and
|
|
1172
|
+
* `s///e` flag additionally execute a shell command. All four are refused
|
|
1173
|
+
* here.
|
|
1174
|
+
*
|
|
1175
|
+
* `true` requires ALL of: the head is exactly `sed`; no token carries a
|
|
1176
|
+
* live shell expansion; every flag is drawn from the read-only allowlist
|
|
1177
|
+
* above (so `-i` in every spelling: `-i`, `-i.bak`, `-ni`,
|
|
1178
|
+
* `--in-place`, `--in-place=SUFFIX`, and `-f`/`--file` forfeit by never
|
|
1179
|
+
* being ON it, not by being enumerated as write flags); and every script
|
|
1180
|
+
* (each `-e`/`--expression` value, or the first positional operand when no
|
|
1181
|
+
* `-e` was given) parses as a read-only sed program under
|
|
1182
|
+
* `sedScriptIsReadOnly`.
|
|
1183
|
+
*/
|
|
1184
|
+
export function isReadOnlySedCommand(command) {
|
|
1185
|
+
const rest = floorArgv(command, "sed");
|
|
1186
|
+
if (rest === null)
|
|
1187
|
+
return false;
|
|
1188
|
+
const scripts = [];
|
|
1189
|
+
const positionals = [];
|
|
1190
|
+
let optionsEnded = false;
|
|
1191
|
+
for (let i = 0; i < rest.length; i += 1) {
|
|
1192
|
+
const raw = rest[i];
|
|
1193
|
+
const decoded = decodeShellWord(raw);
|
|
1194
|
+
if (optionsEnded) {
|
|
1195
|
+
positionals.push(decoded);
|
|
1196
|
+
continue;
|
|
1197
|
+
}
|
|
1198
|
+
const rawIsFlag = raw.startsWith("-") && raw !== "-";
|
|
1199
|
+
const decodedIsFlag = decoded.startsWith("-") && decoded !== "-";
|
|
1200
|
+
// A token that is a flag under exactly one of the two readings is
|
|
1201
|
+
// unclassifiable: `"-i"` reaches sed as `-i` while looking like an
|
|
1202
|
+
// operand. Fail closed rather than pick a reading.
|
|
1203
|
+
if (rawIsFlag !== decodedIsFlag)
|
|
1204
|
+
return false;
|
|
1205
|
+
if (!rawIsFlag) {
|
|
1206
|
+
positionals.push(decoded);
|
|
1207
|
+
continue;
|
|
1208
|
+
}
|
|
1209
|
+
if (decoded === "--") {
|
|
1210
|
+
optionsEnded = true;
|
|
1211
|
+
continue;
|
|
1212
|
+
}
|
|
1213
|
+
if (decoded.startsWith("--")) {
|
|
1214
|
+
const eq = decoded.indexOf("=");
|
|
1215
|
+
const name = eq === -1 ? decoded : decoded.slice(0, eq);
|
|
1216
|
+
if (SED_SCRIPT_LONG_FLAGS.has(name)) {
|
|
1217
|
+
if (eq !== -1) {
|
|
1218
|
+
scripts.push(decoded.slice(eq + 1));
|
|
1219
|
+
continue;
|
|
1220
|
+
}
|
|
1221
|
+
i += 1;
|
|
1222
|
+
if (i >= rest.length)
|
|
1223
|
+
return false; // missing value: fail closed
|
|
1224
|
+
scripts.push(decodeShellWord(rest[i]));
|
|
1225
|
+
continue;
|
|
1226
|
+
}
|
|
1227
|
+
if (eq === -1 && SED_READ_ONLY_LONG_FLAGS.has(name))
|
|
1228
|
+
continue;
|
|
1229
|
+
return false;
|
|
1230
|
+
}
|
|
1231
|
+
// Short-flag cluster, decomposed CHARACTER BY CHARACTER: every
|
|
1232
|
+
// character must be allowlisted, not just the first.
|
|
1233
|
+
const walk = walkShortFlagCluster(decoded.slice(1), SED_READ_ONLY_SHORT_CHARS, (c) => SED_SCRIPT_SHORT_CHARS.has(c), (_c, glued, nextToken) => {
|
|
1234
|
+
if (glued.length > 0) {
|
|
1235
|
+
scripts.push(glued);
|
|
1236
|
+
return true;
|
|
1237
|
+
}
|
|
1238
|
+
if (nextToken === undefined)
|
|
1239
|
+
return false; // missing value: fail closed
|
|
1240
|
+
scripts.push(decodeShellWord(nextToken));
|
|
1241
|
+
return true;
|
|
1242
|
+
}, rest[i + 1]);
|
|
1243
|
+
if (walk.kind === "forfeit")
|
|
1244
|
+
return false;
|
|
1245
|
+
if (walk.consumedNext)
|
|
1246
|
+
i += 1;
|
|
1247
|
+
}
|
|
1248
|
+
// With no `-e`, sed's FIRST positional operand is the script; the rest
|
|
1249
|
+
// are input files (read-only by construction: an operand that looked
|
|
1250
|
+
// like a flag under either reading was already refused above).
|
|
1251
|
+
if (scripts.length === 0) {
|
|
1252
|
+
const first = positionals[0];
|
|
1253
|
+
if (first === undefined)
|
|
1254
|
+
return false; // bare `sed`: nothing to prove
|
|
1255
|
+
scripts.push(first);
|
|
1256
|
+
}
|
|
1257
|
+
return scripts.every(sedScriptIsReadOnly);
|
|
1258
|
+
}
|
|
1259
|
+
/**
|
|
1260
|
+
* sed script commands that consume no argument and cannot write: print,
|
|
1261
|
+
* delete, hold/pattern-space moves, line number, quit, zap, filename.
|
|
1262
|
+
* `l`, `q` and `Q` accept an optional numeric argument, handled below.
|
|
1263
|
+
*
|
|
1264
|
+
* Everything NOT in this set (plus `s`, `y`, and the branch/label
|
|
1265
|
+
* commands handled explicitly) forfeits the floor: `w` and `W` (write a
|
|
1266
|
+
* file), `e` (execute a shell command), `r`/`R` (read a file), `a`/`i`/`c`
|
|
1267
|
+
* (text whose syntax swallows the rest of the script), `#` (comment), and
|
|
1268
|
+
* any command a future sed adds.
|
|
1269
|
+
*/
|
|
1270
|
+
const SED_SAFE_NO_ARG_COMMANDS = new Set([
|
|
1271
|
+
"p", "P", "d", "D", "n", "N", "h", "H", "g", "G", "x", "l", "=", "q", "Q", "z", "F",
|
|
1272
|
+
]);
|
|
1273
|
+
/** Branch/label commands: control flow only, no I/O. */
|
|
1274
|
+
const SED_LABEL_COMMANDS = new Set(["b", "t", "T", ":"]);
|
|
1275
|
+
/** `s///` flags that cannot write or execute. `w` and `e` are NOT here. */
|
|
1276
|
+
const SED_SAFE_SUBSTITUTION_FLAGS = new Set([
|
|
1277
|
+
"g", "p", "i", "I", "m", "M",
|
|
1278
|
+
]);
|
|
1279
|
+
/**
|
|
1280
|
+
* `true` when `script` parses, end to end, as a sed program built only
|
|
1281
|
+
* from the safe command set above. A deliberately small recursive-descent
|
|
1282
|
+
* scan rather than a substring search for `w`: a "forfeit on any letter
|
|
1283
|
+
* `w`" rule would also forfeit `/warning/p`, and a substring search cannot
|
|
1284
|
+
* see the `e` command at all. Anything the scan does not fully understand
|
|
1285
|
+
* (an unterminated regex, a custom `\cREGEXc` address delimiter, a
|
|
1286
|
+
* command not in the sets above, a trailing argument where a separator
|
|
1287
|
+
* must be) returns `false`, so the failure mode is a forfeited floor,
|
|
1288
|
+
* never an accepted write.
|
|
1289
|
+
*/
|
|
1290
|
+
function sedScriptIsReadOnly(script) {
|
|
1291
|
+
const n = script.length;
|
|
1292
|
+
let i = 0;
|
|
1293
|
+
let statements = 0;
|
|
1294
|
+
while (i < n) {
|
|
1295
|
+
const lead = script[i];
|
|
1296
|
+
if (lead === ";" || lead === " " || lead === "\t" || lead === "\n" || lead === "}") {
|
|
1297
|
+
i += 1;
|
|
1298
|
+
continue;
|
|
1299
|
+
}
|
|
1300
|
+
const afterFirst = readSedAddress(script, i);
|
|
1301
|
+
if (afterFirst === -1)
|
|
1302
|
+
return false;
|
|
1303
|
+
i = afterFirst;
|
|
1304
|
+
if (script[i] === ",") {
|
|
1305
|
+
i += 1;
|
|
1306
|
+
const afterSecond = readSedAddress(script, i);
|
|
1307
|
+
if (afterSecond === -1 || afterSecond === i)
|
|
1308
|
+
return false; // second address required
|
|
1309
|
+
i = afterSecond;
|
|
1310
|
+
}
|
|
1311
|
+
while (script[i] === "!")
|
|
1312
|
+
i += 1;
|
|
1313
|
+
while (script[i] === " " || script[i] === "\t")
|
|
1314
|
+
i += 1;
|
|
1315
|
+
const cmd = script[i];
|
|
1316
|
+
if (cmd === undefined)
|
|
1317
|
+
return false; // address with no command
|
|
1318
|
+
i += 1;
|
|
1319
|
+
if (cmd === "{")
|
|
1320
|
+
continue; // block open; the block's statements follow
|
|
1321
|
+
if (SED_SAFE_NO_ARG_COMMANDS.has(cmd)) {
|
|
1322
|
+
while (i < n && script[i] === " ")
|
|
1323
|
+
i += 1;
|
|
1324
|
+
while (i < n && script[i] >= "0" && script[i] <= "9")
|
|
1325
|
+
i += 1; // `l N`, `q N`
|
|
1326
|
+
}
|
|
1327
|
+
else if (cmd === "s" || cmd === "y") {
|
|
1328
|
+
const after = readSedTwoPartCommand(script, i, cmd === "s");
|
|
1329
|
+
if (after === -1)
|
|
1330
|
+
return false;
|
|
1331
|
+
i = after;
|
|
1332
|
+
}
|
|
1333
|
+
else if (SED_LABEL_COMMANDS.has(cmd)) {
|
|
1334
|
+
while (i < n && script[i] === " ")
|
|
1335
|
+
i += 1;
|
|
1336
|
+
while (i < n && /[A-Za-z0-9_]/.test(script[i]))
|
|
1337
|
+
i += 1;
|
|
1338
|
+
}
|
|
1339
|
+
else {
|
|
1340
|
+
return false; // w, W, e, r, R, a, i, c, #, v, and anything unknown
|
|
1341
|
+
}
|
|
1342
|
+
statements += 1;
|
|
1343
|
+
while (i < n && (script[i] === " " || script[i] === "\t"))
|
|
1344
|
+
i += 1;
|
|
1345
|
+
if (i < n) {
|
|
1346
|
+
const sep = script[i];
|
|
1347
|
+
// A command must be followed by a separator. `s/a/b/w file` lands
|
|
1348
|
+
// HERE, on the `w`, because `w` is not an accepted `s///` flag.
|
|
1349
|
+
if (sep !== ";" && sep !== "}" && sep !== "{" && sep !== "\n")
|
|
1350
|
+
return false;
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
return statements > 0;
|
|
1354
|
+
}
|
|
1355
|
+
/**
|
|
1356
|
+
* Reads one sed ADDRESS starting at `start`. Returns the index after it,
|
|
1357
|
+
* `start` itself when no address is present (an address is optional), or
|
|
1358
|
+
* `-1` when the address is malformed or uses a form this scan refuses
|
|
1359
|
+
* (`\cREGEXc`, an unterminated `/regex/`).
|
|
1360
|
+
*/
|
|
1361
|
+
function readSedAddress(s, start) {
|
|
1362
|
+
let i = start;
|
|
1363
|
+
const c = s[i];
|
|
1364
|
+
if (c === undefined)
|
|
1365
|
+
return i;
|
|
1366
|
+
if (c === "$")
|
|
1367
|
+
return i + 1;
|
|
1368
|
+
if (c === "\\")
|
|
1369
|
+
return -1; // custom address delimiter: fail closed
|
|
1370
|
+
if (c === "+" || c === "~") {
|
|
1371
|
+
i += 1;
|
|
1372
|
+
const digitsFrom = i;
|
|
1373
|
+
while (i < s.length && s[i] >= "0" && s[i] <= "9")
|
|
1374
|
+
i += 1;
|
|
1375
|
+
return i > digitsFrom ? i : -1;
|
|
1376
|
+
}
|
|
1377
|
+
if (c >= "0" && c <= "9") {
|
|
1378
|
+
while (i < s.length && s[i] >= "0" && s[i] <= "9")
|
|
1379
|
+
i += 1;
|
|
1380
|
+
if (s[i] === "~") {
|
|
1381
|
+
i += 1;
|
|
1382
|
+
const digitsFrom = i;
|
|
1383
|
+
while (i < s.length && s[i] >= "0" && s[i] <= "9")
|
|
1384
|
+
i += 1;
|
|
1385
|
+
if (i === digitsFrom)
|
|
1386
|
+
return -1;
|
|
1387
|
+
}
|
|
1388
|
+
return i;
|
|
1389
|
+
}
|
|
1390
|
+
if (c === "/") {
|
|
1391
|
+
i += 1;
|
|
1392
|
+
let closed = false;
|
|
1393
|
+
while (i < s.length) {
|
|
1394
|
+
const ch = s[i];
|
|
1395
|
+
if (ch === "\\") {
|
|
1396
|
+
i += 2;
|
|
1397
|
+
continue;
|
|
1398
|
+
}
|
|
1399
|
+
if (ch === "/") {
|
|
1400
|
+
i += 1;
|
|
1401
|
+
closed = true;
|
|
1402
|
+
break;
|
|
1403
|
+
}
|
|
1404
|
+
i += 1;
|
|
1405
|
+
}
|
|
1406
|
+
if (!closed)
|
|
1407
|
+
return -1;
|
|
1408
|
+
while (s[i] === "I" || s[i] === "M")
|
|
1409
|
+
i += 1;
|
|
1410
|
+
return i;
|
|
1411
|
+
}
|
|
1412
|
+
return i; // no address
|
|
1413
|
+
}
|
|
1414
|
+
/**
|
|
1415
|
+
* Reads an `s<D>regex<D>replacement<D>[flags]` or `y<D>a<D>b<D>` body
|
|
1416
|
+
* starting at the delimiter. Returns the index after it, or `-1` when the
|
|
1417
|
+
* body is malformed or (for `s`) carries a flag outside
|
|
1418
|
+
* `SED_SAFE_SUBSTITUTION_FLAGS`, which is exactly how `s/a/b/w FILE` and
|
|
1419
|
+
* `s/a/b/e` forfeit the floor.
|
|
1420
|
+
*/
|
|
1421
|
+
function readSedTwoPartCommand(s, start, isSubstitution) {
|
|
1422
|
+
let i = start;
|
|
1423
|
+
const delim = s[i];
|
|
1424
|
+
if (delim === undefined || delim === "\\" || delim === "\n" || delim === " ")
|
|
1425
|
+
return -1;
|
|
1426
|
+
i += 1;
|
|
1427
|
+
for (let part = 0; part < 2; part += 1) {
|
|
1428
|
+
let closed = false;
|
|
1429
|
+
while (i < s.length) {
|
|
1430
|
+
const ch = s[i];
|
|
1431
|
+
if (ch === "\\") {
|
|
1432
|
+
i += 2;
|
|
1433
|
+
continue;
|
|
1434
|
+
}
|
|
1435
|
+
if (ch === delim) {
|
|
1436
|
+
i += 1;
|
|
1437
|
+
closed = true;
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
i += 1;
|
|
1441
|
+
}
|
|
1442
|
+
if (!closed)
|
|
1443
|
+
return -1;
|
|
1444
|
+
}
|
|
1445
|
+
if (!isSubstitution)
|
|
1446
|
+
return i;
|
|
1447
|
+
while (i < s.length) {
|
|
1448
|
+
const ch = s[i];
|
|
1449
|
+
if (ch >= "0" && ch <= "9") {
|
|
1450
|
+
i += 1;
|
|
1451
|
+
continue;
|
|
1452
|
+
}
|
|
1453
|
+
if (SED_SAFE_SUBSTITUTION_FLAGS.has(ch)) {
|
|
1454
|
+
i += 1;
|
|
1455
|
+
continue;
|
|
1456
|
+
}
|
|
1457
|
+
break;
|
|
1458
|
+
}
|
|
1459
|
+
return i;
|
|
1460
|
+
}
|
|
977
1461
|
/**
|
|
978
1462
|
* Returns true when `t` (with any trailing `=VALUE` glue stripped) is a
|
|
979
1463
|
* GNU/BSD `getopt_long` ABBREVIATION of `fullFlag`: a prefix (including
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,gEAAgE;AAChE,uEAAuE;AACvE,oEAAoE;AACpE,yDAAyD;AACzD,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,QAAQ;AACR,EAAE;AACF,mBAAmB;AACnB,oEAAoE;AACpE,kEAAkE;AAClE,sEAAsE;AACtE,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,4DAA4D;AAC5D,sEAAsE;AACtE,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,mEAAmE;AACnE,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sBAAsB;AACtB,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,qEAAqE;AACrE,yBAAyB;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;IACnC,MAAM,EAAE,IAAI,EAAE,IAAI;IAClB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAClC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU;IACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;IACzC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IAC7C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IACrC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;IACzB,IAAI;CACL,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,SAAS;IACT,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ;IACpC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM;CAC1C,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,IAAI;CACxC,CAAC,CAAC;AACH,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAEtE;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;IAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;IACrD,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IACxD,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc;IACxD,UAAU,EAAE,YAAY,EAAE,UAAU;CACrC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE;QACjC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/D,sEAAsE;QACtE,qEAAqE;QACrE,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,oEAAoE;QACpE,mEAAmE;QACnE,2EAA2E;QAC3E,8DAA8D;QAC9D,qEAAqE;QACrE,oEAAoE;QACpE,gEAAgE;QAChE,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,0DAA0D;QAC1D,qEAAqE;QACrE,gEAAgE;QAChE,kEAAkE;QAClE,6DAA6D;QAC7D,mEAAmE;QACnE,8DAA8D;QAC9D,oEAAoE;QACpE,WAAW;QACX,IAAI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,+DAA+D;QAC/D,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,gEAAgE;QAChE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,qEAAqE;IACrE,yEAAyE;IACzE,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ;IAClE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB;IACnE,gBAAgB,EAAE,IAAI,EAAE,SAAS;CAClC,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE;QACjC,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;QACvF,kEAAkE;QAClE,gEAAgE;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,2CAA2C;QAC3C,IAAI,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,IAAI,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,IAAI,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,IAAI,wBAAwB,CAAC,CAAC,EAAE,mBAAmB,EAAE,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,SAAS,uBAAuB,CAAC,GAAW,EAAE,IAAuB;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,mEAAmE;IACnE,0EAA0E;IAC1E,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjD,sEAAsE;IACtE,uEAAuE;IACvE,gEAAgE;IAChE,uEAAuE;IACvE,sEAAsE;IACtE,UAAU;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,GAAY,EAAE,CACjC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,QAAQ,GAAG,EAAE,CAAC;QACZ,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,kEAAkE;QAClE,0DAA0D;QAC1D,KAAK,QAAQ;YACX,OAAO,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,KAAK,KAAK;YACR,OAAO,YAAY,EAAE,CAAC;QAExB,uEAAuE;QACvE,wEAAwE;QACxE,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5D,OAAO,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,qEAAqE;QACrE,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,mEAAmE;QACnE,+DAA+D;QAC/D,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7D,OAAO,eAAe,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,+DAA+D;QAC/D,iEAAiE;QACjE,sEAAsE;QACtE,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,+DAA+D;QAC/D,6CAA6C;QAC7C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAC3C,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;IAC3C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;CACtC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IACxD,MAAM,EAAE,QAAQ,EAAE,OAAO;CAC1B,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM;CAC3E,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAC1D,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,MAAyB;IAC1D,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CACzF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,CAAS;IAC5C,OAAO,CACL,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,GAAG,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;CACxC,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAEjC,mEAAmE;IACnE,gEAAgE;IAChE,gEAAgE;IAChE,0DAA0D;IAC1D,gEAAgE;IAChE,kDAAkD;IAClD,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAEjC,mEAAmE;IACnE,yEAAyE;IACzE,sEAAsE;IACtE,uDAAuD;IACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,0DAA0D;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC;QAC3B,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,qEAAqE;AACrE,kDAAkD;AAClD,EAAE;AACF,oEAAoE;AACpE,iEAAiE;AACjE,iEAAiE;AACjE,gEAAgE;AAChE,kEAAkE;AAClE,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,sEAAsE;AACtE,kEAAkE;AAClE,uEAAuE;AACvE,mEAAmE;AACnE,gEAAgE;AAChE,uEAAuE;AACvE,sEAAsE;AACtE,oEAAoE;AACpE,sEAAsE;AACtE,+DAA+D;AAC/D,oEAAoE;AACpE,uEAAuE;AACvE,mEAAmE;AACnE,sDAAsD;AACtD,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK;IAChC,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS;CACtE,CAAC,CAAC;AAEH,+DAA+D;AAC/D,kBAAkB;AAClB,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3F,sEAAsE;AACtE,oEAAoE;AACpE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,mEAAmE;AACnE,iEAAiE;AACjE,oEAAoE;AACpE,wEAAwE;AACxE,sCAAsC;AACtC,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAE9D,mEAAmE;AACnE,wEAAwE;AACxE,+DAA+D;AAC/D,mEAAmE;AACnE,qEAAqE;AACrE,0DAA0D;AAC1D,sEAAsE;AACtE,iEAAiE;AACjE,oEAAoE;AACpE,YAAY;AACZ,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK;IAClE,kBAAkB,EAAE,IAAI;CACzB,CAAC,CAAC;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK;CACnE,CAAC,CAAC;AAEH,uEAAuE;AACvE,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,uEAAuE;AACvE,sEAAsE;AACtE,mEAAmE;AACnE,uEAAuE;AACvE,qEAAqE;AACrE,iEAAiE;AACjE,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,2DAA2D;AAC3D,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS;IACzE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa;IAC3E,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,oBAAoB;CAC9D,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW;IACrE,iBAAiB,EAAE,IAAI,EAAE,cAAc;CACxC,CAAC,CAAC;AAEH,MAAM,8BAA8B,GAAwB,IAAI,GAAG,CAAC;IAClE,IAAI,EAAE,YAAY,EAAE,eAAe;CACpC,CAAC,CAAC;AACH,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAExF,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS;IAC9E,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU;IAC/E,IAAI,EAAE,YAAY,EAAE,oBAAoB;CACzC,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe;IACzE,IAAI,EAAE,YAAY,EAAE,oBAAoB;CACzC,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc;IAC/D,wBAAwB;CACzB,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAEhG,kEAAkE;AAClE,oDAAoD;AACpD,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW;IACvE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS;CACzE,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW;CACxD,CAAC,CAAC;AAEH,8EAA8E;AAC9E,SAAS,wBAAwB,CAAC,MAAyB;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAAC,MAAyB;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7B,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,QAAQ;IACR,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAExE,kEAAkE;IAClE,iEAAiE;IACjE,gCAAgC;IAChC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM;QACjD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,GAAG,IAAI,CAAC,CAAC;QACT,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC,CAAC,6BAA6B;YACnE,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,sCAAsC;IAC3E,GAAG,IAAI,CAAC,CAAC;IAET,IAAI,gBAAqC,CAAC;IAC1C,IAAI,cAAmC,CAAC;IACxC,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,4CAA4C;IAC5C,MAAM,aAAa,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhE,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACxC,GAAG,IAAI,CAAC,CAAC;QACT,gBAAgB,GAAG,0BAA0B,CAAC;QAC9C,cAAc,GAAG,wBAAwB,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,KAAK;gBACR,gBAAgB,GAAG,yBAAyB,CAAC;gBAC7C,cAAc,GAAG,uBAAuB,CAAC;gBACzC,MAAM;YACR,KAAK,UAAU;gBACb,gBAAgB,GAAG,8BAA8B,CAAC;gBAClD,cAAc,GAAG,4BAA4B,CAAC;gBAC9C,MAAM;YACR,KAAK,MAAM;gBACT,gBAAgB,GAAG,0BAA0B,CAAC;gBAC9C,cAAc,GAAG,wBAAwB,CAAC;gBAC1C,MAAM;YACR,KAAK,KAAK;gBACR,gBAAgB,GAAG,yBAAyB,CAAC;gBAC7C,cAAc,GAAG,uBAAuB,CAAC;gBACzC,MAAM;YACR,SAAS,8DAA8D;gBACrE,gBAAgB,GAAG,0BAA0B,CAAC;gBAC9C,cAAc,GAAG,wBAAwB,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,oEAAoE;IACpE,mEAAmE;IACnE,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,iEAAiE;YACjE,8DAA8D;YAC9D,6DAA6D;YAC7D,+BAA+B;YAC/B,IAAI,GAAG,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YACzC,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,MAAM,UAAU,GACd,CAAC,QAAQ,IAAI,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtD,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,CAAC,IAAI,CAAC,CAAC;gBACP,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC,CAAC,6BAA6B;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IACE,aAAa;QACb,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC,EAC/E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,wBAAwB,CAAC,CAAS,EAAE,QAAgB,EAAE,YAAoB;IACjF,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,kEAAkE;IAClE,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,+DAA+D;IAC/D,2BAA2B;IAC3B,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,0DAA0D;IAC1D,oDAAoD;IACpD,mEAAmE;IACnE,mEAAmE;IACnE,IAAI,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,mEAAmE;IACnE,8DAA8D;IAC9D,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,YAAY;IACZ,EAAE;IACF,uEAAuE;IACvE,wEAAwE;IACxE,mEAAmE;IACnE,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,sDAAsD;IACtD,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,kEAAkE;IAClE,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,+DAA+D;IAC/D,2BAA2B;IAC3B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,oEAAoE;IACpE,gEAAgE;IAChE,+BAA+B;IAC/B,IAAI,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,wBAAwB,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,kEAAkE;IAClE,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,+DAA+D;IAC/D,2BAA2B;IAC3B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,qEAAqE;IACrE,kDAAkD;IAClD,8BAA8B;IAC9B,IAAI,wBAAwB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,mEAAmE;IACnE,6DAA6D;IAC7D,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAAC,MAAyB;IACrD,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB;IACjC,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM;QAEjD,wEAAwE;QACxE,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/G,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,gEAAgE;QAChE,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAI,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,4CAA4C;gBAC5C,GAAG,IAAI,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,8CAA8C;gBAC9C,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,OAAO,GAAG,CAAC,CAAC,0CAA0C;gBACxD,CAAC;gBACD,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAClC,CAAC;YACD,SAAS;QACX,CAAC;QAED,gEAAgE;QAChE,MAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAyB;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,oEAAoE;IACpE,kEAAkE;IAClE,6DAA6D;IAC7D,iDAAiD;IACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,MAAM;YAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,iBAAiB;QACtD,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,mEAAmE;IACnE,+DAA+D;IAC/D,gEAAgE;IAChE,oEAAoE;IACpE,qEAAqE;IACrE,mCAAmC;IACnC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM;YAC3B,iEAAiE;YACjE,kDAAkD;YAClD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;YAClC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACjD,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnD,gEAAgE;YAChE,yBAAyB;YACzB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChE,4DAA4D;YAC5D,kBAAkB;YAClB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC5C,+DAA+D;YAC/D,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnF,MAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;QACrE,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,kEAAkE;IAClE,iEAAiE;IACjE,gEAAgE;IAChE,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,iEAAiE;QACjE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,0CAA0C;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,qEAAqE;IACrE,kEAAkE;IAClE,kDAAkD;IAClD,uEAAuE;IACvE,uEAAuE;IACvE,4CAA4C;IAC5C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,qDAAqD;IACrD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,iEAAiE;IACjE,+DAA+D;IAC/D,oDAAoD;IACpD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,+DAA+D;IAC/D,+DAA+D;IAC/D,8DAA8D;IAC9D,2DAA2D;IAC3D,wDAAwD;IACxD,8DAA8D;IAC9D,kEAAkE;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvE,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,mDAAmD;QACnD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC,6BAA6B;QACtE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,gEAAgE;QAChE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,kFAAkF;QAClF,wEAAwE;QACxE,oDAAoD;QACpD,IAAI,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7D,iEAAiE;QACjE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,oEAAoE;QACpE,4DAA4D;QAC5D,wEAAwE;QACxE,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,oEAAoE;QACpE,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,sEAAsE;QACtE,gEAAgE;QAChE,uEAAuE;QACvE,wEAAwE;QACxE,mDAAmD;QACnD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"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"}
|