diff --git a/.github/workflows/quest-pr.yml b/.github/workflows/quest-pr.yml
new file mode 100644
index 0000000..e74c3a3
--- /dev/null
+++ b/.github/workflows/quest-pr.yml
@@ -0,0 +1,180 @@
+name: Quest tests
+
+on:
+ pull_request:
+ branches: [main]
+ push:
+ branches: [main]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: quest-tests-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+env:
+ CI: "true"
+ FORCE_COLOR: "1"
+
+jobs:
+ quality:
+ name: Unit, integration, and corpus integrity
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ persist-credentials: false
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: .node-version
+ cache: npm
+ - name: Enforce the test-only bootstrap scope
+ if: github.event_name == 'pull_request' && github.head_ref == 'quest-2-test-suite'
+ run: npm run quality:test-only-scope -- --head "${{ github.event.pull_request.head.sha }}"
+ - run: npm ci
+ - uses: actions/cache@v4
+ with:
+ path: .cache/questionnaire
+ key: questionnaire-${{ runner.os }}-${{ hashFiles('tests/corpus/lock.json') }}
+ - run: npm run corpus:fetch
+ - run: npm run corpus:verify
+ - name: Run Vitest with coverage and JUnit output
+ run: |
+ mkdir -p test-results
+ npx vitest run --coverage --reporter=default --reporter=junit --outputFile.junit=test-results/vitest-junit.xml
+ - name: Publish unit-test reports
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: quest-unit-reports
+ retention-days: 14
+ if-no-files-found: warn
+ path: |
+ coverage/
+ test-results/vitest-junit.xml
+
+ chromium:
+ name: Chromium participant and authoring
+ needs: quality
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: .node-version
+ cache: npm
+ - run: npm ci
+ - uses: actions/cache@v4
+ with:
+ path: .cache/questionnaire
+ key: questionnaire-${{ runner.os }}-${{ hashFiles('tests/corpus/lock.json') }}
+ - run: npm run corpus:fetch && npm run corpus:verify
+ - run: npx playwright install --with-deps chromium
+ - name: Run the curated desktop suite and all 29 production smoke tests
+ run: npm run test:e2e:chromium
+ - name: Run representative responsive and Windows branches
+ run: |
+ npm run test:e2e:responsive
+ npm run test:e2e:windows
+ - name: Publish Chromium failure diagnostics
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: quest-chromium-failures
+ retention-days: 14
+ if-no-files-found: warn
+ path: |
+ playwright-report/
+ test-results/
+
+ cross-browser:
+ name: Representative ${{ matrix.project }}
+ needs: quality
+ runs-on: ubuntu-24.04
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - project: firefox-desktop
+ browser: firefox
+ - project: webkit-desktop
+ browser: webkit
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: .node-version
+ cache: npm
+ - run: npm ci
+ - uses: actions/cache@v4
+ with:
+ path: .cache/questionnaire
+ key: questionnaire-${{ runner.os }}-${{ hashFiles('tests/corpus/lock.json') }}
+ - run: npm run corpus:fetch && npm run corpus:verify
+ - run: npx playwright install --with-deps ${{ matrix.browser }}
+ - name: Run canonical, axe, and representative authoring checks
+ run: npx playwright test --project=${{ matrix.project }} --grep "@canonical|@axe|@cross-browser-authoring" --grep-invert @known-defect
+ - name: Publish browser failure diagnostics
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: quest-${{ matrix.project }}-failures
+ retention-days: 14
+ if-no-files-found: warn
+ path: |
+ playwright-report/
+ test-results/
+
+ known-defects:
+ name: Known defects (non-blocking)
+ needs: quality
+ continue-on-error: true
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: .node-version
+ cache: npm
+ - run: npm ci
+ - uses: actions/cache@v4
+ with:
+ path: .cache/questionnaire
+ key: questionnaire-${{ runner.os }}-${{ hashFiles('tests/corpus/lock.json') }}
+ - run: npm run corpus:fetch && npm run corpus:verify
+ - run: npx playwright install --with-deps chromium firefox webkit
+ - run: npm run test:known-defects
+ - name: Publish known-defect diagnostics
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: quest-known-defects
+ retention-days: 14
+ if-no-files-found: warn
+ path: |
+ playwright-report/
+ test-results/
+
+ required:
+ name: Quest tests / required
+ if: always()
+ needs: [quality, chromium, cross-browser]
+ runs-on: ubuntu-24.04
+ steps:
+ - name: Require all blocking lanes
+ env:
+ RESULTS: ${{ toJSON(needs) }}
+ run: |
+ if ! jq -e 'all(.[]; .result == "success")' <<< "$RESULTS" >/dev/null; then
+ echo "$RESULTS" | jq .
+ exit 1
+ fi
diff --git a/.gitignore b/.gitignore
index f77ecea..ea65225 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,8 @@ questionnaires/d2.txt
node_modules
testmodules
testcode
+.cache/
+coverage/
+playwright-report/
+test-results/
+tests/generated/reports/
diff --git a/.node-version b/.node-version
new file mode 100644
index 0000000..b832e40
--- /dev/null
+++ b/.node-version
@@ -0,0 +1 @@
+24.16.0
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..b832e40
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+24.16.0
diff --git a/README.md b/README.md
index f7ae055..8fef8a0 100644
--- a/README.md
+++ b/README.md
@@ -3,3 +3,5 @@
[](https://gitter.im/episphere/quest?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Experimenting with the idea of a questionnaire markdown, live at https://episphere.github.io/quest-dev
+
+See the [Quest test suite](tests/README.md) for setup and test commands.
diff --git a/docs/accessibilityManualTest.md b/docs/accessibilityManualTest.md
new file mode 100644
index 0000000..2186563
--- /dev/null
+++ b/docs/accessibilityManualTest.md
@@ -0,0 +1,139 @@
+# Quest 2 accessibility manual test matrix
+
+Scope: **Quest 2 participant runtime only**
+
+Browser automation can inspect DOM semantics, focus, state, and live regions, but it does not run VoiceOver or JAWS and cannot prove what either screen reader announces. This matrix describes those manual accessibility testing processes.
+
+## Test boundary
+
+- Use only non-production participant data and the canonical fixtures under `tests/fixtures/canonical/`.
+- On the target test machine, install the Node version in `.node-version`, run `npm ci`, and install the
+ browser binaries with `npx playwright install chromium firefox webkit`.
+- Start the server with `npm run harness:start`. Leave that terminal running.
+- Open
+ `http://127.0.0.1:4173/tests/harness/participant.html?fixture=runtimeControls.txt`
+ in Safari for VoiceOver, or in Chrome/Edge on Windows 11 for JAWS. The query
+ loads the public synthetic canonical control fixture automatically.
+- For radio-grid steps, reload a fresh page at the same URL with
+ `fixture=gridResponsive.txt`; for checkbox-grid focus branches use
+ `fixture=gridCheckboxFocus.txt`; for validation use
+ `fixture=validation.txt`; for navigation/restoration use
+ `fixture=navigationState.txt`.
+- Keep Quest inside `#root > .row > #questionnaireRoot`.
+- Start each scenario from a new browser page. Quest owns module-level state and a second render in the same page is not a supported isolation boundary.
+- Do not enable browser extensions other than the screen reader under test.
+- Record operating-system, browser, screen-reader, and Quest commit/version values before testing.
+- Run `npm run test:e2e -- --grep "@canonical|@axe|@responsive|@windows-a11y"` first. Automated results are prerequisites, not substitutes for this matrix.
+
+## Environment matrix
+
+| ID | Operating system | Browser | Assistive technology | Required modes |
+| --- | --- | --- | --- | --- |
+| KBD-MAC | Current supported macOS | Safari | None | Full Keyboard Access on |
+| VO-SAF | Current supported macOS | Safari | VoiceOver | Quick Nav off, then Quick Nav on |
+| KBD-WIN | Windows 11 | Current Chrome and Edge | None | Browser default keyboard handling |
+| JAWS-CHR | Windows 11 | Current Chrome | Current supported JAWS | Virtual Cursor, Forms Mode |
+| JAWS-EDG | Windows 11 | Current Edge | Current supported JAWS | Virtual Cursor, Forms Mode |
+
+“Current” must be replaced with exact version numbers in the test record. Playwright WebKit is not Safari plus VoiceOver, and Chromium with a Windows user-agent string is not JAWS.
+
+## Keyboard-only baseline — issue #1587
+
+Run KBD-MAC and KBD-WIN without a screen reader. Repeat in both Chrome and Edge for KBD-WIN.
+
+| Step | Action | Expected result |
+| --- | --- | --- |
+| 1 | Tab from “Participant dashboard” | Focus follows DOM order and is always visibly indicated; it does not disappear into a hidden control. |
+| 2 | Shift+Tab | Focus returns to the immediately preceding operable control. |
+| 3 | Focus a link and press Enter | The link performs its native action. |
+| 4 | Focus Next, Reset, and Back; press Enter, then repeat with Space | Each button performs exactly one action with either key. |
+| 5 | Focus an unchecked checkbox and press Space twice | Checked state becomes true, then false; the live message agrees with state. |
+| 6 | Focus a radio group and use Up/Down and Left/Right | Focus and selection move within the group; exactly one option remains checked. |
+| 7 | Focus a native select; use Alt+Down or Space as appropriate for the browser, arrows, Enter, and Escape | The browser opens, navigates, commits, and dismisses the native control without a custom Quest key trap. |
+| 8 | On a text question, Tab through actions | Tab order is Next, Reset, Back even though desktop visual order is Back, Reset, Next. |
+| 9 | Repeat the response-grid fixture at phone width | Each stacked response remains operable and its checked state is visible. |
+
+Raw browser key expectations apply only to this keyboard-only baseline. Do not file a failure solely because a screen reader reserves or reroutes one of these keys.
+
+## VoiceOver with Safari — issue #1079
+
+First run with Quick Nav off. Repeat response navigation and activation with Quick Nav on, and record the VoiceOver command actually used.
+
+1. Start VoiceOver before loading the page and open the canonical control fixture.
+2. Confirm the survey boundary and the first question are announced once. The question must have a meaningful group/legend name.
+3. Navigate by form controls and by VoiceOver cursor. Each response must expose role, name, and selected/checked state; styled labels alone are insufficient.
+4. Activate a response with the VoiceOver default action (normally VO+Space). Confirm the visual selection, DOM checked state, and polite live announcement all agree.
+5. Navigate forward. Focus must land at the newly active question context after the deliberate delay; it must not remain on a removed button or move to the PWA header/footer.
+6. Use Back. Confirm the earlier response is restored and announced with the correct checked state.
+7. Exercise text, number, select, date, and time controls. Confirm each control has a useful name and browser-native editing still works.
+8. Trigger required and range validation. Confirm the error is announced, focus remains in the question, and correction clears the error.
+9. Exercise the response grid. Confirm row prompt, column option, and selected state are available together.
+10. Open and close soft-validation and submit dialogs. Confirm dialog name, focus entry, keyboard containment, close action, and return focus.
+
+## JAWS with Chrome and Edge — issue #1079
+
+Run each browser once. State explicitly whether each observation occurred in Virtual Cursor or Forms Mode.
+
+1. Start JAWS before opening the canonical control fixture.
+2. In Virtual Cursor, navigate to the survey and confirm the first question is announced once with its group name.
+3. Enumerate form controls. Every choice must expose radio/checkbox role, name, and checked state; a focusable generic response container is not an adequate replacement.
+4. Enter Forms Mode and activate a choice with the JAWS default action. Confirm visual state, DOM state, and live announcement agree.
+5. Use the response container/list navigation supplied for Windows. Confirm there is no dead tab stop and no double activation.
+6. For radio groups, verify native group exclusivity and arrow behavior while in the appropriate mode.
+7. For “Other” text responses, use Up/Down navigation around the embedded text field. Confirm focus neither traps nor skips the neighboring response.
+8. Exercise both grid fixtures. After a radio selection, confirm the next row prompt is announced; after the last radio row, confirm focus proceeds to Next. In the checkbox grid, confirm an intermediate selection stays in its cell and the terminal selection proceeds to Next.
+9. Repeat Next, Back, validation, state restoration, async success/error, and modal focus scenarios from the VoiceOver matrix.
+10. Exit Forms Mode and confirm the Virtual Cursor resumes at a sensible location in the active question.
+
+## Evidence to capture
+
+For every failure, record:
+
+- environment ID and exact OS/browser/screen-reader versions;
+- Quick Nav, Virtual Cursor, or Forms Mode state;
+- fixture, question ID, response ID, and viewport;
+- the physical keys and screen-reader command used;
+- expected versus actual role, accessible name, checked state, focus target, and spoken output;
+- whether visual DOM state and stored Quest state changed;
+- a minimal reproduction trace or video with participant data removed;
+- the related issue: [#1079](https://github.com/episphere/connect/issues/1079) for JAWS/VoiceOver behavior or [#1587](https://github.com/episphere/connect/issues/1587) for keyboard-only operation.
+
+Pass only when the keyboard-only matrix succeeds independently and both screen readers expose correct role/name/state and predictable focus. A Playwright pass, a user-agent simulation, or success in only one screen-reader mode is not sufficient.
+
+## Test record
+
+Copy this table into the issue or test report for every execution. Do not replace exact versions with “latest” or “current.”
+
+| Field | Recorded value |
+| --- | --- |
+| Protocol version | 1.0.0 |
+| Quest commit and Quest version | |
+| Questionnaire fixture/version | |
+| Environment ID | |
+| OS name, edition, and exact version | |
+| Browser name and exact version | |
+| Assistive technology and exact version | |
+| AT mode / Quick Nav / Full Keyboard Access | |
+| Tester and date | |
+| Automated prerequisite run URL/result | |
+| Steps passed | |
+| Steps failed | |
+| Issue/evidence links | |
+| Overall result | PASS / FAIL / BLOCKED |
+
+Record each step separately; an aggregate PASS must never hide a skipped browser,
+assistive-technology mode, or interaction.
+
+| Environment ID | Procedure / step | AT mode | Result | Actual focus, role/name/state, and spoken output | Evidence / defect |
+| --- | --- | --- | --- | --- | --- |
+| KBD-MAC | Keyboard 1 | Full Keyboard Access | PASS / FAIL / BLOCKED / NOT RUN | | |
+| VO-SAF | VoiceOver 1 | Quick Nav off | PASS / FAIL / BLOCKED / NOT RUN | | |
+| VO-SAF | VoiceOver 1 | Quick Nav on | PASS / FAIL / BLOCKED / NOT RUN | | |
+| KBD-WIN | Keyboard 1 | Browser default | PASS / FAIL / BLOCKED / NOT RUN | | |
+| JAWS-CHR | JAWS 1 | Virtual Cursor | PASS / FAIL / BLOCKED / NOT RUN | | |
+| JAWS-CHR | JAWS 1 | Forms Mode | PASS / FAIL / BLOCKED / NOT RUN | | |
+| JAWS-EDG | JAWS 1 | Virtual Cursor | PASS / FAIL / BLOCKED / NOT RUN | | |
+| JAWS-EDG | JAWS 1 | Forms Mode | PASS / FAIL / BLOCKED / NOT RUN | | |
+
+Duplicate rows for every numbered step in the applicable procedure. `NOT RUN`
+is not a pass and requires a reason in the final column.
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..359c6cb
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3301 @@
+{
+ "name": "@episphere/quest-dev-tests",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@episphere/quest-dev-tests",
+ "version": "0.0.0",
+ "devDependencies": {
+ "@axe-core/playwright": "4.10.2",
+ "@fortawesome/fontawesome-free": "6.4.2",
+ "@playwright/test": "1.60.0",
+ "@vitest/coverage-v8": "3.2.7",
+ "bootstrap": "5.3.3",
+ "bootstrap-authoring": "npm:bootstrap@5.3.2",
+ "jsdom": "29.1.1",
+ "localforage": "1.10.0",
+ "mathjs": "13.0.3",
+ "vite": "7.3.6",
+ "vitest": "3.2.7"
+ },
+ "engines": {
+ "node": "24.x"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@asamuzakjp/css-color": {
+ "version": "5.1.11",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz",
+ "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@asamuzakjp/generational-cache": "^1.0.1",
+ "@csstools/css-calc": "^3.2.0",
+ "@csstools/css-color-parser": "^4.1.0",
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/@asamuzakjp/dom-selector": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz",
+ "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@asamuzakjp/generational-cache": "^1.0.1",
+ "@asamuzakjp/nwsapi": "^2.3.9",
+ "bidi-js": "^1.0.3",
+ "css-tree": "^3.2.1",
+ "is-potential-custom-element-name": "^1.0.1"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/@asamuzakjp/generational-cache": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz",
+ "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/@asamuzakjp/nwsapi": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz",
+ "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@axe-core/playwright": {
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.10.2.tgz",
+ "integrity": "sha512-6/b5BJjG6hDaRNtgzLIfKr5DfwyiLHO4+ByTLB0cJgWSM8Ll7KqtdblIS6bEkwSF642/Ex91vNqIl3GLXGlceg==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "axe-core": "~4.10.3"
+ },
+ "peerDependencies": {
+ "playwright-core": ">= 1.0.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
+ "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz",
+ "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.8"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz",
+ "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@bramus/specificity": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz",
+ "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "css-tree": "^3.0.0"
+ },
+ "bin": {
+ "specificity": "bin/cli.js"
+ }
+ },
+ "node_modules/@csstools/color-helpers": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.0.tgz",
+ "integrity": "sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
+ "node_modules/@csstools/css-calc": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.3.0.tgz",
+ "integrity": "sha512-c5ihYsPkdG6JCkU2zTMm4+k6r7RXuGxtWYhu5DHMIiF1FHzrfmHL5so11AoFpUv/tu61xfcmT4AmKoFfMPoqdQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
+ }
+ },
+ "node_modules/@csstools/css-color-parser": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.10.tgz",
+ "integrity": "sha512-UZhQLIUyJaaMepqehrCODwCg2KW25vFvLWBmqYFaPclYvvxzj/sG8LBOhBFCp11i9uE7t1EyS+RAoV9tztPFyw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/color-helpers": "^6.1.0",
+ "@csstools/css-calc": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
+ }
+ },
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
+ "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^4.0.0"
+ }
+ },
+ "node_modules/@csstools/css-syntax-patches-for-csstree": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.7.tgz",
+ "integrity": "sha512-fQ+05118eQS1cofO3aJpB5efgpBZMvIzwr/sbC8kDLVA5XLG8q1kJV5yzrUAI1f7lvhPnm8fgIjzFB8/O/5Dig==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "peerDependencies": {
+ "css-tree": "^3.2.1"
+ },
+ "peerDependenciesMeta": {
+ "css-tree": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
+ "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@exodus/bytes": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.1.tgz",
+ "integrity": "sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ },
+ "peerDependencies": {
+ "@noble/hashes": "^1.8.0 || ^2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@noble/hashes": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-free": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.2.tgz",
+ "integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz",
+ "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@napi-rs/lzma-linux-x64-gnu": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
+ "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^22.20 || ^24.12 || >=25"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@playwright/test": {
+ "version": "1.60.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz",
+ "integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "playwright": "1.60.0"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz",
+ "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz",
+ "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz",
+ "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz",
+ "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz",
+ "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz",
+ "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz",
+ "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz",
+ "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz",
+ "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz",
+ "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz",
+ "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz",
+ "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz",
+ "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz",
+ "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz",
+ "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz",
+ "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz",
+ "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz",
+ "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz",
+ "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz",
+ "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz",
+ "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz",
+ "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz",
+ "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz",
+ "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz",
+ "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/chai": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
+ "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/deep-eql": "*",
+ "assertion-error": "^2.0.1"
+ }
+ },
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vitest/coverage-v8": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.7.tgz",
+ "integrity": "sha512-NEGWJS2XNu2PfRLQwOO3CTKj1tTETxNBdk454vDxVBhxJYhPaA/eS0nAI0c+1El1P7a60z8+i+ZrQoGESweGKg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "@bcoe/v8-coverage": "^1.0.2",
+ "ast-v8-to-istanbul": "^0.3.3",
+ "debug": "^4.4.1",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-lib-source-maps": "^5.0.6",
+ "istanbul-reports": "^3.1.7",
+ "magic-string": "^0.30.17",
+ "magicast": "^0.3.5",
+ "std-env": "^3.9.0",
+ "test-exclude": "^7.0.1",
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@vitest/browser": "3.2.7",
+ "vitest": "3.2.7"
+ },
+ "peerDependenciesMeta": {
+ "@vitest/browser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/expect": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.7.tgz",
+ "integrity": "sha512-E8eBXaKibuvH2pSZErOjdVb5vF4PbKYcrnluBTYxEk1l/VhhwZg1kZQsdtjq+CsF5CFydf2Rdkz7jDHKSisi3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "3.2.7",
+ "@vitest/utils": "3.2.7",
+ "chai": "^5.2.0",
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/mocker": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.7.tgz",
+ "integrity": "sha512-Trr0hYO9CM3Wj6ksWHRhK9IZpIY6wTMO5u/MqXurMxT57sWBaOPEtP3Oq60ihZuh5JsiagKfz95OcxdEP6dBrA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "3.2.7",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.17"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/pretty-format": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.7.tgz",
+ "integrity": "sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/runner": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.7.tgz",
+ "integrity": "sha512-sB9y4ovltoQP+WaUPwmSxO9WIg9Ig694Di5PalVPsYHklAdE027mehpWF2SQSVq+k6sFgaivbTjTJwZLSHbedA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/utils": "3.2.7",
+ "pathe": "^2.0.3",
+ "strip-literal": "^3.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/snapshot": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.7.tgz",
+ "integrity": "sha512-7C+MwShwtBSI5Buwoyg3s/iY1eHL9PKAf+O1wVh/TdnjXUtkoL/9YQtre90i4MtNXM6edP1wJ2zOBpfCyhIS7g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "3.2.7",
+ "magic-string": "^0.30.17",
+ "pathe": "^2.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/spy": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.7.tgz",
+ "integrity": "sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyspy": "^4.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.7.tgz",
+ "integrity": "sha512-x6BDOd7dyo3PFLY3I9/HJ25X/6OurhGXk2/B9gOZNPF7XDVjeBK4k01lQE5uvDpbuheErh91qYuE1E2OEjK3Rw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "3.2.7",
+ "loupe": "^3.1.4",
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/assertion-error": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul": {
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.12.tgz",
+ "integrity": "sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "estree-walker": "^3.0.3",
+ "js-tokens": "^10.0.0"
+ }
+ },
+ "node_modules/axe-core": {
+ "version": "4.10.3",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz",
+ "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/bidi-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "require-from-string": "^2.0.2"
+ }
+ },
+ "node_modules/bootstrap": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
+ "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "license": "MIT",
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.8"
+ }
+ },
+ "node_modules/bootstrap-authoring": {
+ "name": "bootstrap",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz",
+ "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "license": "MIT",
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.8"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
+ "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/cac": {
+ "version": "6.7.14",
+ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chai": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
+ "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^2.0.1",
+ "check-error": "^2.1.1",
+ "deep-eql": "^5.0.1",
+ "loupe": "^3.1.0",
+ "pathval": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
+ "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/complex.js": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.3.tgz",
+ "integrity": "sha512-UrQVSUur14tNX6tiP4y8T4w4FeJAX3bi2cIv0pu/DTLFNxoq7z2Yh83Vfzztj6Px3X/lubqQ9IrPp7Bpn6p4MQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
+ "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.27.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/data-urls": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz",
+ "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-mimetype": "^5.0.0",
+ "whatwg-url": "^16.0.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deep-eql": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
+ "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/entities": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz",
+ "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esbuild": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.28.1",
+ "@esbuild/android-arm": "0.28.1",
+ "@esbuild/android-arm64": "0.28.1",
+ "@esbuild/android-x64": "0.28.1",
+ "@esbuild/darwin-arm64": "0.28.1",
+ "@esbuild/darwin-x64": "0.28.1",
+ "@esbuild/freebsd-arm64": "0.28.1",
+ "@esbuild/freebsd-x64": "0.28.1",
+ "@esbuild/linux-arm": "0.28.1",
+ "@esbuild/linux-arm64": "0.28.1",
+ "@esbuild/linux-ia32": "0.28.1",
+ "@esbuild/linux-loong64": "0.28.1",
+ "@esbuild/linux-mips64el": "0.28.1",
+ "@esbuild/linux-ppc64": "0.28.1",
+ "@esbuild/linux-riscv64": "0.28.1",
+ "@esbuild/linux-s390x": "0.28.1",
+ "@esbuild/linux-x64": "0.28.1",
+ "@esbuild/netbsd-arm64": "0.28.1",
+ "@esbuild/netbsd-x64": "0.28.1",
+ "@esbuild/openbsd-arm64": "0.28.1",
+ "@esbuild/openbsd-x64": "0.28.1",
+ "@esbuild/openharmony-arm64": "0.28.1",
+ "@esbuild/sunos-x64": "0.28.1",
+ "@esbuild/win32-arm64": "0.28.1",
+ "@esbuild/win32-ia32": "0.28.1",
+ "@esbuild/win32-x64": "0.28.1"
+ }
+ },
+ "node_modules/escape-latex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz",
+ "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/expect-type": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",
+ "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+ "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.6",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob/node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
+ "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz",
+ "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@exodus/bytes": "^1.6.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
+ "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.23",
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
+ "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/javascript-natural-sort": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
+ "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-tokens": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz",
+ "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsdom": {
+ "version": "29.1.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz",
+ "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@asamuzakjp/css-color": "^5.1.11",
+ "@asamuzakjp/dom-selector": "^7.1.1",
+ "@bramus/specificity": "^2.4.2",
+ "@csstools/css-syntax-patches-for-csstree": "^1.1.3",
+ "@exodus/bytes": "^1.15.0",
+ "css-tree": "^3.2.1",
+ "data-urls": "^7.0.0",
+ "decimal.js": "^10.6.0",
+ "html-encoding-sniffer": "^6.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "lru-cache": "^11.3.5",
+ "parse5": "^8.0.1",
+ "saxes": "^6.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^6.0.1",
+ "undici": "^7.25.0",
+ "w3c-xmlserializer": "^5.0.0",
+ "webidl-conversions": "^8.0.1",
+ "whatwg-mimetype": "^5.0.0",
+ "whatwg-url": "^16.0.1",
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.13.0 || >=24.0.0"
+ },
+ "peerDependencies": {
+ "canvas": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/lie": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
+ "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
+ "node_modules/localforage": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
+ "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lie": "3.1.1"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
+ "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lru-cache": {
+ "version": "11.5.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz",
+ "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/magicast": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
+ "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.25.4",
+ "@babel/types": "^7.25.4",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mathjs": {
+ "version": "13.0.3",
+ "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-13.0.3.tgz",
+ "integrity": "sha512-GpP9OW6swA5POZXvgpc/1FYkAr8lKgV04QHS1tIU60klFfplVCYaNzn6qy0vSp0hAQQN7shcx9CeB507dlLujA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.24.8",
+ "complex.js": "^2.1.1",
+ "decimal.js": "^10.4.3",
+ "escape-latex": "^1.2.0",
+ "fraction.js": "^4.3.7",
+ "javascript-natural-sort": "^0.7.1",
+ "seedrandom": "^3.0.5",
+ "tiny-emitter": "^2.1.0",
+ "typed-function": "^4.2.1"
+ },
+ "bin": {
+ "mathjs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.27.1",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
+ "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/minimatch": {
+ "version": "10.2.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
+ "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.8"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.17",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.17.tgz",
+ "integrity": "sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
+ },
+ "node_modules/parse5": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz",
+ "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "entities": "^8.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pathval": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.16"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/playwright": {
+ "version": "1.60.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz",
+ "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "playwright-core": "1.60.0"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "fsevents": "2.3.2"
+ }
+ },
+ "node_modules/playwright-core": {
+ "version": "1.62.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",
+ "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "playwright-core": "cli.js"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/playwright/node_modules/playwright-core": {
+ "version": "1.60.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz",
+ "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "playwright-core": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.25",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz",
+ "integrity": "sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.16",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.62.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz",
+ "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.9"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@napi-rs/lzma-linux-x64-gnu": "1.5.1",
+ "@rollup/rollup-android-arm-eabi": "4.62.4",
+ "@rollup/rollup-android-arm64": "4.62.4",
+ "@rollup/rollup-darwin-arm64": "4.62.4",
+ "@rollup/rollup-darwin-x64": "4.62.4",
+ "@rollup/rollup-freebsd-arm64": "4.62.4",
+ "@rollup/rollup-freebsd-x64": "4.62.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.62.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.62.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.62.4",
+ "@rollup/rollup-linux-arm64-musl": "4.62.4",
+ "@rollup/rollup-linux-loong64-gnu": "4.62.4",
+ "@rollup/rollup-linux-loong64-musl": "4.62.4",
+ "@rollup/rollup-linux-ppc64-gnu": "4.62.4",
+ "@rollup/rollup-linux-ppc64-musl": "4.62.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.62.4",
+ "@rollup/rollup-linux-riscv64-musl": "4.62.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.62.4",
+ "@rollup/rollup-linux-x64-gnu": "4.62.4",
+ "@rollup/rollup-linux-x64-musl": "4.62.4",
+ "@rollup/rollup-openbsd-x64": "4.62.4",
+ "@rollup/rollup-openharmony-arm64": "4.62.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.62.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.62.4",
+ "@rollup/rollup-win32-x64-gnu": "4.62.4",
+ "@rollup/rollup-win32-x64-msvc": "4.62.4",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=v12.22.7"
+ }
+ },
+ "node_modules/seedrandom": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
+ "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "7.8.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
+ "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/siginfo": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
+ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stackback": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
+ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/std-env": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
+ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz",
+ "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^9.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/test-exclude": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.2.tgz",
+ "integrity": "sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^10.4.1",
+ "minimatch": "^10.2.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinybench": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
+ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyexec": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
+ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinypool": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ }
+ },
+ "node_modules/tinyrainbow": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
+ "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tinyspy": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz",
+ "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tldts": {
+ "version": "7.4.10",
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.10.tgz",
+ "integrity": "sha512-GgouD1B+sWwvkaEq8vXC15DjQitxbvs12oIXELpconwm+Tg3zfcEv4jgzq3vtKverDXsg3VI8aRgNL2Nra0Iog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tldts-core": "^7.4.10"
+ },
+ "bin": {
+ "tldts": "bin/cli.js"
+ }
+ },
+ "node_modules/tldts-core": {
+ "version": "7.4.10",
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.10.tgz",
+ "integrity": "sha512-KnQjp53ZekKgm/r3l+u8kJGGzYgrWdP8+Mql7a4vijh2WE0IrZWspQj/TpTxDho/YxO+AnOZnIjQcCD+q6iJsw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tough-cookie": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz",
+ "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tldts": "^7.0.5"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz",
+ "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/typed-function": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.2.2.tgz",
+ "integrity": "sha512-VwaXim9Gp1bngi/q3do8hgttYn2uC3MoT/gfuMWylnj1IeZBUAyPddHZlo1K05BDoj8DYPpMdiHqH1dDYdJf2A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/undici": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
+ "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.18.1"
+ }
+ },
+ "node_modules/vite": {
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz",
+ "integrity": "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.27.0 || ^0.28.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-node": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
+ "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cac": "^6.7.14",
+ "debug": "^4.4.1",
+ "es-module-lexer": "^1.7.0",
+ "pathe": "^2.0.3",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
+ },
+ "bin": {
+ "vite-node": "vite-node.mjs"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/vite/node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/vitest": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.7.tgz",
+ "integrity": "sha512-KrxIJ62Fd89gfysR4WotlgZABiz2dqFPgqGzX7s+CwsqLFomRH7777ZcrOD6+WVAh7khPQP41A+BKbpcJFrdEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/chai": "^5.2.2",
+ "@vitest/expect": "3.2.7",
+ "@vitest/mocker": "3.2.7",
+ "@vitest/pretty-format": "^3.2.7",
+ "@vitest/runner": "3.2.7",
+ "@vitest/snapshot": "3.2.7",
+ "@vitest/spy": "3.2.7",
+ "@vitest/utils": "3.2.7",
+ "chai": "^5.2.0",
+ "debug": "^4.4.1",
+ "expect-type": "^1.2.1",
+ "magic-string": "^0.30.17",
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.2",
+ "std-env": "^3.9.0",
+ "tinybench": "^2.9.0",
+ "tinyexec": "^0.3.2",
+ "tinyglobby": "^0.2.14",
+ "tinypool": "^1.1.1",
+ "tinyrainbow": "^2.0.0",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
+ "vite-node": "3.2.4",
+ "why-is-node-running": "^2.3.0"
+ },
+ "bin": {
+ "vitest": "vitest.mjs"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@edge-runtime/vm": "*",
+ "@types/debug": "^4.1.12",
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "@vitest/browser": "3.2.7",
+ "@vitest/ui": "3.2.7",
+ "happy-dom": "*",
+ "jsdom": "*"
+ },
+ "peerDependenciesMeta": {
+ "@edge-runtime/vm": {
+ "optional": true
+ },
+ "@types/debug": {
+ "optional": true
+ },
+ "@types/node": {
+ "optional": true
+ },
+ "@vitest/browser": {
+ "optional": true
+ },
+ "@vitest/ui": {
+ "optional": true
+ },
+ "happy-dom": {
+ "optional": true
+ },
+ "jsdom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz",
+ "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz",
+ "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz",
+ "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@exodus/bytes": "^1.11.0",
+ "tr46": "^6.0.0",
+ "webidl-conversions": "^8.0.1"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/why-is-node-running": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
+ "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "siginfo": "^2.0.0",
+ "stackback": "0.0.2"
+ },
+ "bin": {
+ "why-is-node-running": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true,
+ "license": "MIT"
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..3769698
--- /dev/null
+++ b/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "@episphere/quest-dev-tests",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "engines": {
+ "node": "24.x"
+ },
+ "scripts": {
+ "test": "vitest run tests/unit tests/integration",
+ "test:watch": "vitest tests/unit tests/integration",
+ "test:corpus": "vitest run tests/corpus",
+ "test:coverage": "vitest run --coverage",
+ "quality:test-only-scope": "node tests/quality/scripts/checkTestOnlyScope.mjs",
+ "test:e2e": "playwright test",
+ "test:e2e:chromium": "playwright test --project=chromium-desktop --grep-invert @known-defect",
+ "test:e2e:cross-browser": "playwright test --project=firefox-desktop --project=webkit-desktop --grep \"@canonical|@axe|@cross-browser-authoring\" --grep-invert @known-defect",
+ "test:e2e:responsive": "playwright test --project=chromium-phone --project=chromium-tablet --grep \"@responsive|@axe\" --grep-invert @known-defect",
+ "test:e2e:windows": "playwright test --project=chromium-windows-ua --grep \"@windows-a11y|@axe\" --grep-invert @known-defect",
+ "harness:start": "vite --config vite.config.js --host 127.0.0.1",
+ "test:e2e:known-defects": "playwright test --grep @known-defect",
+ "test:known-defects": "node tests/scripts/runKnownDefects.mjs",
+ "test:pr": "npm run corpus:fetch && npm run corpus:verify && npm run test:coverage && npm run test:e2e:chromium && npm run test:e2e:cross-browser && npm run test:e2e:responsive && npm run test:e2e:windows",
+ "test:visual:update": "playwright test --project=chromium-desktop --project=chromium-phone --project=chromium-tablet --grep @visual --update-snapshots",
+ "corpus:fetch": "node tests/corpus/scripts/fetchCorpus.mjs",
+ "corpus:verify": "node tests/corpus/scripts/verifyCorpus.mjs",
+ "corpus:catalog:verify": "vitest run tests/corpus/structuralCatalog.spec.js",
+ "corpus:catalog:update": "vitest run tests/corpus/structuralCatalog.spec.js --update"
+ },
+ "devDependencies": {
+ "@axe-core/playwright": "4.10.2",
+ "@fortawesome/fontawesome-free": "6.4.2",
+ "@playwright/test": "1.60.0",
+ "@vitest/coverage-v8": "3.2.7",
+ "bootstrap": "5.3.3",
+ "bootstrap-authoring": "npm:bootstrap@5.3.2",
+ "jsdom": "29.1.1",
+ "localforage": "1.10.0",
+ "mathjs": "13.0.3",
+ "vite": "7.3.6",
+ "vitest": "3.2.7"
+ }
+}
diff --git a/playwright.config.js b/playwright.config.js
new file mode 100644
index 0000000..2f905c7
--- /dev/null
+++ b/playwright.config.js
@@ -0,0 +1,66 @@
+import { defineConfig, devices } from '@playwright/test';
+
+const testServerPort = Number.parseInt(process.env.QUEST_PLAYWRIGHT_PORT ?? '4173', 10);
+const testServerOrigin = `http://127.0.0.1:${testServerPort}`;
+
+const desktopProjects = [
+ { name: 'chromium-desktop', use: { ...devices['Desktop Chrome'] } },
+ { name: 'firefox-desktop', use: { ...devices['Desktop Firefox'] } },
+ { name: 'webkit-desktop', use: { ...devices['Desktop Safari'] } },
+];
+
+export default defineConfig({
+ testDir: './tests/e2e',
+ testMatch: '**/*.spec.js',
+ timeout: 45_000,
+ expect: { timeout: 10_000 },
+ fullyParallel: true,
+ forbidOnly: Boolean(process.env.CI),
+ retries: process.env.CI ? 1 : 0,
+ workers: process.env.CI ? 4 : undefined,
+ reporter: process.env.CI
+ ? [['list'], ['junit', { outputFile: 'test-results/playwright-junit.xml' }], ['html', { open: 'never' }]]
+ : [['list'], ['html', { open: 'never' }]],
+ use: {
+ baseURL: testServerOrigin,
+ locale: 'en-US',
+ timezoneId: 'UTC',
+ trace: 'on-first-retry',
+ screenshot: 'only-on-failure',
+ video: 'retain-on-failure',
+ serviceWorkers: 'block',
+ },
+ projects: [
+ ...desktopProjects,
+ {
+ name: 'chromium-phone',
+ use: {
+ ...devices['Desktop Chrome'],
+ viewport: { width: 390, height: 844 },
+ isMobile: true,
+ hasTouch: true,
+ },
+ },
+ {
+ name: 'chromium-tablet',
+ use: {
+ ...devices['Desktop Chrome'],
+ viewport: { width: 820, height: 1180 },
+ hasTouch: true,
+ },
+ },
+ {
+ name: 'chromium-windows-ua',
+ use: {
+ ...devices['Desktop Chrome'],
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
+ },
+ },
+ ],
+ webServer: {
+ command: `npx vite --config vite.config.js --port ${testServerPort}`,
+ url: `${testServerOrigin}/tests/harness/participant.html`,
+ reuseExistingServer: !process.env.CI,
+ timeout: 60_000,
+ },
+});
diff --git a/tests/README.md b/tests/README.md
new file mode 100644
index 0000000..ff6d8ae
--- /dev/null
+++ b/tests/README.md
@@ -0,0 +1,62 @@
+# Quest test suite
+
+Quest owns this standalone Node 24 test package. It does not boot the Connect
+PWA; browser tests embed Quest in a stable Connect-shaped page and call the
+existing `transform.render(...)` API.
+
+## Setup
+
+1. Use the Node patch in `.node-version` and `.nvmrc`.
+2. Run `npm ci`.
+3. Run `npx playwright install chromium firefox webkit`.
+4. Run `npm run corpus:fetch` once. The command downloads the immutable
+ questionnaire revision in `tests/corpus/lock.json` and verifies its hashes.
+ No GitHub token is required.
+
+## Useful commands
+
+- `npm test` — the fast unit and jsdom integration loop; it deliberately omits
+ the slower locked-corpus catalog.
+- `npm run test:corpus` — corpus integrity, structure, piping, address, and
+ structural-catalog checks against the pinned questionnaire revision.
+- `npm run test:coverage` — the complete Vitest suite, including corpus checks,
+ with pragmatic aggregate coverage thresholds.
+- `npm run test:e2e:chromium` — the complete curated Chromium suite, including
+ startup and renderer/full-list checks for each locked production survey.
+- `npm run test:e2e:cross-browser` — representative canonical, accessibility,
+ and authoring checks in Firefox and WebKit; the full authoring suite remains
+ in Chromium.
+- `npm run test:e2e:responsive` — the phone and tablet Chromium contracts.
+- `npm run test:e2e:windows` — the Windows-user-agent accessibility branch.
+- `npm run test:known-defects` — visible expected failures for confirmed
+ pre-existing defects.
+- `npm run test:pr` — the complete local equivalent of the required CI lanes.
+- `npm run corpus:catalog:verify` — regenerate the real parser denominator in
+ memory and fail if it differs from the reviewed structural catalog.
+- `npm run corpus:catalog:update` — intentionally update that catalog for
+ review after a locked corpus or parser change.
+- `npm run harness:start` — serve the participant and authoring harnesses for
+ manual inspection.
+
+## Scope
+
+The suite protects parsing, rendering, delegated events, validation,
+conditions, queues and loops, back/resume state, host storage and async errors,
+authoring, keyboard/focus behavior, representative responsive layouts, and
+full-list conversion of all locked production files. It does not implement a
+second Quest navigation engine or attempt to enumerate every theoretical
+response combination.
+
+Each ordinary participant render uses a fresh page because Quest retains some
+module-level state. All runtime assets are served locally, and unexpected
+external requests fail the test.
+
+The embedded-event tests prove that ordinary host capture and bubble observers
+coexist with Quest's delegated listeners. This standalone repository cannot
+prove that the current Connect PWA never calls `preventDefault()` or
+`stopImmediatePropagation()` first; that requires one focused integration test
+in the PWA when the accessibility investigation resumes.
+
+See `docs/accessibilityManualTest.md` for the VoiceOver and JAWS
+acceptance protocol. Automated browser tests characterize intended native
+keyboard behavior but do not claim to run either screen reader.
diff --git a/tests/config/moduleResolution.js b/tests/config/moduleResolution.js
new file mode 100644
index 0000000..4ea490d
--- /dev/null
+++ b/tests/config/moduleResolution.js
@@ -0,0 +1,19 @@
+import { createRequire } from 'node:module';
+
+export const MATHJS_CDN_SPECIFIER = 'https://cdn.jsdelivr.net/npm/mathjs@13.0.3/+esm';
+
+const require = createRequire(import.meta.url);
+const localMathJsEntry = require.resolve('mathjs');
+
+/**
+ * Quest ships as unbundled browser modules and imports MathJS
+ * from jsDelivr. Tests resolve that exact production specifier to the pinned
+ * local package so CI is deterministic and can run without outbound access.
+ */
+export const questDependencyResolver = {
+ name: 'quest-test-dependency-resolver',
+ enforce: 'pre',
+ resolveId(source) {
+ return source === MATHJS_CDN_SPECIFIER ? localMathJsEntry : null;
+ },
+};
diff --git a/tests/corpus/README.md b/tests/corpus/README.md
new file mode 100644
index 0000000..402b8c6
--- /dev/null
+++ b/tests/corpus/README.md
@@ -0,0 +1,53 @@
+# Locked questionnaire corpus
+
+`lock.json` pins the 29 production questionnaire files used by the test suite,
+including the extensionless Diet Screener. Normal test runs never use mutable
+`main`.
+
+Run:
+
+```sh
+npm run corpus:fetch
+npm run corpus:verify
+npm run corpus:catalog:verify
+```
+
+Local and CI fetches use GitHub's public archive URL for the exact locked
+commit. They do not read or require `GITHUB_TOKEN` or `GH_TOKEN`. After the
+download, every selected file is checked against the SHA-256 and Git blob hash
+recorded in `lock.json` before it is installed in the cache.
+
+Verified files are stored under the ignored `.cache/questionnaire/`
+directory. Chromium opens every locked survey in fresh Connect-shaped pages
+twice: once as a participant startup smoke test and once in renderer/full-list
+mode. Full-list mode must convert and append every entry produced by the real
+`QuestionProcessor`, in order, without unexpected console, network, or
+`errorLogger` failures.
+
+`structuralCatalog.json` is the reviewable denominator produced through the
+same full-list parser boundary. For each survey it records:
+
+- marker and loop-expanded runtime counts
+- ordered runtime question IDs
+- response-control families
+- transition targets, trigger values, and resolution classes
+- condition expressions and site counts
+- grid rows, loop boundaries, async hooks, and unresolved targets
+
+The lock's `sourceQuestionCount` field counts question markers.
+That is not always the number of runtime forms: grid row markers are folded
+into grid forms, while loops are expanded to as many as 25 iterations. The
+catalog uses the clearer name `authoredMarkerCount` and separately reports the
+actual parser-produced form count.
+
+Regenerate the catalog only when a reviewed questionnaire lock or Quest parser
+change intentionally changes its structure:
+
+```sh
+npm run corpus:catalog:update
+git diff -- tests/corpus/structuralCatalog.json
+```
+
+Deeper behavior is covered with focused fixtures. This catalog describes parser output.
+It does not yet claim that every node is reachable, evaluate both sides of every condition,
+or generate completed participant paths.
diff --git a/tests/corpus/corpusIntegrity.spec.js b/tests/corpus/corpusIntegrity.spec.js
new file mode 100644
index 0000000..e100bb5
--- /dev/null
+++ b/tests/corpus/corpusIntegrity.spec.js
@@ -0,0 +1,142 @@
+import { mkdtemp, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
+import os from 'node:os';
+import path from 'node:path';
+
+import { afterEach, describe, expect, it } from 'vitest';
+
+import {
+ CorpusVerificationError,
+ analyzeQuestionnaireText,
+ gitBlobShaBuffer,
+ loadCorpusLock,
+ sha256Buffer,
+ validateCorpusLock,
+ verifyCorpus,
+} from './scripts/lib/corpus.mjs';
+
+const temporaryDirectories = [];
+
+afterEach(async () => {
+ await Promise.all(temporaryDirectories.splice(0).map((directory) => (
+ rm(directory, { recursive: true, force: true })
+ )));
+});
+
+function lockedFile({ module, locale, productionPath, text }) {
+ const buffer = Buffer.from(text);
+ const analysis = analyzeQuestionnaireText(text);
+ return {
+ module,
+ locale,
+ language: locale,
+ path: productionPath,
+ questName: analysis.questName,
+ version: analysis.version,
+ sourceQuestionCount: analysis.questionIds.length,
+ sha256: sha256Buffer(buffer),
+ gitBlobSha: gitBlobShaBuffer(buffer),
+ };
+}
+
+async function writeFixture(root, repositoryPath, content) {
+ const filePath = path.join(root, ...repositoryPath.split('/'));
+ await mkdir(path.dirname(filePath), { recursive: true });
+ await writeFile(filePath, content);
+}
+
+describe('questionnaire corpus lock', () => {
+ it('pins the complete audited production inventory, including extensionless Diet Screener', async () => {
+ const lock = await loadCorpusLock();
+ expect(lock.commit).toBe('7ae99a22af325cf0e14be047a7636462db9bfd50');
+ expect(lock.files).toHaveLength(29);
+ expect(new Set(lock.files.map((entry) => entry.module))).toHaveProperty('size', 15);
+ expect(lock.files.filter((entry) => entry.locale === 'en')).toHaveLength(15);
+ expect(lock.files.filter((entry) => entry.locale === 'es')).toHaveLength(14);
+ expect(lock.files.every((entry) => entry.language === entry.locale)).toBe(true);
+ expect(lock.files.some((entry) => entry.path === 'prod/moduleDietScreener')).toBe(true);
+ expect(lock.files.every((entry) => /^[0-9a-f]{64}$/.test(entry.sha256))).toBe(true);
+ });
+
+ it('requires the literal language field to match locale', async () => {
+ const lock = await loadCorpusLock();
+ const missingLanguage = structuredClone(lock);
+ delete missingLanguage.files[0].language;
+ expect(() => validateCorpusLock(missingLanguage)).toThrow(/language must be en or es/);
+
+ const mismatchedLanguage = structuredClone(lock);
+ mismatchedLanguage.files[0].language = 'es';
+ expect(() => validateCorpusLock(mismatchedLanguage)).toThrow(/language must match locale/);
+ });
+
+ it('declares language as required in the lock JSON schema', async () => {
+ const schema = JSON.parse(await readFile(
+ path.resolve(import.meta.dirname, 'schemas/lock.schema.json'),
+ 'utf8',
+ ));
+ expect(schema.properties.files.items.required).toContain('language');
+ expect(schema.properties.files.items.properties.language.enum).toEqual(['en', 'es']);
+ });
+
+ it('strips authored comments before analyzing question IDs', () => {
+ const analysis = analyzeQuestionnaireText([
+ '//{"version":"1.0"}',
+ '{"name":"D_123"}',
+ '// [COMMENTED?] ignored',
+ '/* [BLOCKED?] ignored */',
+ '[QUESTION?] Prompt',
+ '[END,end] Done',
+ ].join('\n'));
+
+ expect(analysis.questName).toBe('D_123');
+ expect(analysis.version).toBe('1.0');
+ expect(analysis.questionIds).toEqual(['QUESTION', 'END']);
+ expect(analysis.endCount).toBe(1);
+ });
+});
+
+describe('corpus verification', () => {
+ it('checks production hashes, metadata, and language question-ID parity', async () => {
+ const root = await mkdtemp(path.join(os.tmpdir(), 'quest-corpus-test-'));
+ temporaryDirectories.push(root);
+ const english = '//{"version":"1.0"}\n{"name":"D_123"}\n[QUESTION?] English\n[END,end] Done\n';
+ const spanish = '//{"version":"1.0"}\n{"name":"D_123"}\n[QUESTION?] Español\n[END,end] Fin\n';
+ const files = [
+ lockedFile({
+ module: 'moduleTest', locale: 'en', productionPath: 'prod/moduleTest.txt',
+ text: english,
+ }),
+ lockedFile({
+ module: 'moduleTest', locale: 'es', productionPath: 'prod/moduleTestSpanish.txt',
+ text: spanish,
+ }),
+ ];
+ const lock = validateCorpusLock({
+ schemaVersion: 1,
+ repository: 'example/questionnaire',
+ repositoryUrl: 'https://github.com/example/questionnaire.git',
+ defaultBranch: 'main',
+ commit: 'a'.repeat(40),
+ cacheRoot: '.cache/questionnaire',
+ sourceDirectory: 'prod',
+ environment: 'prod',
+ expectedFileCount: 2,
+ expectedModuleCount: 1,
+ expectedLanguageCounts: { en: 1, es: 1 },
+ questionIdParityExceptions: [],
+ files,
+ });
+
+ await writeFixture(root, files[0].path, english);
+ await writeFixture(root, files[1].path, spanish);
+
+ await expect(verifyCorpus({ lock, cacheDir: root })).resolves.toMatchObject({
+ files: 2,
+ modules: 1,
+ sourceQuestionCount: 4,
+ });
+
+ await writeFile(path.join(root, files[0].path), `${english}tampered`);
+ await expect(verifyCorpus({ lock, cacheDir: root })).rejects.toBeInstanceOf(CorpusVerificationError);
+ await expect(verifyCorpus({ lock, cacheDir: root })).rejects.toThrow(/SHA-256 mismatch/);
+ });
+});
diff --git a/tests/corpus/hostPersonas.json b/tests/corpus/hostPersonas.json
new file mode 100644
index 0000000..ddc8323
--- /dev/null
+++ b/tests/corpus/hostPersonas.json
@@ -0,0 +1,162 @@
+{
+ "schemaVersion": 1,
+ "personas": [
+ {
+ "id": "external-values-missing",
+ "description": "Exercises does-not-exist and fallback behavior with no cross-survey results.",
+ "previousResults": {},
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "success"
+ },
+ {
+ "id": "external-branch-primary",
+ "description": "Uses the primary constants referenced by current production branch conditions.",
+ "previousResults": {
+ "D_407056417": "536341288",
+ "D_613744428": "353358909",
+ "D_750420077": "578416151",
+ "D_784967158": "551525967"
+ },
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "success"
+ },
+ {
+ "id": "external-branch-alternate",
+ "description": "Uses alternate constants referenced by current production branch conditions.",
+ "previousResults": {
+ "D_407056417": "654207589",
+ "D_613744428": "104430631",
+ "D_750420077": "434651539",
+ "D_784967158": "738284740"
+ },
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "success"
+ },
+ {
+ "id": "async-empty",
+ "description": "Exercises an async host callback that resolves without usable response options.",
+ "previousResults": {},
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "empty"
+ },
+ {
+ "id": "async-error",
+ "description": "Exercises an async host callback rejection without using live services.",
+ "previousResults": {},
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "rejection"
+ },
+ {
+ "id": "async-delayed",
+ "description": "Exercises deterministic delayed completion for every supported async host callback.",
+ "previousResults": {},
+ "userProfile": {
+ "D_644459734": "2024-06-15",
+ "age": "45",
+ "yob": "1979",
+ "firstName": "Test Participant"
+ },
+ "asyncOutcome": "delayed"
+ }
+ ],
+ "asyncHooks": {
+ "module1:D_761310265": {
+ "module": "module1",
+ "questionId": "D_761310265",
+ "markupKey": "[D_761310265?]",
+ "function": "soccer",
+ "args": ["D_627122657", "D_796828094"],
+ "fixtureResult": "soccer"
+ },
+ "module1:D_279637054": {
+ "module": "module1",
+ "questionId": "D_279637054",
+ "markupKey": "[D_279637054?]",
+ "function": "soccer",
+ "args": ["D_118061122", "D_518387017"],
+ "fixtureResult": "soccer"
+ },
+ "moduleMenstrual:END": {
+ "module": "moduleMenstrual",
+ "questionId": "END",
+ "markupKey": "[END]",
+ "function": "resetMenstrualCycle",
+ "args": ["D_951357171"],
+ "fixtureResult": "resetMenstrualCycle"
+ },
+ "moduleMouthwash:END": {
+ "module": "moduleMouthwash",
+ "questionId": "END",
+ "markupKey": "[END]",
+ "function": "resetMouthwash",
+ "args": ["D_667908442"],
+ "fixtureResult": "resetMouthwash"
+ }
+ },
+ "asyncFixtures": {
+ "success": {
+ "outcomes": [{ "kind": "resolve" }],
+ "results": {
+ "soccer": [
+ {
+ "code": "TEST-SOC-0",
+ "title": "Test occupation result"
+ }
+ ],
+ "resetMenstrualCycle": { "completed": true },
+ "resetMouthwash": { "completed": true }
+ }
+ },
+ "empty": {
+ "outcomes": [{ "kind": "resolve", "value": null }],
+ "results": {
+ "soccer": [],
+ "resetMenstrualCycle": null,
+ "resetMouthwash": null
+ }
+ },
+ "rejection": {
+ "outcomes": [{ "kind": "reject", "message": "Deterministic host callback failure" }],
+ "results": {}
+ },
+ "delayed": {
+ "delayMs": 75,
+ "outcomes": [{ "kind": "resolve", "delayMs": 75 }],
+ "results": {
+ "soccer": [
+ {
+ "code": "TEST-SOC-DELAYED",
+ "title": "Delayed occupation result"
+ }
+ ],
+ "resetMenstrualCycle": { "completed": true },
+ "resetMouthwash": { "completed": true }
+ }
+ }
+ }
+}
diff --git a/tests/corpus/lock.json b/tests/corpus/lock.json
new file mode 100644
index 0000000..46db5a4
--- /dev/null
+++ b/tests/corpus/lock.json
@@ -0,0 +1,361 @@
+{
+ "$schema": "./schemas/lock.schema.json",
+ "schemaVersion": 1,
+ "repository": "episphere/questionnaire",
+ "repositoryUrl": "https://github.com/episphere/questionnaire.git",
+ "defaultBranch": "main",
+ "commit": "7ae99a22af325cf0e14be047a7636462db9bfd50",
+ "cacheRoot": ".cache/questionnaire",
+ "sourceDirectory": "prod",
+ "environment": "prod",
+ "expectedFileCount": 29,
+ "expectedModuleCount": 15,
+ "expectedLanguageCounts": {
+ "en": 15,
+ "es": 14
+ },
+ "questionIdParityExceptions": [
+ {
+ "module": "module1",
+ "onlyIn": "en",
+ "ids": [
+ "D_927516732"
+ ]
+ },
+ {
+ "module": "module2",
+ "onlyIn": "es",
+ "ids": [
+ "D_186488870"
+ ]
+ },
+ {
+ "module": "moduleBiospecimen",
+ "onlyIn": "es",
+ "ids": [
+ "SRVMTW_MODULEINTRO_V1R0"
+ ]
+ }
+ ],
+ "files": [
+ {
+ "module": "module1",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module1.txt",
+ "questName": "D_726699695_V2",
+ "version": "4.0",
+ "sourceQuestionCount": 316,
+ "sha256": "c36e2ceb44808d43538d04f43c336085ec73c05614ad5791fbb6e58582b8e107",
+ "gitBlobSha": "862e5a2e53acc7b40774665445626b0961090443"
+ },
+ {
+ "module": "module1",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module1Spanish.txt",
+ "questName": "D_726699695_V2",
+ "version": "4.0",
+ "sourceQuestionCount": 315,
+ "sha256": "f7a768ede6036e68742ea7d0bea3f0debc3f30aa4ab51774b637a9fbbe9e1d2e",
+ "gitBlobSha": "af57a0cec8372e876af4db1d9deb11093179fccc"
+ },
+ {
+ "module": "module2",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2.txt",
+ "questName": "D_745268907_V2",
+ "version": "2.3",
+ "sourceQuestionCount": 359,
+ "sha256": "a7b9dba4edd27d55ccb3830b0b54b8d4fa7003a1d2a9c1c79749aaeeaa4f664f",
+ "gitBlobSha": "151e62fca9dcc8a20c3759d7f807709c82b956cb"
+ },
+ {
+ "module": "module2",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2Spanish.txt",
+ "questName": "D_745268907_V2",
+ "version": "2.3",
+ "sourceQuestionCount": 360,
+ "sha256": "c8545d3286b47909c9f9048df73467459cccabbeb7dfe7676756ea9474164bb5",
+ "gitBlobSha": "e5bdfc6ba6bf90be23d6625770f2fbcd7de482d3"
+ },
+ {
+ "module": "module3",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module3.txt",
+ "questName": "D_965707586",
+ "version": "1.6",
+ "sourceQuestionCount": 314,
+ "sha256": "73f6a1ba8bb0ce4b3c1cb56566b3c46b0d8552ff299be81a57ed6c4d4597ea8f",
+ "gitBlobSha": "5270dc457bbf49abdb7e443ee18c64056274740d"
+ },
+ {
+ "module": "module3",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module3Spanish.txt",
+ "questName": "D_965707586",
+ "version": "1.6",
+ "sourceQuestionCount": 314,
+ "sha256": "4c78a6b2f3db419e87c7701b938a30c56c87c0c4ae2864d9eeb33e16a207e3b8",
+ "gitBlobSha": "f148cb40d11fe00311e3a2a5199a06edcdbee4e1"
+ },
+ {
+ "module": "module4",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module4.txt",
+ "questName": "D_716117817",
+ "version": "2.0",
+ "sourceQuestionCount": 367,
+ "sha256": "008faf8420a7a657692c7e04a3615f171c53f675411fd3fd049f329a62124fe4",
+ "gitBlobSha": "02a954153ae23ec64e4d9b17a64c4241e85c9654"
+ },
+ {
+ "module": "module4",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module4Spanish.txt",
+ "questName": "D_716117817",
+ "version": "2.0",
+ "sourceQuestionCount": 367,
+ "sha256": "c1705fb2632f8c2fda8f22a716fb006eecacde9aa75b153611c4e7f15aec5c3f",
+ "gitBlobSha": "e13239cd096cef57672ac3a0d5bb94559aa15a4c"
+ },
+ {
+ "module": "module2024ConnectExperience",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2024ConnectExperience.txt",
+ "questName": "D_506648060",
+ "version": "1.1",
+ "sourceQuestionCount": 43,
+ "sha256": "70f70eb07acec537f634c96b66c29596e68baee11812f367bfc89317cb818fe7",
+ "gitBlobSha": "ab9dd0d671250abda77e1ddd5d0e51d98f39897d"
+ },
+ {
+ "module": "module2024ConnectExperience",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2024ConnectExperienceSpanish.txt",
+ "questName": "D_506648060",
+ "version": "1.1",
+ "sourceQuestionCount": 43,
+ "sha256": "1bb9757b35913beca279af01bb99ee9c776684fbf7d056289f71c898e5cfef9f",
+ "gitBlobSha": "7be966c2ddd98bba5c1def60a245796d48f5bb98"
+ },
+ {
+ "module": "module2026ROIPreferences",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2026ROIPreferences.txt",
+ "questName": "D_312845734",
+ "version": "1.0",
+ "sourceQuestionCount": 16,
+ "sha256": "bb14766a8d7fd626d2234254db78c1c7e84b0503f4734ddafa31239763b160a9",
+ "gitBlobSha": "57f35700286c391850a2ec359870aa702e8ad808"
+ },
+ {
+ "module": "module2026ROIPreferences",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2026ROIPreferencesSpanish.txt",
+ "questName": "D_312845734",
+ "version": "1.0",
+ "sourceQuestionCount": 16,
+ "sha256": "c31cf93e57d0c26fb630b940d906cce1f42440e434dea4049ca46859a8423227",
+ "gitBlobSha": "ba7be12487f90e1aa862d4f18870b8b8c45e0dd7"
+ },
+ {
+ "module": "moduleBiospecimen",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleBiospecimen.txt",
+ "questName": "D_299215535",
+ "version": "1.4",
+ "sourceQuestionCount": 52,
+ "sha256": "3511079715fecaf0498d2a3f197f3cce400a9a4674af0947ff740b68ddfb5d22",
+ "gitBlobSha": "420ac712f7f4f2307ac8d12494b8ff96537ae68a"
+ },
+ {
+ "module": "moduleBiospecimen",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleBiospecimenSpanish.txt",
+ "questName": "D_299215535",
+ "version": "1.4",
+ "sourceQuestionCount": 53,
+ "sha256": "16f3ae9976bc65506da60281fe17e27f6701109e6a5b67d9b65e044805259192",
+ "gitBlobSha": "ed33370e87f565bf25e31a2e36583f7701f1d504"
+ },
+ {
+ "module": "moduleCOVID19",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleCOVID19.txt",
+ "questName": "D_793330426",
+ "version": "1.3",
+ "sourceQuestionCount": 97,
+ "sha256": "5d3dfa29799998557fd85d168869f9b1f122d3d957f443a7a423ec12304c6426",
+ "gitBlobSha": "114e83e88cacad5070bc75a54d5ec7eb319da4a2"
+ },
+ {
+ "module": "moduleCOVID19",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleCOVID19Spanish.txt",
+ "questName": "D_793330426",
+ "version": "1.3",
+ "sourceQuestionCount": 97,
+ "sha256": "3aec9221ab9dedd091d46b6eee3de1085e49f3a7c93e98e4ee8b47da969b9c43",
+ "gitBlobSha": "3d9ad926b9075409c920fb6827194beae69a9b53"
+ },
+ {
+ "module": "moduleCancerScreeningHistory",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleCancerScreeningHistory.txt",
+ "questName": "D_369168474",
+ "version": "1.2",
+ "sourceQuestionCount": 144,
+ "sha256": "65207c189b9b62836afc43cb80c12b416612b3d246a71d257804e0924c7817b2",
+ "gitBlobSha": "60befaf4c26ff151308cea9b0149d7cba353c237"
+ },
+ {
+ "module": "moduleCancerScreeningHistory",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleCancerScreeningHistorySpanish.txt",
+ "questName": "D_369168474",
+ "version": "1.2",
+ "sourceQuestionCount": 144,
+ "sha256": "dd93c2e963d9c0f2eb202667a45748ca576aefed4157f315a6e8ddef95eb7c38",
+ "gitBlobSha": "6bf4cc485646af1d3caeb7d028f849af9b27c4b5"
+ },
+ {
+ "module": "moduleClinicalBloodUrine",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleClinicalBloodUrine.txt",
+ "questName": "D_826163434",
+ "version": "1.4",
+ "sourceQuestionCount": 21,
+ "sha256": "da2014adad00d371c0044fdfe1095af570e253c293ea3e88023045d51762a91e",
+ "gitBlobSha": "6787fad926c177db284bb7a1a4919c9277ab2ea8"
+ },
+ {
+ "module": "moduleClinicalBloodUrine",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleClinicalBloodUrineSpanish.txt",
+ "questName": "D_826163434",
+ "version": "1.4",
+ "sourceQuestionCount": 21,
+ "sha256": "2898151d137c3f33ecf857b4f82561d6c42ae0c6c1947d47a1317ba24c9de987",
+ "gitBlobSha": "c6b36385c2f751a80d032db0d1ae494420b76f70"
+ },
+ {
+ "module": "moduleDietScreener",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleDietScreener",
+ "questName": "D_515124081",
+ "version": "1.0",
+ "sourceQuestionCount": 3,
+ "sha256": "bfe990625139d13c6125245a441c8fcb666bcbac905e577ef374df8f708f5dca",
+ "gitBlobSha": "8cba1d923c79f508c7071946b35f4800e71cfb2d"
+ },
+ {
+ "module": "moduleDietScreener",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleDietScreenerSpanish.txt",
+ "questName": "D_515124081",
+ "version": "1.0",
+ "sourceQuestionCount": 3,
+ "sha256": "40a21887c151720e2ce65450154e0ab8b21f5d94c6324de3f8417b35e2d5564a",
+ "gitBlobSha": "b0ae2f197d3f779ac7b77c8391adbdc8c8f46d59"
+ },
+ {
+ "module": "moduleMenstrual",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleMenstrual.txt",
+ "questName": "D_912367929",
+ "version": "1.1",
+ "sourceQuestionCount": 5,
+ "sha256": "13de3a43aed31befdda5be4c805a3b885e36df9275f742a19ca931e360e159b2",
+ "gitBlobSha": "ccb21cd54e37537f29cd233f06a068fea80a21c6"
+ },
+ {
+ "module": "moduleMenstrual",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleMenstrualSpanish.txt",
+ "questName": "D_912367929",
+ "version": "1.1",
+ "sourceQuestionCount": 5,
+ "sha256": "6424161524cbfd2ba9884e0db0106f1dcb37132473125de2abeeae9c8ae6cc8f",
+ "gitBlobSha": "90938931c3073074aabc5ca960f490c0065a5184"
+ },
+ {
+ "module": "moduleMouthwash",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleMouthwash.txt",
+ "questName": "D_390351864",
+ "version": "1.1",
+ "sourceQuestionCount": 34,
+ "sha256": "5d352f4bebe7c0a16cb835c24b44c93c7ce00af4a9b5c8a345ce3662036c70fd",
+ "gitBlobSha": "d5927538e61b6865c08598cc8e64bceca4de8435"
+ },
+ {
+ "module": "moduleMouthwash",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleMouthwashSpanish.txt",
+ "questName": "D_390351864",
+ "version": "1.1",
+ "sourceQuestionCount": 34,
+ "sha256": "e7516c4836ad310bc8be26f7c96cb9e1f23ee0bcbc529677e34db332fd76637a",
+ "gitBlobSha": "d5cb40d2b4cb94f3f976e0279f975bc4b53e5fc8"
+ },
+ {
+ "module": "moduleQoL",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleQoL.txt",
+ "questName": "D_601305072",
+ "version": "1.0",
+ "sourceQuestionCount": 11,
+ "sha256": "6e1e8c3af357783996395be2a6b6907cf02f936c5cb8275717477f3e05c51b7e",
+ "gitBlobSha": "53866c298eeaf084f911960f31ff9ff0b89f449a"
+ },
+ {
+ "module": "moduleQoL",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleQoLSpanish.txt",
+ "questName": "D_601305072",
+ "version": "1.0",
+ "sourceQuestionCount": 11,
+ "sha256": "c068aab47cb94768399a635e7e98a48078e29e36391db55987ce33701edbf4a1",
+ "gitBlobSha": "5f66e5c0be990b5946bec022529cafe21802cc53"
+ },
+ {
+ "module": "ssnModule",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/ssnModule.txt",
+ "questName": "D_166676176",
+ "version": "1.0",
+ "sourceQuestionCount": 3,
+ "sha256": "400e5fb271c1d434c6c397f370b32fced6d16ea2a2f589720ac220ba82bbeb1b",
+ "gitBlobSha": "ae65c7a998fc636da237cb8a65f81849cf1ac57a"
+ }
+ ]
+}
diff --git a/tests/corpus/module4AddressStructure.spec.js b/tests/corpus/module4AddressStructure.spec.js
new file mode 100644
index 0000000..74fe170
--- /dev/null
+++ b/tests/corpus/module4AddressStructure.spec.js
@@ -0,0 +1,200 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { describe, expect, it, vi } from 'vitest';
+
+import { corpusCacheDirectory, loadCorpusLock } from './scripts/lib/corpus.mjs';
+
+const QUESTION_MARKER = /^\[([A-Z_][A-Z0-9_#]*)(?:[?!])?(?:,[^\]]*)?\]/gm;
+const INPUT_ID = /\|__\|id=(D_\d+)/g;
+const QUOTED_ID = /"(D_\d+)"/g;
+const PIPED_ID = /\{\$(D_\d+)\}/g;
+const EXPECTED_INTERSECTION_COUNT = 26;
+
+function unique(values) {
+ return [...new Set(values)];
+}
+
+function idsIn(text, pattern) {
+ return [...text.matchAll(pattern)].map(([, id]) => id);
+}
+
+function questionBlocks(markdown) {
+ const markers = [...markdown.matchAll(QUESTION_MARKER)];
+ return markers.map((marker, index) => ({
+ id: marker[1],
+ source: markdown.slice(marker.index, markers[index + 1]?.index),
+ header: markdown.slice(marker.index, markdown.indexOf('\n', marker.index)),
+ }));
+}
+
+function fieldId(source, labels) {
+ const labelPattern = labels.join('|');
+ const match = source.match(new RegExp(`(?:${labelPattern})\\s*\\|__\\|id=(D_\\d+)`, 'i'));
+ return match?.[1] ?? null;
+}
+
+function summaryDisplayArms(source) {
+ const armStarts = [...source.matchAll(/\|displayif=([^|]+)\|/g)];
+ return armStarts.flatMap((armStart, index) => {
+ const addressCondition = armStart[1].match(/^(noneExist|someExist)\(([^)]*)\)/);
+ if (!addressCondition) return [];
+ const contentStart = armStart.index + armStart[0].length;
+ const nextArmStart = armStarts[index + 1]?.index ?? source.length;
+ const lineEnd = source.indexOf('\n', contentStart);
+ const contentBoundary = Math.min(nextArmStart, lineEnd === -1 ? source.length : lineEnd);
+ const authoredContent = source.slice(contentStart, contentBoundary);
+ const closingPipe = authoredContent.lastIndexOf('|');
+ const content = closingPipe === -1 ? authoredContent : authoredContent.slice(0, closingPipe);
+ return [{
+ kind: addressCondition[1],
+ conditionIds: idsIn(addressCondition[2], QUOTED_ID),
+ content,
+ contentIds: idsIn(content, PIPED_ID),
+ }];
+ });
+}
+
+function getAddressFamily(blocks, intersectionIndex) {
+ const primary = blocks[intersectionIndex - 2];
+ const backup = blocks[intersectionIndex - 1];
+ const intersection = blocks[intersectionIndex];
+ const summary = blocks[intersectionIndex + 1];
+ const primaryInputIds = idsIn(primary.source, INPUT_ID);
+ const backupInputIds = idsIn(backup.source, INPUT_ID);
+ const crossStreetIds = idsIn(intersection.source, INPUT_ID);
+ const conditionIds = idsIn(intersection.header, QUOTED_ID);
+
+ return {
+ primary,
+ backup,
+ intersection,
+ summary,
+ primaryInputIds,
+ backupInputIds,
+ crossStreetIds,
+ conditionIds,
+ streetNumber: fieldId(primary.source, ['Street number', 'Número de la calle']),
+ streetName: fieldId(primary.source, ['Full Street name', 'Nombre completo de la calle']),
+ localityIds: [
+ fieldId(primary.source, ['City', 'Ciudad']),
+ fieldId(primary.source, ['State/Province', 'Estado o provincia']),
+ fieldId(primary.source, ['Zip code', 'Código postal']),
+ fieldId(primary.source, ['Country', 'País']),
+ ],
+ };
+}
+
+async function readModule4(locale) {
+ const lock = await loadCorpusLock();
+ const cacheDirectory = corpusCacheDirectory(lock);
+ const entry = lock.files.find((file) => file.module === 'module4' && file.locale === locale);
+ const filePath = resolve(cacheDirectory, entry.path);
+ return existsSync(filePath) ? readFileSync(filePath, 'utf8') : null;
+}
+
+const english = await readModule4('en');
+const spanish = await readModule4('es');
+
+describe.skipIf(!english || !spanish)('locked Module 4 address-family structure @corpus', () => {
+
+ it('characterizes the three duplicated displayif tokens as a math assignment that retains the intended fallback predicate', async () => {
+ const blocks = questionBlocks(english);
+ const duplicated = blocks.filter(({ header }) => header.includes('displayif=displayif='));
+ const spanishDuplicated = questionBlocks(spanish).filter(({ header }) => header.includes('displayif=displayif='));
+ expect(duplicated.map(({ id }) => id)).toEqual(['D_398762737', 'D_205492848', 'D_763354979']);
+ expect(spanishDuplicated.map(({ id }) => id)).toEqual(duplicated.map(({ id }) => id));
+
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = {};
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ stateModule.getStateManager().loadInitialSurveyState({ D_288498031: 'Lakeview' });
+ const { initializeCustomMathJSFunctions } = await import('../../customMathJSImplementation.js');
+ initializeCustomMathJSFunctions();
+ const { evaluateCondition } = await import('../../evaluateConditions.js');
+
+ const condition = duplicated[0].header.match(/displayif=(.*?)\]/)?.[1];
+ expect(condition).toBe('displayif=noneExist("D_985267931","D_111275683") and someExist("D_288498031","D_195845897","D_936129960","D_924583345","D_536516743","D_283900560","D_467947502","D_368486703")');
+ expect(evaluateCondition(condition)).toBe(true);
+ stateModule.getStateManager().loadInitialSurveyState({});
+ expect(evaluateCondition(condition)).toBe(false);
+ });
+
+ it('keeps every primary, backup, cross-street, and summary family internally consistent in English and Spanish', () => {
+ const byLocale = new Map([
+ ['en', questionBlocks(english)],
+ ['es', questionBlocks(spanish)],
+ ]);
+ const familiesByLocale = new Map();
+
+ for (const [locale, blocks] of byLocale) {
+ const intersectionIndexes = blocks.flatMap((block, index) => (
+ /cross streets|intersección/i.test(block.source) ? [index] : []
+ ));
+ expect(intersectionIndexes, `${locale} intersection-family count`).toHaveLength(EXPECTED_INTERSECTION_COUNT);
+
+ const families = intersectionIndexes.map((index) => getAddressFamily(blocks, index));
+ familiesByLocale.set(locale, families);
+
+ for (const family of families) {
+ expect(family.primaryInputIds.length, `${locale} ${family.primary.id} primary field count`).toBeGreaterThanOrEqual(7);
+ expect(unique(family.primaryInputIds), `${locale} ${family.primary.id} primary IDs`).toEqual(family.primaryInputIds);
+ expect(family.backupInputIds, `${locale} ${family.backup.id} backup fields`).toHaveLength(4);
+ expect(family.crossStreetIds, `${locale} ${family.intersection.id} cross streets`).toHaveLength(2);
+ expect(family.streetNumber, `${locale} ${family.primary.id} street number`).toBeTruthy();
+ expect(family.streetName, `${locale} ${family.primary.id} street name`).toBeTruthy();
+ expect(family.localityIds, `${locale} ${family.primary.id} locality fields`).not.toContain(null);
+
+ const expectedConditionIds = unique([
+ family.streetNumber,
+ family.streetName,
+ ...family.backupInputIds,
+ ...family.localityIds,
+ ]).sort();
+ expect(unique(family.conditionIds).sort(), `${locale} ${family.intersection.id} fallback predicate IDs`)
+ .toEqual(expectedConditionIds);
+ expect(family.intersection.header, `${locale} ${family.intersection.id} no-street predicate`)
+ .toContain(`noneExist("${family.streetNumber}","${family.streetName}")`);
+ expect(family.intersection.header, `${locale} ${family.intersection.id} locality predicate`)
+ .toContain('someExist(');
+
+ const expectedSummaryIds = unique([
+ ...family.primaryInputIds.slice(family.primaryInputIds.indexOf(family.streetNumber)),
+ ...family.backupInputIds,
+ ...family.crossStreetIds,
+ ]);
+ const summaryArms = summaryDisplayArms(family.summary.source);
+ expect(summaryArms, `${locale} ${family.summary.id} display arms`).toHaveLength(2);
+ const emptyArm = summaryArms.find(({ kind }) => kind === 'noneExist');
+ const populatedArm = summaryArms.find(({ kind }) => kind === 'someExist');
+ expect(emptyArm, `${locale} ${family.summary.id} empty arm`).toBeTruthy();
+ expect(populatedArm, `${locale} ${family.summary.id} populated arm`).toBeTruthy();
+ expect(unique(emptyArm.conditionIds).sort(), `${locale} ${family.summary.id} empty condition IDs`)
+ .toEqual(unique(populatedArm.conditionIds).sort());
+ expect(emptyArm.contentIds, `${locale} ${family.summary.id} empty arm must not pipe address fields`)
+ .toEqual([]);
+ expect(unique(populatedArm.contentIds).sort(), `${locale} ${family.summary.id} populated address fields`)
+ .toEqual([...expectedSummaryIds].sort());
+ }
+ }
+
+ const englishFamilies = familiesByLocale.get('en');
+ const spanishFamilies = familiesByLocale.get('es');
+ expect(englishFamilies.map((family) => family.intersection.id)).toEqual(
+ spanishFamilies.map((family) => family.intersection.id),
+ );
+ for (let index = 0; index < englishFamilies.length; index += 1) {
+ const englishFamily = englishFamilies[index];
+ const spanishFamily = spanishFamilies[index];
+ expect(spanishFamily.primary.id).toBe(englishFamily.primary.id);
+ expect(spanishFamily.backup.id).toBe(englishFamily.backup.id);
+ expect(spanishFamily.summary.id).toBe(englishFamily.summary.id);
+ expect(spanishFamily.primaryInputIds).toEqual(englishFamily.primaryInputIds);
+ expect(spanishFamily.backupInputIds).toEqual(englishFamily.backupInputIds);
+ expect(spanishFamily.crossStreetIds).toEqual(englishFamily.crossStreetIds);
+ expect(unique(spanishFamily.conditionIds).sort()).toEqual(unique(englishFamily.conditionIds).sort());
+ }
+ });
+});
diff --git a/tests/corpus/responsePipingStructure.spec.js b/tests/corpus/responsePipingStructure.spec.js
new file mode 100644
index 0000000..58e2a03
--- /dev/null
+++ b/tests/corpus/responsePipingStructure.spec.js
@@ -0,0 +1,283 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { describe, expect, it, vi } from 'vitest';
+
+import en from '../../i18n/en.js';
+import es from '../../i18n/es.js';
+import { QuestionProcessor } from '../../questionProcessor.js';
+import { moduleParams } from '../../questionnaire.js';
+import { initializeStateManager, getStateManager } from '../../stateManager.js';
+import { initializeCustomMathJSFunctions } from '../../customMathJSImplementation.js';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+import { corpusCacheDirectory, loadCorpusLock } from './scripts/lib/corpus.mjs';
+
+const DIRECT_PIPE = /^([A-Za-z_]\w*(?:\.\w+)?)$/;
+const TOKEN = /\{([$#])([^}]+)\}/g;
+const QUESTION_MARKER = /^\[([A-Z_][A-Z0-9_#]*)(?:[?!])?(?:\|[^\]]+\|)?(?:,[^\]]*)?\]/gm;
+const LOOP_SUFFIX = /_\d+_\d+$/;
+
+const EXPECTED_DIRECT_PIPES = {
+ 'module1/en': 71,
+ 'module1/es': 71,
+ 'module2/en': 19,
+ 'module2/es': 19,
+ 'module3/en': 171,
+ 'module3/es': 171,
+ 'module4/en': 5048,
+ 'module4/es': 5049,
+ 'module2024ConnectExperience/en': 3,
+ 'module2024ConnectExperience/es': 3,
+ 'moduleCOVID19/en': 30,
+ 'moduleCOVID19/es': 30,
+ 'moduleCancerScreeningHistory/en': 1,
+ 'moduleCancerScreeningHistory/es': 1,
+};
+
+const EXPECTED_TOKEN_COUNTS = {
+ direct: 10687,
+ user: 162,
+ expression: 74,
+ hashExpression: 89,
+ other: 0,
+};
+
+const EXPECTED_DISPLAY_LISTS = [
+ 'module1/en/SIBSUM',
+ 'module1/en/CHILDSUM',
+ 'module1/es/SIBSUM',
+ 'module1/es/CHILDSUM',
+ 'moduleCOVID19/en/SRVCOV_COVSUMMARY_V1R0',
+ 'moduleCOVID19/es/SRVCOV_COVSUMMARY_V1R0',
+];
+
+const EXPECTED_LOCALE_DIFFERENCES = {
+ module3: {
+ englishOnly: ['D_349510816<-D_970325871'],
+ spanishOnly: ['D_349510816<-D_700173707'],
+ },
+ module4: {
+ englishOnly: [],
+ spanishOnly: ['D_720221117<-D_814137809'],
+ },
+};
+
+function withoutComments(markdown) {
+ return markdown.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, '');
+}
+
+function questionBlocks(markdown) {
+ const markers = [...markdown.matchAll(QUESTION_MARKER)];
+ return markers.map((marker, index) => ({
+ id: marker[1],
+ source: markdown.slice(marker.index, markers[index + 1]?.index ?? markdown.length),
+ }));
+}
+
+function tokenInventory(markdown) {
+ const counts = {
+ direct: 0,
+ user: 0,
+ expression: 0,
+ hashExpression: 0,
+ other: 0,
+ };
+
+ for (const token of markdown.matchAll(TOKEN)) {
+ const [, prefix, value] = token;
+ if (prefix === '#') counts.hashExpression += 1;
+ else if (value.startsWith('u:')) counts.user += 1;
+ else if (value.startsWith('e:')) counts.expression += 1;
+ else if (DIRECT_PIPE.test(value)) counts.direct += 1;
+ else counts.other += 1;
+ }
+
+ return counts;
+}
+
+function gridRanges(markdown) {
+ const grid = /\|grid[!?]*\|([^|]+)\|[^|]*\|[^|]*\|[^|]*\|/g;
+ return [...markdown.matchAll(grid)].flatMap((match) => {
+ const destination = match[1].match(/\bid=["']?([A-Za-z_]\w*)/i)?.[1];
+ return destination ? [{ start: match.index, end: match.index + match[0].length, destination }] : [];
+ });
+}
+
+function directPairs(markdown) {
+ const markers = [...markdown.matchAll(QUESTION_MARKER)];
+ const grids = gridRanges(markdown);
+ return [...markdown.matchAll(TOKEN)].flatMap((token) => {
+ const [, prefix, source] = token;
+ if (prefix !== '$' || !DIRECT_PIPE.test(source)) return [];
+
+ const grid = grids.find(({ start, end }) => token.index >= start && token.index < end);
+ const questionIndex = markers.findLastIndex(({ index }) => index <= token.index);
+ const destination = grid?.destination ?? markers[questionIndex]?.[1];
+ return destination ? [{ destination, source }] : [];
+ });
+}
+
+function displayListDestinations(markdown, module, locale) {
+ return questionBlocks(markdown)
+ .filter(({ source }) => source.includes('|displayList('))
+ .map(({ id }) => `${module}/${locale}/${id}`);
+}
+
+function normaliseLoopId(id) {
+ return id.replace(LOOP_SUFFIX, '');
+}
+
+function pipePairKey({ destination, source }) {
+ return `${normaliseLoopId(destination)}<-${normaliseLoopId(source)}`;
+}
+
+function configureProcessor(locale) {
+ moduleParams.i18n = locale === 'es' ? es : en;
+ moduleParams.errorLogger = vi.fn();
+ moduleParams.previousResults = {};
+ moduleParams.asyncQuestionsMap = {};
+ moduleParams.renderFullQuestionList = true;
+ moduleParams.isRenderer = true;
+ initializeStateManager();
+ initializeCustomMathJSFunctions();
+}
+
+function directSourcesInText(text) {
+ return new Set(
+ [...text.matchAll(TOKEN)]
+ .flatMap(([, prefix, value]) => (prefix === '$' && DIRECT_PIPE.test(value) ? [normaliseLoopId(value)] : [])),
+ );
+}
+
+function gridSourcesInHTML(html) {
+ return new Set(
+ [...html.matchAll(/data-gridreplace=([^\s>]+)/g)]
+ .map(([, source]) => normaliseLoopId(decodeURIComponent(source.replace(/["']/g, ''))))
+ .filter((source) => DIRECT_PIPE.test(source)),
+ );
+}
+
+function parsedPipePairs(markdown, locale, authoredPairs) {
+ configureProcessor(locale);
+ const processor = new QuestionProcessor(markdown, {
+ current_date: new Date('2024-07-15T12:00:00.000Z'),
+ current_day: 15,
+ current_month: 7,
+ current_month_str: 6,
+ current_year: 2024,
+ quest_format_date: '2024-7-15',
+ }, locale === 'es' ? es : en);
+ getStateManager().setQuestionProcessor(processor);
+ const parsed = new Set();
+ const remaining = new Set(authoredPairs);
+ for (const [index, question] of processor.questions.entries()) {
+ const destination = normaliseLoopId(question.questionIDExactSearch);
+ const questionSources = new Set([
+ ...directSourcesInText(question.questText ?? ''),
+ ...gridSourcesInHTML(question.formElement ?? ''),
+ ]);
+ if (![...questionSources].some((source) => remaining.has(`${destination}<-${source}`))) continue;
+
+ const form = processor.processQuestion(index);
+ form.querySelectorAll('[forid]').forEach((element) => {
+ parsed.add(pipePairKey({
+ destination: form.id,
+ source: decodeURIComponent(element.getAttribute('forid')),
+ }));
+ });
+ form.querySelectorAll('[data-gridreplace]').forEach((element) => {
+ const source = decodeURIComponent(element.dataset.gridreplace);
+ if (DIRECT_PIPE.test(source)) parsed.add(pipePairKey({ destination: form.id, source }));
+ });
+ parsed.forEach((pair) => remaining.delete(pair));
+ if (remaining.size === 0) break;
+ }
+
+ return parsed;
+}
+
+const lock = await loadCorpusLock();
+const cacheDirectory = corpusCacheDirectory(lock);
+const entries = lock.files.map((entry) => ({
+ ...entry,
+ path: resolve(cacheDirectory, entry.path),
+}));
+const unavailable = entries.filter(({ path }) => !existsSync(path));
+
+describe.skipIf(unavailable.length > 0)('locked production response-piping structure @corpus', () => {
+ it('inventories every direct pipe while keeping profile, computed, and expression tokens separate', () => {
+ const directCounts = {};
+ const totals = { direct: 0, user: 0, expression: 0, hashExpression: 0, other: 0 };
+ const displayLists = [];
+
+ for (const entry of entries) {
+ const markdown = withoutComments(readFileSync(entry.path, 'utf8'));
+ const inventory = tokenInventory(markdown);
+ const key = `${entry.module}/${entry.locale}`;
+ directCounts[key] = inventory.direct;
+ displayLists.push(...displayListDestinations(markdown, entry.module, entry.locale));
+ Object.keys(totals).forEach((name) => {
+ totals[name] += inventory[name];
+ });
+ }
+
+ expect(directCounts).toEqual({
+ ...Object.fromEntries(entries.map(({ module, locale }) => [`${module}/${locale}`, 0])),
+ ...EXPECTED_DIRECT_PIPES,
+ });
+ expect(totals).toEqual(EXPECTED_TOKEN_COUNTS);
+ expect(displayLists).toEqual(EXPECTED_DISPLAY_LISTS);
+ });
+
+ it('keeps every authored destination/source pair in its own forid or grid-replacement runtime output', () => {
+ for (const entry of entries) {
+ const markdown = withoutComments(readFileSync(entry.path, 'utf8'));
+ const authoredPairs = new Set(directPairs(markdown).map(pipePairKey));
+ if (authoredPairs.size === 0) continue;
+ const parsedPairs = parsedPipePairs(markdown, entry.locale, authoredPairs);
+
+ expect(
+ [...authoredPairs].filter((pair) => !parsedPairs.has(pair)),
+ `${entry.module}/${entry.locale}: every authored destination/source pair must survive in its own runtime form`,
+ ).toEqual([]);
+ }
+ }, 180_000);
+
+ it('keeps English and Spanish source/destination pairs aligned except for the two audited differences', () => {
+ const pairsByModule = new Map();
+ for (const entry of entries) {
+ if (!['en', 'es'].includes(entry.locale)) continue;
+ const markdown = withoutComments(readFileSync(entry.path, 'utf8'));
+ const pairs = new Set(directPairs(markdown).map(pipePairKey));
+ const localePairs = pairsByModule.get(entry.module) ?? new Map();
+ localePairs.set(entry.locale, pairs);
+ pairsByModule.set(entry.module, localePairs);
+ }
+
+ for (const [module, localePairs] of pairsByModule) {
+ const english = localePairs.get('en');
+ const spanish = localePairs.get('es');
+ if (!english || !spanish) continue;
+ const actual = {
+ englishOnly: [...english].filter((pair) => !spanish.has(pair)).sort(),
+ spanishOnly: [...spanish].filter((pair) => !english.has(pair)).sort(),
+ };
+ expect(actual, `${module} EN/ES direct-pipe parity`).toEqual(
+ EXPECTED_LOCALE_DIFFERENCES[module] ?? { englishOnly: [], spanishOnly: [] },
+ );
+ }
+ });
+
+ it('keeps rendered forid spans and grid replacements available through the participant render boundary', async () => {
+ const entry = entries.find(({ module, locale }) => module === 'module3' && locale === 'en');
+ const quest = await renderFreshQuest({
+ markdown: readFileSync(entry.path, 'utf8'),
+ params: { activate: false, isRenderer: true, lang: 'en' },
+ });
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.root.querySelectorAll('[forid]').length).toBeGreaterThan(100);
+ const gridSources = [...quest.root.querySelectorAll('[data-gridreplace]')]
+ .map((element) => decodeURIComponent(element.dataset.gridreplace));
+ expect(gridSources).toEqual(expect.arrayContaining(['D_141874857', 'D_250456537', 'D_480426504']));
+ });
+});
diff --git a/tests/corpus/schemas/lock.schema.json b/tests/corpus/schemas/lock.schema.json
new file mode 100644
index 0000000..5c36e7d
--- /dev/null
+++ b/tests/corpus/schemas/lock.schema.json
@@ -0,0 +1,106 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://episphere.github.io/quest/tests/corpus/lock.schema.json",
+ "title": "Quest questionnaire corpus lock",
+ "type": "object",
+ "required": [
+ "schemaVersion",
+ "repository",
+ "repositoryUrl",
+ "defaultBranch",
+ "commit",
+ "cacheRoot",
+ "sourceDirectory",
+ "environment",
+ "expectedFileCount",
+ "expectedModuleCount",
+ "expectedLanguageCounts",
+ "questionIdParityExceptions",
+ "files"
+ ],
+ "properties": {
+ "$schema": { "type": "string" },
+ "schemaVersion": { "const": 1 },
+ "repository": { "type": "string", "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$" },
+ "repositoryUrl": { "type": "string", "format": "uri" },
+ "defaultBranch": { "type": "string", "minLength": 1 },
+ "commit": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
+ "cacheRoot": { "type": "string", "minLength": 1 },
+ "sourceDirectory": { "const": "prod" },
+ "environment": { "const": "prod" },
+ "expectedFileCount": { "type": "integer", "minimum": 1 },
+ "expectedModuleCount": { "type": "integer", "minimum": 1 },
+ "expectedLanguageCounts": {
+ "type": "object",
+ "required": ["en", "es"],
+ "properties": {
+ "en": { "type": "integer", "minimum": 1 },
+ "es": { "type": "integer", "minimum": 0 }
+ },
+ "additionalProperties": false
+ },
+ "questionIdParityExceptions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["module", "onlyIn", "ids"],
+ "properties": {
+ "module": { "type": "string", "minLength": 1 },
+ "onlyIn": { "enum": ["en", "es"] },
+ "ids": {
+ "type": "array",
+ "minItems": 1,
+ "items": { "type": "string", "minLength": 1 },
+ "uniqueItems": true
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "files": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "object",
+ "required": [
+ "module",
+ "locale",
+ "language",
+ "path",
+ "questName",
+ "version",
+ "sourceQuestionCount",
+ "sha256",
+ "gitBlobSha"
+ ],
+ "properties": {
+ "module": { "type": "string", "minLength": 1 },
+ "locale": { "enum": ["en", "es"] },
+ "language": { "enum": ["en", "es"] },
+ "path": { "type": "string", "pattern": "^prod/.+" },
+ "questName": { "type": "string", "pattern": "^\\w+$" },
+ "version": { "type": "string", "minLength": 1 },
+ "sourceQuestionCount": { "type": "integer", "minimum": 1 },
+ "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
+ "gitBlobSha": { "type": "string", "pattern": "^[0-9a-f]{40}$" }
+ },
+ "oneOf": [
+ {
+ "properties": {
+ "locale": { "const": "en" },
+ "language": { "const": "en" }
+ }
+ },
+ {
+ "properties": {
+ "locale": { "const": "es" },
+ "language": { "const": "es" }
+ }
+ }
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "additionalProperties": false
+}
diff --git a/tests/corpus/scripts/fetchCorpus.mjs b/tests/corpus/scripts/fetchCorpus.mjs
new file mode 100644
index 0000000..bcdd50e
--- /dev/null
+++ b/tests/corpus/scripts/fetchCorpus.mjs
@@ -0,0 +1,141 @@
+import { execFile } from 'node:child_process';
+import { promisify } from 'node:util';
+import { copyFile, mkdir, mkdtemp, readFile, rename, rm, writeFile } from 'node:fs/promises';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+import {
+ corpusCacheDirectory,
+ getLockedArtifacts,
+ loadCorpusLock,
+ resolveCorpusCacheRoot,
+ sha256Buffer,
+ gitBlobShaBuffer,
+ verifyCorpus,
+} from './lib/corpus.mjs';
+import { DEFAULT_LOCK_PATH, pathExists } from './lib/artifacts.mjs';
+
+const execFileAsync = promisify(execFile);
+const SCRIPT_PATH = fileURLToPath(import.meta.url);
+
+function parseArguments(argv) {
+ const options = {
+ lockPath: DEFAULT_LOCK_PATH,
+ cacheRoot: null,
+ force: false,
+ };
+
+ for (let index = 0; index < argv.length; index += 1) {
+ const argument = argv[index];
+ if (argument === '--lock') options.lockPath = path.resolve(argv[++index]);
+ else if (argument === '--cache-root') options.cacheRoot = path.resolve(argv[++index]);
+ else if (argument === '--force') options.force = true;
+ else throw new Error(`Unknown argument: ${argument}`);
+ }
+ return options;
+}
+
+export function questionnaireArchiveUrl(lock) {
+ return `https://github.com/${lock.repository}/archive/${lock.commit}.tar.gz`;
+}
+
+export async function downloadArchive(lock, archivePath, { fetchImpl = fetch } = {}) {
+ const url = questionnaireArchiveUrl(lock);
+ const response = await fetchImpl(url, {
+ headers: { 'User-Agent': 'quest-corpus-fetcher' },
+ redirect: 'follow',
+ });
+
+ if (!response.ok) {
+ throw new Error(`Public GitHub archive fetch failed with HTTP ${response.status}.`);
+ }
+ await writeFile(archivePath, Buffer.from(await response.arrayBuffer()));
+}
+
+async function extractArchive(archivePath, destination) {
+ await mkdir(destination, { recursive: true });
+ try {
+ await execFileAsync('tar', [
+ '-xzf', archivePath,
+ '-C', destination,
+ '--strip-components=1',
+ ]);
+ } catch (error) {
+ throw new Error(`Unable to extract the locked questionnaire archive: ${error.stderr || error.message}`);
+ }
+}
+
+async function copyLockedArtifacts(lock, checkoutRoot, destinationRoot) {
+ for (const artifact of getLockedArtifacts(lock)) {
+ const source = path.join(checkoutRoot, ...artifact.path.split('/'));
+ const buffer = await readFile(source);
+ const actualSha256 = sha256Buffer(buffer);
+ const actualGitBlobSha = gitBlobShaBuffer(buffer);
+ if (actualSha256 !== artifact.sha256 || actualGitBlobSha !== artifact.gitBlobSha) {
+ throw new Error(`${artifact.path}: archive bytes do not match the locked hashes.`);
+ }
+
+ const destination = path.join(destinationRoot, ...artifact.path.split('/'));
+ await mkdir(path.dirname(destination), { recursive: true });
+ await copyFile(source, destination);
+ }
+}
+
+async function installStagedCache(stagedCache, cacheDir, temporaryRoot) {
+ const previousCache = path.join(temporaryRoot, 'previous-cache');
+ const hadExistingCache = await pathExists(cacheDir);
+
+ if (hadExistingCache) await rename(cacheDir, previousCache);
+
+ try {
+ await rename(stagedCache, cacheDir);
+ } catch (error) {
+ if (hadExistingCache && !(await pathExists(cacheDir))) {
+ await rename(previousCache, cacheDir);
+ }
+ throw error;
+ }
+}
+
+async function main() {
+ const options = parseArguments(process.argv.slice(2));
+ const lock = await loadCorpusLock(options.lockPath);
+ const cacheRoot = resolveCorpusCacheRoot(lock, options.cacheRoot);
+ const cacheDir = corpusCacheDirectory(lock, cacheRoot);
+
+ if (await pathExists(cacheDir)) {
+ if (!options.force) {
+ const summary = await verifyCorpus({ lock, cacheDir });
+ console.log(`Corpus cache already verified at ${cacheDir} (${summary.files} prod files).`);
+ return;
+ }
+ }
+
+ await mkdir(cacheRoot, { recursive: true });
+ const temporaryRoot = await mkdtemp(path.join(cacheRoot, `.${lock.commit}.tmp-`));
+ const archivePath = path.join(temporaryRoot, 'questionnaire.tar.gz');
+ const checkoutRoot = path.join(temporaryRoot, 'checkout');
+ const stagedCache = path.join(temporaryRoot, 'cache');
+
+ try {
+ await downloadArchive(lock, archivePath);
+ await extractArchive(archivePath, checkoutRoot);
+ await mkdir(stagedCache, { recursive: true });
+ await copyLockedArtifacts(lock, checkoutRoot, stagedCache);
+ const summary = await verifyCorpus({ lock, cacheDir: stagedCache });
+ await installStagedCache(stagedCache, cacheDir, temporaryRoot);
+ await rm(temporaryRoot, { recursive: true, force: true });
+ console.log(`Fetched and verified ${summary.files} production files at ${lock.commit}.`);
+ console.log(cacheDir);
+ } catch (error) {
+ await rm(temporaryRoot, { recursive: true, force: true });
+ throw error;
+ }
+}
+
+if (process.argv[1] && path.resolve(process.argv[1]) === SCRIPT_PATH) {
+ main().catch((error) => {
+ console.error(error.cause?.message ?? error.message);
+ process.exitCode = 1;
+ });
+}
diff --git a/tests/corpus/scripts/lib/artifacts.mjs b/tests/corpus/scripts/lib/artifacts.mjs
new file mode 100644
index 0000000..13dad24
--- /dev/null
+++ b/tests/corpus/scripts/lib/artifacts.mjs
@@ -0,0 +1,23 @@
+import { access, readFile } from 'node:fs/promises';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+const THIS_FILE = fileURLToPath(import.meta.url);
+
+export const REPOSITORY_ROOT = path.resolve(path.dirname(THIS_FILE), '../../../..');
+export const CORPUS_ROOT = path.join(REPOSITORY_ROOT, 'tests', 'corpus');
+export const DEFAULT_LOCK_PATH = path.join(CORPUS_ROOT, 'lock.json');
+export const DEFAULT_CACHE_ROOT = path.join(REPOSITORY_ROOT, '.cache', 'questionnaire');
+
+export async function pathExists(filePath) {
+ try {
+ await access(filePath);
+ return true;
+ } catch {
+ return false;
+ }
+}
+
+export async function readJson(filePath) {
+ return JSON.parse(await readFile(filePath, 'utf8'));
+}
diff --git a/tests/corpus/scripts/lib/corpus.mjs b/tests/corpus/scripts/lib/corpus.mjs
new file mode 100644
index 0000000..1b632cc
--- /dev/null
+++ b/tests/corpus/scripts/lib/corpus.mjs
@@ -0,0 +1,377 @@
+import { createHash } from 'node:crypto';
+import { readdir, readFile, stat } from 'node:fs/promises';
+import path from 'node:path';
+
+import {
+ DEFAULT_CACHE_ROOT,
+ DEFAULT_LOCK_PATH,
+ REPOSITORY_ROOT,
+ pathExists,
+ readJson,
+} from './artifacts.mjs';
+
+export const LOCK_SCHEMA_VERSION = 1;
+
+const COMMIT_PATTERN = /^[0-9a-f]{40}$/;
+const SHA256_PATTERN = /^[0-9a-f]{64}$/;
+const GIT_BLOB_PATTERN = /^[0-9a-f]{40}$/;
+const REPOSITORY_PATTERN = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
+const QUESTION_MARKER_PATTERN = /^\[([A-Z_][A-Z0-9_#]*)([?!]?)(?:\|([^|\]]+)\|?)?(,.*?)?\]/gm;
+
+export class CorpusVerificationError extends Error {
+ constructor(errors) {
+ super(`Questionnaire corpus verification failed:\n- ${errors.join('\n- ')}`);
+ this.name = 'CorpusVerificationError';
+ this.errors = errors;
+ }
+}
+
+export function sha256Buffer(value) {
+ return createHash('sha256').update(value).digest('hex');
+}
+
+export function gitBlobShaBuffer(value) {
+ const buffer = Buffer.isBuffer(value) ? value : Buffer.from(value);
+ return createHash('sha1')
+ .update(`blob ${buffer.length}\0`)
+ .update(buffer)
+ .digest('hex');
+}
+
+export function stripMarkdownComments(markdown) {
+ return markdown.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, '');
+}
+
+export function analyzeQuestionnaireText(markdown) {
+ const questionIds = [...stripMarkdownComments(markdown).matchAll(QUESTION_MARKER_PATTERN)]
+ .map((match) => match[1]);
+ const seen = new Set();
+ const duplicateQuestionIds = [...new Set(questionIds.filter((questionId) => {
+ if (seen.has(questionId)) return true;
+ seen.add(questionId);
+ return false;
+ }))].sort();
+
+ return {
+ questName: markdown.match(/\{"name":"(\w*)"}/)?.[1] ?? null,
+ version: markdown.match(/\/\/\s*\{"version":"([^"]+)"}/)?.[1] ?? null,
+ questionIds,
+ duplicateQuestionIds,
+ endCount: questionIds.filter((questionId) => questionId === 'END').length,
+ };
+}
+
+export function isSafeRepositoryPath(repositoryPath) {
+ return typeof repositoryPath === 'string'
+ && repositoryPath.length > 0
+ && !path.posix.isAbsolute(repositoryPath)
+ && !repositoryPath.includes('\\')
+ && path.posix.normalize(repositoryPath) === repositoryPath
+ && !repositoryPath.split('/').includes('..');
+}
+
+function addError(errors, condition, message) {
+ if (!condition) errors.push(message);
+}
+
+export function validateCorpusLock(lock) {
+ const errors = [];
+
+ addError(errors, lock && typeof lock === 'object', 'Lock must be a JSON object.');
+ if (!lock || typeof lock !== 'object') throw new CorpusVerificationError(errors);
+
+ addError(errors, lock.schemaVersion === LOCK_SCHEMA_VERSION,
+ `schemaVersion must be ${LOCK_SCHEMA_VERSION}.`);
+ addError(errors, REPOSITORY_PATTERN.test(lock.repository ?? ''),
+ 'repository must use the owner/name form.');
+ addError(errors, typeof lock.repositoryUrl === 'string' && lock.repositoryUrl.startsWith('https://'),
+ 'repositoryUrl must be an HTTPS URL.');
+ addError(errors, typeof lock.defaultBranch === 'string' && lock.defaultBranch.length > 0,
+ 'defaultBranch is required for drift checks.');
+ addError(errors, COMMIT_PATTERN.test(lock.commit ?? ''), 'commit must be a full 40-character Git SHA.');
+ addError(errors, isSafeRepositoryPath(lock.cacheRoot ?? ''), 'cacheRoot must be repository-relative and safe.');
+ addError(errors, lock.sourceDirectory === 'prod', 'sourceDirectory must be prod.');
+ addError(errors, lock.environment === 'prod', 'environment must be prod.');
+ addError(errors, Array.isArray(lock.files) && lock.files.length > 0, 'files must be a non-empty array.');
+
+ if (!Array.isArray(lock.files)) throw new CorpusVerificationError(errors);
+
+ addError(errors, lock.files.length === lock.expectedFileCount,
+ `Expected ${lock.expectedFileCount} files but lock contains ${lock.files.length}.`);
+
+ const paths = new Set();
+ const moduleLocales = new Set();
+
+ for (const [index, entry] of lock.files.entries()) {
+ const label = entry?.path ?? `files[${index}]`;
+ addError(errors, entry && typeof entry === 'object', `${label}: entry must be an object.`);
+ if (!entry || typeof entry !== 'object') continue;
+
+ addError(errors, typeof entry.module === 'string' && entry.module.length > 0,
+ `${label}: module is required.`);
+ addError(errors, entry.locale === 'en' || entry.locale === 'es',
+ `${label}: locale must be en or es.`);
+ addError(errors, entry.language === 'en' || entry.language === 'es',
+ `${label}: language must be en or es.`);
+ addError(errors, entry.language === entry.locale,
+ `${label}: language must match locale.`);
+ addError(errors, isSafeRepositoryPath(entry.path), `${label}: path is unsafe.`);
+ addError(errors, entry.path?.startsWith(`${lock.sourceDirectory}/`),
+ `${label}: production path must be below ${lock.sourceDirectory}/.`);
+ addError(errors, typeof entry.questName === 'string' && /^\w+$/.test(entry.questName),
+ `${label}: questName is invalid.`);
+ addError(errors, typeof entry.version === 'string' && entry.version.length > 0,
+ `${label}: version is required.`);
+ addError(errors, Number.isInteger(entry.sourceQuestionCount) && entry.sourceQuestionCount > 0,
+ `${label}: sourceQuestionCount must be a positive integer.`);
+ addError(errors, SHA256_PATTERN.test(entry.sha256 ?? ''), `${label}: sha256 is invalid.`);
+ addError(errors, GIT_BLOB_PATTERN.test(entry.gitBlobSha ?? ''), `${label}: gitBlobSha is invalid.`);
+
+ if (paths.has(entry.path)) errors.push(`${label}: duplicate production path.`);
+ paths.add(entry.path);
+
+ const moduleLocale = `${entry.module}:${entry.locale}`;
+ if (moduleLocales.has(moduleLocale)) errors.push(`${label}: duplicate module/locale ${moduleLocale}.`);
+ moduleLocales.add(moduleLocale);
+ }
+
+ const modules = new Map();
+ for (const entry of lock.files) {
+ if (!modules.has(entry.module)) modules.set(entry.module, new Map());
+ modules.get(entry.module).set(entry.locale, entry);
+ }
+
+ addError(errors, modules.size === lock.expectedModuleCount,
+ `Expected ${lock.expectedModuleCount} modules but found ${modules.size}.`);
+
+ const localeCounts = lock.files.reduce((counts, entry) => {
+ counts[entry.locale] = (counts[entry.locale] ?? 0) + 1;
+ return counts;
+ }, {});
+ for (const locale of ['en', 'es']) {
+ addError(errors, localeCounts[locale] === lock.expectedLanguageCounts?.[locale],
+ `Expected ${lock.expectedLanguageCounts?.[locale]} ${locale} files but found ${localeCounts[locale] ?? 0}.`);
+ }
+
+ for (const [moduleName, locales] of modules) {
+ addError(errors, locales.has('en'), `${moduleName}: every module must have an English questionnaire.`);
+ if (locales.has('en') && locales.has('es')) {
+ addError(errors, locales.get('en').questName === locales.get('es').questName,
+ `${moduleName}: English and Spanish questName values differ.`);
+ addError(errors, locales.get('en').version === locales.get('es').version,
+ `${moduleName}: English and Spanish versions differ.`);
+ }
+ }
+
+ const exceptionKeys = new Set();
+ for (const exception of lock.questionIdParityExceptions ?? []) {
+ const key = `${exception.module}:${exception.onlyIn}`;
+ addError(errors, modules.has(exception.module), `${key}: exception references an unknown module.`);
+ addError(errors, exception.onlyIn === 'en' || exception.onlyIn === 'es',
+ `${key}: onlyIn must be en or es.`);
+ addError(errors, Array.isArray(exception.ids) && exception.ids.length > 0,
+ `${key}: ids must be a non-empty array.`);
+ addError(errors, !exceptionKeys.has(key), `${key}: duplicate parity exception.`);
+ exceptionKeys.add(key);
+ }
+
+ if (errors.length > 0) throw new CorpusVerificationError(errors);
+ return lock;
+}
+
+export async function loadCorpusLock(lockPath = DEFAULT_LOCK_PATH) {
+ return validateCorpusLock(await readJson(lockPath));
+}
+
+export function resolveCorpusCacheRoot(lock, overrideCacheRoot = null) {
+ return overrideCacheRoot
+ ? path.resolve(overrideCacheRoot)
+ : path.resolve(REPOSITORY_ROOT, lock.cacheRoot ?? path.relative(REPOSITORY_ROOT, DEFAULT_CACHE_ROOT));
+}
+
+export function corpusCacheDirectory(lock, overrideCacheRoot = null) {
+ return path.join(resolveCorpusCacheRoot(lock, overrideCacheRoot), lock.commit);
+}
+
+export function getLockedArtifacts(lock) {
+ return lock.files.map((entry) => ({
+ path: entry.path,
+ sha256: entry.sha256,
+ gitBlobSha: entry.gitBlobSha,
+ })).sort((left, right) => left.path.localeCompare(right.path));
+}
+
+function decodeUtf8(buffer, label, errors) {
+ try {
+ return new TextDecoder('utf-8', { fatal: true }).decode(buffer);
+ } catch {
+ errors.push(`${label}: content is not valid UTF-8.`);
+ return null;
+ }
+}
+
+async function listFilesRecursively(directory, baseDirectory = directory) {
+ if (!(await pathExists(directory))) return [];
+ const entries = await readdir(directory, { withFileTypes: true });
+ const files = [];
+
+ for (const entry of entries) {
+ const fullPath = path.join(directory, entry.name);
+ if (entry.isDirectory()) {
+ files.push(...await listFilesRecursively(fullPath, baseDirectory));
+ } else if (entry.isFile()) {
+ files.push(path.relative(baseDirectory, fullPath).split(path.sep).join('/'));
+ } else {
+ files.push(path.relative(baseDirectory, fullPath).split(path.sep).join('/'));
+ }
+ }
+
+ return files.sort();
+}
+
+function sortedDifference(left, right) {
+ return [...left].filter((value) => !right.has(value)).sort();
+}
+
+function expectedParityExceptions(lock) {
+ return new Map((lock.questionIdParityExceptions ?? []).map((exception) => ([
+ `${exception.module}:${exception.onlyIn}`,
+ [...exception.ids].sort(),
+ ])));
+}
+
+function sameStringArray(left, right) {
+ return left.length === right.length && left.every((value, index) => value === right[index]);
+}
+
+export async function verifyCorpus({
+ lock,
+ cacheDir = corpusCacheDirectory(lock),
+ requireExactFileSet = true,
+} = {}) {
+ validateCorpusLock(lock);
+ const errors = [];
+ const analyses = new Map();
+ const expectedArtifacts = getLockedArtifacts(lock);
+
+ if (!(await pathExists(cacheDir))) {
+ throw new CorpusVerificationError([
+ `Cache directory is missing: ${cacheDir}`,
+ 'Run npm run corpus:fetch before corpus-backed tests.',
+ ]);
+ }
+
+ const cacheStats = await stat(cacheDir);
+ if (!cacheStats.isDirectory()) {
+ throw new CorpusVerificationError([`Cache path is not a directory: ${cacheDir}`]);
+ }
+
+ if (requireExactFileSet) {
+ const expectedPaths = new Set(expectedArtifacts.map((artifact) => artifact.path));
+ const actualPaths = new Set((await listFilesRecursively(cacheDir))
+ .filter((repositoryPath) => repositoryPath.startsWith(`${lock.sourceDirectory}/`)));
+ for (const missingPath of sortedDifference(expectedPaths, actualPaths)) {
+ errors.push(`${missingPath}: locked file is missing from the cache.`);
+ }
+ for (const unexpectedPath of sortedDifference(actualPaths, expectedPaths)) {
+ errors.push(`${unexpectedPath}: unexpected file exists in the corpus cache.`);
+ }
+ }
+
+ for (const artifact of expectedArtifacts) {
+ const filePath = path.join(cacheDir, ...artifact.path.split('/'));
+ let buffer;
+ try {
+ buffer = await readFile(filePath);
+ } catch (error) {
+ errors.push(`${artifact.path}: unable to read locked file (${error.code ?? error.message}).`);
+ continue;
+ }
+
+ const actualSha256 = sha256Buffer(buffer);
+ if (actualSha256 !== artifact.sha256) {
+ errors.push(`${artifact.path}: SHA-256 mismatch (expected ${artifact.sha256}, got ${actualSha256}).`);
+ }
+ const actualGitBlobSha = gitBlobShaBuffer(buffer);
+ if (actualGitBlobSha !== artifact.gitBlobSha) {
+ errors.push(`${artifact.path}: Git blob SHA mismatch (expected ${artifact.gitBlobSha}, got ${actualGitBlobSha}).`);
+ }
+
+ const text = decodeUtf8(buffer, artifact.path, errors);
+ if (text === null) continue;
+ }
+
+ for (const entry of lock.files) {
+ const filePath = path.join(cacheDir, ...entry.path.split('/'));
+ let text;
+ try {
+ text = decodeUtf8(await readFile(filePath), entry.path, errors);
+ } catch {
+ continue;
+ }
+ if (text === null) continue;
+
+ const analysis = analyzeQuestionnaireText(text);
+ analyses.set(entry.path, analysis);
+ if (analysis.questName !== entry.questName) {
+ errors.push(`${entry.path}: questName mismatch (expected ${entry.questName}, got ${analysis.questName}).`);
+ }
+ if (analysis.version !== entry.version) {
+ errors.push(`${entry.path}: version mismatch (expected ${entry.version}, got ${analysis.version}).`);
+ }
+ if (analysis.questionIds.length !== entry.sourceQuestionCount) {
+ errors.push(`${entry.path}: source question count mismatch (expected ${entry.sourceQuestionCount}, got ${analysis.questionIds.length}).`);
+ }
+ if (analysis.endCount !== 1) {
+ errors.push(`${entry.path}: expected exactly one END marker, found ${analysis.endCount}.`);
+ }
+ if (analysis.duplicateQuestionIds.length > 0) {
+ errors.push(`${entry.path}: duplicate question IDs: ${analysis.duplicateQuestionIds.join(', ')}.`);
+ }
+
+ }
+
+ const exceptionMap = expectedParityExceptions(lock);
+ const usedExceptionKeys = new Set();
+ const moduleEntries = Map.groupBy(lock.files, (entry) => entry.module);
+ for (const [moduleName, entries] of moduleEntries) {
+ const englishEntry = entries.find((entry) => entry.locale === 'en');
+ const spanishEntry = entries.find((entry) => entry.locale === 'es');
+ if (!englishEntry || !spanishEntry) continue;
+
+ const englishAnalysis = analyses.get(englishEntry.path);
+ const spanishAnalysis = analyses.get(spanishEntry.path);
+ if (!englishAnalysis || !spanishAnalysis) continue;
+
+ const englishIds = new Set(englishAnalysis.questionIds);
+ const spanishIds = new Set(spanishAnalysis.questionIds);
+ for (const [locale, actualDifference] of [
+ ['en', sortedDifference(englishIds, spanishIds)],
+ ['es', sortedDifference(spanishIds, englishIds)],
+ ]) {
+ const key = `${moduleName}:${locale}`;
+ const expectedDifference = exceptionMap.get(key) ?? [];
+ if (!sameStringArray(actualDifference, expectedDifference)) {
+ errors.push(`${moduleName}: IDs only in ${locale} differ from the lock baseline (expected [${expectedDifference.join(', ')}], got [${actualDifference.join(', ')}]).`);
+ }
+ if (exceptionMap.has(key)) usedExceptionKeys.add(key);
+ }
+ }
+
+ for (const key of exceptionMap.keys()) {
+ if (!usedExceptionKeys.has(key)) errors.push(`${key}: parity exception was not evaluated.`);
+ }
+
+ if (errors.length > 0) throw new CorpusVerificationError(errors);
+
+ return {
+ commit: lock.commit,
+ files: lock.files.length,
+ modules: new Set(lock.files.map((entry) => entry.module)).size,
+ localeCounts: lock.files.reduce((counts, entry) => {
+ counts[entry.locale] = (counts[entry.locale] ?? 0) + 1;
+ return counts;
+ }, {}),
+ sourceQuestionCount: lock.files.reduce((total, entry) => total + entry.sourceQuestionCount, 0),
+ };
+}
diff --git a/tests/corpus/scripts/lib/structuralCatalog.mjs b/tests/corpus/scripts/lib/structuralCatalog.mjs
new file mode 100644
index 0000000..638065b
--- /dev/null
+++ b/tests/corpus/scripts/lib/structuralCatalog.mjs
@@ -0,0 +1,483 @@
+/**
+ * Build a reviewable description of a questionnaire after Quest has parsed it.
+ *
+ * This deliberately describes structure only. It does not try to evaluate
+ * conditions, navigate a questionnaire, or infer reachable paths. Keeping
+ * those concerns separate makes the catalog an honest denominator for the
+ * later path-generation work.
+ */
+
+export const STRUCTURAL_CATALOG_SCHEMA_VERSION = 1;
+
+const LOOP_SUFFIX = /_(\d+)_(\d+)[?!]?$/;
+const ASYNC_MARKUP_ID = /^\[([^\]|?!]+)[?!]?\]$/;
+
+function asArray(value) {
+ return value == null ? [] : Array.from(value);
+}
+
+function normaliseString(value) {
+ return typeof value === 'string' ? value.trim() : '';
+}
+
+function optionalString(value) {
+ const normalised = normaliseString(value);
+ return normalised || null;
+}
+
+function safeDecode(value) {
+ const text = normaliseString(value);
+ if (!text) return '';
+
+ try {
+ return decodeURIComponent(text);
+ } catch {
+ // A malformed percent escape is useful evidence in the catalog. Preserve
+ // it instead of making generation fail before the malformed form can be
+ // reviewed.
+ return text;
+ }
+}
+
+function getAttribute(element, attributeName) {
+ if (!element?.getAttribute) return null;
+ return element.getAttribute(attributeName);
+}
+
+function getSkipTarget(element) {
+ return optionalString(getAttribute(element, 'skipto'))
+ ?? optionalString(getAttribute(element, 'skipTo'));
+}
+
+function sourceQuestionId(question, index) {
+ return optionalString(question?.questionID) ?? `__question_${index}`;
+}
+
+function exactQuestionId(question, fallback) {
+ return optionalString(question?.questionIDExactSearch)
+ ?? fallback.replace(/[?!]$/, '');
+}
+
+function controlDescriptor(element) {
+ const tag = element?.tagName?.toLowerCase?.() ?? 'unknown';
+ const type = optionalString(getAttribute(element, 'type'))
+ ?? (tag === 'textarea' ? 'textarea' : tag === 'select' ? 'select' : null);
+ const name = optionalString(getAttribute(element, 'name'));
+ const value = optionalString(getAttribute(element, 'value'));
+
+ return {
+ id: optionalString(getAttribute(element, 'id')),
+ tag,
+ type,
+ name,
+ value,
+ required: element?.hasAttribute?.('required') ?? false,
+ noResponse: element?.classList?.contains?.('noresponse') ?? false,
+ };
+}
+
+function conditionScope(element, form, attribute) {
+ if (element === form) return 'question';
+ if (attribute === 'if' && getSkipTarget(element)) return 'conditional-transition';
+ if (element?.hasAttribute?.('data-gridrow')) return 'grid-row';
+ if (element?.classList?.contains?.('grid-displayif')) return 'grid-inline';
+ if (element?.classList?.contains?.('response')) return 'response';
+ if (element?.classList?.contains?.('displayif')) return 'inline';
+ return 'element';
+}
+
+function groupControls(elements) {
+ const groups = [];
+ const groupsByKey = new Map();
+
+ for (const element of elements) {
+ const descriptor = controlDescriptor(element);
+ const key = [descriptor.tag, descriptor.type ?? '', descriptor.name ?? ''].join('\u0000');
+ let group = groupsByKey.get(key);
+
+ if (!group) {
+ group = {
+ tag: descriptor.tag,
+ type: descriptor.type,
+ name: descriptor.name,
+ count: 0,
+ required: false,
+ noResponseCount: 0,
+ values: [],
+ };
+ groupsByKey.set(key, group);
+ groups.push(group);
+ }
+
+ group.count += 1;
+ group.required ||= descriptor.required;
+ group.noResponseCount += descriptor.noResponse ? 1 : 0;
+ if (descriptor.value && !group.values.includes(descriptor.value)) {
+ group.values.push(descriptor.value);
+ }
+ }
+
+ return groups;
+}
+
+function isResponseControl(element) {
+ const tag = element?.tagName?.toLowerCase?.();
+ const type = normaliseString(getAttribute(element, 'type')).toLowerCase();
+ if (tag === 'textarea' || tag === 'select') return true;
+ if (tag !== 'input') return false;
+ return !['button', 'hidden', 'reset', 'submit'].includes(type);
+}
+
+function conditionSitesForForm(form, questionId, questionIndex) {
+ const sites = [];
+ const conditionAttributes = ['displayif', 'data-displayif', 'if'];
+ const candidates = [form, ...asArray(form?.querySelectorAll?.('[displayif], [data-displayif], [if]'))];
+
+ for (const element of candidates) {
+ for (const attribute of conditionAttributes) {
+ const raw = getAttribute(element, attribute);
+ if (raw == null) continue;
+ sites.push({
+ questionId,
+ questionIndex,
+ scope: conditionScope(element, form, attribute),
+ element: element?.tagName?.toLowerCase?.() ?? 'unknown',
+ elementId: optionalString(getAttribute(element, 'id')),
+ attribute,
+ rawCondition: normaliseString(raw),
+ decodedCondition: safeDecode(raw),
+ });
+ }
+ }
+
+ return sites;
+}
+
+function questionKind(questionId, grid) {
+ const exactId = questionId.replace(/[?!]$/, '');
+ if (grid) return 'grid';
+ if (exactId === 'END') return 'terminal';
+ if (exactId === 'END_OF_LOOP') return 'loop-boundary';
+ if (exactId.startsWith('_CONTINUE')) return 'loop-continuation';
+ return 'question';
+}
+
+function transitionKind(element) {
+ const descriptor = controlDescriptor(element);
+ if (descriptor.type !== 'hidden') return 'response';
+ if (descriptor.noResponse) return 'no-response';
+ if (getAttribute(element, 'if') != null) return 'conditional-default';
+ return 'default';
+}
+
+function gridRecord(form, questionId, questionIndex) {
+ if (!form?.hasAttribute?.('data-grid')) return null;
+
+ const rows = asArray(form.querySelectorAll?.('[data-gridrow]'));
+ const gridCells = asArray(form.querySelectorAll?.('[data-gridcell]'));
+ const responseTypes = [...new Set(gridCells
+ .map((cell) => normaliseString(getAttribute(cell, 'type')).toLowerCase())
+ .filter(Boolean))];
+
+ return {
+ questionId,
+ questionIndex,
+ rowQuestionIds: rows.map((row) => optionalString(getAttribute(row, 'data-question-id'))).filter(Boolean),
+ rowCount: rows.length,
+ responseTypes,
+ responseValues: [...new Set(gridCells
+ .map((cell) => optionalString(getAttribute(cell, 'value')))
+ .filter(Boolean))],
+ };
+}
+
+function loopMarkerForForm(form, questionId, questionIndex) {
+ const loopIndex = optionalString(getAttribute(form, 'loopindx'));
+ const firstQuestion = optionalString(getAttribute(form, 'firstquestion'));
+ const loopMaxQuestionId = optionalString(getAttribute(form, 'loopmax'));
+ if (!loopIndex && !firstQuestion && !loopMaxQuestionId) return null;
+
+ return {
+ questionId,
+ questionIndex,
+ loopIndex,
+ firstQuestion,
+ loopMaxQuestionId,
+ };
+}
+
+function buildLoopDefinitions(loopStarts, questionRecords) {
+ const byLoopIndex = new Map();
+
+ for (const start of loopStarts) {
+ const key = start.loopIndex ?? 'unknown';
+ const definition = byLoopIndex.get(key) ?? {
+ loopIndex: start.loopIndex,
+ loopMaxQuestionIds: [],
+ iterationFirstQuestionIds: [],
+ iterationStartIndexes: [],
+ };
+ if (start.loopMaxQuestionId && !definition.loopMaxQuestionIds.includes(start.loopMaxQuestionId)) {
+ definition.loopMaxQuestionIds.push(start.loopMaxQuestionId);
+ }
+ definition.iterationFirstQuestionIds.push(start.questionId);
+ definition.iterationStartIndexes.push(start.questionIndex);
+ byLoopIndex.set(key, definition);
+ }
+
+ return [...byLoopIndex.values()].map((definition) => {
+ const firstIndex = definition.iterationStartIndexes[0];
+ const lastStartIndex = definition.iterationStartIndexes.at(-1);
+ const boundary = questionRecords.find(({ index, id }) => (
+ index > lastStartIndex && id === 'END_OF_LOOP'
+ ));
+ const continuationQuestionIds = questionRecords
+ .filter(({ index, id }) => (
+ index >= firstIndex
+ && index < (boundary?.index ?? Number.POSITIVE_INFINITY)
+ && id.startsWith(`_CONTINUE${definition.loopIndex}`)
+ ))
+ .map(({ id }) => id);
+
+ return {
+ ...definition,
+ iterationCount: definition.iterationStartIndexes.length,
+ continuationQuestionIds,
+ boundaryIndex: boundary?.index ?? null,
+ };
+ });
+}
+
+function asyncIdSet(asyncQuestionIds) {
+ const ids = new Set();
+ for (const value of asyncQuestionIds ?? []) {
+ const text = normaliseString(value);
+ if (!text) continue;
+ const markupMatch = text.match(ASYNC_MARKUP_ID);
+ ids.add(markupMatch ? markupMatch[1] : text.replace(/[?!]$/, ''));
+ }
+ return ids;
+}
+
+function structuralTargetResolver(processor) {
+ const questions = asArray(processor?.questions);
+
+ return (target) => {
+ const normalisedTarget = normaliseString(target);
+ if (!normalisedTarget) return { resolved: false, kind: 'missing-target' };
+
+ // `findQuestion('END')` intentionally resolves to the final processed
+ // question, regardless of where an END marker occurs in source.
+ if (normalisedTarget === 'END') {
+ const index = questions.length - 1;
+ return index >= 0
+ ? { resolved: true, kind: 'terminal', index, questionId: sourceQuestionId(questions[index], index) }
+ : { resolved: false, kind: 'missing-terminal' };
+ }
+
+ const exactIndex = questions.findIndex((question, index) => (
+ exactQuestionId(question, sourceQuestionId(question, index)) === normalisedTarget
+ ));
+ if (exactIndex !== -1) {
+ return {
+ resolved: true,
+ kind: 'exact',
+ index: exactIndex,
+ questionId: sourceQuestionId(questions[exactIndex], exactIndex),
+ };
+ }
+
+ const prefixIndex = questions.findIndex((question, index) => (
+ sourceQuestionId(question, index).startsWith(normalisedTarget)
+ ));
+ if (prefixIndex !== -1) {
+ return {
+ resolved: true,
+ kind: normalisedTarget.startsWith('_CONTINUE') ? 'loop-continue' : 'prefix',
+ index: prefixIndex,
+ questionId: sourceQuestionId(questions[prefixIndex], prefixIndex),
+ };
+ }
+
+ return { resolved: false, kind: 'unresolved' };
+ };
+}
+
+function normaliseResolution(value) {
+ if (value === true) return { resolved: true, kind: 'custom' };
+ if (value === false || value == null) return { resolved: false, kind: 'custom' };
+ if (typeof value === 'number') return { resolved: true, kind: 'custom', index: value };
+ if (typeof value === 'string') return { resolved: true, kind: 'custom', questionId: value };
+ if (typeof value === 'object') {
+ return {
+ resolved: Boolean(value.resolved),
+ kind: optionalString(value.kind) ?? 'custom',
+ ...(Number.isInteger(value.index) ? { index: value.index } : {}),
+ ...(optionalString(value.questionId) ? { questionId: optionalString(value.questionId) } : {}),
+ };
+ }
+ return { resolved: false, kind: 'custom' };
+}
+
+/**
+ * Build a catalog record from a processed Quest survey.
+ *
+ * `resolveTarget`, receives `(target, context)` and may return
+ * a boolean, an index/string, or `{ resolved, kind, index?, questionId? }`.
+ * The fallback performs structural exact/prefix lookup only. Corpus tests
+ * should inject a resolver that calls Quest when virtual loop routing matters.
+ */
+export function buildStructuralCatalogRecord({
+ record = {},
+ processor,
+ renderedRoot,
+ asyncQuestionIds = [],
+ resolveTarget,
+} = {}) {
+ const questions = asArray(processor?.questions);
+ const renderedForms = asArray(renderedRoot?.querySelectorAll?.('form.question'));
+ const asyncIds = asyncIdSet(asyncQuestionIds);
+ const targetResolver = typeof resolveTarget === 'function'
+ ? resolveTarget
+ : structuralTargetResolver(processor);
+ const questionRecords = [];
+ const transitions = [];
+ const conditionSites = [];
+ const grids = [];
+ const loops = [];
+ let controlCount = 0;
+ let responseControlCount = 0;
+
+ for (const [questionIndex, question] of questions.entries()) {
+ const questionId = sourceQuestionId(question, questionIndex);
+ const form = processor?.processedQuestions?.get?.(questionIndex) ?? renderedForms[questionIndex] ?? null;
+ const controls = asArray(form?.querySelectorAll?.('input, textarea, select, button'));
+ const skipElements = asArray(form?.querySelectorAll?.('[skipto], [skipTo]'));
+ const formConditions = conditionSitesForForm(form, questionId, questionIndex);
+ const grid = gridRecord(form, questionId, questionIndex);
+ const loop = loopMarkerForForm(form, questionId, questionIndex);
+ const loopSuffix = questionId.match(LOOP_SUFFIX);
+
+ controlCount += controls.length;
+ responseControlCount += controls.filter(isResponseControl).length;
+ conditionSites.push(...formConditions);
+ if (grid) grids.push(grid);
+ if (loop) loops.push(loop);
+
+ const transitionStart = transitions.length;
+ for (const element of skipElements) {
+ const target = getSkipTarget(element);
+ if (!target) continue;
+ const resolution = normaliseResolution(targetResolver(target, {
+ record,
+ processor,
+ sourceQuestion: question,
+ questionId,
+ questionIndex,
+ element,
+ }));
+ const descriptor = controlDescriptor(element);
+ transitions.push({
+ from: questionId,
+ fromIndex: questionIndex,
+ to: target,
+ kind: transitionKind(element),
+ control: {
+ id: descriptor.id,
+ tag: descriptor.tag,
+ type: descriptor.type,
+ name: descriptor.name,
+ value: descriptor.value,
+ noResponse: descriptor.noResponse,
+ rawCondition: optionalString(getAttribute(element, 'if')),
+ decodedCondition: getAttribute(element, 'if') == null
+ ? null
+ : safeDecode(getAttribute(element, 'if')),
+ },
+ resolution,
+ });
+ }
+
+ questionRecords.push({
+ index: questionIndex,
+ id: questionId,
+ exactId: exactQuestionId(question, questionId),
+ domId: optionalString(getAttribute(form, 'id')),
+ kind: questionKind(questionId, grid),
+ async: asyncIds.has(exactQuestionId(question, questionId)),
+ loopIteration: loopSuffix
+ ? { iteration: Number(loopSuffix[1]), copy: Number(loopSuffix[2]) }
+ : null,
+ controls: groupControls(controls),
+ controlCount: controls.length,
+ responseControlCount: controls.filter(isResponseControl).length,
+ conditionSiteCount: formConditions.length,
+ explicitTransitionCount: transitions.length - transitionStart,
+ });
+ }
+
+ const unresolvedByTarget = new Map();
+ transitions.forEach((transition, transitionIndex) => {
+ if (transition.resolution.resolved) return;
+ const unresolved = unresolvedByTarget.get(transition.to) ?? {
+ target: transition.to,
+ transitionIndexes: [],
+ fromQuestionIds: [],
+ };
+ unresolved.transitionIndexes.push(transitionIndex);
+ if (!unresolved.fromQuestionIds.includes(transition.from)) {
+ unresolved.fromQuestionIds.push(transition.from);
+ }
+ unresolvedByTarget.set(transition.to, unresolved);
+ });
+
+ const loopContinuationQuestionIds = questionRecords
+ .filter(({ id }) => id.startsWith('_CONTINUE'))
+ .map(({ id }) => id);
+ const loopSentinelIndexes = questionRecords
+ .filter(({ id }) => id === 'END_OF_LOOP')
+ .map(({ index }) => index);
+ const loopDefinitions = buildLoopDefinitions(loops, questionRecords);
+
+ return {
+ schemaVersion: STRUCTURAL_CATALOG_SCHEMA_VERSION,
+ module: record.module ?? null,
+ locale: record.locale ?? record.language ?? null,
+ language: record.language ?? record.locale ?? null,
+ path: record.path ?? null,
+ questName: record.questName ?? null,
+ version: record.version ?? null,
+ authoredMarkerCount: Number.isInteger(record.sourceQuestionCount) ? record.sourceQuestionCount : null,
+ processedQuestionIds: questionRecords.map(({ id }) => id),
+ questionRecords,
+ transitions,
+ conditionSites,
+ grids,
+ loops: {
+ definitions: loopDefinitions,
+ starts: loops,
+ continuationQuestionIds: loopContinuationQuestionIds,
+ sentinelIndexes: loopSentinelIndexes,
+ loopExpandedQuestionCount: questionRecords.filter(({ loopIteration }) => loopIteration !== null).length,
+ },
+ unresolvedTargets: [...unresolvedByTarget.values()],
+ counts: {
+ authoredMarkerCount: Number.isInteger(record.sourceQuestionCount) ? record.sourceQuestionCount : null,
+ processorQuestionCount: questions.length,
+ processedQuestionCount: processor?.processedQuestions?.size ?? questionRecords.filter(({ domId }) => domId !== null).length,
+ renderedFormCount: renderedForms.length,
+ controlCount,
+ responseControlCount,
+ explicitTransitionCount: transitions.length,
+ sequentialAdjacencyCount: Math.max(questions.length - 1, 0),
+ resolvedExplicitTransitionCount: transitions.filter(({ resolution }) => resolution.resolved).length,
+ unresolvedExplicitTransitionCount: transitions.filter(({ resolution }) => !resolution.resolved).length,
+ conditionSiteCount: conditionSites.length,
+ gridQuestionCount: grids.length,
+ gridRowCount: grids.reduce((count, grid) => count + grid.rowCount, 0),
+ loopStartCount: loops.length,
+ loopDefinitionCount: loopDefinitions.length,
+ loopExpandedQuestionCount: questionRecords.filter(({ loopIteration }) => loopIteration !== null).length,
+ },
+ };
+}
diff --git a/tests/corpus/scripts/verifyCorpus.mjs b/tests/corpus/scripts/verifyCorpus.mjs
new file mode 100644
index 0000000..5c3b8e4
--- /dev/null
+++ b/tests/corpus/scripts/verifyCorpus.mjs
@@ -0,0 +1,32 @@
+import path from 'node:path';
+
+import { DEFAULT_LOCK_PATH } from './lib/artifacts.mjs';
+import { corpusCacheDirectory, loadCorpusLock, verifyCorpus } from './lib/corpus.mjs';
+
+function parseArguments(argv) {
+ const options = { lockPath: DEFAULT_LOCK_PATH, cacheRoot: null };
+ for (let index = 0; index < argv.length; index += 1) {
+ const argument = argv[index];
+ if (argument === '--lock') options.lockPath = path.resolve(argv[++index]);
+ else if (argument === '--cache-root') options.cacheRoot = path.resolve(argv[++index]);
+ else throw new Error(`Unknown argument: ${argument}`);
+ }
+ return options;
+}
+
+async function main() {
+ const options = parseArguments(process.argv.slice(2));
+ const lock = await loadCorpusLock(options.lockPath);
+ const cacheDir = corpusCacheDirectory(lock, options.cacheRoot);
+ const summary = await verifyCorpus({ lock, cacheDir });
+
+ console.log(`Verified questionnaire corpus at ${summary.commit}:`);
+ console.log(`- ${summary.files} prod files (${summary.localeCounts.en} en, ${summary.localeCounts.es} es)`);
+ console.log(`- ${summary.modules} logical modules`);
+ console.log(`- ${summary.sourceQuestionCount} authored question markers`);
+}
+
+main().catch((error) => {
+ console.error(error.message);
+ process.exitCode = 1;
+});
diff --git a/tests/corpus/structuralCatalog.json b/tests/corpus/structuralCatalog.json
new file mode 100644
index 0000000..2fc6800
--- /dev/null
+++ b/tests/corpus/structuralCatalog.json
@@ -0,0 +1,28520 @@
+{
+ "schemaVersion": 1,
+ "corpus": {
+ "repository": "episphere/questionnaire",
+ "commit": "7ae99a22af325cf0e14be047a7636462db9bfd50",
+ "environment": "prod",
+ "fileCount": 29,
+ "moduleCount": 15
+ },
+ "oracle": {
+ "boundary": "transform.render with isRenderer=true and activate=false",
+ "hostPersona": "external-branch-primary",
+ "fixedDate": "2024-07-15T12:00:00.000Z",
+ "sequentialAdjacency": "Adjacent runtimeQuestionIds; path feasibility is intentionally not inferred."
+ },
+ "counts": {
+ "authoredMarkerCount": 3568,
+ "processorQuestionCount": 8302,
+ "processedQuestionCount": 8302,
+ "renderedFormCount": 8302,
+ "controlCount": 53169,
+ "responseControlCount": 27160,
+ "explicitTransitionCount": 7586,
+ "sequentialAdjacencyCount": 8273,
+ "resolvedExplicitTransitionCount": 7586,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 21447,
+ "gridQuestionCount": 38,
+ "gridRowCount": 252,
+ "loopStartCount": 250,
+ "loopDefinitionCount": 10,
+ "loopExpandedQuestionCount": 5100,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "modules": [
+ {
+ "module": "module1",
+ "counts": {
+ "authoredMarkerCount": 631,
+ "processorQuestionCount": 3996,
+ "processedQuestionCount": 3996,
+ "renderedFormCount": 3996,
+ "controlCount": 23386,
+ "responseControlCount": 11220,
+ "explicitTransitionCount": 3716,
+ "sequentialAdjacencyCount": 3994,
+ "resolvedExplicitTransitionCount": 3716,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 11698,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 100,
+ "loopDefinitionCount": 4,
+ "loopExpandedQuestionCount": 3500,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module1.txt",
+ "authoredMarkerCount": 316,
+ "processorQuestionCount": 1998,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 2,
+ "explicitTransitionCount": 1885,
+ "conditionSiteCount": 5903,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module1Spanish.txt",
+ "authoredMarkerCount": 315,
+ "processorQuestionCount": 1998,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 2,
+ "explicitTransitionCount": 1831,
+ "conditionSiteCount": 5795,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "module2",
+ "counts": {
+ "authoredMarkerCount": 719,
+ "processorQuestionCount": 1108,
+ "processedQuestionCount": 1108,
+ "renderedFormCount": 1108,
+ "controlCount": 6926,
+ "responseControlCount": 3200,
+ "explicitTransitionCount": 1150,
+ "sequentialAdjacencyCount": 1106,
+ "resolvedExplicitTransitionCount": 1150,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 2769,
+ "gridQuestionCount": 12,
+ "gridRowCount": 68,
+ "loopStartCount": 50,
+ "loopDefinitionCount": 2,
+ "loopExpandedQuestionCount": 450,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module2.txt",
+ "authoredMarkerCount": 359,
+ "processorQuestionCount": 554,
+ "gridQuestionCount": 6,
+ "loopDefinitionCount": 1,
+ "explicitTransitionCount": 558,
+ "conditionSiteCount": 1367,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module2Spanish.txt",
+ "authoredMarkerCount": 360,
+ "processorQuestionCount": 554,
+ "gridQuestionCount": 6,
+ "loopDefinitionCount": 1,
+ "explicitTransitionCount": 592,
+ "conditionSiteCount": 1402,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "module2024ConnectExperience",
+ "counts": {
+ "authoredMarkerCount": 86,
+ "processorQuestionCount": 86,
+ "processedQuestionCount": 86,
+ "renderedFormCount": 86,
+ "controlCount": 548,
+ "responseControlCount": 294,
+ "explicitTransitionCount": 32,
+ "sequentialAdjacencyCount": 84,
+ "resolvedExplicitTransitionCount": 32,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 56,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module2024ConnectExperience.txt",
+ "authoredMarkerCount": 43,
+ "processorQuestionCount": 43,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 16,
+ "conditionSiteCount": 28,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module2024ConnectExperienceSpanish.txt",
+ "authoredMarkerCount": 43,
+ "processorQuestionCount": 43,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 16,
+ "conditionSiteCount": 28,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "module2026ROIPreferences",
+ "counts": {
+ "authoredMarkerCount": 32,
+ "processorQuestionCount": 32,
+ "processedQuestionCount": 32,
+ "renderedFormCount": 32,
+ "controlCount": 235,
+ "responseControlCount": 158,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 30,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module2026ROIPreferences.txt",
+ "authoredMarkerCount": 16,
+ "processorQuestionCount": 16,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module2026ROIPreferencesSpanish.txt",
+ "authoredMarkerCount": 16,
+ "processorQuestionCount": 16,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "module3",
+ "counts": {
+ "authoredMarkerCount": 628,
+ "processorQuestionCount": 610,
+ "processedQuestionCount": 610,
+ "renderedFormCount": 610,
+ "controlCount": 4034,
+ "responseControlCount": 2094,
+ "explicitTransitionCount": 508,
+ "sequentialAdjacencyCount": 608,
+ "resolvedExplicitTransitionCount": 508,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1705,
+ "gridQuestionCount": 8,
+ "gridRowCount": 56,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module3.txt",
+ "authoredMarkerCount": 314,
+ "processorQuestionCount": 305,
+ "gridQuestionCount": 4,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 254,
+ "conditionSiteCount": 853,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module3Spanish.txt",
+ "authoredMarkerCount": 314,
+ "processorQuestionCount": 305,
+ "gridQuestionCount": 4,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 254,
+ "conditionSiteCount": 852,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "module4",
+ "counts": {
+ "authoredMarkerCount": 734,
+ "processorQuestionCount": 734,
+ "processedQuestionCount": 734,
+ "renderedFormCount": 734,
+ "controlCount": 5635,
+ "responseControlCount": 3354,
+ "explicitTransitionCount": 518,
+ "sequentialAdjacencyCount": 732,
+ "resolvedExplicitTransitionCount": 518,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 2696,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/module4.txt",
+ "authoredMarkerCount": 367,
+ "processorQuestionCount": 367,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 259,
+ "conditionSiteCount": 1349,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/module4Spanish.txt",
+ "authoredMarkerCount": 367,
+ "processorQuestionCount": 367,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 259,
+ "conditionSiteCount": 1347,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleBiospecimen",
+ "counts": {
+ "authoredMarkerCount": 105,
+ "processorQuestionCount": 101,
+ "processedQuestionCount": 101,
+ "renderedFormCount": 101,
+ "controlCount": 702,
+ "responseControlCount": 406,
+ "explicitTransitionCount": 50,
+ "sequentialAdjacencyCount": 99,
+ "resolvedExplicitTransitionCount": 50,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 54,
+ "gridQuestionCount": 2,
+ "gridRowCount": 6,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleBiospecimen.txt",
+ "authoredMarkerCount": 52,
+ "processorQuestionCount": 50,
+ "gridQuestionCount": 1,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 25,
+ "conditionSiteCount": 27,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleBiospecimenSpanish.txt",
+ "authoredMarkerCount": 53,
+ "processorQuestionCount": 51,
+ "gridQuestionCount": 1,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 25,
+ "conditionSiteCount": 27,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleCancerScreeningHistory",
+ "counts": {
+ "authoredMarkerCount": 288,
+ "processorQuestionCount": 288,
+ "processedQuestionCount": 288,
+ "renderedFormCount": 288,
+ "controlCount": 2316,
+ "responseControlCount": 1362,
+ "explicitTransitionCount": 474,
+ "sequentialAdjacencyCount": 286,
+ "resolvedExplicitTransitionCount": 474,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 213,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleCancerScreeningHistory.txt",
+ "authoredMarkerCount": 144,
+ "processorQuestionCount": 144,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 237,
+ "conditionSiteCount": 107,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleCancerScreeningHistorySpanish.txt",
+ "authoredMarkerCount": 144,
+ "processorQuestionCount": 144,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 237,
+ "conditionSiteCount": 106,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleClinicalBloodUrine",
+ "counts": {
+ "authoredMarkerCount": 42,
+ "processorQuestionCount": 38,
+ "processedQuestionCount": 38,
+ "renderedFormCount": 38,
+ "controlCount": 198,
+ "responseControlCount": 92,
+ "explicitTransitionCount": 10,
+ "sequentialAdjacencyCount": 36,
+ "resolvedExplicitTransitionCount": 10,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 20,
+ "gridQuestionCount": 2,
+ "gridRowCount": 6,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleClinicalBloodUrine.txt",
+ "authoredMarkerCount": 21,
+ "processorQuestionCount": 19,
+ "gridQuestionCount": 1,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 5,
+ "conditionSiteCount": 10,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleClinicalBloodUrineSpanish.txt",
+ "authoredMarkerCount": 21,
+ "processorQuestionCount": 19,
+ "gridQuestionCount": 1,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 5,
+ "conditionSiteCount": 10,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleCOVID19",
+ "counts": {
+ "authoredMarkerCount": 194,
+ "processorQuestionCount": 1200,
+ "processedQuestionCount": 1200,
+ "renderedFormCount": 1200,
+ "controlCount": 7844,
+ "responseControlCount": 3940,
+ "explicitTransitionCount": 1080,
+ "sequentialAdjacencyCount": 1198,
+ "resolvedExplicitTransitionCount": 1080,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 2194,
+ "gridQuestionCount": 14,
+ "gridRowCount": 116,
+ "loopStartCount": 100,
+ "loopDefinitionCount": 4,
+ "loopExpandedQuestionCount": 1150,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleCOVID19.txt",
+ "authoredMarkerCount": 97,
+ "processorQuestionCount": 600,
+ "gridQuestionCount": 7,
+ "loopDefinitionCount": 2,
+ "explicitTransitionCount": 540,
+ "conditionSiteCount": 1097,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleCOVID19Spanish.txt",
+ "authoredMarkerCount": 97,
+ "processorQuestionCount": 600,
+ "gridQuestionCount": 7,
+ "loopDefinitionCount": 2,
+ "explicitTransitionCount": 540,
+ "conditionSiteCount": 1097,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleDietScreener",
+ "counts": {
+ "authoredMarkerCount": 6,
+ "processorQuestionCount": 6,
+ "processedQuestionCount": 6,
+ "renderedFormCount": 6,
+ "controlCount": 326,
+ "responseControlCount": 314,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 4,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleDietScreener",
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleDietScreenerSpanish.txt",
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleMenstrual",
+ "counts": {
+ "authoredMarkerCount": 10,
+ "processorQuestionCount": 10,
+ "processedQuestionCount": 10,
+ "renderedFormCount": 10,
+ "controlCount": 28,
+ "responseControlCount": 6,
+ "explicitTransitionCount": 2,
+ "sequentialAdjacencyCount": 8,
+ "resolvedExplicitTransitionCount": 2,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 4,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleMenstrual.txt",
+ "authoredMarkerCount": 5,
+ "processorQuestionCount": 5,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 1,
+ "conditionSiteCount": 2,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleMenstrualSpanish.txt",
+ "authoredMarkerCount": 5,
+ "processorQuestionCount": 5,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 1,
+ "conditionSiteCount": 2,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleMouthwash",
+ "counts": {
+ "authoredMarkerCount": 68,
+ "processorQuestionCount": 68,
+ "processedQuestionCount": 68,
+ "renderedFormCount": 68,
+ "controlCount": 518,
+ "responseControlCount": 318,
+ "explicitTransitionCount": 44,
+ "sequentialAdjacencyCount": 66,
+ "resolvedExplicitTransitionCount": 44,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 38,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleMouthwash.txt",
+ "authoredMarkerCount": 34,
+ "processorQuestionCount": 34,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 22,
+ "conditionSiteCount": 19,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleMouthwashSpanish.txt",
+ "authoredMarkerCount": 34,
+ "processorQuestionCount": 34,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 22,
+ "conditionSiteCount": 19,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "moduleQoL",
+ "counts": {
+ "authoredMarkerCount": 22,
+ "processorQuestionCount": 22,
+ "processedQuestionCount": 22,
+ "renderedFormCount": 22,
+ "controlCount": 462,
+ "responseControlCount": 400,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 20,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/moduleQoL.txt",
+ "authoredMarkerCount": 11,
+ "processorQuestionCount": 11,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ },
+ {
+ "locale": "es",
+ "path": "prod/moduleQoLSpanish.txt",
+ "authoredMarkerCount": 11,
+ "processorQuestionCount": 11,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ },
+ {
+ "module": "ssnModule",
+ "counts": {
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "processedQuestionCount": 3,
+ "renderedFormCount": 3,
+ "controlCount": 11,
+ "responseControlCount": 2,
+ "explicitTransitionCount": 2,
+ "sequentialAdjacencyCount": 2,
+ "resolvedExplicitTransitionCount": 2,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0
+ },
+ "surveys": [
+ {
+ "locale": "en",
+ "path": "prod/ssnModule.txt",
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "gridQuestionCount": 0,
+ "loopDefinitionCount": 0,
+ "explicitTransitionCount": 2,
+ "conditionSiteCount": 0,
+ "unresolvedExplicitTransitionCount": 0
+ }
+ ]
+ }
+ ],
+ "surveys": [
+ {
+ "schemaVersion": 1,
+ "module": "module1",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module1.txt",
+ "sha256": "c36e2ceb44808d43538d04f43c336085ec73c05614ad5791fbb6e58582b8e107",
+ "questName": "D_726699695_V2",
+ "version": "4.0",
+ "authoredMarkerCount": 316,
+ "runtimeQuestionIds": [
+ "INTROM1",
+ "INTROBAC",
+ "SECTION1",
+ "D_783167257?",
+ "RACEETHINTRO",
+ "D_384191091?",
+ "D_362270886?",
+ "D_525535977?",
+ "D_976808005?",
+ "D_308014437?",
+ "D_351657815?",
+ "D_115616118?",
+ "D_797626610?",
+ "D_588212264?",
+ "D_407056417?",
+ "D_750420077!",
+ "INTROMH",
+ "D_537153788?",
+ "D_508846529?",
+ "D_904550680?",
+ "D_167101091?",
+ "D_965917116?",
+ "D_929240175?",
+ "D_836712013?",
+ "D_836890480?",
+ "D_624479779?",
+ "D_337278854?",
+ "D_681229479?",
+ "D_660358706?",
+ "D_884793537?",
+ "D_460062034?",
+ "D_110652436?",
+ "D_894259747?",
+ "D_448722126?",
+ "D_201449164?",
+ "D_436333358?",
+ "D_180961306?",
+ "D_554782332?",
+ "D_409622468?",
+ "D_448476881?",
+ "D_459764934?",
+ "D_374697037?",
+ "D_580911251?",
+ "D_190347832?",
+ "D_624777141?",
+ "D_980403315?",
+ "D_936039586?",
+ "D_430472084?",
+ "D_900541533?",
+ "D_139655599?",
+ "D_494032093?",
+ "D_301679110?",
+ "D_810918716?",
+ "D_874046190?",
+ "D_989016875?",
+ "D_878094302?",
+ "D_543728565?",
+ "D_173101988?",
+ "D_245861186?",
+ "D_420423416?",
+ "INTROSTD",
+ "D_874709643?",
+ "D_915230886?",
+ "D_530548878?",
+ "D_469947273?",
+ "D_685735916?",
+ "D_954405492?",
+ "D_103397024?",
+ "D_931470797?",
+ "D_922524563?",
+ "D_978485677?",
+ "D_523188839?",
+ "D_725626004?",
+ "D_846786840?",
+ "D_423547108?",
+ "D_266847650?",
+ "D_852898339?",
+ "D_467061940?",
+ "D_619481697?",
+ "D_134642404?",
+ "D_219956652?",
+ "D_852236900?",
+ "DEPRESSINTRO",
+ "D_347860896?",
+ "D_301414575?",
+ "INTROSURG",
+ "D_624179836?",
+ "D_367884741?",
+ "D_178353079?",
+ "D_550075233?",
+ "D_927516732?",
+ "D_552788665?",
+ "D_439736294?",
+ "D_216506024?",
+ "D_860920332?",
+ "D_986613440?",
+ "D_517307064?",
+ "D_477690298?",
+ "D_176453768?",
+ "D_145786416?",
+ "D_287605131?",
+ "D_701157499?",
+ "D_428639167?",
+ "D_282355641?",
+ "D_539301647?",
+ "D_579225381?",
+ "D_891214661?",
+ "D_150352141?",
+ "D_122887481?",
+ "D_378892977?",
+ "D_534007917?",
+ "D_224791140?",
+ "D_752636038?",
+ "D_518750011?",
+ "D_946504570?",
+ "D_275770221?",
+ "D_107060069?",
+ "D_882152987?",
+ "D_527057404?",
+ "D_453252072?",
+ "D_795940097?",
+ "D_406011084?",
+ "D_593017220?",
+ "D_875208305?",
+ "D_323512813?",
+ "D_338924834?",
+ "D_952682839?",
+ "D_746012894?",
+ "D_114314839?",
+ "D_677262300?",
+ "D_650399623?",
+ "D_820324171?",
+ "D_724181652?",
+ "D_912857732?",
+ "D_808806810?",
+ "D_207025341?",
+ "D_803129396?",
+ "D_827393644?",
+ "D_183572295?",
+ "D_630675760?",
+ "D_837402132?",
+ "D_431628922?",
+ "D_848580651?",
+ "D_207494582?",
+ "D_936904328?",
+ "D_365851428?",
+ "D_206319592?",
+ "D_769668224?",
+ "D_814664694?",
+ "D_109544008?",
+ "D_186831207?",
+ "D_283634623?",
+ "D_164752169?",
+ "D_512167179?",
+ "D_509933065?",
+ "D_967093163?",
+ "FAMHISTINTRO",
+ "D_535621923?",
+ "D_992987417?",
+ "MOM",
+ "D_170440011?",
+ "D_354326265?",
+ "D_422714611?",
+ "D_276353712?",
+ "D_814510313?",
+ "D_259397450?",
+ "D_528753070?",
+ "D_683981980?",
+ "D_402548942?",
+ "D_247198016?",
+ "D_891925519?",
+ "D_317093647?",
+ "D_684692228?",
+ "D_671347092?",
+ "D_875221479?",
+ "D_186170949?",
+ "D_726451917?",
+ "D_213545903?",
+ "D_765903702?",
+ "D_773974223?",
+ "D_433604862?",
+ "D_521369040?",
+ "D_497311092?",
+ "D_625249910?",
+ "D_838564850?",
+ "D_633764113?",
+ "D_882263738?",
+ "D_671308090?",
+ "D_367374606?",
+ "D_178774803?",
+ "D_628078826?",
+ "D_659784914?",
+ "D_173240848?",
+ "D_345146692?",
+ "D_243443318?",
+ "D_610382315?",
+ "D_135519371?",
+ "D_785019074?",
+ "D_152885579?",
+ "D_692910565?",
+ "D_522464057?",
+ "D_808655074?",
+ "D_659627058?",
+ "D_370198527?",
+ "D_291855684?",
+ "D_413536735?",
+ "D_210325948?",
+ "D_193297280?",
+ "D_121502359?",
+ "D_489402657?",
+ "D_727260639?",
+ "D_359291056?",
+ "D_968841976?",
+ "D_864981804?",
+ "D_499434567?",
+ "SIB",
+ "D_694265648!",
+ "SIBCONFIRM",
+ "D_406098499_1_1?",
+ "D_579563781_1_1?",
+ "D_807431780_1_1?",
+ "D_589588769_1_1?",
+ "D_890637099_1_1?",
+ "D_869387390_1_1?",
+ "D_537137982_1_1?",
+ "D_607773106_1_1?",
+ "D_578895128_1_1?",
+ "D_384881609_1_1?",
+ "D_483975329_1_1?",
+ "D_570279754_1_1?",
+ "D_907590067_1_1?",
+ "D_860112841_1_1?",
+ "D_158354252_1_1?",
+ "D_654594205_1_1?",
+ "D_550722030_1_1?",
+ "D_142912472_1_1?",
+ "D_158409298_1_1?",
+ "D_529744595_1_1?",
+ "D_315987564_1_1?",
+ "D_852278004_1_1?",
+ "D_391972881_1_1?",
+ "D_259089008_1_1?",
+ "D_209771602_1_1?",
+ "D_682651189_1_1?",
+ "D_750994269_1_1?",
+ "D_700889863_1_1?",
+ "D_990114799_1_1?",
+ "D_195363361_1_1?",
+ "D_216840563_1_1?",
+ "D_514034680_1_1?",
+ "D_247160067_1_1?",
+ "D_312545873_1_1?",
+ "SIBSUM_1_1",
+ "D_406098499_2_2?",
+ "D_579563781_2_2?",
+ "D_807431780_2_2?",
+ "D_589588769_2_2?",
+ "D_890637099_2_2?",
+ "D_869387390_2_2?",
+ "D_537137982_2_2?",
+ "D_607773106_2_2?",
+ "D_578895128_2_2?",
+ "D_384881609_2_2?",
+ "D_483975329_2_2?",
+ "D_570279754_2_2?",
+ "D_907590067_2_2?",
+ "D_860112841_2_2?",
+ "D_158354252_2_2?",
+ "D_654594205_2_2?",
+ "D_550722030_2_2?",
+ "D_142912472_2_2?",
+ "D_158409298_2_2?",
+ "D_529744595_2_2?",
+ "D_315987564_2_2?",
+ "D_852278004_2_2?",
+ "D_391972881_2_2?",
+ "D_259089008_2_2?",
+ "D_209771602_2_2?",
+ "D_682651189_2_2?",
+ "D_750994269_2_2?",
+ "D_700889863_2_2?",
+ "D_990114799_2_2?",
+ "D_195363361_2_2?",
+ "D_216840563_2_2?",
+ "D_514034680_2_2?",
+ "D_247160067_2_2?",
+ "D_312545873_2_2?",
+ "SIBSUM_2_2",
+ "D_406098499_3_3?",
+ "D_579563781_3_3?",
+ "D_807431780_3_3?",
+ "D_589588769_3_3?",
+ "D_890637099_3_3?",
+ "D_869387390_3_3?",
+ "D_537137982_3_3?",
+ "D_607773106_3_3?",
+ "D_578895128_3_3?",
+ "D_384881609_3_3?",
+ "D_483975329_3_3?",
+ "D_570279754_3_3?",
+ "D_907590067_3_3?",
+ "D_860112841_3_3?",
+ "D_158354252_3_3?",
+ "D_654594205_3_3?",
+ "D_550722030_3_3?",
+ "D_142912472_3_3?",
+ "D_158409298_3_3?",
+ "D_529744595_3_3?",
+ "D_315987564_3_3?",
+ "D_852278004_3_3?",
+ "D_391972881_3_3?",
+ "D_259089008_3_3?",
+ "D_209771602_3_3?",
+ "D_682651189_3_3?",
+ "D_750994269_3_3?",
+ "D_700889863_3_3?",
+ "D_990114799_3_3?",
+ "D_195363361_3_3?",
+ "D_216840563_3_3?",
+ "D_514034680_3_3?",
+ "D_247160067_3_3?",
+ "D_312545873_3_3?",
+ "SIBSUM_3_3",
+ "D_406098499_4_4?",
+ "D_579563781_4_4?",
+ "D_807431780_4_4?",
+ "D_589588769_4_4?",
+ "D_890637099_4_4?",
+ "D_869387390_4_4?",
+ "D_537137982_4_4?",
+ "D_607773106_4_4?",
+ "D_578895128_4_4?",
+ "D_384881609_4_4?",
+ "D_483975329_4_4?",
+ "D_570279754_4_4?",
+ "D_907590067_4_4?",
+ "D_860112841_4_4?",
+ "D_158354252_4_4?",
+ "D_654594205_4_4?",
+ "D_550722030_4_4?",
+ "D_142912472_4_4?",
+ "D_158409298_4_4?",
+ "D_529744595_4_4?",
+ "D_315987564_4_4?",
+ "D_852278004_4_4?",
+ "D_391972881_4_4?",
+ "D_259089008_4_4?",
+ "D_209771602_4_4?",
+ "D_682651189_4_4?",
+ "D_750994269_4_4?",
+ "D_700889863_4_4?",
+ "D_990114799_4_4?",
+ "D_195363361_4_4?",
+ "D_216840563_4_4?",
+ "D_514034680_4_4?",
+ "D_247160067_4_4?",
+ "D_312545873_4_4?",
+ "SIBSUM_4_4",
+ "D_406098499_5_5?",
+ "D_579563781_5_5?",
+ "D_807431780_5_5?",
+ "D_589588769_5_5?",
+ "D_890637099_5_5?",
+ "D_869387390_5_5?",
+ "D_537137982_5_5?",
+ "D_607773106_5_5?",
+ "D_578895128_5_5?",
+ "D_384881609_5_5?",
+ "D_483975329_5_5?",
+ "D_570279754_5_5?",
+ "D_907590067_5_5?",
+ "D_860112841_5_5?",
+ "D_158354252_5_5?",
+ "D_654594205_5_5?",
+ "D_550722030_5_5?",
+ "D_142912472_5_5?",
+ "D_158409298_5_5?",
+ "D_529744595_5_5?",
+ "D_315987564_5_5?",
+ "D_852278004_5_5?",
+ "D_391972881_5_5?",
+ "D_259089008_5_5?",
+ "D_209771602_5_5?",
+ "D_682651189_5_5?",
+ "D_750994269_5_5?",
+ "D_700889863_5_5?",
+ "D_990114799_5_5?",
+ "D_195363361_5_5?",
+ "D_216840563_5_5?",
+ "D_514034680_5_5?",
+ "D_247160067_5_5?",
+ "D_312545873_5_5?",
+ "SIBSUM_5_5",
+ "D_406098499_6_6?",
+ "D_579563781_6_6?",
+ "D_807431780_6_6?",
+ "D_589588769_6_6?",
+ "D_890637099_6_6?",
+ "D_869387390_6_6?",
+ "D_537137982_6_6?",
+ "D_607773106_6_6?",
+ "D_578895128_6_6?",
+ "D_384881609_6_6?",
+ "D_483975329_6_6?",
+ "D_570279754_6_6?",
+ "D_907590067_6_6?",
+ "D_860112841_6_6?",
+ "D_158354252_6_6?",
+ "D_654594205_6_6?",
+ "D_550722030_6_6?",
+ "D_142912472_6_6?",
+ "D_158409298_6_6?",
+ "D_529744595_6_6?",
+ "D_315987564_6_6?",
+ "D_852278004_6_6?",
+ "D_391972881_6_6?",
+ "D_259089008_6_6?",
+ "D_209771602_6_6?",
+ "D_682651189_6_6?",
+ "D_750994269_6_6?",
+ "D_700889863_6_6?",
+ "D_990114799_6_6?",
+ "D_195363361_6_6?",
+ "D_216840563_6_6?",
+ "D_514034680_6_6?",
+ "D_247160067_6_6?",
+ "D_312545873_6_6?",
+ "SIBSUM_6_6",
+ "D_406098499_7_7?",
+ "D_579563781_7_7?",
+ "D_807431780_7_7?",
+ "D_589588769_7_7?",
+ "D_890637099_7_7?",
+ "D_869387390_7_7?",
+ "D_537137982_7_7?",
+ "D_607773106_7_7?",
+ "D_578895128_7_7?",
+ "D_384881609_7_7?",
+ "D_483975329_7_7?",
+ "D_570279754_7_7?",
+ "D_907590067_7_7?",
+ "D_860112841_7_7?",
+ "D_158354252_7_7?",
+ "D_654594205_7_7?",
+ "D_550722030_7_7?",
+ "D_142912472_7_7?",
+ "D_158409298_7_7?",
+ "D_529744595_7_7?",
+ "D_315987564_7_7?",
+ "D_852278004_7_7?",
+ "D_391972881_7_7?",
+ "D_259089008_7_7?",
+ "D_209771602_7_7?",
+ "D_682651189_7_7?",
+ "D_750994269_7_7?",
+ "D_700889863_7_7?",
+ "D_990114799_7_7?",
+ "D_195363361_7_7?",
+ "D_216840563_7_7?",
+ "D_514034680_7_7?",
+ "D_247160067_7_7?",
+ "D_312545873_7_7?",
+ "SIBSUM_7_7",
+ "D_406098499_8_8?",
+ "D_579563781_8_8?",
+ "D_807431780_8_8?",
+ "D_589588769_8_8?",
+ "D_890637099_8_8?",
+ "D_869387390_8_8?",
+ "D_537137982_8_8?",
+ "D_607773106_8_8?",
+ "D_578895128_8_8?",
+ "D_384881609_8_8?",
+ "D_483975329_8_8?",
+ "D_570279754_8_8?",
+ "D_907590067_8_8?",
+ "D_860112841_8_8?",
+ "D_158354252_8_8?",
+ "D_654594205_8_8?",
+ "D_550722030_8_8?",
+ "D_142912472_8_8?",
+ "D_158409298_8_8?",
+ "D_529744595_8_8?",
+ "D_315987564_8_8?",
+ "D_852278004_8_8?",
+ "D_391972881_8_8?",
+ "D_259089008_8_8?",
+ "D_209771602_8_8?",
+ "D_682651189_8_8?",
+ "D_750994269_8_8?",
+ "D_700889863_8_8?",
+ "D_990114799_8_8?",
+ "D_195363361_8_8?",
+ "D_216840563_8_8?",
+ "D_514034680_8_8?",
+ "D_247160067_8_8?",
+ "D_312545873_8_8?",
+ "SIBSUM_8_8",
+ "D_406098499_9_9?",
+ "D_579563781_9_9?",
+ "D_807431780_9_9?",
+ "D_589588769_9_9?",
+ "D_890637099_9_9?",
+ "D_869387390_9_9?",
+ "D_537137982_9_9?",
+ "D_607773106_9_9?",
+ "D_578895128_9_9?",
+ "D_384881609_9_9?",
+ "D_483975329_9_9?",
+ "D_570279754_9_9?",
+ "D_907590067_9_9?",
+ "D_860112841_9_9?",
+ "D_158354252_9_9?",
+ "D_654594205_9_9?",
+ "D_550722030_9_9?",
+ "D_142912472_9_9?",
+ "D_158409298_9_9?",
+ "D_529744595_9_9?",
+ "D_315987564_9_9?",
+ "D_852278004_9_9?",
+ "D_391972881_9_9?",
+ "D_259089008_9_9?",
+ "D_209771602_9_9?",
+ "D_682651189_9_9?",
+ "D_750994269_9_9?",
+ "D_700889863_9_9?",
+ "D_990114799_9_9?",
+ "D_195363361_9_9?",
+ "D_216840563_9_9?",
+ "D_514034680_9_9?",
+ "D_247160067_9_9?",
+ "D_312545873_9_9?",
+ "SIBSUM_9_9",
+ "D_406098499_10_10?",
+ "D_579563781_10_10?",
+ "D_807431780_10_10?",
+ "D_589588769_10_10?",
+ "D_890637099_10_10?",
+ "D_869387390_10_10?",
+ "D_537137982_10_10?",
+ "D_607773106_10_10?",
+ "D_578895128_10_10?",
+ "D_384881609_10_10?",
+ "D_483975329_10_10?",
+ "D_570279754_10_10?",
+ "D_907590067_10_10?",
+ "D_860112841_10_10?",
+ "D_158354252_10_10?",
+ "D_654594205_10_10?",
+ "D_550722030_10_10?",
+ "D_142912472_10_10?",
+ "D_158409298_10_10?",
+ "D_529744595_10_10?",
+ "D_315987564_10_10?",
+ "D_852278004_10_10?",
+ "D_391972881_10_10?",
+ "D_259089008_10_10?",
+ "D_209771602_10_10?",
+ "D_682651189_10_10?",
+ "D_750994269_10_10?",
+ "D_700889863_10_10?",
+ "D_990114799_10_10?",
+ "D_195363361_10_10?",
+ "D_216840563_10_10?",
+ "D_514034680_10_10?",
+ "D_247160067_10_10?",
+ "D_312545873_10_10?",
+ "SIBSUM_10_10",
+ "D_406098499_11_11?",
+ "D_579563781_11_11?",
+ "D_807431780_11_11?",
+ "D_589588769_11_11?",
+ "D_890637099_11_11?",
+ "D_869387390_11_11?",
+ "D_537137982_11_11?",
+ "D_607773106_11_11?",
+ "D_578895128_11_11?",
+ "D_384881609_11_11?",
+ "D_483975329_11_11?",
+ "D_570279754_11_11?",
+ "D_907590067_11_11?",
+ "D_860112841_11_11?",
+ "D_158354252_11_11?",
+ "D_654594205_11_11?",
+ "D_550722030_11_11?",
+ "D_142912472_11_11?",
+ "D_158409298_11_11?",
+ "D_529744595_11_11?",
+ "D_315987564_11_11?",
+ "D_852278004_11_11?",
+ "D_391972881_11_11?",
+ "D_259089008_11_11?",
+ "D_209771602_11_11?",
+ "D_682651189_11_11?",
+ "D_750994269_11_11?",
+ "D_700889863_11_11?",
+ "D_990114799_11_11?",
+ "D_195363361_11_11?",
+ "D_216840563_11_11?",
+ "D_514034680_11_11?",
+ "D_247160067_11_11?",
+ "D_312545873_11_11?",
+ "SIBSUM_11_11",
+ "D_406098499_12_12?",
+ "D_579563781_12_12?",
+ "D_807431780_12_12?",
+ "D_589588769_12_12?",
+ "D_890637099_12_12?",
+ "D_869387390_12_12?",
+ "D_537137982_12_12?",
+ "D_607773106_12_12?",
+ "D_578895128_12_12?",
+ "D_384881609_12_12?",
+ "D_483975329_12_12?",
+ "D_570279754_12_12?",
+ "D_907590067_12_12?",
+ "D_860112841_12_12?",
+ "D_158354252_12_12?",
+ "D_654594205_12_12?",
+ "D_550722030_12_12?",
+ "D_142912472_12_12?",
+ "D_158409298_12_12?",
+ "D_529744595_12_12?",
+ "D_315987564_12_12?",
+ "D_852278004_12_12?",
+ "D_391972881_12_12?",
+ "D_259089008_12_12?",
+ "D_209771602_12_12?",
+ "D_682651189_12_12?",
+ "D_750994269_12_12?",
+ "D_700889863_12_12?",
+ "D_990114799_12_12?",
+ "D_195363361_12_12?",
+ "D_216840563_12_12?",
+ "D_514034680_12_12?",
+ "D_247160067_12_12?",
+ "D_312545873_12_12?",
+ "SIBSUM_12_12",
+ "D_406098499_13_13?",
+ "D_579563781_13_13?",
+ "D_807431780_13_13?",
+ "D_589588769_13_13?",
+ "D_890637099_13_13?",
+ "D_869387390_13_13?",
+ "D_537137982_13_13?",
+ "D_607773106_13_13?",
+ "D_578895128_13_13?",
+ "D_384881609_13_13?",
+ "D_483975329_13_13?",
+ "D_570279754_13_13?",
+ "D_907590067_13_13?",
+ "D_860112841_13_13?",
+ "D_158354252_13_13?",
+ "D_654594205_13_13?",
+ "D_550722030_13_13?",
+ "D_142912472_13_13?",
+ "D_158409298_13_13?",
+ "D_529744595_13_13?",
+ "D_315987564_13_13?",
+ "D_852278004_13_13?",
+ "D_391972881_13_13?",
+ "D_259089008_13_13?",
+ "D_209771602_13_13?",
+ "D_682651189_13_13?",
+ "D_750994269_13_13?",
+ "D_700889863_13_13?",
+ "D_990114799_13_13?",
+ "D_195363361_13_13?",
+ "D_216840563_13_13?",
+ "D_514034680_13_13?",
+ "D_247160067_13_13?",
+ "D_312545873_13_13?",
+ "SIBSUM_13_13",
+ "D_406098499_14_14?",
+ "D_579563781_14_14?",
+ "D_807431780_14_14?",
+ "D_589588769_14_14?",
+ "D_890637099_14_14?",
+ "D_869387390_14_14?",
+ "D_537137982_14_14?",
+ "D_607773106_14_14?",
+ "D_578895128_14_14?",
+ "D_384881609_14_14?",
+ "D_483975329_14_14?",
+ "D_570279754_14_14?",
+ "D_907590067_14_14?",
+ "D_860112841_14_14?",
+ "D_158354252_14_14?",
+ "D_654594205_14_14?",
+ "D_550722030_14_14?",
+ "D_142912472_14_14?",
+ "D_158409298_14_14?",
+ "D_529744595_14_14?",
+ "D_315987564_14_14?",
+ "D_852278004_14_14?",
+ "D_391972881_14_14?",
+ "D_259089008_14_14?",
+ "D_209771602_14_14?",
+ "D_682651189_14_14?",
+ "D_750994269_14_14?",
+ "D_700889863_14_14?",
+ "D_990114799_14_14?",
+ "D_195363361_14_14?",
+ "D_216840563_14_14?",
+ "D_514034680_14_14?",
+ "D_247160067_14_14?",
+ "D_312545873_14_14?",
+ "SIBSUM_14_14",
+ "D_406098499_15_15?",
+ "D_579563781_15_15?",
+ "D_807431780_15_15?",
+ "D_589588769_15_15?",
+ "D_890637099_15_15?",
+ "D_869387390_15_15?",
+ "D_537137982_15_15?",
+ "D_607773106_15_15?",
+ "D_578895128_15_15?",
+ "D_384881609_15_15?",
+ "D_483975329_15_15?",
+ "D_570279754_15_15?",
+ "D_907590067_15_15?",
+ "D_860112841_15_15?",
+ "D_158354252_15_15?",
+ "D_654594205_15_15?",
+ "D_550722030_15_15?",
+ "D_142912472_15_15?",
+ "D_158409298_15_15?",
+ "D_529744595_15_15?",
+ "D_315987564_15_15?",
+ "D_852278004_15_15?",
+ "D_391972881_15_15?",
+ "D_259089008_15_15?",
+ "D_209771602_15_15?",
+ "D_682651189_15_15?",
+ "D_750994269_15_15?",
+ "D_700889863_15_15?",
+ "D_990114799_15_15?",
+ "D_195363361_15_15?",
+ "D_216840563_15_15?",
+ "D_514034680_15_15?",
+ "D_247160067_15_15?",
+ "D_312545873_15_15?",
+ "SIBSUM_15_15",
+ "D_406098499_16_16?",
+ "D_579563781_16_16?",
+ "D_807431780_16_16?",
+ "D_589588769_16_16?",
+ "D_890637099_16_16?",
+ "D_869387390_16_16?",
+ "D_537137982_16_16?",
+ "D_607773106_16_16?",
+ "D_578895128_16_16?",
+ "D_384881609_16_16?",
+ "D_483975329_16_16?",
+ "D_570279754_16_16?",
+ "D_907590067_16_16?",
+ "D_860112841_16_16?",
+ "D_158354252_16_16?",
+ "D_654594205_16_16?",
+ "D_550722030_16_16?",
+ "D_142912472_16_16?",
+ "D_158409298_16_16?",
+ "D_529744595_16_16?",
+ "D_315987564_16_16?",
+ "D_852278004_16_16?",
+ "D_391972881_16_16?",
+ "D_259089008_16_16?",
+ "D_209771602_16_16?",
+ "D_682651189_16_16?",
+ "D_750994269_16_16?",
+ "D_700889863_16_16?",
+ "D_990114799_16_16?",
+ "D_195363361_16_16?",
+ "D_216840563_16_16?",
+ "D_514034680_16_16?",
+ "D_247160067_16_16?",
+ "D_312545873_16_16?",
+ "SIBSUM_16_16",
+ "D_406098499_17_17?",
+ "D_579563781_17_17?",
+ "D_807431780_17_17?",
+ "D_589588769_17_17?",
+ "D_890637099_17_17?",
+ "D_869387390_17_17?",
+ "D_537137982_17_17?",
+ "D_607773106_17_17?",
+ "D_578895128_17_17?",
+ "D_384881609_17_17?",
+ "D_483975329_17_17?",
+ "D_570279754_17_17?",
+ "D_907590067_17_17?",
+ "D_860112841_17_17?",
+ "D_158354252_17_17?",
+ "D_654594205_17_17?",
+ "D_550722030_17_17?",
+ "D_142912472_17_17?",
+ "D_158409298_17_17?",
+ "D_529744595_17_17?",
+ "D_315987564_17_17?",
+ "D_852278004_17_17?",
+ "D_391972881_17_17?",
+ "D_259089008_17_17?",
+ "D_209771602_17_17?",
+ "D_682651189_17_17?",
+ "D_750994269_17_17?",
+ "D_700889863_17_17?",
+ "D_990114799_17_17?",
+ "D_195363361_17_17?",
+ "D_216840563_17_17?",
+ "D_514034680_17_17?",
+ "D_247160067_17_17?",
+ "D_312545873_17_17?",
+ "SIBSUM_17_17",
+ "D_406098499_18_18?",
+ "D_579563781_18_18?",
+ "D_807431780_18_18?",
+ "D_589588769_18_18?",
+ "D_890637099_18_18?",
+ "D_869387390_18_18?",
+ "D_537137982_18_18?",
+ "D_607773106_18_18?",
+ "D_578895128_18_18?",
+ "D_384881609_18_18?",
+ "D_483975329_18_18?",
+ "D_570279754_18_18?",
+ "D_907590067_18_18?",
+ "D_860112841_18_18?",
+ "D_158354252_18_18?",
+ "D_654594205_18_18?",
+ "D_550722030_18_18?",
+ "D_142912472_18_18?",
+ "D_158409298_18_18?",
+ "D_529744595_18_18?",
+ "D_315987564_18_18?",
+ "D_852278004_18_18?",
+ "D_391972881_18_18?",
+ "D_259089008_18_18?",
+ "D_209771602_18_18?",
+ "D_682651189_18_18?",
+ "D_750994269_18_18?",
+ "D_700889863_18_18?",
+ "D_990114799_18_18?",
+ "D_195363361_18_18?",
+ "D_216840563_18_18?",
+ "D_514034680_18_18?",
+ "D_247160067_18_18?",
+ "D_312545873_18_18?",
+ "SIBSUM_18_18",
+ "D_406098499_19_19?",
+ "D_579563781_19_19?",
+ "D_807431780_19_19?",
+ "D_589588769_19_19?",
+ "D_890637099_19_19?",
+ "D_869387390_19_19?",
+ "D_537137982_19_19?",
+ "D_607773106_19_19?",
+ "D_578895128_19_19?",
+ "D_384881609_19_19?",
+ "D_483975329_19_19?",
+ "D_570279754_19_19?",
+ "D_907590067_19_19?",
+ "D_860112841_19_19?",
+ "D_158354252_19_19?",
+ "D_654594205_19_19?",
+ "D_550722030_19_19?",
+ "D_142912472_19_19?",
+ "D_158409298_19_19?",
+ "D_529744595_19_19?",
+ "D_315987564_19_19?",
+ "D_852278004_19_19?",
+ "D_391972881_19_19?",
+ "D_259089008_19_19?",
+ "D_209771602_19_19?",
+ "D_682651189_19_19?",
+ "D_750994269_19_19?",
+ "D_700889863_19_19?",
+ "D_990114799_19_19?",
+ "D_195363361_19_19?",
+ "D_216840563_19_19?",
+ "D_514034680_19_19?",
+ "D_247160067_19_19?",
+ "D_312545873_19_19?",
+ "SIBSUM_19_19",
+ "D_406098499_20_20?",
+ "D_579563781_20_20?",
+ "D_807431780_20_20?",
+ "D_589588769_20_20?",
+ "D_890637099_20_20?",
+ "D_869387390_20_20?",
+ "D_537137982_20_20?",
+ "D_607773106_20_20?",
+ "D_578895128_20_20?",
+ "D_384881609_20_20?",
+ "D_483975329_20_20?",
+ "D_570279754_20_20?",
+ "D_907590067_20_20?",
+ "D_860112841_20_20?",
+ "D_158354252_20_20?",
+ "D_654594205_20_20?",
+ "D_550722030_20_20?",
+ "D_142912472_20_20?",
+ "D_158409298_20_20?",
+ "D_529744595_20_20?",
+ "D_315987564_20_20?",
+ "D_852278004_20_20?",
+ "D_391972881_20_20?",
+ "D_259089008_20_20?",
+ "D_209771602_20_20?",
+ "D_682651189_20_20?",
+ "D_750994269_20_20?",
+ "D_700889863_20_20?",
+ "D_990114799_20_20?",
+ "D_195363361_20_20?",
+ "D_216840563_20_20?",
+ "D_514034680_20_20?",
+ "D_247160067_20_20?",
+ "D_312545873_20_20?",
+ "SIBSUM_20_20",
+ "D_406098499_21_21?",
+ "D_579563781_21_21?",
+ "D_807431780_21_21?",
+ "D_589588769_21_21?",
+ "D_890637099_21_21?",
+ "D_869387390_21_21?",
+ "D_537137982_21_21?",
+ "D_607773106_21_21?",
+ "D_578895128_21_21?",
+ "D_384881609_21_21?",
+ "D_483975329_21_21?",
+ "D_570279754_21_21?",
+ "D_907590067_21_21?",
+ "D_860112841_21_21?",
+ "D_158354252_21_21?",
+ "D_654594205_21_21?",
+ "D_550722030_21_21?",
+ "D_142912472_21_21?",
+ "D_158409298_21_21?",
+ "D_529744595_21_21?",
+ "D_315987564_21_21?",
+ "D_852278004_21_21?",
+ "D_391972881_21_21?",
+ "D_259089008_21_21?",
+ "D_209771602_21_21?",
+ "D_682651189_21_21?",
+ "D_750994269_21_21?",
+ "D_700889863_21_21?",
+ "D_990114799_21_21?",
+ "D_195363361_21_21?",
+ "D_216840563_21_21?",
+ "D_514034680_21_21?",
+ "D_247160067_21_21?",
+ "D_312545873_21_21?",
+ "SIBSUM_21_21",
+ "D_406098499_22_22?",
+ "D_579563781_22_22?",
+ "D_807431780_22_22?",
+ "D_589588769_22_22?",
+ "D_890637099_22_22?",
+ "D_869387390_22_22?",
+ "D_537137982_22_22?",
+ "D_607773106_22_22?",
+ "D_578895128_22_22?",
+ "D_384881609_22_22?",
+ "D_483975329_22_22?",
+ "D_570279754_22_22?",
+ "D_907590067_22_22?",
+ "D_860112841_22_22?",
+ "D_158354252_22_22?",
+ "D_654594205_22_22?",
+ "D_550722030_22_22?",
+ "D_142912472_22_22?",
+ "D_158409298_22_22?",
+ "D_529744595_22_22?",
+ "D_315987564_22_22?",
+ "D_852278004_22_22?",
+ "D_391972881_22_22?",
+ "D_259089008_22_22?",
+ "D_209771602_22_22?",
+ "D_682651189_22_22?",
+ "D_750994269_22_22?",
+ "D_700889863_22_22?",
+ "D_990114799_22_22?",
+ "D_195363361_22_22?",
+ "D_216840563_22_22?",
+ "D_514034680_22_22?",
+ "D_247160067_22_22?",
+ "D_312545873_22_22?",
+ "SIBSUM_22_22",
+ "D_406098499_23_23?",
+ "D_579563781_23_23?",
+ "D_807431780_23_23?",
+ "D_589588769_23_23?",
+ "D_890637099_23_23?",
+ "D_869387390_23_23?",
+ "D_537137982_23_23?",
+ "D_607773106_23_23?",
+ "D_578895128_23_23?",
+ "D_384881609_23_23?",
+ "D_483975329_23_23?",
+ "D_570279754_23_23?",
+ "D_907590067_23_23?",
+ "D_860112841_23_23?",
+ "D_158354252_23_23?",
+ "D_654594205_23_23?",
+ "D_550722030_23_23?",
+ "D_142912472_23_23?",
+ "D_158409298_23_23?",
+ "D_529744595_23_23?",
+ "D_315987564_23_23?",
+ "D_852278004_23_23?",
+ "D_391972881_23_23?",
+ "D_259089008_23_23?",
+ "D_209771602_23_23?",
+ "D_682651189_23_23?",
+ "D_750994269_23_23?",
+ "D_700889863_23_23?",
+ "D_990114799_23_23?",
+ "D_195363361_23_23?",
+ "D_216840563_23_23?",
+ "D_514034680_23_23?",
+ "D_247160067_23_23?",
+ "D_312545873_23_23?",
+ "SIBSUM_23_23",
+ "D_406098499_24_24?",
+ "D_579563781_24_24?",
+ "D_807431780_24_24?",
+ "D_589588769_24_24?",
+ "D_890637099_24_24?",
+ "D_869387390_24_24?",
+ "D_537137982_24_24?",
+ "D_607773106_24_24?",
+ "D_578895128_24_24?",
+ "D_384881609_24_24?",
+ "D_483975329_24_24?",
+ "D_570279754_24_24?",
+ "D_907590067_24_24?",
+ "D_860112841_24_24?",
+ "D_158354252_24_24?",
+ "D_654594205_24_24?",
+ "D_550722030_24_24?",
+ "D_142912472_24_24?",
+ "D_158409298_24_24?",
+ "D_529744595_24_24?",
+ "D_315987564_24_24?",
+ "D_852278004_24_24?",
+ "D_391972881_24_24?",
+ "D_259089008_24_24?",
+ "D_209771602_24_24?",
+ "D_682651189_24_24?",
+ "D_750994269_24_24?",
+ "D_700889863_24_24?",
+ "D_990114799_24_24?",
+ "D_195363361_24_24?",
+ "D_216840563_24_24?",
+ "D_514034680_24_24?",
+ "D_247160067_24_24?",
+ "D_312545873_24_24?",
+ "SIBSUM_24_24",
+ "D_406098499_25_25?",
+ "D_579563781_25_25?",
+ "D_807431780_25_25?",
+ "D_589588769_25_25?",
+ "D_890637099_25_25?",
+ "D_869387390_25_25?",
+ "D_537137982_25_25?",
+ "D_607773106_25_25?",
+ "D_578895128_25_25?",
+ "D_384881609_25_25?",
+ "D_483975329_25_25?",
+ "D_570279754_25_25?",
+ "D_907590067_25_25?",
+ "D_860112841_25_25?",
+ "D_158354252_25_25?",
+ "D_654594205_25_25?",
+ "D_550722030_25_25?",
+ "D_142912472_25_25?",
+ "D_158409298_25_25?",
+ "D_529744595_25_25?",
+ "D_315987564_25_25?",
+ "D_852278004_25_25?",
+ "D_391972881_25_25?",
+ "D_259089008_25_25?",
+ "D_209771602_25_25?",
+ "D_682651189_25_25?",
+ "D_750994269_25_25?",
+ "D_700889863_25_25?",
+ "D_990114799_25_25?",
+ "D_195363361_25_25?",
+ "D_216840563_25_25?",
+ "D_514034680_25_25?",
+ "D_247160067_25_25?",
+ "D_312545873_25_25?",
+ "SIBSUM_25_25",
+ "END_OF_LOOP",
+ "CHILD",
+ "D_446999144!",
+ "CHILDCONFIRM",
+ "D_714001034_1_1?",
+ "D_887697329_1_1?",
+ "D_473529484_1_1?",
+ "D_873968217_1_1?",
+ "D_418392907_1_1?",
+ "D_640010727_1_1?",
+ "D_236590500_1_1?",
+ "D_718867914_1_1?",
+ "D_812370563_1_1?",
+ "D_900939817_1_1?",
+ "D_938150507_1_1?",
+ "D_601211723_1_1?",
+ "D_861788020_1_1?",
+ "D_204425387_1_1?",
+ "D_558929585_1_1?",
+ "D_233764880_1_1?",
+ "D_905145893_1_1?",
+ "D_473190270_1_1?",
+ "D_483735587_1_1?",
+ "D_331759900_1_1?",
+ "D_513077276_1_1?",
+ "D_519974530_1_1?",
+ "D_907776050_1_1?",
+ "D_271684775_1_1?",
+ "D_252160589_1_1?",
+ "D_774774759_1_1?",
+ "D_127257956_1_1?",
+ "D_496917282_1_1?",
+ "D_908129316_1_1?",
+ "D_795003496_1_1?",
+ "D_969177591_1_1?",
+ "D_116065851_1_1?",
+ "D_278159347_1_1?",
+ "D_845219872_1_1?",
+ "CHILDSUM_1_1",
+ "D_714001034_2_2?",
+ "D_887697329_2_2?",
+ "D_473529484_2_2?",
+ "D_873968217_2_2?",
+ "D_418392907_2_2?",
+ "D_640010727_2_2?",
+ "D_236590500_2_2?",
+ "D_718867914_2_2?",
+ "D_812370563_2_2?",
+ "D_900939817_2_2?",
+ "D_938150507_2_2?",
+ "D_601211723_2_2?",
+ "D_861788020_2_2?",
+ "D_204425387_2_2?",
+ "D_558929585_2_2?",
+ "D_233764880_2_2?",
+ "D_905145893_2_2?",
+ "D_473190270_2_2?",
+ "D_483735587_2_2?",
+ "D_331759900_2_2?",
+ "D_513077276_2_2?",
+ "D_519974530_2_2?",
+ "D_907776050_2_2?",
+ "D_271684775_2_2?",
+ "D_252160589_2_2?",
+ "D_774774759_2_2?",
+ "D_127257956_2_2?",
+ "D_496917282_2_2?",
+ "D_908129316_2_2?",
+ "D_795003496_2_2?",
+ "D_969177591_2_2?",
+ "D_116065851_2_2?",
+ "D_278159347_2_2?",
+ "D_845219872_2_2?",
+ "CHILDSUM_2_2",
+ "D_714001034_3_3?",
+ "D_887697329_3_3?",
+ "D_473529484_3_3?",
+ "D_873968217_3_3?",
+ "D_418392907_3_3?",
+ "D_640010727_3_3?",
+ "D_236590500_3_3?",
+ "D_718867914_3_3?",
+ "D_812370563_3_3?",
+ "D_900939817_3_3?",
+ "D_938150507_3_3?",
+ "D_601211723_3_3?",
+ "D_861788020_3_3?",
+ "D_204425387_3_3?",
+ "D_558929585_3_3?",
+ "D_233764880_3_3?",
+ "D_905145893_3_3?",
+ "D_473190270_3_3?",
+ "D_483735587_3_3?",
+ "D_331759900_3_3?",
+ "D_513077276_3_3?",
+ "D_519974530_3_3?",
+ "D_907776050_3_3?",
+ "D_271684775_3_3?",
+ "D_252160589_3_3?",
+ "D_774774759_3_3?",
+ "D_127257956_3_3?",
+ "D_496917282_3_3?",
+ "D_908129316_3_3?",
+ "D_795003496_3_3?",
+ "D_969177591_3_3?",
+ "D_116065851_3_3?",
+ "D_278159347_3_3?",
+ "D_845219872_3_3?",
+ "CHILDSUM_3_3",
+ "D_714001034_4_4?",
+ "D_887697329_4_4?",
+ "D_473529484_4_4?",
+ "D_873968217_4_4?",
+ "D_418392907_4_4?",
+ "D_640010727_4_4?",
+ "D_236590500_4_4?",
+ "D_718867914_4_4?",
+ "D_812370563_4_4?",
+ "D_900939817_4_4?",
+ "D_938150507_4_4?",
+ "D_601211723_4_4?",
+ "D_861788020_4_4?",
+ "D_204425387_4_4?",
+ "D_558929585_4_4?",
+ "D_233764880_4_4?",
+ "D_905145893_4_4?",
+ "D_473190270_4_4?",
+ "D_483735587_4_4?",
+ "D_331759900_4_4?",
+ "D_513077276_4_4?",
+ "D_519974530_4_4?",
+ "D_907776050_4_4?",
+ "D_271684775_4_4?",
+ "D_252160589_4_4?",
+ "D_774774759_4_4?",
+ "D_127257956_4_4?",
+ "D_496917282_4_4?",
+ "D_908129316_4_4?",
+ "D_795003496_4_4?",
+ "D_969177591_4_4?",
+ "D_116065851_4_4?",
+ "D_278159347_4_4?",
+ "D_845219872_4_4?",
+ "CHILDSUM_4_4",
+ "D_714001034_5_5?",
+ "D_887697329_5_5?",
+ "D_473529484_5_5?",
+ "D_873968217_5_5?",
+ "D_418392907_5_5?",
+ "D_640010727_5_5?",
+ "D_236590500_5_5?",
+ "D_718867914_5_5?",
+ "D_812370563_5_5?",
+ "D_900939817_5_5?",
+ "D_938150507_5_5?",
+ "D_601211723_5_5?",
+ "D_861788020_5_5?",
+ "D_204425387_5_5?",
+ "D_558929585_5_5?",
+ "D_233764880_5_5?",
+ "D_905145893_5_5?",
+ "D_473190270_5_5?",
+ "D_483735587_5_5?",
+ "D_331759900_5_5?",
+ "D_513077276_5_5?",
+ "D_519974530_5_5?",
+ "D_907776050_5_5?",
+ "D_271684775_5_5?",
+ "D_252160589_5_5?",
+ "D_774774759_5_5?",
+ "D_127257956_5_5?",
+ "D_496917282_5_5?",
+ "D_908129316_5_5?",
+ "D_795003496_5_5?",
+ "D_969177591_5_5?",
+ "D_116065851_5_5?",
+ "D_278159347_5_5?",
+ "D_845219872_5_5?",
+ "CHILDSUM_5_5",
+ "D_714001034_6_6?",
+ "D_887697329_6_6?",
+ "D_473529484_6_6?",
+ "D_873968217_6_6?",
+ "D_418392907_6_6?",
+ "D_640010727_6_6?",
+ "D_236590500_6_6?",
+ "D_718867914_6_6?",
+ "D_812370563_6_6?",
+ "D_900939817_6_6?",
+ "D_938150507_6_6?",
+ "D_601211723_6_6?",
+ "D_861788020_6_6?",
+ "D_204425387_6_6?",
+ "D_558929585_6_6?",
+ "D_233764880_6_6?",
+ "D_905145893_6_6?",
+ "D_473190270_6_6?",
+ "D_483735587_6_6?",
+ "D_331759900_6_6?",
+ "D_513077276_6_6?",
+ "D_519974530_6_6?",
+ "D_907776050_6_6?",
+ "D_271684775_6_6?",
+ "D_252160589_6_6?",
+ "D_774774759_6_6?",
+ "D_127257956_6_6?",
+ "D_496917282_6_6?",
+ "D_908129316_6_6?",
+ "D_795003496_6_6?",
+ "D_969177591_6_6?",
+ "D_116065851_6_6?",
+ "D_278159347_6_6?",
+ "D_845219872_6_6?",
+ "CHILDSUM_6_6",
+ "D_714001034_7_7?",
+ "D_887697329_7_7?",
+ "D_473529484_7_7?",
+ "D_873968217_7_7?",
+ "D_418392907_7_7?",
+ "D_640010727_7_7?",
+ "D_236590500_7_7?",
+ "D_718867914_7_7?",
+ "D_812370563_7_7?",
+ "D_900939817_7_7?",
+ "D_938150507_7_7?",
+ "D_601211723_7_7?",
+ "D_861788020_7_7?",
+ "D_204425387_7_7?",
+ "D_558929585_7_7?",
+ "D_233764880_7_7?",
+ "D_905145893_7_7?",
+ "D_473190270_7_7?",
+ "D_483735587_7_7?",
+ "D_331759900_7_7?",
+ "D_513077276_7_7?",
+ "D_519974530_7_7?",
+ "D_907776050_7_7?",
+ "D_271684775_7_7?",
+ "D_252160589_7_7?",
+ "D_774774759_7_7?",
+ "D_127257956_7_7?",
+ "D_496917282_7_7?",
+ "D_908129316_7_7?",
+ "D_795003496_7_7?",
+ "D_969177591_7_7?",
+ "D_116065851_7_7?",
+ "D_278159347_7_7?",
+ "D_845219872_7_7?",
+ "CHILDSUM_7_7",
+ "D_714001034_8_8?",
+ "D_887697329_8_8?",
+ "D_473529484_8_8?",
+ "D_873968217_8_8?",
+ "D_418392907_8_8?",
+ "D_640010727_8_8?",
+ "D_236590500_8_8?",
+ "D_718867914_8_8?",
+ "D_812370563_8_8?",
+ "D_900939817_8_8?",
+ "D_938150507_8_8?",
+ "D_601211723_8_8?",
+ "D_861788020_8_8?",
+ "D_204425387_8_8?",
+ "D_558929585_8_8?",
+ "D_233764880_8_8?",
+ "D_905145893_8_8?",
+ "D_473190270_8_8?",
+ "D_483735587_8_8?",
+ "D_331759900_8_8?",
+ "D_513077276_8_8?",
+ "D_519974530_8_8?",
+ "D_907776050_8_8?",
+ "D_271684775_8_8?",
+ "D_252160589_8_8?",
+ "D_774774759_8_8?",
+ "D_127257956_8_8?",
+ "D_496917282_8_8?",
+ "D_908129316_8_8?",
+ "D_795003496_8_8?",
+ "D_969177591_8_8?",
+ "D_116065851_8_8?",
+ "D_278159347_8_8?",
+ "D_845219872_8_8?",
+ "CHILDSUM_8_8",
+ "D_714001034_9_9?",
+ "D_887697329_9_9?",
+ "D_473529484_9_9?",
+ "D_873968217_9_9?",
+ "D_418392907_9_9?",
+ "D_640010727_9_9?",
+ "D_236590500_9_9?",
+ "D_718867914_9_9?",
+ "D_812370563_9_9?",
+ "D_900939817_9_9?",
+ "D_938150507_9_9?",
+ "D_601211723_9_9?",
+ "D_861788020_9_9?",
+ "D_204425387_9_9?",
+ "D_558929585_9_9?",
+ "D_233764880_9_9?",
+ "D_905145893_9_9?",
+ "D_473190270_9_9?",
+ "D_483735587_9_9?",
+ "D_331759900_9_9?",
+ "D_513077276_9_9?",
+ "D_519974530_9_9?",
+ "D_907776050_9_9?",
+ "D_271684775_9_9?",
+ "D_252160589_9_9?",
+ "D_774774759_9_9?",
+ "D_127257956_9_9?",
+ "D_496917282_9_9?",
+ "D_908129316_9_9?",
+ "D_795003496_9_9?",
+ "D_969177591_9_9?",
+ "D_116065851_9_9?",
+ "D_278159347_9_9?",
+ "D_845219872_9_9?",
+ "CHILDSUM_9_9",
+ "D_714001034_10_10?",
+ "D_887697329_10_10?",
+ "D_473529484_10_10?",
+ "D_873968217_10_10?",
+ "D_418392907_10_10?",
+ "D_640010727_10_10?",
+ "D_236590500_10_10?",
+ "D_718867914_10_10?",
+ "D_812370563_10_10?",
+ "D_900939817_10_10?",
+ "D_938150507_10_10?",
+ "D_601211723_10_10?",
+ "D_861788020_10_10?",
+ "D_204425387_10_10?",
+ "D_558929585_10_10?",
+ "D_233764880_10_10?",
+ "D_905145893_10_10?",
+ "D_473190270_10_10?",
+ "D_483735587_10_10?",
+ "D_331759900_10_10?",
+ "D_513077276_10_10?",
+ "D_519974530_10_10?",
+ "D_907776050_10_10?",
+ "D_271684775_10_10?",
+ "D_252160589_10_10?",
+ "D_774774759_10_10?",
+ "D_127257956_10_10?",
+ "D_496917282_10_10?",
+ "D_908129316_10_10?",
+ "D_795003496_10_10?",
+ "D_969177591_10_10?",
+ "D_116065851_10_10?",
+ "D_278159347_10_10?",
+ "D_845219872_10_10?",
+ "CHILDSUM_10_10",
+ "D_714001034_11_11?",
+ "D_887697329_11_11?",
+ "D_473529484_11_11?",
+ "D_873968217_11_11?",
+ "D_418392907_11_11?",
+ "D_640010727_11_11?",
+ "D_236590500_11_11?",
+ "D_718867914_11_11?",
+ "D_812370563_11_11?",
+ "D_900939817_11_11?",
+ "D_938150507_11_11?",
+ "D_601211723_11_11?",
+ "D_861788020_11_11?",
+ "D_204425387_11_11?",
+ "D_558929585_11_11?",
+ "D_233764880_11_11?",
+ "D_905145893_11_11?",
+ "D_473190270_11_11?",
+ "D_483735587_11_11?",
+ "D_331759900_11_11?",
+ "D_513077276_11_11?",
+ "D_519974530_11_11?",
+ "D_907776050_11_11?",
+ "D_271684775_11_11?",
+ "D_252160589_11_11?",
+ "D_774774759_11_11?",
+ "D_127257956_11_11?",
+ "D_496917282_11_11?",
+ "D_908129316_11_11?",
+ "D_795003496_11_11?",
+ "D_969177591_11_11?",
+ "D_116065851_11_11?",
+ "D_278159347_11_11?",
+ "D_845219872_11_11?",
+ "CHILDSUM_11_11",
+ "D_714001034_12_12?",
+ "D_887697329_12_12?",
+ "D_473529484_12_12?",
+ "D_873968217_12_12?",
+ "D_418392907_12_12?",
+ "D_640010727_12_12?",
+ "D_236590500_12_12?",
+ "D_718867914_12_12?",
+ "D_812370563_12_12?",
+ "D_900939817_12_12?",
+ "D_938150507_12_12?",
+ "D_601211723_12_12?",
+ "D_861788020_12_12?",
+ "D_204425387_12_12?",
+ "D_558929585_12_12?",
+ "D_233764880_12_12?",
+ "D_905145893_12_12?",
+ "D_473190270_12_12?",
+ "D_483735587_12_12?",
+ "D_331759900_12_12?",
+ "D_513077276_12_12?",
+ "D_519974530_12_12?",
+ "D_907776050_12_12?",
+ "D_271684775_12_12?",
+ "D_252160589_12_12?",
+ "D_774774759_12_12?",
+ "D_127257956_12_12?",
+ "D_496917282_12_12?",
+ "D_908129316_12_12?",
+ "D_795003496_12_12?",
+ "D_969177591_12_12?",
+ "D_116065851_12_12?",
+ "D_278159347_12_12?",
+ "D_845219872_12_12?",
+ "CHILDSUM_12_12",
+ "D_714001034_13_13?",
+ "D_887697329_13_13?",
+ "D_473529484_13_13?",
+ "D_873968217_13_13?",
+ "D_418392907_13_13?",
+ "D_640010727_13_13?",
+ "D_236590500_13_13?",
+ "D_718867914_13_13?",
+ "D_812370563_13_13?",
+ "D_900939817_13_13?",
+ "D_938150507_13_13?",
+ "D_601211723_13_13?",
+ "D_861788020_13_13?",
+ "D_204425387_13_13?",
+ "D_558929585_13_13?",
+ "D_233764880_13_13?",
+ "D_905145893_13_13?",
+ "D_473190270_13_13?",
+ "D_483735587_13_13?",
+ "D_331759900_13_13?",
+ "D_513077276_13_13?",
+ "D_519974530_13_13?",
+ "D_907776050_13_13?",
+ "D_271684775_13_13?",
+ "D_252160589_13_13?",
+ "D_774774759_13_13?",
+ "D_127257956_13_13?",
+ "D_496917282_13_13?",
+ "D_908129316_13_13?",
+ "D_795003496_13_13?",
+ "D_969177591_13_13?",
+ "D_116065851_13_13?",
+ "D_278159347_13_13?",
+ "D_845219872_13_13?",
+ "CHILDSUM_13_13",
+ "D_714001034_14_14?",
+ "D_887697329_14_14?",
+ "D_473529484_14_14?",
+ "D_873968217_14_14?",
+ "D_418392907_14_14?",
+ "D_640010727_14_14?",
+ "D_236590500_14_14?",
+ "D_718867914_14_14?",
+ "D_812370563_14_14?",
+ "D_900939817_14_14?",
+ "D_938150507_14_14?",
+ "D_601211723_14_14?",
+ "D_861788020_14_14?",
+ "D_204425387_14_14?",
+ "D_558929585_14_14?",
+ "D_233764880_14_14?",
+ "D_905145893_14_14?",
+ "D_473190270_14_14?",
+ "D_483735587_14_14?",
+ "D_331759900_14_14?",
+ "D_513077276_14_14?",
+ "D_519974530_14_14?",
+ "D_907776050_14_14?",
+ "D_271684775_14_14?",
+ "D_252160589_14_14?",
+ "D_774774759_14_14?",
+ "D_127257956_14_14?",
+ "D_496917282_14_14?",
+ "D_908129316_14_14?",
+ "D_795003496_14_14?",
+ "D_969177591_14_14?",
+ "D_116065851_14_14?",
+ "D_278159347_14_14?",
+ "D_845219872_14_14?",
+ "CHILDSUM_14_14",
+ "D_714001034_15_15?",
+ "D_887697329_15_15?",
+ "D_473529484_15_15?",
+ "D_873968217_15_15?",
+ "D_418392907_15_15?",
+ "D_640010727_15_15?",
+ "D_236590500_15_15?",
+ "D_718867914_15_15?",
+ "D_812370563_15_15?",
+ "D_900939817_15_15?",
+ "D_938150507_15_15?",
+ "D_601211723_15_15?",
+ "D_861788020_15_15?",
+ "D_204425387_15_15?",
+ "D_558929585_15_15?",
+ "D_233764880_15_15?",
+ "D_905145893_15_15?",
+ "D_473190270_15_15?",
+ "D_483735587_15_15?",
+ "D_331759900_15_15?",
+ "D_513077276_15_15?",
+ "D_519974530_15_15?",
+ "D_907776050_15_15?",
+ "D_271684775_15_15?",
+ "D_252160589_15_15?",
+ "D_774774759_15_15?",
+ "D_127257956_15_15?",
+ "D_496917282_15_15?",
+ "D_908129316_15_15?",
+ "D_795003496_15_15?",
+ "D_969177591_15_15?",
+ "D_116065851_15_15?",
+ "D_278159347_15_15?",
+ "D_845219872_15_15?",
+ "CHILDSUM_15_15",
+ "D_714001034_16_16?",
+ "D_887697329_16_16?",
+ "D_473529484_16_16?",
+ "D_873968217_16_16?",
+ "D_418392907_16_16?",
+ "D_640010727_16_16?",
+ "D_236590500_16_16?",
+ "D_718867914_16_16?",
+ "D_812370563_16_16?",
+ "D_900939817_16_16?",
+ "D_938150507_16_16?",
+ "D_601211723_16_16?",
+ "D_861788020_16_16?",
+ "D_204425387_16_16?",
+ "D_558929585_16_16?",
+ "D_233764880_16_16?",
+ "D_905145893_16_16?",
+ "D_473190270_16_16?",
+ "D_483735587_16_16?",
+ "D_331759900_16_16?",
+ "D_513077276_16_16?",
+ "D_519974530_16_16?",
+ "D_907776050_16_16?",
+ "D_271684775_16_16?",
+ "D_252160589_16_16?",
+ "D_774774759_16_16?",
+ "D_127257956_16_16?",
+ "D_496917282_16_16?",
+ "D_908129316_16_16?",
+ "D_795003496_16_16?",
+ "D_969177591_16_16?",
+ "D_116065851_16_16?",
+ "D_278159347_16_16?",
+ "D_845219872_16_16?",
+ "CHILDSUM_16_16",
+ "D_714001034_17_17?",
+ "D_887697329_17_17?",
+ "D_473529484_17_17?",
+ "D_873968217_17_17?",
+ "D_418392907_17_17?",
+ "D_640010727_17_17?",
+ "D_236590500_17_17?",
+ "D_718867914_17_17?",
+ "D_812370563_17_17?",
+ "D_900939817_17_17?",
+ "D_938150507_17_17?",
+ "D_601211723_17_17?",
+ "D_861788020_17_17?",
+ "D_204425387_17_17?",
+ "D_558929585_17_17?",
+ "D_233764880_17_17?",
+ "D_905145893_17_17?",
+ "D_473190270_17_17?",
+ "D_483735587_17_17?",
+ "D_331759900_17_17?",
+ "D_513077276_17_17?",
+ "D_519974530_17_17?",
+ "D_907776050_17_17?",
+ "D_271684775_17_17?",
+ "D_252160589_17_17?",
+ "D_774774759_17_17?",
+ "D_127257956_17_17?",
+ "D_496917282_17_17?",
+ "D_908129316_17_17?",
+ "D_795003496_17_17?",
+ "D_969177591_17_17?",
+ "D_116065851_17_17?",
+ "D_278159347_17_17?",
+ "D_845219872_17_17?",
+ "CHILDSUM_17_17",
+ "D_714001034_18_18?",
+ "D_887697329_18_18?",
+ "D_473529484_18_18?",
+ "D_873968217_18_18?",
+ "D_418392907_18_18?",
+ "D_640010727_18_18?",
+ "D_236590500_18_18?",
+ "D_718867914_18_18?",
+ "D_812370563_18_18?",
+ "D_900939817_18_18?",
+ "D_938150507_18_18?",
+ "D_601211723_18_18?",
+ "D_861788020_18_18?",
+ "D_204425387_18_18?",
+ "D_558929585_18_18?",
+ "D_233764880_18_18?",
+ "D_905145893_18_18?",
+ "D_473190270_18_18?",
+ "D_483735587_18_18?",
+ "D_331759900_18_18?",
+ "D_513077276_18_18?",
+ "D_519974530_18_18?",
+ "D_907776050_18_18?",
+ "D_271684775_18_18?",
+ "D_252160589_18_18?",
+ "D_774774759_18_18?",
+ "D_127257956_18_18?",
+ "D_496917282_18_18?",
+ "D_908129316_18_18?",
+ "D_795003496_18_18?",
+ "D_969177591_18_18?",
+ "D_116065851_18_18?",
+ "D_278159347_18_18?",
+ "D_845219872_18_18?",
+ "CHILDSUM_18_18",
+ "D_714001034_19_19?",
+ "D_887697329_19_19?",
+ "D_473529484_19_19?",
+ "D_873968217_19_19?",
+ "D_418392907_19_19?",
+ "D_640010727_19_19?",
+ "D_236590500_19_19?",
+ "D_718867914_19_19?",
+ "D_812370563_19_19?",
+ "D_900939817_19_19?",
+ "D_938150507_19_19?",
+ "D_601211723_19_19?",
+ "D_861788020_19_19?",
+ "D_204425387_19_19?",
+ "D_558929585_19_19?",
+ "D_233764880_19_19?",
+ "D_905145893_19_19?",
+ "D_473190270_19_19?",
+ "D_483735587_19_19?",
+ "D_331759900_19_19?",
+ "D_513077276_19_19?",
+ "D_519974530_19_19?",
+ "D_907776050_19_19?",
+ "D_271684775_19_19?",
+ "D_252160589_19_19?",
+ "D_774774759_19_19?",
+ "D_127257956_19_19?",
+ "D_496917282_19_19?",
+ "D_908129316_19_19?",
+ "D_795003496_19_19?",
+ "D_969177591_19_19?",
+ "D_116065851_19_19?",
+ "D_278159347_19_19?",
+ "D_845219872_19_19?",
+ "CHILDSUM_19_19",
+ "D_714001034_20_20?",
+ "D_887697329_20_20?",
+ "D_473529484_20_20?",
+ "D_873968217_20_20?",
+ "D_418392907_20_20?",
+ "D_640010727_20_20?",
+ "D_236590500_20_20?",
+ "D_718867914_20_20?",
+ "D_812370563_20_20?",
+ "D_900939817_20_20?",
+ "D_938150507_20_20?",
+ "D_601211723_20_20?",
+ "D_861788020_20_20?",
+ "D_204425387_20_20?",
+ "D_558929585_20_20?",
+ "D_233764880_20_20?",
+ "D_905145893_20_20?",
+ "D_473190270_20_20?",
+ "D_483735587_20_20?",
+ "D_331759900_20_20?",
+ "D_513077276_20_20?",
+ "D_519974530_20_20?",
+ "D_907776050_20_20?",
+ "D_271684775_20_20?",
+ "D_252160589_20_20?",
+ "D_774774759_20_20?",
+ "D_127257956_20_20?",
+ "D_496917282_20_20?",
+ "D_908129316_20_20?",
+ "D_795003496_20_20?",
+ "D_969177591_20_20?",
+ "D_116065851_20_20?",
+ "D_278159347_20_20?",
+ "D_845219872_20_20?",
+ "CHILDSUM_20_20",
+ "D_714001034_21_21?",
+ "D_887697329_21_21?",
+ "D_473529484_21_21?",
+ "D_873968217_21_21?",
+ "D_418392907_21_21?",
+ "D_640010727_21_21?",
+ "D_236590500_21_21?",
+ "D_718867914_21_21?",
+ "D_812370563_21_21?",
+ "D_900939817_21_21?",
+ "D_938150507_21_21?",
+ "D_601211723_21_21?",
+ "D_861788020_21_21?",
+ "D_204425387_21_21?",
+ "D_558929585_21_21?",
+ "D_233764880_21_21?",
+ "D_905145893_21_21?",
+ "D_473190270_21_21?",
+ "D_483735587_21_21?",
+ "D_331759900_21_21?",
+ "D_513077276_21_21?",
+ "D_519974530_21_21?",
+ "D_907776050_21_21?",
+ "D_271684775_21_21?",
+ "D_252160589_21_21?",
+ "D_774774759_21_21?",
+ "D_127257956_21_21?",
+ "D_496917282_21_21?",
+ "D_908129316_21_21?",
+ "D_795003496_21_21?",
+ "D_969177591_21_21?",
+ "D_116065851_21_21?",
+ "D_278159347_21_21?",
+ "D_845219872_21_21?",
+ "CHILDSUM_21_21",
+ "D_714001034_22_22?",
+ "D_887697329_22_22?",
+ "D_473529484_22_22?",
+ "D_873968217_22_22?",
+ "D_418392907_22_22?",
+ "D_640010727_22_22?",
+ "D_236590500_22_22?",
+ "D_718867914_22_22?",
+ "D_812370563_22_22?",
+ "D_900939817_22_22?",
+ "D_938150507_22_22?",
+ "D_601211723_22_22?",
+ "D_861788020_22_22?",
+ "D_204425387_22_22?",
+ "D_558929585_22_22?",
+ "D_233764880_22_22?",
+ "D_905145893_22_22?",
+ "D_473190270_22_22?",
+ "D_483735587_22_22?",
+ "D_331759900_22_22?",
+ "D_513077276_22_22?",
+ "D_519974530_22_22?",
+ "D_907776050_22_22?",
+ "D_271684775_22_22?",
+ "D_252160589_22_22?",
+ "D_774774759_22_22?",
+ "D_127257956_22_22?",
+ "D_496917282_22_22?",
+ "D_908129316_22_22?",
+ "D_795003496_22_22?",
+ "D_969177591_22_22?",
+ "D_116065851_22_22?",
+ "D_278159347_22_22?",
+ "D_845219872_22_22?",
+ "CHILDSUM_22_22",
+ "D_714001034_23_23?",
+ "D_887697329_23_23?",
+ "D_473529484_23_23?",
+ "D_873968217_23_23?",
+ "D_418392907_23_23?",
+ "D_640010727_23_23?",
+ "D_236590500_23_23?",
+ "D_718867914_23_23?",
+ "D_812370563_23_23?",
+ "D_900939817_23_23?",
+ "D_938150507_23_23?",
+ "D_601211723_23_23?",
+ "D_861788020_23_23?",
+ "D_204425387_23_23?",
+ "D_558929585_23_23?",
+ "D_233764880_23_23?",
+ "D_905145893_23_23?",
+ "D_473190270_23_23?",
+ "D_483735587_23_23?",
+ "D_331759900_23_23?",
+ "D_513077276_23_23?",
+ "D_519974530_23_23?",
+ "D_907776050_23_23?",
+ "D_271684775_23_23?",
+ "D_252160589_23_23?",
+ "D_774774759_23_23?",
+ "D_127257956_23_23?",
+ "D_496917282_23_23?",
+ "D_908129316_23_23?",
+ "D_795003496_23_23?",
+ "D_969177591_23_23?",
+ "D_116065851_23_23?",
+ "D_278159347_23_23?",
+ "D_845219872_23_23?",
+ "CHILDSUM_23_23",
+ "D_714001034_24_24?",
+ "D_887697329_24_24?",
+ "D_473529484_24_24?",
+ "D_873968217_24_24?",
+ "D_418392907_24_24?",
+ "D_640010727_24_24?",
+ "D_236590500_24_24?",
+ "D_718867914_24_24?",
+ "D_812370563_24_24?",
+ "D_900939817_24_24?",
+ "D_938150507_24_24?",
+ "D_601211723_24_24?",
+ "D_861788020_24_24?",
+ "D_204425387_24_24?",
+ "D_558929585_24_24?",
+ "D_233764880_24_24?",
+ "D_905145893_24_24?",
+ "D_473190270_24_24?",
+ "D_483735587_24_24?",
+ "D_331759900_24_24?",
+ "D_513077276_24_24?",
+ "D_519974530_24_24?",
+ "D_907776050_24_24?",
+ "D_271684775_24_24?",
+ "D_252160589_24_24?",
+ "D_774774759_24_24?",
+ "D_127257956_24_24?",
+ "D_496917282_24_24?",
+ "D_908129316_24_24?",
+ "D_795003496_24_24?",
+ "D_969177591_24_24?",
+ "D_116065851_24_24?",
+ "D_278159347_24_24?",
+ "D_845219872_24_24?",
+ "CHILDSUM_24_24",
+ "D_714001034_25_25?",
+ "D_887697329_25_25?",
+ "D_473529484_25_25?",
+ "D_873968217_25_25?",
+ "D_418392907_25_25?",
+ "D_640010727_25_25?",
+ "D_236590500_25_25?",
+ "D_718867914_25_25?",
+ "D_812370563_25_25?",
+ "D_900939817_25_25?",
+ "D_938150507_25_25?",
+ "D_601211723_25_25?",
+ "D_861788020_25_25?",
+ "D_204425387_25_25?",
+ "D_558929585_25_25?",
+ "D_233764880_25_25?",
+ "D_905145893_25_25?",
+ "D_473190270_25_25?",
+ "D_483735587_25_25?",
+ "D_331759900_25_25?",
+ "D_513077276_25_25?",
+ "D_519974530_25_25?",
+ "D_907776050_25_25?",
+ "D_271684775_25_25?",
+ "D_252160589_25_25?",
+ "D_774774759_25_25?",
+ "D_127257956_25_25?",
+ "D_496917282_25_25?",
+ "D_908129316_25_25?",
+ "D_795003496_25_25?",
+ "D_969177591_25_25?",
+ "D_116065851_25_25?",
+ "D_278159347_25_25?",
+ "D_845219872_25_25?",
+ "CHILDSUM_25_25",
+ "END_OF_LOOP",
+ "SECTION5",
+ "D_367803647?",
+ "D_784967158?",
+ "D_613744428?",
+ "D_114529380?",
+ "D_627122657?",
+ "D_796828094?",
+ "D_761310265?",
+ "D_434316600?",
+ "D_700374192?",
+ "D_868232409?",
+ "D_739294356?",
+ "D_847533056?",
+ "D_403258164?",
+ "D_118061122?",
+ "D_518387017?",
+ "D_279637054?",
+ "D_988878019?",
+ "D_530742915?",
+ "D_233198706?",
+ "D_686172464?",
+ "D_759004335?",
+ "D_641651634?",
+ "D_431721131?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 1725,
+ "number": 2874,
+ "radio": 883,
+ "text": 126,
+ "textarea": 2
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_362270886",
+ "D_525535977",
+ "D_976808005",
+ "D_308014437",
+ "D_351657815",
+ "D_115616118",
+ "D_797626610",
+ "D_588212264",
+ "D_167101091",
+ "D_508846529",
+ "D_965917116",
+ "D_929240175",
+ "D_836712013",
+ "D_836890480",
+ "D_624479779",
+ "D_337278854",
+ "D_681229479",
+ "D_660358706",
+ "D_884793537",
+ "D_460062034",
+ "D_110652436",
+ "D_894259747",
+ "D_448722126",
+ "D_201449164",
+ "D_436333358",
+ "D_180961306",
+ "D_554782332",
+ "D_409622468",
+ "D_448476881",
+ "D_459764934",
+ "D_374697037",
+ "D_580911251",
+ "D_190347832",
+ "D_624777141",
+ "D_980403315",
+ "D_936039586",
+ "D_430472084",
+ "D_900541533",
+ "D_139655599",
+ "D_494032093",
+ "D_810918716",
+ "D_874046190",
+ "D_301679110",
+ "D_989016875",
+ "D_878094302",
+ "D_543728565",
+ "D_173101988",
+ "D_245861186",
+ "D_420423416",
+ "INTROSTD",
+ "D_915230886",
+ "D_530548878",
+ "D_469947273",
+ "D_685735916",
+ "D_954405492",
+ "D_103397024",
+ "D_931470797",
+ "D_922524563",
+ "D_978485677",
+ "D_523188839",
+ "D_725626004",
+ "D_846786840",
+ "D_423547108",
+ "D_852898339",
+ "D_467061940",
+ "D_619481697",
+ "DEPRESSINTRO",
+ "D_266847650",
+ "D_134642404",
+ "D_219956652",
+ "D_852236900",
+ "D_301414575",
+ "INTROSURG",
+ "D_367884741",
+ "D_178353079",
+ "D_550075233",
+ "D_927516732",
+ "D_552788665",
+ "D_439736294",
+ "D_860920332",
+ "D_986613440",
+ "D_517307064",
+ "D_150352141",
+ "D_122887481",
+ "D_378892977",
+ "D_224791140",
+ "D_518750011",
+ "D_946504570",
+ "D_107060069",
+ "D_527057404",
+ "D_453252072",
+ "D_216506024",
+ "D_477690298",
+ "D_176453768",
+ "D_145786416",
+ "D_287605131",
+ "D_701157499",
+ "D_428639167",
+ "D_282355641",
+ "D_539301647",
+ "D_579225381",
+ "D_891214661",
+ "D_534007917",
+ "D_752636038",
+ "D_275770221",
+ "D_882152987",
+ "D_875208305",
+ "D_795940097",
+ "D_406011084",
+ "D_593017220",
+ "D_338924834",
+ "D_746012894",
+ "D_936904328",
+ "D_365851428",
+ "D_206319592",
+ "D_283634623",
+ "D_164752169",
+ "FAMHISTINTRO",
+ "D_512167179",
+ "D_509933065",
+ "D_967093163",
+ "D_422714611",
+ "D_354326265",
+ "D_276353712",
+ "D_367374606",
+ "D_814510313",
+ "D_259397450",
+ "D_528753070",
+ "D_683981980",
+ "D_402548942",
+ "D_247198016",
+ "D_891925519",
+ "D_317093647",
+ "D_684692228",
+ "D_671347092",
+ "D_875221479",
+ "D_186170949",
+ "D_726451917",
+ "D_213545903",
+ "D_765903702",
+ "D_773974223",
+ "D_433604862",
+ "D_521369040",
+ "D_497311092",
+ "D_625249910",
+ "D_838564850",
+ "D_633764113",
+ "D_882263738",
+ "D_671308090",
+ "D_628078826",
+ "D_178774803",
+ "D_659784914",
+ "SIB",
+ "D_173240848",
+ "D_345146692",
+ "D_243443318",
+ "D_610382315",
+ "D_135519371",
+ "D_785019074",
+ "D_152885579",
+ "D_692910565",
+ "D_522464057",
+ "D_808655074",
+ "D_659627058",
+ "D_370198527",
+ "D_291855684",
+ "D_413536735",
+ "D_210325948",
+ "D_193297280",
+ "D_121502359",
+ "D_489402657",
+ "D_727260639",
+ "D_359291056",
+ "D_968841976",
+ "D_864981804",
+ "D_499434567",
+ "D_890637099_1_1",
+ "D_869387390_1_1",
+ "D_537137982_1_1",
+ "D_607773106_1_1",
+ "_CONTINUE1_1_1",
+ "D_578895128_1_1",
+ "D_384881609_1_1",
+ "D_483975329_1_1",
+ "D_570279754_1_1",
+ "D_907590067_1_1",
+ "D_860112841_1_1",
+ "D_158354252_1_1",
+ "D_654594205_1_1",
+ "D_550722030_1_1",
+ "D_142912472_1_1",
+ "D_158409298_1_1",
+ "D_529744595_1_1",
+ "D_315987564_1_1",
+ "D_852278004_1_1",
+ "D_391972881_1_1",
+ "D_259089008_1_1",
+ "D_209771602_1_1",
+ "D_682651189_1_1",
+ "D_750994269_1_1",
+ "D_700889863_1_1",
+ "D_990114799_1_1",
+ "D_195363361_1_1",
+ "D_216840563_1_1",
+ "D_514034680_1_1",
+ "D_247160067_1_1",
+ "D_312545873_1_1",
+ "SIBSUM_1_1",
+ "D_890637099_2_2",
+ "D_869387390_2_2",
+ "D_537137982_2_2",
+ "D_607773106_2_2",
+ "_CONTINUE1_2_2",
+ "D_578895128_2_2",
+ "D_384881609_2_2",
+ "D_483975329_2_2",
+ "D_570279754_2_2",
+ "D_907590067_2_2",
+ "D_860112841_2_2",
+ "D_158354252_2_2",
+ "D_654594205_2_2",
+ "D_550722030_2_2",
+ "D_142912472_2_2",
+ "D_158409298_2_2",
+ "D_529744595_2_2",
+ "D_315987564_2_2",
+ "D_852278004_2_2",
+ "D_391972881_2_2",
+ "D_259089008_2_2",
+ "D_209771602_2_2",
+ "D_682651189_2_2",
+ "D_750994269_2_2",
+ "D_700889863_2_2",
+ "D_990114799_2_2",
+ "D_195363361_2_2",
+ "D_216840563_2_2",
+ "D_514034680_2_2",
+ "D_247160067_2_2",
+ "D_312545873_2_2",
+ "SIBSUM_2_2",
+ "D_890637099_3_3",
+ "D_869387390_3_3",
+ "D_537137982_3_3",
+ "D_607773106_3_3",
+ "_CONTINUE1_3_3",
+ "D_578895128_3_3",
+ "D_384881609_3_3",
+ "D_483975329_3_3",
+ "D_570279754_3_3",
+ "D_907590067_3_3",
+ "D_860112841_3_3",
+ "D_158354252_3_3",
+ "D_654594205_3_3",
+ "D_550722030_3_3",
+ "D_142912472_3_3",
+ "D_158409298_3_3",
+ "D_529744595_3_3",
+ "D_315987564_3_3",
+ "D_852278004_3_3",
+ "D_391972881_3_3",
+ "D_259089008_3_3",
+ "D_209771602_3_3",
+ "D_682651189_3_3",
+ "D_750994269_3_3",
+ "D_700889863_3_3",
+ "D_990114799_3_3",
+ "D_195363361_3_3",
+ "D_216840563_3_3",
+ "D_514034680_3_3",
+ "D_247160067_3_3",
+ "D_312545873_3_3",
+ "SIBSUM_3_3",
+ "D_890637099_4_4",
+ "D_869387390_4_4",
+ "D_537137982_4_4",
+ "D_607773106_4_4",
+ "_CONTINUE1_4_4",
+ "D_578895128_4_4",
+ "D_384881609_4_4",
+ "D_483975329_4_4",
+ "D_570279754_4_4",
+ "D_907590067_4_4",
+ "D_860112841_4_4",
+ "D_158354252_4_4",
+ "D_654594205_4_4",
+ "D_550722030_4_4",
+ "D_142912472_4_4",
+ "D_158409298_4_4",
+ "D_529744595_4_4",
+ "D_315987564_4_4",
+ "D_852278004_4_4",
+ "D_391972881_4_4",
+ "D_259089008_4_4",
+ "D_209771602_4_4",
+ "D_682651189_4_4",
+ "D_750994269_4_4",
+ "D_700889863_4_4",
+ "D_990114799_4_4",
+ "D_195363361_4_4",
+ "D_216840563_4_4",
+ "D_514034680_4_4",
+ "D_247160067_4_4",
+ "D_312545873_4_4",
+ "SIBSUM_4_4",
+ "D_890637099_5_5",
+ "D_869387390_5_5",
+ "D_537137982_5_5",
+ "D_607773106_5_5",
+ "_CONTINUE1_5_5",
+ "D_578895128_5_5",
+ "D_384881609_5_5",
+ "D_483975329_5_5",
+ "D_570279754_5_5",
+ "D_907590067_5_5",
+ "D_860112841_5_5",
+ "D_158354252_5_5",
+ "D_654594205_5_5",
+ "D_550722030_5_5",
+ "D_142912472_5_5",
+ "D_158409298_5_5",
+ "D_529744595_5_5",
+ "D_315987564_5_5",
+ "D_852278004_5_5",
+ "D_391972881_5_5",
+ "D_259089008_5_5",
+ "D_209771602_5_5",
+ "D_682651189_5_5",
+ "D_750994269_5_5",
+ "D_700889863_5_5",
+ "D_990114799_5_5",
+ "D_195363361_5_5",
+ "D_216840563_5_5",
+ "D_514034680_5_5",
+ "D_247160067_5_5",
+ "D_312545873_5_5",
+ "SIBSUM_5_5",
+ "D_890637099_6_6",
+ "D_869387390_6_6",
+ "D_537137982_6_6",
+ "D_607773106_6_6",
+ "_CONTINUE1_6_6",
+ "D_578895128_6_6",
+ "D_384881609_6_6",
+ "D_483975329_6_6",
+ "D_570279754_6_6",
+ "D_907590067_6_6",
+ "D_860112841_6_6",
+ "D_158354252_6_6",
+ "D_654594205_6_6",
+ "D_550722030_6_6",
+ "D_142912472_6_6",
+ "D_158409298_6_6",
+ "D_529744595_6_6",
+ "D_315987564_6_6",
+ "D_852278004_6_6",
+ "D_391972881_6_6",
+ "D_259089008_6_6",
+ "D_209771602_6_6",
+ "D_682651189_6_6",
+ "D_750994269_6_6",
+ "D_700889863_6_6",
+ "D_990114799_6_6",
+ "D_195363361_6_6",
+ "D_216840563_6_6",
+ "D_514034680_6_6",
+ "D_247160067_6_6",
+ "D_312545873_6_6",
+ "SIBSUM_6_6",
+ "D_890637099_7_7",
+ "D_869387390_7_7",
+ "D_537137982_7_7",
+ "D_607773106_7_7",
+ "_CONTINUE1_7_7",
+ "D_578895128_7_7",
+ "D_384881609_7_7",
+ "D_483975329_7_7",
+ "D_570279754_7_7",
+ "D_907590067_7_7",
+ "D_860112841_7_7",
+ "D_158354252_7_7",
+ "D_654594205_7_7",
+ "D_550722030_7_7",
+ "D_142912472_7_7",
+ "D_158409298_7_7",
+ "D_529744595_7_7",
+ "D_315987564_7_7",
+ "D_852278004_7_7",
+ "D_391972881_7_7",
+ "D_259089008_7_7",
+ "D_209771602_7_7",
+ "D_682651189_7_7",
+ "D_750994269_7_7",
+ "D_700889863_7_7",
+ "D_990114799_7_7",
+ "D_195363361_7_7",
+ "D_216840563_7_7",
+ "D_514034680_7_7",
+ "D_247160067_7_7",
+ "D_312545873_7_7",
+ "SIBSUM_7_7",
+ "D_890637099_8_8",
+ "D_869387390_8_8",
+ "D_537137982_8_8",
+ "D_607773106_8_8",
+ "_CONTINUE1_8_8",
+ "D_578895128_8_8",
+ "D_384881609_8_8",
+ "D_483975329_8_8",
+ "D_570279754_8_8",
+ "D_907590067_8_8",
+ "D_860112841_8_8",
+ "D_158354252_8_8",
+ "D_654594205_8_8",
+ "D_550722030_8_8",
+ "D_142912472_8_8",
+ "D_158409298_8_8",
+ "D_529744595_8_8",
+ "D_315987564_8_8",
+ "D_852278004_8_8",
+ "D_391972881_8_8",
+ "D_259089008_8_8",
+ "D_209771602_8_8",
+ "D_682651189_8_8",
+ "D_750994269_8_8",
+ "D_700889863_8_8",
+ "D_990114799_8_8",
+ "D_195363361_8_8",
+ "D_216840563_8_8",
+ "D_514034680_8_8",
+ "D_247160067_8_8",
+ "D_312545873_8_8",
+ "SIBSUM_8_8",
+ "D_890637099_9_9",
+ "D_869387390_9_9",
+ "D_537137982_9_9",
+ "D_607773106_9_9",
+ "_CONTINUE1_9_9",
+ "D_578895128_9_9",
+ "D_384881609_9_9",
+ "D_483975329_9_9",
+ "D_570279754_9_9",
+ "D_907590067_9_9",
+ "D_860112841_9_9",
+ "D_158354252_9_9",
+ "D_654594205_9_9",
+ "D_550722030_9_9",
+ "D_142912472_9_9",
+ "D_158409298_9_9",
+ "D_529744595_9_9",
+ "D_315987564_9_9",
+ "D_852278004_9_9",
+ "D_391972881_9_9",
+ "D_259089008_9_9",
+ "D_209771602_9_9",
+ "D_682651189_9_9",
+ "D_750994269_9_9",
+ "D_700889863_9_9",
+ "D_990114799_9_9",
+ "D_195363361_9_9",
+ "D_216840563_9_9",
+ "D_514034680_9_9",
+ "D_247160067_9_9",
+ "D_312545873_9_9",
+ "SIBSUM_9_9",
+ "D_890637099_10_10",
+ "D_869387390_10_10",
+ "D_537137982_10_10",
+ "D_607773106_10_10",
+ "_CONTINUE1_10_10",
+ "D_578895128_10_10",
+ "D_384881609_10_10",
+ "D_483975329_10_10",
+ "D_570279754_10_10",
+ "D_907590067_10_10",
+ "D_860112841_10_10",
+ "D_158354252_10_10",
+ "D_654594205_10_10",
+ "D_550722030_10_10",
+ "D_142912472_10_10",
+ "D_158409298_10_10",
+ "D_529744595_10_10",
+ "D_315987564_10_10",
+ "D_852278004_10_10",
+ "D_391972881_10_10",
+ "D_259089008_10_10",
+ "D_209771602_10_10",
+ "D_682651189_10_10",
+ "D_750994269_10_10",
+ "D_700889863_10_10",
+ "D_990114799_10_10",
+ "D_195363361_10_10",
+ "D_216840563_10_10",
+ "D_514034680_10_10",
+ "D_247160067_10_10",
+ "D_312545873_10_10",
+ "SIBSUM_10_10",
+ "D_890637099_11_11",
+ "D_869387390_11_11",
+ "D_537137982_11_11",
+ "D_607773106_11_11",
+ "_CONTINUE1_11_11",
+ "D_578895128_11_11",
+ "D_384881609_11_11",
+ "D_483975329_11_11",
+ "D_570279754_11_11",
+ "D_907590067_11_11",
+ "D_860112841_11_11",
+ "D_158354252_11_11",
+ "D_654594205_11_11",
+ "D_550722030_11_11",
+ "D_142912472_11_11",
+ "D_158409298_11_11",
+ "D_529744595_11_11",
+ "D_315987564_11_11",
+ "D_852278004_11_11",
+ "D_391972881_11_11",
+ "D_259089008_11_11",
+ "D_209771602_11_11",
+ "D_682651189_11_11",
+ "D_750994269_11_11",
+ "D_700889863_11_11",
+ "D_990114799_11_11",
+ "D_195363361_11_11",
+ "D_216840563_11_11",
+ "D_514034680_11_11",
+ "D_247160067_11_11",
+ "D_312545873_11_11",
+ "SIBSUM_11_11",
+ "D_890637099_12_12",
+ "D_869387390_12_12",
+ "D_537137982_12_12",
+ "D_607773106_12_12",
+ "_CONTINUE1_12_12",
+ "D_578895128_12_12",
+ "D_384881609_12_12",
+ "D_483975329_12_12",
+ "D_570279754_12_12",
+ "D_907590067_12_12",
+ "D_860112841_12_12",
+ "D_158354252_12_12",
+ "D_654594205_12_12",
+ "D_550722030_12_12",
+ "D_142912472_12_12",
+ "D_158409298_12_12",
+ "D_529744595_12_12",
+ "D_315987564_12_12",
+ "D_852278004_12_12",
+ "D_391972881_12_12",
+ "D_259089008_12_12",
+ "D_209771602_12_12",
+ "D_682651189_12_12",
+ "D_750994269_12_12",
+ "D_700889863_12_12",
+ "D_990114799_12_12",
+ "D_195363361_12_12",
+ "D_216840563_12_12",
+ "D_514034680_12_12",
+ "D_247160067_12_12",
+ "D_312545873_12_12",
+ "SIBSUM_12_12",
+ "D_890637099_13_13",
+ "D_869387390_13_13",
+ "D_537137982_13_13",
+ "D_607773106_13_13",
+ "_CONTINUE1_13_13",
+ "D_578895128_13_13",
+ "D_384881609_13_13",
+ "D_483975329_13_13",
+ "D_570279754_13_13",
+ "D_907590067_13_13",
+ "D_860112841_13_13",
+ "D_158354252_13_13",
+ "D_654594205_13_13",
+ "D_550722030_13_13",
+ "D_142912472_13_13",
+ "D_158409298_13_13",
+ "D_529744595_13_13",
+ "D_315987564_13_13",
+ "D_852278004_13_13",
+ "D_391972881_13_13",
+ "D_259089008_13_13",
+ "D_209771602_13_13",
+ "D_682651189_13_13",
+ "D_750994269_13_13",
+ "D_700889863_13_13",
+ "D_990114799_13_13",
+ "D_195363361_13_13",
+ "D_216840563_13_13",
+ "D_514034680_13_13",
+ "D_247160067_13_13",
+ "D_312545873_13_13",
+ "SIBSUM_13_13",
+ "D_890637099_14_14",
+ "D_869387390_14_14",
+ "D_537137982_14_14",
+ "D_607773106_14_14",
+ "_CONTINUE1_14_14",
+ "D_578895128_14_14",
+ "D_384881609_14_14",
+ "D_483975329_14_14",
+ "D_570279754_14_14",
+ "D_907590067_14_14",
+ "D_860112841_14_14",
+ "D_158354252_14_14",
+ "D_654594205_14_14",
+ "D_550722030_14_14",
+ "D_142912472_14_14",
+ "D_158409298_14_14",
+ "D_529744595_14_14",
+ "D_315987564_14_14",
+ "D_852278004_14_14",
+ "D_391972881_14_14",
+ "D_259089008_14_14",
+ "D_209771602_14_14",
+ "D_682651189_14_14",
+ "D_750994269_14_14",
+ "D_700889863_14_14",
+ "D_990114799_14_14",
+ "D_195363361_14_14",
+ "D_216840563_14_14",
+ "D_514034680_14_14",
+ "D_247160067_14_14",
+ "D_312545873_14_14",
+ "SIBSUM_14_14",
+ "D_890637099_15_15",
+ "D_869387390_15_15",
+ "D_537137982_15_15",
+ "D_607773106_15_15",
+ "_CONTINUE1_15_15",
+ "D_578895128_15_15",
+ "D_384881609_15_15",
+ "D_483975329_15_15",
+ "D_570279754_15_15",
+ "D_907590067_15_15",
+ "D_860112841_15_15",
+ "D_158354252_15_15",
+ "D_654594205_15_15",
+ "D_550722030_15_15",
+ "D_142912472_15_15",
+ "D_158409298_15_15",
+ "D_529744595_15_15",
+ "D_315987564_15_15",
+ "D_852278004_15_15",
+ "D_391972881_15_15",
+ "D_259089008_15_15",
+ "D_209771602_15_15",
+ "D_682651189_15_15",
+ "D_750994269_15_15",
+ "D_700889863_15_15",
+ "D_990114799_15_15",
+ "D_195363361_15_15",
+ "D_216840563_15_15",
+ "D_514034680_15_15",
+ "D_247160067_15_15",
+ "D_312545873_15_15",
+ "SIBSUM_15_15",
+ "D_890637099_16_16",
+ "D_869387390_16_16",
+ "D_537137982_16_16",
+ "D_607773106_16_16",
+ "_CONTINUE1_16_16",
+ "D_578895128_16_16",
+ "D_384881609_16_16",
+ "D_483975329_16_16",
+ "D_570279754_16_16",
+ "D_907590067_16_16",
+ "D_860112841_16_16",
+ "D_158354252_16_16",
+ "D_654594205_16_16",
+ "D_550722030_16_16",
+ "D_142912472_16_16",
+ "D_158409298_16_16",
+ "D_529744595_16_16",
+ "D_315987564_16_16",
+ "D_852278004_16_16",
+ "D_391972881_16_16",
+ "D_259089008_16_16",
+ "D_209771602_16_16",
+ "D_682651189_16_16",
+ "D_750994269_16_16",
+ "D_700889863_16_16",
+ "D_990114799_16_16",
+ "D_195363361_16_16",
+ "D_216840563_16_16",
+ "D_514034680_16_16",
+ "D_247160067_16_16",
+ "D_312545873_16_16",
+ "SIBSUM_16_16",
+ "D_890637099_17_17",
+ "D_869387390_17_17",
+ "D_537137982_17_17",
+ "D_607773106_17_17",
+ "_CONTINUE1_17_17",
+ "D_578895128_17_17",
+ "D_384881609_17_17",
+ "D_483975329_17_17",
+ "D_570279754_17_17",
+ "D_907590067_17_17",
+ "D_860112841_17_17",
+ "D_158354252_17_17",
+ "D_654594205_17_17",
+ "D_550722030_17_17",
+ "D_142912472_17_17",
+ "D_158409298_17_17",
+ "D_529744595_17_17",
+ "D_315987564_17_17",
+ "D_852278004_17_17",
+ "D_391972881_17_17",
+ "D_259089008_17_17",
+ "D_209771602_17_17",
+ "D_682651189_17_17",
+ "D_750994269_17_17",
+ "D_700889863_17_17",
+ "D_990114799_17_17",
+ "D_195363361_17_17",
+ "D_216840563_17_17",
+ "D_514034680_17_17",
+ "D_247160067_17_17",
+ "D_312545873_17_17",
+ "SIBSUM_17_17",
+ "D_890637099_18_18",
+ "D_869387390_18_18",
+ "D_537137982_18_18",
+ "D_607773106_18_18",
+ "_CONTINUE1_18_18",
+ "D_578895128_18_18",
+ "D_384881609_18_18",
+ "D_483975329_18_18",
+ "D_570279754_18_18",
+ "D_907590067_18_18",
+ "D_860112841_18_18",
+ "D_158354252_18_18",
+ "D_654594205_18_18",
+ "D_550722030_18_18",
+ "D_142912472_18_18",
+ "D_158409298_18_18",
+ "D_529744595_18_18",
+ "D_315987564_18_18",
+ "D_852278004_18_18",
+ "D_391972881_18_18",
+ "D_259089008_18_18",
+ "D_209771602_18_18",
+ "D_682651189_18_18",
+ "D_750994269_18_18",
+ "D_700889863_18_18",
+ "D_990114799_18_18",
+ "D_195363361_18_18",
+ "D_216840563_18_18",
+ "D_514034680_18_18",
+ "D_247160067_18_18",
+ "D_312545873_18_18",
+ "SIBSUM_18_18",
+ "D_890637099_19_19",
+ "D_869387390_19_19",
+ "D_537137982_19_19",
+ "D_607773106_19_19",
+ "_CONTINUE1_19_19",
+ "D_578895128_19_19",
+ "D_384881609_19_19",
+ "D_483975329_19_19",
+ "D_570279754_19_19",
+ "D_907590067_19_19",
+ "D_860112841_19_19",
+ "D_158354252_19_19",
+ "D_654594205_19_19",
+ "D_550722030_19_19",
+ "D_142912472_19_19",
+ "D_158409298_19_19",
+ "D_529744595_19_19",
+ "D_315987564_19_19",
+ "D_852278004_19_19",
+ "D_391972881_19_19",
+ "D_259089008_19_19",
+ "D_209771602_19_19",
+ "D_682651189_19_19",
+ "D_750994269_19_19",
+ "D_700889863_19_19",
+ "D_990114799_19_19",
+ "D_195363361_19_19",
+ "D_216840563_19_19",
+ "D_514034680_19_19",
+ "D_247160067_19_19",
+ "D_312545873_19_19",
+ "SIBSUM_19_19",
+ "D_890637099_20_20",
+ "D_869387390_20_20",
+ "D_537137982_20_20",
+ "D_607773106_20_20",
+ "_CONTINUE1_20_20",
+ "D_578895128_20_20",
+ "D_384881609_20_20",
+ "D_483975329_20_20",
+ "D_570279754_20_20",
+ "D_907590067_20_20",
+ "D_860112841_20_20",
+ "D_158354252_20_20",
+ "D_654594205_20_20",
+ "D_550722030_20_20",
+ "D_142912472_20_20",
+ "D_158409298_20_20",
+ "D_529744595_20_20",
+ "D_315987564_20_20",
+ "D_852278004_20_20",
+ "D_391972881_20_20",
+ "D_259089008_20_20",
+ "D_209771602_20_20",
+ "D_682651189_20_20",
+ "D_750994269_20_20",
+ "D_700889863_20_20",
+ "D_990114799_20_20",
+ "D_195363361_20_20",
+ "D_216840563_20_20",
+ "D_514034680_20_20",
+ "D_247160067_20_20",
+ "D_312545873_20_20",
+ "SIBSUM_20_20",
+ "D_890637099_21_21",
+ "D_869387390_21_21",
+ "D_537137982_21_21",
+ "D_607773106_21_21",
+ "_CONTINUE1_21_21",
+ "D_578895128_21_21",
+ "D_384881609_21_21",
+ "D_483975329_21_21",
+ "D_570279754_21_21",
+ "D_907590067_21_21",
+ "D_860112841_21_21",
+ "D_158354252_21_21",
+ "D_654594205_21_21",
+ "D_550722030_21_21",
+ "D_142912472_21_21",
+ "D_158409298_21_21",
+ "D_529744595_21_21",
+ "D_315987564_21_21",
+ "D_852278004_21_21",
+ "D_391972881_21_21",
+ "D_259089008_21_21",
+ "D_209771602_21_21",
+ "D_682651189_21_21",
+ "D_750994269_21_21",
+ "D_700889863_21_21",
+ "D_990114799_21_21",
+ "D_195363361_21_21",
+ "D_216840563_21_21",
+ "D_514034680_21_21",
+ "D_247160067_21_21",
+ "D_312545873_21_21",
+ "SIBSUM_21_21",
+ "D_890637099_22_22",
+ "D_869387390_22_22",
+ "D_537137982_22_22",
+ "D_607773106_22_22",
+ "_CONTINUE1_22_22",
+ "D_578895128_22_22",
+ "D_384881609_22_22",
+ "D_483975329_22_22",
+ "D_570279754_22_22",
+ "D_907590067_22_22",
+ "D_860112841_22_22",
+ "D_158354252_22_22",
+ "D_654594205_22_22",
+ "D_550722030_22_22",
+ "D_142912472_22_22",
+ "D_158409298_22_22",
+ "D_529744595_22_22",
+ "D_315987564_22_22",
+ "D_852278004_22_22",
+ "D_391972881_22_22",
+ "D_259089008_22_22",
+ "D_209771602_22_22",
+ "D_682651189_22_22",
+ "D_750994269_22_22",
+ "D_700889863_22_22",
+ "D_990114799_22_22",
+ "D_195363361_22_22",
+ "D_216840563_22_22",
+ "D_514034680_22_22",
+ "D_247160067_22_22",
+ "D_312545873_22_22",
+ "SIBSUM_22_22",
+ "D_890637099_23_23",
+ "D_869387390_23_23",
+ "D_537137982_23_23",
+ "D_607773106_23_23",
+ "_CONTINUE1_23_23",
+ "D_578895128_23_23",
+ "D_384881609_23_23",
+ "D_483975329_23_23",
+ "D_570279754_23_23",
+ "D_907590067_23_23",
+ "D_860112841_23_23",
+ "D_158354252_23_23",
+ "D_654594205_23_23",
+ "D_550722030_23_23",
+ "D_142912472_23_23",
+ "D_158409298_23_23",
+ "D_529744595_23_23",
+ "D_315987564_23_23",
+ "D_852278004_23_23",
+ "D_391972881_23_23",
+ "D_259089008_23_23",
+ "D_209771602_23_23",
+ "D_682651189_23_23",
+ "D_750994269_23_23",
+ "D_700889863_23_23",
+ "D_990114799_23_23",
+ "D_195363361_23_23",
+ "D_216840563_23_23",
+ "D_514034680_23_23",
+ "D_247160067_23_23",
+ "D_312545873_23_23",
+ "SIBSUM_23_23",
+ "D_890637099_24_24",
+ "D_869387390_24_24",
+ "D_537137982_24_24",
+ "D_607773106_24_24",
+ "_CONTINUE1_24_24",
+ "D_578895128_24_24",
+ "D_384881609_24_24",
+ "D_483975329_24_24",
+ "D_570279754_24_24",
+ "D_907590067_24_24",
+ "D_860112841_24_24",
+ "D_158354252_24_24",
+ "D_654594205_24_24",
+ "D_550722030_24_24",
+ "D_142912472_24_24",
+ "D_158409298_24_24",
+ "D_529744595_24_24",
+ "D_315987564_24_24",
+ "D_852278004_24_24",
+ "D_391972881_24_24",
+ "D_259089008_24_24",
+ "D_209771602_24_24",
+ "D_682651189_24_24",
+ "D_750994269_24_24",
+ "D_700889863_24_24",
+ "D_990114799_24_24",
+ "D_195363361_24_24",
+ "D_216840563_24_24",
+ "D_514034680_24_24",
+ "D_247160067_24_24",
+ "D_312545873_24_24",
+ "SIBSUM_24_24",
+ "D_890637099_25_25",
+ "D_869387390_25_25",
+ "D_537137982_25_25",
+ "D_607773106_25_25",
+ "_CONTINUE1_25_25",
+ "D_578895128_25_25",
+ "D_384881609_25_25",
+ "D_483975329_25_25",
+ "D_570279754_25_25",
+ "D_907590067_25_25",
+ "D_860112841_25_25",
+ "D_158354252_25_25",
+ "D_654594205_25_25",
+ "D_550722030_25_25",
+ "D_142912472_25_25",
+ "D_158409298_25_25",
+ "D_529744595_25_25",
+ "D_315987564_25_25",
+ "D_852278004_25_25",
+ "D_391972881_25_25",
+ "D_259089008_25_25",
+ "D_209771602_25_25",
+ "D_682651189_25_25",
+ "D_750994269_25_25",
+ "D_700889863_25_25",
+ "D_990114799_25_25",
+ "D_195363361_25_25",
+ "D_216840563_25_25",
+ "D_514034680_25_25",
+ "D_247160067_25_25",
+ "D_312545873_25_25",
+ "SIBSUM_25_25",
+ "D_640010727_1_1",
+ "D_236590500_1_1",
+ "D_718867914_1_1",
+ "_CONTINUE2_1_1",
+ "D_812370563_1_1",
+ "D_900939817_1_1",
+ "D_938150507_1_1",
+ "D_601211723_1_1",
+ "D_861788020_1_1",
+ "D_204425387_1_1",
+ "D_558929585_1_1",
+ "D_233764880_1_1",
+ "D_905145893_1_1",
+ "D_473190270_1_1",
+ "D_483735587_1_1",
+ "D_331759900_1_1",
+ "D_513077276_1_1",
+ "D_519974530_1_1",
+ "D_907776050_1_1",
+ "D_271684775_1_1",
+ "D_252160589_1_1",
+ "D_774774759_1_1",
+ "D_127257956_1_1",
+ "D_496917282_1_1",
+ "D_908129316_1_1",
+ "D_795003496_1_1",
+ "D_969177591_1_1",
+ "D_116065851_1_1",
+ "D_278159347_1_1",
+ "D_845219872_1_1",
+ "CHILDSUM_1_1",
+ "D_640010727_2_2",
+ "D_236590500_2_2",
+ "D_718867914_2_2",
+ "_CONTINUE2_2_2",
+ "D_812370563_2_2",
+ "D_900939817_2_2",
+ "D_938150507_2_2",
+ "D_601211723_2_2",
+ "D_861788020_2_2",
+ "D_204425387_2_2",
+ "D_558929585_2_2",
+ "D_233764880_2_2",
+ "D_905145893_2_2",
+ "D_473190270_2_2",
+ "D_483735587_2_2",
+ "D_331759900_2_2",
+ "D_513077276_2_2",
+ "D_519974530_2_2",
+ "D_907776050_2_2",
+ "D_271684775_2_2",
+ "D_252160589_2_2",
+ "D_774774759_2_2",
+ "D_127257956_2_2",
+ "D_496917282_2_2",
+ "D_908129316_2_2",
+ "D_795003496_2_2",
+ "D_969177591_2_2",
+ "D_116065851_2_2",
+ "D_278159347_2_2",
+ "D_845219872_2_2",
+ "CHILDSUM_2_2",
+ "D_640010727_3_3",
+ "D_236590500_3_3",
+ "D_718867914_3_3",
+ "_CONTINUE2_3_3",
+ "D_812370563_3_3",
+ "D_900939817_3_3",
+ "D_938150507_3_3",
+ "D_601211723_3_3",
+ "D_861788020_3_3",
+ "D_204425387_3_3",
+ "D_558929585_3_3",
+ "D_233764880_3_3",
+ "D_905145893_3_3",
+ "D_473190270_3_3",
+ "D_483735587_3_3",
+ "D_331759900_3_3",
+ "D_513077276_3_3",
+ "D_519974530_3_3",
+ "D_907776050_3_3",
+ "D_271684775_3_3",
+ "D_252160589_3_3",
+ "D_774774759_3_3",
+ "D_127257956_3_3",
+ "D_496917282_3_3",
+ "D_908129316_3_3",
+ "D_795003496_3_3",
+ "D_969177591_3_3",
+ "D_116065851_3_3",
+ "D_278159347_3_3",
+ "D_845219872_3_3",
+ "CHILDSUM_3_3",
+ "D_640010727_4_4",
+ "D_236590500_4_4",
+ "D_718867914_4_4",
+ "_CONTINUE2_4_4",
+ "D_812370563_4_4",
+ "D_900939817_4_4",
+ "D_938150507_4_4",
+ "D_601211723_4_4",
+ "D_861788020_4_4",
+ "D_204425387_4_4",
+ "D_558929585_4_4",
+ "D_233764880_4_4",
+ "D_905145893_4_4",
+ "D_473190270_4_4",
+ "D_483735587_4_4",
+ "D_331759900_4_4",
+ "D_513077276_4_4",
+ "D_519974530_4_4",
+ "D_907776050_4_4",
+ "D_271684775_4_4",
+ "D_252160589_4_4",
+ "D_774774759_4_4",
+ "D_127257956_4_4",
+ "D_496917282_4_4",
+ "D_908129316_4_4",
+ "D_795003496_4_4",
+ "D_969177591_4_4",
+ "D_116065851_4_4",
+ "D_278159347_4_4",
+ "D_845219872_4_4",
+ "CHILDSUM_4_4",
+ "D_640010727_5_5",
+ "D_236590500_5_5",
+ "D_718867914_5_5",
+ "_CONTINUE2_5_5",
+ "D_812370563_5_5",
+ "D_900939817_5_5",
+ "D_938150507_5_5",
+ "D_601211723_5_5",
+ "D_861788020_5_5",
+ "D_204425387_5_5",
+ "D_558929585_5_5",
+ "D_233764880_5_5",
+ "D_905145893_5_5",
+ "D_473190270_5_5",
+ "D_483735587_5_5",
+ "D_331759900_5_5",
+ "D_513077276_5_5",
+ "D_519974530_5_5",
+ "D_907776050_5_5",
+ "D_271684775_5_5",
+ "D_252160589_5_5",
+ "D_774774759_5_5",
+ "D_127257956_5_5",
+ "D_496917282_5_5",
+ "D_908129316_5_5",
+ "D_795003496_5_5",
+ "D_969177591_5_5",
+ "D_116065851_5_5",
+ "D_278159347_5_5",
+ "D_845219872_5_5",
+ "CHILDSUM_5_5",
+ "D_640010727_6_6",
+ "D_236590500_6_6",
+ "D_718867914_6_6",
+ "_CONTINUE2_6_6",
+ "D_812370563_6_6",
+ "D_900939817_6_6",
+ "D_938150507_6_6",
+ "D_601211723_6_6",
+ "D_861788020_6_6",
+ "D_204425387_6_6",
+ "D_558929585_6_6",
+ "D_233764880_6_6",
+ "D_905145893_6_6",
+ "D_473190270_6_6",
+ "D_483735587_6_6",
+ "D_331759900_6_6",
+ "D_513077276_6_6",
+ "D_519974530_6_6",
+ "D_907776050_6_6",
+ "D_271684775_6_6",
+ "D_252160589_6_6",
+ "D_774774759_6_6",
+ "D_127257956_6_6",
+ "D_496917282_6_6",
+ "D_908129316_6_6",
+ "D_795003496_6_6",
+ "D_969177591_6_6",
+ "D_116065851_6_6",
+ "D_278159347_6_6",
+ "D_845219872_6_6",
+ "CHILDSUM_6_6",
+ "D_640010727_7_7",
+ "D_236590500_7_7",
+ "D_718867914_7_7",
+ "_CONTINUE2_7_7",
+ "D_812370563_7_7",
+ "D_900939817_7_7",
+ "D_938150507_7_7",
+ "D_601211723_7_7",
+ "D_861788020_7_7",
+ "D_204425387_7_7",
+ "D_558929585_7_7",
+ "D_233764880_7_7",
+ "D_905145893_7_7",
+ "D_473190270_7_7",
+ "D_483735587_7_7",
+ "D_331759900_7_7",
+ "D_513077276_7_7",
+ "D_519974530_7_7",
+ "D_907776050_7_7",
+ "D_271684775_7_7",
+ "D_252160589_7_7",
+ "D_774774759_7_7",
+ "D_127257956_7_7",
+ "D_496917282_7_7",
+ "D_908129316_7_7",
+ "D_795003496_7_7",
+ "D_969177591_7_7",
+ "D_116065851_7_7",
+ "D_278159347_7_7",
+ "D_845219872_7_7",
+ "CHILDSUM_7_7",
+ "D_640010727_8_8",
+ "D_236590500_8_8",
+ "D_718867914_8_8",
+ "_CONTINUE2_8_8",
+ "D_812370563_8_8",
+ "D_900939817_8_8",
+ "D_938150507_8_8",
+ "D_601211723_8_8",
+ "D_861788020_8_8",
+ "D_204425387_8_8",
+ "D_558929585_8_8",
+ "D_233764880_8_8",
+ "D_905145893_8_8",
+ "D_473190270_8_8",
+ "D_483735587_8_8",
+ "D_331759900_8_8",
+ "D_513077276_8_8",
+ "D_519974530_8_8",
+ "D_907776050_8_8",
+ "D_271684775_8_8",
+ "D_252160589_8_8",
+ "D_774774759_8_8",
+ "D_127257956_8_8",
+ "D_496917282_8_8",
+ "D_908129316_8_8",
+ "D_795003496_8_8",
+ "D_969177591_8_8",
+ "D_116065851_8_8",
+ "D_278159347_8_8",
+ "D_845219872_8_8",
+ "CHILDSUM_8_8",
+ "D_640010727_9_9",
+ "D_236590500_9_9",
+ "D_718867914_9_9",
+ "_CONTINUE2_9_9",
+ "D_812370563_9_9",
+ "D_900939817_9_9",
+ "D_938150507_9_9",
+ "D_601211723_9_9",
+ "D_861788020_9_9",
+ "D_204425387_9_9",
+ "D_558929585_9_9",
+ "D_233764880_9_9",
+ "D_905145893_9_9",
+ "D_473190270_9_9",
+ "D_483735587_9_9",
+ "D_331759900_9_9",
+ "D_513077276_9_9",
+ "D_519974530_9_9",
+ "D_907776050_9_9",
+ "D_271684775_9_9",
+ "D_252160589_9_9",
+ "D_774774759_9_9",
+ "D_127257956_9_9",
+ "D_496917282_9_9",
+ "D_908129316_9_9",
+ "D_795003496_9_9",
+ "D_969177591_9_9",
+ "D_116065851_9_9",
+ "D_278159347_9_9",
+ "D_845219872_9_9",
+ "CHILDSUM_9_9",
+ "D_640010727_10_10",
+ "D_236590500_10_10",
+ "D_718867914_10_10",
+ "_CONTINUE2_10_10",
+ "D_812370563_10_10",
+ "D_900939817_10_10",
+ "D_938150507_10_10",
+ "D_601211723_10_10",
+ "D_861788020_10_10",
+ "D_204425387_10_10",
+ "D_558929585_10_10",
+ "D_233764880_10_10",
+ "D_905145893_10_10",
+ "D_473190270_10_10",
+ "D_483735587_10_10",
+ "D_331759900_10_10",
+ "D_513077276_10_10",
+ "D_519974530_10_10",
+ "D_907776050_10_10",
+ "D_271684775_10_10",
+ "D_252160589_10_10",
+ "D_774774759_10_10",
+ "D_127257956_10_10",
+ "D_496917282_10_10",
+ "D_908129316_10_10",
+ "D_795003496_10_10",
+ "D_969177591_10_10",
+ "D_116065851_10_10",
+ "D_278159347_10_10",
+ "D_845219872_10_10",
+ "CHILDSUM_10_10",
+ "D_640010727_11_11",
+ "D_236590500_11_11",
+ "D_718867914_11_11",
+ "_CONTINUE2_11_11",
+ "D_812370563_11_11",
+ "D_900939817_11_11",
+ "D_938150507_11_11",
+ "D_601211723_11_11",
+ "D_861788020_11_11",
+ "D_204425387_11_11",
+ "D_558929585_11_11",
+ "D_233764880_11_11",
+ "D_905145893_11_11",
+ "D_473190270_11_11",
+ "D_483735587_11_11",
+ "D_331759900_11_11",
+ "D_513077276_11_11",
+ "D_519974530_11_11",
+ "D_907776050_11_11",
+ "D_271684775_11_11",
+ "D_252160589_11_11",
+ "D_774774759_11_11",
+ "D_127257956_11_11",
+ "D_496917282_11_11",
+ "D_908129316_11_11",
+ "D_795003496_11_11",
+ "D_969177591_11_11",
+ "D_116065851_11_11",
+ "D_278159347_11_11",
+ "D_845219872_11_11",
+ "CHILDSUM_11_11",
+ "D_640010727_12_12",
+ "D_236590500_12_12",
+ "D_718867914_12_12",
+ "_CONTINUE2_12_12",
+ "D_812370563_12_12",
+ "D_900939817_12_12",
+ "D_938150507_12_12",
+ "D_601211723_12_12",
+ "D_861788020_12_12",
+ "D_204425387_12_12",
+ "D_558929585_12_12",
+ "D_233764880_12_12",
+ "D_905145893_12_12",
+ "D_473190270_12_12",
+ "D_483735587_12_12",
+ "D_331759900_12_12",
+ "D_513077276_12_12",
+ "D_519974530_12_12",
+ "D_907776050_12_12",
+ "D_271684775_12_12",
+ "D_252160589_12_12",
+ "D_774774759_12_12",
+ "D_127257956_12_12",
+ "D_496917282_12_12",
+ "D_908129316_12_12",
+ "D_795003496_12_12",
+ "D_969177591_12_12",
+ "D_116065851_12_12",
+ "D_278159347_12_12",
+ "D_845219872_12_12",
+ "CHILDSUM_12_12",
+ "D_640010727_13_13",
+ "D_236590500_13_13",
+ "D_718867914_13_13",
+ "_CONTINUE2_13_13",
+ "D_812370563_13_13",
+ "D_900939817_13_13",
+ "D_938150507_13_13",
+ "D_601211723_13_13",
+ "D_861788020_13_13",
+ "D_204425387_13_13",
+ "D_558929585_13_13",
+ "D_233764880_13_13",
+ "D_905145893_13_13",
+ "D_473190270_13_13",
+ "D_483735587_13_13",
+ "D_331759900_13_13",
+ "D_513077276_13_13",
+ "D_519974530_13_13",
+ "D_907776050_13_13",
+ "D_271684775_13_13",
+ "D_252160589_13_13",
+ "D_774774759_13_13",
+ "D_127257956_13_13",
+ "D_496917282_13_13",
+ "D_908129316_13_13",
+ "D_795003496_13_13",
+ "D_969177591_13_13",
+ "D_116065851_13_13",
+ "D_278159347_13_13",
+ "D_845219872_13_13",
+ "CHILDSUM_13_13",
+ "D_640010727_14_14",
+ "D_236590500_14_14",
+ "D_718867914_14_14",
+ "_CONTINUE2_14_14",
+ "D_812370563_14_14",
+ "D_900939817_14_14",
+ "D_938150507_14_14",
+ "D_601211723_14_14",
+ "D_861788020_14_14",
+ "D_204425387_14_14",
+ "D_558929585_14_14",
+ "D_233764880_14_14",
+ "D_905145893_14_14",
+ "D_473190270_14_14",
+ "D_483735587_14_14",
+ "D_331759900_14_14",
+ "D_513077276_14_14",
+ "D_519974530_14_14",
+ "D_907776050_14_14",
+ "D_271684775_14_14",
+ "D_252160589_14_14",
+ "D_774774759_14_14",
+ "D_127257956_14_14",
+ "D_496917282_14_14",
+ "D_908129316_14_14",
+ "D_795003496_14_14",
+ "D_969177591_14_14",
+ "D_116065851_14_14",
+ "D_278159347_14_14",
+ "D_845219872_14_14",
+ "CHILDSUM_14_14",
+ "D_640010727_15_15",
+ "D_236590500_15_15",
+ "D_718867914_15_15",
+ "_CONTINUE2_15_15",
+ "D_812370563_15_15",
+ "D_900939817_15_15",
+ "D_938150507_15_15",
+ "D_601211723_15_15",
+ "D_861788020_15_15",
+ "D_204425387_15_15",
+ "D_558929585_15_15",
+ "D_233764880_15_15",
+ "D_905145893_15_15",
+ "D_473190270_15_15",
+ "D_483735587_15_15",
+ "D_331759900_15_15",
+ "D_513077276_15_15",
+ "D_519974530_15_15",
+ "D_907776050_15_15",
+ "D_271684775_15_15",
+ "D_252160589_15_15",
+ "D_774774759_15_15",
+ "D_127257956_15_15",
+ "D_496917282_15_15",
+ "D_908129316_15_15",
+ "D_795003496_15_15",
+ "D_969177591_15_15",
+ "D_116065851_15_15",
+ "D_278159347_15_15",
+ "D_845219872_15_15",
+ "CHILDSUM_15_15",
+ "D_640010727_16_16",
+ "D_236590500_16_16",
+ "D_718867914_16_16",
+ "_CONTINUE2_16_16",
+ "D_812370563_16_16",
+ "D_900939817_16_16",
+ "D_938150507_16_16",
+ "D_601211723_16_16",
+ "D_861788020_16_16",
+ "D_204425387_16_16",
+ "D_558929585_16_16",
+ "D_233764880_16_16",
+ "D_905145893_16_16",
+ "D_473190270_16_16",
+ "D_483735587_16_16",
+ "D_331759900_16_16",
+ "D_513077276_16_16",
+ "D_519974530_16_16",
+ "D_907776050_16_16",
+ "D_271684775_16_16",
+ "D_252160589_16_16",
+ "D_774774759_16_16",
+ "D_127257956_16_16",
+ "D_496917282_16_16",
+ "D_908129316_16_16",
+ "D_795003496_16_16",
+ "D_969177591_16_16",
+ "D_116065851_16_16",
+ "D_278159347_16_16",
+ "D_845219872_16_16",
+ "CHILDSUM_16_16",
+ "D_640010727_17_17",
+ "D_236590500_17_17",
+ "D_718867914_17_17",
+ "_CONTINUE2_17_17",
+ "D_812370563_17_17",
+ "D_900939817_17_17",
+ "D_938150507_17_17",
+ "D_601211723_17_17",
+ "D_861788020_17_17",
+ "D_204425387_17_17",
+ "D_558929585_17_17",
+ "D_233764880_17_17",
+ "D_905145893_17_17",
+ "D_473190270_17_17",
+ "D_483735587_17_17",
+ "D_331759900_17_17",
+ "D_513077276_17_17",
+ "D_519974530_17_17",
+ "D_907776050_17_17",
+ "D_271684775_17_17",
+ "D_252160589_17_17",
+ "D_774774759_17_17",
+ "D_127257956_17_17",
+ "D_496917282_17_17",
+ "D_908129316_17_17",
+ "D_795003496_17_17",
+ "D_969177591_17_17",
+ "D_116065851_17_17",
+ "D_278159347_17_17",
+ "D_845219872_17_17",
+ "CHILDSUM_17_17",
+ "D_640010727_18_18",
+ "D_236590500_18_18",
+ "D_718867914_18_18",
+ "_CONTINUE2_18_18",
+ "D_812370563_18_18",
+ "D_900939817_18_18",
+ "D_938150507_18_18",
+ "D_601211723_18_18",
+ "D_861788020_18_18",
+ "D_204425387_18_18",
+ "D_558929585_18_18",
+ "D_233764880_18_18",
+ "D_905145893_18_18",
+ "D_473190270_18_18",
+ "D_483735587_18_18",
+ "D_331759900_18_18",
+ "D_513077276_18_18",
+ "D_519974530_18_18",
+ "D_907776050_18_18",
+ "D_271684775_18_18",
+ "D_252160589_18_18",
+ "D_774774759_18_18",
+ "D_127257956_18_18",
+ "D_496917282_18_18",
+ "D_908129316_18_18",
+ "D_795003496_18_18",
+ "D_969177591_18_18",
+ "D_116065851_18_18",
+ "D_278159347_18_18",
+ "D_845219872_18_18",
+ "CHILDSUM_18_18",
+ "D_640010727_19_19",
+ "D_236590500_19_19",
+ "D_718867914_19_19",
+ "_CONTINUE2_19_19",
+ "D_812370563_19_19",
+ "D_900939817_19_19",
+ "D_938150507_19_19",
+ "D_601211723_19_19",
+ "D_861788020_19_19",
+ "D_204425387_19_19",
+ "D_558929585_19_19",
+ "D_233764880_19_19",
+ "D_905145893_19_19",
+ "D_473190270_19_19",
+ "D_483735587_19_19",
+ "D_331759900_19_19",
+ "D_513077276_19_19",
+ "D_519974530_19_19",
+ "D_907776050_19_19",
+ "D_271684775_19_19",
+ "D_252160589_19_19",
+ "D_774774759_19_19",
+ "D_127257956_19_19",
+ "D_496917282_19_19",
+ "D_908129316_19_19",
+ "D_795003496_19_19",
+ "D_969177591_19_19",
+ "D_116065851_19_19",
+ "D_278159347_19_19",
+ "D_845219872_19_19",
+ "CHILDSUM_19_19",
+ "D_640010727_20_20",
+ "D_236590500_20_20",
+ "D_718867914_20_20",
+ "_CONTINUE2_20_20",
+ "D_812370563_20_20",
+ "D_900939817_20_20",
+ "D_938150507_20_20",
+ "D_601211723_20_20",
+ "D_861788020_20_20",
+ "D_204425387_20_20",
+ "D_558929585_20_20",
+ "D_233764880_20_20",
+ "D_905145893_20_20",
+ "D_473190270_20_20",
+ "D_483735587_20_20",
+ "D_331759900_20_20",
+ "D_513077276_20_20",
+ "D_519974530_20_20",
+ "D_907776050_20_20",
+ "D_271684775_20_20",
+ "D_252160589_20_20",
+ "D_774774759_20_20",
+ "D_127257956_20_20",
+ "D_496917282_20_20",
+ "D_908129316_20_20",
+ "D_795003496_20_20",
+ "D_969177591_20_20",
+ "D_116065851_20_20",
+ "D_278159347_20_20",
+ "D_845219872_20_20",
+ "CHILDSUM_20_20",
+ "D_640010727_21_21",
+ "D_236590500_21_21",
+ "D_718867914_21_21",
+ "_CONTINUE2_21_21",
+ "D_812370563_21_21",
+ "D_900939817_21_21",
+ "D_938150507_21_21",
+ "D_601211723_21_21",
+ "D_861788020_21_21",
+ "D_204425387_21_21",
+ "D_558929585_21_21",
+ "D_233764880_21_21",
+ "D_905145893_21_21",
+ "D_473190270_21_21",
+ "D_483735587_21_21",
+ "D_331759900_21_21",
+ "D_513077276_21_21",
+ "D_519974530_21_21",
+ "D_907776050_21_21",
+ "D_271684775_21_21",
+ "D_252160589_21_21",
+ "D_774774759_21_21",
+ "D_127257956_21_21",
+ "D_496917282_21_21",
+ "D_908129316_21_21",
+ "D_795003496_21_21",
+ "D_969177591_21_21",
+ "D_116065851_21_21",
+ "D_278159347_21_21",
+ "D_845219872_21_21",
+ "CHILDSUM_21_21",
+ "D_640010727_22_22",
+ "D_236590500_22_22",
+ "D_718867914_22_22",
+ "_CONTINUE2_22_22",
+ "D_812370563_22_22",
+ "D_900939817_22_22",
+ "D_938150507_22_22",
+ "D_601211723_22_22",
+ "D_861788020_22_22",
+ "D_204425387_22_22",
+ "D_558929585_22_22",
+ "D_233764880_22_22",
+ "D_905145893_22_22",
+ "D_473190270_22_22",
+ "D_483735587_22_22",
+ "D_331759900_22_22",
+ "D_513077276_22_22",
+ "D_519974530_22_22",
+ "D_907776050_22_22",
+ "D_271684775_22_22",
+ "D_252160589_22_22",
+ "D_774774759_22_22",
+ "D_127257956_22_22",
+ "D_496917282_22_22",
+ "D_908129316_22_22",
+ "D_795003496_22_22",
+ "D_969177591_22_22",
+ "D_116065851_22_22",
+ "D_278159347_22_22",
+ "D_845219872_22_22",
+ "CHILDSUM_22_22",
+ "D_640010727_23_23",
+ "D_236590500_23_23",
+ "D_718867914_23_23",
+ "_CONTINUE2_23_23",
+ "D_812370563_23_23",
+ "D_900939817_23_23",
+ "D_938150507_23_23",
+ "D_601211723_23_23",
+ "D_861788020_23_23",
+ "D_204425387_23_23",
+ "D_558929585_23_23",
+ "D_233764880_23_23",
+ "D_905145893_23_23",
+ "D_473190270_23_23",
+ "D_483735587_23_23",
+ "D_331759900_23_23",
+ "D_513077276_23_23",
+ "D_519974530_23_23",
+ "D_907776050_23_23",
+ "D_271684775_23_23",
+ "D_252160589_23_23",
+ "D_774774759_23_23",
+ "D_127257956_23_23",
+ "D_496917282_23_23",
+ "D_908129316_23_23",
+ "D_795003496_23_23",
+ "D_969177591_23_23",
+ "D_116065851_23_23",
+ "D_278159347_23_23",
+ "D_845219872_23_23",
+ "CHILDSUM_23_23",
+ "D_640010727_24_24",
+ "D_236590500_24_24",
+ "D_718867914_24_24",
+ "_CONTINUE2_24_24",
+ "D_812370563_24_24",
+ "D_900939817_24_24",
+ "D_938150507_24_24",
+ "D_601211723_24_24",
+ "D_861788020_24_24",
+ "D_204425387_24_24",
+ "D_558929585_24_24",
+ "D_233764880_24_24",
+ "D_905145893_24_24",
+ "D_473190270_24_24",
+ "D_483735587_24_24",
+ "D_331759900_24_24",
+ "D_513077276_24_24",
+ "D_519974530_24_24",
+ "D_907776050_24_24",
+ "D_271684775_24_24",
+ "D_252160589_24_24",
+ "D_774774759_24_24",
+ "D_127257956_24_24",
+ "D_496917282_24_24",
+ "D_908129316_24_24",
+ "D_795003496_24_24",
+ "D_969177591_24_24",
+ "D_116065851_24_24",
+ "D_278159347_24_24",
+ "D_845219872_24_24",
+ "CHILDSUM_24_24",
+ "D_640010727_25_25",
+ "D_236590500_25_25",
+ "D_718867914_25_25",
+ "_CONTINUE2_25_25",
+ "D_812370563_25_25",
+ "D_900939817_25_25",
+ "D_938150507_25_25",
+ "D_601211723_25_25",
+ "D_861788020_25_25",
+ "D_204425387_25_25",
+ "D_558929585_25_25",
+ "D_233764880_25_25",
+ "D_905145893_25_25",
+ "D_473190270_25_25",
+ "D_483735587_25_25",
+ "D_331759900_25_25",
+ "D_513077276_25_25",
+ "D_519974530_25_25",
+ "D_907776050_25_25",
+ "D_271684775_25_25",
+ "D_252160589_25_25",
+ "D_774774759_25_25",
+ "D_127257956_25_25",
+ "D_496917282_25_25",
+ "D_908129316_25_25",
+ "D_795003496_25_25",
+ "D_969177591_25_25",
+ "D_116065851_25_25",
+ "D_278159347_25_25",
+ "D_845219872_25_25",
+ "CHILDSUM_25_25",
+ "D_627122657",
+ "D_114529380",
+ "D_403258164",
+ "D_118061122",
+ "D_759004335"
+ ],
+ "byKind": {
+ "default": 128,
+ "no-response": 67,
+ "response": 1690
+ },
+ "byResolution": {
+ "exact": 1735,
+ "virtual-loop": 150
+ },
+ "triggerTypes": {
+ "checkbox": 1377,
+ "hidden": 195,
+ "radio": 313
+ },
+ "triggerValues": [
+ "583826374",
+ "636411467",
+ "458435048",
+ "706998638",
+ "973565052",
+ "586825330",
+ "412790539",
+ "104430631",
+ "353358909",
+ "698944820",
+ "838744325",
+ "769790179",
+ "699553344",
+ "700811160",
+ "336505365",
+ "132548932",
+ "747787163",
+ "693851465",
+ "512012656",
+ "619337095",
+ "359025642",
+ "407340134",
+ "427219143",
+ "406890409",
+ "704544306",
+ "691766591",
+ "308645635",
+ "731115613",
+ "567284980",
+ "986548173",
+ "285995100",
+ "545628561",
+ "709786039",
+ "984479578",
+ "726539692",
+ "158044532",
+ "943054522",
+ "827542780",
+ "167238688",
+ "636030086",
+ "239687183",
+ "134592375",
+ "164910211",
+ "796616844",
+ "436689514",
+ "296357383",
+ "901077233",
+ "136956596",
+ "455776698",
+ "155874194",
+ "880962432",
+ "691450854",
+ "509721537",
+ "863286658",
+ "386524148",
+ "937208760",
+ "746542057",
+ "797189152",
+ "633546100",
+ "866002271",
+ "209101810",
+ "413734739",
+ "215525943",
+ "118789503",
+ "715563991",
+ "533491176",
+ "220755749",
+ "465318416",
+ "630100221",
+ "692881833",
+ "654450030",
+ "532603425",
+ "733236542",
+ "961987554",
+ "113771607",
+ "668256654",
+ "752953170",
+ "325506683",
+ "335563082",
+ "955881350",
+ "492902023",
+ "256196714",
+ "802859122",
+ "520432394",
+ "667901971",
+ "807835037",
+ "535003378",
+ "178420302",
+ "939782495",
+ "135725957",
+ "518416174",
+ "847945207",
+ "283025574",
+ "942970912",
+ "596122041",
+ "489400183",
+ "863246236",
+ "607793249",
+ "532172400",
+ "754745617",
+ "665036297",
+ "200837530",
+ "990319383",
+ "487917585",
+ "603181162",
+ "482225200",
+ "764891959",
+ "139822395",
+ "723614811",
+ "295976386",
+ "248374037"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_384191091,583826374)",
+ "equals(D_384191091,636411467)",
+ "equals(D_384191091,458435048)",
+ "equals(D_384191091,706998638)",
+ "equals(D_384191091,973565052)",
+ "equals(D_384191091,586825330)",
+ "equals(D_384191091,412790539)",
+ "equals(D_407056417,536341288)",
+ "equals(D_167101091,698944820)",
+ "equals(D_167101091,838744325)",
+ "equals(D_167101091,769790179)",
+ "equals(D_167101091,699553344)",
+ "equals(D_167101091,700811160)",
+ "equals(D_167101091,336505365)",
+ "equals(D_167101091,132548932)",
+ "equals(D_167101091,747787163)",
+ "equals(D_167101091,693851465)",
+ "equals(D_167101091,512012656)",
+ "equals(D_167101091,619337095)",
+ "equals(D_894259747,359025642)",
+ "equals(D_894259747,407340134)",
+ "equals(D_894259747,427219143)",
+ "equals(D_180961306,406890409)",
+ "equals(D_180961306,704544306)",
+ "equals(D_180961306,691766591)",
+ "equals(D_180961306,308645635)",
+ "equals(D_180961306,731115613)",
+ "equals(D_180961306,567284980)",
+ "equals(D_180961306,986548173)",
+ "equals(D_180961306,285995100)",
+ "equals(D_180961306,545628561)",
+ "equals(D_180961306,709786039)",
+ "equals(D_180961306,984479578)",
+ "equals(D_900541533,726539692)",
+ "equals(D_900541533,158044532)",
+ "equals(D_900541533,943054522)",
+ "equals(D_874046190,827542780)",
+ "equals(D_874046190,167238688)",
+ "equals(D_543728565,636030086)",
+ "equals(D_543728565,239687183)",
+ "equals(D_543728565,134592375)",
+ "equals(D_874709643,164910211)",
+ "equals(D_874709643,796616844)",
+ "equals(D_874709643,436689514)",
+ "equals(D_874709643,296357383)",
+ "equals(D_874709643,901077233)",
+ "equals(D_874709643,136956596)",
+ "equals(D_874709643,455776698)",
+ "equals(D_874709643,155874194)",
+ "equals(D_874709643,880962432)",
+ "equals(D_874709643,691450854)",
+ "equals(D_750420077,578416151)",
+ "equals(D_750420077,434651539)",
+ "equals(D_750420077,700100953)",
+ "equals(D_725626004,509721537)",
+ "equals(D_725626004,863286658)",
+ "equals(D_725626004,386524148)",
+ "equals(D_725626004,937208760)",
+ "equals(D_725626004,746542057)",
+ "equals(D_725626004,854945381)",
+ "equals(D_750420077,108025529)",
+ "and(equals(D_750420077,582784267),equals(D_750420077,751402477))",
+ "equals(D_750420077,751402477)",
+ "equals(D_750420077,582784267)",
+ "equals(D_624179836,797189152)",
+ "equals(D_624179836,633546100)",
+ "equals(D_624179836,866002271)",
+ "equals(D_624179836,209101810)",
+ "equals(D_624179836,413734739)",
+ "equals(D_624179836,215525943)",
+ "equals(D_624179836,118789503)",
+ "equals(D_624179836,715563991)",
+ "equals(D_624179836,533491176)",
+ "equals(D_517307064,752953170)",
+ "equals(D_517307064,325506683)",
+ "equals(D_517307064,335563082)",
+ "equals(D_517307064,955881350)",
+ "equals(D_517307064,492902023)",
+ "equals(D_517307064,256196714)",
+ "equals(D_517307064,802859122)",
+ "equals(D_517307064,520432394)",
+ "equals(D_517307064,667901971)",
+ "equals(D_517307064,807835037)",
+ "exists('D_942347130')",
+ "doesNotExist('D_942347130')",
+ "equals(D_624179836,220755749)",
+ "equals(D_624179836,465318416)",
+ "equals(D_624179836,630100221)",
+ "and(equals(D_624179836,630100221),or(equals(D_378892977,109972911),equals(D_378892977,333647143)))",
+ "equals(D_624179836,692881833)",
+ "and(equals(D_624179836,692881833),or(equals(D_224791140,537173119),equals(D_224791140,448068764)))",
+ "equals(D_624179836,654450030)",
+ "equals(D_624179836,532603425)",
+ "and(equals(D_624179836,532603425),or(equals(D_946504570,970716952),equals(D_946504570,770550588)))",
+ "equals(D_624179836,733236542)",
+ "and(equals(D_624179836,733236542),or(equals(D_107060069,500023550),equals(D_107060069,524029283)))",
+ "equals(D_624179836,961987554)",
+ "greaterThanOrEqual(D_795940097,1)",
+ "greaterThan(D_795940097,1)",
+ "_value('age') >= 18",
+ "(_value('age') >= 18)",
+ "_value('age') >=18",
+ "_value('age') >= 25",
+ "(_value('age') >= 25)",
+ "_value('age') >=25",
+ "_value('age') >= 35",
+ "(_value('age') >= 35)",
+ "_value('age') >=35",
+ "_value('age') >= 45",
+ "(_value('age') >= 45)",
+ "_value('age') >=45",
+ "_value('age') >= 55",
+ "(_value('age') >= 55)",
+ "_value('age') >=55",
+ "greaterThanOrEqual(percentDiff(D_821387277,D_121646540),.05)",
+ "greaterThanOrEqual(percentDiff(D_121646540,D_950080618),.05)",
+ "greaterThanOrEqual(percentDiff(D_950080618,D_407167089),.05)",
+ "greaterThanOrEqual(percentDiff(D_407167089,D_503154158),.05)",
+ "_value(\"age\") >= 40",
+ "valueIsOneOf(\"D_407056417\",536341288) and _value(\"age\") >= 40",
+ "valueIsOneOf(\"D_407056417\",654207589) and _value(\"age\") >= 40",
+ "equals(D_170440011,353358909)",
+ "doesNotEqual(D_170440011,353358909)",
+ "equals(D_814510313,939782495)",
+ "equals(D_814510313,135725957)",
+ "equals(D_814510313,518416174)",
+ "equals(D_814510313,847945207)",
+ "equals(D_814510313,283025574)",
+ "equals(D_814510313,942970912)",
+ "equals(D_814510313,596122041)",
+ "equals(D_814510313,489400183)",
+ "equals(D_814510313,863246236)",
+ "equals(D_814510313,607793249)",
+ "equals(D_814510313,532172400)",
+ "equals(D_814510313,754745617)",
+ "equals(D_814510313,665036297)",
+ "equals(D_814510313,200837530)",
+ "equals(D_814510313,990319383)",
+ "equals(D_814510313,487917585)",
+ "equals(D_814510313,603181162)",
+ "equals(D_814510313,482225200)",
+ "equals(D_814510313,764891959)",
+ "equals(D_814510313,139822395)",
+ "equals(D_814510313,723614811)",
+ "valueIsOneOf(\"D_814510313\",807835037) or valueLength(\"D_677702321\")>0",
+ "valueLength('D_677702321')>0",
+ "doesNotExist('D_677702321')",
+ "equals(D_814510313,178420302)",
+ "equals(D_367374606,353358909)",
+ "doesNotEqual(D_367374606,353358909)",
+ "equals(D_173240848,939782495)",
+ "equals(D_173240848,135725957)",
+ "equals(D_173240848,518416174)",
+ "equals(D_173240848,847945207)",
+ "equals(D_173240848,942970912)",
+ "equals(D_173240848,596122041)",
+ "equals(D_173240848,489400183)",
+ "equals(D_173240848,863246236)",
+ "equals(D_173240848,607793249)",
+ "equals(D_173240848,532172400)",
+ "equals(D_173240848,754745617)",
+ "equals(D_173240848,665036297)",
+ "equals(D_173240848,200837530)",
+ "equals(D_173240848,990319383)",
+ "equals(D_173240848,487917585)",
+ "equals(D_173240848,482225200)",
+ "equals(D_173240848,295976386)",
+ "equals(D_173240848,764891959)",
+ "equals(D_173240848,248374037)",
+ "equals(D_173240848,139822395)",
+ "valueIsOneOf(\"D_173240848\",807835037) or valueLength(\"D_195093589\")>0",
+ "valueLength('D_195093589')>0",
+ "doesNotExist('D_195093589')",
+ "equals(D_173240848,178420302)",
+ "isNotDefined(D_694265648,0)",
+ "or(equals(D_694265648,0),or(isNotDefined(D_694265648,0),greaterThanOrEqual(D_694265648,2)))",
+ "1==1",
+ "1>1",
+ "equals(isNotDefined(D_406098499_1_1,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_1_1,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_1_1,false),false),greaterThan(1,1))",
+ "valueIsOneOf(\"D_992987417\",353358909,288105839,626558982)",
+ "equals(D_579563781_1_1,654207589)",
+ "equals(D_579563781_1_1,536341288)",
+ "and(doesNotEqual(D_579563781_1_1,654207589),doesNotEqual(D_579563781_1_1,536341288))",
+ "equals(D_890637099_1_1,353358909)",
+ "doesNotEqual(D_890637099_1_1,353358909)",
+ "equals(D_578895128_1_1,939782495)",
+ "equals(D_578895128_1_1,135725957)",
+ "equals(D_578895128_1_1,518416174)",
+ "equals(D_578895128_1_1,847945207)",
+ "equals(D_578895128_1_1,283025574)",
+ "equals(D_578895128_1_1,942970912)",
+ "equals(D_578895128_1_1,596122041)",
+ "equals(D_578895128_1_1,489400183)",
+ "equals(D_578895128_1_1,863246236)",
+ "equals(D_578895128_1_1,607793249)",
+ "equals(D_578895128_1_1,532172400)",
+ "equals(D_578895128_1_1,754745617)",
+ "equals(D_578895128_1_1,665036297)",
+ "equals(D_578895128_1_1,200837530)",
+ "equals(D_578895128_1_1,990319383)",
+ "equals(D_578895128_1_1,487917585)",
+ "equals(D_578895128_1_1,603181162)",
+ "equals(D_578895128_1_1,482225200)",
+ "equals(D_578895128_1_1,295976386)",
+ "equals(D_578895128_1_1,764891959)",
+ "equals(D_578895128_1_1,248374037)",
+ "equals(D_578895128_1_1,139822395)",
+ "equals(D_578895128_1_1,723614811)",
+ "exists('D_957429734_1_1')",
+ "doesNotExist('D_957429734_1_1')",
+ "selectionCount(\"D_578895128_1_1\",true)>0 or valueLength(\"D_957429734_1_1\")>0",
+ "valueLength('D_406098499_1_1')>0",
+ "equals(D_579563781_1_1,178420302)",
+ "allExist('D_807431780_1_1','D_578895128_1_1')",
+ "equals(D_807431780_1_1,353358909)",
+ "equals(D_807431780_1_1,104430631)",
+ "valueIsOneOf('D_589588769_1_1',555374628)",
+ "valueIsOneOf('D_589588769_1_1',871673221)",
+ "valueIsOneOf('D_589588769_1_1',198654048)",
+ "valueIsOneOf('D_807431780_1_1',353358909)",
+ "equals(D_607773106_1_1,104430631)",
+ "equals(D_607773106_1_1,353358909)",
+ "equals(D_607773106_1_1,178420302)",
+ "2==1",
+ "2>1",
+ "equals(isNotDefined(D_406098499_2_2,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_2_2,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_2_2,false),false),greaterThan(2,1))",
+ "equals(D_579563781_2_2,654207589)",
+ "equals(D_579563781_2_2,536341288)",
+ "and(doesNotEqual(D_579563781_2_2,654207589),doesNotEqual(D_579563781_2_2,536341288))",
+ "equals(D_890637099_2_2,353358909)",
+ "doesNotEqual(D_890637099_2_2,353358909)",
+ "equals(D_578895128_2_2,939782495)",
+ "equals(D_578895128_2_2,135725957)",
+ "equals(D_578895128_2_2,518416174)",
+ "equals(D_578895128_2_2,847945207)",
+ "equals(D_578895128_2_2,283025574)",
+ "equals(D_578895128_2_2,942970912)",
+ "equals(D_578895128_2_2,596122041)",
+ "equals(D_578895128_2_2,489400183)",
+ "equals(D_578895128_2_2,863246236)",
+ "equals(D_578895128_2_2,607793249)",
+ "equals(D_578895128_2_2,532172400)",
+ "equals(D_578895128_2_2,754745617)",
+ "equals(D_578895128_2_2,665036297)",
+ "equals(D_578895128_2_2,200837530)",
+ "equals(D_578895128_2_2,990319383)",
+ "equals(D_578895128_2_2,487917585)",
+ "equals(D_578895128_2_2,603181162)",
+ "equals(D_578895128_2_2,482225200)",
+ "equals(D_578895128_2_2,295976386)",
+ "equals(D_578895128_2_2,764891959)",
+ "equals(D_578895128_2_2,248374037)",
+ "equals(D_578895128_2_2,139822395)",
+ "equals(D_578895128_2_2,723614811)",
+ "exists('D_957429734_2_2')",
+ "doesNotExist('D_957429734_2_2')",
+ "selectionCount(\"D_578895128_2_2\",true)>0 or valueLength(\"D_957429734_2_2\")>0",
+ "valueLength('D_406098499_2_2')>0",
+ "equals(D_579563781_2_2,178420302)",
+ "allExist('D_807431780_2_2','D_578895128_2_2')",
+ "equals(D_807431780_2_2,353358909)",
+ "equals(D_807431780_2_2,104430631)",
+ "valueIsOneOf('D_589588769_2_2',555374628)",
+ "valueIsOneOf('D_589588769_2_2',871673221)",
+ "valueIsOneOf('D_589588769_2_2',198654048)",
+ "valueIsOneOf('D_807431780_2_2',353358909)",
+ "equals(D_607773106_2_2,104430631)",
+ "equals(D_607773106_2_2,353358909)",
+ "equals(D_607773106_2_2,178420302)",
+ "3==1",
+ "3>1",
+ "equals(isNotDefined(D_406098499_3_3,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_3_3,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_3_3,false),false),greaterThan(3,1))",
+ "equals(D_579563781_3_3,654207589)",
+ "equals(D_579563781_3_3,536341288)",
+ "and(doesNotEqual(D_579563781_3_3,654207589),doesNotEqual(D_579563781_3_3,536341288))",
+ "equals(D_890637099_3_3,353358909)",
+ "doesNotEqual(D_890637099_3_3,353358909)",
+ "equals(D_578895128_3_3,939782495)",
+ "equals(D_578895128_3_3,135725957)",
+ "equals(D_578895128_3_3,518416174)",
+ "equals(D_578895128_3_3,847945207)",
+ "equals(D_578895128_3_3,283025574)",
+ "equals(D_578895128_3_3,942970912)",
+ "equals(D_578895128_3_3,596122041)",
+ "equals(D_578895128_3_3,489400183)",
+ "equals(D_578895128_3_3,863246236)",
+ "equals(D_578895128_3_3,607793249)",
+ "equals(D_578895128_3_3,532172400)",
+ "equals(D_578895128_3_3,754745617)",
+ "equals(D_578895128_3_3,665036297)",
+ "equals(D_578895128_3_3,200837530)",
+ "equals(D_578895128_3_3,990319383)",
+ "equals(D_578895128_3_3,487917585)",
+ "equals(D_578895128_3_3,603181162)",
+ "equals(D_578895128_3_3,482225200)",
+ "equals(D_578895128_3_3,295976386)",
+ "equals(D_578895128_3_3,764891959)",
+ "equals(D_578895128_3_3,248374037)",
+ "equals(D_578895128_3_3,139822395)",
+ "equals(D_578895128_3_3,723614811)",
+ "exists('D_957429734_3_3')",
+ "doesNotExist('D_957429734_3_3')",
+ "selectionCount(\"D_578895128_3_3\",true)>0 or valueLength(\"D_957429734_3_3\")>0",
+ "valueLength('D_406098499_3_3')>0",
+ "equals(D_579563781_3_3,178420302)",
+ "allExist('D_807431780_3_3','D_578895128_3_3')",
+ "equals(D_807431780_3_3,353358909)",
+ "equals(D_807431780_3_3,104430631)",
+ "valueIsOneOf('D_589588769_3_3',555374628)",
+ "valueIsOneOf('D_589588769_3_3',871673221)",
+ "valueIsOneOf('D_589588769_3_3',198654048)",
+ "valueIsOneOf('D_807431780_3_3',353358909)",
+ "equals(D_607773106_3_3,104430631)",
+ "equals(D_607773106_3_3,353358909)",
+ "equals(D_607773106_3_3,178420302)",
+ "4==1",
+ "4>1",
+ "equals(isNotDefined(D_406098499_4_4,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_4_4,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_4_4,false),false),greaterThan(4,1))",
+ "equals(D_579563781_4_4,654207589)",
+ "equals(D_579563781_4_4,536341288)",
+ "and(doesNotEqual(D_579563781_4_4,654207589),doesNotEqual(D_579563781_4_4,536341288))",
+ "equals(D_890637099_4_4,353358909)",
+ "doesNotEqual(D_890637099_4_4,353358909)",
+ "equals(D_578895128_4_4,939782495)",
+ "equals(D_578895128_4_4,135725957)",
+ "equals(D_578895128_4_4,518416174)",
+ "equals(D_578895128_4_4,847945207)",
+ "equals(D_578895128_4_4,283025574)",
+ "equals(D_578895128_4_4,942970912)",
+ "equals(D_578895128_4_4,596122041)",
+ "equals(D_578895128_4_4,489400183)",
+ "equals(D_578895128_4_4,863246236)",
+ "equals(D_578895128_4_4,607793249)",
+ "equals(D_578895128_4_4,532172400)",
+ "equals(D_578895128_4_4,754745617)",
+ "equals(D_578895128_4_4,665036297)",
+ "equals(D_578895128_4_4,200837530)",
+ "equals(D_578895128_4_4,990319383)",
+ "equals(D_578895128_4_4,487917585)",
+ "equals(D_578895128_4_4,603181162)",
+ "equals(D_578895128_4_4,482225200)",
+ "equals(D_578895128_4_4,295976386)",
+ "equals(D_578895128_4_4,764891959)",
+ "equals(D_578895128_4_4,248374037)",
+ "equals(D_578895128_4_4,139822395)",
+ "equals(D_578895128_4_4,723614811)",
+ "exists('D_957429734_4_4')",
+ "doesNotExist('D_957429734_4_4')",
+ "selectionCount(\"D_578895128_4_4\",true)>0 or valueLength(\"D_957429734_4_4\")>0",
+ "valueLength('D_406098499_4_4')>0",
+ "equals(D_579563781_4_4,178420302)",
+ "allExist('D_807431780_4_4','D_578895128_4_4')",
+ "equals(D_807431780_4_4,353358909)",
+ "equals(D_807431780_4_4,104430631)",
+ "valueIsOneOf('D_589588769_4_4',555374628)",
+ "valueIsOneOf('D_589588769_4_4',871673221)",
+ "valueIsOneOf('D_589588769_4_4',198654048)",
+ "valueIsOneOf('D_807431780_4_4',353358909)",
+ "equals(D_607773106_4_4,104430631)",
+ "equals(D_607773106_4_4,353358909)",
+ "equals(D_607773106_4_4,178420302)",
+ "5==1",
+ "5>1",
+ "equals(isNotDefined(D_406098499_5_5,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_5_5,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_5_5,false),false),greaterThan(5,1))",
+ "equals(D_579563781_5_5,654207589)",
+ "equals(D_579563781_5_5,536341288)",
+ "and(doesNotEqual(D_579563781_5_5,654207589),doesNotEqual(D_579563781_5_5,536341288))",
+ "equals(D_890637099_5_5,353358909)",
+ "doesNotEqual(D_890637099_5_5,353358909)",
+ "equals(D_578895128_5_5,939782495)",
+ "equals(D_578895128_5_5,135725957)",
+ "equals(D_578895128_5_5,518416174)",
+ "equals(D_578895128_5_5,847945207)",
+ "equals(D_578895128_5_5,283025574)",
+ "equals(D_578895128_5_5,942970912)",
+ "equals(D_578895128_5_5,596122041)",
+ "equals(D_578895128_5_5,489400183)",
+ "equals(D_578895128_5_5,863246236)",
+ "equals(D_578895128_5_5,607793249)",
+ "equals(D_578895128_5_5,532172400)",
+ "equals(D_578895128_5_5,754745617)",
+ "equals(D_578895128_5_5,665036297)",
+ "equals(D_578895128_5_5,200837530)",
+ "equals(D_578895128_5_5,990319383)",
+ "equals(D_578895128_5_5,487917585)",
+ "equals(D_578895128_5_5,603181162)",
+ "equals(D_578895128_5_5,482225200)",
+ "equals(D_578895128_5_5,295976386)",
+ "equals(D_578895128_5_5,764891959)",
+ "equals(D_578895128_5_5,248374037)",
+ "equals(D_578895128_5_5,139822395)",
+ "equals(D_578895128_5_5,723614811)",
+ "exists('D_957429734_5_5')",
+ "doesNotExist('D_957429734_5_5')",
+ "selectionCount(\"D_578895128_5_5\",true)>0 or valueLength(\"D_957429734_5_5\")>0",
+ "valueLength('D_406098499_5_5')>0",
+ "equals(D_579563781_5_5,178420302)",
+ "allExist('D_807431780_5_5','D_578895128_5_5')",
+ "equals(D_807431780_5_5,353358909)",
+ "equals(D_807431780_5_5,104430631)",
+ "valueIsOneOf('D_589588769_5_5',555374628)",
+ "valueIsOneOf('D_589588769_5_5',871673221)",
+ "valueIsOneOf('D_589588769_5_5',198654048)",
+ "valueIsOneOf('D_807431780_5_5',353358909)",
+ "equals(D_607773106_5_5,104430631)",
+ "equals(D_607773106_5_5,353358909)",
+ "equals(D_607773106_5_5,178420302)",
+ "6==1",
+ "6>1",
+ "equals(isNotDefined(D_406098499_6_6,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_6_6,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_6_6,false),false),greaterThan(6,1))",
+ "equals(D_579563781_6_6,654207589)",
+ "equals(D_579563781_6_6,536341288)",
+ "and(doesNotEqual(D_579563781_6_6,654207589),doesNotEqual(D_579563781_6_6,536341288))",
+ "equals(D_890637099_6_6,353358909)",
+ "doesNotEqual(D_890637099_6_6,353358909)",
+ "equals(D_578895128_6_6,939782495)",
+ "equals(D_578895128_6_6,135725957)",
+ "equals(D_578895128_6_6,518416174)",
+ "equals(D_578895128_6_6,847945207)",
+ "equals(D_578895128_6_6,283025574)",
+ "equals(D_578895128_6_6,942970912)",
+ "equals(D_578895128_6_6,596122041)",
+ "equals(D_578895128_6_6,489400183)",
+ "equals(D_578895128_6_6,863246236)",
+ "equals(D_578895128_6_6,607793249)",
+ "equals(D_578895128_6_6,532172400)",
+ "equals(D_578895128_6_6,754745617)",
+ "equals(D_578895128_6_6,665036297)",
+ "equals(D_578895128_6_6,200837530)",
+ "equals(D_578895128_6_6,990319383)",
+ "equals(D_578895128_6_6,487917585)",
+ "equals(D_578895128_6_6,603181162)",
+ "equals(D_578895128_6_6,482225200)",
+ "equals(D_578895128_6_6,295976386)",
+ "equals(D_578895128_6_6,764891959)",
+ "equals(D_578895128_6_6,248374037)",
+ "equals(D_578895128_6_6,139822395)",
+ "equals(D_578895128_6_6,723614811)",
+ "exists('D_957429734_6_6')",
+ "doesNotExist('D_957429734_6_6')",
+ "selectionCount(\"D_578895128_6_6\",true)>0 or valueLength(\"D_957429734_6_6\")>0",
+ "valueLength('D_406098499_6_6')>0",
+ "equals(D_579563781_6_6,178420302)",
+ "allExist('D_807431780_6_6','D_578895128_6_6')",
+ "equals(D_807431780_6_6,353358909)",
+ "equals(D_807431780_6_6,104430631)",
+ "valueIsOneOf('D_589588769_6_6',555374628)",
+ "valueIsOneOf('D_589588769_6_6',871673221)",
+ "valueIsOneOf('D_589588769_6_6',198654048)",
+ "valueIsOneOf('D_807431780_6_6',353358909)",
+ "equals(D_607773106_6_6,104430631)",
+ "equals(D_607773106_6_6,353358909)",
+ "equals(D_607773106_6_6,178420302)",
+ "7==1",
+ "7>1",
+ "equals(isNotDefined(D_406098499_7_7,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_7_7,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_7_7,false),false),greaterThan(7,1))",
+ "equals(D_579563781_7_7,654207589)",
+ "equals(D_579563781_7_7,536341288)",
+ "and(doesNotEqual(D_579563781_7_7,654207589),doesNotEqual(D_579563781_7_7,536341288))",
+ "equals(D_890637099_7_7,353358909)",
+ "doesNotEqual(D_890637099_7_7,353358909)",
+ "equals(D_578895128_7_7,939782495)",
+ "equals(D_578895128_7_7,135725957)",
+ "equals(D_578895128_7_7,518416174)",
+ "equals(D_578895128_7_7,847945207)",
+ "equals(D_578895128_7_7,283025574)",
+ "equals(D_578895128_7_7,942970912)",
+ "equals(D_578895128_7_7,596122041)",
+ "equals(D_578895128_7_7,489400183)",
+ "equals(D_578895128_7_7,863246236)",
+ "equals(D_578895128_7_7,607793249)",
+ "equals(D_578895128_7_7,532172400)",
+ "equals(D_578895128_7_7,754745617)",
+ "equals(D_578895128_7_7,665036297)",
+ "equals(D_578895128_7_7,200837530)",
+ "equals(D_578895128_7_7,990319383)",
+ "equals(D_578895128_7_7,487917585)",
+ "equals(D_578895128_7_7,603181162)",
+ "equals(D_578895128_7_7,482225200)",
+ "equals(D_578895128_7_7,295976386)",
+ "equals(D_578895128_7_7,764891959)",
+ "equals(D_578895128_7_7,248374037)",
+ "equals(D_578895128_7_7,139822395)",
+ "equals(D_578895128_7_7,723614811)",
+ "exists('D_957429734_7_7')",
+ "doesNotExist('D_957429734_7_7')",
+ "selectionCount(\"D_578895128_7_7\",true)>0 or valueLength(\"D_957429734_7_7\")>0",
+ "valueLength('D_406098499_7_7')>0",
+ "equals(D_579563781_7_7,178420302)",
+ "allExist('D_807431780_7_7','D_578895128_7_7')",
+ "equals(D_807431780_7_7,353358909)",
+ "equals(D_807431780_7_7,104430631)",
+ "valueIsOneOf('D_589588769_7_7',555374628)",
+ "valueIsOneOf('D_589588769_7_7',871673221)",
+ "valueIsOneOf('D_589588769_7_7',198654048)",
+ "valueIsOneOf('D_807431780_7_7',353358909)",
+ "equals(D_607773106_7_7,104430631)",
+ "equals(D_607773106_7_7,353358909)",
+ "equals(D_607773106_7_7,178420302)",
+ "8==1",
+ "8>1",
+ "equals(isNotDefined(D_406098499_8_8,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_8_8,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_8_8,false),false),greaterThan(8,1))",
+ "equals(D_579563781_8_8,654207589)",
+ "equals(D_579563781_8_8,536341288)",
+ "and(doesNotEqual(D_579563781_8_8,654207589),doesNotEqual(D_579563781_8_8,536341288))",
+ "equals(D_890637099_8_8,353358909)",
+ "doesNotEqual(D_890637099_8_8,353358909)",
+ "equals(D_578895128_8_8,939782495)",
+ "equals(D_578895128_8_8,135725957)",
+ "equals(D_578895128_8_8,518416174)",
+ "equals(D_578895128_8_8,847945207)",
+ "equals(D_578895128_8_8,283025574)",
+ "equals(D_578895128_8_8,942970912)",
+ "equals(D_578895128_8_8,596122041)",
+ "equals(D_578895128_8_8,489400183)",
+ "equals(D_578895128_8_8,863246236)",
+ "equals(D_578895128_8_8,607793249)",
+ "equals(D_578895128_8_8,532172400)",
+ "equals(D_578895128_8_8,754745617)",
+ "equals(D_578895128_8_8,665036297)",
+ "equals(D_578895128_8_8,200837530)",
+ "equals(D_578895128_8_8,990319383)",
+ "equals(D_578895128_8_8,487917585)",
+ "equals(D_578895128_8_8,603181162)",
+ "equals(D_578895128_8_8,482225200)",
+ "equals(D_578895128_8_8,295976386)",
+ "equals(D_578895128_8_8,764891959)",
+ "equals(D_578895128_8_8,248374037)",
+ "equals(D_578895128_8_8,139822395)",
+ "equals(D_578895128_8_8,723614811)",
+ "exists('D_957429734_8_8')",
+ "doesNotExist('D_957429734_8_8')",
+ "selectionCount(\"D_578895128_8_8\",true)>0 or valueLength(\"D_957429734_8_8\")>0",
+ "valueLength('D_406098499_8_8')>0",
+ "equals(D_579563781_8_8,178420302)",
+ "allExist('D_807431780_8_8','D_578895128_8_8')",
+ "equals(D_807431780_8_8,353358909)",
+ "equals(D_807431780_8_8,104430631)",
+ "valueIsOneOf('D_589588769_8_8',555374628)",
+ "valueIsOneOf('D_589588769_8_8',871673221)",
+ "valueIsOneOf('D_589588769_8_8',198654048)",
+ "valueIsOneOf('D_807431780_8_8',353358909)",
+ "equals(D_607773106_8_8,104430631)",
+ "equals(D_607773106_8_8,353358909)",
+ "equals(D_607773106_8_8,178420302)",
+ "9==1",
+ "9>1",
+ "equals(isNotDefined(D_406098499_9_9,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_9_9,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_9_9,false),false),greaterThan(9,1))",
+ "equals(D_579563781_9_9,654207589)",
+ "equals(D_579563781_9_9,536341288)",
+ "and(doesNotEqual(D_579563781_9_9,654207589),doesNotEqual(D_579563781_9_9,536341288))",
+ "equals(D_890637099_9_9,353358909)",
+ "doesNotEqual(D_890637099_9_9,353358909)",
+ "equals(D_578895128_9_9,939782495)",
+ "equals(D_578895128_9_9,135725957)",
+ "equals(D_578895128_9_9,518416174)",
+ "equals(D_578895128_9_9,847945207)",
+ "equals(D_578895128_9_9,283025574)",
+ "equals(D_578895128_9_9,942970912)",
+ "equals(D_578895128_9_9,596122041)",
+ "equals(D_578895128_9_9,489400183)",
+ "equals(D_578895128_9_9,863246236)",
+ "equals(D_578895128_9_9,607793249)",
+ "equals(D_578895128_9_9,532172400)",
+ "equals(D_578895128_9_9,754745617)",
+ "equals(D_578895128_9_9,665036297)",
+ "equals(D_578895128_9_9,200837530)",
+ "equals(D_578895128_9_9,990319383)",
+ "equals(D_578895128_9_9,487917585)",
+ "equals(D_578895128_9_9,603181162)",
+ "equals(D_578895128_9_9,482225200)",
+ "equals(D_578895128_9_9,295976386)",
+ "equals(D_578895128_9_9,764891959)",
+ "equals(D_578895128_9_9,248374037)",
+ "equals(D_578895128_9_9,139822395)",
+ "equals(D_578895128_9_9,723614811)",
+ "exists('D_957429734_9_9')",
+ "doesNotExist('D_957429734_9_9')",
+ "selectionCount(\"D_578895128_9_9\",true)>0 or valueLength(\"D_957429734_9_9\")>0",
+ "valueLength('D_406098499_9_9')>0",
+ "equals(D_579563781_9_9,178420302)",
+ "allExist('D_807431780_9_9','D_578895128_9_9')",
+ "equals(D_807431780_9_9,353358909)",
+ "equals(D_807431780_9_9,104430631)",
+ "valueIsOneOf('D_589588769_9_9',555374628)",
+ "valueIsOneOf('D_589588769_9_9',871673221)",
+ "valueIsOneOf('D_589588769_9_9',198654048)",
+ "valueIsOneOf('D_807431780_9_9',353358909)",
+ "equals(D_607773106_9_9,104430631)",
+ "equals(D_607773106_9_9,353358909)",
+ "equals(D_607773106_9_9,178420302)",
+ "10==1",
+ "10>1",
+ "equals(isNotDefined(D_406098499_10_10,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_10_10,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_10_10,false),false),greaterThan(10,1))",
+ "equals(D_579563781_10_10,654207589)",
+ "equals(D_579563781_10_10,536341288)",
+ "and(doesNotEqual(D_579563781_10_10,654207589),doesNotEqual(D_579563781_10_10,536341288))",
+ "equals(D_890637099_10_10,353358909)",
+ "doesNotEqual(D_890637099_10_10,353358909)",
+ "equals(D_578895128_10_10,939782495)",
+ "equals(D_578895128_10_10,135725957)",
+ "equals(D_578895128_10_10,518416174)",
+ "equals(D_578895128_10_10,847945207)",
+ "equals(D_578895128_10_10,283025574)",
+ "equals(D_578895128_10_10,942970912)",
+ "equals(D_578895128_10_10,596122041)",
+ "equals(D_578895128_10_10,489400183)",
+ "equals(D_578895128_10_10,863246236)",
+ "equals(D_578895128_10_10,607793249)",
+ "equals(D_578895128_10_10,532172400)",
+ "equals(D_578895128_10_10,754745617)",
+ "equals(D_578895128_10_10,665036297)",
+ "equals(D_578895128_10_10,200837530)",
+ "equals(D_578895128_10_10,990319383)",
+ "equals(D_578895128_10_10,487917585)",
+ "equals(D_578895128_10_10,603181162)",
+ "equals(D_578895128_10_10,482225200)",
+ "equals(D_578895128_10_10,295976386)",
+ "equals(D_578895128_10_10,764891959)",
+ "equals(D_578895128_10_10,248374037)",
+ "equals(D_578895128_10_10,139822395)",
+ "equals(D_578895128_10_10,723614811)",
+ "exists('D_957429734_10_10')",
+ "doesNotExist('D_957429734_10_10')",
+ "selectionCount(\"D_578895128_10_10\",true)>0 or valueLength(\"D_957429734_10_10\")>0",
+ "valueLength('D_406098499_10_10')>0",
+ "equals(D_579563781_10_10,178420302)",
+ "allExist('D_807431780_10_10','D_578895128_10_10')",
+ "equals(D_807431780_10_10,353358909)",
+ "equals(D_807431780_10_10,104430631)",
+ "valueIsOneOf('D_589588769_10_10',555374628)",
+ "valueIsOneOf('D_589588769_10_10',871673221)",
+ "valueIsOneOf('D_589588769_10_10',198654048)",
+ "valueIsOneOf('D_807431780_10_10',353358909)",
+ "equals(D_607773106_10_10,104430631)",
+ "equals(D_607773106_10_10,353358909)",
+ "equals(D_607773106_10_10,178420302)",
+ "11==1",
+ "11>1",
+ "equals(isNotDefined(D_406098499_11_11,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_11_11,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_11_11,false),false),greaterThan(11,1))",
+ "equals(D_579563781_11_11,654207589)",
+ "equals(D_579563781_11_11,536341288)",
+ "and(doesNotEqual(D_579563781_11_11,654207589),doesNotEqual(D_579563781_11_11,536341288))",
+ "equals(D_890637099_11_11,353358909)",
+ "doesNotEqual(D_890637099_11_11,353358909)",
+ "equals(D_578895128_11_11,939782495)",
+ "equals(D_578895128_11_11,135725957)",
+ "equals(D_578895128_11_11,518416174)",
+ "equals(D_578895128_11_11,847945207)",
+ "equals(D_578895128_11_11,283025574)",
+ "equals(D_578895128_11_11,942970912)",
+ "equals(D_578895128_11_11,596122041)",
+ "equals(D_578895128_11_11,489400183)",
+ "equals(D_578895128_11_11,863246236)",
+ "equals(D_578895128_11_11,607793249)",
+ "equals(D_578895128_11_11,532172400)",
+ "equals(D_578895128_11_11,754745617)",
+ "equals(D_578895128_11_11,665036297)",
+ "equals(D_578895128_11_11,200837530)",
+ "equals(D_578895128_11_11,990319383)",
+ "equals(D_578895128_11_11,487917585)",
+ "equals(D_578895128_11_11,603181162)",
+ "equals(D_578895128_11_11,482225200)",
+ "equals(D_578895128_11_11,295976386)",
+ "equals(D_578895128_11_11,764891959)",
+ "equals(D_578895128_11_11,248374037)",
+ "equals(D_578895128_11_11,139822395)",
+ "equals(D_578895128_11_11,723614811)",
+ "exists('D_957429734_11_11')",
+ "doesNotExist('D_957429734_11_11')",
+ "selectionCount(\"D_578895128_11_11\",true)>0 or valueLength(\"D_957429734_11_11\")>0",
+ "valueLength('D_406098499_11_11')>0",
+ "equals(D_579563781_11_11,178420302)",
+ "allExist('D_807431780_11_11','D_578895128_11_11')",
+ "equals(D_807431780_11_11,353358909)",
+ "equals(D_807431780_11_11,104430631)",
+ "valueIsOneOf('D_589588769_11_11',555374628)",
+ "valueIsOneOf('D_589588769_11_11',871673221)",
+ "valueIsOneOf('D_589588769_11_11',198654048)",
+ "valueIsOneOf('D_807431780_11_11',353358909)",
+ "equals(D_607773106_11_11,104430631)",
+ "equals(D_607773106_11_11,353358909)",
+ "equals(D_607773106_11_11,178420302)",
+ "12==1",
+ "12>1",
+ "equals(isNotDefined(D_406098499_12_12,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_12_12,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_12_12,false),false),greaterThan(12,1))",
+ "equals(D_579563781_12_12,654207589)",
+ "equals(D_579563781_12_12,536341288)",
+ "and(doesNotEqual(D_579563781_12_12,654207589),doesNotEqual(D_579563781_12_12,536341288))",
+ "equals(D_890637099_12_12,353358909)",
+ "doesNotEqual(D_890637099_12_12,353358909)",
+ "equals(D_578895128_12_12,939782495)",
+ "equals(D_578895128_12_12,135725957)",
+ "equals(D_578895128_12_12,518416174)",
+ "equals(D_578895128_12_12,847945207)",
+ "equals(D_578895128_12_12,283025574)",
+ "equals(D_578895128_12_12,942970912)",
+ "equals(D_578895128_12_12,596122041)",
+ "equals(D_578895128_12_12,489400183)",
+ "equals(D_578895128_12_12,863246236)",
+ "equals(D_578895128_12_12,607793249)",
+ "equals(D_578895128_12_12,532172400)",
+ "equals(D_578895128_12_12,754745617)",
+ "equals(D_578895128_12_12,665036297)",
+ "equals(D_578895128_12_12,200837530)",
+ "equals(D_578895128_12_12,990319383)",
+ "equals(D_578895128_12_12,487917585)",
+ "equals(D_578895128_12_12,603181162)",
+ "equals(D_578895128_12_12,482225200)",
+ "equals(D_578895128_12_12,295976386)",
+ "equals(D_578895128_12_12,764891959)",
+ "equals(D_578895128_12_12,248374037)",
+ "equals(D_578895128_12_12,139822395)",
+ "equals(D_578895128_12_12,723614811)",
+ "exists('D_957429734_12_12')",
+ "doesNotExist('D_957429734_12_12')",
+ "selectionCount(\"D_578895128_12_12\",true)>0 or valueLength(\"D_957429734_12_12\")>0",
+ "valueLength('D_406098499_12_12')>0",
+ "equals(D_579563781_12_12,178420302)",
+ "allExist('D_807431780_12_12','D_578895128_12_12')",
+ "equals(D_807431780_12_12,353358909)",
+ "equals(D_807431780_12_12,104430631)",
+ "valueIsOneOf('D_589588769_12_12',555374628)",
+ "valueIsOneOf('D_589588769_12_12',871673221)",
+ "valueIsOneOf('D_589588769_12_12',198654048)",
+ "valueIsOneOf('D_807431780_12_12',353358909)",
+ "equals(D_607773106_12_12,104430631)",
+ "equals(D_607773106_12_12,353358909)",
+ "equals(D_607773106_12_12,178420302)",
+ "13==1",
+ "13>1",
+ "equals(isNotDefined(D_406098499_13_13,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_13_13,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_13_13,false),false),greaterThan(13,1))",
+ "equals(D_579563781_13_13,654207589)",
+ "equals(D_579563781_13_13,536341288)",
+ "and(doesNotEqual(D_579563781_13_13,654207589),doesNotEqual(D_579563781_13_13,536341288))",
+ "equals(D_890637099_13_13,353358909)",
+ "doesNotEqual(D_890637099_13_13,353358909)",
+ "equals(D_578895128_13_13,939782495)",
+ "equals(D_578895128_13_13,135725957)",
+ "equals(D_578895128_13_13,518416174)",
+ "equals(D_578895128_13_13,847945207)",
+ "equals(D_578895128_13_13,283025574)",
+ "equals(D_578895128_13_13,942970912)",
+ "equals(D_578895128_13_13,596122041)",
+ "equals(D_578895128_13_13,489400183)",
+ "equals(D_578895128_13_13,863246236)",
+ "equals(D_578895128_13_13,607793249)",
+ "equals(D_578895128_13_13,532172400)",
+ "equals(D_578895128_13_13,754745617)",
+ "equals(D_578895128_13_13,665036297)",
+ "equals(D_578895128_13_13,200837530)",
+ "equals(D_578895128_13_13,990319383)",
+ "equals(D_578895128_13_13,487917585)",
+ "equals(D_578895128_13_13,603181162)",
+ "equals(D_578895128_13_13,482225200)",
+ "equals(D_578895128_13_13,295976386)",
+ "equals(D_578895128_13_13,764891959)",
+ "equals(D_578895128_13_13,248374037)",
+ "equals(D_578895128_13_13,139822395)",
+ "equals(D_578895128_13_13,723614811)",
+ "exists('D_957429734_13_13')",
+ "doesNotExist('D_957429734_13_13')",
+ "selectionCount(\"D_578895128_13_13\",true)>0 or valueLength(\"D_957429734_13_13\")>0",
+ "valueLength('D_406098499_13_13')>0",
+ "equals(D_579563781_13_13,178420302)",
+ "allExist('D_807431780_13_13','D_578895128_13_13')",
+ "equals(D_807431780_13_13,353358909)",
+ "equals(D_807431780_13_13,104430631)",
+ "valueIsOneOf('D_589588769_13_13',555374628)",
+ "valueIsOneOf('D_589588769_13_13',871673221)",
+ "valueIsOneOf('D_589588769_13_13',198654048)",
+ "valueIsOneOf('D_807431780_13_13',353358909)",
+ "equals(D_607773106_13_13,104430631)",
+ "equals(D_607773106_13_13,353358909)",
+ "equals(D_607773106_13_13,178420302)",
+ "14==1",
+ "14>1",
+ "equals(isNotDefined(D_406098499_14_14,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_14_14,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_14_14,false),false),greaterThan(14,1))",
+ "equals(D_579563781_14_14,654207589)",
+ "equals(D_579563781_14_14,536341288)",
+ "and(doesNotEqual(D_579563781_14_14,654207589),doesNotEqual(D_579563781_14_14,536341288))",
+ "equals(D_890637099_14_14,353358909)",
+ "doesNotEqual(D_890637099_14_14,353358909)",
+ "equals(D_578895128_14_14,939782495)",
+ "equals(D_578895128_14_14,135725957)",
+ "equals(D_578895128_14_14,518416174)",
+ "equals(D_578895128_14_14,847945207)",
+ "equals(D_578895128_14_14,283025574)",
+ "equals(D_578895128_14_14,942970912)",
+ "equals(D_578895128_14_14,596122041)",
+ "equals(D_578895128_14_14,489400183)",
+ "equals(D_578895128_14_14,863246236)",
+ "equals(D_578895128_14_14,607793249)",
+ "equals(D_578895128_14_14,532172400)",
+ "equals(D_578895128_14_14,754745617)",
+ "equals(D_578895128_14_14,665036297)",
+ "equals(D_578895128_14_14,200837530)",
+ "equals(D_578895128_14_14,990319383)",
+ "equals(D_578895128_14_14,487917585)",
+ "equals(D_578895128_14_14,603181162)",
+ "equals(D_578895128_14_14,482225200)",
+ "equals(D_578895128_14_14,295976386)",
+ "equals(D_578895128_14_14,764891959)",
+ "equals(D_578895128_14_14,248374037)",
+ "equals(D_578895128_14_14,139822395)",
+ "equals(D_578895128_14_14,723614811)",
+ "exists('D_957429734_14_14')",
+ "doesNotExist('D_957429734_14_14')",
+ "selectionCount(\"D_578895128_14_14\",true)>0 or valueLength(\"D_957429734_14_14\")>0",
+ "valueLength('D_406098499_14_14')>0",
+ "equals(D_579563781_14_14,178420302)",
+ "allExist('D_807431780_14_14','D_578895128_14_14')",
+ "equals(D_807431780_14_14,353358909)",
+ "equals(D_807431780_14_14,104430631)",
+ "valueIsOneOf('D_589588769_14_14',555374628)",
+ "valueIsOneOf('D_589588769_14_14',871673221)",
+ "valueIsOneOf('D_589588769_14_14',198654048)",
+ "valueIsOneOf('D_807431780_14_14',353358909)",
+ "equals(D_607773106_14_14,104430631)",
+ "equals(D_607773106_14_14,353358909)",
+ "equals(D_607773106_14_14,178420302)",
+ "15==1",
+ "15>1",
+ "equals(isNotDefined(D_406098499_15_15,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_15_15,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_15_15,false),false),greaterThan(15,1))",
+ "equals(D_579563781_15_15,654207589)",
+ "equals(D_579563781_15_15,536341288)",
+ "and(doesNotEqual(D_579563781_15_15,654207589),doesNotEqual(D_579563781_15_15,536341288))",
+ "equals(D_890637099_15_15,353358909)",
+ "doesNotEqual(D_890637099_15_15,353358909)",
+ "equals(D_578895128_15_15,939782495)",
+ "equals(D_578895128_15_15,135725957)",
+ "equals(D_578895128_15_15,518416174)",
+ "equals(D_578895128_15_15,847945207)",
+ "equals(D_578895128_15_15,283025574)",
+ "equals(D_578895128_15_15,942970912)",
+ "equals(D_578895128_15_15,596122041)",
+ "equals(D_578895128_15_15,489400183)",
+ "equals(D_578895128_15_15,863246236)",
+ "equals(D_578895128_15_15,607793249)",
+ "equals(D_578895128_15_15,532172400)",
+ "equals(D_578895128_15_15,754745617)",
+ "equals(D_578895128_15_15,665036297)",
+ "equals(D_578895128_15_15,200837530)",
+ "equals(D_578895128_15_15,990319383)",
+ "equals(D_578895128_15_15,487917585)",
+ "equals(D_578895128_15_15,603181162)",
+ "equals(D_578895128_15_15,482225200)",
+ "equals(D_578895128_15_15,295976386)",
+ "equals(D_578895128_15_15,764891959)",
+ "equals(D_578895128_15_15,248374037)",
+ "equals(D_578895128_15_15,139822395)",
+ "equals(D_578895128_15_15,723614811)",
+ "exists('D_957429734_15_15')",
+ "doesNotExist('D_957429734_15_15')",
+ "selectionCount(\"D_578895128_15_15\",true)>0 or valueLength(\"D_957429734_15_15\")>0",
+ "valueLength('D_406098499_15_15')>0",
+ "equals(D_579563781_15_15,178420302)",
+ "allExist('D_807431780_15_15','D_578895128_15_15')",
+ "equals(D_807431780_15_15,353358909)",
+ "equals(D_807431780_15_15,104430631)",
+ "valueIsOneOf('D_589588769_15_15',555374628)",
+ "valueIsOneOf('D_589588769_15_15',871673221)",
+ "valueIsOneOf('D_589588769_15_15',198654048)",
+ "valueIsOneOf('D_807431780_15_15',353358909)",
+ "equals(D_607773106_15_15,104430631)",
+ "equals(D_607773106_15_15,353358909)",
+ "equals(D_607773106_15_15,178420302)",
+ "16==1",
+ "16>1",
+ "equals(isNotDefined(D_406098499_16_16,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_16_16,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_16_16,false),false),greaterThan(16,1))",
+ "equals(D_579563781_16_16,654207589)",
+ "equals(D_579563781_16_16,536341288)",
+ "and(doesNotEqual(D_579563781_16_16,654207589),doesNotEqual(D_579563781_16_16,536341288))",
+ "equals(D_890637099_16_16,353358909)",
+ "doesNotEqual(D_890637099_16_16,353358909)",
+ "equals(D_578895128_16_16,939782495)",
+ "equals(D_578895128_16_16,135725957)",
+ "equals(D_578895128_16_16,518416174)",
+ "equals(D_578895128_16_16,847945207)",
+ "equals(D_578895128_16_16,283025574)",
+ "equals(D_578895128_16_16,942970912)",
+ "equals(D_578895128_16_16,596122041)",
+ "equals(D_578895128_16_16,489400183)",
+ "equals(D_578895128_16_16,863246236)",
+ "equals(D_578895128_16_16,607793249)",
+ "equals(D_578895128_16_16,532172400)",
+ "equals(D_578895128_16_16,754745617)",
+ "equals(D_578895128_16_16,665036297)",
+ "equals(D_578895128_16_16,200837530)",
+ "equals(D_578895128_16_16,990319383)",
+ "equals(D_578895128_16_16,487917585)",
+ "equals(D_578895128_16_16,603181162)",
+ "equals(D_578895128_16_16,482225200)",
+ "equals(D_578895128_16_16,295976386)",
+ "equals(D_578895128_16_16,764891959)",
+ "equals(D_578895128_16_16,248374037)",
+ "equals(D_578895128_16_16,139822395)",
+ "equals(D_578895128_16_16,723614811)",
+ "exists('D_957429734_16_16')",
+ "doesNotExist('D_957429734_16_16')",
+ "selectionCount(\"D_578895128_16_16\",true)>0 or valueLength(\"D_957429734_16_16\")>0",
+ "valueLength('D_406098499_16_16')>0",
+ "equals(D_579563781_16_16,178420302)",
+ "allExist('D_807431780_16_16','D_578895128_16_16')",
+ "equals(D_807431780_16_16,353358909)",
+ "equals(D_807431780_16_16,104430631)",
+ "valueIsOneOf('D_589588769_16_16',555374628)",
+ "valueIsOneOf('D_589588769_16_16',871673221)",
+ "valueIsOneOf('D_589588769_16_16',198654048)",
+ "valueIsOneOf('D_807431780_16_16',353358909)",
+ "equals(D_607773106_16_16,104430631)",
+ "equals(D_607773106_16_16,353358909)",
+ "equals(D_607773106_16_16,178420302)",
+ "17==1",
+ "17>1",
+ "equals(isNotDefined(D_406098499_17_17,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_17_17,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_17_17,false),false),greaterThan(17,1))",
+ "equals(D_579563781_17_17,654207589)",
+ "equals(D_579563781_17_17,536341288)",
+ "and(doesNotEqual(D_579563781_17_17,654207589),doesNotEqual(D_579563781_17_17,536341288))",
+ "equals(D_890637099_17_17,353358909)",
+ "doesNotEqual(D_890637099_17_17,353358909)",
+ "equals(D_578895128_17_17,939782495)",
+ "equals(D_578895128_17_17,135725957)",
+ "equals(D_578895128_17_17,518416174)",
+ "equals(D_578895128_17_17,847945207)",
+ "equals(D_578895128_17_17,283025574)",
+ "equals(D_578895128_17_17,942970912)",
+ "equals(D_578895128_17_17,596122041)",
+ "equals(D_578895128_17_17,489400183)",
+ "equals(D_578895128_17_17,863246236)",
+ "equals(D_578895128_17_17,607793249)",
+ "equals(D_578895128_17_17,532172400)",
+ "equals(D_578895128_17_17,754745617)",
+ "equals(D_578895128_17_17,665036297)",
+ "equals(D_578895128_17_17,200837530)",
+ "equals(D_578895128_17_17,990319383)",
+ "equals(D_578895128_17_17,487917585)",
+ "equals(D_578895128_17_17,603181162)",
+ "equals(D_578895128_17_17,482225200)",
+ "equals(D_578895128_17_17,295976386)",
+ "equals(D_578895128_17_17,764891959)",
+ "equals(D_578895128_17_17,248374037)",
+ "equals(D_578895128_17_17,139822395)",
+ "equals(D_578895128_17_17,723614811)",
+ "exists('D_957429734_17_17')",
+ "doesNotExist('D_957429734_17_17')",
+ "selectionCount(\"D_578895128_17_17\",true)>0 or valueLength(\"D_957429734_17_17\")>0",
+ "valueLength('D_406098499_17_17')>0",
+ "equals(D_579563781_17_17,178420302)",
+ "allExist('D_807431780_17_17','D_578895128_17_17')",
+ "equals(D_807431780_17_17,353358909)",
+ "equals(D_807431780_17_17,104430631)",
+ "valueIsOneOf('D_589588769_17_17',555374628)",
+ "valueIsOneOf('D_589588769_17_17',871673221)",
+ "valueIsOneOf('D_589588769_17_17',198654048)",
+ "valueIsOneOf('D_807431780_17_17',353358909)",
+ "equals(D_607773106_17_17,104430631)",
+ "equals(D_607773106_17_17,353358909)",
+ "equals(D_607773106_17_17,178420302)",
+ "18==1",
+ "18>1",
+ "equals(isNotDefined(D_406098499_18_18,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_18_18,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_18_18,false),false),greaterThan(18,1))",
+ "equals(D_579563781_18_18,654207589)",
+ "equals(D_579563781_18_18,536341288)",
+ "and(doesNotEqual(D_579563781_18_18,654207589),doesNotEqual(D_579563781_18_18,536341288))",
+ "equals(D_890637099_18_18,353358909)",
+ "doesNotEqual(D_890637099_18_18,353358909)",
+ "equals(D_578895128_18_18,939782495)",
+ "equals(D_578895128_18_18,135725957)",
+ "equals(D_578895128_18_18,518416174)",
+ "equals(D_578895128_18_18,847945207)",
+ "equals(D_578895128_18_18,283025574)",
+ "equals(D_578895128_18_18,942970912)",
+ "equals(D_578895128_18_18,596122041)",
+ "equals(D_578895128_18_18,489400183)",
+ "equals(D_578895128_18_18,863246236)",
+ "equals(D_578895128_18_18,607793249)",
+ "equals(D_578895128_18_18,532172400)",
+ "equals(D_578895128_18_18,754745617)",
+ "equals(D_578895128_18_18,665036297)",
+ "equals(D_578895128_18_18,200837530)",
+ "equals(D_578895128_18_18,990319383)",
+ "equals(D_578895128_18_18,487917585)",
+ "equals(D_578895128_18_18,603181162)",
+ "equals(D_578895128_18_18,482225200)",
+ "equals(D_578895128_18_18,295976386)",
+ "equals(D_578895128_18_18,764891959)",
+ "equals(D_578895128_18_18,248374037)",
+ "equals(D_578895128_18_18,139822395)",
+ "equals(D_578895128_18_18,723614811)",
+ "exists('D_957429734_18_18')",
+ "doesNotExist('D_957429734_18_18')",
+ "selectionCount(\"D_578895128_18_18\",true)>0 or valueLength(\"D_957429734_18_18\")>0",
+ "valueLength('D_406098499_18_18')>0",
+ "equals(D_579563781_18_18,178420302)",
+ "allExist('D_807431780_18_18','D_578895128_18_18')",
+ "equals(D_807431780_18_18,353358909)",
+ "equals(D_807431780_18_18,104430631)",
+ "valueIsOneOf('D_589588769_18_18',555374628)",
+ "valueIsOneOf('D_589588769_18_18',871673221)",
+ "valueIsOneOf('D_589588769_18_18',198654048)",
+ "valueIsOneOf('D_807431780_18_18',353358909)",
+ "equals(D_607773106_18_18,104430631)",
+ "equals(D_607773106_18_18,353358909)",
+ "equals(D_607773106_18_18,178420302)",
+ "19==1",
+ "19>1",
+ "equals(isNotDefined(D_406098499_19_19,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_19_19,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_19_19,false),false),greaterThan(19,1))",
+ "equals(D_579563781_19_19,654207589)",
+ "equals(D_579563781_19_19,536341288)",
+ "and(doesNotEqual(D_579563781_19_19,654207589),doesNotEqual(D_579563781_19_19,536341288))",
+ "equals(D_890637099_19_19,353358909)",
+ "doesNotEqual(D_890637099_19_19,353358909)",
+ "equals(D_578895128_19_19,939782495)",
+ "equals(D_578895128_19_19,135725957)",
+ "equals(D_578895128_19_19,518416174)",
+ "equals(D_578895128_19_19,847945207)",
+ "equals(D_578895128_19_19,283025574)",
+ "equals(D_578895128_19_19,942970912)",
+ "equals(D_578895128_19_19,596122041)",
+ "equals(D_578895128_19_19,489400183)",
+ "equals(D_578895128_19_19,863246236)",
+ "equals(D_578895128_19_19,607793249)",
+ "equals(D_578895128_19_19,532172400)",
+ "equals(D_578895128_19_19,754745617)",
+ "equals(D_578895128_19_19,665036297)",
+ "equals(D_578895128_19_19,200837530)",
+ "equals(D_578895128_19_19,990319383)",
+ "equals(D_578895128_19_19,487917585)",
+ "equals(D_578895128_19_19,603181162)",
+ "equals(D_578895128_19_19,482225200)",
+ "equals(D_578895128_19_19,295976386)",
+ "equals(D_578895128_19_19,764891959)",
+ "equals(D_578895128_19_19,248374037)",
+ "equals(D_578895128_19_19,139822395)",
+ "equals(D_578895128_19_19,723614811)",
+ "exists('D_957429734_19_19')",
+ "doesNotExist('D_957429734_19_19')",
+ "selectionCount(\"D_578895128_19_19\",true)>0 or valueLength(\"D_957429734_19_19\")>0",
+ "valueLength('D_406098499_19_19')>0",
+ "equals(D_579563781_19_19,178420302)",
+ "allExist('D_807431780_19_19','D_578895128_19_19')",
+ "equals(D_807431780_19_19,353358909)",
+ "equals(D_807431780_19_19,104430631)",
+ "valueIsOneOf('D_589588769_19_19',555374628)",
+ "valueIsOneOf('D_589588769_19_19',871673221)",
+ "valueIsOneOf('D_589588769_19_19',198654048)",
+ "valueIsOneOf('D_807431780_19_19',353358909)",
+ "equals(D_607773106_19_19,104430631)",
+ "equals(D_607773106_19_19,353358909)",
+ "equals(D_607773106_19_19,178420302)",
+ "20==1",
+ "20>1",
+ "equals(isNotDefined(D_406098499_20_20,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_20_20,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_20_20,false),false),greaterThan(20,1))",
+ "equals(D_579563781_20_20,654207589)",
+ "equals(D_579563781_20_20,536341288)",
+ "and(doesNotEqual(D_579563781_20_20,654207589),doesNotEqual(D_579563781_20_20,536341288))",
+ "equals(D_890637099_20_20,353358909)",
+ "doesNotEqual(D_890637099_20_20,353358909)",
+ "equals(D_578895128_20_20,939782495)",
+ "equals(D_578895128_20_20,135725957)",
+ "equals(D_578895128_20_20,518416174)",
+ "equals(D_578895128_20_20,847945207)",
+ "equals(D_578895128_20_20,283025574)",
+ "equals(D_578895128_20_20,942970912)",
+ "equals(D_578895128_20_20,596122041)",
+ "equals(D_578895128_20_20,489400183)",
+ "equals(D_578895128_20_20,863246236)",
+ "equals(D_578895128_20_20,607793249)",
+ "equals(D_578895128_20_20,532172400)",
+ "equals(D_578895128_20_20,754745617)",
+ "equals(D_578895128_20_20,665036297)",
+ "equals(D_578895128_20_20,200837530)",
+ "equals(D_578895128_20_20,990319383)",
+ "equals(D_578895128_20_20,487917585)",
+ "equals(D_578895128_20_20,603181162)",
+ "equals(D_578895128_20_20,482225200)",
+ "equals(D_578895128_20_20,295976386)",
+ "equals(D_578895128_20_20,764891959)",
+ "equals(D_578895128_20_20,248374037)",
+ "equals(D_578895128_20_20,139822395)",
+ "equals(D_578895128_20_20,723614811)",
+ "exists('D_957429734_20_20')",
+ "doesNotExist('D_957429734_20_20')",
+ "selectionCount(\"D_578895128_20_20\",true)>0 or valueLength(\"D_957429734_20_20\")>0",
+ "valueLength('D_406098499_20_20')>0",
+ "equals(D_579563781_20_20,178420302)",
+ "allExist('D_807431780_20_20','D_578895128_20_20')",
+ "equals(D_807431780_20_20,353358909)",
+ "equals(D_807431780_20_20,104430631)",
+ "valueIsOneOf('D_589588769_20_20',555374628)",
+ "valueIsOneOf('D_589588769_20_20',871673221)",
+ "valueIsOneOf('D_589588769_20_20',198654048)",
+ "valueIsOneOf('D_807431780_20_20',353358909)",
+ "equals(D_607773106_20_20,104430631)",
+ "equals(D_607773106_20_20,353358909)",
+ "equals(D_607773106_20_20,178420302)",
+ "21==1",
+ "21>1",
+ "equals(isNotDefined(D_406098499_21_21,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_21_21,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_21_21,false),false),greaterThan(21,1))",
+ "equals(D_579563781_21_21,654207589)",
+ "equals(D_579563781_21_21,536341288)",
+ "and(doesNotEqual(D_579563781_21_21,654207589),doesNotEqual(D_579563781_21_21,536341288))",
+ "equals(D_890637099_21_21,353358909)",
+ "doesNotEqual(D_890637099_21_21,353358909)",
+ "equals(D_578895128_21_21,939782495)",
+ "equals(D_578895128_21_21,135725957)",
+ "equals(D_578895128_21_21,518416174)",
+ "equals(D_578895128_21_21,847945207)",
+ "equals(D_578895128_21_21,283025574)",
+ "equals(D_578895128_21_21,942970912)",
+ "equals(D_578895128_21_21,596122041)",
+ "equals(D_578895128_21_21,489400183)",
+ "equals(D_578895128_21_21,863246236)",
+ "equals(D_578895128_21_21,607793249)",
+ "equals(D_578895128_21_21,532172400)",
+ "equals(D_578895128_21_21,754745617)",
+ "equals(D_578895128_21_21,665036297)",
+ "equals(D_578895128_21_21,200837530)",
+ "equals(D_578895128_21_21,990319383)",
+ "equals(D_578895128_21_21,487917585)",
+ "equals(D_578895128_21_21,603181162)",
+ "equals(D_578895128_21_21,482225200)",
+ "equals(D_578895128_21_21,295976386)",
+ "equals(D_578895128_21_21,764891959)",
+ "equals(D_578895128_21_21,248374037)",
+ "equals(D_578895128_21_21,139822395)",
+ "equals(D_578895128_21_21,723614811)",
+ "exists('D_957429734_21_21')",
+ "doesNotExist('D_957429734_21_21')",
+ "selectionCount(\"D_578895128_21_21\",true)>0 or valueLength(\"D_957429734_21_21\")>0",
+ "valueLength('D_406098499_21_21')>0",
+ "equals(D_579563781_21_21,178420302)",
+ "allExist('D_807431780_21_21','D_578895128_21_21')",
+ "equals(D_807431780_21_21,353358909)",
+ "equals(D_807431780_21_21,104430631)",
+ "valueIsOneOf('D_589588769_21_21',555374628)",
+ "valueIsOneOf('D_589588769_21_21',871673221)",
+ "valueIsOneOf('D_589588769_21_21',198654048)",
+ "valueIsOneOf('D_807431780_21_21',353358909)",
+ "equals(D_607773106_21_21,104430631)",
+ "equals(D_607773106_21_21,353358909)",
+ "equals(D_607773106_21_21,178420302)",
+ "22==1",
+ "22>1",
+ "equals(isNotDefined(D_406098499_22_22,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_22_22,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_22_22,false),false),greaterThan(22,1))",
+ "equals(D_579563781_22_22,654207589)",
+ "equals(D_579563781_22_22,536341288)",
+ "and(doesNotEqual(D_579563781_22_22,654207589),doesNotEqual(D_579563781_22_22,536341288))",
+ "equals(D_890637099_22_22,353358909)",
+ "doesNotEqual(D_890637099_22_22,353358909)",
+ "equals(D_578895128_22_22,939782495)",
+ "equals(D_578895128_22_22,135725957)",
+ "equals(D_578895128_22_22,518416174)",
+ "equals(D_578895128_22_22,847945207)",
+ "equals(D_578895128_22_22,283025574)",
+ "equals(D_578895128_22_22,942970912)",
+ "equals(D_578895128_22_22,596122041)",
+ "equals(D_578895128_22_22,489400183)",
+ "equals(D_578895128_22_22,863246236)",
+ "equals(D_578895128_22_22,607793249)",
+ "equals(D_578895128_22_22,532172400)",
+ "equals(D_578895128_22_22,754745617)",
+ "equals(D_578895128_22_22,665036297)",
+ "equals(D_578895128_22_22,200837530)",
+ "equals(D_578895128_22_22,990319383)",
+ "equals(D_578895128_22_22,487917585)",
+ "equals(D_578895128_22_22,603181162)",
+ "equals(D_578895128_22_22,482225200)",
+ "equals(D_578895128_22_22,295976386)",
+ "equals(D_578895128_22_22,764891959)",
+ "equals(D_578895128_22_22,248374037)",
+ "equals(D_578895128_22_22,139822395)",
+ "equals(D_578895128_22_22,723614811)",
+ "exists('D_957429734_22_22')",
+ "doesNotExist('D_957429734_22_22')",
+ "selectionCount(\"D_578895128_22_22\",true)>0 or valueLength(\"D_957429734_22_22\")>0",
+ "valueLength('D_406098499_22_22')>0",
+ "equals(D_579563781_22_22,178420302)",
+ "allExist('D_807431780_22_22','D_578895128_22_22')",
+ "equals(D_807431780_22_22,353358909)",
+ "equals(D_807431780_22_22,104430631)",
+ "valueIsOneOf('D_589588769_22_22',555374628)",
+ "valueIsOneOf('D_589588769_22_22',871673221)",
+ "valueIsOneOf('D_589588769_22_22',198654048)",
+ "valueIsOneOf('D_807431780_22_22',353358909)",
+ "equals(D_607773106_22_22,104430631)",
+ "equals(D_607773106_22_22,353358909)",
+ "equals(D_607773106_22_22,178420302)",
+ "23==1",
+ "23>1",
+ "equals(isNotDefined(D_406098499_23_23,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_23_23,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_23_23,false),false),greaterThan(23,1))",
+ "equals(D_579563781_23_23,654207589)",
+ "equals(D_579563781_23_23,536341288)",
+ "and(doesNotEqual(D_579563781_23_23,654207589),doesNotEqual(D_579563781_23_23,536341288))",
+ "equals(D_890637099_23_23,353358909)",
+ "doesNotEqual(D_890637099_23_23,353358909)",
+ "equals(D_578895128_23_23,939782495)",
+ "equals(D_578895128_23_23,135725957)",
+ "equals(D_578895128_23_23,518416174)",
+ "equals(D_578895128_23_23,847945207)",
+ "equals(D_578895128_23_23,283025574)",
+ "equals(D_578895128_23_23,942970912)",
+ "equals(D_578895128_23_23,596122041)",
+ "equals(D_578895128_23_23,489400183)",
+ "equals(D_578895128_23_23,863246236)",
+ "equals(D_578895128_23_23,607793249)",
+ "equals(D_578895128_23_23,532172400)",
+ "equals(D_578895128_23_23,754745617)",
+ "equals(D_578895128_23_23,665036297)",
+ "equals(D_578895128_23_23,200837530)",
+ "equals(D_578895128_23_23,990319383)",
+ "equals(D_578895128_23_23,487917585)",
+ "equals(D_578895128_23_23,603181162)",
+ "equals(D_578895128_23_23,482225200)",
+ "equals(D_578895128_23_23,295976386)",
+ "equals(D_578895128_23_23,764891959)",
+ "equals(D_578895128_23_23,248374037)",
+ "equals(D_578895128_23_23,139822395)",
+ "equals(D_578895128_23_23,723614811)",
+ "exists('D_957429734_23_23')",
+ "doesNotExist('D_957429734_23_23')",
+ "selectionCount(\"D_578895128_23_23\",true)>0 or valueLength(\"D_957429734_23_23\")>0",
+ "valueLength('D_406098499_23_23')>0",
+ "equals(D_579563781_23_23,178420302)",
+ "allExist('D_807431780_23_23','D_578895128_23_23')",
+ "equals(D_807431780_23_23,353358909)",
+ "equals(D_807431780_23_23,104430631)",
+ "valueIsOneOf('D_589588769_23_23',555374628)",
+ "valueIsOneOf('D_589588769_23_23',871673221)",
+ "valueIsOneOf('D_589588769_23_23',198654048)",
+ "valueIsOneOf('D_807431780_23_23',353358909)",
+ "equals(D_607773106_23_23,104430631)",
+ "equals(D_607773106_23_23,353358909)",
+ "equals(D_607773106_23_23,178420302)",
+ "24==1",
+ "24>1",
+ "equals(isNotDefined(D_406098499_24_24,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_24_24,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_24_24,false),false),greaterThan(24,1))",
+ "equals(D_579563781_24_24,654207589)",
+ "equals(D_579563781_24_24,536341288)",
+ "and(doesNotEqual(D_579563781_24_24,654207589),doesNotEqual(D_579563781_24_24,536341288))",
+ "equals(D_890637099_24_24,353358909)",
+ "doesNotEqual(D_890637099_24_24,353358909)",
+ "equals(D_578895128_24_24,939782495)",
+ "equals(D_578895128_24_24,135725957)",
+ "equals(D_578895128_24_24,518416174)",
+ "equals(D_578895128_24_24,847945207)",
+ "equals(D_578895128_24_24,283025574)",
+ "equals(D_578895128_24_24,942970912)",
+ "equals(D_578895128_24_24,596122041)",
+ "equals(D_578895128_24_24,489400183)",
+ "equals(D_578895128_24_24,863246236)",
+ "equals(D_578895128_24_24,607793249)",
+ "equals(D_578895128_24_24,532172400)",
+ "equals(D_578895128_24_24,754745617)",
+ "equals(D_578895128_24_24,665036297)",
+ "equals(D_578895128_24_24,200837530)",
+ "equals(D_578895128_24_24,990319383)",
+ "equals(D_578895128_24_24,487917585)",
+ "equals(D_578895128_24_24,603181162)",
+ "equals(D_578895128_24_24,482225200)",
+ "equals(D_578895128_24_24,295976386)",
+ "equals(D_578895128_24_24,764891959)",
+ "equals(D_578895128_24_24,248374037)",
+ "equals(D_578895128_24_24,139822395)",
+ "equals(D_578895128_24_24,723614811)",
+ "exists('D_957429734_24_24')",
+ "doesNotExist('D_957429734_24_24')",
+ "selectionCount(\"D_578895128_24_24\",true)>0 or valueLength(\"D_957429734_24_24\")>0",
+ "valueLength('D_406098499_24_24')>0",
+ "equals(D_579563781_24_24,178420302)",
+ "allExist('D_807431780_24_24','D_578895128_24_24')",
+ "equals(D_807431780_24_24,353358909)",
+ "equals(D_807431780_24_24,104430631)",
+ "valueIsOneOf('D_589588769_24_24',555374628)",
+ "valueIsOneOf('D_589588769_24_24',871673221)",
+ "valueIsOneOf('D_589588769_24_24',198654048)",
+ "valueIsOneOf('D_807431780_24_24',353358909)",
+ "equals(D_607773106_24_24,104430631)",
+ "equals(D_607773106_24_24,353358909)",
+ "equals(D_607773106_24_24,178420302)",
+ "25==1",
+ "25>1",
+ "equals(isNotDefined(D_406098499_25_25,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_25_25,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_25_25,false),false),greaterThan(25,1))",
+ "equals(D_579563781_25_25,654207589)",
+ "equals(D_579563781_25_25,536341288)",
+ "and(doesNotEqual(D_579563781_25_25,654207589),doesNotEqual(D_579563781_25_25,536341288))",
+ "equals(D_890637099_25_25,353358909)",
+ "doesNotEqual(D_890637099_25_25,353358909)",
+ "equals(D_578895128_25_25,939782495)",
+ "equals(D_578895128_25_25,135725957)",
+ "equals(D_578895128_25_25,518416174)",
+ "equals(D_578895128_25_25,847945207)",
+ "equals(D_578895128_25_25,283025574)",
+ "equals(D_578895128_25_25,942970912)",
+ "equals(D_578895128_25_25,596122041)",
+ "equals(D_578895128_25_25,489400183)",
+ "equals(D_578895128_25_25,863246236)",
+ "equals(D_578895128_25_25,607793249)",
+ "equals(D_578895128_25_25,532172400)",
+ "equals(D_578895128_25_25,754745617)",
+ "equals(D_578895128_25_25,665036297)",
+ "equals(D_578895128_25_25,200837530)",
+ "equals(D_578895128_25_25,990319383)",
+ "equals(D_578895128_25_25,487917585)",
+ "equals(D_578895128_25_25,603181162)",
+ "equals(D_578895128_25_25,482225200)",
+ "equals(D_578895128_25_25,295976386)",
+ "equals(D_578895128_25_25,764891959)",
+ "equals(D_578895128_25_25,248374037)",
+ "equals(D_578895128_25_25,139822395)",
+ "equals(D_578895128_25_25,723614811)",
+ "exists('D_957429734_25_25')",
+ "doesNotExist('D_957429734_25_25')",
+ "selectionCount(\"D_578895128_25_25\",true)>0 or valueLength(\"D_957429734_25_25\")>0",
+ "valueLength('D_406098499_25_25')>0",
+ "equals(D_579563781_25_25,178420302)",
+ "allExist('D_807431780_25_25','D_578895128_25_25')",
+ "equals(D_807431780_25_25,353358909)",
+ "equals(D_807431780_25_25,104430631)",
+ "valueIsOneOf('D_589588769_25_25',555374628)",
+ "valueIsOneOf('D_589588769_25_25',871673221)",
+ "valueIsOneOf('D_589588769_25_25',198654048)",
+ "valueIsOneOf('D_807431780_25_25',353358909)",
+ "equals(D_607773106_25_25,104430631)",
+ "equals(D_607773106_25_25,353358909)",
+ "equals(D_607773106_25_25,178420302)",
+ "isNotDefined(D_446999144,0)",
+ "or(equals(D_446999144,0),or(isNotDefined(D_446999144,0),greaterThanOrEqual(D_446999144,2)))",
+ "equals(isNotDefined(D_714001034_1_1,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_1_1,false),false)",
+ "greaterThan(D_446999144,1)",
+ "equals(D_887697329_1_1,654207589)",
+ "equals(D_887697329_1_1,536341288)",
+ "and(doesNotEqual(D_887697329_1_1,654207589),doesNotEqual(D_887697329_1_1,536341288))",
+ "equals(D_418392907_1_1,353358909)",
+ "doesNotEqual(D_418392907_1_1,353358909)",
+ "equals(D_812370563_1_1,939782495)",
+ "equals(D_812370563_1_1,135725957)",
+ "equals(D_812370563_1_1,518416174)",
+ "equals(D_812370563_1_1,847945207)",
+ "equals(D_812370563_1_1,283025574)",
+ "equals(D_812370563_1_1,942970912)",
+ "equals(D_812370563_1_1,596122041)",
+ "equals(D_812370563_1_1,489400183)",
+ "equals(D_812370563_1_1,863246236)",
+ "equals(D_812370563_1_1,607793249)",
+ "equals(D_812370563_1_1,532172400)",
+ "equals(D_812370563_1_1,754745617)",
+ "equals(D_812370563_1_1,665036297)",
+ "equals(D_812370563_1_1,200837530)",
+ "equals(D_812370563_1_1,990319383)",
+ "equals(D_812370563_1_1,487917585)",
+ "equals(D_812370563_1_1,603181162)",
+ "equals(D_812370563_1_1,482225200)",
+ "equals(D_812370563_1_1,295976386)",
+ "equals(D_812370563_1_1,764891959)",
+ "equals(D_812370563_1_1,248374037)",
+ "equals(D_812370563_1_1,139822395)",
+ "equals(D_812370563_1_1,723614811)",
+ "valueLength('D_933110091_1_1')>0",
+ "doesNotExist('D_933110091_1_1')",
+ "selectionCount(\"D_812370563_1_1\",true)>0 or valueLength(\"D_933110091_1_1\")>0",
+ "valueLength('D_714001034_1_1')>0",
+ "equals(D_887697329_1_1,178420302)",
+ "allExist('D_473529484_1_1','D_812370563_1_1')",
+ "equals(D_473529484_1_1,353358909)",
+ "equals(D_473529484_1_1,104430631)",
+ "equals(D_873968217_1_1,709650750)",
+ "equals(D_873968217_1_1,810290359)",
+ "equals(D_873968217_1_1,509607548)",
+ "equals(D_873968217_1_1,784922042)",
+ "equals(D_718867914_1_1,104430631)",
+ "equals(D_718867914_1_1,353358909)",
+ "equals(D_718867914_1_1,178420302)",
+ "equals(isNotDefined(D_714001034_2_2,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_2_2,false),false)",
+ "equals(D_887697329_2_2,654207589)",
+ "equals(D_887697329_2_2,536341288)",
+ "and(doesNotEqual(D_887697329_2_2,654207589),doesNotEqual(D_887697329_2_2,536341288))",
+ "equals(D_418392907_2_2,353358909)",
+ "doesNotEqual(D_418392907_2_2,353358909)",
+ "equals(D_812370563_2_2,939782495)",
+ "equals(D_812370563_2_2,135725957)",
+ "equals(D_812370563_2_2,518416174)",
+ "equals(D_812370563_2_2,847945207)",
+ "equals(D_812370563_2_2,283025574)",
+ "equals(D_812370563_2_2,942970912)",
+ "equals(D_812370563_2_2,596122041)",
+ "equals(D_812370563_2_2,489400183)",
+ "equals(D_812370563_2_2,863246236)",
+ "equals(D_812370563_2_2,607793249)",
+ "equals(D_812370563_2_2,532172400)",
+ "equals(D_812370563_2_2,754745617)",
+ "equals(D_812370563_2_2,665036297)",
+ "equals(D_812370563_2_2,200837530)",
+ "equals(D_812370563_2_2,990319383)",
+ "equals(D_812370563_2_2,487917585)",
+ "equals(D_812370563_2_2,603181162)",
+ "equals(D_812370563_2_2,482225200)",
+ "equals(D_812370563_2_2,295976386)",
+ "equals(D_812370563_2_2,764891959)",
+ "equals(D_812370563_2_2,248374037)",
+ "equals(D_812370563_2_2,139822395)",
+ "equals(D_812370563_2_2,723614811)",
+ "valueLength('D_933110091_2_2')>0",
+ "doesNotExist('D_933110091_2_2')",
+ "selectionCount(\"D_812370563_2_2\",true)>0 or valueLength(\"D_933110091_2_2\")>0",
+ "valueLength('D_714001034_2_2')>0",
+ "equals(D_887697329_2_2,178420302)",
+ "allExist('D_473529484_2_2','D_812370563_2_2')",
+ "equals(D_473529484_2_2,353358909)",
+ "equals(D_473529484_2_2,104430631)",
+ "equals(D_873968217_2_2,709650750)",
+ "equals(D_873968217_2_2,810290359)",
+ "equals(D_873968217_2_2,509607548)",
+ "equals(D_873968217_2_2,784922042)",
+ "equals(D_718867914_2_2,104430631)",
+ "equals(D_718867914_2_2,353358909)",
+ "equals(D_718867914_2_2,178420302)",
+ "equals(isNotDefined(D_714001034_3_3,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_3_3,false),false)",
+ "equals(D_887697329_3_3,654207589)",
+ "equals(D_887697329_3_3,536341288)",
+ "and(doesNotEqual(D_887697329_3_3,654207589),doesNotEqual(D_887697329_3_3,536341288))",
+ "equals(D_418392907_3_3,353358909)",
+ "doesNotEqual(D_418392907_3_3,353358909)",
+ "equals(D_812370563_3_3,939782495)",
+ "equals(D_812370563_3_3,135725957)",
+ "equals(D_812370563_3_3,518416174)",
+ "equals(D_812370563_3_3,847945207)",
+ "equals(D_812370563_3_3,283025574)",
+ "equals(D_812370563_3_3,942970912)",
+ "equals(D_812370563_3_3,596122041)",
+ "equals(D_812370563_3_3,489400183)",
+ "equals(D_812370563_3_3,863246236)",
+ "equals(D_812370563_3_3,607793249)",
+ "equals(D_812370563_3_3,532172400)",
+ "equals(D_812370563_3_3,754745617)",
+ "equals(D_812370563_3_3,665036297)",
+ "equals(D_812370563_3_3,200837530)",
+ "equals(D_812370563_3_3,990319383)",
+ "equals(D_812370563_3_3,487917585)",
+ "equals(D_812370563_3_3,603181162)",
+ "equals(D_812370563_3_3,482225200)",
+ "equals(D_812370563_3_3,295976386)",
+ "equals(D_812370563_3_3,764891959)",
+ "equals(D_812370563_3_3,248374037)",
+ "equals(D_812370563_3_3,139822395)",
+ "equals(D_812370563_3_3,723614811)",
+ "valueLength('D_933110091_3_3')>0",
+ "doesNotExist('D_933110091_3_3')",
+ "selectionCount(\"D_812370563_3_3\",true)>0 or valueLength(\"D_933110091_3_3\")>0",
+ "valueLength('D_714001034_3_3')>0",
+ "equals(D_887697329_3_3,178420302)",
+ "allExist('D_473529484_3_3','D_812370563_3_3')",
+ "equals(D_473529484_3_3,353358909)",
+ "equals(D_473529484_3_3,104430631)",
+ "equals(D_873968217_3_3,709650750)",
+ "equals(D_873968217_3_3,810290359)",
+ "equals(D_873968217_3_3,509607548)",
+ "equals(D_873968217_3_3,784922042)",
+ "equals(D_718867914_3_3,104430631)",
+ "equals(D_718867914_3_3,353358909)",
+ "equals(D_718867914_3_3,178420302)",
+ "equals(isNotDefined(D_714001034_4_4,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_4_4,false),false)",
+ "equals(D_887697329_4_4,654207589)",
+ "equals(D_887697329_4_4,536341288)",
+ "and(doesNotEqual(D_887697329_4_4,654207589),doesNotEqual(D_887697329_4_4,536341288))",
+ "equals(D_418392907_4_4,353358909)",
+ "doesNotEqual(D_418392907_4_4,353358909)",
+ "equals(D_812370563_4_4,939782495)",
+ "equals(D_812370563_4_4,135725957)",
+ "equals(D_812370563_4_4,518416174)",
+ "equals(D_812370563_4_4,847945207)",
+ "equals(D_812370563_4_4,283025574)",
+ "equals(D_812370563_4_4,942970912)",
+ "equals(D_812370563_4_4,596122041)",
+ "equals(D_812370563_4_4,489400183)",
+ "equals(D_812370563_4_4,863246236)",
+ "equals(D_812370563_4_4,607793249)",
+ "equals(D_812370563_4_4,532172400)",
+ "equals(D_812370563_4_4,754745617)",
+ "equals(D_812370563_4_4,665036297)",
+ "equals(D_812370563_4_4,200837530)",
+ "equals(D_812370563_4_4,990319383)",
+ "equals(D_812370563_4_4,487917585)",
+ "equals(D_812370563_4_4,603181162)",
+ "equals(D_812370563_4_4,482225200)",
+ "equals(D_812370563_4_4,295976386)",
+ "equals(D_812370563_4_4,764891959)",
+ "equals(D_812370563_4_4,248374037)",
+ "equals(D_812370563_4_4,139822395)",
+ "equals(D_812370563_4_4,723614811)",
+ "valueLength('D_933110091_4_4')>0",
+ "doesNotExist('D_933110091_4_4')",
+ "selectionCount(\"D_812370563_4_4\",true)>0 or valueLength(\"D_933110091_4_4\")>0",
+ "valueLength('D_714001034_4_4')>0",
+ "equals(D_887697329_4_4,178420302)",
+ "allExist('D_473529484_4_4','D_812370563_4_4')",
+ "equals(D_473529484_4_4,353358909)",
+ "equals(D_473529484_4_4,104430631)",
+ "equals(D_873968217_4_4,709650750)",
+ "equals(D_873968217_4_4,810290359)",
+ "equals(D_873968217_4_4,509607548)",
+ "equals(D_873968217_4_4,784922042)",
+ "equals(D_718867914_4_4,104430631)",
+ "equals(D_718867914_4_4,353358909)",
+ "equals(D_718867914_4_4,178420302)",
+ "equals(isNotDefined(D_714001034_5_5,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_5_5,false),false)",
+ "equals(D_887697329_5_5,654207589)",
+ "equals(D_887697329_5_5,536341288)",
+ "and(doesNotEqual(D_887697329_5_5,654207589),doesNotEqual(D_887697329_5_5,536341288))",
+ "equals(D_418392907_5_5,353358909)",
+ "doesNotEqual(D_418392907_5_5,353358909)",
+ "equals(D_812370563_5_5,939782495)",
+ "equals(D_812370563_5_5,135725957)",
+ "equals(D_812370563_5_5,518416174)",
+ "equals(D_812370563_5_5,847945207)",
+ "equals(D_812370563_5_5,283025574)",
+ "equals(D_812370563_5_5,942970912)",
+ "equals(D_812370563_5_5,596122041)",
+ "equals(D_812370563_5_5,489400183)",
+ "equals(D_812370563_5_5,863246236)",
+ "equals(D_812370563_5_5,607793249)",
+ "equals(D_812370563_5_5,532172400)",
+ "equals(D_812370563_5_5,754745617)",
+ "equals(D_812370563_5_5,665036297)",
+ "equals(D_812370563_5_5,200837530)",
+ "equals(D_812370563_5_5,990319383)",
+ "equals(D_812370563_5_5,487917585)",
+ "equals(D_812370563_5_5,603181162)",
+ "equals(D_812370563_5_5,482225200)",
+ "equals(D_812370563_5_5,295976386)",
+ "equals(D_812370563_5_5,764891959)",
+ "equals(D_812370563_5_5,248374037)",
+ "equals(D_812370563_5_5,139822395)",
+ "equals(D_812370563_5_5,723614811)",
+ "valueLength('D_933110091_5_5')>0",
+ "doesNotExist('D_933110091_5_5')",
+ "selectionCount(\"D_812370563_5_5\",true)>0 or valueLength(\"D_933110091_5_5\")>0",
+ "valueLength('D_714001034_5_5')>0",
+ "equals(D_887697329_5_5,178420302)",
+ "allExist('D_473529484_5_5','D_812370563_5_5')",
+ "equals(D_473529484_5_5,353358909)",
+ "equals(D_473529484_5_5,104430631)",
+ "equals(D_873968217_5_5,709650750)",
+ "equals(D_873968217_5_5,810290359)",
+ "equals(D_873968217_5_5,509607548)",
+ "equals(D_873968217_5_5,784922042)",
+ "equals(D_718867914_5_5,104430631)",
+ "equals(D_718867914_5_5,353358909)",
+ "equals(D_718867914_5_5,178420302)",
+ "equals(isNotDefined(D_714001034_6_6,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_6_6,false),false)",
+ "equals(D_887697329_6_6,654207589)",
+ "equals(D_887697329_6_6,536341288)",
+ "and(doesNotEqual(D_887697329_6_6,654207589),doesNotEqual(D_887697329_6_6,536341288))",
+ "equals(D_418392907_6_6,353358909)",
+ "doesNotEqual(D_418392907_6_6,353358909)",
+ "equals(D_812370563_6_6,939782495)",
+ "equals(D_812370563_6_6,135725957)",
+ "equals(D_812370563_6_6,518416174)",
+ "equals(D_812370563_6_6,847945207)",
+ "equals(D_812370563_6_6,283025574)",
+ "equals(D_812370563_6_6,942970912)",
+ "equals(D_812370563_6_6,596122041)",
+ "equals(D_812370563_6_6,489400183)",
+ "equals(D_812370563_6_6,863246236)",
+ "equals(D_812370563_6_6,607793249)",
+ "equals(D_812370563_6_6,532172400)",
+ "equals(D_812370563_6_6,754745617)",
+ "equals(D_812370563_6_6,665036297)",
+ "equals(D_812370563_6_6,200837530)",
+ "equals(D_812370563_6_6,990319383)",
+ "equals(D_812370563_6_6,487917585)",
+ "equals(D_812370563_6_6,603181162)",
+ "equals(D_812370563_6_6,482225200)",
+ "equals(D_812370563_6_6,295976386)",
+ "equals(D_812370563_6_6,764891959)",
+ "equals(D_812370563_6_6,248374037)",
+ "equals(D_812370563_6_6,139822395)",
+ "equals(D_812370563_6_6,723614811)",
+ "valueLength('D_933110091_6_6')>0",
+ "doesNotExist('D_933110091_6_6')",
+ "selectionCount(\"D_812370563_6_6\",true)>0 or valueLength(\"D_933110091_6_6\")>0",
+ "valueLength('D_714001034_6_6')>0",
+ "equals(D_887697329_6_6,178420302)",
+ "allExist('D_473529484_6_6','D_812370563_6_6')",
+ "equals(D_473529484_6_6,353358909)",
+ "equals(D_473529484_6_6,104430631)",
+ "equals(D_873968217_6_6,709650750)",
+ "equals(D_873968217_6_6,810290359)",
+ "equals(D_873968217_6_6,509607548)",
+ "equals(D_873968217_6_6,784922042)",
+ "equals(D_718867914_6_6,104430631)",
+ "equals(D_718867914_6_6,353358909)",
+ "equals(D_718867914_6_6,178420302)",
+ "equals(isNotDefined(D_714001034_7_7,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_7_7,false),false)",
+ "equals(D_887697329_7_7,654207589)",
+ "equals(D_887697329_7_7,536341288)",
+ "and(doesNotEqual(D_887697329_7_7,654207589),doesNotEqual(D_887697329_7_7,536341288))",
+ "equals(D_418392907_7_7,353358909)",
+ "doesNotEqual(D_418392907_7_7,353358909)",
+ "equals(D_812370563_7_7,939782495)",
+ "equals(D_812370563_7_7,135725957)",
+ "equals(D_812370563_7_7,518416174)",
+ "equals(D_812370563_7_7,847945207)",
+ "equals(D_812370563_7_7,283025574)",
+ "equals(D_812370563_7_7,942970912)",
+ "equals(D_812370563_7_7,596122041)",
+ "equals(D_812370563_7_7,489400183)",
+ "equals(D_812370563_7_7,863246236)",
+ "equals(D_812370563_7_7,607793249)",
+ "equals(D_812370563_7_7,532172400)",
+ "equals(D_812370563_7_7,754745617)",
+ "equals(D_812370563_7_7,665036297)",
+ "equals(D_812370563_7_7,200837530)",
+ "equals(D_812370563_7_7,990319383)",
+ "equals(D_812370563_7_7,487917585)",
+ "equals(D_812370563_7_7,603181162)",
+ "equals(D_812370563_7_7,482225200)",
+ "equals(D_812370563_7_7,295976386)",
+ "equals(D_812370563_7_7,764891959)",
+ "equals(D_812370563_7_7,248374037)",
+ "equals(D_812370563_7_7,139822395)",
+ "equals(D_812370563_7_7,723614811)",
+ "valueLength('D_933110091_7_7')>0",
+ "doesNotExist('D_933110091_7_7')",
+ "selectionCount(\"D_812370563_7_7\",true)>0 or valueLength(\"D_933110091_7_7\")>0",
+ "valueLength('D_714001034_7_7')>0",
+ "equals(D_887697329_7_7,178420302)",
+ "allExist('D_473529484_7_7','D_812370563_7_7')",
+ "equals(D_473529484_7_7,353358909)",
+ "equals(D_473529484_7_7,104430631)",
+ "equals(D_873968217_7_7,709650750)",
+ "equals(D_873968217_7_7,810290359)",
+ "equals(D_873968217_7_7,509607548)",
+ "equals(D_873968217_7_7,784922042)",
+ "equals(D_718867914_7_7,104430631)",
+ "equals(D_718867914_7_7,353358909)",
+ "equals(D_718867914_7_7,178420302)",
+ "equals(isNotDefined(D_714001034_8_8,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_8_8,false),false)",
+ "equals(D_887697329_8_8,654207589)",
+ "equals(D_887697329_8_8,536341288)",
+ "and(doesNotEqual(D_887697329_8_8,654207589),doesNotEqual(D_887697329_8_8,536341288))",
+ "equals(D_418392907_8_8,353358909)",
+ "doesNotEqual(D_418392907_8_8,353358909)",
+ "equals(D_812370563_8_8,939782495)",
+ "equals(D_812370563_8_8,135725957)",
+ "equals(D_812370563_8_8,518416174)",
+ "equals(D_812370563_8_8,847945207)",
+ "equals(D_812370563_8_8,283025574)",
+ "equals(D_812370563_8_8,942970912)",
+ "equals(D_812370563_8_8,596122041)",
+ "equals(D_812370563_8_8,489400183)",
+ "equals(D_812370563_8_8,863246236)",
+ "equals(D_812370563_8_8,607793249)",
+ "equals(D_812370563_8_8,532172400)",
+ "equals(D_812370563_8_8,754745617)",
+ "equals(D_812370563_8_8,665036297)",
+ "equals(D_812370563_8_8,200837530)",
+ "equals(D_812370563_8_8,990319383)",
+ "equals(D_812370563_8_8,487917585)",
+ "equals(D_812370563_8_8,603181162)",
+ "equals(D_812370563_8_8,482225200)",
+ "equals(D_812370563_8_8,295976386)",
+ "equals(D_812370563_8_8,764891959)",
+ "equals(D_812370563_8_8,248374037)",
+ "equals(D_812370563_8_8,139822395)",
+ "equals(D_812370563_8_8,723614811)",
+ "valueLength('D_933110091_8_8')>0",
+ "doesNotExist('D_933110091_8_8')",
+ "selectionCount(\"D_812370563_8_8\",true)>0 or valueLength(\"D_933110091_8_8\")>0",
+ "valueLength('D_714001034_8_8')>0",
+ "equals(D_887697329_8_8,178420302)",
+ "allExist('D_473529484_8_8','D_812370563_8_8')",
+ "equals(D_473529484_8_8,353358909)",
+ "equals(D_473529484_8_8,104430631)",
+ "equals(D_873968217_8_8,709650750)",
+ "equals(D_873968217_8_8,810290359)",
+ "equals(D_873968217_8_8,509607548)",
+ "equals(D_873968217_8_8,784922042)",
+ "equals(D_718867914_8_8,104430631)",
+ "equals(D_718867914_8_8,353358909)",
+ "equals(D_718867914_8_8,178420302)",
+ "equals(isNotDefined(D_714001034_9_9,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_9_9,false),false)",
+ "equals(D_887697329_9_9,654207589)",
+ "equals(D_887697329_9_9,536341288)",
+ "and(doesNotEqual(D_887697329_9_9,654207589),doesNotEqual(D_887697329_9_9,536341288))",
+ "equals(D_418392907_9_9,353358909)",
+ "doesNotEqual(D_418392907_9_9,353358909)",
+ "equals(D_812370563_9_9,939782495)",
+ "equals(D_812370563_9_9,135725957)",
+ "equals(D_812370563_9_9,518416174)",
+ "equals(D_812370563_9_9,847945207)",
+ "equals(D_812370563_9_9,283025574)",
+ "equals(D_812370563_9_9,942970912)",
+ "equals(D_812370563_9_9,596122041)",
+ "equals(D_812370563_9_9,489400183)",
+ "equals(D_812370563_9_9,863246236)",
+ "equals(D_812370563_9_9,607793249)",
+ "equals(D_812370563_9_9,532172400)",
+ "equals(D_812370563_9_9,754745617)",
+ "equals(D_812370563_9_9,665036297)",
+ "equals(D_812370563_9_9,200837530)",
+ "equals(D_812370563_9_9,990319383)",
+ "equals(D_812370563_9_9,487917585)",
+ "equals(D_812370563_9_9,603181162)",
+ "equals(D_812370563_9_9,482225200)",
+ "equals(D_812370563_9_9,295976386)",
+ "equals(D_812370563_9_9,764891959)",
+ "equals(D_812370563_9_9,248374037)",
+ "equals(D_812370563_9_9,139822395)",
+ "equals(D_812370563_9_9,723614811)",
+ "valueLength('D_933110091_9_9')>0",
+ "doesNotExist('D_933110091_9_9')",
+ "selectionCount(\"D_812370563_9_9\",true)>0 or valueLength(\"D_933110091_9_9\")>0",
+ "valueLength('D_714001034_9_9')>0",
+ "equals(D_887697329_9_9,178420302)",
+ "allExist('D_473529484_9_9','D_812370563_9_9')",
+ "equals(D_473529484_9_9,353358909)",
+ "equals(D_473529484_9_9,104430631)",
+ "equals(D_873968217_9_9,709650750)",
+ "equals(D_873968217_9_9,810290359)",
+ "equals(D_873968217_9_9,509607548)",
+ "equals(D_873968217_9_9,784922042)",
+ "equals(D_718867914_9_9,104430631)",
+ "equals(D_718867914_9_9,353358909)",
+ "equals(D_718867914_9_9,178420302)",
+ "equals(isNotDefined(D_714001034_10_10,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_10_10,false),false)",
+ "equals(D_887697329_10_10,654207589)",
+ "equals(D_887697329_10_10,536341288)",
+ "and(doesNotEqual(D_887697329_10_10,654207589),doesNotEqual(D_887697329_10_10,536341288))",
+ "equals(D_418392907_10_10,353358909)",
+ "doesNotEqual(D_418392907_10_10,353358909)",
+ "equals(D_812370563_10_10,939782495)",
+ "equals(D_812370563_10_10,135725957)",
+ "equals(D_812370563_10_10,518416174)",
+ "equals(D_812370563_10_10,847945207)",
+ "equals(D_812370563_10_10,283025574)",
+ "equals(D_812370563_10_10,942970912)",
+ "equals(D_812370563_10_10,596122041)",
+ "equals(D_812370563_10_10,489400183)",
+ "equals(D_812370563_10_10,863246236)",
+ "equals(D_812370563_10_10,607793249)",
+ "equals(D_812370563_10_10,532172400)",
+ "equals(D_812370563_10_10,754745617)",
+ "equals(D_812370563_10_10,665036297)",
+ "equals(D_812370563_10_10,200837530)",
+ "equals(D_812370563_10_10,990319383)",
+ "equals(D_812370563_10_10,487917585)",
+ "equals(D_812370563_10_10,603181162)",
+ "equals(D_812370563_10_10,482225200)",
+ "equals(D_812370563_10_10,295976386)",
+ "equals(D_812370563_10_10,764891959)",
+ "equals(D_812370563_10_10,248374037)",
+ "equals(D_812370563_10_10,139822395)",
+ "equals(D_812370563_10_10,723614811)",
+ "valueLength('D_933110091_10_10')>0",
+ "doesNotExist('D_933110091_10_10')",
+ "selectionCount(\"D_812370563_10_10\",true)>0 or valueLength(\"D_933110091_10_10\")>0",
+ "valueLength('D_714001034_10_10')>0",
+ "equals(D_887697329_10_10,178420302)",
+ "allExist('D_473529484_10_10','D_812370563_10_10')",
+ "equals(D_473529484_10_10,353358909)",
+ "equals(D_473529484_10_10,104430631)",
+ "equals(D_873968217_10_10,709650750)",
+ "equals(D_873968217_10_10,810290359)",
+ "equals(D_873968217_10_10,509607548)",
+ "equals(D_873968217_10_10,784922042)",
+ "equals(D_718867914_10_10,104430631)",
+ "equals(D_718867914_10_10,353358909)",
+ "equals(D_718867914_10_10,178420302)",
+ "equals(isNotDefined(D_714001034_11_11,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_11_11,false),false)",
+ "equals(D_887697329_11_11,654207589)",
+ "equals(D_887697329_11_11,536341288)",
+ "and(doesNotEqual(D_887697329_11_11,654207589),doesNotEqual(D_887697329_11_11,536341288))",
+ "equals(D_418392907_11_11,353358909)",
+ "doesNotEqual(D_418392907_11_11,353358909)",
+ "equals(D_812370563_11_11,939782495)",
+ "equals(D_812370563_11_11,135725957)",
+ "equals(D_812370563_11_11,518416174)",
+ "equals(D_812370563_11_11,847945207)",
+ "equals(D_812370563_11_11,283025574)",
+ "equals(D_812370563_11_11,942970912)",
+ "equals(D_812370563_11_11,596122041)",
+ "equals(D_812370563_11_11,489400183)",
+ "equals(D_812370563_11_11,863246236)",
+ "equals(D_812370563_11_11,607793249)",
+ "equals(D_812370563_11_11,532172400)",
+ "equals(D_812370563_11_11,754745617)",
+ "equals(D_812370563_11_11,665036297)",
+ "equals(D_812370563_11_11,200837530)",
+ "equals(D_812370563_11_11,990319383)",
+ "equals(D_812370563_11_11,487917585)",
+ "equals(D_812370563_11_11,603181162)",
+ "equals(D_812370563_11_11,482225200)",
+ "equals(D_812370563_11_11,295976386)",
+ "equals(D_812370563_11_11,764891959)",
+ "equals(D_812370563_11_11,248374037)",
+ "equals(D_812370563_11_11,139822395)",
+ "equals(D_812370563_11_11,723614811)",
+ "valueLength('D_933110091_11_11')>0",
+ "doesNotExist('D_933110091_11_11')",
+ "selectionCount(\"D_812370563_11_11\",true)>0 or valueLength(\"D_933110091_11_11\")>0",
+ "valueLength('D_714001034_11_11')>0",
+ "equals(D_887697329_11_11,178420302)",
+ "allExist('D_473529484_11_11','D_812370563_11_11')",
+ "equals(D_473529484_11_11,353358909)",
+ "equals(D_473529484_11_11,104430631)",
+ "equals(D_873968217_11_11,709650750)",
+ "equals(D_873968217_11_11,810290359)",
+ "equals(D_873968217_11_11,509607548)",
+ "equals(D_873968217_11_11,784922042)",
+ "equals(D_718867914_11_11,104430631)",
+ "equals(D_718867914_11_11,353358909)",
+ "equals(D_718867914_11_11,178420302)",
+ "equals(isNotDefined(D_714001034_12_12,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_12_12,false),false)",
+ "equals(D_887697329_12_12,654207589)",
+ "equals(D_887697329_12_12,536341288)",
+ "and(doesNotEqual(D_887697329_12_12,654207589),doesNotEqual(D_887697329_12_12,536341288))",
+ "equals(D_418392907_12_12,353358909)",
+ "doesNotEqual(D_418392907_12_12,353358909)",
+ "equals(D_812370563_12_12,939782495)",
+ "equals(D_812370563_12_12,135725957)",
+ "equals(D_812370563_12_12,518416174)",
+ "equals(D_812370563_12_12,847945207)",
+ "equals(D_812370563_12_12,283025574)",
+ "equals(D_812370563_12_12,942970912)",
+ "equals(D_812370563_12_12,596122041)",
+ "equals(D_812370563_12_12,489400183)",
+ "equals(D_812370563_12_12,863246236)",
+ "equals(D_812370563_12_12,607793249)",
+ "equals(D_812370563_12_12,532172400)",
+ "equals(D_812370563_12_12,754745617)",
+ "equals(D_812370563_12_12,665036297)",
+ "equals(D_812370563_12_12,200837530)",
+ "equals(D_812370563_12_12,990319383)",
+ "equals(D_812370563_12_12,487917585)",
+ "equals(D_812370563_12_12,603181162)",
+ "equals(D_812370563_12_12,482225200)",
+ "equals(D_812370563_12_12,295976386)",
+ "equals(D_812370563_12_12,764891959)",
+ "equals(D_812370563_12_12,248374037)",
+ "equals(D_812370563_12_12,139822395)",
+ "equals(D_812370563_12_12,723614811)",
+ "valueLength('D_933110091_12_12')>0",
+ "doesNotExist('D_933110091_12_12')",
+ "selectionCount(\"D_812370563_12_12\",true)>0 or valueLength(\"D_933110091_12_12\")>0",
+ "valueLength('D_714001034_12_12')>0",
+ "equals(D_887697329_12_12,178420302)",
+ "allExist('D_473529484_12_12','D_812370563_12_12')",
+ "equals(D_473529484_12_12,353358909)",
+ "equals(D_473529484_12_12,104430631)",
+ "equals(D_873968217_12_12,709650750)",
+ "equals(D_873968217_12_12,810290359)",
+ "equals(D_873968217_12_12,509607548)",
+ "equals(D_873968217_12_12,784922042)",
+ "equals(D_718867914_12_12,104430631)",
+ "equals(D_718867914_12_12,353358909)",
+ "equals(D_718867914_12_12,178420302)",
+ "equals(isNotDefined(D_714001034_13_13,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_13_13,false),false)",
+ "equals(D_887697329_13_13,654207589)",
+ "equals(D_887697329_13_13,536341288)",
+ "and(doesNotEqual(D_887697329_13_13,654207589),doesNotEqual(D_887697329_13_13,536341288))",
+ "equals(D_418392907_13_13,353358909)",
+ "doesNotEqual(D_418392907_13_13,353358909)",
+ "equals(D_812370563_13_13,939782495)",
+ "equals(D_812370563_13_13,135725957)",
+ "equals(D_812370563_13_13,518416174)",
+ "equals(D_812370563_13_13,847945207)",
+ "equals(D_812370563_13_13,283025574)",
+ "equals(D_812370563_13_13,942970912)",
+ "equals(D_812370563_13_13,596122041)",
+ "equals(D_812370563_13_13,489400183)",
+ "equals(D_812370563_13_13,863246236)",
+ "equals(D_812370563_13_13,607793249)",
+ "equals(D_812370563_13_13,532172400)",
+ "equals(D_812370563_13_13,754745617)",
+ "equals(D_812370563_13_13,665036297)",
+ "equals(D_812370563_13_13,200837530)",
+ "equals(D_812370563_13_13,990319383)",
+ "equals(D_812370563_13_13,487917585)",
+ "equals(D_812370563_13_13,603181162)",
+ "equals(D_812370563_13_13,482225200)",
+ "equals(D_812370563_13_13,295976386)",
+ "equals(D_812370563_13_13,764891959)",
+ "equals(D_812370563_13_13,248374037)",
+ "equals(D_812370563_13_13,139822395)",
+ "equals(D_812370563_13_13,723614811)",
+ "valueLength('D_933110091_13_13')>0",
+ "doesNotExist('D_933110091_13_13')",
+ "selectionCount(\"D_812370563_13_13\",true)>0 or valueLength(\"D_933110091_13_13\")>0",
+ "valueLength('D_714001034_13_13')>0",
+ "equals(D_887697329_13_13,178420302)",
+ "allExist('D_473529484_13_13','D_812370563_13_13')",
+ "equals(D_473529484_13_13,353358909)",
+ "equals(D_473529484_13_13,104430631)",
+ "equals(D_873968217_13_13,709650750)",
+ "equals(D_873968217_13_13,810290359)",
+ "equals(D_873968217_13_13,509607548)",
+ "equals(D_873968217_13_13,784922042)",
+ "equals(D_718867914_13_13,104430631)",
+ "equals(D_718867914_13_13,353358909)",
+ "equals(D_718867914_13_13,178420302)",
+ "equals(isNotDefined(D_714001034_14_14,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_14_14,false),false)",
+ "equals(D_887697329_14_14,654207589)",
+ "equals(D_887697329_14_14,536341288)",
+ "and(doesNotEqual(D_887697329_14_14,654207589),doesNotEqual(D_887697329_14_14,536341288))",
+ "equals(D_418392907_14_14,353358909)",
+ "doesNotEqual(D_418392907_14_14,353358909)",
+ "equals(D_812370563_14_14,939782495)",
+ "equals(D_812370563_14_14,135725957)",
+ "equals(D_812370563_14_14,518416174)",
+ "equals(D_812370563_14_14,847945207)",
+ "equals(D_812370563_14_14,283025574)",
+ "equals(D_812370563_14_14,942970912)",
+ "equals(D_812370563_14_14,596122041)",
+ "equals(D_812370563_14_14,489400183)",
+ "equals(D_812370563_14_14,863246236)",
+ "equals(D_812370563_14_14,607793249)",
+ "equals(D_812370563_14_14,532172400)",
+ "equals(D_812370563_14_14,754745617)",
+ "equals(D_812370563_14_14,665036297)",
+ "equals(D_812370563_14_14,200837530)",
+ "equals(D_812370563_14_14,990319383)",
+ "equals(D_812370563_14_14,487917585)",
+ "equals(D_812370563_14_14,603181162)",
+ "equals(D_812370563_14_14,482225200)",
+ "equals(D_812370563_14_14,295976386)",
+ "equals(D_812370563_14_14,764891959)",
+ "equals(D_812370563_14_14,248374037)",
+ "equals(D_812370563_14_14,139822395)",
+ "equals(D_812370563_14_14,723614811)",
+ "valueLength('D_933110091_14_14')>0",
+ "doesNotExist('D_933110091_14_14')",
+ "selectionCount(\"D_812370563_14_14\",true)>0 or valueLength(\"D_933110091_14_14\")>0",
+ "valueLength('D_714001034_14_14')>0",
+ "equals(D_887697329_14_14,178420302)",
+ "allExist('D_473529484_14_14','D_812370563_14_14')",
+ "equals(D_473529484_14_14,353358909)",
+ "equals(D_473529484_14_14,104430631)",
+ "equals(D_873968217_14_14,709650750)",
+ "equals(D_873968217_14_14,810290359)",
+ "equals(D_873968217_14_14,509607548)",
+ "equals(D_873968217_14_14,784922042)",
+ "equals(D_718867914_14_14,104430631)",
+ "equals(D_718867914_14_14,353358909)",
+ "equals(D_718867914_14_14,178420302)",
+ "equals(isNotDefined(D_714001034_15_15,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_15_15,false),false)",
+ "equals(D_887697329_15_15,654207589)",
+ "equals(D_887697329_15_15,536341288)",
+ "and(doesNotEqual(D_887697329_15_15,654207589),doesNotEqual(D_887697329_15_15,536341288))",
+ "equals(D_418392907_15_15,353358909)",
+ "doesNotEqual(D_418392907_15_15,353358909)",
+ "equals(D_812370563_15_15,939782495)",
+ "equals(D_812370563_15_15,135725957)",
+ "equals(D_812370563_15_15,518416174)",
+ "equals(D_812370563_15_15,847945207)",
+ "equals(D_812370563_15_15,283025574)",
+ "equals(D_812370563_15_15,942970912)",
+ "equals(D_812370563_15_15,596122041)",
+ "equals(D_812370563_15_15,489400183)",
+ "equals(D_812370563_15_15,863246236)",
+ "equals(D_812370563_15_15,607793249)",
+ "equals(D_812370563_15_15,532172400)",
+ "equals(D_812370563_15_15,754745617)",
+ "equals(D_812370563_15_15,665036297)",
+ "equals(D_812370563_15_15,200837530)",
+ "equals(D_812370563_15_15,990319383)",
+ "equals(D_812370563_15_15,487917585)",
+ "equals(D_812370563_15_15,603181162)",
+ "equals(D_812370563_15_15,482225200)",
+ "equals(D_812370563_15_15,295976386)",
+ "equals(D_812370563_15_15,764891959)",
+ "equals(D_812370563_15_15,248374037)",
+ "equals(D_812370563_15_15,139822395)",
+ "equals(D_812370563_15_15,723614811)",
+ "valueLength('D_933110091_15_15')>0",
+ "doesNotExist('D_933110091_15_15')",
+ "selectionCount(\"D_812370563_15_15\",true)>0 or valueLength(\"D_933110091_15_15\")>0",
+ "valueLength('D_714001034_15_15')>0",
+ "equals(D_887697329_15_15,178420302)",
+ "allExist('D_473529484_15_15','D_812370563_15_15')",
+ "equals(D_473529484_15_15,353358909)",
+ "equals(D_473529484_15_15,104430631)",
+ "equals(D_873968217_15_15,709650750)",
+ "equals(D_873968217_15_15,810290359)",
+ "equals(D_873968217_15_15,509607548)",
+ "equals(D_873968217_15_15,784922042)",
+ "equals(D_718867914_15_15,104430631)",
+ "equals(D_718867914_15_15,353358909)",
+ "equals(D_718867914_15_15,178420302)",
+ "equals(isNotDefined(D_714001034_16_16,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_16_16,false),false)",
+ "equals(D_887697329_16_16,654207589)",
+ "equals(D_887697329_16_16,536341288)",
+ "and(doesNotEqual(D_887697329_16_16,654207589),doesNotEqual(D_887697329_16_16,536341288))",
+ "equals(D_418392907_16_16,353358909)",
+ "doesNotEqual(D_418392907_16_16,353358909)",
+ "equals(D_812370563_16_16,939782495)",
+ "equals(D_812370563_16_16,135725957)",
+ "equals(D_812370563_16_16,518416174)",
+ "equals(D_812370563_16_16,847945207)",
+ "equals(D_812370563_16_16,283025574)",
+ "equals(D_812370563_16_16,942970912)",
+ "equals(D_812370563_16_16,596122041)",
+ "equals(D_812370563_16_16,489400183)",
+ "equals(D_812370563_16_16,863246236)",
+ "equals(D_812370563_16_16,607793249)",
+ "equals(D_812370563_16_16,532172400)",
+ "equals(D_812370563_16_16,754745617)",
+ "equals(D_812370563_16_16,665036297)",
+ "equals(D_812370563_16_16,200837530)",
+ "equals(D_812370563_16_16,990319383)",
+ "equals(D_812370563_16_16,487917585)",
+ "equals(D_812370563_16_16,603181162)",
+ "equals(D_812370563_16_16,482225200)",
+ "equals(D_812370563_16_16,295976386)",
+ "equals(D_812370563_16_16,764891959)",
+ "equals(D_812370563_16_16,248374037)",
+ "equals(D_812370563_16_16,139822395)",
+ "equals(D_812370563_16_16,723614811)",
+ "valueLength('D_933110091_16_16')>0",
+ "doesNotExist('D_933110091_16_16')",
+ "selectionCount(\"D_812370563_16_16\",true)>0 or valueLength(\"D_933110091_16_16\")>0",
+ "valueLength('D_714001034_16_16')>0",
+ "equals(D_887697329_16_16,178420302)",
+ "allExist('D_473529484_16_16','D_812370563_16_16')",
+ "equals(D_473529484_16_16,353358909)",
+ "equals(D_473529484_16_16,104430631)",
+ "equals(D_873968217_16_16,709650750)",
+ "equals(D_873968217_16_16,810290359)",
+ "equals(D_873968217_16_16,509607548)",
+ "equals(D_873968217_16_16,784922042)",
+ "equals(D_718867914_16_16,104430631)",
+ "equals(D_718867914_16_16,353358909)",
+ "equals(D_718867914_16_16,178420302)",
+ "equals(isNotDefined(D_714001034_17_17,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_17_17,false),false)",
+ "equals(D_887697329_17_17,654207589)",
+ "equals(D_887697329_17_17,536341288)",
+ "and(doesNotEqual(D_887697329_17_17,654207589),doesNotEqual(D_887697329_17_17,536341288))",
+ "equals(D_418392907_17_17,353358909)",
+ "doesNotEqual(D_418392907_17_17,353358909)",
+ "equals(D_812370563_17_17,939782495)",
+ "equals(D_812370563_17_17,135725957)",
+ "equals(D_812370563_17_17,518416174)",
+ "equals(D_812370563_17_17,847945207)",
+ "equals(D_812370563_17_17,283025574)",
+ "equals(D_812370563_17_17,942970912)",
+ "equals(D_812370563_17_17,596122041)",
+ "equals(D_812370563_17_17,489400183)",
+ "equals(D_812370563_17_17,863246236)",
+ "equals(D_812370563_17_17,607793249)",
+ "equals(D_812370563_17_17,532172400)",
+ "equals(D_812370563_17_17,754745617)",
+ "equals(D_812370563_17_17,665036297)",
+ "equals(D_812370563_17_17,200837530)",
+ "equals(D_812370563_17_17,990319383)",
+ "equals(D_812370563_17_17,487917585)",
+ "equals(D_812370563_17_17,603181162)",
+ "equals(D_812370563_17_17,482225200)",
+ "equals(D_812370563_17_17,295976386)",
+ "equals(D_812370563_17_17,764891959)",
+ "equals(D_812370563_17_17,248374037)",
+ "equals(D_812370563_17_17,139822395)",
+ "equals(D_812370563_17_17,723614811)",
+ "valueLength('D_933110091_17_17')>0",
+ "doesNotExist('D_933110091_17_17')",
+ "selectionCount(\"D_812370563_17_17\",true)>0 or valueLength(\"D_933110091_17_17\")>0",
+ "valueLength('D_714001034_17_17')>0",
+ "equals(D_887697329_17_17,178420302)",
+ "allExist('D_473529484_17_17','D_812370563_17_17')",
+ "equals(D_473529484_17_17,353358909)",
+ "equals(D_473529484_17_17,104430631)",
+ "equals(D_873968217_17_17,709650750)",
+ "equals(D_873968217_17_17,810290359)",
+ "equals(D_873968217_17_17,509607548)",
+ "equals(D_873968217_17_17,784922042)",
+ "equals(D_718867914_17_17,104430631)",
+ "equals(D_718867914_17_17,353358909)",
+ "equals(D_718867914_17_17,178420302)",
+ "equals(isNotDefined(D_714001034_18_18,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_18_18,false),false)",
+ "equals(D_887697329_18_18,654207589)",
+ "equals(D_887697329_18_18,536341288)",
+ "and(doesNotEqual(D_887697329_18_18,654207589),doesNotEqual(D_887697329_18_18,536341288))",
+ "equals(D_418392907_18_18,353358909)",
+ "doesNotEqual(D_418392907_18_18,353358909)",
+ "equals(D_812370563_18_18,939782495)",
+ "equals(D_812370563_18_18,135725957)",
+ "equals(D_812370563_18_18,518416174)",
+ "equals(D_812370563_18_18,847945207)",
+ "equals(D_812370563_18_18,283025574)",
+ "equals(D_812370563_18_18,942970912)",
+ "equals(D_812370563_18_18,596122041)",
+ "equals(D_812370563_18_18,489400183)",
+ "equals(D_812370563_18_18,863246236)",
+ "equals(D_812370563_18_18,607793249)",
+ "equals(D_812370563_18_18,532172400)",
+ "equals(D_812370563_18_18,754745617)",
+ "equals(D_812370563_18_18,665036297)",
+ "equals(D_812370563_18_18,200837530)",
+ "equals(D_812370563_18_18,990319383)",
+ "equals(D_812370563_18_18,487917585)",
+ "equals(D_812370563_18_18,603181162)",
+ "equals(D_812370563_18_18,482225200)",
+ "equals(D_812370563_18_18,295976386)",
+ "equals(D_812370563_18_18,764891959)",
+ "equals(D_812370563_18_18,248374037)",
+ "equals(D_812370563_18_18,139822395)",
+ "equals(D_812370563_18_18,723614811)",
+ "valueLength('D_933110091_18_18')>0",
+ "doesNotExist('D_933110091_18_18')",
+ "selectionCount(\"D_812370563_18_18\",true)>0 or valueLength(\"D_933110091_18_18\")>0",
+ "valueLength('D_714001034_18_18')>0",
+ "equals(D_887697329_18_18,178420302)",
+ "allExist('D_473529484_18_18','D_812370563_18_18')",
+ "equals(D_473529484_18_18,353358909)",
+ "equals(D_473529484_18_18,104430631)",
+ "equals(D_873968217_18_18,709650750)",
+ "equals(D_873968217_18_18,810290359)",
+ "equals(D_873968217_18_18,509607548)",
+ "equals(D_873968217_18_18,784922042)",
+ "equals(D_718867914_18_18,104430631)",
+ "equals(D_718867914_18_18,353358909)",
+ "equals(D_718867914_18_18,178420302)",
+ "equals(isNotDefined(D_714001034_19_19,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_19_19,false),false)",
+ "equals(D_887697329_19_19,654207589)",
+ "equals(D_887697329_19_19,536341288)",
+ "and(doesNotEqual(D_887697329_19_19,654207589),doesNotEqual(D_887697329_19_19,536341288))",
+ "equals(D_418392907_19_19,353358909)",
+ "doesNotEqual(D_418392907_19_19,353358909)",
+ "equals(D_812370563_19_19,939782495)",
+ "equals(D_812370563_19_19,135725957)",
+ "equals(D_812370563_19_19,518416174)",
+ "equals(D_812370563_19_19,847945207)",
+ "equals(D_812370563_19_19,283025574)",
+ "equals(D_812370563_19_19,942970912)",
+ "equals(D_812370563_19_19,596122041)",
+ "equals(D_812370563_19_19,489400183)",
+ "equals(D_812370563_19_19,863246236)",
+ "equals(D_812370563_19_19,607793249)",
+ "equals(D_812370563_19_19,532172400)",
+ "equals(D_812370563_19_19,754745617)",
+ "equals(D_812370563_19_19,665036297)",
+ "equals(D_812370563_19_19,200837530)",
+ "equals(D_812370563_19_19,990319383)",
+ "equals(D_812370563_19_19,487917585)",
+ "equals(D_812370563_19_19,603181162)",
+ "equals(D_812370563_19_19,482225200)",
+ "equals(D_812370563_19_19,295976386)",
+ "equals(D_812370563_19_19,764891959)",
+ "equals(D_812370563_19_19,248374037)",
+ "equals(D_812370563_19_19,139822395)",
+ "equals(D_812370563_19_19,723614811)",
+ "valueLength('D_933110091_19_19')>0",
+ "doesNotExist('D_933110091_19_19')",
+ "selectionCount(\"D_812370563_19_19\",true)>0 or valueLength(\"D_933110091_19_19\")>0",
+ "valueLength('D_714001034_19_19')>0",
+ "equals(D_887697329_19_19,178420302)",
+ "allExist('D_473529484_19_19','D_812370563_19_19')",
+ "equals(D_473529484_19_19,353358909)",
+ "equals(D_473529484_19_19,104430631)",
+ "equals(D_873968217_19_19,709650750)",
+ "equals(D_873968217_19_19,810290359)",
+ "equals(D_873968217_19_19,509607548)",
+ "equals(D_873968217_19_19,784922042)",
+ "equals(D_718867914_19_19,104430631)",
+ "equals(D_718867914_19_19,353358909)",
+ "equals(D_718867914_19_19,178420302)",
+ "equals(isNotDefined(D_714001034_20_20,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_20_20,false),false)",
+ "equals(D_887697329_20_20,654207589)",
+ "equals(D_887697329_20_20,536341288)",
+ "and(doesNotEqual(D_887697329_20_20,654207589),doesNotEqual(D_887697329_20_20,536341288))",
+ "equals(D_418392907_20_20,353358909)",
+ "doesNotEqual(D_418392907_20_20,353358909)",
+ "equals(D_812370563_20_20,939782495)",
+ "equals(D_812370563_20_20,135725957)",
+ "equals(D_812370563_20_20,518416174)",
+ "equals(D_812370563_20_20,847945207)",
+ "equals(D_812370563_20_20,283025574)",
+ "equals(D_812370563_20_20,942970912)",
+ "equals(D_812370563_20_20,596122041)",
+ "equals(D_812370563_20_20,489400183)",
+ "equals(D_812370563_20_20,863246236)",
+ "equals(D_812370563_20_20,607793249)",
+ "equals(D_812370563_20_20,532172400)",
+ "equals(D_812370563_20_20,754745617)",
+ "equals(D_812370563_20_20,665036297)",
+ "equals(D_812370563_20_20,200837530)",
+ "equals(D_812370563_20_20,990319383)",
+ "equals(D_812370563_20_20,487917585)",
+ "equals(D_812370563_20_20,603181162)",
+ "equals(D_812370563_20_20,482225200)",
+ "equals(D_812370563_20_20,295976386)",
+ "equals(D_812370563_20_20,764891959)",
+ "equals(D_812370563_20_20,248374037)",
+ "equals(D_812370563_20_20,139822395)",
+ "equals(D_812370563_20_20,723614811)",
+ "valueLength('D_933110091_20_20')>0",
+ "doesNotExist('D_933110091_20_20')",
+ "selectionCount(\"D_812370563_20_20\",true)>0 or valueLength(\"D_933110091_20_20\")>0",
+ "valueLength('D_714001034_20_20')>0",
+ "equals(D_887697329_20_20,178420302)",
+ "allExist('D_473529484_20_20','D_812370563_20_20')",
+ "equals(D_473529484_20_20,353358909)",
+ "equals(D_473529484_20_20,104430631)",
+ "equals(D_873968217_20_20,709650750)",
+ "equals(D_873968217_20_20,810290359)",
+ "equals(D_873968217_20_20,509607548)",
+ "equals(D_873968217_20_20,784922042)",
+ "equals(D_718867914_20_20,104430631)",
+ "equals(D_718867914_20_20,353358909)",
+ "equals(D_718867914_20_20,178420302)",
+ "equals(isNotDefined(D_714001034_21_21,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_21_21,false),false)",
+ "equals(D_887697329_21_21,654207589)",
+ "equals(D_887697329_21_21,536341288)",
+ "and(doesNotEqual(D_887697329_21_21,654207589),doesNotEqual(D_887697329_21_21,536341288))",
+ "equals(D_418392907_21_21,353358909)",
+ "doesNotEqual(D_418392907_21_21,353358909)",
+ "equals(D_812370563_21_21,939782495)",
+ "equals(D_812370563_21_21,135725957)",
+ "equals(D_812370563_21_21,518416174)",
+ "equals(D_812370563_21_21,847945207)",
+ "equals(D_812370563_21_21,283025574)",
+ "equals(D_812370563_21_21,942970912)",
+ "equals(D_812370563_21_21,596122041)",
+ "equals(D_812370563_21_21,489400183)",
+ "equals(D_812370563_21_21,863246236)",
+ "equals(D_812370563_21_21,607793249)",
+ "equals(D_812370563_21_21,532172400)",
+ "equals(D_812370563_21_21,754745617)",
+ "equals(D_812370563_21_21,665036297)",
+ "equals(D_812370563_21_21,200837530)",
+ "equals(D_812370563_21_21,990319383)",
+ "equals(D_812370563_21_21,487917585)",
+ "equals(D_812370563_21_21,603181162)",
+ "equals(D_812370563_21_21,482225200)",
+ "equals(D_812370563_21_21,295976386)",
+ "equals(D_812370563_21_21,764891959)",
+ "equals(D_812370563_21_21,248374037)",
+ "equals(D_812370563_21_21,139822395)",
+ "equals(D_812370563_21_21,723614811)",
+ "valueLength('D_933110091_21_21')>0",
+ "doesNotExist('D_933110091_21_21')",
+ "selectionCount(\"D_812370563_21_21\",true)>0 or valueLength(\"D_933110091_21_21\")>0",
+ "valueLength('D_714001034_21_21')>0",
+ "equals(D_887697329_21_21,178420302)",
+ "allExist('D_473529484_21_21','D_812370563_21_21')",
+ "equals(D_473529484_21_21,353358909)",
+ "equals(D_473529484_21_21,104430631)",
+ "equals(D_873968217_21_21,709650750)",
+ "equals(D_873968217_21_21,810290359)",
+ "equals(D_873968217_21_21,509607548)",
+ "equals(D_873968217_21_21,784922042)",
+ "equals(D_718867914_21_21,104430631)",
+ "equals(D_718867914_21_21,353358909)",
+ "equals(D_718867914_21_21,178420302)",
+ "equals(isNotDefined(D_714001034_22_22,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_22_22,false),false)",
+ "equals(D_887697329_22_22,654207589)",
+ "equals(D_887697329_22_22,536341288)",
+ "and(doesNotEqual(D_887697329_22_22,654207589),doesNotEqual(D_887697329_22_22,536341288))",
+ "equals(D_418392907_22_22,353358909)",
+ "doesNotEqual(D_418392907_22_22,353358909)",
+ "equals(D_812370563_22_22,939782495)",
+ "equals(D_812370563_22_22,135725957)",
+ "equals(D_812370563_22_22,518416174)",
+ "equals(D_812370563_22_22,847945207)",
+ "equals(D_812370563_22_22,283025574)",
+ "equals(D_812370563_22_22,942970912)",
+ "equals(D_812370563_22_22,596122041)",
+ "equals(D_812370563_22_22,489400183)",
+ "equals(D_812370563_22_22,863246236)",
+ "equals(D_812370563_22_22,607793249)",
+ "equals(D_812370563_22_22,532172400)",
+ "equals(D_812370563_22_22,754745617)",
+ "equals(D_812370563_22_22,665036297)",
+ "equals(D_812370563_22_22,200837530)",
+ "equals(D_812370563_22_22,990319383)",
+ "equals(D_812370563_22_22,487917585)",
+ "equals(D_812370563_22_22,603181162)",
+ "equals(D_812370563_22_22,482225200)",
+ "equals(D_812370563_22_22,295976386)",
+ "equals(D_812370563_22_22,764891959)",
+ "equals(D_812370563_22_22,248374037)",
+ "equals(D_812370563_22_22,139822395)",
+ "equals(D_812370563_22_22,723614811)",
+ "valueLength('D_933110091_22_22')>0",
+ "doesNotExist('D_933110091_22_22')",
+ "selectionCount(\"D_812370563_22_22\",true)>0 or valueLength(\"D_933110091_22_22\")>0",
+ "valueLength('D_714001034_22_22')>0",
+ "equals(D_887697329_22_22,178420302)",
+ "allExist('D_473529484_22_22','D_812370563_22_22')",
+ "equals(D_473529484_22_22,353358909)",
+ "equals(D_473529484_22_22,104430631)",
+ "equals(D_873968217_22_22,709650750)",
+ "equals(D_873968217_22_22,810290359)",
+ "equals(D_873968217_22_22,509607548)",
+ "equals(D_873968217_22_22,784922042)",
+ "equals(D_718867914_22_22,104430631)",
+ "equals(D_718867914_22_22,353358909)",
+ "equals(D_718867914_22_22,178420302)",
+ "equals(isNotDefined(D_714001034_23_23,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_23_23,false),false)",
+ "equals(D_887697329_23_23,654207589)",
+ "equals(D_887697329_23_23,536341288)",
+ "and(doesNotEqual(D_887697329_23_23,654207589),doesNotEqual(D_887697329_23_23,536341288))",
+ "equals(D_418392907_23_23,353358909)",
+ "doesNotEqual(D_418392907_23_23,353358909)",
+ "equals(D_812370563_23_23,939782495)",
+ "equals(D_812370563_23_23,135725957)",
+ "equals(D_812370563_23_23,518416174)",
+ "equals(D_812370563_23_23,847945207)",
+ "equals(D_812370563_23_23,283025574)",
+ "equals(D_812370563_23_23,942970912)",
+ "equals(D_812370563_23_23,596122041)",
+ "equals(D_812370563_23_23,489400183)",
+ "equals(D_812370563_23_23,863246236)",
+ "equals(D_812370563_23_23,607793249)",
+ "equals(D_812370563_23_23,532172400)",
+ "equals(D_812370563_23_23,754745617)",
+ "equals(D_812370563_23_23,665036297)",
+ "equals(D_812370563_23_23,200837530)",
+ "equals(D_812370563_23_23,990319383)",
+ "equals(D_812370563_23_23,487917585)",
+ "equals(D_812370563_23_23,603181162)",
+ "equals(D_812370563_23_23,482225200)",
+ "equals(D_812370563_23_23,295976386)",
+ "equals(D_812370563_23_23,764891959)",
+ "equals(D_812370563_23_23,248374037)",
+ "equals(D_812370563_23_23,139822395)",
+ "equals(D_812370563_23_23,723614811)",
+ "valueLength('D_933110091_23_23')>0",
+ "doesNotExist('D_933110091_23_23')",
+ "selectionCount(\"D_812370563_23_23\",true)>0 or valueLength(\"D_933110091_23_23\")>0",
+ "valueLength('D_714001034_23_23')>0",
+ "equals(D_887697329_23_23,178420302)",
+ "allExist('D_473529484_23_23','D_812370563_23_23')",
+ "equals(D_473529484_23_23,353358909)",
+ "equals(D_473529484_23_23,104430631)",
+ "equals(D_873968217_23_23,709650750)",
+ "equals(D_873968217_23_23,810290359)",
+ "equals(D_873968217_23_23,509607548)",
+ "equals(D_873968217_23_23,784922042)",
+ "equals(D_718867914_23_23,104430631)",
+ "equals(D_718867914_23_23,353358909)",
+ "equals(D_718867914_23_23,178420302)",
+ "equals(isNotDefined(D_714001034_24_24,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_24_24,false),false)",
+ "equals(D_887697329_24_24,654207589)",
+ "equals(D_887697329_24_24,536341288)",
+ "and(doesNotEqual(D_887697329_24_24,654207589),doesNotEqual(D_887697329_24_24,536341288))",
+ "equals(D_418392907_24_24,353358909)",
+ "doesNotEqual(D_418392907_24_24,353358909)",
+ "equals(D_812370563_24_24,939782495)",
+ "equals(D_812370563_24_24,135725957)",
+ "equals(D_812370563_24_24,518416174)",
+ "equals(D_812370563_24_24,847945207)",
+ "equals(D_812370563_24_24,283025574)",
+ "equals(D_812370563_24_24,942970912)",
+ "equals(D_812370563_24_24,596122041)",
+ "equals(D_812370563_24_24,489400183)",
+ "equals(D_812370563_24_24,863246236)",
+ "equals(D_812370563_24_24,607793249)",
+ "equals(D_812370563_24_24,532172400)",
+ "equals(D_812370563_24_24,754745617)",
+ "equals(D_812370563_24_24,665036297)",
+ "equals(D_812370563_24_24,200837530)",
+ "equals(D_812370563_24_24,990319383)",
+ "equals(D_812370563_24_24,487917585)",
+ "equals(D_812370563_24_24,603181162)",
+ "equals(D_812370563_24_24,482225200)",
+ "equals(D_812370563_24_24,295976386)",
+ "equals(D_812370563_24_24,764891959)",
+ "equals(D_812370563_24_24,248374037)",
+ "equals(D_812370563_24_24,139822395)",
+ "equals(D_812370563_24_24,723614811)",
+ "valueLength('D_933110091_24_24')>0",
+ "doesNotExist('D_933110091_24_24')",
+ "selectionCount(\"D_812370563_24_24\",true)>0 or valueLength(\"D_933110091_24_24\")>0",
+ "valueLength('D_714001034_24_24')>0",
+ "equals(D_887697329_24_24,178420302)",
+ "allExist('D_473529484_24_24','D_812370563_24_24')",
+ "equals(D_473529484_24_24,353358909)",
+ "equals(D_473529484_24_24,104430631)",
+ "equals(D_873968217_24_24,709650750)",
+ "equals(D_873968217_24_24,810290359)",
+ "equals(D_873968217_24_24,509607548)",
+ "equals(D_873968217_24_24,784922042)",
+ "equals(D_718867914_24_24,104430631)",
+ "equals(D_718867914_24_24,353358909)",
+ "equals(D_718867914_24_24,178420302)",
+ "equals(isNotDefined(D_714001034_25_25,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_25_25,false),false)",
+ "equals(D_887697329_25_25,654207589)",
+ "equals(D_887697329_25_25,536341288)",
+ "and(doesNotEqual(D_887697329_25_25,654207589),doesNotEqual(D_887697329_25_25,536341288))",
+ "equals(D_418392907_25_25,353358909)",
+ "doesNotEqual(D_418392907_25_25,353358909)",
+ "equals(D_812370563_25_25,939782495)",
+ "equals(D_812370563_25_25,135725957)",
+ "equals(D_812370563_25_25,518416174)",
+ "equals(D_812370563_25_25,847945207)",
+ "equals(D_812370563_25_25,283025574)",
+ "equals(D_812370563_25_25,942970912)",
+ "equals(D_812370563_25_25,596122041)",
+ "equals(D_812370563_25_25,489400183)",
+ "equals(D_812370563_25_25,863246236)",
+ "equals(D_812370563_25_25,607793249)",
+ "equals(D_812370563_25_25,532172400)",
+ "equals(D_812370563_25_25,754745617)",
+ "equals(D_812370563_25_25,665036297)",
+ "equals(D_812370563_25_25,200837530)",
+ "equals(D_812370563_25_25,990319383)",
+ "equals(D_812370563_25_25,487917585)",
+ "equals(D_812370563_25_25,603181162)",
+ "equals(D_812370563_25_25,482225200)",
+ "equals(D_812370563_25_25,295976386)",
+ "equals(D_812370563_25_25,764891959)",
+ "equals(D_812370563_25_25,248374037)",
+ "equals(D_812370563_25_25,139822395)",
+ "equals(D_812370563_25_25,723614811)",
+ "valueLength('D_933110091_25_25')>0",
+ "doesNotExist('D_933110091_25_25')",
+ "selectionCount(\"D_812370563_25_25\",true)>0 or valueLength(\"D_933110091_25_25\")>0",
+ "valueLength('D_714001034_25_25')>0",
+ "equals(D_887697329_25_25,178420302)",
+ "allExist('D_473529484_25_25','D_812370563_25_25')",
+ "equals(D_473529484_25_25,353358909)",
+ "equals(D_473529484_25_25,104430631)",
+ "equals(D_873968217_25_25,709650750)",
+ "equals(D_873968217_25_25,810290359)",
+ "equals(D_873968217_25_25,509607548)",
+ "equals(D_873968217_25_25,784922042)",
+ "equals(D_718867914_25_25,104430631)",
+ "equals(D_718867914_25_25,353358909)",
+ "equals(D_718867914_25_25,178420302)"
+ ],
+ "sitesByScope": {
+ "element": 5,
+ "inline": 4486,
+ "question": 1400,
+ "response": 12
+ },
+ "sitesByAttribute": {
+ "displayif": 5903
+ }
+ },
+ "grids": [],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_694265648"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 218,
+ 253,
+ 288,
+ 323,
+ 358,
+ 393,
+ 428,
+ 463,
+ 498,
+ 533,
+ 568,
+ 603,
+ 638,
+ 673,
+ 708,
+ 743,
+ 778,
+ 813,
+ 848,
+ 883,
+ 918,
+ 953,
+ 988,
+ 1023,
+ 1058
+ ],
+ "boundaryIndex": 1093
+ },
+ {
+ "loopIndex": "2",
+ "loopMaxQuestionIds": [
+ "D_446999144"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 1097,
+ 1132,
+ 1167,
+ 1202,
+ 1237,
+ 1272,
+ 1307,
+ 1342,
+ 1377,
+ 1412,
+ 1447,
+ 1482,
+ 1517,
+ 1552,
+ 1587,
+ 1622,
+ 1657,
+ 1692,
+ 1727,
+ 1762,
+ 1797,
+ 1832,
+ 1867,
+ 1902,
+ 1937
+ ],
+ "boundaryIndex": 1972
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "D_279637054",
+ "D_761310265"
+ ],
+ "counts": {
+ "authoredMarkerCount": 316,
+ "processorQuestionCount": 1998,
+ "processedQuestionCount": 1998,
+ "renderedFormCount": 1998,
+ "controlCount": 11726,
+ "responseControlCount": 5610,
+ "explicitTransitionCount": 1885,
+ "sequentialAdjacencyCount": 1997,
+ "resolvedExplicitTransitionCount": 1885,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 5903,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 50,
+ "loopDefinitionCount": 2,
+ "loopExpandedQuestionCount": 1750,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2505
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module1",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module1Spanish.txt",
+ "sha256": "f7a768ede6036e68742ea7d0bea3f0debc3f30aa4ab51774b637a9fbbe9e1d2e",
+ "questName": "D_726699695_V2",
+ "version": "4.0",
+ "authoredMarkerCount": 315,
+ "runtimeQuestionIds": [
+ "INTROM1",
+ "INTROBAC",
+ "SECTION1",
+ "D_783167257?",
+ "RACEETHINTRO",
+ "D_384191091?",
+ "D_362270886?",
+ "D_525535977?",
+ "D_976808005?",
+ "D_308014437?",
+ "D_351657815?",
+ "D_115616118?",
+ "D_797626610?",
+ "D_588212264?",
+ "D_407056417?",
+ "D_750420077!",
+ "INTROMH",
+ "D_537153788?",
+ "D_508846529?",
+ "D_904550680?",
+ "D_167101091?",
+ "D_965917116?",
+ "D_929240175?",
+ "D_836712013?",
+ "D_836890480?",
+ "D_624479779?",
+ "D_337278854?",
+ "D_681229479?",
+ "D_660358706?",
+ "D_884793537?",
+ "D_460062034?",
+ "D_110652436?",
+ "D_894259747?",
+ "D_448722126?",
+ "D_201449164?",
+ "D_436333358?",
+ "D_180961306?",
+ "D_554782332?",
+ "D_409622468?",
+ "D_448476881?",
+ "D_459764934?",
+ "D_374697037?",
+ "D_580911251?",
+ "D_190347832?",
+ "D_624777141?",
+ "D_980403315?",
+ "D_936039586?",
+ "D_430472084?",
+ "D_900541533?",
+ "D_139655599?",
+ "D_494032093?",
+ "D_301679110?",
+ "D_810918716?",
+ "D_874046190?",
+ "D_989016875?",
+ "D_878094302?",
+ "D_543728565?",
+ "D_173101988?",
+ "D_245861186?",
+ "D_420423416?",
+ "INTROSTD",
+ "D_874709643?",
+ "D_915230886?",
+ "D_530548878?",
+ "D_469947273?",
+ "D_685735916?",
+ "D_954405492?",
+ "D_103397024?",
+ "D_931470797?",
+ "D_922524563?",
+ "D_978485677?",
+ "D_523188839?",
+ "D_725626004?",
+ "D_846786840?",
+ "D_423547108?",
+ "D_266847650?",
+ "D_852898339?",
+ "D_467061940?",
+ "D_619481697?",
+ "D_134642404?",
+ "D_219956652?",
+ "D_852236900?",
+ "DEPRESSINTRO",
+ "D_347860896?",
+ "D_301414575?",
+ "INTROSURG",
+ "D_624179836?",
+ "D_367884741?",
+ "D_178353079?",
+ "D_550075233?",
+ "D_927516732?",
+ "D_552788665?",
+ "D_439736294?",
+ "D_216506024?",
+ "D_860920332?",
+ "D_986613440?",
+ "D_517307064?",
+ "D_477690298?",
+ "D_176453768?",
+ "D_145786416?",
+ "D_287605131?",
+ "D_701157499?",
+ "D_428639167?",
+ "D_282355641?",
+ "D_539301647?",
+ "D_579225381?",
+ "D_891214661?",
+ "D_150352141?",
+ "D_122887481?",
+ "D_378892977?",
+ "D_534007917?",
+ "D_224791140?",
+ "D_752636038?",
+ "D_518750011?",
+ "D_946504570?",
+ "D_275770221?",
+ "D_107060069?",
+ "D_882152987?",
+ "D_527057404?",
+ "D_453252072?",
+ "D_795940097?",
+ "D_406011084?",
+ "D_593017220?",
+ "D_875208305?",
+ "D_323512813?",
+ "D_338924834?",
+ "D_952682839?",
+ "D_746012894?",
+ "D_114314839?",
+ "D_677262300?",
+ "D_650399623?",
+ "D_820324171?",
+ "D_724181652?",
+ "D_912857732?",
+ "D_808806810?",
+ "D_207025341?",
+ "D_803129396?",
+ "D_827393644?",
+ "D_183572295?",
+ "D_630675760?",
+ "D_837402132?",
+ "D_431628922?",
+ "D_848580651?",
+ "D_207494582?",
+ "D_936904328?",
+ "D_365851428?",
+ "D_206319592?",
+ "D_769668224?",
+ "D_814664694?",
+ "D_109544008?",
+ "D_186831207?",
+ "D_283634623?",
+ "D_164752169?",
+ "D_512167179?",
+ "D_509933065?",
+ "D_967093163?",
+ "FAMHISTINTRO",
+ "D_535621923?",
+ "D_992987417?",
+ "MOM",
+ "D_170440011?",
+ "D_354326265?",
+ "D_422714611?",
+ "D_276353712?",
+ "D_814510313?",
+ "D_259397450?",
+ "D_528753070?",
+ "D_683981980?",
+ "D_402548942?",
+ "D_247198016?",
+ "D_891925519?",
+ "D_317093647?",
+ "D_684692228?",
+ "D_671347092?",
+ "D_875221479?",
+ "D_186170949?",
+ "D_726451917?",
+ "D_213545903?",
+ "D_765903702?",
+ "D_773974223?",
+ "D_433604862?",
+ "D_521369040?",
+ "D_497311092?",
+ "D_625249910?",
+ "D_838564850?",
+ "D_633764113?",
+ "D_882263738?",
+ "D_671308090?",
+ "D_367374606?",
+ "D_178774803?",
+ "D_628078826?",
+ "D_659784914?",
+ "D_173240848?",
+ "D_345146692?",
+ "D_243443318?",
+ "D_610382315?",
+ "D_135519371?",
+ "D_785019074?",
+ "D_152885579?",
+ "D_692910565?",
+ "D_522464057?",
+ "D_808655074?",
+ "D_659627058?",
+ "D_370198527?",
+ "D_291855684?",
+ "D_413536735?",
+ "D_210325948?",
+ "D_193297280?",
+ "D_121502359?",
+ "D_489402657?",
+ "D_727260639?",
+ "D_359291056?",
+ "D_968841976?",
+ "D_864981804?",
+ "D_499434567?",
+ "SIB",
+ "D_694265648!",
+ "SIBCONFIRM",
+ "D_406098499_1_1?",
+ "D_579563781_1_1?",
+ "D_807431780_1_1?",
+ "D_589588769_1_1?",
+ "D_890637099_1_1?",
+ "D_869387390_1_1?",
+ "D_537137982_1_1?",
+ "D_607773106_1_1?",
+ "D_578895128_1_1?",
+ "D_384881609_1_1?",
+ "D_483975329_1_1?",
+ "D_570279754_1_1?",
+ "D_907590067_1_1?",
+ "D_860112841_1_1?",
+ "D_158354252_1_1?",
+ "D_654594205_1_1?",
+ "D_550722030_1_1?",
+ "D_142912472_1_1?",
+ "D_158409298_1_1?",
+ "D_529744595_1_1?",
+ "D_315987564_1_1?",
+ "D_852278004_1_1?",
+ "D_391972881_1_1?",
+ "D_259089008_1_1?",
+ "D_209771602_1_1?",
+ "D_682651189_1_1?",
+ "D_750994269_1_1?",
+ "D_700889863_1_1?",
+ "D_990114799_1_1?",
+ "D_195363361_1_1?",
+ "D_216840563_1_1?",
+ "D_514034680_1_1?",
+ "D_247160067_1_1?",
+ "D_312545873_1_1?",
+ "SIBSUM_1_1",
+ "D_406098499_2_2?",
+ "D_579563781_2_2?",
+ "D_807431780_2_2?",
+ "D_589588769_2_2?",
+ "D_890637099_2_2?",
+ "D_869387390_2_2?",
+ "D_537137982_2_2?",
+ "D_607773106_2_2?",
+ "D_578895128_2_2?",
+ "D_384881609_2_2?",
+ "D_483975329_2_2?",
+ "D_570279754_2_2?",
+ "D_907590067_2_2?",
+ "D_860112841_2_2?",
+ "D_158354252_2_2?",
+ "D_654594205_2_2?",
+ "D_550722030_2_2?",
+ "D_142912472_2_2?",
+ "D_158409298_2_2?",
+ "D_529744595_2_2?",
+ "D_315987564_2_2?",
+ "D_852278004_2_2?",
+ "D_391972881_2_2?",
+ "D_259089008_2_2?",
+ "D_209771602_2_2?",
+ "D_682651189_2_2?",
+ "D_750994269_2_2?",
+ "D_700889863_2_2?",
+ "D_990114799_2_2?",
+ "D_195363361_2_2?",
+ "D_216840563_2_2?",
+ "D_514034680_2_2?",
+ "D_247160067_2_2?",
+ "D_312545873_2_2?",
+ "SIBSUM_2_2",
+ "D_406098499_3_3?",
+ "D_579563781_3_3?",
+ "D_807431780_3_3?",
+ "D_589588769_3_3?",
+ "D_890637099_3_3?",
+ "D_869387390_3_3?",
+ "D_537137982_3_3?",
+ "D_607773106_3_3?",
+ "D_578895128_3_3?",
+ "D_384881609_3_3?",
+ "D_483975329_3_3?",
+ "D_570279754_3_3?",
+ "D_907590067_3_3?",
+ "D_860112841_3_3?",
+ "D_158354252_3_3?",
+ "D_654594205_3_3?",
+ "D_550722030_3_3?",
+ "D_142912472_3_3?",
+ "D_158409298_3_3?",
+ "D_529744595_3_3?",
+ "D_315987564_3_3?",
+ "D_852278004_3_3?",
+ "D_391972881_3_3?",
+ "D_259089008_3_3?",
+ "D_209771602_3_3?",
+ "D_682651189_3_3?",
+ "D_750994269_3_3?",
+ "D_700889863_3_3?",
+ "D_990114799_3_3?",
+ "D_195363361_3_3?",
+ "D_216840563_3_3?",
+ "D_514034680_3_3?",
+ "D_247160067_3_3?",
+ "D_312545873_3_3?",
+ "SIBSUM_3_3",
+ "D_406098499_4_4?",
+ "D_579563781_4_4?",
+ "D_807431780_4_4?",
+ "D_589588769_4_4?",
+ "D_890637099_4_4?",
+ "D_869387390_4_4?",
+ "D_537137982_4_4?",
+ "D_607773106_4_4?",
+ "D_578895128_4_4?",
+ "D_384881609_4_4?",
+ "D_483975329_4_4?",
+ "D_570279754_4_4?",
+ "D_907590067_4_4?",
+ "D_860112841_4_4?",
+ "D_158354252_4_4?",
+ "D_654594205_4_4?",
+ "D_550722030_4_4?",
+ "D_142912472_4_4?",
+ "D_158409298_4_4?",
+ "D_529744595_4_4?",
+ "D_315987564_4_4?",
+ "D_852278004_4_4?",
+ "D_391972881_4_4?",
+ "D_259089008_4_4?",
+ "D_209771602_4_4?",
+ "D_682651189_4_4?",
+ "D_750994269_4_4?",
+ "D_700889863_4_4?",
+ "D_990114799_4_4?",
+ "D_195363361_4_4?",
+ "D_216840563_4_4?",
+ "D_514034680_4_4?",
+ "D_247160067_4_4?",
+ "D_312545873_4_4?",
+ "SIBSUM_4_4",
+ "D_406098499_5_5?",
+ "D_579563781_5_5?",
+ "D_807431780_5_5?",
+ "D_589588769_5_5?",
+ "D_890637099_5_5?",
+ "D_869387390_5_5?",
+ "D_537137982_5_5?",
+ "D_607773106_5_5?",
+ "D_578895128_5_5?",
+ "D_384881609_5_5?",
+ "D_483975329_5_5?",
+ "D_570279754_5_5?",
+ "D_907590067_5_5?",
+ "D_860112841_5_5?",
+ "D_158354252_5_5?",
+ "D_654594205_5_5?",
+ "D_550722030_5_5?",
+ "D_142912472_5_5?",
+ "D_158409298_5_5?",
+ "D_529744595_5_5?",
+ "D_315987564_5_5?",
+ "D_852278004_5_5?",
+ "D_391972881_5_5?",
+ "D_259089008_5_5?",
+ "D_209771602_5_5?",
+ "D_682651189_5_5?",
+ "D_750994269_5_5?",
+ "D_700889863_5_5?",
+ "D_990114799_5_5?",
+ "D_195363361_5_5?",
+ "D_216840563_5_5?",
+ "D_514034680_5_5?",
+ "D_247160067_5_5?",
+ "D_312545873_5_5?",
+ "SIBSUM_5_5",
+ "D_406098499_6_6?",
+ "D_579563781_6_6?",
+ "D_807431780_6_6?",
+ "D_589588769_6_6?",
+ "D_890637099_6_6?",
+ "D_869387390_6_6?",
+ "D_537137982_6_6?",
+ "D_607773106_6_6?",
+ "D_578895128_6_6?",
+ "D_384881609_6_6?",
+ "D_483975329_6_6?",
+ "D_570279754_6_6?",
+ "D_907590067_6_6?",
+ "D_860112841_6_6?",
+ "D_158354252_6_6?",
+ "D_654594205_6_6?",
+ "D_550722030_6_6?",
+ "D_142912472_6_6?",
+ "D_158409298_6_6?",
+ "D_529744595_6_6?",
+ "D_315987564_6_6?",
+ "D_852278004_6_6?",
+ "D_391972881_6_6?",
+ "D_259089008_6_6?",
+ "D_209771602_6_6?",
+ "D_682651189_6_6?",
+ "D_750994269_6_6?",
+ "D_700889863_6_6?",
+ "D_990114799_6_6?",
+ "D_195363361_6_6?",
+ "D_216840563_6_6?",
+ "D_514034680_6_6?",
+ "D_247160067_6_6?",
+ "D_312545873_6_6?",
+ "SIBSUM_6_6",
+ "D_406098499_7_7?",
+ "D_579563781_7_7?",
+ "D_807431780_7_7?",
+ "D_589588769_7_7?",
+ "D_890637099_7_7?",
+ "D_869387390_7_7?",
+ "D_537137982_7_7?",
+ "D_607773106_7_7?",
+ "D_578895128_7_7?",
+ "D_384881609_7_7?",
+ "D_483975329_7_7?",
+ "D_570279754_7_7?",
+ "D_907590067_7_7?",
+ "D_860112841_7_7?",
+ "D_158354252_7_7?",
+ "D_654594205_7_7?",
+ "D_550722030_7_7?",
+ "D_142912472_7_7?",
+ "D_158409298_7_7?",
+ "D_529744595_7_7?",
+ "D_315987564_7_7?",
+ "D_852278004_7_7?",
+ "D_391972881_7_7?",
+ "D_259089008_7_7?",
+ "D_209771602_7_7?",
+ "D_682651189_7_7?",
+ "D_750994269_7_7?",
+ "D_700889863_7_7?",
+ "D_990114799_7_7?",
+ "D_195363361_7_7?",
+ "D_216840563_7_7?",
+ "D_514034680_7_7?",
+ "D_247160067_7_7?",
+ "D_312545873_7_7?",
+ "SIBSUM_7_7",
+ "D_406098499_8_8?",
+ "D_579563781_8_8?",
+ "D_807431780_8_8?",
+ "D_589588769_8_8?",
+ "D_890637099_8_8?",
+ "D_869387390_8_8?",
+ "D_537137982_8_8?",
+ "D_607773106_8_8?",
+ "D_578895128_8_8?",
+ "D_384881609_8_8?",
+ "D_483975329_8_8?",
+ "D_570279754_8_8?",
+ "D_907590067_8_8?",
+ "D_860112841_8_8?",
+ "D_158354252_8_8?",
+ "D_654594205_8_8?",
+ "D_550722030_8_8?",
+ "D_142912472_8_8?",
+ "D_158409298_8_8?",
+ "D_529744595_8_8?",
+ "D_315987564_8_8?",
+ "D_852278004_8_8?",
+ "D_391972881_8_8?",
+ "D_259089008_8_8?",
+ "D_209771602_8_8?",
+ "D_682651189_8_8?",
+ "D_750994269_8_8?",
+ "D_700889863_8_8?",
+ "D_990114799_8_8?",
+ "D_195363361_8_8?",
+ "D_216840563_8_8?",
+ "D_514034680_8_8?",
+ "D_247160067_8_8?",
+ "D_312545873_8_8?",
+ "SIBSUM_8_8",
+ "D_406098499_9_9?",
+ "D_579563781_9_9?",
+ "D_807431780_9_9?",
+ "D_589588769_9_9?",
+ "D_890637099_9_9?",
+ "D_869387390_9_9?",
+ "D_537137982_9_9?",
+ "D_607773106_9_9?",
+ "D_578895128_9_9?",
+ "D_384881609_9_9?",
+ "D_483975329_9_9?",
+ "D_570279754_9_9?",
+ "D_907590067_9_9?",
+ "D_860112841_9_9?",
+ "D_158354252_9_9?",
+ "D_654594205_9_9?",
+ "D_550722030_9_9?",
+ "D_142912472_9_9?",
+ "D_158409298_9_9?",
+ "D_529744595_9_9?",
+ "D_315987564_9_9?",
+ "D_852278004_9_9?",
+ "D_391972881_9_9?",
+ "D_259089008_9_9?",
+ "D_209771602_9_9?",
+ "D_682651189_9_9?",
+ "D_750994269_9_9?",
+ "D_700889863_9_9?",
+ "D_990114799_9_9?",
+ "D_195363361_9_9?",
+ "D_216840563_9_9?",
+ "D_514034680_9_9?",
+ "D_247160067_9_9?",
+ "D_312545873_9_9?",
+ "SIBSUM_9_9",
+ "D_406098499_10_10?",
+ "D_579563781_10_10?",
+ "D_807431780_10_10?",
+ "D_589588769_10_10?",
+ "D_890637099_10_10?",
+ "D_869387390_10_10?",
+ "D_537137982_10_10?",
+ "D_607773106_10_10?",
+ "D_578895128_10_10?",
+ "D_384881609_10_10?",
+ "D_483975329_10_10?",
+ "D_570279754_10_10?",
+ "D_907590067_10_10?",
+ "D_860112841_10_10?",
+ "D_158354252_10_10?",
+ "D_654594205_10_10?",
+ "D_550722030_10_10?",
+ "D_142912472_10_10?",
+ "D_158409298_10_10?",
+ "D_529744595_10_10?",
+ "D_315987564_10_10?",
+ "D_852278004_10_10?",
+ "D_391972881_10_10?",
+ "D_259089008_10_10?",
+ "D_209771602_10_10?",
+ "D_682651189_10_10?",
+ "D_750994269_10_10?",
+ "D_700889863_10_10?",
+ "D_990114799_10_10?",
+ "D_195363361_10_10?",
+ "D_216840563_10_10?",
+ "D_514034680_10_10?",
+ "D_247160067_10_10?",
+ "D_312545873_10_10?",
+ "SIBSUM_10_10",
+ "D_406098499_11_11?",
+ "D_579563781_11_11?",
+ "D_807431780_11_11?",
+ "D_589588769_11_11?",
+ "D_890637099_11_11?",
+ "D_869387390_11_11?",
+ "D_537137982_11_11?",
+ "D_607773106_11_11?",
+ "D_578895128_11_11?",
+ "D_384881609_11_11?",
+ "D_483975329_11_11?",
+ "D_570279754_11_11?",
+ "D_907590067_11_11?",
+ "D_860112841_11_11?",
+ "D_158354252_11_11?",
+ "D_654594205_11_11?",
+ "D_550722030_11_11?",
+ "D_142912472_11_11?",
+ "D_158409298_11_11?",
+ "D_529744595_11_11?",
+ "D_315987564_11_11?",
+ "D_852278004_11_11?",
+ "D_391972881_11_11?",
+ "D_259089008_11_11?",
+ "D_209771602_11_11?",
+ "D_682651189_11_11?",
+ "D_750994269_11_11?",
+ "D_700889863_11_11?",
+ "D_990114799_11_11?",
+ "D_195363361_11_11?",
+ "D_216840563_11_11?",
+ "D_514034680_11_11?",
+ "D_247160067_11_11?",
+ "D_312545873_11_11?",
+ "SIBSUM_11_11",
+ "D_406098499_12_12?",
+ "D_579563781_12_12?",
+ "D_807431780_12_12?",
+ "D_589588769_12_12?",
+ "D_890637099_12_12?",
+ "D_869387390_12_12?",
+ "D_537137982_12_12?",
+ "D_607773106_12_12?",
+ "D_578895128_12_12?",
+ "D_384881609_12_12?",
+ "D_483975329_12_12?",
+ "D_570279754_12_12?",
+ "D_907590067_12_12?",
+ "D_860112841_12_12?",
+ "D_158354252_12_12?",
+ "D_654594205_12_12?",
+ "D_550722030_12_12?",
+ "D_142912472_12_12?",
+ "D_158409298_12_12?",
+ "D_529744595_12_12?",
+ "D_315987564_12_12?",
+ "D_852278004_12_12?",
+ "D_391972881_12_12?",
+ "D_259089008_12_12?",
+ "D_209771602_12_12?",
+ "D_682651189_12_12?",
+ "D_750994269_12_12?",
+ "D_700889863_12_12?",
+ "D_990114799_12_12?",
+ "D_195363361_12_12?",
+ "D_216840563_12_12?",
+ "D_514034680_12_12?",
+ "D_247160067_12_12?",
+ "D_312545873_12_12?",
+ "SIBSUM_12_12",
+ "D_406098499_13_13?",
+ "D_579563781_13_13?",
+ "D_807431780_13_13?",
+ "D_589588769_13_13?",
+ "D_890637099_13_13?",
+ "D_869387390_13_13?",
+ "D_537137982_13_13?",
+ "D_607773106_13_13?",
+ "D_578895128_13_13?",
+ "D_384881609_13_13?",
+ "D_483975329_13_13?",
+ "D_570279754_13_13?",
+ "D_907590067_13_13?",
+ "D_860112841_13_13?",
+ "D_158354252_13_13?",
+ "D_654594205_13_13?",
+ "D_550722030_13_13?",
+ "D_142912472_13_13?",
+ "D_158409298_13_13?",
+ "D_529744595_13_13?",
+ "D_315987564_13_13?",
+ "D_852278004_13_13?",
+ "D_391972881_13_13?",
+ "D_259089008_13_13?",
+ "D_209771602_13_13?",
+ "D_682651189_13_13?",
+ "D_750994269_13_13?",
+ "D_700889863_13_13?",
+ "D_990114799_13_13?",
+ "D_195363361_13_13?",
+ "D_216840563_13_13?",
+ "D_514034680_13_13?",
+ "D_247160067_13_13?",
+ "D_312545873_13_13?",
+ "SIBSUM_13_13",
+ "D_406098499_14_14?",
+ "D_579563781_14_14?",
+ "D_807431780_14_14?",
+ "D_589588769_14_14?",
+ "D_890637099_14_14?",
+ "D_869387390_14_14?",
+ "D_537137982_14_14?",
+ "D_607773106_14_14?",
+ "D_578895128_14_14?",
+ "D_384881609_14_14?",
+ "D_483975329_14_14?",
+ "D_570279754_14_14?",
+ "D_907590067_14_14?",
+ "D_860112841_14_14?",
+ "D_158354252_14_14?",
+ "D_654594205_14_14?",
+ "D_550722030_14_14?",
+ "D_142912472_14_14?",
+ "D_158409298_14_14?",
+ "D_529744595_14_14?",
+ "D_315987564_14_14?",
+ "D_852278004_14_14?",
+ "D_391972881_14_14?",
+ "D_259089008_14_14?",
+ "D_209771602_14_14?",
+ "D_682651189_14_14?",
+ "D_750994269_14_14?",
+ "D_700889863_14_14?",
+ "D_990114799_14_14?",
+ "D_195363361_14_14?",
+ "D_216840563_14_14?",
+ "D_514034680_14_14?",
+ "D_247160067_14_14?",
+ "D_312545873_14_14?",
+ "SIBSUM_14_14",
+ "D_406098499_15_15?",
+ "D_579563781_15_15?",
+ "D_807431780_15_15?",
+ "D_589588769_15_15?",
+ "D_890637099_15_15?",
+ "D_869387390_15_15?",
+ "D_537137982_15_15?",
+ "D_607773106_15_15?",
+ "D_578895128_15_15?",
+ "D_384881609_15_15?",
+ "D_483975329_15_15?",
+ "D_570279754_15_15?",
+ "D_907590067_15_15?",
+ "D_860112841_15_15?",
+ "D_158354252_15_15?",
+ "D_654594205_15_15?",
+ "D_550722030_15_15?",
+ "D_142912472_15_15?",
+ "D_158409298_15_15?",
+ "D_529744595_15_15?",
+ "D_315987564_15_15?",
+ "D_852278004_15_15?",
+ "D_391972881_15_15?",
+ "D_259089008_15_15?",
+ "D_209771602_15_15?",
+ "D_682651189_15_15?",
+ "D_750994269_15_15?",
+ "D_700889863_15_15?",
+ "D_990114799_15_15?",
+ "D_195363361_15_15?",
+ "D_216840563_15_15?",
+ "D_514034680_15_15?",
+ "D_247160067_15_15?",
+ "D_312545873_15_15?",
+ "SIBSUM_15_15",
+ "D_406098499_16_16?",
+ "D_579563781_16_16?",
+ "D_807431780_16_16?",
+ "D_589588769_16_16?",
+ "D_890637099_16_16?",
+ "D_869387390_16_16?",
+ "D_537137982_16_16?",
+ "D_607773106_16_16?",
+ "D_578895128_16_16?",
+ "D_384881609_16_16?",
+ "D_483975329_16_16?",
+ "D_570279754_16_16?",
+ "D_907590067_16_16?",
+ "D_860112841_16_16?",
+ "D_158354252_16_16?",
+ "D_654594205_16_16?",
+ "D_550722030_16_16?",
+ "D_142912472_16_16?",
+ "D_158409298_16_16?",
+ "D_529744595_16_16?",
+ "D_315987564_16_16?",
+ "D_852278004_16_16?",
+ "D_391972881_16_16?",
+ "D_259089008_16_16?",
+ "D_209771602_16_16?",
+ "D_682651189_16_16?",
+ "D_750994269_16_16?",
+ "D_700889863_16_16?",
+ "D_990114799_16_16?",
+ "D_195363361_16_16?",
+ "D_216840563_16_16?",
+ "D_514034680_16_16?",
+ "D_247160067_16_16?",
+ "D_312545873_16_16?",
+ "SIBSUM_16_16",
+ "D_406098499_17_17?",
+ "D_579563781_17_17?",
+ "D_807431780_17_17?",
+ "D_589588769_17_17?",
+ "D_890637099_17_17?",
+ "D_869387390_17_17?",
+ "D_537137982_17_17?",
+ "D_607773106_17_17?",
+ "D_578895128_17_17?",
+ "D_384881609_17_17?",
+ "D_483975329_17_17?",
+ "D_570279754_17_17?",
+ "D_907590067_17_17?",
+ "D_860112841_17_17?",
+ "D_158354252_17_17?",
+ "D_654594205_17_17?",
+ "D_550722030_17_17?",
+ "D_142912472_17_17?",
+ "D_158409298_17_17?",
+ "D_529744595_17_17?",
+ "D_315987564_17_17?",
+ "D_852278004_17_17?",
+ "D_391972881_17_17?",
+ "D_259089008_17_17?",
+ "D_209771602_17_17?",
+ "D_682651189_17_17?",
+ "D_750994269_17_17?",
+ "D_700889863_17_17?",
+ "D_990114799_17_17?",
+ "D_195363361_17_17?",
+ "D_216840563_17_17?",
+ "D_514034680_17_17?",
+ "D_247160067_17_17?",
+ "D_312545873_17_17?",
+ "SIBSUM_17_17",
+ "D_406098499_18_18?",
+ "D_579563781_18_18?",
+ "D_807431780_18_18?",
+ "D_589588769_18_18?",
+ "D_890637099_18_18?",
+ "D_869387390_18_18?",
+ "D_537137982_18_18?",
+ "D_607773106_18_18?",
+ "D_578895128_18_18?",
+ "D_384881609_18_18?",
+ "D_483975329_18_18?",
+ "D_570279754_18_18?",
+ "D_907590067_18_18?",
+ "D_860112841_18_18?",
+ "D_158354252_18_18?",
+ "D_654594205_18_18?",
+ "D_550722030_18_18?",
+ "D_142912472_18_18?",
+ "D_158409298_18_18?",
+ "D_529744595_18_18?",
+ "D_315987564_18_18?",
+ "D_852278004_18_18?",
+ "D_391972881_18_18?",
+ "D_259089008_18_18?",
+ "D_209771602_18_18?",
+ "D_682651189_18_18?",
+ "D_750994269_18_18?",
+ "D_700889863_18_18?",
+ "D_990114799_18_18?",
+ "D_195363361_18_18?",
+ "D_216840563_18_18?",
+ "D_514034680_18_18?",
+ "D_247160067_18_18?",
+ "D_312545873_18_18?",
+ "SIBSUM_18_18",
+ "D_406098499_19_19?",
+ "D_579563781_19_19?",
+ "D_807431780_19_19?",
+ "D_589588769_19_19?",
+ "D_890637099_19_19?",
+ "D_869387390_19_19?",
+ "D_537137982_19_19?",
+ "D_607773106_19_19?",
+ "D_578895128_19_19?",
+ "D_384881609_19_19?",
+ "D_483975329_19_19?",
+ "D_570279754_19_19?",
+ "D_907590067_19_19?",
+ "D_860112841_19_19?",
+ "D_158354252_19_19?",
+ "D_654594205_19_19?",
+ "D_550722030_19_19?",
+ "D_142912472_19_19?",
+ "D_158409298_19_19?",
+ "D_529744595_19_19?",
+ "D_315987564_19_19?",
+ "D_852278004_19_19?",
+ "D_391972881_19_19?",
+ "D_259089008_19_19?",
+ "D_209771602_19_19?",
+ "D_682651189_19_19?",
+ "D_750994269_19_19?",
+ "D_700889863_19_19?",
+ "D_990114799_19_19?",
+ "D_195363361_19_19?",
+ "D_216840563_19_19?",
+ "D_514034680_19_19?",
+ "D_247160067_19_19?",
+ "D_312545873_19_19?",
+ "SIBSUM_19_19",
+ "D_406098499_20_20?",
+ "D_579563781_20_20?",
+ "D_807431780_20_20?",
+ "D_589588769_20_20?",
+ "D_890637099_20_20?",
+ "D_869387390_20_20?",
+ "D_537137982_20_20?",
+ "D_607773106_20_20?",
+ "D_578895128_20_20?",
+ "D_384881609_20_20?",
+ "D_483975329_20_20?",
+ "D_570279754_20_20?",
+ "D_907590067_20_20?",
+ "D_860112841_20_20?",
+ "D_158354252_20_20?",
+ "D_654594205_20_20?",
+ "D_550722030_20_20?",
+ "D_142912472_20_20?",
+ "D_158409298_20_20?",
+ "D_529744595_20_20?",
+ "D_315987564_20_20?",
+ "D_852278004_20_20?",
+ "D_391972881_20_20?",
+ "D_259089008_20_20?",
+ "D_209771602_20_20?",
+ "D_682651189_20_20?",
+ "D_750994269_20_20?",
+ "D_700889863_20_20?",
+ "D_990114799_20_20?",
+ "D_195363361_20_20?",
+ "D_216840563_20_20?",
+ "D_514034680_20_20?",
+ "D_247160067_20_20?",
+ "D_312545873_20_20?",
+ "SIBSUM_20_20",
+ "D_406098499_21_21?",
+ "D_579563781_21_21?",
+ "D_807431780_21_21?",
+ "D_589588769_21_21?",
+ "D_890637099_21_21?",
+ "D_869387390_21_21?",
+ "D_537137982_21_21?",
+ "D_607773106_21_21?",
+ "D_578895128_21_21?",
+ "D_384881609_21_21?",
+ "D_483975329_21_21?",
+ "D_570279754_21_21?",
+ "D_907590067_21_21?",
+ "D_860112841_21_21?",
+ "D_158354252_21_21?",
+ "D_654594205_21_21?",
+ "D_550722030_21_21?",
+ "D_142912472_21_21?",
+ "D_158409298_21_21?",
+ "D_529744595_21_21?",
+ "D_315987564_21_21?",
+ "D_852278004_21_21?",
+ "D_391972881_21_21?",
+ "D_259089008_21_21?",
+ "D_209771602_21_21?",
+ "D_682651189_21_21?",
+ "D_750994269_21_21?",
+ "D_700889863_21_21?",
+ "D_990114799_21_21?",
+ "D_195363361_21_21?",
+ "D_216840563_21_21?",
+ "D_514034680_21_21?",
+ "D_247160067_21_21?",
+ "D_312545873_21_21?",
+ "SIBSUM_21_21",
+ "D_406098499_22_22?",
+ "D_579563781_22_22?",
+ "D_807431780_22_22?",
+ "D_589588769_22_22?",
+ "D_890637099_22_22?",
+ "D_869387390_22_22?",
+ "D_537137982_22_22?",
+ "D_607773106_22_22?",
+ "D_578895128_22_22?",
+ "D_384881609_22_22?",
+ "D_483975329_22_22?",
+ "D_570279754_22_22?",
+ "D_907590067_22_22?",
+ "D_860112841_22_22?",
+ "D_158354252_22_22?",
+ "D_654594205_22_22?",
+ "D_550722030_22_22?",
+ "D_142912472_22_22?",
+ "D_158409298_22_22?",
+ "D_529744595_22_22?",
+ "D_315987564_22_22?",
+ "D_852278004_22_22?",
+ "D_391972881_22_22?",
+ "D_259089008_22_22?",
+ "D_209771602_22_22?",
+ "D_682651189_22_22?",
+ "D_750994269_22_22?",
+ "D_700889863_22_22?",
+ "D_990114799_22_22?",
+ "D_195363361_22_22?",
+ "D_216840563_22_22?",
+ "D_514034680_22_22?",
+ "D_247160067_22_22?",
+ "D_312545873_22_22?",
+ "SIBSUM_22_22",
+ "D_406098499_23_23?",
+ "D_579563781_23_23?",
+ "D_807431780_23_23?",
+ "D_589588769_23_23?",
+ "D_890637099_23_23?",
+ "D_869387390_23_23?",
+ "D_537137982_23_23?",
+ "D_607773106_23_23?",
+ "D_578895128_23_23?",
+ "D_384881609_23_23?",
+ "D_483975329_23_23?",
+ "D_570279754_23_23?",
+ "D_907590067_23_23?",
+ "D_860112841_23_23?",
+ "D_158354252_23_23?",
+ "D_654594205_23_23?",
+ "D_550722030_23_23?",
+ "D_142912472_23_23?",
+ "D_158409298_23_23?",
+ "D_529744595_23_23?",
+ "D_315987564_23_23?",
+ "D_852278004_23_23?",
+ "D_391972881_23_23?",
+ "D_259089008_23_23?",
+ "D_209771602_23_23?",
+ "D_682651189_23_23?",
+ "D_750994269_23_23?",
+ "D_700889863_23_23?",
+ "D_990114799_23_23?",
+ "D_195363361_23_23?",
+ "D_216840563_23_23?",
+ "D_514034680_23_23?",
+ "D_247160067_23_23?",
+ "D_312545873_23_23?",
+ "SIBSUM_23_23",
+ "D_406098499_24_24?",
+ "D_579563781_24_24?",
+ "D_807431780_24_24?",
+ "D_589588769_24_24?",
+ "D_890637099_24_24?",
+ "D_869387390_24_24?",
+ "D_537137982_24_24?",
+ "D_607773106_24_24?",
+ "D_578895128_24_24?",
+ "D_384881609_24_24?",
+ "D_483975329_24_24?",
+ "D_570279754_24_24?",
+ "D_907590067_24_24?",
+ "D_860112841_24_24?",
+ "D_158354252_24_24?",
+ "D_654594205_24_24?",
+ "D_550722030_24_24?",
+ "D_142912472_24_24?",
+ "D_158409298_24_24?",
+ "D_529744595_24_24?",
+ "D_315987564_24_24?",
+ "D_852278004_24_24?",
+ "D_391972881_24_24?",
+ "D_259089008_24_24?",
+ "D_209771602_24_24?",
+ "D_682651189_24_24?",
+ "D_750994269_24_24?",
+ "D_700889863_24_24?",
+ "D_990114799_24_24?",
+ "D_195363361_24_24?",
+ "D_216840563_24_24?",
+ "D_514034680_24_24?",
+ "D_247160067_24_24?",
+ "D_312545873_24_24?",
+ "SIBSUM_24_24",
+ "D_406098499_25_25?",
+ "D_579563781_25_25?",
+ "D_807431780_25_25?",
+ "D_589588769_25_25?",
+ "D_890637099_25_25?",
+ "D_869387390_25_25?",
+ "D_537137982_25_25?",
+ "D_607773106_25_25?",
+ "D_578895128_25_25?",
+ "D_384881609_25_25?",
+ "D_483975329_25_25?",
+ "D_570279754_25_25?",
+ "D_907590067_25_25?",
+ "D_860112841_25_25?",
+ "D_158354252_25_25?",
+ "D_654594205_25_25?",
+ "D_550722030_25_25?",
+ "D_142912472_25_25?",
+ "D_158409298_25_25?",
+ "D_529744595_25_25?",
+ "D_315987564_25_25?",
+ "D_852278004_25_25?",
+ "D_391972881_25_25?",
+ "D_259089008_25_25?",
+ "D_209771602_25_25?",
+ "D_682651189_25_25?",
+ "D_750994269_25_25?",
+ "D_700889863_25_25?",
+ "D_990114799_25_25?",
+ "D_195363361_25_25?",
+ "D_216840563_25_25?",
+ "D_514034680_25_25?",
+ "D_247160067_25_25?",
+ "D_312545873_25_25?",
+ "SIBSUM_25_25",
+ "END_OF_LOOP",
+ "CHILD",
+ "D_446999144!",
+ "CHILDCONFIRM",
+ "D_714001034_1_1?",
+ "D_887697329_1_1?",
+ "D_473529484_1_1?",
+ "D_873968217_1_1?",
+ "D_418392907_1_1?",
+ "D_640010727_1_1?",
+ "D_236590500_1_1?",
+ "D_718867914_1_1?",
+ "D_812370563_1_1?",
+ "D_900939817_1_1?",
+ "D_938150507_1_1?",
+ "D_601211723_1_1?",
+ "D_861788020_1_1?",
+ "D_204425387_1_1?",
+ "D_558929585_1_1?",
+ "D_233764880_1_1?",
+ "D_905145893_1_1?",
+ "D_473190270_1_1?",
+ "D_483735587_1_1?",
+ "D_331759900_1_1?",
+ "D_513077276_1_1?",
+ "D_519974530_1_1?",
+ "D_907776050_1_1?",
+ "D_271684775_1_1?",
+ "D_252160589_1_1?",
+ "D_774774759_1_1?",
+ "D_127257956_1_1?",
+ "D_496917282_1_1?",
+ "D_908129316_1_1?",
+ "D_795003496_1_1?",
+ "D_969177591_1_1?",
+ "D_116065851_1_1?",
+ "D_278159347_1_1?",
+ "D_845219872_1_1?",
+ "CHILDSUM_1_1",
+ "D_714001034_2_2?",
+ "D_887697329_2_2?",
+ "D_473529484_2_2?",
+ "D_873968217_2_2?",
+ "D_418392907_2_2?",
+ "D_640010727_2_2?",
+ "D_236590500_2_2?",
+ "D_718867914_2_2?",
+ "D_812370563_2_2?",
+ "D_900939817_2_2?",
+ "D_938150507_2_2?",
+ "D_601211723_2_2?",
+ "D_861788020_2_2?",
+ "D_204425387_2_2?",
+ "D_558929585_2_2?",
+ "D_233764880_2_2?",
+ "D_905145893_2_2?",
+ "D_473190270_2_2?",
+ "D_483735587_2_2?",
+ "D_331759900_2_2?",
+ "D_513077276_2_2?",
+ "D_519974530_2_2?",
+ "D_907776050_2_2?",
+ "D_271684775_2_2?",
+ "D_252160589_2_2?",
+ "D_774774759_2_2?",
+ "D_127257956_2_2?",
+ "D_496917282_2_2?",
+ "D_908129316_2_2?",
+ "D_795003496_2_2?",
+ "D_969177591_2_2?",
+ "D_116065851_2_2?",
+ "D_278159347_2_2?",
+ "D_845219872_2_2?",
+ "CHILDSUM_2_2",
+ "D_714001034_3_3?",
+ "D_887697329_3_3?",
+ "D_473529484_3_3?",
+ "D_873968217_3_3?",
+ "D_418392907_3_3?",
+ "D_640010727_3_3?",
+ "D_236590500_3_3?",
+ "D_718867914_3_3?",
+ "D_812370563_3_3?",
+ "D_900939817_3_3?",
+ "D_938150507_3_3?",
+ "D_601211723_3_3?",
+ "D_861788020_3_3?",
+ "D_204425387_3_3?",
+ "D_558929585_3_3?",
+ "D_233764880_3_3?",
+ "D_905145893_3_3?",
+ "D_473190270_3_3?",
+ "D_483735587_3_3?",
+ "D_331759900_3_3?",
+ "D_513077276_3_3?",
+ "D_519974530_3_3?",
+ "D_907776050_3_3?",
+ "D_271684775_3_3?",
+ "D_252160589_3_3?",
+ "D_774774759_3_3?",
+ "D_127257956_3_3?",
+ "D_496917282_3_3?",
+ "D_908129316_3_3?",
+ "D_795003496_3_3?",
+ "D_969177591_3_3?",
+ "D_116065851_3_3?",
+ "D_278159347_3_3?",
+ "D_845219872_3_3?",
+ "CHILDSUM_3_3",
+ "D_714001034_4_4?",
+ "D_887697329_4_4?",
+ "D_473529484_4_4?",
+ "D_873968217_4_4?",
+ "D_418392907_4_4?",
+ "D_640010727_4_4?",
+ "D_236590500_4_4?",
+ "D_718867914_4_4?",
+ "D_812370563_4_4?",
+ "D_900939817_4_4?",
+ "D_938150507_4_4?",
+ "D_601211723_4_4?",
+ "D_861788020_4_4?",
+ "D_204425387_4_4?",
+ "D_558929585_4_4?",
+ "D_233764880_4_4?",
+ "D_905145893_4_4?",
+ "D_473190270_4_4?",
+ "D_483735587_4_4?",
+ "D_331759900_4_4?",
+ "D_513077276_4_4?",
+ "D_519974530_4_4?",
+ "D_907776050_4_4?",
+ "D_271684775_4_4?",
+ "D_252160589_4_4?",
+ "D_774774759_4_4?",
+ "D_127257956_4_4?",
+ "D_496917282_4_4?",
+ "D_908129316_4_4?",
+ "D_795003496_4_4?",
+ "D_969177591_4_4?",
+ "D_116065851_4_4?",
+ "D_278159347_4_4?",
+ "D_845219872_4_4?",
+ "CHILDSUM_4_4",
+ "D_714001034_5_5?",
+ "D_887697329_5_5?",
+ "D_473529484_5_5?",
+ "D_873968217_5_5?",
+ "D_418392907_5_5?",
+ "D_640010727_5_5?",
+ "D_236590500_5_5?",
+ "D_718867914_5_5?",
+ "D_812370563_5_5?",
+ "D_900939817_5_5?",
+ "D_938150507_5_5?",
+ "D_601211723_5_5?",
+ "D_861788020_5_5?",
+ "D_204425387_5_5?",
+ "D_558929585_5_5?",
+ "D_233764880_5_5?",
+ "D_905145893_5_5?",
+ "D_473190270_5_5?",
+ "D_483735587_5_5?",
+ "D_331759900_5_5?",
+ "D_513077276_5_5?",
+ "D_519974530_5_5?",
+ "D_907776050_5_5?",
+ "D_271684775_5_5?",
+ "D_252160589_5_5?",
+ "D_774774759_5_5?",
+ "D_127257956_5_5?",
+ "D_496917282_5_5?",
+ "D_908129316_5_5?",
+ "D_795003496_5_5?",
+ "D_969177591_5_5?",
+ "D_116065851_5_5?",
+ "D_278159347_5_5?",
+ "D_845219872_5_5?",
+ "CHILDSUM_5_5",
+ "D_714001034_6_6?",
+ "D_887697329_6_6?",
+ "D_473529484_6_6?",
+ "D_873968217_6_6?",
+ "D_418392907_6_6?",
+ "D_640010727_6_6?",
+ "D_236590500_6_6?",
+ "D_718867914_6_6?",
+ "D_812370563_6_6?",
+ "D_900939817_6_6?",
+ "D_938150507_6_6?",
+ "D_601211723_6_6?",
+ "D_861788020_6_6?",
+ "D_204425387_6_6?",
+ "D_558929585_6_6?",
+ "D_233764880_6_6?",
+ "D_905145893_6_6?",
+ "D_473190270_6_6?",
+ "D_483735587_6_6?",
+ "D_331759900_6_6?",
+ "D_513077276_6_6?",
+ "D_519974530_6_6?",
+ "D_907776050_6_6?",
+ "D_271684775_6_6?",
+ "D_252160589_6_6?",
+ "D_774774759_6_6?",
+ "D_127257956_6_6?",
+ "D_496917282_6_6?",
+ "D_908129316_6_6?",
+ "D_795003496_6_6?",
+ "D_969177591_6_6?",
+ "D_116065851_6_6?",
+ "D_278159347_6_6?",
+ "D_845219872_6_6?",
+ "CHILDSUM_6_6",
+ "D_714001034_7_7?",
+ "D_887697329_7_7?",
+ "D_473529484_7_7?",
+ "D_873968217_7_7?",
+ "D_418392907_7_7?",
+ "D_640010727_7_7?",
+ "D_236590500_7_7?",
+ "D_718867914_7_7?",
+ "D_812370563_7_7?",
+ "D_900939817_7_7?",
+ "D_938150507_7_7?",
+ "D_601211723_7_7?",
+ "D_861788020_7_7?",
+ "D_204425387_7_7?",
+ "D_558929585_7_7?",
+ "D_233764880_7_7?",
+ "D_905145893_7_7?",
+ "D_473190270_7_7?",
+ "D_483735587_7_7?",
+ "D_331759900_7_7?",
+ "D_513077276_7_7?",
+ "D_519974530_7_7?",
+ "D_907776050_7_7?",
+ "D_271684775_7_7?",
+ "D_252160589_7_7?",
+ "D_774774759_7_7?",
+ "D_127257956_7_7?",
+ "D_496917282_7_7?",
+ "D_908129316_7_7?",
+ "D_795003496_7_7?",
+ "D_969177591_7_7?",
+ "D_116065851_7_7?",
+ "D_278159347_7_7?",
+ "D_845219872_7_7?",
+ "CHILDSUM_7_7",
+ "D_714001034_8_8?",
+ "D_887697329_8_8?",
+ "D_473529484_8_8?",
+ "D_873968217_8_8?",
+ "D_418392907_8_8?",
+ "D_640010727_8_8?",
+ "D_236590500_8_8?",
+ "D_718867914_8_8?",
+ "D_812370563_8_8?",
+ "D_900939817_8_8?",
+ "D_938150507_8_8?",
+ "D_601211723_8_8?",
+ "D_861788020_8_8?",
+ "D_204425387_8_8?",
+ "D_558929585_8_8?",
+ "D_233764880_8_8?",
+ "D_905145893_8_8?",
+ "D_473190270_8_8?",
+ "D_483735587_8_8?",
+ "D_331759900_8_8?",
+ "D_513077276_8_8?",
+ "D_519974530_8_8?",
+ "D_907776050_8_8?",
+ "D_271684775_8_8?",
+ "D_252160589_8_8?",
+ "D_774774759_8_8?",
+ "D_127257956_8_8?",
+ "D_496917282_8_8?",
+ "D_908129316_8_8?",
+ "D_795003496_8_8?",
+ "D_969177591_8_8?",
+ "D_116065851_8_8?",
+ "D_278159347_8_8?",
+ "D_845219872_8_8?",
+ "CHILDSUM_8_8",
+ "D_714001034_9_9?",
+ "D_887697329_9_9?",
+ "D_473529484_9_9?",
+ "D_873968217_9_9?",
+ "D_418392907_9_9?",
+ "D_640010727_9_9?",
+ "D_236590500_9_9?",
+ "D_718867914_9_9?",
+ "D_812370563_9_9?",
+ "D_900939817_9_9?",
+ "D_938150507_9_9?",
+ "D_601211723_9_9?",
+ "D_861788020_9_9?",
+ "D_204425387_9_9?",
+ "D_558929585_9_9?",
+ "D_233764880_9_9?",
+ "D_905145893_9_9?",
+ "D_473190270_9_9?",
+ "D_483735587_9_9?",
+ "D_331759900_9_9?",
+ "D_513077276_9_9?",
+ "D_519974530_9_9?",
+ "D_907776050_9_9?",
+ "D_271684775_9_9?",
+ "D_252160589_9_9?",
+ "D_774774759_9_9?",
+ "D_127257956_9_9?",
+ "D_496917282_9_9?",
+ "D_908129316_9_9?",
+ "D_795003496_9_9?",
+ "D_969177591_9_9?",
+ "D_116065851_9_9?",
+ "D_278159347_9_9?",
+ "D_845219872_9_9?",
+ "CHILDSUM_9_9",
+ "D_714001034_10_10?",
+ "D_887697329_10_10?",
+ "D_473529484_10_10?",
+ "D_873968217_10_10?",
+ "D_418392907_10_10?",
+ "D_640010727_10_10?",
+ "D_236590500_10_10?",
+ "D_718867914_10_10?",
+ "D_812370563_10_10?",
+ "D_900939817_10_10?",
+ "D_938150507_10_10?",
+ "D_601211723_10_10?",
+ "D_861788020_10_10?",
+ "D_204425387_10_10?",
+ "D_558929585_10_10?",
+ "D_233764880_10_10?",
+ "D_905145893_10_10?",
+ "D_473190270_10_10?",
+ "D_483735587_10_10?",
+ "D_331759900_10_10?",
+ "D_513077276_10_10?",
+ "D_519974530_10_10?",
+ "D_907776050_10_10?",
+ "D_271684775_10_10?",
+ "D_252160589_10_10?",
+ "D_774774759_10_10?",
+ "D_127257956_10_10?",
+ "D_496917282_10_10?",
+ "D_908129316_10_10?",
+ "D_795003496_10_10?",
+ "D_969177591_10_10?",
+ "D_116065851_10_10?",
+ "D_278159347_10_10?",
+ "D_845219872_10_10?",
+ "CHILDSUM_10_10",
+ "D_714001034_11_11?",
+ "D_887697329_11_11?",
+ "D_473529484_11_11?",
+ "D_873968217_11_11?",
+ "D_418392907_11_11?",
+ "D_640010727_11_11?",
+ "D_236590500_11_11?",
+ "D_718867914_11_11?",
+ "D_812370563_11_11?",
+ "D_900939817_11_11?",
+ "D_938150507_11_11?",
+ "D_601211723_11_11?",
+ "D_861788020_11_11?",
+ "D_204425387_11_11?",
+ "D_558929585_11_11?",
+ "D_233764880_11_11?",
+ "D_905145893_11_11?",
+ "D_473190270_11_11?",
+ "D_483735587_11_11?",
+ "D_331759900_11_11?",
+ "D_513077276_11_11?",
+ "D_519974530_11_11?",
+ "D_907776050_11_11?",
+ "D_271684775_11_11?",
+ "D_252160589_11_11?",
+ "D_774774759_11_11?",
+ "D_127257956_11_11?",
+ "D_496917282_11_11?",
+ "D_908129316_11_11?",
+ "D_795003496_11_11?",
+ "D_969177591_11_11?",
+ "D_116065851_11_11?",
+ "D_278159347_11_11?",
+ "D_845219872_11_11?",
+ "CHILDSUM_11_11",
+ "D_714001034_12_12?",
+ "D_887697329_12_12?",
+ "D_473529484_12_12?",
+ "D_873968217_12_12?",
+ "D_418392907_12_12?",
+ "D_640010727_12_12?",
+ "D_236590500_12_12?",
+ "D_718867914_12_12?",
+ "D_812370563_12_12?",
+ "D_900939817_12_12?",
+ "D_938150507_12_12?",
+ "D_601211723_12_12?",
+ "D_861788020_12_12?",
+ "D_204425387_12_12?",
+ "D_558929585_12_12?",
+ "D_233764880_12_12?",
+ "D_905145893_12_12?",
+ "D_473190270_12_12?",
+ "D_483735587_12_12?",
+ "D_331759900_12_12?",
+ "D_513077276_12_12?",
+ "D_519974530_12_12?",
+ "D_907776050_12_12?",
+ "D_271684775_12_12?",
+ "D_252160589_12_12?",
+ "D_774774759_12_12?",
+ "D_127257956_12_12?",
+ "D_496917282_12_12?",
+ "D_908129316_12_12?",
+ "D_795003496_12_12?",
+ "D_969177591_12_12?",
+ "D_116065851_12_12?",
+ "D_278159347_12_12?",
+ "D_845219872_12_12?",
+ "CHILDSUM_12_12",
+ "D_714001034_13_13?",
+ "D_887697329_13_13?",
+ "D_473529484_13_13?",
+ "D_873968217_13_13?",
+ "D_418392907_13_13?",
+ "D_640010727_13_13?",
+ "D_236590500_13_13?",
+ "D_718867914_13_13?",
+ "D_812370563_13_13?",
+ "D_900939817_13_13?",
+ "D_938150507_13_13?",
+ "D_601211723_13_13?",
+ "D_861788020_13_13?",
+ "D_204425387_13_13?",
+ "D_558929585_13_13?",
+ "D_233764880_13_13?",
+ "D_905145893_13_13?",
+ "D_473190270_13_13?",
+ "D_483735587_13_13?",
+ "D_331759900_13_13?",
+ "D_513077276_13_13?",
+ "D_519974530_13_13?",
+ "D_907776050_13_13?",
+ "D_271684775_13_13?",
+ "D_252160589_13_13?",
+ "D_774774759_13_13?",
+ "D_127257956_13_13?",
+ "D_496917282_13_13?",
+ "D_908129316_13_13?",
+ "D_795003496_13_13?",
+ "D_969177591_13_13?",
+ "D_116065851_13_13?",
+ "D_278159347_13_13?",
+ "D_845219872_13_13?",
+ "CHILDSUM_13_13",
+ "D_714001034_14_14?",
+ "D_887697329_14_14?",
+ "D_473529484_14_14?",
+ "D_873968217_14_14?",
+ "D_418392907_14_14?",
+ "D_640010727_14_14?",
+ "D_236590500_14_14?",
+ "D_718867914_14_14?",
+ "D_812370563_14_14?",
+ "D_900939817_14_14?",
+ "D_938150507_14_14?",
+ "D_601211723_14_14?",
+ "D_861788020_14_14?",
+ "D_204425387_14_14?",
+ "D_558929585_14_14?",
+ "D_233764880_14_14?",
+ "D_905145893_14_14?",
+ "D_473190270_14_14?",
+ "D_483735587_14_14?",
+ "D_331759900_14_14?",
+ "D_513077276_14_14?",
+ "D_519974530_14_14?",
+ "D_907776050_14_14?",
+ "D_271684775_14_14?",
+ "D_252160589_14_14?",
+ "D_774774759_14_14?",
+ "D_127257956_14_14?",
+ "D_496917282_14_14?",
+ "D_908129316_14_14?",
+ "D_795003496_14_14?",
+ "D_969177591_14_14?",
+ "D_116065851_14_14?",
+ "D_278159347_14_14?",
+ "D_845219872_14_14?",
+ "CHILDSUM_14_14",
+ "D_714001034_15_15?",
+ "D_887697329_15_15?",
+ "D_473529484_15_15?",
+ "D_873968217_15_15?",
+ "D_418392907_15_15?",
+ "D_640010727_15_15?",
+ "D_236590500_15_15?",
+ "D_718867914_15_15?",
+ "D_812370563_15_15?",
+ "D_900939817_15_15?",
+ "D_938150507_15_15?",
+ "D_601211723_15_15?",
+ "D_861788020_15_15?",
+ "D_204425387_15_15?",
+ "D_558929585_15_15?",
+ "D_233764880_15_15?",
+ "D_905145893_15_15?",
+ "D_473190270_15_15?",
+ "D_483735587_15_15?",
+ "D_331759900_15_15?",
+ "D_513077276_15_15?",
+ "D_519974530_15_15?",
+ "D_907776050_15_15?",
+ "D_271684775_15_15?",
+ "D_252160589_15_15?",
+ "D_774774759_15_15?",
+ "D_127257956_15_15?",
+ "D_496917282_15_15?",
+ "D_908129316_15_15?",
+ "D_795003496_15_15?",
+ "D_969177591_15_15?",
+ "D_116065851_15_15?",
+ "D_278159347_15_15?",
+ "D_845219872_15_15?",
+ "CHILDSUM_15_15",
+ "D_714001034_16_16?",
+ "D_887697329_16_16?",
+ "D_473529484_16_16?",
+ "D_873968217_16_16?",
+ "D_418392907_16_16?",
+ "D_640010727_16_16?",
+ "D_236590500_16_16?",
+ "D_718867914_16_16?",
+ "D_812370563_16_16?",
+ "D_900939817_16_16?",
+ "D_938150507_16_16?",
+ "D_601211723_16_16?",
+ "D_861788020_16_16?",
+ "D_204425387_16_16?",
+ "D_558929585_16_16?",
+ "D_233764880_16_16?",
+ "D_905145893_16_16?",
+ "D_473190270_16_16?",
+ "D_483735587_16_16?",
+ "D_331759900_16_16?",
+ "D_513077276_16_16?",
+ "D_519974530_16_16?",
+ "D_907776050_16_16?",
+ "D_271684775_16_16?",
+ "D_252160589_16_16?",
+ "D_774774759_16_16?",
+ "D_127257956_16_16?",
+ "D_496917282_16_16?",
+ "D_908129316_16_16?",
+ "D_795003496_16_16?",
+ "D_969177591_16_16?",
+ "D_116065851_16_16?",
+ "D_278159347_16_16?",
+ "D_845219872_16_16?",
+ "CHILDSUM_16_16",
+ "D_714001034_17_17?",
+ "D_887697329_17_17?",
+ "D_473529484_17_17?",
+ "D_873968217_17_17?",
+ "D_418392907_17_17?",
+ "D_640010727_17_17?",
+ "D_236590500_17_17?",
+ "D_718867914_17_17?",
+ "D_812370563_17_17?",
+ "D_900939817_17_17?",
+ "D_938150507_17_17?",
+ "D_601211723_17_17?",
+ "D_861788020_17_17?",
+ "D_204425387_17_17?",
+ "D_558929585_17_17?",
+ "D_233764880_17_17?",
+ "D_905145893_17_17?",
+ "D_473190270_17_17?",
+ "D_483735587_17_17?",
+ "D_331759900_17_17?",
+ "D_513077276_17_17?",
+ "D_519974530_17_17?",
+ "D_907776050_17_17?",
+ "D_271684775_17_17?",
+ "D_252160589_17_17?",
+ "D_774774759_17_17?",
+ "D_127257956_17_17?",
+ "D_496917282_17_17?",
+ "D_908129316_17_17?",
+ "D_795003496_17_17?",
+ "D_969177591_17_17?",
+ "D_116065851_17_17?",
+ "D_278159347_17_17?",
+ "D_845219872_17_17?",
+ "CHILDSUM_17_17",
+ "D_714001034_18_18?",
+ "D_887697329_18_18?",
+ "D_473529484_18_18?",
+ "D_873968217_18_18?",
+ "D_418392907_18_18?",
+ "D_640010727_18_18?",
+ "D_236590500_18_18?",
+ "D_718867914_18_18?",
+ "D_812370563_18_18?",
+ "D_900939817_18_18?",
+ "D_938150507_18_18?",
+ "D_601211723_18_18?",
+ "D_861788020_18_18?",
+ "D_204425387_18_18?",
+ "D_558929585_18_18?",
+ "D_233764880_18_18?",
+ "D_905145893_18_18?",
+ "D_473190270_18_18?",
+ "D_483735587_18_18?",
+ "D_331759900_18_18?",
+ "D_513077276_18_18?",
+ "D_519974530_18_18?",
+ "D_907776050_18_18?",
+ "D_271684775_18_18?",
+ "D_252160589_18_18?",
+ "D_774774759_18_18?",
+ "D_127257956_18_18?",
+ "D_496917282_18_18?",
+ "D_908129316_18_18?",
+ "D_795003496_18_18?",
+ "D_969177591_18_18?",
+ "D_116065851_18_18?",
+ "D_278159347_18_18?",
+ "D_845219872_18_18?",
+ "CHILDSUM_18_18",
+ "D_714001034_19_19?",
+ "D_887697329_19_19?",
+ "D_473529484_19_19?",
+ "D_873968217_19_19?",
+ "D_418392907_19_19?",
+ "D_640010727_19_19?",
+ "D_236590500_19_19?",
+ "D_718867914_19_19?",
+ "D_812370563_19_19?",
+ "D_900939817_19_19?",
+ "D_938150507_19_19?",
+ "D_601211723_19_19?",
+ "D_861788020_19_19?",
+ "D_204425387_19_19?",
+ "D_558929585_19_19?",
+ "D_233764880_19_19?",
+ "D_905145893_19_19?",
+ "D_473190270_19_19?",
+ "D_483735587_19_19?",
+ "D_331759900_19_19?",
+ "D_513077276_19_19?",
+ "D_519974530_19_19?",
+ "D_907776050_19_19?",
+ "D_271684775_19_19?",
+ "D_252160589_19_19?",
+ "D_774774759_19_19?",
+ "D_127257956_19_19?",
+ "D_496917282_19_19?",
+ "D_908129316_19_19?",
+ "D_795003496_19_19?",
+ "D_969177591_19_19?",
+ "D_116065851_19_19?",
+ "D_278159347_19_19?",
+ "D_845219872_19_19?",
+ "CHILDSUM_19_19",
+ "D_714001034_20_20?",
+ "D_887697329_20_20?",
+ "D_473529484_20_20?",
+ "D_873968217_20_20?",
+ "D_418392907_20_20?",
+ "D_640010727_20_20?",
+ "D_236590500_20_20?",
+ "D_718867914_20_20?",
+ "D_812370563_20_20?",
+ "D_900939817_20_20?",
+ "D_938150507_20_20?",
+ "D_601211723_20_20?",
+ "D_861788020_20_20?",
+ "D_204425387_20_20?",
+ "D_558929585_20_20?",
+ "D_233764880_20_20?",
+ "D_905145893_20_20?",
+ "D_473190270_20_20?",
+ "D_483735587_20_20?",
+ "D_331759900_20_20?",
+ "D_513077276_20_20?",
+ "D_519974530_20_20?",
+ "D_907776050_20_20?",
+ "D_271684775_20_20?",
+ "D_252160589_20_20?",
+ "D_774774759_20_20?",
+ "D_127257956_20_20?",
+ "D_496917282_20_20?",
+ "D_908129316_20_20?",
+ "D_795003496_20_20?",
+ "D_969177591_20_20?",
+ "D_116065851_20_20?",
+ "D_278159347_20_20?",
+ "D_845219872_20_20?",
+ "CHILDSUM_20_20",
+ "D_714001034_21_21?",
+ "D_887697329_21_21?",
+ "D_473529484_21_21?",
+ "D_873968217_21_21?",
+ "D_418392907_21_21?",
+ "D_640010727_21_21?",
+ "D_236590500_21_21?",
+ "D_718867914_21_21?",
+ "D_812370563_21_21?",
+ "D_900939817_21_21?",
+ "D_938150507_21_21?",
+ "D_601211723_21_21?",
+ "D_861788020_21_21?",
+ "D_204425387_21_21?",
+ "D_558929585_21_21?",
+ "D_233764880_21_21?",
+ "D_905145893_21_21?",
+ "D_473190270_21_21?",
+ "D_483735587_21_21?",
+ "D_331759900_21_21?",
+ "D_513077276_21_21?",
+ "D_519974530_21_21?",
+ "D_907776050_21_21?",
+ "D_271684775_21_21?",
+ "D_252160589_21_21?",
+ "D_774774759_21_21?",
+ "D_127257956_21_21?",
+ "D_496917282_21_21?",
+ "D_908129316_21_21?",
+ "D_795003496_21_21?",
+ "D_969177591_21_21?",
+ "D_116065851_21_21?",
+ "D_278159347_21_21?",
+ "D_845219872_21_21?",
+ "CHILDSUM_21_21",
+ "D_714001034_22_22?",
+ "D_887697329_22_22?",
+ "D_473529484_22_22?",
+ "D_873968217_22_22?",
+ "D_418392907_22_22?",
+ "D_640010727_22_22?",
+ "D_236590500_22_22?",
+ "D_718867914_22_22?",
+ "D_812370563_22_22?",
+ "D_900939817_22_22?",
+ "D_938150507_22_22?",
+ "D_601211723_22_22?",
+ "D_861788020_22_22?",
+ "D_204425387_22_22?",
+ "D_558929585_22_22?",
+ "D_233764880_22_22?",
+ "D_905145893_22_22?",
+ "D_473190270_22_22?",
+ "D_483735587_22_22?",
+ "D_331759900_22_22?",
+ "D_513077276_22_22?",
+ "D_519974530_22_22?",
+ "D_907776050_22_22?",
+ "D_271684775_22_22?",
+ "D_252160589_22_22?",
+ "D_774774759_22_22?",
+ "D_127257956_22_22?",
+ "D_496917282_22_22?",
+ "D_908129316_22_22?",
+ "D_795003496_22_22?",
+ "D_969177591_22_22?",
+ "D_116065851_22_22?",
+ "D_278159347_22_22?",
+ "D_845219872_22_22?",
+ "CHILDSUM_22_22",
+ "D_714001034_23_23?",
+ "D_887697329_23_23?",
+ "D_473529484_23_23?",
+ "D_873968217_23_23?",
+ "D_418392907_23_23?",
+ "D_640010727_23_23?",
+ "D_236590500_23_23?",
+ "D_718867914_23_23?",
+ "D_812370563_23_23?",
+ "D_900939817_23_23?",
+ "D_938150507_23_23?",
+ "D_601211723_23_23?",
+ "D_861788020_23_23?",
+ "D_204425387_23_23?",
+ "D_558929585_23_23?",
+ "D_233764880_23_23?",
+ "D_905145893_23_23?",
+ "D_473190270_23_23?",
+ "D_483735587_23_23?",
+ "D_331759900_23_23?",
+ "D_513077276_23_23?",
+ "D_519974530_23_23?",
+ "D_907776050_23_23?",
+ "D_271684775_23_23?",
+ "D_252160589_23_23?",
+ "D_774774759_23_23?",
+ "D_127257956_23_23?",
+ "D_496917282_23_23?",
+ "D_908129316_23_23?",
+ "D_795003496_23_23?",
+ "D_969177591_23_23?",
+ "D_116065851_23_23?",
+ "D_278159347_23_23?",
+ "D_845219872_23_23?",
+ "CHILDSUM_23_23",
+ "D_714001034_24_24?",
+ "D_887697329_24_24?",
+ "D_473529484_24_24?",
+ "D_873968217_24_24?",
+ "D_418392907_24_24?",
+ "D_640010727_24_24?",
+ "D_236590500_24_24?",
+ "D_718867914_24_24?",
+ "D_812370563_24_24?",
+ "D_900939817_24_24?",
+ "D_938150507_24_24?",
+ "D_601211723_24_24?",
+ "D_861788020_24_24?",
+ "D_204425387_24_24?",
+ "D_558929585_24_24?",
+ "D_233764880_24_24?",
+ "D_905145893_24_24?",
+ "D_473190270_24_24?",
+ "D_483735587_24_24?",
+ "D_331759900_24_24?",
+ "D_513077276_24_24?",
+ "D_519974530_24_24?",
+ "D_907776050_24_24?",
+ "D_271684775_24_24?",
+ "D_252160589_24_24?",
+ "D_774774759_24_24?",
+ "D_127257956_24_24?",
+ "D_496917282_24_24?",
+ "D_908129316_24_24?",
+ "D_795003496_24_24?",
+ "D_969177591_24_24?",
+ "D_116065851_24_24?",
+ "D_278159347_24_24?",
+ "D_845219872_24_24?",
+ "CHILDSUM_24_24",
+ "D_714001034_25_25?",
+ "D_887697329_25_25?",
+ "D_473529484_25_25?",
+ "D_873968217_25_25?",
+ "D_418392907_25_25?",
+ "D_640010727_25_25?",
+ "D_236590500_25_25?",
+ "D_718867914_25_25?",
+ "D_812370563_25_25?",
+ "D_900939817_25_25?",
+ "D_938150507_25_25?",
+ "D_601211723_25_25?",
+ "D_861788020_25_25?",
+ "D_204425387_25_25?",
+ "D_558929585_25_25?",
+ "D_233764880_25_25?",
+ "D_905145893_25_25?",
+ "D_473190270_25_25?",
+ "D_483735587_25_25?",
+ "D_331759900_25_25?",
+ "D_513077276_25_25?",
+ "D_519974530_25_25?",
+ "D_907776050_25_25?",
+ "D_271684775_25_25?",
+ "D_252160589_25_25?",
+ "D_774774759_25_25?",
+ "D_127257956_25_25?",
+ "D_496917282_25_25?",
+ "D_908129316_25_25?",
+ "D_795003496_25_25?",
+ "D_969177591_25_25?",
+ "D_116065851_25_25?",
+ "D_278159347_25_25?",
+ "D_845219872_25_25?",
+ "CHILDSUM_25_25",
+ "END_OF_LOOP",
+ "SECTION5",
+ "D_367803647?",
+ "D_784967158?",
+ "D_613744428?",
+ "D_114529380?",
+ "D_627122657?",
+ "D_796828094?",
+ "D_761310265?",
+ "D_434316600?",
+ "D_700374192?",
+ "D_868232409?",
+ "D_739294356?",
+ "D_847533056?",
+ "D_403258164?",
+ "D_118061122?",
+ "D_518387017?",
+ "D_279637054?",
+ "D_988878019?",
+ "D_530742915?",
+ "D_233198706?",
+ "D_686172464?",
+ "D_759004335?",
+ "D_641651634?",
+ "D_431721131?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 1725,
+ "number": 2874,
+ "radio": 883,
+ "text": 126,
+ "textarea": 2
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_362270886",
+ "D_525535977",
+ "D_976808005",
+ "D_308014437",
+ "D_351657815",
+ "D_115616118",
+ "D_797626610",
+ "D_588212264",
+ "D_167101091",
+ "D_965917116",
+ "D_929240175",
+ "D_836712013",
+ "D_836890480",
+ "D_624479779",
+ "D_337278854",
+ "D_681229479",
+ "D_660358706",
+ "D_884793537",
+ "D_460062034",
+ "D_110652436",
+ "D_894259747",
+ "D_448722126",
+ "D_201449164",
+ "D_436333358",
+ "D_180961306",
+ "D_554782332",
+ "D_409622468",
+ "D_448476881",
+ "D_459764934",
+ "D_374697037",
+ "D_580911251",
+ "D_190347832",
+ "D_624777141",
+ "D_980403315",
+ "D_936039586",
+ "D_430472084",
+ "D_900541533",
+ "D_139655599",
+ "D_494032093",
+ "D_810918716",
+ "D_874046190",
+ "D_301679110",
+ "D_989016875",
+ "D_878094302",
+ "D_543728565",
+ "D_173101988",
+ "D_245861186",
+ "D_420423416",
+ "INTROSTD",
+ "D_915230886",
+ "D_530548878",
+ "D_469947273",
+ "D_685735916",
+ "D_954405492",
+ "D_103397024",
+ "D_931470797",
+ "D_922524563",
+ "D_978485677",
+ "D_523188839",
+ "D_725626004",
+ "D_846786840",
+ "D_423547108",
+ "D_852898339",
+ "D_467061940",
+ "D_619481697",
+ "DEPRESSINTRO",
+ "D_266847650",
+ "D_219956652",
+ "D_852236900",
+ "INTROSURG",
+ "D_301414575",
+ "D_367884741",
+ "D_178353079",
+ "D_550075233",
+ "D_927516732",
+ "D_552788665",
+ "D_439736294",
+ "D_860920332",
+ "D_986613440",
+ "D_517307064",
+ "D_150352141",
+ "D_122887481",
+ "D_378892977",
+ "D_224791140",
+ "D_518750011",
+ "D_946504570",
+ "D_107060069",
+ "D_527057404",
+ "D_453252072",
+ "D_216506024",
+ "D_477690298",
+ "D_176453768",
+ "D_145786416",
+ "D_287605131",
+ "D_701157499",
+ "D_428639167",
+ "D_282355641",
+ "D_539301647",
+ "D_579225381",
+ "D_891214661",
+ "D_534007917",
+ "D_752636038",
+ "D_275770221",
+ "D_882152987",
+ "D_875208305",
+ "D_795940097",
+ "D_406011084",
+ "D_338924834",
+ "D_746012894",
+ "D_936904328",
+ "D_206319592",
+ "D_283634623",
+ "D_164752169",
+ "FAMHISTINTRO",
+ "D_512167179",
+ "D_509933065",
+ "D_967093163",
+ "D_422714611",
+ "D_354326265",
+ "D_276353712",
+ "D_367374606",
+ "D_814510313",
+ "D_259397450",
+ "D_528753070",
+ "D_683981980",
+ "D_402548942",
+ "D_247198016",
+ "D_891925519",
+ "D_317093647",
+ "D_684692228",
+ "D_671347092",
+ "D_875221479",
+ "D_186170949",
+ "D_726451917",
+ "D_213545903",
+ "D_765903702",
+ "D_773974223",
+ "D_433604862",
+ "D_521369040",
+ "D_497311092",
+ "D_625249910",
+ "D_838564850",
+ "D_633764113",
+ "D_882263738",
+ "D_671308090",
+ "D_628078826",
+ "D_178774803",
+ "D_659784914",
+ "SIB",
+ "D_173240848",
+ "D_345146692",
+ "D_243443318",
+ "D_610382315",
+ "D_135519371",
+ "D_785019074",
+ "D_152885579",
+ "D_692910565",
+ "D_522464057",
+ "D_808655074",
+ "D_659627058",
+ "D_370198527",
+ "D_291855684",
+ "D_413536735",
+ "D_210325948",
+ "D_193297280",
+ "D_121502359",
+ "D_489402657",
+ "D_727260639",
+ "D_359291056",
+ "D_968841976",
+ "D_864981804",
+ "D_499434567",
+ "D_890637099_1_1",
+ "D_869387390_1_1",
+ "D_537137982_1_1",
+ "D_607773106_1_1",
+ "_CONTINUE1_1_1",
+ "D_578895128_1_1",
+ "D_384881609_1_1",
+ "D_483975329_1_1",
+ "D_570279754_1_1",
+ "D_907590067_1_1",
+ "D_860112841_1_1",
+ "D_158354252_1_1",
+ "D_654594205_1_1",
+ "D_550722030_1_1",
+ "D_142912472_1_1",
+ "D_158409298_1_1",
+ "D_529744595_1_1",
+ "D_315987564_1_1",
+ "D_852278004_1_1",
+ "D_391972881_1_1",
+ "D_259089008_1_1",
+ "D_209771602_1_1",
+ "D_682651189_1_1",
+ "D_750994269_1_1",
+ "D_700889863_1_1",
+ "D_990114799_1_1",
+ "D_195363361_1_1",
+ "D_216840563_1_1",
+ "D_514034680_1_1",
+ "D_247160067_1_1",
+ "D_312545873_1_1",
+ "D_890637099_2_2",
+ "D_869387390_2_2",
+ "D_537137982_2_2",
+ "D_607773106_2_2",
+ "_CONTINUE1_2_2",
+ "D_578895128_2_2",
+ "D_384881609_2_2",
+ "D_483975329_2_2",
+ "D_570279754_2_2",
+ "D_907590067_2_2",
+ "D_860112841_2_2",
+ "D_158354252_2_2",
+ "D_654594205_2_2",
+ "D_550722030_2_2",
+ "D_142912472_2_2",
+ "D_158409298_2_2",
+ "D_529744595_2_2",
+ "D_315987564_2_2",
+ "D_852278004_2_2",
+ "D_391972881_2_2",
+ "D_259089008_2_2",
+ "D_209771602_2_2",
+ "D_682651189_2_2",
+ "D_750994269_2_2",
+ "D_700889863_2_2",
+ "D_990114799_2_2",
+ "D_195363361_2_2",
+ "D_216840563_2_2",
+ "D_514034680_2_2",
+ "D_247160067_2_2",
+ "D_312545873_2_2",
+ "D_890637099_3_3",
+ "D_869387390_3_3",
+ "D_537137982_3_3",
+ "D_607773106_3_3",
+ "_CONTINUE1_3_3",
+ "D_578895128_3_3",
+ "D_384881609_3_3",
+ "D_483975329_3_3",
+ "D_570279754_3_3",
+ "D_907590067_3_3",
+ "D_860112841_3_3",
+ "D_158354252_3_3",
+ "D_654594205_3_3",
+ "D_550722030_3_3",
+ "D_142912472_3_3",
+ "D_158409298_3_3",
+ "D_529744595_3_3",
+ "D_315987564_3_3",
+ "D_852278004_3_3",
+ "D_391972881_3_3",
+ "D_259089008_3_3",
+ "D_209771602_3_3",
+ "D_682651189_3_3",
+ "D_750994269_3_3",
+ "D_700889863_3_3",
+ "D_990114799_3_3",
+ "D_195363361_3_3",
+ "D_216840563_3_3",
+ "D_514034680_3_3",
+ "D_247160067_3_3",
+ "D_312545873_3_3",
+ "D_890637099_4_4",
+ "D_869387390_4_4",
+ "D_537137982_4_4",
+ "D_607773106_4_4",
+ "_CONTINUE1_4_4",
+ "D_578895128_4_4",
+ "D_384881609_4_4",
+ "D_483975329_4_4",
+ "D_570279754_4_4",
+ "D_907590067_4_4",
+ "D_860112841_4_4",
+ "D_158354252_4_4",
+ "D_654594205_4_4",
+ "D_550722030_4_4",
+ "D_142912472_4_4",
+ "D_158409298_4_4",
+ "D_529744595_4_4",
+ "D_315987564_4_4",
+ "D_852278004_4_4",
+ "D_391972881_4_4",
+ "D_259089008_4_4",
+ "D_209771602_4_4",
+ "D_682651189_4_4",
+ "D_750994269_4_4",
+ "D_700889863_4_4",
+ "D_990114799_4_4",
+ "D_195363361_4_4",
+ "D_216840563_4_4",
+ "D_514034680_4_4",
+ "D_247160067_4_4",
+ "D_312545873_4_4",
+ "D_890637099_5_5",
+ "D_869387390_5_5",
+ "D_537137982_5_5",
+ "D_607773106_5_5",
+ "_CONTINUE1_5_5",
+ "D_578895128_5_5",
+ "D_384881609_5_5",
+ "D_483975329_5_5",
+ "D_570279754_5_5",
+ "D_907590067_5_5",
+ "D_860112841_5_5",
+ "D_158354252_5_5",
+ "D_654594205_5_5",
+ "D_550722030_5_5",
+ "D_142912472_5_5",
+ "D_158409298_5_5",
+ "D_529744595_5_5",
+ "D_315987564_5_5",
+ "D_852278004_5_5",
+ "D_391972881_5_5",
+ "D_259089008_5_5",
+ "D_209771602_5_5",
+ "D_682651189_5_5",
+ "D_750994269_5_5",
+ "D_700889863_5_5",
+ "D_990114799_5_5",
+ "D_195363361_5_5",
+ "D_216840563_5_5",
+ "D_514034680_5_5",
+ "D_247160067_5_5",
+ "D_312545873_5_5",
+ "D_890637099_6_6",
+ "D_869387390_6_6",
+ "D_537137982_6_6",
+ "D_607773106_6_6",
+ "_CONTINUE1_6_6",
+ "D_578895128_6_6",
+ "D_384881609_6_6",
+ "D_483975329_6_6",
+ "D_570279754_6_6",
+ "D_907590067_6_6",
+ "D_860112841_6_6",
+ "D_158354252_6_6",
+ "D_654594205_6_6",
+ "D_550722030_6_6",
+ "D_142912472_6_6",
+ "D_158409298_6_6",
+ "D_529744595_6_6",
+ "D_315987564_6_6",
+ "D_852278004_6_6",
+ "D_391972881_6_6",
+ "D_259089008_6_6",
+ "D_209771602_6_6",
+ "D_682651189_6_6",
+ "D_750994269_6_6",
+ "D_700889863_6_6",
+ "D_990114799_6_6",
+ "D_195363361_6_6",
+ "D_216840563_6_6",
+ "D_514034680_6_6",
+ "D_247160067_6_6",
+ "D_312545873_6_6",
+ "D_890637099_7_7",
+ "D_869387390_7_7",
+ "D_537137982_7_7",
+ "D_607773106_7_7",
+ "_CONTINUE1_7_7",
+ "D_578895128_7_7",
+ "D_384881609_7_7",
+ "D_483975329_7_7",
+ "D_570279754_7_7",
+ "D_907590067_7_7",
+ "D_860112841_7_7",
+ "D_158354252_7_7",
+ "D_654594205_7_7",
+ "D_550722030_7_7",
+ "D_142912472_7_7",
+ "D_158409298_7_7",
+ "D_529744595_7_7",
+ "D_315987564_7_7",
+ "D_852278004_7_7",
+ "D_391972881_7_7",
+ "D_259089008_7_7",
+ "D_209771602_7_7",
+ "D_682651189_7_7",
+ "D_750994269_7_7",
+ "D_700889863_7_7",
+ "D_990114799_7_7",
+ "D_195363361_7_7",
+ "D_216840563_7_7",
+ "D_514034680_7_7",
+ "D_247160067_7_7",
+ "D_312545873_7_7",
+ "D_890637099_8_8",
+ "D_869387390_8_8",
+ "D_537137982_8_8",
+ "D_607773106_8_8",
+ "_CONTINUE1_8_8",
+ "D_578895128_8_8",
+ "D_384881609_8_8",
+ "D_483975329_8_8",
+ "D_570279754_8_8",
+ "D_907590067_8_8",
+ "D_860112841_8_8",
+ "D_158354252_8_8",
+ "D_654594205_8_8",
+ "D_550722030_8_8",
+ "D_142912472_8_8",
+ "D_158409298_8_8",
+ "D_529744595_8_8",
+ "D_315987564_8_8",
+ "D_852278004_8_8",
+ "D_391972881_8_8",
+ "D_259089008_8_8",
+ "D_209771602_8_8",
+ "D_682651189_8_8",
+ "D_750994269_8_8",
+ "D_700889863_8_8",
+ "D_990114799_8_8",
+ "D_195363361_8_8",
+ "D_216840563_8_8",
+ "D_514034680_8_8",
+ "D_247160067_8_8",
+ "D_312545873_8_8",
+ "D_890637099_9_9",
+ "D_869387390_9_9",
+ "D_537137982_9_9",
+ "D_607773106_9_9",
+ "_CONTINUE1_9_9",
+ "D_578895128_9_9",
+ "D_384881609_9_9",
+ "D_483975329_9_9",
+ "D_570279754_9_9",
+ "D_907590067_9_9",
+ "D_860112841_9_9",
+ "D_158354252_9_9",
+ "D_654594205_9_9",
+ "D_550722030_9_9",
+ "D_142912472_9_9",
+ "D_158409298_9_9",
+ "D_529744595_9_9",
+ "D_315987564_9_9",
+ "D_852278004_9_9",
+ "D_391972881_9_9",
+ "D_259089008_9_9",
+ "D_209771602_9_9",
+ "D_682651189_9_9",
+ "D_750994269_9_9",
+ "D_700889863_9_9",
+ "D_990114799_9_9",
+ "D_195363361_9_9",
+ "D_216840563_9_9",
+ "D_514034680_9_9",
+ "D_247160067_9_9",
+ "D_312545873_9_9",
+ "D_890637099_10_10",
+ "D_869387390_10_10",
+ "D_537137982_10_10",
+ "D_607773106_10_10",
+ "_CONTINUE1_10_10",
+ "D_578895128_10_10",
+ "D_384881609_10_10",
+ "D_483975329_10_10",
+ "D_570279754_10_10",
+ "D_907590067_10_10",
+ "D_860112841_10_10",
+ "D_158354252_10_10",
+ "D_654594205_10_10",
+ "D_550722030_10_10",
+ "D_142912472_10_10",
+ "D_158409298_10_10",
+ "D_529744595_10_10",
+ "D_315987564_10_10",
+ "D_852278004_10_10",
+ "D_391972881_10_10",
+ "D_259089008_10_10",
+ "D_209771602_10_10",
+ "D_682651189_10_10",
+ "D_750994269_10_10",
+ "D_700889863_10_10",
+ "D_990114799_10_10",
+ "D_195363361_10_10",
+ "D_216840563_10_10",
+ "D_514034680_10_10",
+ "D_247160067_10_10",
+ "D_312545873_10_10",
+ "D_890637099_11_11",
+ "D_869387390_11_11",
+ "D_537137982_11_11",
+ "D_607773106_11_11",
+ "_CONTINUE1_11_11",
+ "D_578895128_11_11",
+ "D_384881609_11_11",
+ "D_483975329_11_11",
+ "D_570279754_11_11",
+ "D_907590067_11_11",
+ "D_860112841_11_11",
+ "D_158354252_11_11",
+ "D_654594205_11_11",
+ "D_550722030_11_11",
+ "D_142912472_11_11",
+ "D_158409298_11_11",
+ "D_529744595_11_11",
+ "D_315987564_11_11",
+ "D_852278004_11_11",
+ "D_391972881_11_11",
+ "D_259089008_11_11",
+ "D_209771602_11_11",
+ "D_682651189_11_11",
+ "D_750994269_11_11",
+ "D_700889863_11_11",
+ "D_990114799_11_11",
+ "D_195363361_11_11",
+ "D_216840563_11_11",
+ "D_514034680_11_11",
+ "D_247160067_11_11",
+ "D_312545873_11_11",
+ "D_890637099_12_12",
+ "D_869387390_12_12",
+ "D_537137982_12_12",
+ "D_607773106_12_12",
+ "_CONTINUE1_12_12",
+ "D_578895128_12_12",
+ "D_384881609_12_12",
+ "D_483975329_12_12",
+ "D_570279754_12_12",
+ "D_907590067_12_12",
+ "D_860112841_12_12",
+ "D_158354252_12_12",
+ "D_654594205_12_12",
+ "D_550722030_12_12",
+ "D_142912472_12_12",
+ "D_158409298_12_12",
+ "D_529744595_12_12",
+ "D_315987564_12_12",
+ "D_852278004_12_12",
+ "D_391972881_12_12",
+ "D_259089008_12_12",
+ "D_209771602_12_12",
+ "D_682651189_12_12",
+ "D_750994269_12_12",
+ "D_700889863_12_12",
+ "D_990114799_12_12",
+ "D_195363361_12_12",
+ "D_216840563_12_12",
+ "D_514034680_12_12",
+ "D_247160067_12_12",
+ "D_312545873_12_12",
+ "D_890637099_13_13",
+ "D_869387390_13_13",
+ "D_537137982_13_13",
+ "D_607773106_13_13",
+ "_CONTINUE1_13_13",
+ "D_578895128_13_13",
+ "D_384881609_13_13",
+ "D_483975329_13_13",
+ "D_570279754_13_13",
+ "D_907590067_13_13",
+ "D_860112841_13_13",
+ "D_158354252_13_13",
+ "D_654594205_13_13",
+ "D_550722030_13_13",
+ "D_142912472_13_13",
+ "D_158409298_13_13",
+ "D_529744595_13_13",
+ "D_315987564_13_13",
+ "D_852278004_13_13",
+ "D_391972881_13_13",
+ "D_259089008_13_13",
+ "D_209771602_13_13",
+ "D_682651189_13_13",
+ "D_750994269_13_13",
+ "D_700889863_13_13",
+ "D_990114799_13_13",
+ "D_195363361_13_13",
+ "D_216840563_13_13",
+ "D_514034680_13_13",
+ "D_247160067_13_13",
+ "D_312545873_13_13",
+ "D_890637099_14_14",
+ "D_869387390_14_14",
+ "D_537137982_14_14",
+ "D_607773106_14_14",
+ "_CONTINUE1_14_14",
+ "D_578895128_14_14",
+ "D_384881609_14_14",
+ "D_483975329_14_14",
+ "D_570279754_14_14",
+ "D_907590067_14_14",
+ "D_860112841_14_14",
+ "D_158354252_14_14",
+ "D_654594205_14_14",
+ "D_550722030_14_14",
+ "D_142912472_14_14",
+ "D_158409298_14_14",
+ "D_529744595_14_14",
+ "D_315987564_14_14",
+ "D_852278004_14_14",
+ "D_391972881_14_14",
+ "D_259089008_14_14",
+ "D_209771602_14_14",
+ "D_682651189_14_14",
+ "D_750994269_14_14",
+ "D_700889863_14_14",
+ "D_990114799_14_14",
+ "D_195363361_14_14",
+ "D_216840563_14_14",
+ "D_514034680_14_14",
+ "D_247160067_14_14",
+ "D_312545873_14_14",
+ "D_890637099_15_15",
+ "D_869387390_15_15",
+ "D_537137982_15_15",
+ "D_607773106_15_15",
+ "_CONTINUE1_15_15",
+ "D_578895128_15_15",
+ "D_384881609_15_15",
+ "D_483975329_15_15",
+ "D_570279754_15_15",
+ "D_907590067_15_15",
+ "D_860112841_15_15",
+ "D_158354252_15_15",
+ "D_654594205_15_15",
+ "D_550722030_15_15",
+ "D_142912472_15_15",
+ "D_158409298_15_15",
+ "D_529744595_15_15",
+ "D_315987564_15_15",
+ "D_852278004_15_15",
+ "D_391972881_15_15",
+ "D_259089008_15_15",
+ "D_209771602_15_15",
+ "D_682651189_15_15",
+ "D_750994269_15_15",
+ "D_700889863_15_15",
+ "D_990114799_15_15",
+ "D_195363361_15_15",
+ "D_216840563_15_15",
+ "D_514034680_15_15",
+ "D_247160067_15_15",
+ "D_312545873_15_15",
+ "D_890637099_16_16",
+ "D_869387390_16_16",
+ "D_537137982_16_16",
+ "D_607773106_16_16",
+ "_CONTINUE1_16_16",
+ "D_578895128_16_16",
+ "D_384881609_16_16",
+ "D_483975329_16_16",
+ "D_570279754_16_16",
+ "D_907590067_16_16",
+ "D_860112841_16_16",
+ "D_158354252_16_16",
+ "D_654594205_16_16",
+ "D_550722030_16_16",
+ "D_142912472_16_16",
+ "D_158409298_16_16",
+ "D_529744595_16_16",
+ "D_315987564_16_16",
+ "D_852278004_16_16",
+ "D_391972881_16_16",
+ "D_259089008_16_16",
+ "D_209771602_16_16",
+ "D_682651189_16_16",
+ "D_750994269_16_16",
+ "D_700889863_16_16",
+ "D_990114799_16_16",
+ "D_195363361_16_16",
+ "D_216840563_16_16",
+ "D_514034680_16_16",
+ "D_247160067_16_16",
+ "D_312545873_16_16",
+ "D_890637099_17_17",
+ "D_869387390_17_17",
+ "D_537137982_17_17",
+ "D_607773106_17_17",
+ "_CONTINUE1_17_17",
+ "D_578895128_17_17",
+ "D_384881609_17_17",
+ "D_483975329_17_17",
+ "D_570279754_17_17",
+ "D_907590067_17_17",
+ "D_860112841_17_17",
+ "D_158354252_17_17",
+ "D_654594205_17_17",
+ "D_550722030_17_17",
+ "D_142912472_17_17",
+ "D_158409298_17_17",
+ "D_529744595_17_17",
+ "D_315987564_17_17",
+ "D_852278004_17_17",
+ "D_391972881_17_17",
+ "D_259089008_17_17",
+ "D_209771602_17_17",
+ "D_682651189_17_17",
+ "D_750994269_17_17",
+ "D_700889863_17_17",
+ "D_990114799_17_17",
+ "D_195363361_17_17",
+ "D_216840563_17_17",
+ "D_514034680_17_17",
+ "D_247160067_17_17",
+ "D_312545873_17_17",
+ "D_890637099_18_18",
+ "D_869387390_18_18",
+ "D_537137982_18_18",
+ "D_607773106_18_18",
+ "_CONTINUE1_18_18",
+ "D_578895128_18_18",
+ "D_384881609_18_18",
+ "D_483975329_18_18",
+ "D_570279754_18_18",
+ "D_907590067_18_18",
+ "D_860112841_18_18",
+ "D_158354252_18_18",
+ "D_654594205_18_18",
+ "D_550722030_18_18",
+ "D_142912472_18_18",
+ "D_158409298_18_18",
+ "D_529744595_18_18",
+ "D_315987564_18_18",
+ "D_852278004_18_18",
+ "D_391972881_18_18",
+ "D_259089008_18_18",
+ "D_209771602_18_18",
+ "D_682651189_18_18",
+ "D_750994269_18_18",
+ "D_700889863_18_18",
+ "D_990114799_18_18",
+ "D_195363361_18_18",
+ "D_216840563_18_18",
+ "D_514034680_18_18",
+ "D_247160067_18_18",
+ "D_312545873_18_18",
+ "D_890637099_19_19",
+ "D_869387390_19_19",
+ "D_537137982_19_19",
+ "D_607773106_19_19",
+ "_CONTINUE1_19_19",
+ "D_578895128_19_19",
+ "D_384881609_19_19",
+ "D_483975329_19_19",
+ "D_570279754_19_19",
+ "D_907590067_19_19",
+ "D_860112841_19_19",
+ "D_158354252_19_19",
+ "D_654594205_19_19",
+ "D_550722030_19_19",
+ "D_142912472_19_19",
+ "D_158409298_19_19",
+ "D_529744595_19_19",
+ "D_315987564_19_19",
+ "D_852278004_19_19",
+ "D_391972881_19_19",
+ "D_259089008_19_19",
+ "D_209771602_19_19",
+ "D_682651189_19_19",
+ "D_750994269_19_19",
+ "D_700889863_19_19",
+ "D_990114799_19_19",
+ "D_195363361_19_19",
+ "D_216840563_19_19",
+ "D_514034680_19_19",
+ "D_247160067_19_19",
+ "D_312545873_19_19",
+ "D_890637099_20_20",
+ "D_869387390_20_20",
+ "D_537137982_20_20",
+ "D_607773106_20_20",
+ "_CONTINUE1_20_20",
+ "D_578895128_20_20",
+ "D_384881609_20_20",
+ "D_483975329_20_20",
+ "D_570279754_20_20",
+ "D_907590067_20_20",
+ "D_860112841_20_20",
+ "D_158354252_20_20",
+ "D_654594205_20_20",
+ "D_550722030_20_20",
+ "D_142912472_20_20",
+ "D_158409298_20_20",
+ "D_529744595_20_20",
+ "D_315987564_20_20",
+ "D_852278004_20_20",
+ "D_391972881_20_20",
+ "D_259089008_20_20",
+ "D_209771602_20_20",
+ "D_682651189_20_20",
+ "D_750994269_20_20",
+ "D_700889863_20_20",
+ "D_990114799_20_20",
+ "D_195363361_20_20",
+ "D_216840563_20_20",
+ "D_514034680_20_20",
+ "D_247160067_20_20",
+ "D_312545873_20_20",
+ "D_890637099_21_21",
+ "D_869387390_21_21",
+ "D_537137982_21_21",
+ "D_607773106_21_21",
+ "_CONTINUE1_21_21",
+ "D_578895128_21_21",
+ "D_384881609_21_21",
+ "D_483975329_21_21",
+ "D_570279754_21_21",
+ "D_907590067_21_21",
+ "D_860112841_21_21",
+ "D_158354252_21_21",
+ "D_654594205_21_21",
+ "D_550722030_21_21",
+ "D_142912472_21_21",
+ "D_158409298_21_21",
+ "D_529744595_21_21",
+ "D_315987564_21_21",
+ "D_852278004_21_21",
+ "D_391972881_21_21",
+ "D_259089008_21_21",
+ "D_209771602_21_21",
+ "D_682651189_21_21",
+ "D_750994269_21_21",
+ "D_700889863_21_21",
+ "D_990114799_21_21",
+ "D_195363361_21_21",
+ "D_216840563_21_21",
+ "D_514034680_21_21",
+ "D_247160067_21_21",
+ "D_312545873_21_21",
+ "D_890637099_22_22",
+ "D_869387390_22_22",
+ "D_537137982_22_22",
+ "D_607773106_22_22",
+ "_CONTINUE1_22_22",
+ "D_578895128_22_22",
+ "D_384881609_22_22",
+ "D_483975329_22_22",
+ "D_570279754_22_22",
+ "D_907590067_22_22",
+ "D_860112841_22_22",
+ "D_158354252_22_22",
+ "D_654594205_22_22",
+ "D_550722030_22_22",
+ "D_142912472_22_22",
+ "D_158409298_22_22",
+ "D_529744595_22_22",
+ "D_315987564_22_22",
+ "D_852278004_22_22",
+ "D_391972881_22_22",
+ "D_259089008_22_22",
+ "D_209771602_22_22",
+ "D_682651189_22_22",
+ "D_750994269_22_22",
+ "D_700889863_22_22",
+ "D_990114799_22_22",
+ "D_195363361_22_22",
+ "D_216840563_22_22",
+ "D_514034680_22_22",
+ "D_247160067_22_22",
+ "D_312545873_22_22",
+ "D_890637099_23_23",
+ "D_869387390_23_23",
+ "D_537137982_23_23",
+ "D_607773106_23_23",
+ "_CONTINUE1_23_23",
+ "D_578895128_23_23",
+ "D_384881609_23_23",
+ "D_483975329_23_23",
+ "D_570279754_23_23",
+ "D_907590067_23_23",
+ "D_860112841_23_23",
+ "D_158354252_23_23",
+ "D_654594205_23_23",
+ "D_550722030_23_23",
+ "D_142912472_23_23",
+ "D_158409298_23_23",
+ "D_529744595_23_23",
+ "D_315987564_23_23",
+ "D_852278004_23_23",
+ "D_391972881_23_23",
+ "D_259089008_23_23",
+ "D_209771602_23_23",
+ "D_682651189_23_23",
+ "D_750994269_23_23",
+ "D_700889863_23_23",
+ "D_990114799_23_23",
+ "D_195363361_23_23",
+ "D_216840563_23_23",
+ "D_514034680_23_23",
+ "D_247160067_23_23",
+ "D_312545873_23_23",
+ "D_890637099_24_24",
+ "D_869387390_24_24",
+ "D_537137982_24_24",
+ "D_607773106_24_24",
+ "_CONTINUE1_24_24",
+ "D_578895128_24_24",
+ "D_384881609_24_24",
+ "D_483975329_24_24",
+ "D_570279754_24_24",
+ "D_907590067_24_24",
+ "D_860112841_24_24",
+ "D_158354252_24_24",
+ "D_654594205_24_24",
+ "D_550722030_24_24",
+ "D_142912472_24_24",
+ "D_158409298_24_24",
+ "D_529744595_24_24",
+ "D_315987564_24_24",
+ "D_852278004_24_24",
+ "D_391972881_24_24",
+ "D_259089008_24_24",
+ "D_209771602_24_24",
+ "D_682651189_24_24",
+ "D_750994269_24_24",
+ "D_700889863_24_24",
+ "D_990114799_24_24",
+ "D_195363361_24_24",
+ "D_216840563_24_24",
+ "D_514034680_24_24",
+ "D_247160067_24_24",
+ "D_312545873_24_24",
+ "D_890637099_25_25",
+ "D_869387390_25_25",
+ "D_537137982_25_25",
+ "D_607773106_25_25",
+ "_CONTINUE1_25_25",
+ "D_578895128_25_25",
+ "D_384881609_25_25",
+ "D_483975329_25_25",
+ "D_570279754_25_25",
+ "D_907590067_25_25",
+ "D_860112841_25_25",
+ "D_158354252_25_25",
+ "D_654594205_25_25",
+ "D_550722030_25_25",
+ "D_142912472_25_25",
+ "D_158409298_25_25",
+ "D_529744595_25_25",
+ "D_315987564_25_25",
+ "D_852278004_25_25",
+ "D_391972881_25_25",
+ "D_259089008_25_25",
+ "D_209771602_25_25",
+ "D_682651189_25_25",
+ "D_750994269_25_25",
+ "D_700889863_25_25",
+ "D_990114799_25_25",
+ "D_195363361_25_25",
+ "D_216840563_25_25",
+ "D_514034680_25_25",
+ "D_247160067_25_25",
+ "D_312545873_25_25",
+ "D_640010727_1_1",
+ "D_236590500_1_1",
+ "D_718867914_1_1",
+ "_CONTINUE2_1_1",
+ "D_812370563_1_1",
+ "D_900939817_1_1",
+ "D_938150507_1_1",
+ "D_601211723_1_1",
+ "D_861788020_1_1",
+ "D_204425387_1_1",
+ "D_558929585_1_1",
+ "D_233764880_1_1",
+ "D_905145893_1_1",
+ "D_473190270_1_1",
+ "D_483735587_1_1",
+ "D_331759900_1_1",
+ "D_513077276_1_1",
+ "D_519974530_1_1",
+ "D_907776050_1_1",
+ "D_271684775_1_1",
+ "D_252160589_1_1",
+ "D_774774759_1_1",
+ "D_127257956_1_1",
+ "D_496917282_1_1",
+ "D_908129316_1_1",
+ "D_795003496_1_1",
+ "D_969177591_1_1",
+ "D_116065851_1_1",
+ "D_278159347_1_1",
+ "D_845219872_1_1",
+ "D_640010727_2_2",
+ "D_236590500_2_2",
+ "D_718867914_2_2",
+ "_CONTINUE2_2_2",
+ "D_812370563_2_2",
+ "D_900939817_2_2",
+ "D_938150507_2_2",
+ "D_601211723_2_2",
+ "D_861788020_2_2",
+ "D_204425387_2_2",
+ "D_558929585_2_2",
+ "D_233764880_2_2",
+ "D_905145893_2_2",
+ "D_473190270_2_2",
+ "D_483735587_2_2",
+ "D_331759900_2_2",
+ "D_513077276_2_2",
+ "D_519974530_2_2",
+ "D_907776050_2_2",
+ "D_271684775_2_2",
+ "D_252160589_2_2",
+ "D_774774759_2_2",
+ "D_127257956_2_2",
+ "D_496917282_2_2",
+ "D_908129316_2_2",
+ "D_795003496_2_2",
+ "D_969177591_2_2",
+ "D_116065851_2_2",
+ "D_278159347_2_2",
+ "D_845219872_2_2",
+ "D_640010727_3_3",
+ "D_236590500_3_3",
+ "D_718867914_3_3",
+ "_CONTINUE2_3_3",
+ "D_812370563_3_3",
+ "D_900939817_3_3",
+ "D_938150507_3_3",
+ "D_601211723_3_3",
+ "D_861788020_3_3",
+ "D_204425387_3_3",
+ "D_558929585_3_3",
+ "D_233764880_3_3",
+ "D_905145893_3_3",
+ "D_473190270_3_3",
+ "D_483735587_3_3",
+ "D_331759900_3_3",
+ "D_513077276_3_3",
+ "D_519974530_3_3",
+ "D_907776050_3_3",
+ "D_271684775_3_3",
+ "D_252160589_3_3",
+ "D_774774759_3_3",
+ "D_127257956_3_3",
+ "D_496917282_3_3",
+ "D_908129316_3_3",
+ "D_795003496_3_3",
+ "D_969177591_3_3",
+ "D_116065851_3_3",
+ "D_278159347_3_3",
+ "D_845219872_3_3",
+ "D_640010727_4_4",
+ "D_236590500_4_4",
+ "D_718867914_4_4",
+ "_CONTINUE2_4_4",
+ "D_812370563_4_4",
+ "D_900939817_4_4",
+ "D_938150507_4_4",
+ "D_601211723_4_4",
+ "D_861788020_4_4",
+ "D_204425387_4_4",
+ "D_558929585_4_4",
+ "D_233764880_4_4",
+ "D_905145893_4_4",
+ "D_473190270_4_4",
+ "D_483735587_4_4",
+ "D_331759900_4_4",
+ "D_513077276_4_4",
+ "D_519974530_4_4",
+ "D_907776050_4_4",
+ "D_271684775_4_4",
+ "D_252160589_4_4",
+ "D_774774759_4_4",
+ "D_127257956_4_4",
+ "D_496917282_4_4",
+ "D_908129316_4_4",
+ "D_795003496_4_4",
+ "D_969177591_4_4",
+ "D_116065851_4_4",
+ "D_278159347_4_4",
+ "D_845219872_4_4",
+ "D_640010727_5_5",
+ "D_236590500_5_5",
+ "D_718867914_5_5",
+ "_CONTINUE2_5_5",
+ "D_812370563_5_5",
+ "D_900939817_5_5",
+ "D_938150507_5_5",
+ "D_601211723_5_5",
+ "D_861788020_5_5",
+ "D_204425387_5_5",
+ "D_558929585_5_5",
+ "D_233764880_5_5",
+ "D_905145893_5_5",
+ "D_473190270_5_5",
+ "D_483735587_5_5",
+ "D_331759900_5_5",
+ "D_513077276_5_5",
+ "D_519974530_5_5",
+ "D_907776050_5_5",
+ "D_271684775_5_5",
+ "D_252160589_5_5",
+ "D_774774759_5_5",
+ "D_127257956_5_5",
+ "D_496917282_5_5",
+ "D_908129316_5_5",
+ "D_795003496_5_5",
+ "D_969177591_5_5",
+ "D_116065851_5_5",
+ "D_278159347_5_5",
+ "D_845219872_5_5",
+ "D_640010727_6_6",
+ "D_236590500_6_6",
+ "D_718867914_6_6",
+ "_CONTINUE2_6_6",
+ "D_812370563_6_6",
+ "D_900939817_6_6",
+ "D_938150507_6_6",
+ "D_601211723_6_6",
+ "D_861788020_6_6",
+ "D_204425387_6_6",
+ "D_558929585_6_6",
+ "D_233764880_6_6",
+ "D_905145893_6_6",
+ "D_473190270_6_6",
+ "D_483735587_6_6",
+ "D_331759900_6_6",
+ "D_513077276_6_6",
+ "D_519974530_6_6",
+ "D_907776050_6_6",
+ "D_271684775_6_6",
+ "D_252160589_6_6",
+ "D_774774759_6_6",
+ "D_127257956_6_6",
+ "D_496917282_6_6",
+ "D_908129316_6_6",
+ "D_795003496_6_6",
+ "D_969177591_6_6",
+ "D_116065851_6_6",
+ "D_278159347_6_6",
+ "D_845219872_6_6",
+ "D_640010727_7_7",
+ "D_236590500_7_7",
+ "D_718867914_7_7",
+ "_CONTINUE2_7_7",
+ "D_812370563_7_7",
+ "D_900939817_7_7",
+ "D_938150507_7_7",
+ "D_601211723_7_7",
+ "D_861788020_7_7",
+ "D_204425387_7_7",
+ "D_558929585_7_7",
+ "D_233764880_7_7",
+ "D_905145893_7_7",
+ "D_473190270_7_7",
+ "D_483735587_7_7",
+ "D_331759900_7_7",
+ "D_513077276_7_7",
+ "D_519974530_7_7",
+ "D_907776050_7_7",
+ "D_271684775_7_7",
+ "D_252160589_7_7",
+ "D_774774759_7_7",
+ "D_127257956_7_7",
+ "D_496917282_7_7",
+ "D_908129316_7_7",
+ "D_795003496_7_7",
+ "D_969177591_7_7",
+ "D_116065851_7_7",
+ "D_278159347_7_7",
+ "D_845219872_7_7",
+ "D_640010727_8_8",
+ "D_236590500_8_8",
+ "D_718867914_8_8",
+ "_CONTINUE2_8_8",
+ "D_812370563_8_8",
+ "D_900939817_8_8",
+ "D_938150507_8_8",
+ "D_601211723_8_8",
+ "D_861788020_8_8",
+ "D_204425387_8_8",
+ "D_558929585_8_8",
+ "D_233764880_8_8",
+ "D_905145893_8_8",
+ "D_473190270_8_8",
+ "D_483735587_8_8",
+ "D_331759900_8_8",
+ "D_513077276_8_8",
+ "D_519974530_8_8",
+ "D_907776050_8_8",
+ "D_271684775_8_8",
+ "D_252160589_8_8",
+ "D_774774759_8_8",
+ "D_127257956_8_8",
+ "D_496917282_8_8",
+ "D_908129316_8_8",
+ "D_795003496_8_8",
+ "D_969177591_8_8",
+ "D_116065851_8_8",
+ "D_278159347_8_8",
+ "D_845219872_8_8",
+ "D_640010727_9_9",
+ "D_236590500_9_9",
+ "D_718867914_9_9",
+ "_CONTINUE2_9_9",
+ "D_812370563_9_9",
+ "D_900939817_9_9",
+ "D_938150507_9_9",
+ "D_601211723_9_9",
+ "D_861788020_9_9",
+ "D_204425387_9_9",
+ "D_558929585_9_9",
+ "D_233764880_9_9",
+ "D_905145893_9_9",
+ "D_473190270_9_9",
+ "D_483735587_9_9",
+ "D_331759900_9_9",
+ "D_513077276_9_9",
+ "D_519974530_9_9",
+ "D_907776050_9_9",
+ "D_271684775_9_9",
+ "D_252160589_9_9",
+ "D_774774759_9_9",
+ "D_127257956_9_9",
+ "D_496917282_9_9",
+ "D_908129316_9_9",
+ "D_795003496_9_9",
+ "D_969177591_9_9",
+ "D_116065851_9_9",
+ "D_278159347_9_9",
+ "D_845219872_9_9",
+ "D_640010727_10_10",
+ "D_236590500_10_10",
+ "D_718867914_10_10",
+ "_CONTINUE2_10_10",
+ "D_812370563_10_10",
+ "D_900939817_10_10",
+ "D_938150507_10_10",
+ "D_601211723_10_10",
+ "D_861788020_10_10",
+ "D_204425387_10_10",
+ "D_558929585_10_10",
+ "D_233764880_10_10",
+ "D_905145893_10_10",
+ "D_473190270_10_10",
+ "D_483735587_10_10",
+ "D_331759900_10_10",
+ "D_513077276_10_10",
+ "D_519974530_10_10",
+ "D_907776050_10_10",
+ "D_271684775_10_10",
+ "D_252160589_10_10",
+ "D_774774759_10_10",
+ "D_127257956_10_10",
+ "D_496917282_10_10",
+ "D_908129316_10_10",
+ "D_795003496_10_10",
+ "D_969177591_10_10",
+ "D_116065851_10_10",
+ "D_278159347_10_10",
+ "D_845219872_10_10",
+ "D_640010727_11_11",
+ "D_236590500_11_11",
+ "D_718867914_11_11",
+ "_CONTINUE2_11_11",
+ "D_812370563_11_11",
+ "D_900939817_11_11",
+ "D_938150507_11_11",
+ "D_601211723_11_11",
+ "D_861788020_11_11",
+ "D_204425387_11_11",
+ "D_558929585_11_11",
+ "D_233764880_11_11",
+ "D_905145893_11_11",
+ "D_473190270_11_11",
+ "D_483735587_11_11",
+ "D_331759900_11_11",
+ "D_513077276_11_11",
+ "D_519974530_11_11",
+ "D_907776050_11_11",
+ "D_271684775_11_11",
+ "D_252160589_11_11",
+ "D_774774759_11_11",
+ "D_127257956_11_11",
+ "D_496917282_11_11",
+ "D_908129316_11_11",
+ "D_795003496_11_11",
+ "D_969177591_11_11",
+ "D_116065851_11_11",
+ "D_278159347_11_11",
+ "D_845219872_11_11",
+ "D_640010727_12_12",
+ "D_236590500_12_12",
+ "D_718867914_12_12",
+ "_CONTINUE2_12_12",
+ "D_812370563_12_12",
+ "D_900939817_12_12",
+ "D_938150507_12_12",
+ "D_601211723_12_12",
+ "D_861788020_12_12",
+ "D_204425387_12_12",
+ "D_558929585_12_12",
+ "D_233764880_12_12",
+ "D_905145893_12_12",
+ "D_473190270_12_12",
+ "D_483735587_12_12",
+ "D_331759900_12_12",
+ "D_513077276_12_12",
+ "D_519974530_12_12",
+ "D_907776050_12_12",
+ "D_271684775_12_12",
+ "D_252160589_12_12",
+ "D_774774759_12_12",
+ "D_127257956_12_12",
+ "D_496917282_12_12",
+ "D_908129316_12_12",
+ "D_795003496_12_12",
+ "D_969177591_12_12",
+ "D_116065851_12_12",
+ "D_278159347_12_12",
+ "D_845219872_12_12",
+ "D_640010727_13_13",
+ "D_236590500_13_13",
+ "D_718867914_13_13",
+ "_CONTINUE2_13_13",
+ "D_812370563_13_13",
+ "D_900939817_13_13",
+ "D_938150507_13_13",
+ "D_601211723_13_13",
+ "D_861788020_13_13",
+ "D_204425387_13_13",
+ "D_558929585_13_13",
+ "D_233764880_13_13",
+ "D_905145893_13_13",
+ "D_473190270_13_13",
+ "D_483735587_13_13",
+ "D_331759900_13_13",
+ "D_513077276_13_13",
+ "D_519974530_13_13",
+ "D_907776050_13_13",
+ "D_271684775_13_13",
+ "D_252160589_13_13",
+ "D_774774759_13_13",
+ "D_127257956_13_13",
+ "D_496917282_13_13",
+ "D_908129316_13_13",
+ "D_795003496_13_13",
+ "D_969177591_13_13",
+ "D_116065851_13_13",
+ "D_278159347_13_13",
+ "D_845219872_13_13",
+ "D_640010727_14_14",
+ "D_236590500_14_14",
+ "D_718867914_14_14",
+ "_CONTINUE2_14_14",
+ "D_812370563_14_14",
+ "D_900939817_14_14",
+ "D_938150507_14_14",
+ "D_601211723_14_14",
+ "D_861788020_14_14",
+ "D_204425387_14_14",
+ "D_558929585_14_14",
+ "D_233764880_14_14",
+ "D_905145893_14_14",
+ "D_473190270_14_14",
+ "D_483735587_14_14",
+ "D_331759900_14_14",
+ "D_513077276_14_14",
+ "D_519974530_14_14",
+ "D_907776050_14_14",
+ "D_271684775_14_14",
+ "D_252160589_14_14",
+ "D_774774759_14_14",
+ "D_127257956_14_14",
+ "D_496917282_14_14",
+ "D_908129316_14_14",
+ "D_795003496_14_14",
+ "D_969177591_14_14",
+ "D_116065851_14_14",
+ "D_278159347_14_14",
+ "D_845219872_14_14",
+ "D_640010727_15_15",
+ "D_236590500_15_15",
+ "D_718867914_15_15",
+ "_CONTINUE2_15_15",
+ "D_812370563_15_15",
+ "D_900939817_15_15",
+ "D_938150507_15_15",
+ "D_601211723_15_15",
+ "D_861788020_15_15",
+ "D_204425387_15_15",
+ "D_558929585_15_15",
+ "D_233764880_15_15",
+ "D_905145893_15_15",
+ "D_473190270_15_15",
+ "D_483735587_15_15",
+ "D_331759900_15_15",
+ "D_513077276_15_15",
+ "D_519974530_15_15",
+ "D_907776050_15_15",
+ "D_271684775_15_15",
+ "D_252160589_15_15",
+ "D_774774759_15_15",
+ "D_127257956_15_15",
+ "D_496917282_15_15",
+ "D_908129316_15_15",
+ "D_795003496_15_15",
+ "D_969177591_15_15",
+ "D_116065851_15_15",
+ "D_278159347_15_15",
+ "D_845219872_15_15",
+ "D_640010727_16_16",
+ "D_236590500_16_16",
+ "D_718867914_16_16",
+ "_CONTINUE2_16_16",
+ "D_812370563_16_16",
+ "D_900939817_16_16",
+ "D_938150507_16_16",
+ "D_601211723_16_16",
+ "D_861788020_16_16",
+ "D_204425387_16_16",
+ "D_558929585_16_16",
+ "D_233764880_16_16",
+ "D_905145893_16_16",
+ "D_473190270_16_16",
+ "D_483735587_16_16",
+ "D_331759900_16_16",
+ "D_513077276_16_16",
+ "D_519974530_16_16",
+ "D_907776050_16_16",
+ "D_271684775_16_16",
+ "D_252160589_16_16",
+ "D_774774759_16_16",
+ "D_127257956_16_16",
+ "D_496917282_16_16",
+ "D_908129316_16_16",
+ "D_795003496_16_16",
+ "D_969177591_16_16",
+ "D_116065851_16_16",
+ "D_278159347_16_16",
+ "D_845219872_16_16",
+ "D_640010727_17_17",
+ "D_236590500_17_17",
+ "D_718867914_17_17",
+ "_CONTINUE2_17_17",
+ "D_812370563_17_17",
+ "D_900939817_17_17",
+ "D_938150507_17_17",
+ "D_601211723_17_17",
+ "D_861788020_17_17",
+ "D_204425387_17_17",
+ "D_558929585_17_17",
+ "D_233764880_17_17",
+ "D_905145893_17_17",
+ "D_473190270_17_17",
+ "D_483735587_17_17",
+ "D_331759900_17_17",
+ "D_513077276_17_17",
+ "D_519974530_17_17",
+ "D_907776050_17_17",
+ "D_271684775_17_17",
+ "D_252160589_17_17",
+ "D_774774759_17_17",
+ "D_127257956_17_17",
+ "D_496917282_17_17",
+ "D_908129316_17_17",
+ "D_795003496_17_17",
+ "D_969177591_17_17",
+ "D_116065851_17_17",
+ "D_278159347_17_17",
+ "D_845219872_17_17",
+ "D_640010727_18_18",
+ "D_236590500_18_18",
+ "D_718867914_18_18",
+ "_CONTINUE2_18_18",
+ "D_812370563_18_18",
+ "D_900939817_18_18",
+ "D_938150507_18_18",
+ "D_601211723_18_18",
+ "D_861788020_18_18",
+ "D_204425387_18_18",
+ "D_558929585_18_18",
+ "D_233764880_18_18",
+ "D_905145893_18_18",
+ "D_473190270_18_18",
+ "D_483735587_18_18",
+ "D_331759900_18_18",
+ "D_513077276_18_18",
+ "D_519974530_18_18",
+ "D_907776050_18_18",
+ "D_271684775_18_18",
+ "D_252160589_18_18",
+ "D_774774759_18_18",
+ "D_127257956_18_18",
+ "D_496917282_18_18",
+ "D_908129316_18_18",
+ "D_795003496_18_18",
+ "D_969177591_18_18",
+ "D_116065851_18_18",
+ "D_278159347_18_18",
+ "D_845219872_18_18",
+ "D_640010727_19_19",
+ "D_236590500_19_19",
+ "D_718867914_19_19",
+ "_CONTINUE2_19_19",
+ "D_812370563_19_19",
+ "D_900939817_19_19",
+ "D_938150507_19_19",
+ "D_601211723_19_19",
+ "D_861788020_19_19",
+ "D_204425387_19_19",
+ "D_558929585_19_19",
+ "D_233764880_19_19",
+ "D_905145893_19_19",
+ "D_473190270_19_19",
+ "D_483735587_19_19",
+ "D_331759900_19_19",
+ "D_513077276_19_19",
+ "D_519974530_19_19",
+ "D_907776050_19_19",
+ "D_271684775_19_19",
+ "D_252160589_19_19",
+ "D_774774759_19_19",
+ "D_127257956_19_19",
+ "D_496917282_19_19",
+ "D_908129316_19_19",
+ "D_795003496_19_19",
+ "D_969177591_19_19",
+ "D_116065851_19_19",
+ "D_278159347_19_19",
+ "D_845219872_19_19",
+ "D_640010727_20_20",
+ "D_236590500_20_20",
+ "D_718867914_20_20",
+ "_CONTINUE2_20_20",
+ "D_812370563_20_20",
+ "D_900939817_20_20",
+ "D_938150507_20_20",
+ "D_601211723_20_20",
+ "D_861788020_20_20",
+ "D_204425387_20_20",
+ "D_558929585_20_20",
+ "D_233764880_20_20",
+ "D_905145893_20_20",
+ "D_473190270_20_20",
+ "D_483735587_20_20",
+ "D_331759900_20_20",
+ "D_513077276_20_20",
+ "D_519974530_20_20",
+ "D_907776050_20_20",
+ "D_271684775_20_20",
+ "D_252160589_20_20",
+ "D_774774759_20_20",
+ "D_127257956_20_20",
+ "D_496917282_20_20",
+ "D_908129316_20_20",
+ "D_795003496_20_20",
+ "D_969177591_20_20",
+ "D_116065851_20_20",
+ "D_278159347_20_20",
+ "D_845219872_20_20",
+ "D_640010727_21_21",
+ "D_236590500_21_21",
+ "D_718867914_21_21",
+ "_CONTINUE2_21_21",
+ "D_812370563_21_21",
+ "D_900939817_21_21",
+ "D_938150507_21_21",
+ "D_601211723_21_21",
+ "D_861788020_21_21",
+ "D_204425387_21_21",
+ "D_558929585_21_21",
+ "D_233764880_21_21",
+ "D_905145893_21_21",
+ "D_473190270_21_21",
+ "D_483735587_21_21",
+ "D_331759900_21_21",
+ "D_513077276_21_21",
+ "D_519974530_21_21",
+ "D_907776050_21_21",
+ "D_271684775_21_21",
+ "D_252160589_21_21",
+ "D_774774759_21_21",
+ "D_127257956_21_21",
+ "D_496917282_21_21",
+ "D_908129316_21_21",
+ "D_795003496_21_21",
+ "D_969177591_21_21",
+ "D_116065851_21_21",
+ "D_278159347_21_21",
+ "D_845219872_21_21",
+ "D_640010727_22_22",
+ "D_236590500_22_22",
+ "D_718867914_22_22",
+ "_CONTINUE2_22_22",
+ "D_812370563_22_22",
+ "D_900939817_22_22",
+ "D_938150507_22_22",
+ "D_601211723_22_22",
+ "D_861788020_22_22",
+ "D_204425387_22_22",
+ "D_558929585_22_22",
+ "D_233764880_22_22",
+ "D_905145893_22_22",
+ "D_473190270_22_22",
+ "D_483735587_22_22",
+ "D_331759900_22_22",
+ "D_513077276_22_22",
+ "D_519974530_22_22",
+ "D_907776050_22_22",
+ "D_271684775_22_22",
+ "D_252160589_22_22",
+ "D_774774759_22_22",
+ "D_127257956_22_22",
+ "D_496917282_22_22",
+ "D_908129316_22_22",
+ "D_795003496_22_22",
+ "D_969177591_22_22",
+ "D_116065851_22_22",
+ "D_278159347_22_22",
+ "D_845219872_22_22",
+ "D_640010727_23_23",
+ "D_236590500_23_23",
+ "D_718867914_23_23",
+ "_CONTINUE2_23_23",
+ "D_812370563_23_23",
+ "D_900939817_23_23",
+ "D_938150507_23_23",
+ "D_601211723_23_23",
+ "D_861788020_23_23",
+ "D_204425387_23_23",
+ "D_558929585_23_23",
+ "D_233764880_23_23",
+ "D_905145893_23_23",
+ "D_473190270_23_23",
+ "D_483735587_23_23",
+ "D_331759900_23_23",
+ "D_513077276_23_23",
+ "D_519974530_23_23",
+ "D_907776050_23_23",
+ "D_271684775_23_23",
+ "D_252160589_23_23",
+ "D_774774759_23_23",
+ "D_127257956_23_23",
+ "D_496917282_23_23",
+ "D_908129316_23_23",
+ "D_795003496_23_23",
+ "D_969177591_23_23",
+ "D_116065851_23_23",
+ "D_278159347_23_23",
+ "D_845219872_23_23",
+ "D_640010727_24_24",
+ "D_236590500_24_24",
+ "D_718867914_24_24",
+ "_CONTINUE2_24_24",
+ "D_812370563_24_24",
+ "D_900939817_24_24",
+ "D_938150507_24_24",
+ "D_601211723_24_24",
+ "D_861788020_24_24",
+ "D_204425387_24_24",
+ "D_558929585_24_24",
+ "D_233764880_24_24",
+ "D_905145893_24_24",
+ "D_473190270_24_24",
+ "D_483735587_24_24",
+ "D_331759900_24_24",
+ "D_513077276_24_24",
+ "D_519974530_24_24",
+ "D_907776050_24_24",
+ "D_271684775_24_24",
+ "D_252160589_24_24",
+ "D_774774759_24_24",
+ "D_127257956_24_24",
+ "D_496917282_24_24",
+ "D_908129316_24_24",
+ "D_795003496_24_24",
+ "D_969177591_24_24",
+ "D_116065851_24_24",
+ "D_278159347_24_24",
+ "D_845219872_24_24",
+ "D_640010727_25_25",
+ "D_236590500_25_25",
+ "D_718867914_25_25",
+ "_CONTINUE2_25_25",
+ "D_812370563_25_25",
+ "D_900939817_25_25",
+ "D_938150507_25_25",
+ "D_601211723_25_25",
+ "D_861788020_25_25",
+ "D_204425387_25_25",
+ "D_558929585_25_25",
+ "D_233764880_25_25",
+ "D_905145893_25_25",
+ "D_473190270_25_25",
+ "D_483735587_25_25",
+ "D_331759900_25_25",
+ "D_513077276_25_25",
+ "D_519974530_25_25",
+ "D_907776050_25_25",
+ "D_271684775_25_25",
+ "D_252160589_25_25",
+ "D_774774759_25_25",
+ "D_127257956_25_25",
+ "D_496917282_25_25",
+ "D_908129316_25_25",
+ "D_795003496_25_25",
+ "D_969177591_25_25",
+ "D_116065851_25_25",
+ "D_278159347_25_25",
+ "D_845219872_25_25",
+ "D_627122657",
+ "D_114529380",
+ "D_403258164",
+ "D_118061122",
+ "D_759004335"
+ ],
+ "byKind": {
+ "default": 59,
+ "no-response": 70,
+ "response": 1702
+ },
+ "byResolution": {
+ "exact": 1681,
+ "virtual-loop": 150
+ },
+ "triggerTypes": {
+ "checkbox": 1386,
+ "hidden": 129,
+ "radio": 316
+ },
+ "triggerValues": [
+ "583826374",
+ "636411467",
+ "458435048",
+ "706998638",
+ "973565052",
+ "586825330",
+ "412790539",
+ "746038746",
+ "104430631",
+ "698944820",
+ "838744325",
+ "769790179",
+ "699553344",
+ "700811160",
+ "336505365",
+ "132548932",
+ "747787163",
+ "693851465",
+ "512012656",
+ "619337095",
+ "535003378",
+ "359025642",
+ "407340134",
+ "427219143",
+ "406890409",
+ "704544306",
+ "691766591",
+ "308645635",
+ "731115613",
+ "567284980",
+ "986548173",
+ "285995100",
+ "545628561",
+ "709786039",
+ "984479578",
+ "726539692",
+ "158044532",
+ "943054522",
+ "827542780",
+ "167238688",
+ "636030086",
+ "239687183",
+ "134592375",
+ "164910211",
+ "796616844",
+ "436689514",
+ "296357383",
+ "901077233",
+ "136956596",
+ "455776698",
+ "155874194",
+ "880962432",
+ "691450854",
+ "509721537",
+ "863286658",
+ "386524148",
+ "937208760",
+ "746542057",
+ "353358909",
+ "797189152",
+ "633546100",
+ "866002271",
+ "209101810",
+ "413734739",
+ "215525943",
+ "118789503",
+ "715563991",
+ "533491176",
+ "220755749",
+ "465318416",
+ "630100221",
+ "692881833",
+ "654450030",
+ "532603425",
+ "733236542",
+ "961987554",
+ "113771607",
+ "668256654",
+ "752953170",
+ "325506683",
+ "335563082",
+ "955881350",
+ "492902023",
+ "256196714",
+ "802859122",
+ "520432394",
+ "667901971",
+ "807835037",
+ "333647143",
+ "109972911",
+ "448068764",
+ "537173119",
+ "770550588",
+ "970716952",
+ "524029283",
+ "500023550",
+ "178420302",
+ "939782495",
+ "135725957",
+ "518416174",
+ "847945207",
+ "283025574",
+ "942970912",
+ "596122041",
+ "489400183",
+ "863246236",
+ "607793249",
+ "532172400",
+ "754745617",
+ "665036297",
+ "200837530",
+ "990319383",
+ "487917585",
+ "603181162",
+ "482225200",
+ "764891959",
+ "139822395",
+ "723614811",
+ "295976386",
+ "248374037"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_384191091,583826374)",
+ "equals(D_384191091,636411467)",
+ "equals(D_384191091,458435048)",
+ "equals(D_384191091,706998638)",
+ "equals(D_384191091,973565052)",
+ "equals(D_384191091,586825330)",
+ "equals(D_384191091,412790539)",
+ "equals(D_407056417,536341288)",
+ "equals(D_167101091,698944820)",
+ "equals(D_167101091,838744325)",
+ "equals(D_167101091,769790179)",
+ "equals(D_167101091,699553344)",
+ "equals(D_167101091,700811160)",
+ "equals(D_167101091,336505365)",
+ "equals(D_167101091,132548932)",
+ "equals(D_167101091,747787163)",
+ "equals(D_167101091,693851465)",
+ "equals(D_167101091,512012656)",
+ "equals(D_167101091,619337095)",
+ "equals(D_894259747,359025642)",
+ "equals(D_894259747,407340134)",
+ "equals(D_894259747,427219143)",
+ "equals(D_180961306,406890409)",
+ "equals(D_180961306,704544306)",
+ "equals(D_180961306,691766591)",
+ "equals(D_180961306,308645635)",
+ "equals(D_180961306,731115613)",
+ "equals(D_180961306,567284980)",
+ "equals(D_180961306,986548173)",
+ "equals(D_180961306,285995100)",
+ "equals(D_180961306,545628561)",
+ "equals(D_180961306,709786039)",
+ "equals(D_180961306,984479578)",
+ "equals(D_900541533,726539692)",
+ "equals(D_900541533,158044532)",
+ "equals(D_900541533,943054522)",
+ "equals(D_874046190,827542780)",
+ "equals(D_874046190,167238688)",
+ "equals(D_543728565,636030086)",
+ "equals(D_543728565,239687183)",
+ "equals(D_543728565,134592375)",
+ "equals(D_874709643,164910211)",
+ "equals(D_874709643,796616844)",
+ "equals(D_874709643,436689514)",
+ "equals(D_874709643,296357383)",
+ "equals(D_874709643,901077233)",
+ "equals(D_874709643,136956596)",
+ "equals(D_874709643,455776698)",
+ "equals(D_874709643,155874194)",
+ "equals(D_874709643,880962432)",
+ "equals(D_874709643,691450854)",
+ "equals(D_750420077,578416151)",
+ "equals(D_750420077,434651539)",
+ "equals(D_750420077,700100953)",
+ "equals(D_725626004,509721537)",
+ "equals(D_725626004,863286658)",
+ "equals(D_725626004,386524148)",
+ "equals(D_725626004,937208760)",
+ "equals(D_725626004,746542057)",
+ "equals(D_725626004,854945381)",
+ "equals(D_750420077,108025529)",
+ "and(equals(D_750420077,582784267),equals(D_750420077,751402477))",
+ "equals(D_750420077,751402477)",
+ "equals(D_750420077,582784267)",
+ "equals(D_624179836,797189152)",
+ "equals(D_624179836,633546100)",
+ "equals(D_624179836,866002271)",
+ "equals(D_624179836,209101810)",
+ "equals(D_624179836,413734739)",
+ "equals(D_624179836,215525943)",
+ "equals(D_624179836,118789503)",
+ "equals(D_624179836,715563991)",
+ "equals(D_624179836,533491176)",
+ "equals(D_517307064,752953170)",
+ "equals(D_517307064,325506683)",
+ "equals(D_517307064,335563082)",
+ "equals(D_517307064,955881350)",
+ "equals(D_517307064,492902023)",
+ "equals(D_517307064,256196714)",
+ "equals(D_517307064,802859122)",
+ "equals(D_517307064,520432394)",
+ "equals(D_517307064,667901971)",
+ "equals(D_517307064,807835037)",
+ "exists('D_942347130')",
+ "doesNotExist('D_942347130')",
+ "equals(D_624179836,220755749)",
+ "equals(D_624179836,465318416)",
+ "equals(D_624179836,630100221)",
+ "and(equals(D_624179836,630100221),or(equals(D_378892977,109972911),equals(D_378892977,333647143)))",
+ "equals(D_624179836,692881833)",
+ "and(equals(D_624179836,692881833),or(equals(D_224791140,537173119),equals(D_224791140,448068764)))",
+ "equals(D_624179836,654450030)",
+ "equals(D_624179836,532603425)",
+ "and(equals(D_624179836,532603425),or(equals(D_946504570,970716952),equals(D_946504570,770550588)))",
+ "equals(D_624179836,733236542)",
+ "and(equals(D_624179836,733236542),or(equals(D_107060069,500023550),equals(D_107060069,524029283)))",
+ "equals(D_624179836,961987554)",
+ "greaterThanOrEqual(D_795940097,1)",
+ "greaterThan(D_795940097,1)",
+ "_value('age') >=18",
+ "_value('age') >=25",
+ "_value('age') >=35",
+ "_value('age') >=45",
+ "_value('age') >=55",
+ "greaterThanOrEqual(percentDiff(D_821387277,D_121646540),.05)",
+ "greaterThanOrEqual(percentDiff(D_121646540,D_950080618),.05)",
+ "greaterThanOrEqual(percentDiff(D_950080618,D_407167089),.05)",
+ "greaterThanOrEqual(percentDiff(D_407167089,D_503154158),.05)",
+ "_value(\"age\") >= 40",
+ "valueIsOneOf(\"D_407056417\",536341288) and _value(\"age\") >= 40",
+ "valueIsOneOf(\"D_407056417\",654207589) and _value(\"age\") >= 40",
+ "equals(D_170440011,353358909)",
+ "doesNotEqual(D_170440011,353358909)",
+ "equals(D_814510313,939782495)",
+ "equals(D_814510313,135725957)",
+ "equals(D_814510313,518416174)",
+ "equals(D_814510313,847945207)",
+ "equals(D_814510313,283025574)",
+ "equals(D_814510313,942970912)",
+ "equals(D_814510313,596122041)",
+ "equals(D_814510313,489400183)",
+ "equals(D_814510313,863246236)",
+ "equals(D_814510313,607793249)",
+ "equals(D_814510313,532172400)",
+ "equals(D_814510313,754745617)",
+ "equals(D_814510313,665036297)",
+ "equals(D_814510313,200837530)",
+ "equals(D_814510313,990319383)",
+ "equals(D_814510313,487917585)",
+ "equals(D_814510313,603181162)",
+ "equals(D_814510313,482225200)",
+ "equals(D_814510313,764891959)",
+ "equals(D_814510313,139822395)",
+ "equals(D_814510313,723614811)",
+ "valueIsOneOf(\"D_814510313\",807835037) or valueLength(\"D_677702321\")>0",
+ "valueLength('D_677702321')>0",
+ "doesNotExist('D_677702321')",
+ "equals(D_814510313,178420302)",
+ "equals(D_367374606,353358909)",
+ "doesNotEqual(D_367374606,353358909)",
+ "equals(D_173240848,939782495)",
+ "equals(D_173240848,135725957)",
+ "equals(D_173240848,518416174)",
+ "equals(D_173240848,847945207)",
+ "equals(D_173240848,942970912)",
+ "equals(D_173240848,596122041)",
+ "equals(D_173240848,489400183)",
+ "equals(D_173240848,863246236)",
+ "equals(D_173240848,607793249)",
+ "equals(D_173240848,532172400)",
+ "equals(D_173240848,754745617)",
+ "equals(D_173240848,665036297)",
+ "equals(D_173240848,200837530)",
+ "equals(D_173240848,990319383)",
+ "equals(D_173240848,487917585)",
+ "equals(D_173240848,482225200)",
+ "equals(D_173240848,295976386)",
+ "equals(D_173240848,764891959)",
+ "equals(D_173240848,248374037)",
+ "equals(D_173240848,139822395)",
+ "valueIsOneOf(\"D_173240848\",807835037) or valueLength(\"D_195093589\")>0",
+ "valueLength('D_195093589')>0",
+ "doesNotExist('D_195093589')",
+ "equals(D_173240848,178420302)",
+ "isNotDefined(D_694265648,0)",
+ "or(equals(D_694265648,0),or(isNotDefined(D_694265648,0),greaterThanOrEqual(D_694265648,2)))",
+ "1==1",
+ "1>1",
+ "equals(isNotDefined(D_406098499_1_1,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_1_1,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_1_1,false),false),greaterThan(1,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_1_1,false),false),equals(1,1)),doesNotEqual(D_694265648,1))",
+ "valueIsOneOf(\"D_992987417\",353358909,288105839,626558982)",
+ "equals(D_890637099_1_1,353358909)",
+ "doesNotEqual(D_890637099_1_1,353358909)",
+ "equals(D_578895128_1_1,939782495)",
+ "equals(D_578895128_1_1,135725957)",
+ "equals(D_578895128_1_1,518416174)",
+ "equals(D_578895128_1_1,847945207)",
+ "equals(D_578895128_1_1,283025574)",
+ "equals(D_578895128_1_1,942970912)",
+ "equals(D_578895128_1_1,596122041)",
+ "equals(D_578895128_1_1,489400183)",
+ "equals(D_578895128_1_1,863246236)",
+ "equals(D_578895128_1_1,607793249)",
+ "equals(D_578895128_1_1,532172400)",
+ "equals(D_578895128_1_1,754745617)",
+ "equals(D_578895128_1_1,665036297)",
+ "equals(D_578895128_1_1,200837530)",
+ "equals(D_578895128_1_1,990319383)",
+ "equals(D_578895128_1_1,487917585)",
+ "equals(D_578895128_1_1,603181162)",
+ "equals(D_578895128_1_1,482225200)",
+ "equals(D_578895128_1_1,295976386)",
+ "equals(D_578895128_1_1,764891959)",
+ "equals(D_578895128_1_1,248374037)",
+ "equals(D_578895128_1_1,139822395)",
+ "equals(D_578895128_1_1,723614811)",
+ "equals(D_578895128_1_1,807835037)",
+ "exists('D_957429734_1_1')",
+ "doesNotExist('D_957429734_1_1')",
+ "equals(D_578895128_1_1,178420302)",
+ "selectionCount(\"D_578895128_1_1\",true)>0 or valueLength(\"D_957429734_1_1\")>0",
+ "valueLength('D_406098499_1_1')>0",
+ "equals(D_579563781_1_1,536341288)",
+ "equals(D_579563781_1_1,654207589)",
+ "equals(D_579563781_1_1,178420302)",
+ "allExist('D_807431780_1_1','D_578895128_1_1')",
+ "equals(D_807431780_1_1,353358909)",
+ "equals(D_807431780_1_1,104430631)",
+ "valueIsOneOf('D_589588769_1_1',555374628)",
+ "valueIsOneOf('D_589588769_1_1',871673221)",
+ "valueIsOneOf('D_589588769_1_1',198654048)",
+ "valueIsOneOf('D_807431780_1_1',353358909)",
+ "equals(D_607773106_1_1,104430631)",
+ "equals(D_607773106_1_1,353358909)",
+ "equals(D_607773106_1_1,178420302)",
+ "2==1",
+ "2>1",
+ "equals(isNotDefined(D_406098499_2_2,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_2_2,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_2_2,false),false),greaterThan(2,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_2_2,false),false),equals(2,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_2_2,353358909)",
+ "doesNotEqual(D_890637099_2_2,353358909)",
+ "equals(D_578895128_2_2,939782495)",
+ "equals(D_578895128_2_2,135725957)",
+ "equals(D_578895128_2_2,518416174)",
+ "equals(D_578895128_2_2,847945207)",
+ "equals(D_578895128_2_2,283025574)",
+ "equals(D_578895128_2_2,942970912)",
+ "equals(D_578895128_2_2,596122041)",
+ "equals(D_578895128_2_2,489400183)",
+ "equals(D_578895128_2_2,863246236)",
+ "equals(D_578895128_2_2,607793249)",
+ "equals(D_578895128_2_2,532172400)",
+ "equals(D_578895128_2_2,754745617)",
+ "equals(D_578895128_2_2,665036297)",
+ "equals(D_578895128_2_2,200837530)",
+ "equals(D_578895128_2_2,990319383)",
+ "equals(D_578895128_2_2,487917585)",
+ "equals(D_578895128_2_2,603181162)",
+ "equals(D_578895128_2_2,482225200)",
+ "equals(D_578895128_2_2,295976386)",
+ "equals(D_578895128_2_2,764891959)",
+ "equals(D_578895128_2_2,248374037)",
+ "equals(D_578895128_2_2,139822395)",
+ "equals(D_578895128_2_2,723614811)",
+ "equals(D_578895128_2_2,807835037)",
+ "exists('D_957429734_2_2')",
+ "doesNotExist('D_957429734_2_2')",
+ "equals(D_578895128_2_2,178420302)",
+ "selectionCount(\"D_578895128_2_2\",true)>0 or valueLength(\"D_957429734_2_2\")>0",
+ "valueLength('D_406098499_2_2')>0",
+ "equals(D_579563781_2_2,536341288)",
+ "equals(D_579563781_2_2,654207589)",
+ "equals(D_579563781_2_2,178420302)",
+ "allExist('D_807431780_2_2','D_578895128_2_2')",
+ "equals(D_807431780_2_2,353358909)",
+ "equals(D_807431780_2_2,104430631)",
+ "valueIsOneOf('D_589588769_2_2',555374628)",
+ "valueIsOneOf('D_589588769_2_2',871673221)",
+ "valueIsOneOf('D_589588769_2_2',198654048)",
+ "valueIsOneOf('D_807431780_2_2',353358909)",
+ "equals(D_607773106_2_2,104430631)",
+ "equals(D_607773106_2_2,353358909)",
+ "equals(D_607773106_2_2,178420302)",
+ "3==1",
+ "3>1",
+ "equals(isNotDefined(D_406098499_3_3,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_3_3,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_3_3,false),false),greaterThan(3,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_3_3,false),false),equals(3,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_3_3,353358909)",
+ "doesNotEqual(D_890637099_3_3,353358909)",
+ "equals(D_578895128_3_3,939782495)",
+ "equals(D_578895128_3_3,135725957)",
+ "equals(D_578895128_3_3,518416174)",
+ "equals(D_578895128_3_3,847945207)",
+ "equals(D_578895128_3_3,283025574)",
+ "equals(D_578895128_3_3,942970912)",
+ "equals(D_578895128_3_3,596122041)",
+ "equals(D_578895128_3_3,489400183)",
+ "equals(D_578895128_3_3,863246236)",
+ "equals(D_578895128_3_3,607793249)",
+ "equals(D_578895128_3_3,532172400)",
+ "equals(D_578895128_3_3,754745617)",
+ "equals(D_578895128_3_3,665036297)",
+ "equals(D_578895128_3_3,200837530)",
+ "equals(D_578895128_3_3,990319383)",
+ "equals(D_578895128_3_3,487917585)",
+ "equals(D_578895128_3_3,603181162)",
+ "equals(D_578895128_3_3,482225200)",
+ "equals(D_578895128_3_3,295976386)",
+ "equals(D_578895128_3_3,764891959)",
+ "equals(D_578895128_3_3,248374037)",
+ "equals(D_578895128_3_3,139822395)",
+ "equals(D_578895128_3_3,723614811)",
+ "equals(D_578895128_3_3,807835037)",
+ "exists('D_957429734_3_3')",
+ "doesNotExist('D_957429734_3_3')",
+ "equals(D_578895128_3_3,178420302)",
+ "selectionCount(\"D_578895128_3_3\",true)>0 or valueLength(\"D_957429734_3_3\")>0",
+ "valueLength('D_406098499_3_3')>0",
+ "equals(D_579563781_3_3,536341288)",
+ "equals(D_579563781_3_3,654207589)",
+ "equals(D_579563781_3_3,178420302)",
+ "allExist('D_807431780_3_3','D_578895128_3_3')",
+ "equals(D_807431780_3_3,353358909)",
+ "equals(D_807431780_3_3,104430631)",
+ "valueIsOneOf('D_589588769_3_3',555374628)",
+ "valueIsOneOf('D_589588769_3_3',871673221)",
+ "valueIsOneOf('D_589588769_3_3',198654048)",
+ "valueIsOneOf('D_807431780_3_3',353358909)",
+ "equals(D_607773106_3_3,104430631)",
+ "equals(D_607773106_3_3,353358909)",
+ "equals(D_607773106_3_3,178420302)",
+ "4==1",
+ "4>1",
+ "equals(isNotDefined(D_406098499_4_4,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_4_4,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_4_4,false),false),greaterThan(4,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_4_4,false),false),equals(4,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_4_4,353358909)",
+ "doesNotEqual(D_890637099_4_4,353358909)",
+ "equals(D_578895128_4_4,939782495)",
+ "equals(D_578895128_4_4,135725957)",
+ "equals(D_578895128_4_4,518416174)",
+ "equals(D_578895128_4_4,847945207)",
+ "equals(D_578895128_4_4,283025574)",
+ "equals(D_578895128_4_4,942970912)",
+ "equals(D_578895128_4_4,596122041)",
+ "equals(D_578895128_4_4,489400183)",
+ "equals(D_578895128_4_4,863246236)",
+ "equals(D_578895128_4_4,607793249)",
+ "equals(D_578895128_4_4,532172400)",
+ "equals(D_578895128_4_4,754745617)",
+ "equals(D_578895128_4_4,665036297)",
+ "equals(D_578895128_4_4,200837530)",
+ "equals(D_578895128_4_4,990319383)",
+ "equals(D_578895128_4_4,487917585)",
+ "equals(D_578895128_4_4,603181162)",
+ "equals(D_578895128_4_4,482225200)",
+ "equals(D_578895128_4_4,295976386)",
+ "equals(D_578895128_4_4,764891959)",
+ "equals(D_578895128_4_4,248374037)",
+ "equals(D_578895128_4_4,139822395)",
+ "equals(D_578895128_4_4,723614811)",
+ "equals(D_578895128_4_4,807835037)",
+ "exists('D_957429734_4_4')",
+ "doesNotExist('D_957429734_4_4')",
+ "equals(D_578895128_4_4,178420302)",
+ "selectionCount(\"D_578895128_4_4\",true)>0 or valueLength(\"D_957429734_4_4\")>0",
+ "valueLength('D_406098499_4_4')>0",
+ "equals(D_579563781_4_4,536341288)",
+ "equals(D_579563781_4_4,654207589)",
+ "equals(D_579563781_4_4,178420302)",
+ "allExist('D_807431780_4_4','D_578895128_4_4')",
+ "equals(D_807431780_4_4,353358909)",
+ "equals(D_807431780_4_4,104430631)",
+ "valueIsOneOf('D_589588769_4_4',555374628)",
+ "valueIsOneOf('D_589588769_4_4',871673221)",
+ "valueIsOneOf('D_589588769_4_4',198654048)",
+ "valueIsOneOf('D_807431780_4_4',353358909)",
+ "equals(D_607773106_4_4,104430631)",
+ "equals(D_607773106_4_4,353358909)",
+ "equals(D_607773106_4_4,178420302)",
+ "5==1",
+ "5>1",
+ "equals(isNotDefined(D_406098499_5_5,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_5_5,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_5_5,false),false),greaterThan(5,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_5_5,false),false),equals(5,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_5_5,353358909)",
+ "doesNotEqual(D_890637099_5_5,353358909)",
+ "equals(D_578895128_5_5,939782495)",
+ "equals(D_578895128_5_5,135725957)",
+ "equals(D_578895128_5_5,518416174)",
+ "equals(D_578895128_5_5,847945207)",
+ "equals(D_578895128_5_5,283025574)",
+ "equals(D_578895128_5_5,942970912)",
+ "equals(D_578895128_5_5,596122041)",
+ "equals(D_578895128_5_5,489400183)",
+ "equals(D_578895128_5_5,863246236)",
+ "equals(D_578895128_5_5,607793249)",
+ "equals(D_578895128_5_5,532172400)",
+ "equals(D_578895128_5_5,754745617)",
+ "equals(D_578895128_5_5,665036297)",
+ "equals(D_578895128_5_5,200837530)",
+ "equals(D_578895128_5_5,990319383)",
+ "equals(D_578895128_5_5,487917585)",
+ "equals(D_578895128_5_5,603181162)",
+ "equals(D_578895128_5_5,482225200)",
+ "equals(D_578895128_5_5,295976386)",
+ "equals(D_578895128_5_5,764891959)",
+ "equals(D_578895128_5_5,248374037)",
+ "equals(D_578895128_5_5,139822395)",
+ "equals(D_578895128_5_5,723614811)",
+ "equals(D_578895128_5_5,807835037)",
+ "exists('D_957429734_5_5')",
+ "doesNotExist('D_957429734_5_5')",
+ "equals(D_578895128_5_5,178420302)",
+ "selectionCount(\"D_578895128_5_5\",true)>0 or valueLength(\"D_957429734_5_5\")>0",
+ "valueLength('D_406098499_5_5')>0",
+ "equals(D_579563781_5_5,536341288)",
+ "equals(D_579563781_5_5,654207589)",
+ "equals(D_579563781_5_5,178420302)",
+ "allExist('D_807431780_5_5','D_578895128_5_5')",
+ "equals(D_807431780_5_5,353358909)",
+ "equals(D_807431780_5_5,104430631)",
+ "valueIsOneOf('D_589588769_5_5',555374628)",
+ "valueIsOneOf('D_589588769_5_5',871673221)",
+ "valueIsOneOf('D_589588769_5_5',198654048)",
+ "valueIsOneOf('D_807431780_5_5',353358909)",
+ "equals(D_607773106_5_5,104430631)",
+ "equals(D_607773106_5_5,353358909)",
+ "equals(D_607773106_5_5,178420302)",
+ "6==1",
+ "6>1",
+ "equals(isNotDefined(D_406098499_6_6,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_6_6,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_6_6,false),false),greaterThan(6,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_6_6,false),false),equals(6,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_6_6,353358909)",
+ "doesNotEqual(D_890637099_6_6,353358909)",
+ "equals(D_578895128_6_6,939782495)",
+ "equals(D_578895128_6_6,135725957)",
+ "equals(D_578895128_6_6,518416174)",
+ "equals(D_578895128_6_6,847945207)",
+ "equals(D_578895128_6_6,283025574)",
+ "equals(D_578895128_6_6,942970912)",
+ "equals(D_578895128_6_6,596122041)",
+ "equals(D_578895128_6_6,489400183)",
+ "equals(D_578895128_6_6,863246236)",
+ "equals(D_578895128_6_6,607793249)",
+ "equals(D_578895128_6_6,532172400)",
+ "equals(D_578895128_6_6,754745617)",
+ "equals(D_578895128_6_6,665036297)",
+ "equals(D_578895128_6_6,200837530)",
+ "equals(D_578895128_6_6,990319383)",
+ "equals(D_578895128_6_6,487917585)",
+ "equals(D_578895128_6_6,603181162)",
+ "equals(D_578895128_6_6,482225200)",
+ "equals(D_578895128_6_6,295976386)",
+ "equals(D_578895128_6_6,764891959)",
+ "equals(D_578895128_6_6,248374037)",
+ "equals(D_578895128_6_6,139822395)",
+ "equals(D_578895128_6_6,723614811)",
+ "equals(D_578895128_6_6,807835037)",
+ "exists('D_957429734_6_6')",
+ "doesNotExist('D_957429734_6_6')",
+ "equals(D_578895128_6_6,178420302)",
+ "selectionCount(\"D_578895128_6_6\",true)>0 or valueLength(\"D_957429734_6_6\")>0",
+ "valueLength('D_406098499_6_6')>0",
+ "equals(D_579563781_6_6,536341288)",
+ "equals(D_579563781_6_6,654207589)",
+ "equals(D_579563781_6_6,178420302)",
+ "allExist('D_807431780_6_6','D_578895128_6_6')",
+ "equals(D_807431780_6_6,353358909)",
+ "equals(D_807431780_6_6,104430631)",
+ "valueIsOneOf('D_589588769_6_6',555374628)",
+ "valueIsOneOf('D_589588769_6_6',871673221)",
+ "valueIsOneOf('D_589588769_6_6',198654048)",
+ "valueIsOneOf('D_807431780_6_6',353358909)",
+ "equals(D_607773106_6_6,104430631)",
+ "equals(D_607773106_6_6,353358909)",
+ "equals(D_607773106_6_6,178420302)",
+ "7==1",
+ "7>1",
+ "equals(isNotDefined(D_406098499_7_7,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_7_7,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_7_7,false),false),greaterThan(7,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_7_7,false),false),equals(7,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_7_7,353358909)",
+ "doesNotEqual(D_890637099_7_7,353358909)",
+ "equals(D_578895128_7_7,939782495)",
+ "equals(D_578895128_7_7,135725957)",
+ "equals(D_578895128_7_7,518416174)",
+ "equals(D_578895128_7_7,847945207)",
+ "equals(D_578895128_7_7,283025574)",
+ "equals(D_578895128_7_7,942970912)",
+ "equals(D_578895128_7_7,596122041)",
+ "equals(D_578895128_7_7,489400183)",
+ "equals(D_578895128_7_7,863246236)",
+ "equals(D_578895128_7_7,607793249)",
+ "equals(D_578895128_7_7,532172400)",
+ "equals(D_578895128_7_7,754745617)",
+ "equals(D_578895128_7_7,665036297)",
+ "equals(D_578895128_7_7,200837530)",
+ "equals(D_578895128_7_7,990319383)",
+ "equals(D_578895128_7_7,487917585)",
+ "equals(D_578895128_7_7,603181162)",
+ "equals(D_578895128_7_7,482225200)",
+ "equals(D_578895128_7_7,295976386)",
+ "equals(D_578895128_7_7,764891959)",
+ "equals(D_578895128_7_7,248374037)",
+ "equals(D_578895128_7_7,139822395)",
+ "equals(D_578895128_7_7,723614811)",
+ "equals(D_578895128_7_7,807835037)",
+ "exists('D_957429734_7_7')",
+ "doesNotExist('D_957429734_7_7')",
+ "equals(D_578895128_7_7,178420302)",
+ "selectionCount(\"D_578895128_7_7\",true)>0 or valueLength(\"D_957429734_7_7\")>0",
+ "valueLength('D_406098499_7_7')>0",
+ "equals(D_579563781_7_7,536341288)",
+ "equals(D_579563781_7_7,654207589)",
+ "equals(D_579563781_7_7,178420302)",
+ "allExist('D_807431780_7_7','D_578895128_7_7')",
+ "equals(D_807431780_7_7,353358909)",
+ "equals(D_807431780_7_7,104430631)",
+ "valueIsOneOf('D_589588769_7_7',555374628)",
+ "valueIsOneOf('D_589588769_7_7',871673221)",
+ "valueIsOneOf('D_589588769_7_7',198654048)",
+ "valueIsOneOf('D_807431780_7_7',353358909)",
+ "equals(D_607773106_7_7,104430631)",
+ "equals(D_607773106_7_7,353358909)",
+ "equals(D_607773106_7_7,178420302)",
+ "8==1",
+ "8>1",
+ "equals(isNotDefined(D_406098499_8_8,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_8_8,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_8_8,false),false),greaterThan(8,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_8_8,false),false),equals(8,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_8_8,353358909)",
+ "doesNotEqual(D_890637099_8_8,353358909)",
+ "equals(D_578895128_8_8,939782495)",
+ "equals(D_578895128_8_8,135725957)",
+ "equals(D_578895128_8_8,518416174)",
+ "equals(D_578895128_8_8,847945207)",
+ "equals(D_578895128_8_8,283025574)",
+ "equals(D_578895128_8_8,942970912)",
+ "equals(D_578895128_8_8,596122041)",
+ "equals(D_578895128_8_8,489400183)",
+ "equals(D_578895128_8_8,863246236)",
+ "equals(D_578895128_8_8,607793249)",
+ "equals(D_578895128_8_8,532172400)",
+ "equals(D_578895128_8_8,754745617)",
+ "equals(D_578895128_8_8,665036297)",
+ "equals(D_578895128_8_8,200837530)",
+ "equals(D_578895128_8_8,990319383)",
+ "equals(D_578895128_8_8,487917585)",
+ "equals(D_578895128_8_8,603181162)",
+ "equals(D_578895128_8_8,482225200)",
+ "equals(D_578895128_8_8,295976386)",
+ "equals(D_578895128_8_8,764891959)",
+ "equals(D_578895128_8_8,248374037)",
+ "equals(D_578895128_8_8,139822395)",
+ "equals(D_578895128_8_8,723614811)",
+ "equals(D_578895128_8_8,807835037)",
+ "exists('D_957429734_8_8')",
+ "doesNotExist('D_957429734_8_8')",
+ "equals(D_578895128_8_8,178420302)",
+ "selectionCount(\"D_578895128_8_8\",true)>0 or valueLength(\"D_957429734_8_8\")>0",
+ "valueLength('D_406098499_8_8')>0",
+ "equals(D_579563781_8_8,536341288)",
+ "equals(D_579563781_8_8,654207589)",
+ "equals(D_579563781_8_8,178420302)",
+ "allExist('D_807431780_8_8','D_578895128_8_8')",
+ "equals(D_807431780_8_8,353358909)",
+ "equals(D_807431780_8_8,104430631)",
+ "valueIsOneOf('D_589588769_8_8',555374628)",
+ "valueIsOneOf('D_589588769_8_8',871673221)",
+ "valueIsOneOf('D_589588769_8_8',198654048)",
+ "valueIsOneOf('D_807431780_8_8',353358909)",
+ "equals(D_607773106_8_8,104430631)",
+ "equals(D_607773106_8_8,353358909)",
+ "equals(D_607773106_8_8,178420302)",
+ "9==1",
+ "9>1",
+ "equals(isNotDefined(D_406098499_9_9,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_9_9,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_9_9,false),false),greaterThan(9,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_9_9,false),false),equals(9,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_9_9,353358909)",
+ "doesNotEqual(D_890637099_9_9,353358909)",
+ "equals(D_578895128_9_9,939782495)",
+ "equals(D_578895128_9_9,135725957)",
+ "equals(D_578895128_9_9,518416174)",
+ "equals(D_578895128_9_9,847945207)",
+ "equals(D_578895128_9_9,283025574)",
+ "equals(D_578895128_9_9,942970912)",
+ "equals(D_578895128_9_9,596122041)",
+ "equals(D_578895128_9_9,489400183)",
+ "equals(D_578895128_9_9,863246236)",
+ "equals(D_578895128_9_9,607793249)",
+ "equals(D_578895128_9_9,532172400)",
+ "equals(D_578895128_9_9,754745617)",
+ "equals(D_578895128_9_9,665036297)",
+ "equals(D_578895128_9_9,200837530)",
+ "equals(D_578895128_9_9,990319383)",
+ "equals(D_578895128_9_9,487917585)",
+ "equals(D_578895128_9_9,603181162)",
+ "equals(D_578895128_9_9,482225200)",
+ "equals(D_578895128_9_9,295976386)",
+ "equals(D_578895128_9_9,764891959)",
+ "equals(D_578895128_9_9,248374037)",
+ "equals(D_578895128_9_9,139822395)",
+ "equals(D_578895128_9_9,723614811)",
+ "equals(D_578895128_9_9,807835037)",
+ "exists('D_957429734_9_9')",
+ "doesNotExist('D_957429734_9_9')",
+ "equals(D_578895128_9_9,178420302)",
+ "selectionCount(\"D_578895128_9_9\",true)>0 or valueLength(\"D_957429734_9_9\")>0",
+ "valueLength('D_406098499_9_9')>0",
+ "equals(D_579563781_9_9,536341288)",
+ "equals(D_579563781_9_9,654207589)",
+ "equals(D_579563781_9_9,178420302)",
+ "allExist('D_807431780_9_9','D_578895128_9_9')",
+ "equals(D_807431780_9_9,353358909)",
+ "equals(D_807431780_9_9,104430631)",
+ "valueIsOneOf('D_589588769_9_9',555374628)",
+ "valueIsOneOf('D_589588769_9_9',871673221)",
+ "valueIsOneOf('D_589588769_9_9',198654048)",
+ "valueIsOneOf('D_807431780_9_9',353358909)",
+ "equals(D_607773106_9_9,104430631)",
+ "equals(D_607773106_9_9,353358909)",
+ "equals(D_607773106_9_9,178420302)",
+ "10==1",
+ "10>1",
+ "equals(isNotDefined(D_406098499_10_10,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_10_10,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_10_10,false),false),greaterThan(10,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_10_10,false),false),equals(10,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_10_10,353358909)",
+ "doesNotEqual(D_890637099_10_10,353358909)",
+ "equals(D_578895128_10_10,939782495)",
+ "equals(D_578895128_10_10,135725957)",
+ "equals(D_578895128_10_10,518416174)",
+ "equals(D_578895128_10_10,847945207)",
+ "equals(D_578895128_10_10,283025574)",
+ "equals(D_578895128_10_10,942970912)",
+ "equals(D_578895128_10_10,596122041)",
+ "equals(D_578895128_10_10,489400183)",
+ "equals(D_578895128_10_10,863246236)",
+ "equals(D_578895128_10_10,607793249)",
+ "equals(D_578895128_10_10,532172400)",
+ "equals(D_578895128_10_10,754745617)",
+ "equals(D_578895128_10_10,665036297)",
+ "equals(D_578895128_10_10,200837530)",
+ "equals(D_578895128_10_10,990319383)",
+ "equals(D_578895128_10_10,487917585)",
+ "equals(D_578895128_10_10,603181162)",
+ "equals(D_578895128_10_10,482225200)",
+ "equals(D_578895128_10_10,295976386)",
+ "equals(D_578895128_10_10,764891959)",
+ "equals(D_578895128_10_10,248374037)",
+ "equals(D_578895128_10_10,139822395)",
+ "equals(D_578895128_10_10,723614811)",
+ "equals(D_578895128_10_10,807835037)",
+ "exists('D_957429734_10_10')",
+ "doesNotExist('D_957429734_10_10')",
+ "equals(D_578895128_10_10,178420302)",
+ "selectionCount(\"D_578895128_10_10\",true)>0 or valueLength(\"D_957429734_10_10\")>0",
+ "valueLength('D_406098499_10_10')>0",
+ "equals(D_579563781_10_10,536341288)",
+ "equals(D_579563781_10_10,654207589)",
+ "equals(D_579563781_10_10,178420302)",
+ "allExist('D_807431780_10_10','D_578895128_10_10')",
+ "equals(D_807431780_10_10,353358909)",
+ "equals(D_807431780_10_10,104430631)",
+ "valueIsOneOf('D_589588769_10_10',555374628)",
+ "valueIsOneOf('D_589588769_10_10',871673221)",
+ "valueIsOneOf('D_589588769_10_10',198654048)",
+ "valueIsOneOf('D_807431780_10_10',353358909)",
+ "equals(D_607773106_10_10,104430631)",
+ "equals(D_607773106_10_10,353358909)",
+ "equals(D_607773106_10_10,178420302)",
+ "11==1",
+ "11>1",
+ "equals(isNotDefined(D_406098499_11_11,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_11_11,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_11_11,false),false),greaterThan(11,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_11_11,false),false),equals(11,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_11_11,353358909)",
+ "doesNotEqual(D_890637099_11_11,353358909)",
+ "equals(D_578895128_11_11,939782495)",
+ "equals(D_578895128_11_11,135725957)",
+ "equals(D_578895128_11_11,518416174)",
+ "equals(D_578895128_11_11,847945207)",
+ "equals(D_578895128_11_11,283025574)",
+ "equals(D_578895128_11_11,942970912)",
+ "equals(D_578895128_11_11,596122041)",
+ "equals(D_578895128_11_11,489400183)",
+ "equals(D_578895128_11_11,863246236)",
+ "equals(D_578895128_11_11,607793249)",
+ "equals(D_578895128_11_11,532172400)",
+ "equals(D_578895128_11_11,754745617)",
+ "equals(D_578895128_11_11,665036297)",
+ "equals(D_578895128_11_11,200837530)",
+ "equals(D_578895128_11_11,990319383)",
+ "equals(D_578895128_11_11,487917585)",
+ "equals(D_578895128_11_11,603181162)",
+ "equals(D_578895128_11_11,482225200)",
+ "equals(D_578895128_11_11,295976386)",
+ "equals(D_578895128_11_11,764891959)",
+ "equals(D_578895128_11_11,248374037)",
+ "equals(D_578895128_11_11,139822395)",
+ "equals(D_578895128_11_11,723614811)",
+ "equals(D_578895128_11_11,807835037)",
+ "exists('D_957429734_11_11')",
+ "doesNotExist('D_957429734_11_11')",
+ "equals(D_578895128_11_11,178420302)",
+ "selectionCount(\"D_578895128_11_11\",true)>0 or valueLength(\"D_957429734_11_11\")>0",
+ "valueLength('D_406098499_11_11')>0",
+ "equals(D_579563781_11_11,536341288)",
+ "equals(D_579563781_11_11,654207589)",
+ "equals(D_579563781_11_11,178420302)",
+ "allExist('D_807431780_11_11','D_578895128_11_11')",
+ "equals(D_807431780_11_11,353358909)",
+ "equals(D_807431780_11_11,104430631)",
+ "valueIsOneOf('D_589588769_11_11',555374628)",
+ "valueIsOneOf('D_589588769_11_11',871673221)",
+ "valueIsOneOf('D_589588769_11_11',198654048)",
+ "valueIsOneOf('D_807431780_11_11',353358909)",
+ "equals(D_607773106_11_11,104430631)",
+ "equals(D_607773106_11_11,353358909)",
+ "equals(D_607773106_11_11,178420302)",
+ "12==1",
+ "12>1",
+ "equals(isNotDefined(D_406098499_12_12,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_12_12,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_12_12,false),false),greaterThan(12,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_12_12,false),false),equals(12,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_12_12,353358909)",
+ "doesNotEqual(D_890637099_12_12,353358909)",
+ "equals(D_578895128_12_12,939782495)",
+ "equals(D_578895128_12_12,135725957)",
+ "equals(D_578895128_12_12,518416174)",
+ "equals(D_578895128_12_12,847945207)",
+ "equals(D_578895128_12_12,283025574)",
+ "equals(D_578895128_12_12,942970912)",
+ "equals(D_578895128_12_12,596122041)",
+ "equals(D_578895128_12_12,489400183)",
+ "equals(D_578895128_12_12,863246236)",
+ "equals(D_578895128_12_12,607793249)",
+ "equals(D_578895128_12_12,532172400)",
+ "equals(D_578895128_12_12,754745617)",
+ "equals(D_578895128_12_12,665036297)",
+ "equals(D_578895128_12_12,200837530)",
+ "equals(D_578895128_12_12,990319383)",
+ "equals(D_578895128_12_12,487917585)",
+ "equals(D_578895128_12_12,603181162)",
+ "equals(D_578895128_12_12,482225200)",
+ "equals(D_578895128_12_12,295976386)",
+ "equals(D_578895128_12_12,764891959)",
+ "equals(D_578895128_12_12,248374037)",
+ "equals(D_578895128_12_12,139822395)",
+ "equals(D_578895128_12_12,723614811)",
+ "equals(D_578895128_12_12,807835037)",
+ "exists('D_957429734_12_12')",
+ "doesNotExist('D_957429734_12_12')",
+ "equals(D_578895128_12_12,178420302)",
+ "selectionCount(\"D_578895128_12_12\",true)>0 or valueLength(\"D_957429734_12_12\")>0",
+ "valueLength('D_406098499_12_12')>0",
+ "equals(D_579563781_12_12,536341288)",
+ "equals(D_579563781_12_12,654207589)",
+ "equals(D_579563781_12_12,178420302)",
+ "allExist('D_807431780_12_12','D_578895128_12_12')",
+ "equals(D_807431780_12_12,353358909)",
+ "equals(D_807431780_12_12,104430631)",
+ "valueIsOneOf('D_589588769_12_12',555374628)",
+ "valueIsOneOf('D_589588769_12_12',871673221)",
+ "valueIsOneOf('D_589588769_12_12',198654048)",
+ "valueIsOneOf('D_807431780_12_12',353358909)",
+ "equals(D_607773106_12_12,104430631)",
+ "equals(D_607773106_12_12,353358909)",
+ "equals(D_607773106_12_12,178420302)",
+ "13==1",
+ "13>1",
+ "equals(isNotDefined(D_406098499_13_13,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_13_13,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_13_13,false),false),greaterThan(13,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_13_13,false),false),equals(13,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_13_13,353358909)",
+ "doesNotEqual(D_890637099_13_13,353358909)",
+ "equals(D_578895128_13_13,939782495)",
+ "equals(D_578895128_13_13,135725957)",
+ "equals(D_578895128_13_13,518416174)",
+ "equals(D_578895128_13_13,847945207)",
+ "equals(D_578895128_13_13,283025574)",
+ "equals(D_578895128_13_13,942970912)",
+ "equals(D_578895128_13_13,596122041)",
+ "equals(D_578895128_13_13,489400183)",
+ "equals(D_578895128_13_13,863246236)",
+ "equals(D_578895128_13_13,607793249)",
+ "equals(D_578895128_13_13,532172400)",
+ "equals(D_578895128_13_13,754745617)",
+ "equals(D_578895128_13_13,665036297)",
+ "equals(D_578895128_13_13,200837530)",
+ "equals(D_578895128_13_13,990319383)",
+ "equals(D_578895128_13_13,487917585)",
+ "equals(D_578895128_13_13,603181162)",
+ "equals(D_578895128_13_13,482225200)",
+ "equals(D_578895128_13_13,295976386)",
+ "equals(D_578895128_13_13,764891959)",
+ "equals(D_578895128_13_13,248374037)",
+ "equals(D_578895128_13_13,139822395)",
+ "equals(D_578895128_13_13,723614811)",
+ "equals(D_578895128_13_13,807835037)",
+ "exists('D_957429734_13_13')",
+ "doesNotExist('D_957429734_13_13')",
+ "equals(D_578895128_13_13,178420302)",
+ "selectionCount(\"D_578895128_13_13\",true)>0 or valueLength(\"D_957429734_13_13\")>0",
+ "valueLength('D_406098499_13_13')>0",
+ "equals(D_579563781_13_13,536341288)",
+ "equals(D_579563781_13_13,654207589)",
+ "equals(D_579563781_13_13,178420302)",
+ "allExist('D_807431780_13_13','D_578895128_13_13')",
+ "equals(D_807431780_13_13,353358909)",
+ "equals(D_807431780_13_13,104430631)",
+ "valueIsOneOf('D_589588769_13_13',555374628)",
+ "valueIsOneOf('D_589588769_13_13',871673221)",
+ "valueIsOneOf('D_589588769_13_13',198654048)",
+ "valueIsOneOf('D_807431780_13_13',353358909)",
+ "equals(D_607773106_13_13,104430631)",
+ "equals(D_607773106_13_13,353358909)",
+ "equals(D_607773106_13_13,178420302)",
+ "14==1",
+ "14>1",
+ "equals(isNotDefined(D_406098499_14_14,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_14_14,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_14_14,false),false),greaterThan(14,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_14_14,false),false),equals(14,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_14_14,353358909)",
+ "doesNotEqual(D_890637099_14_14,353358909)",
+ "equals(D_578895128_14_14,939782495)",
+ "equals(D_578895128_14_14,135725957)",
+ "equals(D_578895128_14_14,518416174)",
+ "equals(D_578895128_14_14,847945207)",
+ "equals(D_578895128_14_14,283025574)",
+ "equals(D_578895128_14_14,942970912)",
+ "equals(D_578895128_14_14,596122041)",
+ "equals(D_578895128_14_14,489400183)",
+ "equals(D_578895128_14_14,863246236)",
+ "equals(D_578895128_14_14,607793249)",
+ "equals(D_578895128_14_14,532172400)",
+ "equals(D_578895128_14_14,754745617)",
+ "equals(D_578895128_14_14,665036297)",
+ "equals(D_578895128_14_14,200837530)",
+ "equals(D_578895128_14_14,990319383)",
+ "equals(D_578895128_14_14,487917585)",
+ "equals(D_578895128_14_14,603181162)",
+ "equals(D_578895128_14_14,482225200)",
+ "equals(D_578895128_14_14,295976386)",
+ "equals(D_578895128_14_14,764891959)",
+ "equals(D_578895128_14_14,248374037)",
+ "equals(D_578895128_14_14,139822395)",
+ "equals(D_578895128_14_14,723614811)",
+ "equals(D_578895128_14_14,807835037)",
+ "exists('D_957429734_14_14')",
+ "doesNotExist('D_957429734_14_14')",
+ "equals(D_578895128_14_14,178420302)",
+ "selectionCount(\"D_578895128_14_14\",true)>0 or valueLength(\"D_957429734_14_14\")>0",
+ "valueLength('D_406098499_14_14')>0",
+ "equals(D_579563781_14_14,536341288)",
+ "equals(D_579563781_14_14,654207589)",
+ "equals(D_579563781_14_14,178420302)",
+ "allExist('D_807431780_14_14','D_578895128_14_14')",
+ "equals(D_807431780_14_14,353358909)",
+ "equals(D_807431780_14_14,104430631)",
+ "valueIsOneOf('D_589588769_14_14',555374628)",
+ "valueIsOneOf('D_589588769_14_14',871673221)",
+ "valueIsOneOf('D_589588769_14_14',198654048)",
+ "valueIsOneOf('D_807431780_14_14',353358909)",
+ "equals(D_607773106_14_14,104430631)",
+ "equals(D_607773106_14_14,353358909)",
+ "equals(D_607773106_14_14,178420302)",
+ "15==1",
+ "15>1",
+ "equals(isNotDefined(D_406098499_15_15,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_15_15,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_15_15,false),false),greaterThan(15,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_15_15,false),false),equals(15,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_15_15,353358909)",
+ "doesNotEqual(D_890637099_15_15,353358909)",
+ "equals(D_578895128_15_15,939782495)",
+ "equals(D_578895128_15_15,135725957)",
+ "equals(D_578895128_15_15,518416174)",
+ "equals(D_578895128_15_15,847945207)",
+ "equals(D_578895128_15_15,283025574)",
+ "equals(D_578895128_15_15,942970912)",
+ "equals(D_578895128_15_15,596122041)",
+ "equals(D_578895128_15_15,489400183)",
+ "equals(D_578895128_15_15,863246236)",
+ "equals(D_578895128_15_15,607793249)",
+ "equals(D_578895128_15_15,532172400)",
+ "equals(D_578895128_15_15,754745617)",
+ "equals(D_578895128_15_15,665036297)",
+ "equals(D_578895128_15_15,200837530)",
+ "equals(D_578895128_15_15,990319383)",
+ "equals(D_578895128_15_15,487917585)",
+ "equals(D_578895128_15_15,603181162)",
+ "equals(D_578895128_15_15,482225200)",
+ "equals(D_578895128_15_15,295976386)",
+ "equals(D_578895128_15_15,764891959)",
+ "equals(D_578895128_15_15,248374037)",
+ "equals(D_578895128_15_15,139822395)",
+ "equals(D_578895128_15_15,723614811)",
+ "equals(D_578895128_15_15,807835037)",
+ "exists('D_957429734_15_15')",
+ "doesNotExist('D_957429734_15_15')",
+ "equals(D_578895128_15_15,178420302)",
+ "selectionCount(\"D_578895128_15_15\",true)>0 or valueLength(\"D_957429734_15_15\")>0",
+ "valueLength('D_406098499_15_15')>0",
+ "equals(D_579563781_15_15,536341288)",
+ "equals(D_579563781_15_15,654207589)",
+ "equals(D_579563781_15_15,178420302)",
+ "allExist('D_807431780_15_15','D_578895128_15_15')",
+ "equals(D_807431780_15_15,353358909)",
+ "equals(D_807431780_15_15,104430631)",
+ "valueIsOneOf('D_589588769_15_15',555374628)",
+ "valueIsOneOf('D_589588769_15_15',871673221)",
+ "valueIsOneOf('D_589588769_15_15',198654048)",
+ "valueIsOneOf('D_807431780_15_15',353358909)",
+ "equals(D_607773106_15_15,104430631)",
+ "equals(D_607773106_15_15,353358909)",
+ "equals(D_607773106_15_15,178420302)",
+ "16==1",
+ "16>1",
+ "equals(isNotDefined(D_406098499_16_16,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_16_16,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_16_16,false),false),greaterThan(16,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_16_16,false),false),equals(16,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_16_16,353358909)",
+ "doesNotEqual(D_890637099_16_16,353358909)",
+ "equals(D_578895128_16_16,939782495)",
+ "equals(D_578895128_16_16,135725957)",
+ "equals(D_578895128_16_16,518416174)",
+ "equals(D_578895128_16_16,847945207)",
+ "equals(D_578895128_16_16,283025574)",
+ "equals(D_578895128_16_16,942970912)",
+ "equals(D_578895128_16_16,596122041)",
+ "equals(D_578895128_16_16,489400183)",
+ "equals(D_578895128_16_16,863246236)",
+ "equals(D_578895128_16_16,607793249)",
+ "equals(D_578895128_16_16,532172400)",
+ "equals(D_578895128_16_16,754745617)",
+ "equals(D_578895128_16_16,665036297)",
+ "equals(D_578895128_16_16,200837530)",
+ "equals(D_578895128_16_16,990319383)",
+ "equals(D_578895128_16_16,487917585)",
+ "equals(D_578895128_16_16,603181162)",
+ "equals(D_578895128_16_16,482225200)",
+ "equals(D_578895128_16_16,295976386)",
+ "equals(D_578895128_16_16,764891959)",
+ "equals(D_578895128_16_16,248374037)",
+ "equals(D_578895128_16_16,139822395)",
+ "equals(D_578895128_16_16,723614811)",
+ "equals(D_578895128_16_16,807835037)",
+ "exists('D_957429734_16_16')",
+ "doesNotExist('D_957429734_16_16')",
+ "equals(D_578895128_16_16,178420302)",
+ "selectionCount(\"D_578895128_16_16\",true)>0 or valueLength(\"D_957429734_16_16\")>0",
+ "valueLength('D_406098499_16_16')>0",
+ "equals(D_579563781_16_16,536341288)",
+ "equals(D_579563781_16_16,654207589)",
+ "equals(D_579563781_16_16,178420302)",
+ "allExist('D_807431780_16_16','D_578895128_16_16')",
+ "equals(D_807431780_16_16,353358909)",
+ "equals(D_807431780_16_16,104430631)",
+ "valueIsOneOf('D_589588769_16_16',555374628)",
+ "valueIsOneOf('D_589588769_16_16',871673221)",
+ "valueIsOneOf('D_589588769_16_16',198654048)",
+ "valueIsOneOf('D_807431780_16_16',353358909)",
+ "equals(D_607773106_16_16,104430631)",
+ "equals(D_607773106_16_16,353358909)",
+ "equals(D_607773106_16_16,178420302)",
+ "17==1",
+ "17>1",
+ "equals(isNotDefined(D_406098499_17_17,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_17_17,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_17_17,false),false),greaterThan(17,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_17_17,false),false),equals(17,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_17_17,353358909)",
+ "doesNotEqual(D_890637099_17_17,353358909)",
+ "equals(D_578895128_17_17,939782495)",
+ "equals(D_578895128_17_17,135725957)",
+ "equals(D_578895128_17_17,518416174)",
+ "equals(D_578895128_17_17,847945207)",
+ "equals(D_578895128_17_17,283025574)",
+ "equals(D_578895128_17_17,942970912)",
+ "equals(D_578895128_17_17,596122041)",
+ "equals(D_578895128_17_17,489400183)",
+ "equals(D_578895128_17_17,863246236)",
+ "equals(D_578895128_17_17,607793249)",
+ "equals(D_578895128_17_17,532172400)",
+ "equals(D_578895128_17_17,754745617)",
+ "equals(D_578895128_17_17,665036297)",
+ "equals(D_578895128_17_17,200837530)",
+ "equals(D_578895128_17_17,990319383)",
+ "equals(D_578895128_17_17,487917585)",
+ "equals(D_578895128_17_17,603181162)",
+ "equals(D_578895128_17_17,482225200)",
+ "equals(D_578895128_17_17,295976386)",
+ "equals(D_578895128_17_17,764891959)",
+ "equals(D_578895128_17_17,248374037)",
+ "equals(D_578895128_17_17,139822395)",
+ "equals(D_578895128_17_17,723614811)",
+ "equals(D_578895128_17_17,807835037)",
+ "exists('D_957429734_17_17')",
+ "doesNotExist('D_957429734_17_17')",
+ "equals(D_578895128_17_17,178420302)",
+ "selectionCount(\"D_578895128_17_17\",true)>0 or valueLength(\"D_957429734_17_17\")>0",
+ "valueLength('D_406098499_17_17')>0",
+ "equals(D_579563781_17_17,536341288)",
+ "equals(D_579563781_17_17,654207589)",
+ "equals(D_579563781_17_17,178420302)",
+ "allExist('D_807431780_17_17','D_578895128_17_17')",
+ "equals(D_807431780_17_17,353358909)",
+ "equals(D_807431780_17_17,104430631)",
+ "valueIsOneOf('D_589588769_17_17',555374628)",
+ "valueIsOneOf('D_589588769_17_17',871673221)",
+ "valueIsOneOf('D_589588769_17_17',198654048)",
+ "valueIsOneOf('D_807431780_17_17',353358909)",
+ "equals(D_607773106_17_17,104430631)",
+ "equals(D_607773106_17_17,353358909)",
+ "equals(D_607773106_17_17,178420302)",
+ "18==1",
+ "18>1",
+ "equals(isNotDefined(D_406098499_18_18,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_18_18,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_18_18,false),false),greaterThan(18,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_18_18,false),false),equals(18,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_18_18,353358909)",
+ "doesNotEqual(D_890637099_18_18,353358909)",
+ "equals(D_578895128_18_18,939782495)",
+ "equals(D_578895128_18_18,135725957)",
+ "equals(D_578895128_18_18,518416174)",
+ "equals(D_578895128_18_18,847945207)",
+ "equals(D_578895128_18_18,283025574)",
+ "equals(D_578895128_18_18,942970912)",
+ "equals(D_578895128_18_18,596122041)",
+ "equals(D_578895128_18_18,489400183)",
+ "equals(D_578895128_18_18,863246236)",
+ "equals(D_578895128_18_18,607793249)",
+ "equals(D_578895128_18_18,532172400)",
+ "equals(D_578895128_18_18,754745617)",
+ "equals(D_578895128_18_18,665036297)",
+ "equals(D_578895128_18_18,200837530)",
+ "equals(D_578895128_18_18,990319383)",
+ "equals(D_578895128_18_18,487917585)",
+ "equals(D_578895128_18_18,603181162)",
+ "equals(D_578895128_18_18,482225200)",
+ "equals(D_578895128_18_18,295976386)",
+ "equals(D_578895128_18_18,764891959)",
+ "equals(D_578895128_18_18,248374037)",
+ "equals(D_578895128_18_18,139822395)",
+ "equals(D_578895128_18_18,723614811)",
+ "equals(D_578895128_18_18,807835037)",
+ "exists('D_957429734_18_18')",
+ "doesNotExist('D_957429734_18_18')",
+ "equals(D_578895128_18_18,178420302)",
+ "selectionCount(\"D_578895128_18_18\",true)>0 or valueLength(\"D_957429734_18_18\")>0",
+ "valueLength('D_406098499_18_18')>0",
+ "equals(D_579563781_18_18,536341288)",
+ "equals(D_579563781_18_18,654207589)",
+ "equals(D_579563781_18_18,178420302)",
+ "allExist('D_807431780_18_18','D_578895128_18_18')",
+ "equals(D_807431780_18_18,353358909)",
+ "equals(D_807431780_18_18,104430631)",
+ "valueIsOneOf('D_589588769_18_18',555374628)",
+ "valueIsOneOf('D_589588769_18_18',871673221)",
+ "valueIsOneOf('D_589588769_18_18',198654048)",
+ "valueIsOneOf('D_807431780_18_18',353358909)",
+ "equals(D_607773106_18_18,104430631)",
+ "equals(D_607773106_18_18,353358909)",
+ "equals(D_607773106_18_18,178420302)",
+ "19==1",
+ "19>1",
+ "equals(isNotDefined(D_406098499_19_19,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_19_19,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_19_19,false),false),greaterThan(19,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_19_19,false),false),equals(19,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_19_19,353358909)",
+ "doesNotEqual(D_890637099_19_19,353358909)",
+ "equals(D_578895128_19_19,939782495)",
+ "equals(D_578895128_19_19,135725957)",
+ "equals(D_578895128_19_19,518416174)",
+ "equals(D_578895128_19_19,847945207)",
+ "equals(D_578895128_19_19,283025574)",
+ "equals(D_578895128_19_19,942970912)",
+ "equals(D_578895128_19_19,596122041)",
+ "equals(D_578895128_19_19,489400183)",
+ "equals(D_578895128_19_19,863246236)",
+ "equals(D_578895128_19_19,607793249)",
+ "equals(D_578895128_19_19,532172400)",
+ "equals(D_578895128_19_19,754745617)",
+ "equals(D_578895128_19_19,665036297)",
+ "equals(D_578895128_19_19,200837530)",
+ "equals(D_578895128_19_19,990319383)",
+ "equals(D_578895128_19_19,487917585)",
+ "equals(D_578895128_19_19,603181162)",
+ "equals(D_578895128_19_19,482225200)",
+ "equals(D_578895128_19_19,295976386)",
+ "equals(D_578895128_19_19,764891959)",
+ "equals(D_578895128_19_19,248374037)",
+ "equals(D_578895128_19_19,139822395)",
+ "equals(D_578895128_19_19,723614811)",
+ "equals(D_578895128_19_19,807835037)",
+ "exists('D_957429734_19_19')",
+ "doesNotExist('D_957429734_19_19')",
+ "equals(D_578895128_19_19,178420302)",
+ "selectionCount(\"D_578895128_19_19\",true)>0 or valueLength(\"D_957429734_19_19\")>0",
+ "valueLength('D_406098499_19_19')>0",
+ "equals(D_579563781_19_19,536341288)",
+ "equals(D_579563781_19_19,654207589)",
+ "equals(D_579563781_19_19,178420302)",
+ "allExist('D_807431780_19_19','D_578895128_19_19')",
+ "equals(D_807431780_19_19,353358909)",
+ "equals(D_807431780_19_19,104430631)",
+ "valueIsOneOf('D_589588769_19_19',555374628)",
+ "valueIsOneOf('D_589588769_19_19',871673221)",
+ "valueIsOneOf('D_589588769_19_19',198654048)",
+ "valueIsOneOf('D_807431780_19_19',353358909)",
+ "equals(D_607773106_19_19,104430631)",
+ "equals(D_607773106_19_19,353358909)",
+ "equals(D_607773106_19_19,178420302)",
+ "20==1",
+ "20>1",
+ "equals(isNotDefined(D_406098499_20_20,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_20_20,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_20_20,false),false),greaterThan(20,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_20_20,false),false),equals(20,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_20_20,353358909)",
+ "doesNotEqual(D_890637099_20_20,353358909)",
+ "equals(D_578895128_20_20,939782495)",
+ "equals(D_578895128_20_20,135725957)",
+ "equals(D_578895128_20_20,518416174)",
+ "equals(D_578895128_20_20,847945207)",
+ "equals(D_578895128_20_20,283025574)",
+ "equals(D_578895128_20_20,942970912)",
+ "equals(D_578895128_20_20,596122041)",
+ "equals(D_578895128_20_20,489400183)",
+ "equals(D_578895128_20_20,863246236)",
+ "equals(D_578895128_20_20,607793249)",
+ "equals(D_578895128_20_20,532172400)",
+ "equals(D_578895128_20_20,754745617)",
+ "equals(D_578895128_20_20,665036297)",
+ "equals(D_578895128_20_20,200837530)",
+ "equals(D_578895128_20_20,990319383)",
+ "equals(D_578895128_20_20,487917585)",
+ "equals(D_578895128_20_20,603181162)",
+ "equals(D_578895128_20_20,482225200)",
+ "equals(D_578895128_20_20,295976386)",
+ "equals(D_578895128_20_20,764891959)",
+ "equals(D_578895128_20_20,248374037)",
+ "equals(D_578895128_20_20,139822395)",
+ "equals(D_578895128_20_20,723614811)",
+ "equals(D_578895128_20_20,807835037)",
+ "exists('D_957429734_20_20')",
+ "doesNotExist('D_957429734_20_20')",
+ "equals(D_578895128_20_20,178420302)",
+ "selectionCount(\"D_578895128_20_20\",true)>0 or valueLength(\"D_957429734_20_20\")>0",
+ "valueLength('D_406098499_20_20')>0",
+ "equals(D_579563781_20_20,536341288)",
+ "equals(D_579563781_20_20,654207589)",
+ "equals(D_579563781_20_20,178420302)",
+ "allExist('D_807431780_20_20','D_578895128_20_20')",
+ "equals(D_807431780_20_20,353358909)",
+ "equals(D_807431780_20_20,104430631)",
+ "valueIsOneOf('D_589588769_20_20',555374628)",
+ "valueIsOneOf('D_589588769_20_20',871673221)",
+ "valueIsOneOf('D_589588769_20_20',198654048)",
+ "valueIsOneOf('D_807431780_20_20',353358909)",
+ "equals(D_607773106_20_20,104430631)",
+ "equals(D_607773106_20_20,353358909)",
+ "equals(D_607773106_20_20,178420302)",
+ "21==1",
+ "21>1",
+ "equals(isNotDefined(D_406098499_21_21,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_21_21,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_21_21,false),false),greaterThan(21,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_21_21,false),false),equals(21,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_21_21,353358909)",
+ "doesNotEqual(D_890637099_21_21,353358909)",
+ "equals(D_578895128_21_21,939782495)",
+ "equals(D_578895128_21_21,135725957)",
+ "equals(D_578895128_21_21,518416174)",
+ "equals(D_578895128_21_21,847945207)",
+ "equals(D_578895128_21_21,283025574)",
+ "equals(D_578895128_21_21,942970912)",
+ "equals(D_578895128_21_21,596122041)",
+ "equals(D_578895128_21_21,489400183)",
+ "equals(D_578895128_21_21,863246236)",
+ "equals(D_578895128_21_21,607793249)",
+ "equals(D_578895128_21_21,532172400)",
+ "equals(D_578895128_21_21,754745617)",
+ "equals(D_578895128_21_21,665036297)",
+ "equals(D_578895128_21_21,200837530)",
+ "equals(D_578895128_21_21,990319383)",
+ "equals(D_578895128_21_21,487917585)",
+ "equals(D_578895128_21_21,603181162)",
+ "equals(D_578895128_21_21,482225200)",
+ "equals(D_578895128_21_21,295976386)",
+ "equals(D_578895128_21_21,764891959)",
+ "equals(D_578895128_21_21,248374037)",
+ "equals(D_578895128_21_21,139822395)",
+ "equals(D_578895128_21_21,723614811)",
+ "equals(D_578895128_21_21,807835037)",
+ "exists('D_957429734_21_21')",
+ "doesNotExist('D_957429734_21_21')",
+ "equals(D_578895128_21_21,178420302)",
+ "selectionCount(\"D_578895128_21_21\",true)>0 or valueLength(\"D_957429734_21_21\")>0",
+ "valueLength('D_406098499_21_21')>0",
+ "equals(D_579563781_21_21,536341288)",
+ "equals(D_579563781_21_21,654207589)",
+ "equals(D_579563781_21_21,178420302)",
+ "allExist('D_807431780_21_21','D_578895128_21_21')",
+ "equals(D_807431780_21_21,353358909)",
+ "equals(D_807431780_21_21,104430631)",
+ "valueIsOneOf('D_589588769_21_21',555374628)",
+ "valueIsOneOf('D_589588769_21_21',871673221)",
+ "valueIsOneOf('D_589588769_21_21',198654048)",
+ "valueIsOneOf('D_807431780_21_21',353358909)",
+ "equals(D_607773106_21_21,104430631)",
+ "equals(D_607773106_21_21,353358909)",
+ "equals(D_607773106_21_21,178420302)",
+ "22==1",
+ "22>1",
+ "equals(isNotDefined(D_406098499_22_22,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_22_22,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_22_22,false),false),greaterThan(22,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_22_22,false),false),equals(22,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_22_22,353358909)",
+ "doesNotEqual(D_890637099_22_22,353358909)",
+ "equals(D_578895128_22_22,939782495)",
+ "equals(D_578895128_22_22,135725957)",
+ "equals(D_578895128_22_22,518416174)",
+ "equals(D_578895128_22_22,847945207)",
+ "equals(D_578895128_22_22,283025574)",
+ "equals(D_578895128_22_22,942970912)",
+ "equals(D_578895128_22_22,596122041)",
+ "equals(D_578895128_22_22,489400183)",
+ "equals(D_578895128_22_22,863246236)",
+ "equals(D_578895128_22_22,607793249)",
+ "equals(D_578895128_22_22,532172400)",
+ "equals(D_578895128_22_22,754745617)",
+ "equals(D_578895128_22_22,665036297)",
+ "equals(D_578895128_22_22,200837530)",
+ "equals(D_578895128_22_22,990319383)",
+ "equals(D_578895128_22_22,487917585)",
+ "equals(D_578895128_22_22,603181162)",
+ "equals(D_578895128_22_22,482225200)",
+ "equals(D_578895128_22_22,295976386)",
+ "equals(D_578895128_22_22,764891959)",
+ "equals(D_578895128_22_22,248374037)",
+ "equals(D_578895128_22_22,139822395)",
+ "equals(D_578895128_22_22,723614811)",
+ "equals(D_578895128_22_22,807835037)",
+ "exists('D_957429734_22_22')",
+ "doesNotExist('D_957429734_22_22')",
+ "equals(D_578895128_22_22,178420302)",
+ "selectionCount(\"D_578895128_22_22\",true)>0 or valueLength(\"D_957429734_22_22\")>0",
+ "valueLength('D_406098499_22_22')>0",
+ "equals(D_579563781_22_22,536341288)",
+ "equals(D_579563781_22_22,654207589)",
+ "equals(D_579563781_22_22,178420302)",
+ "allExist('D_807431780_22_22','D_578895128_22_22')",
+ "equals(D_807431780_22_22,353358909)",
+ "equals(D_807431780_22_22,104430631)",
+ "valueIsOneOf('D_589588769_22_22',555374628)",
+ "valueIsOneOf('D_589588769_22_22',871673221)",
+ "valueIsOneOf('D_589588769_22_22',198654048)",
+ "valueIsOneOf('D_807431780_22_22',353358909)",
+ "equals(D_607773106_22_22,104430631)",
+ "equals(D_607773106_22_22,353358909)",
+ "equals(D_607773106_22_22,178420302)",
+ "23==1",
+ "23>1",
+ "equals(isNotDefined(D_406098499_23_23,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_23_23,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_23_23,false),false),greaterThan(23,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_23_23,false),false),equals(23,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_23_23,353358909)",
+ "doesNotEqual(D_890637099_23_23,353358909)",
+ "equals(D_578895128_23_23,939782495)",
+ "equals(D_578895128_23_23,135725957)",
+ "equals(D_578895128_23_23,518416174)",
+ "equals(D_578895128_23_23,847945207)",
+ "equals(D_578895128_23_23,283025574)",
+ "equals(D_578895128_23_23,942970912)",
+ "equals(D_578895128_23_23,596122041)",
+ "equals(D_578895128_23_23,489400183)",
+ "equals(D_578895128_23_23,863246236)",
+ "equals(D_578895128_23_23,607793249)",
+ "equals(D_578895128_23_23,532172400)",
+ "equals(D_578895128_23_23,754745617)",
+ "equals(D_578895128_23_23,665036297)",
+ "equals(D_578895128_23_23,200837530)",
+ "equals(D_578895128_23_23,990319383)",
+ "equals(D_578895128_23_23,487917585)",
+ "equals(D_578895128_23_23,603181162)",
+ "equals(D_578895128_23_23,482225200)",
+ "equals(D_578895128_23_23,295976386)",
+ "equals(D_578895128_23_23,764891959)",
+ "equals(D_578895128_23_23,248374037)",
+ "equals(D_578895128_23_23,139822395)",
+ "equals(D_578895128_23_23,723614811)",
+ "equals(D_578895128_23_23,807835037)",
+ "exists('D_957429734_23_23')",
+ "doesNotExist('D_957429734_23_23')",
+ "equals(D_578895128_23_23,178420302)",
+ "selectionCount(\"D_578895128_23_23\",true)>0 or valueLength(\"D_957429734_23_23\")>0",
+ "valueLength('D_406098499_23_23')>0",
+ "equals(D_579563781_23_23,536341288)",
+ "equals(D_579563781_23_23,654207589)",
+ "equals(D_579563781_23_23,178420302)",
+ "allExist('D_807431780_23_23','D_578895128_23_23')",
+ "equals(D_807431780_23_23,353358909)",
+ "equals(D_807431780_23_23,104430631)",
+ "valueIsOneOf('D_589588769_23_23',555374628)",
+ "valueIsOneOf('D_589588769_23_23',871673221)",
+ "valueIsOneOf('D_589588769_23_23',198654048)",
+ "valueIsOneOf('D_807431780_23_23',353358909)",
+ "equals(D_607773106_23_23,104430631)",
+ "equals(D_607773106_23_23,353358909)",
+ "equals(D_607773106_23_23,178420302)",
+ "24==1",
+ "24>1",
+ "equals(isNotDefined(D_406098499_24_24,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_24_24,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_24_24,false),false),greaterThan(24,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_24_24,false),false),equals(24,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_24_24,353358909)",
+ "doesNotEqual(D_890637099_24_24,353358909)",
+ "equals(D_578895128_24_24,939782495)",
+ "equals(D_578895128_24_24,135725957)",
+ "equals(D_578895128_24_24,518416174)",
+ "equals(D_578895128_24_24,847945207)",
+ "equals(D_578895128_24_24,283025574)",
+ "equals(D_578895128_24_24,942970912)",
+ "equals(D_578895128_24_24,596122041)",
+ "equals(D_578895128_24_24,489400183)",
+ "equals(D_578895128_24_24,863246236)",
+ "equals(D_578895128_24_24,607793249)",
+ "equals(D_578895128_24_24,532172400)",
+ "equals(D_578895128_24_24,754745617)",
+ "equals(D_578895128_24_24,665036297)",
+ "equals(D_578895128_24_24,200837530)",
+ "equals(D_578895128_24_24,990319383)",
+ "equals(D_578895128_24_24,487917585)",
+ "equals(D_578895128_24_24,603181162)",
+ "equals(D_578895128_24_24,482225200)",
+ "equals(D_578895128_24_24,295976386)",
+ "equals(D_578895128_24_24,764891959)",
+ "equals(D_578895128_24_24,248374037)",
+ "equals(D_578895128_24_24,139822395)",
+ "equals(D_578895128_24_24,723614811)",
+ "equals(D_578895128_24_24,807835037)",
+ "exists('D_957429734_24_24')",
+ "doesNotExist('D_957429734_24_24')",
+ "equals(D_578895128_24_24,178420302)",
+ "selectionCount(\"D_578895128_24_24\",true)>0 or valueLength(\"D_957429734_24_24\")>0",
+ "valueLength('D_406098499_24_24')>0",
+ "equals(D_579563781_24_24,536341288)",
+ "equals(D_579563781_24_24,654207589)",
+ "equals(D_579563781_24_24,178420302)",
+ "allExist('D_807431780_24_24','D_578895128_24_24')",
+ "equals(D_807431780_24_24,353358909)",
+ "equals(D_807431780_24_24,104430631)",
+ "valueIsOneOf('D_589588769_24_24',555374628)",
+ "valueIsOneOf('D_589588769_24_24',871673221)",
+ "valueIsOneOf('D_589588769_24_24',198654048)",
+ "valueIsOneOf('D_807431780_24_24',353358909)",
+ "equals(D_607773106_24_24,104430631)",
+ "equals(D_607773106_24_24,353358909)",
+ "equals(D_607773106_24_24,178420302)",
+ "25==1",
+ "25>1",
+ "equals(isNotDefined(D_406098499_25_25,false),false)",
+ "doesNotEqual(isNotDefined(D_406098499_25_25,false),false)",
+ "and(doesNotEqual(isNotDefined(D_406098499_25_25,false),false),greaterThan(25,1))",
+ "and(and(doesNotEqual(isNotDefined(D_406098499_25_25,false),false),equals(25,1)),doesNotEqual(D_694265648,1))",
+ "equals(D_890637099_25_25,353358909)",
+ "doesNotEqual(D_890637099_25_25,353358909)",
+ "equals(D_578895128_25_25,939782495)",
+ "equals(D_578895128_25_25,135725957)",
+ "equals(D_578895128_25_25,518416174)",
+ "equals(D_578895128_25_25,847945207)",
+ "equals(D_578895128_25_25,283025574)",
+ "equals(D_578895128_25_25,942970912)",
+ "equals(D_578895128_25_25,596122041)",
+ "equals(D_578895128_25_25,489400183)",
+ "equals(D_578895128_25_25,863246236)",
+ "equals(D_578895128_25_25,607793249)",
+ "equals(D_578895128_25_25,532172400)",
+ "equals(D_578895128_25_25,754745617)",
+ "equals(D_578895128_25_25,665036297)",
+ "equals(D_578895128_25_25,200837530)",
+ "equals(D_578895128_25_25,990319383)",
+ "equals(D_578895128_25_25,487917585)",
+ "equals(D_578895128_25_25,603181162)",
+ "equals(D_578895128_25_25,482225200)",
+ "equals(D_578895128_25_25,295976386)",
+ "equals(D_578895128_25_25,764891959)",
+ "equals(D_578895128_25_25,248374037)",
+ "equals(D_578895128_25_25,139822395)",
+ "equals(D_578895128_25_25,723614811)",
+ "equals(D_578895128_25_25,807835037)",
+ "exists('D_957429734_25_25')",
+ "doesNotExist('D_957429734_25_25')",
+ "equals(D_578895128_25_25,178420302)",
+ "selectionCount(\"D_578895128_25_25\",true)>0 or valueLength(\"D_957429734_25_25\")>0",
+ "valueLength('D_406098499_25_25')>0",
+ "equals(D_579563781_25_25,536341288)",
+ "equals(D_579563781_25_25,654207589)",
+ "equals(D_579563781_25_25,178420302)",
+ "allExist('D_807431780_25_25','D_578895128_25_25')",
+ "equals(D_807431780_25_25,353358909)",
+ "equals(D_807431780_25_25,104430631)",
+ "valueIsOneOf('D_589588769_25_25',555374628)",
+ "valueIsOneOf('D_589588769_25_25',871673221)",
+ "valueIsOneOf('D_589588769_25_25',198654048)",
+ "valueIsOneOf('D_807431780_25_25',353358909)",
+ "equals(D_607773106_25_25,104430631)",
+ "equals(D_607773106_25_25,353358909)",
+ "equals(D_607773106_25_25,178420302)",
+ "isNotDefined(D_446999144,0)",
+ "or(equals(D_446999144,0),or(isNotDefined(D_446999144,0),greaterThanOrEqual(D_446999144,2)))",
+ "equals(isNotDefined(D_714001034_1_1,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_1_1,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_1_1,false),false),greaterThan(1,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_1_1,false),false),equals(1,1)),doesNotEqual(D_446999144,1))",
+ "greaterThan(D_446999144,1)",
+ "equals(D_418392907_1_1,353358909)",
+ "doesNotEqual(D_418392907_1_1,353358909)",
+ "equals(D_812370563_1_1,939782495)",
+ "equals(D_812370563_1_1,135725957)",
+ "equals(D_812370563_1_1,518416174)",
+ "equals(D_812370563_1_1,847945207)",
+ "equals(D_812370563_1_1,283025574)",
+ "equals(D_812370563_1_1,942970912)",
+ "equals(D_812370563_1_1,596122041)",
+ "equals(D_812370563_1_1,489400183)",
+ "equals(D_812370563_1_1,863246236)",
+ "equals(D_812370563_1_1,607793249)",
+ "equals(D_812370563_1_1,532172400)",
+ "equals(D_812370563_1_1,754745617)",
+ "equals(D_812370563_1_1,665036297)",
+ "equals(D_812370563_1_1,200837530)",
+ "equals(D_812370563_1_1,990319383)",
+ "equals(D_812370563_1_1,487917585)",
+ "equals(D_812370563_1_1,603181162)",
+ "equals(D_812370563_1_1,482225200)",
+ "equals(D_812370563_1_1,295976386)",
+ "equals(D_812370563_1_1,764891959)",
+ "equals(D_812370563_1_1,248374037)",
+ "equals(D_812370563_1_1,139822395)",
+ "equals(D_812370563_1_1,723614811)",
+ "equals(D_812370563_1_1,807835037)",
+ "valueLength('D_933110091_1_1')>0",
+ "doesNotExist('D_933110091_1_1')",
+ "equals(D_812370563_1_1,178420302)",
+ "selectionCount(\"D_812370563_1_1\",true)>0 or valueLength(\"D_933110091_1_1\")>0",
+ "valueLength('D_714001034_1_1')>0",
+ "equals(D_887697329_1_1,536341288)",
+ "equals(D_887697329_1_1,654207589)",
+ "equals(D_887697329_1_1,178420302)",
+ "allExist('D_473529484_1_1','D_812370563_1_1')",
+ "equals(D_473529484_1_1,353358909)",
+ "equals(D_473529484_1_1,104430631)",
+ "equals(D_873968217_1_1,709650750)",
+ "equals(D_873968217_1_1,810290359)",
+ "equals(D_873968217_1_1,509607548)",
+ "equals(D_873968217_1_1,784922042)",
+ "equals(D_718867914_1_1,104430631)",
+ "equals(D_718867914_1_1,353358909)",
+ "equals(D_718867914_1_1,178420302)",
+ "equals(isNotDefined(D_714001034_2_2,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_2_2,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_2_2,false),false),greaterThan(2,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_2_2,false),false),equals(2,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_2_2,353358909)",
+ "doesNotEqual(D_418392907_2_2,353358909)",
+ "equals(D_812370563_2_2,939782495)",
+ "equals(D_812370563_2_2,135725957)",
+ "equals(D_812370563_2_2,518416174)",
+ "equals(D_812370563_2_2,847945207)",
+ "equals(D_812370563_2_2,283025574)",
+ "equals(D_812370563_2_2,942970912)",
+ "equals(D_812370563_2_2,596122041)",
+ "equals(D_812370563_2_2,489400183)",
+ "equals(D_812370563_2_2,863246236)",
+ "equals(D_812370563_2_2,607793249)",
+ "equals(D_812370563_2_2,532172400)",
+ "equals(D_812370563_2_2,754745617)",
+ "equals(D_812370563_2_2,665036297)",
+ "equals(D_812370563_2_2,200837530)",
+ "equals(D_812370563_2_2,990319383)",
+ "equals(D_812370563_2_2,487917585)",
+ "equals(D_812370563_2_2,603181162)",
+ "equals(D_812370563_2_2,482225200)",
+ "equals(D_812370563_2_2,295976386)",
+ "equals(D_812370563_2_2,764891959)",
+ "equals(D_812370563_2_2,248374037)",
+ "equals(D_812370563_2_2,139822395)",
+ "equals(D_812370563_2_2,723614811)",
+ "equals(D_812370563_2_2,807835037)",
+ "valueLength('D_933110091_2_2')>0",
+ "doesNotExist('D_933110091_2_2')",
+ "equals(D_812370563_2_2,178420302)",
+ "selectionCount(\"D_812370563_2_2\",true)>0 or valueLength(\"D_933110091_2_2\")>0",
+ "valueLength('D_714001034_2_2')>0",
+ "equals(D_887697329_2_2,536341288)",
+ "equals(D_887697329_2_2,654207589)",
+ "equals(D_887697329_2_2,178420302)",
+ "allExist('D_473529484_2_2','D_812370563_2_2')",
+ "equals(D_473529484_2_2,353358909)",
+ "equals(D_473529484_2_2,104430631)",
+ "equals(D_873968217_2_2,709650750)",
+ "equals(D_873968217_2_2,810290359)",
+ "equals(D_873968217_2_2,509607548)",
+ "equals(D_873968217_2_2,784922042)",
+ "equals(D_718867914_2_2,104430631)",
+ "equals(D_718867914_2_2,353358909)",
+ "equals(D_718867914_2_2,178420302)",
+ "equals(isNotDefined(D_714001034_3_3,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_3_3,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_3_3,false),false),greaterThan(3,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_3_3,false),false),equals(3,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_3_3,353358909)",
+ "doesNotEqual(D_418392907_3_3,353358909)",
+ "equals(D_812370563_3_3,939782495)",
+ "equals(D_812370563_3_3,135725957)",
+ "equals(D_812370563_3_3,518416174)",
+ "equals(D_812370563_3_3,847945207)",
+ "equals(D_812370563_3_3,283025574)",
+ "equals(D_812370563_3_3,942970912)",
+ "equals(D_812370563_3_3,596122041)",
+ "equals(D_812370563_3_3,489400183)",
+ "equals(D_812370563_3_3,863246236)",
+ "equals(D_812370563_3_3,607793249)",
+ "equals(D_812370563_3_3,532172400)",
+ "equals(D_812370563_3_3,754745617)",
+ "equals(D_812370563_3_3,665036297)",
+ "equals(D_812370563_3_3,200837530)",
+ "equals(D_812370563_3_3,990319383)",
+ "equals(D_812370563_3_3,487917585)",
+ "equals(D_812370563_3_3,603181162)",
+ "equals(D_812370563_3_3,482225200)",
+ "equals(D_812370563_3_3,295976386)",
+ "equals(D_812370563_3_3,764891959)",
+ "equals(D_812370563_3_3,248374037)",
+ "equals(D_812370563_3_3,139822395)",
+ "equals(D_812370563_3_3,723614811)",
+ "equals(D_812370563_3_3,807835037)",
+ "valueLength('D_933110091_3_3')>0",
+ "doesNotExist('D_933110091_3_3')",
+ "equals(D_812370563_3_3,178420302)",
+ "selectionCount(\"D_812370563_3_3\",true)>0 or valueLength(\"D_933110091_3_3\")>0",
+ "valueLength('D_714001034_3_3')>0",
+ "equals(D_887697329_3_3,536341288)",
+ "equals(D_887697329_3_3,654207589)",
+ "equals(D_887697329_3_3,178420302)",
+ "allExist('D_473529484_3_3','D_812370563_3_3')",
+ "equals(D_473529484_3_3,353358909)",
+ "equals(D_473529484_3_3,104430631)",
+ "equals(D_873968217_3_3,709650750)",
+ "equals(D_873968217_3_3,810290359)",
+ "equals(D_873968217_3_3,509607548)",
+ "equals(D_873968217_3_3,784922042)",
+ "equals(D_718867914_3_3,104430631)",
+ "equals(D_718867914_3_3,353358909)",
+ "equals(D_718867914_3_3,178420302)",
+ "equals(isNotDefined(D_714001034_4_4,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_4_4,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_4_4,false),false),greaterThan(4,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_4_4,false),false),equals(4,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_4_4,353358909)",
+ "doesNotEqual(D_418392907_4_4,353358909)",
+ "equals(D_812370563_4_4,939782495)",
+ "equals(D_812370563_4_4,135725957)",
+ "equals(D_812370563_4_4,518416174)",
+ "equals(D_812370563_4_4,847945207)",
+ "equals(D_812370563_4_4,283025574)",
+ "equals(D_812370563_4_4,942970912)",
+ "equals(D_812370563_4_4,596122041)",
+ "equals(D_812370563_4_4,489400183)",
+ "equals(D_812370563_4_4,863246236)",
+ "equals(D_812370563_4_4,607793249)",
+ "equals(D_812370563_4_4,532172400)",
+ "equals(D_812370563_4_4,754745617)",
+ "equals(D_812370563_4_4,665036297)",
+ "equals(D_812370563_4_4,200837530)",
+ "equals(D_812370563_4_4,990319383)",
+ "equals(D_812370563_4_4,487917585)",
+ "equals(D_812370563_4_4,603181162)",
+ "equals(D_812370563_4_4,482225200)",
+ "equals(D_812370563_4_4,295976386)",
+ "equals(D_812370563_4_4,764891959)",
+ "equals(D_812370563_4_4,248374037)",
+ "equals(D_812370563_4_4,139822395)",
+ "equals(D_812370563_4_4,723614811)",
+ "equals(D_812370563_4_4,807835037)",
+ "valueLength('D_933110091_4_4')>0",
+ "doesNotExist('D_933110091_4_4')",
+ "equals(D_812370563_4_4,178420302)",
+ "selectionCount(\"D_812370563_4_4\",true)>0 or valueLength(\"D_933110091_4_4\")>0",
+ "valueLength('D_714001034_4_4')>0",
+ "equals(D_887697329_4_4,536341288)",
+ "equals(D_887697329_4_4,654207589)",
+ "equals(D_887697329_4_4,178420302)",
+ "allExist('D_473529484_4_4','D_812370563_4_4')",
+ "equals(D_473529484_4_4,353358909)",
+ "equals(D_473529484_4_4,104430631)",
+ "equals(D_873968217_4_4,709650750)",
+ "equals(D_873968217_4_4,810290359)",
+ "equals(D_873968217_4_4,509607548)",
+ "equals(D_873968217_4_4,784922042)",
+ "equals(D_718867914_4_4,104430631)",
+ "equals(D_718867914_4_4,353358909)",
+ "equals(D_718867914_4_4,178420302)",
+ "equals(isNotDefined(D_714001034_5_5,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_5_5,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_5_5,false),false),greaterThan(5,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_5_5,false),false),equals(5,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_5_5,353358909)",
+ "doesNotEqual(D_418392907_5_5,353358909)",
+ "equals(D_812370563_5_5,939782495)",
+ "equals(D_812370563_5_5,135725957)",
+ "equals(D_812370563_5_5,518416174)",
+ "equals(D_812370563_5_5,847945207)",
+ "equals(D_812370563_5_5,283025574)",
+ "equals(D_812370563_5_5,942970912)",
+ "equals(D_812370563_5_5,596122041)",
+ "equals(D_812370563_5_5,489400183)",
+ "equals(D_812370563_5_5,863246236)",
+ "equals(D_812370563_5_5,607793249)",
+ "equals(D_812370563_5_5,532172400)",
+ "equals(D_812370563_5_5,754745617)",
+ "equals(D_812370563_5_5,665036297)",
+ "equals(D_812370563_5_5,200837530)",
+ "equals(D_812370563_5_5,990319383)",
+ "equals(D_812370563_5_5,487917585)",
+ "equals(D_812370563_5_5,603181162)",
+ "equals(D_812370563_5_5,482225200)",
+ "equals(D_812370563_5_5,295976386)",
+ "equals(D_812370563_5_5,764891959)",
+ "equals(D_812370563_5_5,248374037)",
+ "equals(D_812370563_5_5,139822395)",
+ "equals(D_812370563_5_5,723614811)",
+ "equals(D_812370563_5_5,807835037)",
+ "valueLength('D_933110091_5_5')>0",
+ "doesNotExist('D_933110091_5_5')",
+ "equals(D_812370563_5_5,178420302)",
+ "selectionCount(\"D_812370563_5_5\",true)>0 or valueLength(\"D_933110091_5_5\")>0",
+ "valueLength('D_714001034_5_5')>0",
+ "equals(D_887697329_5_5,536341288)",
+ "equals(D_887697329_5_5,654207589)",
+ "equals(D_887697329_5_5,178420302)",
+ "allExist('D_473529484_5_5','D_812370563_5_5')",
+ "equals(D_473529484_5_5,353358909)",
+ "equals(D_473529484_5_5,104430631)",
+ "equals(D_873968217_5_5,709650750)",
+ "equals(D_873968217_5_5,810290359)",
+ "equals(D_873968217_5_5,509607548)",
+ "equals(D_873968217_5_5,784922042)",
+ "equals(D_718867914_5_5,104430631)",
+ "equals(D_718867914_5_5,353358909)",
+ "equals(D_718867914_5_5,178420302)",
+ "equals(isNotDefined(D_714001034_6_6,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_6_6,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_6_6,false),false),greaterThan(6,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_6_6,false),false),equals(6,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_6_6,353358909)",
+ "doesNotEqual(D_418392907_6_6,353358909)",
+ "equals(D_812370563_6_6,939782495)",
+ "equals(D_812370563_6_6,135725957)",
+ "equals(D_812370563_6_6,518416174)",
+ "equals(D_812370563_6_6,847945207)",
+ "equals(D_812370563_6_6,283025574)",
+ "equals(D_812370563_6_6,942970912)",
+ "equals(D_812370563_6_6,596122041)",
+ "equals(D_812370563_6_6,489400183)",
+ "equals(D_812370563_6_6,863246236)",
+ "equals(D_812370563_6_6,607793249)",
+ "equals(D_812370563_6_6,532172400)",
+ "equals(D_812370563_6_6,754745617)",
+ "equals(D_812370563_6_6,665036297)",
+ "equals(D_812370563_6_6,200837530)",
+ "equals(D_812370563_6_6,990319383)",
+ "equals(D_812370563_6_6,487917585)",
+ "equals(D_812370563_6_6,603181162)",
+ "equals(D_812370563_6_6,482225200)",
+ "equals(D_812370563_6_6,295976386)",
+ "equals(D_812370563_6_6,764891959)",
+ "equals(D_812370563_6_6,248374037)",
+ "equals(D_812370563_6_6,139822395)",
+ "equals(D_812370563_6_6,723614811)",
+ "equals(D_812370563_6_6,807835037)",
+ "valueLength('D_933110091_6_6')>0",
+ "doesNotExist('D_933110091_6_6')",
+ "equals(D_812370563_6_6,178420302)",
+ "selectionCount(\"D_812370563_6_6\",true)>0 or valueLength(\"D_933110091_6_6\")>0",
+ "valueLength('D_714001034_6_6')>0",
+ "equals(D_887697329_6_6,536341288)",
+ "equals(D_887697329_6_6,654207589)",
+ "equals(D_887697329_6_6,178420302)",
+ "allExist('D_473529484_6_6','D_812370563_6_6')",
+ "equals(D_473529484_6_6,353358909)",
+ "equals(D_473529484_6_6,104430631)",
+ "equals(D_873968217_6_6,709650750)",
+ "equals(D_873968217_6_6,810290359)",
+ "equals(D_873968217_6_6,509607548)",
+ "equals(D_873968217_6_6,784922042)",
+ "equals(D_718867914_6_6,104430631)",
+ "equals(D_718867914_6_6,353358909)",
+ "equals(D_718867914_6_6,178420302)",
+ "equals(isNotDefined(D_714001034_7_7,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_7_7,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_7_7,false),false),greaterThan(7,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_7_7,false),false),equals(7,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_7_7,353358909)",
+ "doesNotEqual(D_418392907_7_7,353358909)",
+ "equals(D_812370563_7_7,939782495)",
+ "equals(D_812370563_7_7,135725957)",
+ "equals(D_812370563_7_7,518416174)",
+ "equals(D_812370563_7_7,847945207)",
+ "equals(D_812370563_7_7,283025574)",
+ "equals(D_812370563_7_7,942970912)",
+ "equals(D_812370563_7_7,596122041)",
+ "equals(D_812370563_7_7,489400183)",
+ "equals(D_812370563_7_7,863246236)",
+ "equals(D_812370563_7_7,607793249)",
+ "equals(D_812370563_7_7,532172400)",
+ "equals(D_812370563_7_7,754745617)",
+ "equals(D_812370563_7_7,665036297)",
+ "equals(D_812370563_7_7,200837530)",
+ "equals(D_812370563_7_7,990319383)",
+ "equals(D_812370563_7_7,487917585)",
+ "equals(D_812370563_7_7,603181162)",
+ "equals(D_812370563_7_7,482225200)",
+ "equals(D_812370563_7_7,295976386)",
+ "equals(D_812370563_7_7,764891959)",
+ "equals(D_812370563_7_7,248374037)",
+ "equals(D_812370563_7_7,139822395)",
+ "equals(D_812370563_7_7,723614811)",
+ "equals(D_812370563_7_7,807835037)",
+ "valueLength('D_933110091_7_7')>0",
+ "doesNotExist('D_933110091_7_7')",
+ "equals(D_812370563_7_7,178420302)",
+ "selectionCount(\"D_812370563_7_7\",true)>0 or valueLength(\"D_933110091_7_7\")>0",
+ "valueLength('D_714001034_7_7')>0",
+ "equals(D_887697329_7_7,536341288)",
+ "equals(D_887697329_7_7,654207589)",
+ "equals(D_887697329_7_7,178420302)",
+ "allExist('D_473529484_7_7','D_812370563_7_7')",
+ "equals(D_473529484_7_7,353358909)",
+ "equals(D_473529484_7_7,104430631)",
+ "equals(D_873968217_7_7,709650750)",
+ "equals(D_873968217_7_7,810290359)",
+ "equals(D_873968217_7_7,509607548)",
+ "equals(D_873968217_7_7,784922042)",
+ "equals(D_718867914_7_7,104430631)",
+ "equals(D_718867914_7_7,353358909)",
+ "equals(D_718867914_7_7,178420302)",
+ "equals(isNotDefined(D_714001034_8_8,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_8_8,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_8_8,false),false),greaterThan(8,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_8_8,false),false),equals(8,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_8_8,353358909)",
+ "doesNotEqual(D_418392907_8_8,353358909)",
+ "equals(D_812370563_8_8,939782495)",
+ "equals(D_812370563_8_8,135725957)",
+ "equals(D_812370563_8_8,518416174)",
+ "equals(D_812370563_8_8,847945207)",
+ "equals(D_812370563_8_8,283025574)",
+ "equals(D_812370563_8_8,942970912)",
+ "equals(D_812370563_8_8,596122041)",
+ "equals(D_812370563_8_8,489400183)",
+ "equals(D_812370563_8_8,863246236)",
+ "equals(D_812370563_8_8,607793249)",
+ "equals(D_812370563_8_8,532172400)",
+ "equals(D_812370563_8_8,754745617)",
+ "equals(D_812370563_8_8,665036297)",
+ "equals(D_812370563_8_8,200837530)",
+ "equals(D_812370563_8_8,990319383)",
+ "equals(D_812370563_8_8,487917585)",
+ "equals(D_812370563_8_8,603181162)",
+ "equals(D_812370563_8_8,482225200)",
+ "equals(D_812370563_8_8,295976386)",
+ "equals(D_812370563_8_8,764891959)",
+ "equals(D_812370563_8_8,248374037)",
+ "equals(D_812370563_8_8,139822395)",
+ "equals(D_812370563_8_8,723614811)",
+ "equals(D_812370563_8_8,807835037)",
+ "valueLength('D_933110091_8_8')>0",
+ "doesNotExist('D_933110091_8_8')",
+ "equals(D_812370563_8_8,178420302)",
+ "selectionCount(\"D_812370563_8_8\",true)>0 or valueLength(\"D_933110091_8_8\")>0",
+ "valueLength('D_714001034_8_8')>0",
+ "equals(D_887697329_8_8,536341288)",
+ "equals(D_887697329_8_8,654207589)",
+ "equals(D_887697329_8_8,178420302)",
+ "allExist('D_473529484_8_8','D_812370563_8_8')",
+ "equals(D_473529484_8_8,353358909)",
+ "equals(D_473529484_8_8,104430631)",
+ "equals(D_873968217_8_8,709650750)",
+ "equals(D_873968217_8_8,810290359)",
+ "equals(D_873968217_8_8,509607548)",
+ "equals(D_873968217_8_8,784922042)",
+ "equals(D_718867914_8_8,104430631)",
+ "equals(D_718867914_8_8,353358909)",
+ "equals(D_718867914_8_8,178420302)",
+ "equals(isNotDefined(D_714001034_9_9,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_9_9,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_9_9,false),false),greaterThan(9,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_9_9,false),false),equals(9,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_9_9,353358909)",
+ "doesNotEqual(D_418392907_9_9,353358909)",
+ "equals(D_812370563_9_9,939782495)",
+ "equals(D_812370563_9_9,135725957)",
+ "equals(D_812370563_9_9,518416174)",
+ "equals(D_812370563_9_9,847945207)",
+ "equals(D_812370563_9_9,283025574)",
+ "equals(D_812370563_9_9,942970912)",
+ "equals(D_812370563_9_9,596122041)",
+ "equals(D_812370563_9_9,489400183)",
+ "equals(D_812370563_9_9,863246236)",
+ "equals(D_812370563_9_9,607793249)",
+ "equals(D_812370563_9_9,532172400)",
+ "equals(D_812370563_9_9,754745617)",
+ "equals(D_812370563_9_9,665036297)",
+ "equals(D_812370563_9_9,200837530)",
+ "equals(D_812370563_9_9,990319383)",
+ "equals(D_812370563_9_9,487917585)",
+ "equals(D_812370563_9_9,603181162)",
+ "equals(D_812370563_9_9,482225200)",
+ "equals(D_812370563_9_9,295976386)",
+ "equals(D_812370563_9_9,764891959)",
+ "equals(D_812370563_9_9,248374037)",
+ "equals(D_812370563_9_9,139822395)",
+ "equals(D_812370563_9_9,723614811)",
+ "equals(D_812370563_9_9,807835037)",
+ "valueLength('D_933110091_9_9')>0",
+ "doesNotExist('D_933110091_9_9')",
+ "equals(D_812370563_9_9,178420302)",
+ "selectionCount(\"D_812370563_9_9\",true)>0 or valueLength(\"D_933110091_9_9\")>0",
+ "valueLength('D_714001034_9_9')>0",
+ "equals(D_887697329_9_9,536341288)",
+ "equals(D_887697329_9_9,654207589)",
+ "equals(D_887697329_9_9,178420302)",
+ "allExist('D_473529484_9_9','D_812370563_9_9')",
+ "equals(D_473529484_9_9,353358909)",
+ "equals(D_473529484_9_9,104430631)",
+ "equals(D_873968217_9_9,709650750)",
+ "equals(D_873968217_9_9,810290359)",
+ "equals(D_873968217_9_9,509607548)",
+ "equals(D_873968217_9_9,784922042)",
+ "equals(D_718867914_9_9,104430631)",
+ "equals(D_718867914_9_9,353358909)",
+ "equals(D_718867914_9_9,178420302)",
+ "equals(isNotDefined(D_714001034_10_10,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_10_10,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_10_10,false),false),greaterThan(10,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_10_10,false),false),equals(10,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_10_10,353358909)",
+ "doesNotEqual(D_418392907_10_10,353358909)",
+ "equals(D_812370563_10_10,939782495)",
+ "equals(D_812370563_10_10,135725957)",
+ "equals(D_812370563_10_10,518416174)",
+ "equals(D_812370563_10_10,847945207)",
+ "equals(D_812370563_10_10,283025574)",
+ "equals(D_812370563_10_10,942970912)",
+ "equals(D_812370563_10_10,596122041)",
+ "equals(D_812370563_10_10,489400183)",
+ "equals(D_812370563_10_10,863246236)",
+ "equals(D_812370563_10_10,607793249)",
+ "equals(D_812370563_10_10,532172400)",
+ "equals(D_812370563_10_10,754745617)",
+ "equals(D_812370563_10_10,665036297)",
+ "equals(D_812370563_10_10,200837530)",
+ "equals(D_812370563_10_10,990319383)",
+ "equals(D_812370563_10_10,487917585)",
+ "equals(D_812370563_10_10,603181162)",
+ "equals(D_812370563_10_10,482225200)",
+ "equals(D_812370563_10_10,295976386)",
+ "equals(D_812370563_10_10,764891959)",
+ "equals(D_812370563_10_10,248374037)",
+ "equals(D_812370563_10_10,139822395)",
+ "equals(D_812370563_10_10,723614811)",
+ "equals(D_812370563_10_10,807835037)",
+ "valueLength('D_933110091_10_10')>0",
+ "doesNotExist('D_933110091_10_10')",
+ "equals(D_812370563_10_10,178420302)",
+ "selectionCount(\"D_812370563_10_10\",true)>0 or valueLength(\"D_933110091_10_10\")>0",
+ "valueLength('D_714001034_10_10')>0",
+ "equals(D_887697329_10_10,536341288)",
+ "equals(D_887697329_10_10,654207589)",
+ "equals(D_887697329_10_10,178420302)",
+ "allExist('D_473529484_10_10','D_812370563_10_10')",
+ "equals(D_473529484_10_10,353358909)",
+ "equals(D_473529484_10_10,104430631)",
+ "equals(D_873968217_10_10,709650750)",
+ "equals(D_873968217_10_10,810290359)",
+ "equals(D_873968217_10_10,509607548)",
+ "equals(D_873968217_10_10,784922042)",
+ "equals(D_718867914_10_10,104430631)",
+ "equals(D_718867914_10_10,353358909)",
+ "equals(D_718867914_10_10,178420302)",
+ "equals(isNotDefined(D_714001034_11_11,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_11_11,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_11_11,false),false),greaterThan(11,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_11_11,false),false),equals(11,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_11_11,353358909)",
+ "doesNotEqual(D_418392907_11_11,353358909)",
+ "equals(D_812370563_11_11,939782495)",
+ "equals(D_812370563_11_11,135725957)",
+ "equals(D_812370563_11_11,518416174)",
+ "equals(D_812370563_11_11,847945207)",
+ "equals(D_812370563_11_11,283025574)",
+ "equals(D_812370563_11_11,942970912)",
+ "equals(D_812370563_11_11,596122041)",
+ "equals(D_812370563_11_11,489400183)",
+ "equals(D_812370563_11_11,863246236)",
+ "equals(D_812370563_11_11,607793249)",
+ "equals(D_812370563_11_11,532172400)",
+ "equals(D_812370563_11_11,754745617)",
+ "equals(D_812370563_11_11,665036297)",
+ "equals(D_812370563_11_11,200837530)",
+ "equals(D_812370563_11_11,990319383)",
+ "equals(D_812370563_11_11,487917585)",
+ "equals(D_812370563_11_11,603181162)",
+ "equals(D_812370563_11_11,482225200)",
+ "equals(D_812370563_11_11,295976386)",
+ "equals(D_812370563_11_11,764891959)",
+ "equals(D_812370563_11_11,248374037)",
+ "equals(D_812370563_11_11,139822395)",
+ "equals(D_812370563_11_11,723614811)",
+ "equals(D_812370563_11_11,807835037)",
+ "valueLength('D_933110091_11_11')>0",
+ "doesNotExist('D_933110091_11_11')",
+ "equals(D_812370563_11_11,178420302)",
+ "selectionCount(\"D_812370563_11_11\",true)>0 or valueLength(\"D_933110091_11_11\")>0",
+ "valueLength('D_714001034_11_11')>0",
+ "equals(D_887697329_11_11,536341288)",
+ "equals(D_887697329_11_11,654207589)",
+ "equals(D_887697329_11_11,178420302)",
+ "allExist('D_473529484_11_11','D_812370563_11_11')",
+ "equals(D_473529484_11_11,353358909)",
+ "equals(D_473529484_11_11,104430631)",
+ "equals(D_873968217_11_11,709650750)",
+ "equals(D_873968217_11_11,810290359)",
+ "equals(D_873968217_11_11,509607548)",
+ "equals(D_873968217_11_11,784922042)",
+ "equals(D_718867914_11_11,104430631)",
+ "equals(D_718867914_11_11,353358909)",
+ "equals(D_718867914_11_11,178420302)",
+ "equals(isNotDefined(D_714001034_12_12,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_12_12,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_12_12,false),false),greaterThan(12,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_12_12,false),false),equals(12,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_12_12,353358909)",
+ "doesNotEqual(D_418392907_12_12,353358909)",
+ "equals(D_812370563_12_12,939782495)",
+ "equals(D_812370563_12_12,135725957)",
+ "equals(D_812370563_12_12,518416174)",
+ "equals(D_812370563_12_12,847945207)",
+ "equals(D_812370563_12_12,283025574)",
+ "equals(D_812370563_12_12,942970912)",
+ "equals(D_812370563_12_12,596122041)",
+ "equals(D_812370563_12_12,489400183)",
+ "equals(D_812370563_12_12,863246236)",
+ "equals(D_812370563_12_12,607793249)",
+ "equals(D_812370563_12_12,532172400)",
+ "equals(D_812370563_12_12,754745617)",
+ "equals(D_812370563_12_12,665036297)",
+ "equals(D_812370563_12_12,200837530)",
+ "equals(D_812370563_12_12,990319383)",
+ "equals(D_812370563_12_12,487917585)",
+ "equals(D_812370563_12_12,603181162)",
+ "equals(D_812370563_12_12,482225200)",
+ "equals(D_812370563_12_12,295976386)",
+ "equals(D_812370563_12_12,764891959)",
+ "equals(D_812370563_12_12,248374037)",
+ "equals(D_812370563_12_12,139822395)",
+ "equals(D_812370563_12_12,723614811)",
+ "equals(D_812370563_12_12,807835037)",
+ "valueLength('D_933110091_12_12')>0",
+ "doesNotExist('D_933110091_12_12')",
+ "equals(D_812370563_12_12,178420302)",
+ "selectionCount(\"D_812370563_12_12\",true)>0 or valueLength(\"D_933110091_12_12\")>0",
+ "valueLength('D_714001034_12_12')>0",
+ "equals(D_887697329_12_12,536341288)",
+ "equals(D_887697329_12_12,654207589)",
+ "equals(D_887697329_12_12,178420302)",
+ "allExist('D_473529484_12_12','D_812370563_12_12')",
+ "equals(D_473529484_12_12,353358909)",
+ "equals(D_473529484_12_12,104430631)",
+ "equals(D_873968217_12_12,709650750)",
+ "equals(D_873968217_12_12,810290359)",
+ "equals(D_873968217_12_12,509607548)",
+ "equals(D_873968217_12_12,784922042)",
+ "equals(D_718867914_12_12,104430631)",
+ "equals(D_718867914_12_12,353358909)",
+ "equals(D_718867914_12_12,178420302)",
+ "equals(isNotDefined(D_714001034_13_13,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_13_13,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_13_13,false),false),greaterThan(13,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_13_13,false),false),equals(13,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_13_13,353358909)",
+ "doesNotEqual(D_418392907_13_13,353358909)",
+ "equals(D_812370563_13_13,939782495)",
+ "equals(D_812370563_13_13,135725957)",
+ "equals(D_812370563_13_13,518416174)",
+ "equals(D_812370563_13_13,847945207)",
+ "equals(D_812370563_13_13,283025574)",
+ "equals(D_812370563_13_13,942970912)",
+ "equals(D_812370563_13_13,596122041)",
+ "equals(D_812370563_13_13,489400183)",
+ "equals(D_812370563_13_13,863246236)",
+ "equals(D_812370563_13_13,607793249)",
+ "equals(D_812370563_13_13,532172400)",
+ "equals(D_812370563_13_13,754745617)",
+ "equals(D_812370563_13_13,665036297)",
+ "equals(D_812370563_13_13,200837530)",
+ "equals(D_812370563_13_13,990319383)",
+ "equals(D_812370563_13_13,487917585)",
+ "equals(D_812370563_13_13,603181162)",
+ "equals(D_812370563_13_13,482225200)",
+ "equals(D_812370563_13_13,295976386)",
+ "equals(D_812370563_13_13,764891959)",
+ "equals(D_812370563_13_13,248374037)",
+ "equals(D_812370563_13_13,139822395)",
+ "equals(D_812370563_13_13,723614811)",
+ "equals(D_812370563_13_13,807835037)",
+ "valueLength('D_933110091_13_13')>0",
+ "doesNotExist('D_933110091_13_13')",
+ "equals(D_812370563_13_13,178420302)",
+ "selectionCount(\"D_812370563_13_13\",true)>0 or valueLength(\"D_933110091_13_13\")>0",
+ "valueLength('D_714001034_13_13')>0",
+ "equals(D_887697329_13_13,536341288)",
+ "equals(D_887697329_13_13,654207589)",
+ "equals(D_887697329_13_13,178420302)",
+ "allExist('D_473529484_13_13','D_812370563_13_13')",
+ "equals(D_473529484_13_13,353358909)",
+ "equals(D_473529484_13_13,104430631)",
+ "equals(D_873968217_13_13,709650750)",
+ "equals(D_873968217_13_13,810290359)",
+ "equals(D_873968217_13_13,509607548)",
+ "equals(D_873968217_13_13,784922042)",
+ "equals(D_718867914_13_13,104430631)",
+ "equals(D_718867914_13_13,353358909)",
+ "equals(D_718867914_13_13,178420302)",
+ "equals(isNotDefined(D_714001034_14_14,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_14_14,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_14_14,false),false),greaterThan(14,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_14_14,false),false),equals(14,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_14_14,353358909)",
+ "doesNotEqual(D_418392907_14_14,353358909)",
+ "equals(D_812370563_14_14,939782495)",
+ "equals(D_812370563_14_14,135725957)",
+ "equals(D_812370563_14_14,518416174)",
+ "equals(D_812370563_14_14,847945207)",
+ "equals(D_812370563_14_14,283025574)",
+ "equals(D_812370563_14_14,942970912)",
+ "equals(D_812370563_14_14,596122041)",
+ "equals(D_812370563_14_14,489400183)",
+ "equals(D_812370563_14_14,863246236)",
+ "equals(D_812370563_14_14,607793249)",
+ "equals(D_812370563_14_14,532172400)",
+ "equals(D_812370563_14_14,754745617)",
+ "equals(D_812370563_14_14,665036297)",
+ "equals(D_812370563_14_14,200837530)",
+ "equals(D_812370563_14_14,990319383)",
+ "equals(D_812370563_14_14,487917585)",
+ "equals(D_812370563_14_14,603181162)",
+ "equals(D_812370563_14_14,482225200)",
+ "equals(D_812370563_14_14,295976386)",
+ "equals(D_812370563_14_14,764891959)",
+ "equals(D_812370563_14_14,248374037)",
+ "equals(D_812370563_14_14,139822395)",
+ "equals(D_812370563_14_14,723614811)",
+ "equals(D_812370563_14_14,807835037)",
+ "valueLength('D_933110091_14_14')>0",
+ "doesNotExist('D_933110091_14_14')",
+ "equals(D_812370563_14_14,178420302)",
+ "selectionCount(\"D_812370563_14_14\",true)>0 or valueLength(\"D_933110091_14_14\")>0",
+ "valueLength('D_714001034_14_14')>0",
+ "equals(D_887697329_14_14,536341288)",
+ "equals(D_887697329_14_14,654207589)",
+ "equals(D_887697329_14_14,178420302)",
+ "allExist('D_473529484_14_14','D_812370563_14_14')",
+ "equals(D_473529484_14_14,353358909)",
+ "equals(D_473529484_14_14,104430631)",
+ "equals(D_873968217_14_14,709650750)",
+ "equals(D_873968217_14_14,810290359)",
+ "equals(D_873968217_14_14,509607548)",
+ "equals(D_873968217_14_14,784922042)",
+ "equals(D_718867914_14_14,104430631)",
+ "equals(D_718867914_14_14,353358909)",
+ "equals(D_718867914_14_14,178420302)",
+ "equals(isNotDefined(D_714001034_15_15,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_15_15,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_15_15,false),false),greaterThan(15,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_15_15,false),false),equals(15,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_15_15,353358909)",
+ "doesNotEqual(D_418392907_15_15,353358909)",
+ "equals(D_812370563_15_15,939782495)",
+ "equals(D_812370563_15_15,135725957)",
+ "equals(D_812370563_15_15,518416174)",
+ "equals(D_812370563_15_15,847945207)",
+ "equals(D_812370563_15_15,283025574)",
+ "equals(D_812370563_15_15,942970912)",
+ "equals(D_812370563_15_15,596122041)",
+ "equals(D_812370563_15_15,489400183)",
+ "equals(D_812370563_15_15,863246236)",
+ "equals(D_812370563_15_15,607793249)",
+ "equals(D_812370563_15_15,532172400)",
+ "equals(D_812370563_15_15,754745617)",
+ "equals(D_812370563_15_15,665036297)",
+ "equals(D_812370563_15_15,200837530)",
+ "equals(D_812370563_15_15,990319383)",
+ "equals(D_812370563_15_15,487917585)",
+ "equals(D_812370563_15_15,603181162)",
+ "equals(D_812370563_15_15,482225200)",
+ "equals(D_812370563_15_15,295976386)",
+ "equals(D_812370563_15_15,764891959)",
+ "equals(D_812370563_15_15,248374037)",
+ "equals(D_812370563_15_15,139822395)",
+ "equals(D_812370563_15_15,723614811)",
+ "equals(D_812370563_15_15,807835037)",
+ "valueLength('D_933110091_15_15')>0",
+ "doesNotExist('D_933110091_15_15')",
+ "equals(D_812370563_15_15,178420302)",
+ "selectionCount(\"D_812370563_15_15\",true)>0 or valueLength(\"D_933110091_15_15\")>0",
+ "valueLength('D_714001034_15_15')>0",
+ "equals(D_887697329_15_15,536341288)",
+ "equals(D_887697329_15_15,654207589)",
+ "equals(D_887697329_15_15,178420302)",
+ "allExist('D_473529484_15_15','D_812370563_15_15')",
+ "equals(D_473529484_15_15,353358909)",
+ "equals(D_473529484_15_15,104430631)",
+ "equals(D_873968217_15_15,709650750)",
+ "equals(D_873968217_15_15,810290359)",
+ "equals(D_873968217_15_15,509607548)",
+ "equals(D_873968217_15_15,784922042)",
+ "equals(D_718867914_15_15,104430631)",
+ "equals(D_718867914_15_15,353358909)",
+ "equals(D_718867914_15_15,178420302)",
+ "equals(isNotDefined(D_714001034_16_16,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_16_16,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_16_16,false),false),greaterThan(16,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_16_16,false),false),equals(16,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_16_16,353358909)",
+ "doesNotEqual(D_418392907_16_16,353358909)",
+ "equals(D_812370563_16_16,939782495)",
+ "equals(D_812370563_16_16,135725957)",
+ "equals(D_812370563_16_16,518416174)",
+ "equals(D_812370563_16_16,847945207)",
+ "equals(D_812370563_16_16,283025574)",
+ "equals(D_812370563_16_16,942970912)",
+ "equals(D_812370563_16_16,596122041)",
+ "equals(D_812370563_16_16,489400183)",
+ "equals(D_812370563_16_16,863246236)",
+ "equals(D_812370563_16_16,607793249)",
+ "equals(D_812370563_16_16,532172400)",
+ "equals(D_812370563_16_16,754745617)",
+ "equals(D_812370563_16_16,665036297)",
+ "equals(D_812370563_16_16,200837530)",
+ "equals(D_812370563_16_16,990319383)",
+ "equals(D_812370563_16_16,487917585)",
+ "equals(D_812370563_16_16,603181162)",
+ "equals(D_812370563_16_16,482225200)",
+ "equals(D_812370563_16_16,295976386)",
+ "equals(D_812370563_16_16,764891959)",
+ "equals(D_812370563_16_16,248374037)",
+ "equals(D_812370563_16_16,139822395)",
+ "equals(D_812370563_16_16,723614811)",
+ "equals(D_812370563_16_16,807835037)",
+ "valueLength('D_933110091_16_16')>0",
+ "doesNotExist('D_933110091_16_16')",
+ "equals(D_812370563_16_16,178420302)",
+ "selectionCount(\"D_812370563_16_16\",true)>0 or valueLength(\"D_933110091_16_16\")>0",
+ "valueLength('D_714001034_16_16')>0",
+ "equals(D_887697329_16_16,536341288)",
+ "equals(D_887697329_16_16,654207589)",
+ "equals(D_887697329_16_16,178420302)",
+ "allExist('D_473529484_16_16','D_812370563_16_16')",
+ "equals(D_473529484_16_16,353358909)",
+ "equals(D_473529484_16_16,104430631)",
+ "equals(D_873968217_16_16,709650750)",
+ "equals(D_873968217_16_16,810290359)",
+ "equals(D_873968217_16_16,509607548)",
+ "equals(D_873968217_16_16,784922042)",
+ "equals(D_718867914_16_16,104430631)",
+ "equals(D_718867914_16_16,353358909)",
+ "equals(D_718867914_16_16,178420302)",
+ "equals(isNotDefined(D_714001034_17_17,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_17_17,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_17_17,false),false),greaterThan(17,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_17_17,false),false),equals(17,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_17_17,353358909)",
+ "doesNotEqual(D_418392907_17_17,353358909)",
+ "equals(D_812370563_17_17,939782495)",
+ "equals(D_812370563_17_17,135725957)",
+ "equals(D_812370563_17_17,518416174)",
+ "equals(D_812370563_17_17,847945207)",
+ "equals(D_812370563_17_17,283025574)",
+ "equals(D_812370563_17_17,942970912)",
+ "equals(D_812370563_17_17,596122041)",
+ "equals(D_812370563_17_17,489400183)",
+ "equals(D_812370563_17_17,863246236)",
+ "equals(D_812370563_17_17,607793249)",
+ "equals(D_812370563_17_17,532172400)",
+ "equals(D_812370563_17_17,754745617)",
+ "equals(D_812370563_17_17,665036297)",
+ "equals(D_812370563_17_17,200837530)",
+ "equals(D_812370563_17_17,990319383)",
+ "equals(D_812370563_17_17,487917585)",
+ "equals(D_812370563_17_17,603181162)",
+ "equals(D_812370563_17_17,482225200)",
+ "equals(D_812370563_17_17,295976386)",
+ "equals(D_812370563_17_17,764891959)",
+ "equals(D_812370563_17_17,248374037)",
+ "equals(D_812370563_17_17,139822395)",
+ "equals(D_812370563_17_17,723614811)",
+ "equals(D_812370563_17_17,807835037)",
+ "valueLength('D_933110091_17_17')>0",
+ "doesNotExist('D_933110091_17_17')",
+ "equals(D_812370563_17_17,178420302)",
+ "selectionCount(\"D_812370563_17_17\",true)>0 or valueLength(\"D_933110091_17_17\")>0",
+ "valueLength('D_714001034_17_17')>0",
+ "equals(D_887697329_17_17,536341288)",
+ "equals(D_887697329_17_17,654207589)",
+ "equals(D_887697329_17_17,178420302)",
+ "allExist('D_473529484_17_17','D_812370563_17_17')",
+ "equals(D_473529484_17_17,353358909)",
+ "equals(D_473529484_17_17,104430631)",
+ "equals(D_873968217_17_17,709650750)",
+ "equals(D_873968217_17_17,810290359)",
+ "equals(D_873968217_17_17,509607548)",
+ "equals(D_873968217_17_17,784922042)",
+ "equals(D_718867914_17_17,104430631)",
+ "equals(D_718867914_17_17,353358909)",
+ "equals(D_718867914_17_17,178420302)",
+ "equals(isNotDefined(D_714001034_18_18,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_18_18,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_18_18,false),false),greaterThan(18,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_18_18,false),false),equals(18,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_18_18,353358909)",
+ "doesNotEqual(D_418392907_18_18,353358909)",
+ "equals(D_812370563_18_18,939782495)",
+ "equals(D_812370563_18_18,135725957)",
+ "equals(D_812370563_18_18,518416174)",
+ "equals(D_812370563_18_18,847945207)",
+ "equals(D_812370563_18_18,283025574)",
+ "equals(D_812370563_18_18,942970912)",
+ "equals(D_812370563_18_18,596122041)",
+ "equals(D_812370563_18_18,489400183)",
+ "equals(D_812370563_18_18,863246236)",
+ "equals(D_812370563_18_18,607793249)",
+ "equals(D_812370563_18_18,532172400)",
+ "equals(D_812370563_18_18,754745617)",
+ "equals(D_812370563_18_18,665036297)",
+ "equals(D_812370563_18_18,200837530)",
+ "equals(D_812370563_18_18,990319383)",
+ "equals(D_812370563_18_18,487917585)",
+ "equals(D_812370563_18_18,603181162)",
+ "equals(D_812370563_18_18,482225200)",
+ "equals(D_812370563_18_18,295976386)",
+ "equals(D_812370563_18_18,764891959)",
+ "equals(D_812370563_18_18,248374037)",
+ "equals(D_812370563_18_18,139822395)",
+ "equals(D_812370563_18_18,723614811)",
+ "equals(D_812370563_18_18,807835037)",
+ "valueLength('D_933110091_18_18')>0",
+ "doesNotExist('D_933110091_18_18')",
+ "equals(D_812370563_18_18,178420302)",
+ "selectionCount(\"D_812370563_18_18\",true)>0 or valueLength(\"D_933110091_18_18\")>0",
+ "valueLength('D_714001034_18_18')>0",
+ "equals(D_887697329_18_18,536341288)",
+ "equals(D_887697329_18_18,654207589)",
+ "equals(D_887697329_18_18,178420302)",
+ "allExist('D_473529484_18_18','D_812370563_18_18')",
+ "equals(D_473529484_18_18,353358909)",
+ "equals(D_473529484_18_18,104430631)",
+ "equals(D_873968217_18_18,709650750)",
+ "equals(D_873968217_18_18,810290359)",
+ "equals(D_873968217_18_18,509607548)",
+ "equals(D_873968217_18_18,784922042)",
+ "equals(D_718867914_18_18,104430631)",
+ "equals(D_718867914_18_18,353358909)",
+ "equals(D_718867914_18_18,178420302)",
+ "equals(isNotDefined(D_714001034_19_19,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_19_19,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_19_19,false),false),greaterThan(19,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_19_19,false),false),equals(19,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_19_19,353358909)",
+ "doesNotEqual(D_418392907_19_19,353358909)",
+ "equals(D_812370563_19_19,939782495)",
+ "equals(D_812370563_19_19,135725957)",
+ "equals(D_812370563_19_19,518416174)",
+ "equals(D_812370563_19_19,847945207)",
+ "equals(D_812370563_19_19,283025574)",
+ "equals(D_812370563_19_19,942970912)",
+ "equals(D_812370563_19_19,596122041)",
+ "equals(D_812370563_19_19,489400183)",
+ "equals(D_812370563_19_19,863246236)",
+ "equals(D_812370563_19_19,607793249)",
+ "equals(D_812370563_19_19,532172400)",
+ "equals(D_812370563_19_19,754745617)",
+ "equals(D_812370563_19_19,665036297)",
+ "equals(D_812370563_19_19,200837530)",
+ "equals(D_812370563_19_19,990319383)",
+ "equals(D_812370563_19_19,487917585)",
+ "equals(D_812370563_19_19,603181162)",
+ "equals(D_812370563_19_19,482225200)",
+ "equals(D_812370563_19_19,295976386)",
+ "equals(D_812370563_19_19,764891959)",
+ "equals(D_812370563_19_19,248374037)",
+ "equals(D_812370563_19_19,139822395)",
+ "equals(D_812370563_19_19,723614811)",
+ "equals(D_812370563_19_19,807835037)",
+ "valueLength('D_933110091_19_19')>0",
+ "doesNotExist('D_933110091_19_19')",
+ "equals(D_812370563_19_19,178420302)",
+ "selectionCount(\"D_812370563_19_19\",true)>0 or valueLength(\"D_933110091_19_19\")>0",
+ "valueLength('D_714001034_19_19')>0",
+ "equals(D_887697329_19_19,536341288)",
+ "equals(D_887697329_19_19,654207589)",
+ "equals(D_887697329_19_19,178420302)",
+ "allExist('D_473529484_19_19','D_812370563_19_19')",
+ "equals(D_473529484_19_19,353358909)",
+ "equals(D_473529484_19_19,104430631)",
+ "equals(D_873968217_19_19,709650750)",
+ "equals(D_873968217_19_19,810290359)",
+ "equals(D_873968217_19_19,509607548)",
+ "equals(D_873968217_19_19,784922042)",
+ "equals(D_718867914_19_19,104430631)",
+ "equals(D_718867914_19_19,353358909)",
+ "equals(D_718867914_19_19,178420302)",
+ "equals(isNotDefined(D_714001034_20_20,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_20_20,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_20_20,false),false),greaterThan(20,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_20_20,false),false),equals(20,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_20_20,353358909)",
+ "doesNotEqual(D_418392907_20_20,353358909)",
+ "equals(D_812370563_20_20,939782495)",
+ "equals(D_812370563_20_20,135725957)",
+ "equals(D_812370563_20_20,518416174)",
+ "equals(D_812370563_20_20,847945207)",
+ "equals(D_812370563_20_20,283025574)",
+ "equals(D_812370563_20_20,942970912)",
+ "equals(D_812370563_20_20,596122041)",
+ "equals(D_812370563_20_20,489400183)",
+ "equals(D_812370563_20_20,863246236)",
+ "equals(D_812370563_20_20,607793249)",
+ "equals(D_812370563_20_20,532172400)",
+ "equals(D_812370563_20_20,754745617)",
+ "equals(D_812370563_20_20,665036297)",
+ "equals(D_812370563_20_20,200837530)",
+ "equals(D_812370563_20_20,990319383)",
+ "equals(D_812370563_20_20,487917585)",
+ "equals(D_812370563_20_20,603181162)",
+ "equals(D_812370563_20_20,482225200)",
+ "equals(D_812370563_20_20,295976386)",
+ "equals(D_812370563_20_20,764891959)",
+ "equals(D_812370563_20_20,248374037)",
+ "equals(D_812370563_20_20,139822395)",
+ "equals(D_812370563_20_20,723614811)",
+ "equals(D_812370563_20_20,807835037)",
+ "valueLength('D_933110091_20_20')>0",
+ "doesNotExist('D_933110091_20_20')",
+ "equals(D_812370563_20_20,178420302)",
+ "selectionCount(\"D_812370563_20_20\",true)>0 or valueLength(\"D_933110091_20_20\")>0",
+ "valueLength('D_714001034_20_20')>0",
+ "equals(D_887697329_20_20,536341288)",
+ "equals(D_887697329_20_20,654207589)",
+ "equals(D_887697329_20_20,178420302)",
+ "allExist('D_473529484_20_20','D_812370563_20_20')",
+ "equals(D_473529484_20_20,353358909)",
+ "equals(D_473529484_20_20,104430631)",
+ "equals(D_873968217_20_20,709650750)",
+ "equals(D_873968217_20_20,810290359)",
+ "equals(D_873968217_20_20,509607548)",
+ "equals(D_873968217_20_20,784922042)",
+ "equals(D_718867914_20_20,104430631)",
+ "equals(D_718867914_20_20,353358909)",
+ "equals(D_718867914_20_20,178420302)",
+ "equals(isNotDefined(D_714001034_21_21,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_21_21,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_21_21,false),false),greaterThan(21,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_21_21,false),false),equals(21,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_21_21,353358909)",
+ "doesNotEqual(D_418392907_21_21,353358909)",
+ "equals(D_812370563_21_21,939782495)",
+ "equals(D_812370563_21_21,135725957)",
+ "equals(D_812370563_21_21,518416174)",
+ "equals(D_812370563_21_21,847945207)",
+ "equals(D_812370563_21_21,283025574)",
+ "equals(D_812370563_21_21,942970912)",
+ "equals(D_812370563_21_21,596122041)",
+ "equals(D_812370563_21_21,489400183)",
+ "equals(D_812370563_21_21,863246236)",
+ "equals(D_812370563_21_21,607793249)",
+ "equals(D_812370563_21_21,532172400)",
+ "equals(D_812370563_21_21,754745617)",
+ "equals(D_812370563_21_21,665036297)",
+ "equals(D_812370563_21_21,200837530)",
+ "equals(D_812370563_21_21,990319383)",
+ "equals(D_812370563_21_21,487917585)",
+ "equals(D_812370563_21_21,603181162)",
+ "equals(D_812370563_21_21,482225200)",
+ "equals(D_812370563_21_21,295976386)",
+ "equals(D_812370563_21_21,764891959)",
+ "equals(D_812370563_21_21,248374037)",
+ "equals(D_812370563_21_21,139822395)",
+ "equals(D_812370563_21_21,723614811)",
+ "equals(D_812370563_21_21,807835037)",
+ "valueLength('D_933110091_21_21')>0",
+ "doesNotExist('D_933110091_21_21')",
+ "equals(D_812370563_21_21,178420302)",
+ "selectionCount(\"D_812370563_21_21\",true)>0 or valueLength(\"D_933110091_21_21\")>0",
+ "valueLength('D_714001034_21_21')>0",
+ "equals(D_887697329_21_21,536341288)",
+ "equals(D_887697329_21_21,654207589)",
+ "equals(D_887697329_21_21,178420302)",
+ "allExist('D_473529484_21_21','D_812370563_21_21')",
+ "equals(D_473529484_21_21,353358909)",
+ "equals(D_473529484_21_21,104430631)",
+ "equals(D_873968217_21_21,709650750)",
+ "equals(D_873968217_21_21,810290359)",
+ "equals(D_873968217_21_21,509607548)",
+ "equals(D_873968217_21_21,784922042)",
+ "equals(D_718867914_21_21,104430631)",
+ "equals(D_718867914_21_21,353358909)",
+ "equals(D_718867914_21_21,178420302)",
+ "equals(isNotDefined(D_714001034_22_22,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_22_22,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_22_22,false),false),greaterThan(22,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_22_22,false),false),equals(22,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_22_22,353358909)",
+ "doesNotEqual(D_418392907_22_22,353358909)",
+ "equals(D_812370563_22_22,939782495)",
+ "equals(D_812370563_22_22,135725957)",
+ "equals(D_812370563_22_22,518416174)",
+ "equals(D_812370563_22_22,847945207)",
+ "equals(D_812370563_22_22,283025574)",
+ "equals(D_812370563_22_22,942970912)",
+ "equals(D_812370563_22_22,596122041)",
+ "equals(D_812370563_22_22,489400183)",
+ "equals(D_812370563_22_22,863246236)",
+ "equals(D_812370563_22_22,607793249)",
+ "equals(D_812370563_22_22,532172400)",
+ "equals(D_812370563_22_22,754745617)",
+ "equals(D_812370563_22_22,665036297)",
+ "equals(D_812370563_22_22,200837530)",
+ "equals(D_812370563_22_22,990319383)",
+ "equals(D_812370563_22_22,487917585)",
+ "equals(D_812370563_22_22,603181162)",
+ "equals(D_812370563_22_22,482225200)",
+ "equals(D_812370563_22_22,295976386)",
+ "equals(D_812370563_22_22,764891959)",
+ "equals(D_812370563_22_22,248374037)",
+ "equals(D_812370563_22_22,139822395)",
+ "equals(D_812370563_22_22,723614811)",
+ "equals(D_812370563_22_22,807835037)",
+ "valueLength('D_933110091_22_22')>0",
+ "doesNotExist('D_933110091_22_22')",
+ "equals(D_812370563_22_22,178420302)",
+ "selectionCount(\"D_812370563_22_22\",true)>0 or valueLength(\"D_933110091_22_22\")>0",
+ "valueLength('D_714001034_22_22')>0",
+ "equals(D_887697329_22_22,536341288)",
+ "equals(D_887697329_22_22,654207589)",
+ "equals(D_887697329_22_22,178420302)",
+ "allExist('D_473529484_22_22','D_812370563_22_22')",
+ "equals(D_473529484_22_22,353358909)",
+ "equals(D_473529484_22_22,104430631)",
+ "equals(D_873968217_22_22,709650750)",
+ "equals(D_873968217_22_22,810290359)",
+ "equals(D_873968217_22_22,509607548)",
+ "equals(D_873968217_22_22,784922042)",
+ "equals(D_718867914_22_22,104430631)",
+ "equals(D_718867914_22_22,353358909)",
+ "equals(D_718867914_22_22,178420302)",
+ "equals(isNotDefined(D_714001034_23_23,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_23_23,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_23_23,false),false),greaterThan(23,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_23_23,false),false),equals(23,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_23_23,353358909)",
+ "doesNotEqual(D_418392907_23_23,353358909)",
+ "equals(D_812370563_23_23,939782495)",
+ "equals(D_812370563_23_23,135725957)",
+ "equals(D_812370563_23_23,518416174)",
+ "equals(D_812370563_23_23,847945207)",
+ "equals(D_812370563_23_23,283025574)",
+ "equals(D_812370563_23_23,942970912)",
+ "equals(D_812370563_23_23,596122041)",
+ "equals(D_812370563_23_23,489400183)",
+ "equals(D_812370563_23_23,863246236)",
+ "equals(D_812370563_23_23,607793249)",
+ "equals(D_812370563_23_23,532172400)",
+ "equals(D_812370563_23_23,754745617)",
+ "equals(D_812370563_23_23,665036297)",
+ "equals(D_812370563_23_23,200837530)",
+ "equals(D_812370563_23_23,990319383)",
+ "equals(D_812370563_23_23,487917585)",
+ "equals(D_812370563_23_23,603181162)",
+ "equals(D_812370563_23_23,482225200)",
+ "equals(D_812370563_23_23,295976386)",
+ "equals(D_812370563_23_23,764891959)",
+ "equals(D_812370563_23_23,248374037)",
+ "equals(D_812370563_23_23,139822395)",
+ "equals(D_812370563_23_23,723614811)",
+ "equals(D_812370563_23_23,807835037)",
+ "valueLength('D_933110091_23_23')>0",
+ "doesNotExist('D_933110091_23_23')",
+ "equals(D_812370563_23_23,178420302)",
+ "selectionCount(\"D_812370563_23_23\",true)>0 or valueLength(\"D_933110091_23_23\")>0",
+ "valueLength('D_714001034_23_23')>0",
+ "equals(D_887697329_23_23,536341288)",
+ "equals(D_887697329_23_23,654207589)",
+ "equals(D_887697329_23_23,178420302)",
+ "allExist('D_473529484_23_23','D_812370563_23_23')",
+ "equals(D_473529484_23_23,353358909)",
+ "equals(D_473529484_23_23,104430631)",
+ "equals(D_873968217_23_23,709650750)",
+ "equals(D_873968217_23_23,810290359)",
+ "equals(D_873968217_23_23,509607548)",
+ "equals(D_873968217_23_23,784922042)",
+ "equals(D_718867914_23_23,104430631)",
+ "equals(D_718867914_23_23,353358909)",
+ "equals(D_718867914_23_23,178420302)",
+ "equals(isNotDefined(D_714001034_24_24,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_24_24,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_24_24,false),false),greaterThan(24,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_24_24,false),false),equals(24,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_24_24,353358909)",
+ "doesNotEqual(D_418392907_24_24,353358909)",
+ "equals(D_812370563_24_24,939782495)",
+ "equals(D_812370563_24_24,135725957)",
+ "equals(D_812370563_24_24,518416174)",
+ "equals(D_812370563_24_24,847945207)",
+ "equals(D_812370563_24_24,283025574)",
+ "equals(D_812370563_24_24,942970912)",
+ "equals(D_812370563_24_24,596122041)",
+ "equals(D_812370563_24_24,489400183)",
+ "equals(D_812370563_24_24,863246236)",
+ "equals(D_812370563_24_24,607793249)",
+ "equals(D_812370563_24_24,532172400)",
+ "equals(D_812370563_24_24,754745617)",
+ "equals(D_812370563_24_24,665036297)",
+ "equals(D_812370563_24_24,200837530)",
+ "equals(D_812370563_24_24,990319383)",
+ "equals(D_812370563_24_24,487917585)",
+ "equals(D_812370563_24_24,603181162)",
+ "equals(D_812370563_24_24,482225200)",
+ "equals(D_812370563_24_24,295976386)",
+ "equals(D_812370563_24_24,764891959)",
+ "equals(D_812370563_24_24,248374037)",
+ "equals(D_812370563_24_24,139822395)",
+ "equals(D_812370563_24_24,723614811)",
+ "equals(D_812370563_24_24,807835037)",
+ "valueLength('D_933110091_24_24')>0",
+ "doesNotExist('D_933110091_24_24')",
+ "equals(D_812370563_24_24,178420302)",
+ "selectionCount(\"D_812370563_24_24\",true)>0 or valueLength(\"D_933110091_24_24\")>0",
+ "valueLength('D_714001034_24_24')>0",
+ "equals(D_887697329_24_24,536341288)",
+ "equals(D_887697329_24_24,654207589)",
+ "equals(D_887697329_24_24,178420302)",
+ "allExist('D_473529484_24_24','D_812370563_24_24')",
+ "equals(D_473529484_24_24,353358909)",
+ "equals(D_473529484_24_24,104430631)",
+ "equals(D_873968217_24_24,709650750)",
+ "equals(D_873968217_24_24,810290359)",
+ "equals(D_873968217_24_24,509607548)",
+ "equals(D_873968217_24_24,784922042)",
+ "equals(D_718867914_24_24,104430631)",
+ "equals(D_718867914_24_24,353358909)",
+ "equals(D_718867914_24_24,178420302)",
+ "equals(isNotDefined(D_714001034_25_25,false),false)",
+ "doesNotEqual(isNotDefined(D_714001034_25_25,false),false)",
+ "and(doesNotEqual(isNotDefined(D_714001034_25_25,false),false),greaterThan(25,1))",
+ "and(and(doesNotEqual(isNotDefined(D_714001034_25_25,false),false),equals(25,1)),doesNotEqual(D_446999144,1))",
+ "equals(D_418392907_25_25,353358909)",
+ "doesNotEqual(D_418392907_25_25,353358909)",
+ "equals(D_812370563_25_25,939782495)",
+ "equals(D_812370563_25_25,135725957)",
+ "equals(D_812370563_25_25,518416174)",
+ "equals(D_812370563_25_25,847945207)",
+ "equals(D_812370563_25_25,283025574)",
+ "equals(D_812370563_25_25,942970912)",
+ "equals(D_812370563_25_25,596122041)",
+ "equals(D_812370563_25_25,489400183)",
+ "equals(D_812370563_25_25,863246236)",
+ "equals(D_812370563_25_25,607793249)",
+ "equals(D_812370563_25_25,532172400)",
+ "equals(D_812370563_25_25,754745617)",
+ "equals(D_812370563_25_25,665036297)",
+ "equals(D_812370563_25_25,200837530)",
+ "equals(D_812370563_25_25,990319383)",
+ "equals(D_812370563_25_25,487917585)",
+ "equals(D_812370563_25_25,603181162)",
+ "equals(D_812370563_25_25,482225200)",
+ "equals(D_812370563_25_25,295976386)",
+ "equals(D_812370563_25_25,764891959)",
+ "equals(D_812370563_25_25,248374037)",
+ "equals(D_812370563_25_25,139822395)",
+ "equals(D_812370563_25_25,723614811)",
+ "equals(D_812370563_25_25,807835037)",
+ "valueLength('D_933110091_25_25')>0",
+ "doesNotExist('D_933110091_25_25')",
+ "equals(D_812370563_25_25,178420302)",
+ "selectionCount(\"D_812370563_25_25\",true)>0 or valueLength(\"D_933110091_25_25\")>0",
+ "valueLength('D_714001034_25_25')>0",
+ "equals(D_887697329_25_25,536341288)",
+ "equals(D_887697329_25_25,654207589)",
+ "equals(D_887697329_25_25,178420302)",
+ "allExist('D_473529484_25_25','D_812370563_25_25')",
+ "equals(D_473529484_25_25,353358909)",
+ "equals(D_473529484_25_25,104430631)",
+ "equals(D_873968217_25_25,709650750)",
+ "equals(D_873968217_25_25,810290359)",
+ "equals(D_873968217_25_25,509607548)",
+ "equals(D_873968217_25_25,784922042)",
+ "equals(D_718867914_25_25,104430631)",
+ "equals(D_718867914_25_25,353358909)",
+ "equals(D_718867914_25_25,178420302)"
+ ],
+ "sitesByScope": {
+ "inline": 4283,
+ "question": 1500,
+ "response": 12
+ },
+ "sitesByAttribute": {
+ "displayif": 5795
+ }
+ },
+ "grids": [],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_694265648"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 218,
+ 253,
+ 288,
+ 323,
+ 358,
+ 393,
+ 428,
+ 463,
+ 498,
+ 533,
+ 568,
+ 603,
+ 638,
+ 673,
+ 708,
+ 743,
+ 778,
+ 813,
+ 848,
+ 883,
+ 918,
+ 953,
+ 988,
+ 1023,
+ 1058
+ ],
+ "boundaryIndex": 1093
+ },
+ {
+ "loopIndex": "2",
+ "loopMaxQuestionIds": [
+ "D_446999144"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 1097,
+ 1132,
+ 1167,
+ 1202,
+ 1237,
+ 1272,
+ 1307,
+ 1342,
+ 1377,
+ 1412,
+ 1447,
+ 1482,
+ 1517,
+ 1552,
+ 1587,
+ 1622,
+ 1657,
+ 1692,
+ 1727,
+ 1762,
+ 1797,
+ 1832,
+ 1867,
+ 1902,
+ 1937
+ ],
+ "boundaryIndex": 1972
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "D_279637054",
+ "D_761310265"
+ ],
+ "counts": {
+ "authoredMarkerCount": 315,
+ "processorQuestionCount": 1998,
+ "processedQuestionCount": 1998,
+ "renderedFormCount": 1998,
+ "controlCount": 11660,
+ "responseControlCount": 5610,
+ "explicitTransitionCount": 1831,
+ "sequentialAdjacencyCount": 1997,
+ "resolvedExplicitTransitionCount": 1831,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 5795,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 50,
+ "loopDefinitionCount": 2,
+ "loopExpandedQuestionCount": 1750,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2620
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2.txt",
+ "sha256": "a7b9dba4edd27d55ccb3830b0b54b8d4fa7003a1d2a9c1c79749aaeeaa4f664f",
+ "questName": "D_745268907_V2",
+ "version": "2.3",
+ "authoredMarkerCount": 359,
+ "runtimeQuestionIds": [
+ "INTROM2",
+ "SECTION1",
+ "D_399982309?",
+ "D_861838892?",
+ "D_596961796?",
+ "D_113681507?",
+ "D_177526169?",
+ "D_564374538?",
+ "D_643807999?",
+ "D_837412550?",
+ "D_825189914?",
+ "D_615979584?",
+ "D_814141708?",
+ "D_265428345?",
+ "D_275143071?",
+ "D_388804810?",
+ "D_753416375?",
+ "D_771526486?",
+ "D_292658699?",
+ "D_491549803?",
+ "D_152138929?",
+ "D_614446276?",
+ "D_646042915?",
+ "D_270254670?",
+ "D_861824298?",
+ "D_846227588?",
+ "D_630231395?",
+ "D_234177873?",
+ "D_799338907?",
+ "D_376720409?",
+ "D_575646308?",
+ "D_798182168?",
+ "D_655266993?",
+ "D_248599913?",
+ "D_893965588?",
+ "D_439072744?",
+ "D_733861762?",
+ "D_322479862?",
+ "D_509383583?",
+ "D_697661603?",
+ "D_438682764?",
+ "D_445571225?",
+ "D_761822652?",
+ "D_737490587?",
+ "D_887435355?",
+ "D_414005872?",
+ "D_614123836?",
+ "D_731790154?",
+ "D_550092533?",
+ "D_163057677?",
+ "D_225047594?",
+ "D_297084062?",
+ "D_305292465?",
+ "D_901498441?",
+ "D_147792229?",
+ "D_976052812?",
+ "D_991427384?",
+ "D_112024853?",
+ "D_694817520?",
+ "D_991622246?",
+ "D_450131058?",
+ "D_991873978?",
+ "D_371176229?",
+ "D_982448213?",
+ "D_745223146?",
+ "D_273218182?",
+ "D_850202336?",
+ "D_799903478?",
+ "D_465635548?",
+ "D_556235252?",
+ "D_643361372?",
+ "D_172234651?",
+ "D_753610471?",
+ "D_424183977?",
+ "D_824287808?",
+ "D_889053435?",
+ "D_416865817?",
+ "D_803968511?",
+ "D_378572291?",
+ "D_846978339?",
+ "D_936366310?",
+ "D_266752903?",
+ "D_618427836?",
+ "D_774514900?",
+ "D_368595692?",
+ "D_497904005?",
+ "SECTION2",
+ "SECTION2_SKIPPED",
+ "INTROWH",
+ "INTROMENSHIS",
+ "D_496539718?",
+ "D_167997205?",
+ "D_972593606?",
+ "D_791830593?",
+ "INTROMENSHIS2",
+ "D_547633480?",
+ "D_164595895?",
+ "D_263114971?",
+ "D_614145455?",
+ "D_534920374?",
+ "PREG",
+ "D_849945160?",
+ "D_996243083?",
+ "D_405571048!",
+ "D_968816827_1_1?",
+ "D_391951010_1_1?",
+ "D_281494550_1_1?",
+ "D_771528780_1_1?",
+ "D_486574018_1_1?",
+ "D_278277373_1_1?",
+ "D_779052408_1_1?",
+ "D_133297530_1_1?",
+ "PREGSUMMARY_1_1",
+ "D_968816827_2_2?",
+ "D_391951010_2_2?",
+ "D_281494550_2_2?",
+ "D_771528780_2_2?",
+ "D_486574018_2_2?",
+ "D_278277373_2_2?",
+ "D_779052408_2_2?",
+ "D_133297530_2_2?",
+ "PREGSUMMARY_2_2",
+ "D_968816827_3_3?",
+ "D_391951010_3_3?",
+ "D_281494550_3_3?",
+ "D_771528780_3_3?",
+ "D_486574018_3_3?",
+ "D_278277373_3_3?",
+ "D_779052408_3_3?",
+ "D_133297530_3_3?",
+ "PREGSUMMARY_3_3",
+ "D_968816827_4_4?",
+ "D_391951010_4_4?",
+ "D_281494550_4_4?",
+ "D_771528780_4_4?",
+ "D_486574018_4_4?",
+ "D_278277373_4_4?",
+ "D_779052408_4_4?",
+ "D_133297530_4_4?",
+ "PREGSUMMARY_4_4",
+ "D_968816827_5_5?",
+ "D_391951010_5_5?",
+ "D_281494550_5_5?",
+ "D_771528780_5_5?",
+ "D_486574018_5_5?",
+ "D_278277373_5_5?",
+ "D_779052408_5_5?",
+ "D_133297530_5_5?",
+ "PREGSUMMARY_5_5",
+ "D_968816827_6_6?",
+ "D_391951010_6_6?",
+ "D_281494550_6_6?",
+ "D_771528780_6_6?",
+ "D_486574018_6_6?",
+ "D_278277373_6_6?",
+ "D_779052408_6_6?",
+ "D_133297530_6_6?",
+ "PREGSUMMARY_6_6",
+ "D_968816827_7_7?",
+ "D_391951010_7_7?",
+ "D_281494550_7_7?",
+ "D_771528780_7_7?",
+ "D_486574018_7_7?",
+ "D_278277373_7_7?",
+ "D_779052408_7_7?",
+ "D_133297530_7_7?",
+ "PREGSUMMARY_7_7",
+ "D_968816827_8_8?",
+ "D_391951010_8_8?",
+ "D_281494550_8_8?",
+ "D_771528780_8_8?",
+ "D_486574018_8_8?",
+ "D_278277373_8_8?",
+ "D_779052408_8_8?",
+ "D_133297530_8_8?",
+ "PREGSUMMARY_8_8",
+ "D_968816827_9_9?",
+ "D_391951010_9_9?",
+ "D_281494550_9_9?",
+ "D_771528780_9_9?",
+ "D_486574018_9_9?",
+ "D_278277373_9_9?",
+ "D_779052408_9_9?",
+ "D_133297530_9_9?",
+ "PREGSUMMARY_9_9",
+ "D_968816827_10_10?",
+ "D_391951010_10_10?",
+ "D_281494550_10_10?",
+ "D_771528780_10_10?",
+ "D_486574018_10_10?",
+ "D_278277373_10_10?",
+ "D_779052408_10_10?",
+ "D_133297530_10_10?",
+ "PREGSUMMARY_10_10",
+ "D_968816827_11_11?",
+ "D_391951010_11_11?",
+ "D_281494550_11_11?",
+ "D_771528780_11_11?",
+ "D_486574018_11_11?",
+ "D_278277373_11_11?",
+ "D_779052408_11_11?",
+ "D_133297530_11_11?",
+ "PREGSUMMARY_11_11",
+ "D_968816827_12_12?",
+ "D_391951010_12_12?",
+ "D_281494550_12_12?",
+ "D_771528780_12_12?",
+ "D_486574018_12_12?",
+ "D_278277373_12_12?",
+ "D_779052408_12_12?",
+ "D_133297530_12_12?",
+ "PREGSUMMARY_12_12",
+ "D_968816827_13_13?",
+ "D_391951010_13_13?",
+ "D_281494550_13_13?",
+ "D_771528780_13_13?",
+ "D_486574018_13_13?",
+ "D_278277373_13_13?",
+ "D_779052408_13_13?",
+ "D_133297530_13_13?",
+ "PREGSUMMARY_13_13",
+ "D_968816827_14_14?",
+ "D_391951010_14_14?",
+ "D_281494550_14_14?",
+ "D_771528780_14_14?",
+ "D_486574018_14_14?",
+ "D_278277373_14_14?",
+ "D_779052408_14_14?",
+ "D_133297530_14_14?",
+ "PREGSUMMARY_14_14",
+ "D_968816827_15_15?",
+ "D_391951010_15_15?",
+ "D_281494550_15_15?",
+ "D_771528780_15_15?",
+ "D_486574018_15_15?",
+ "D_278277373_15_15?",
+ "D_779052408_15_15?",
+ "D_133297530_15_15?",
+ "PREGSUMMARY_15_15",
+ "D_968816827_16_16?",
+ "D_391951010_16_16?",
+ "D_281494550_16_16?",
+ "D_771528780_16_16?",
+ "D_486574018_16_16?",
+ "D_278277373_16_16?",
+ "D_779052408_16_16?",
+ "D_133297530_16_16?",
+ "PREGSUMMARY_16_16",
+ "D_968816827_17_17?",
+ "D_391951010_17_17?",
+ "D_281494550_17_17?",
+ "D_771528780_17_17?",
+ "D_486574018_17_17?",
+ "D_278277373_17_17?",
+ "D_779052408_17_17?",
+ "D_133297530_17_17?",
+ "PREGSUMMARY_17_17",
+ "D_968816827_18_18?",
+ "D_391951010_18_18?",
+ "D_281494550_18_18?",
+ "D_771528780_18_18?",
+ "D_486574018_18_18?",
+ "D_278277373_18_18?",
+ "D_779052408_18_18?",
+ "D_133297530_18_18?",
+ "PREGSUMMARY_18_18",
+ "D_968816827_19_19?",
+ "D_391951010_19_19?",
+ "D_281494550_19_19?",
+ "D_771528780_19_19?",
+ "D_486574018_19_19?",
+ "D_278277373_19_19?",
+ "D_779052408_19_19?",
+ "D_133297530_19_19?",
+ "PREGSUMMARY_19_19",
+ "D_968816827_20_20?",
+ "D_391951010_20_20?",
+ "D_281494550_20_20?",
+ "D_771528780_20_20?",
+ "D_486574018_20_20?",
+ "D_278277373_20_20?",
+ "D_779052408_20_20?",
+ "D_133297530_20_20?",
+ "PREGSUMMARY_20_20",
+ "D_968816827_21_21?",
+ "D_391951010_21_21?",
+ "D_281494550_21_21?",
+ "D_771528780_21_21?",
+ "D_486574018_21_21?",
+ "D_278277373_21_21?",
+ "D_779052408_21_21?",
+ "D_133297530_21_21?",
+ "PREGSUMMARY_21_21",
+ "D_968816827_22_22?",
+ "D_391951010_22_22?",
+ "D_281494550_22_22?",
+ "D_771528780_22_22?",
+ "D_486574018_22_22?",
+ "D_278277373_22_22?",
+ "D_779052408_22_22?",
+ "D_133297530_22_22?",
+ "PREGSUMMARY_22_22",
+ "D_968816827_23_23?",
+ "D_391951010_23_23?",
+ "D_281494550_23_23?",
+ "D_771528780_23_23?",
+ "D_486574018_23_23?",
+ "D_278277373_23_23?",
+ "D_779052408_23_23?",
+ "D_133297530_23_23?",
+ "PREGSUMMARY_23_23",
+ "D_968816827_24_24?",
+ "D_391951010_24_24?",
+ "D_281494550_24_24?",
+ "D_771528780_24_24?",
+ "D_486574018_24_24?",
+ "D_278277373_24_24?",
+ "D_779052408_24_24?",
+ "D_133297530_24_24?",
+ "PREGSUMMARY_24_24",
+ "D_968816827_25_25?",
+ "D_391951010_25_25?",
+ "D_281494550_25_25?",
+ "D_771528780_25_25?",
+ "D_486574018_25_25?",
+ "D_278277373_25_25?",
+ "D_779052408_25_25?",
+ "D_133297530_25_25?",
+ "PREGSUMMARY_25_25",
+ "END_OF_LOOP",
+ "FERT1",
+ "D_939897560?",
+ "D_760801131?",
+ "D_424047361?",
+ "D_548355426?",
+ "D_224681201?",
+ "D_881200765?",
+ "D_139673389?",
+ "D_943996164?",
+ "D_994899398?",
+ "D_198719822?",
+ "D_628137243?",
+ "D_399078599?",
+ "D_560711355?",
+ "D_309710463?",
+ "D_167207966?",
+ "D_538349354?",
+ "D_767785846?",
+ "D_466346054?",
+ "D_111082535?",
+ "D_875135634?",
+ "HORMED",
+ "D_543780863?",
+ "D_880331901?",
+ "D_301052397?",
+ "D_734836192?",
+ "D_215455305?",
+ "D_809735528?",
+ "D_958009220?",
+ "D_946211808?",
+ "D_654271781?",
+ "D_220105997?",
+ "D_806253825?",
+ "D_819957363?",
+ "D_604086099?",
+ "D_938969985?",
+ "D_876683805?",
+ "D_118237712?",
+ "D_899455852?",
+ "D_902999015?",
+ "D_484006644?",
+ "D_190721176?",
+ "D_358011592?",
+ "D_807214881?",
+ "D_344573484?",
+ "D_708921303?",
+ "D_535533643?",
+ "D_901154649?",
+ "D_100937200?",
+ "D_452984435?",
+ "D_129924389?",
+ "D_404596261?",
+ "D_465017353?",
+ "D_370798456?",
+ "D_101144925?",
+ "D_583012139?",
+ "D_991330361?",
+ "D_184692605?",
+ "D_139348254?",
+ "MENOHOR",
+ "D_621744463?",
+ "D_668834883?",
+ "D_856627601?",
+ "D_801749224?",
+ "D_799382711?",
+ "D_623759247?",
+ "D_564185028?",
+ "D_560845692?",
+ "D_779165920?",
+ "D_745775718?",
+ "D_648678282?",
+ "D_850536692?",
+ "D_774992239?",
+ "D_695206943?",
+ "D_291707744?",
+ "D_792792066?",
+ "D_894363067?",
+ "D_984901301?",
+ "D_872509317?",
+ "D_378921620?",
+ "D_854078473?",
+ "D_268372217?",
+ "D_800943768?",
+ "D_590329439?",
+ "D_906459952?",
+ "D_747629521?",
+ "D_556129044?",
+ "D_563663099?",
+ "D_356969766?",
+ "D_453820991?",
+ "D_111271067?",
+ "D_597869478?",
+ "D_949663397?",
+ "D_263785082?",
+ "D_824165133?",
+ "D_295472931?",
+ "D_728437398?",
+ "D_578176688?",
+ "D_922903688?",
+ "D_963284259?",
+ "D_615905904?",
+ "D_946710366?",
+ "D_219538082?",
+ "D_583111732?",
+ "D_603209609?",
+ "D_824251330?",
+ "D_912818075?",
+ "D_138836502?",
+ "D_290126991?",
+ "TESTTHER_INTRO",
+ "D_111235606?",
+ "D_946849196?",
+ "D_797076693?",
+ "D_984514646?",
+ "D_414663452?",
+ "D_570187182?",
+ "D_557526470?",
+ "D_492822047?",
+ "D_466727144?",
+ "D_307736999?",
+ "D_305195766?",
+ "WORKACT",
+ "D_392658845",
+ "INTROSITTING",
+ "D_649352910",
+ "HOUSE1",
+ "D_733547268",
+ "D_128705365",
+ "D_204421360?",
+ "D_442059084?",
+ "D_992022740?",
+ "D_429531329?",
+ "D_829749579?",
+ "D_888313306?",
+ "D_644018981?",
+ "D_618482103?",
+ "D_352531133?",
+ "D_267261558?",
+ "D_517976064?",
+ "D_894610280?",
+ "D_267122668?",
+ "D_901660173?",
+ "D_222110888?",
+ "D_953510929?",
+ "D_422260069?",
+ "D_564242877?",
+ "D_411788467?",
+ "D_141251197?",
+ "D_635874413?",
+ "D_184448791?",
+ "D_768302347?",
+ "D_371748514?",
+ "D_944699052?",
+ "D_658018390?",
+ "D_858525957?",
+ "D_849399881?",
+ "D_406846149?",
+ "D_787591805?",
+ "D_689956879?",
+ "D_725713485?",
+ "D_900299856?",
+ "D_255761998?",
+ "D_571361258?",
+ "D_149884127?",
+ "D_167966775?",
+ "D_904844824?",
+ "D_845164425?",
+ "D_612068433?",
+ "D_650405110?",
+ "D_187772368?",
+ "D_865200503?",
+ "D_831643763?",
+ "D_815229596?",
+ "D_981509686?",
+ "D_921220809?",
+ "D_262305264?",
+ "D_214750556?",
+ "D_621878019?",
+ "D_409324592?",
+ "D_775324618?",
+ "D_305312165?",
+ "D_895837106?",
+ "D_522949496?",
+ "D_272119228?",
+ "SECTION4",
+ "D_591723682?",
+ "D_168431681?",
+ "INTROSLESCH1",
+ "INTROSLESCH1_1",
+ "D_636757313?",
+ "D_653906464?",
+ "D_580367946?",
+ "D_358259099?",
+ "D_392629868?",
+ "D_354980163?",
+ "D_424807655?",
+ "INTROSLESCH2",
+ "D_823919522?",
+ "D_532767229?",
+ "D_698673038?",
+ "D_711365027?",
+ "D_874262904?",
+ "D_820694957?",
+ "D_823541843?",
+ "D_825227968?",
+ "SLEEPHABITS",
+ "D_421859821",
+ "D_910856756?",
+ "D_981441822",
+ "D_471018082?",
+ "D_940733450?",
+ "D_406137786?",
+ "D_631303960?",
+ "D_876846761?",
+ "D_756521698?",
+ "D_479628567?",
+ "D_629010195?",
+ "D_674976924?",
+ "D_195662769?",
+ "D_214870856?",
+ "D_680730257?",
+ "D_392874924?",
+ "D_199254974?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 244,
+ "number": 236,
+ "radio": 1105,
+ "text": 9,
+ "time": 6
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_861838892",
+ "D_837412550",
+ "D_388804810",
+ "D_614446276",
+ "D_234177873",
+ "D_248599913",
+ "D_697661603",
+ "D_414005872",
+ "D_596961796",
+ "D_113681507",
+ "D_177526169",
+ "D_643807999",
+ "D_564374538",
+ "D_825189914",
+ "D_615979584",
+ "D_814141708",
+ "D_275143071",
+ "D_265428345",
+ "D_753416375",
+ "D_771526486",
+ "D_292658699",
+ "D_152138929",
+ "D_491549803",
+ "D_646042915",
+ "D_270254670",
+ "D_861824298",
+ "D_630231395",
+ "D_846227588",
+ "D_799338907",
+ "D_376720409",
+ "D_575646308",
+ "D_655266993",
+ "D_798182168",
+ "D_893965588",
+ "D_439072744",
+ "D_733861762",
+ "D_509383583",
+ "D_322479862",
+ "D_438682764",
+ "D_445571225",
+ "D_761822652",
+ "D_887435355",
+ "D_737490587",
+ "D_731790154",
+ "D_305292465",
+ "D_112024853",
+ "D_550092533",
+ "D_163057677",
+ "D_225047594",
+ "D_297084062",
+ "D_901498441",
+ "D_147792229",
+ "D_976052812",
+ "D_991427384",
+ "D_694817520",
+ "D_982448213",
+ "D_371176229",
+ "D_745223146",
+ "D_643361372",
+ "D_556235252",
+ "D_172234651",
+ "D_416865817",
+ "D_266752903",
+ "SECTION2",
+ "D_753610471",
+ "D_424183977",
+ "D_824287808",
+ "D_889053435",
+ "D_803968511",
+ "D_378572291",
+ "D_846978339",
+ "D_936366310",
+ "D_618427836",
+ "D_774514900",
+ "D_368595692",
+ "D_497904005",
+ "D_111235606",
+ "INTROMENSHIS2",
+ "D_972593606",
+ "D_791830593",
+ "D_534920374",
+ "D_614145455",
+ "PREG",
+ "D_263114971",
+ "D_405571048",
+ "D_996243083",
+ "FERT1",
+ "D_771528780_1_1",
+ "PREGSUMMARY_1_1",
+ "D_779052408_1_1",
+ "D_771528780_2_2",
+ "PREGSUMMARY_2_2",
+ "D_779052408_2_2",
+ "D_771528780_3_3",
+ "PREGSUMMARY_3_3",
+ "D_779052408_3_3",
+ "D_771528780_4_4",
+ "PREGSUMMARY_4_4",
+ "D_779052408_4_4",
+ "D_771528780_5_5",
+ "PREGSUMMARY_5_5",
+ "D_779052408_5_5",
+ "D_771528780_6_6",
+ "PREGSUMMARY_6_6",
+ "D_779052408_6_6",
+ "D_771528780_7_7",
+ "PREGSUMMARY_7_7",
+ "D_779052408_7_7",
+ "D_771528780_8_8",
+ "PREGSUMMARY_8_8",
+ "D_779052408_8_8",
+ "D_771528780_9_9",
+ "PREGSUMMARY_9_9",
+ "D_779052408_9_9",
+ "D_771528780_10_10",
+ "PREGSUMMARY_10_10",
+ "D_779052408_10_10",
+ "D_771528780_11_11",
+ "PREGSUMMARY_11_11",
+ "D_779052408_11_11",
+ "D_771528780_12_12",
+ "PREGSUMMARY_12_12",
+ "D_779052408_12_12",
+ "D_771528780_13_13",
+ "PREGSUMMARY_13_13",
+ "D_779052408_13_13",
+ "D_771528780_14_14",
+ "PREGSUMMARY_14_14",
+ "D_779052408_14_14",
+ "D_771528780_15_15",
+ "PREGSUMMARY_15_15",
+ "D_779052408_15_15",
+ "D_771528780_16_16",
+ "PREGSUMMARY_16_16",
+ "D_779052408_16_16",
+ "D_771528780_17_17",
+ "PREGSUMMARY_17_17",
+ "D_779052408_17_17",
+ "D_771528780_18_18",
+ "PREGSUMMARY_18_18",
+ "D_779052408_18_18",
+ "D_771528780_19_19",
+ "PREGSUMMARY_19_19",
+ "D_779052408_19_19",
+ "D_771528780_20_20",
+ "PREGSUMMARY_20_20",
+ "D_779052408_20_20",
+ "D_771528780_21_21",
+ "PREGSUMMARY_21_21",
+ "D_779052408_21_21",
+ "D_771528780_22_22",
+ "PREGSUMMARY_22_22",
+ "D_779052408_22_22",
+ "D_771528780_23_23",
+ "PREGSUMMARY_23_23",
+ "D_779052408_23_23",
+ "D_771528780_24_24",
+ "PREGSUMMARY_24_24",
+ "D_779052408_24_24",
+ "D_771528780_25_25",
+ "PREGSUMMARY_25_25",
+ "D_779052408_25_25",
+ "D_224681201",
+ "D_111082535",
+ "D_139673389",
+ "D_943996164",
+ "D_994899398",
+ "D_198719822",
+ "D_628137243",
+ "D_399078599",
+ "D_560711355",
+ "D_309710463",
+ "D_167207966",
+ "D_538349354",
+ "D_767785846",
+ "D_466346054",
+ "D_875135634",
+ "HORMED",
+ "D_880331901",
+ "D_809735528",
+ "D_220105997",
+ "D_938969985",
+ "D_902999015",
+ "D_807214881",
+ "D_901154649",
+ "D_404596261",
+ "D_583012139",
+ "MENOHOR",
+ "D_301052397",
+ "D_215455305",
+ "D_734836192",
+ "D_958009220",
+ "D_654271781",
+ "D_946211808",
+ "D_806253825",
+ "D_604086099",
+ "D_819957363",
+ "D_876683805",
+ "D_899455852",
+ "D_118237712",
+ "D_484006644",
+ "D_358011592",
+ "D_190721176",
+ "D_344573484",
+ "D_535533643",
+ "D_708921303",
+ "D_100937200",
+ "D_129924389",
+ "D_452984435",
+ "D_465017353",
+ "D_101144925",
+ "D_370798456",
+ "D_991330361",
+ "D_139348254",
+ "D_184692605",
+ "D_668834883",
+ "WORKACT",
+ "D_856627601",
+ "D_564185028",
+ "D_648678282",
+ "D_291707744",
+ "D_872509317",
+ "D_800943768",
+ "D_801749224",
+ "D_623759247",
+ "D_799382711",
+ "D_560845692",
+ "D_745775718",
+ "D_779165920",
+ "D_850536692",
+ "D_695206943",
+ "D_774992239",
+ "D_792792066",
+ "D_984901301",
+ "D_894363067",
+ "D_378921620",
+ "D_268372217",
+ "D_854078473",
+ "D_590329439",
+ "D_356969766",
+ "D_263785082",
+ "D_906459952",
+ "D_556129044",
+ "D_747629521",
+ "D_563663099",
+ "D_453820991",
+ "D_597869478",
+ "D_111271067",
+ "D_949663397",
+ "D_824165133",
+ "D_922903688",
+ "D_219538082",
+ "TESTTHER_INTRO",
+ "D_295472931",
+ "D_578176688",
+ "D_728437398",
+ "D_963284259",
+ "D_946710366",
+ "D_615905904",
+ "D_583111732",
+ "D_824251330",
+ "D_603209609",
+ "D_290126991",
+ "D_570187182",
+ "D_557526470",
+ "D_305195766",
+ "D_307736999",
+ "D_442059084",
+ "D_829749579",
+ "D_618482103",
+ "D_517976064",
+ "D_992022740",
+ "D_429531329",
+ "D_888313306",
+ "D_644018981",
+ "D_352531133",
+ "D_267261558",
+ "D_894610280",
+ "D_222110888",
+ "D_564242877",
+ "D_635874413",
+ "D_371748514",
+ "D_858525957",
+ "D_787591805",
+ "D_900299856",
+ "D_149884127",
+ "D_845164425",
+ "D_187772368",
+ "D_815229596",
+ "D_262305264",
+ "D_409324592",
+ "D_895837106",
+ "SECTION4",
+ "D_267122668",
+ "D_901660173",
+ "D_953510929",
+ "D_422260069",
+ "D_411788467",
+ "D_141251197",
+ "D_184448791",
+ "D_768302347",
+ "D_944699052",
+ "D_658018390",
+ "D_849399881",
+ "D_406846149",
+ "D_689956879",
+ "D_725713485",
+ "D_255761998",
+ "D_571361258",
+ "D_167966775",
+ "D_904844824",
+ "D_612068433",
+ "D_650405110",
+ "D_865200503",
+ "D_831643763",
+ "D_981509686",
+ "D_921220809",
+ "D_214750556",
+ "D_621878019",
+ "D_775324618",
+ "D_305312165",
+ "D_522949496",
+ "D_272119228",
+ "D_168431681",
+ "INTROSLESCH1",
+ "D_636757313",
+ "D_354980163",
+ "D_424807655",
+ "D_820694957",
+ "D_823541843",
+ "D_406137786",
+ "D_479628567",
+ "D_631303960",
+ "D_876846761",
+ "D_756521698",
+ "D_629010195",
+ "D_674976924",
+ "D_195662769",
+ "END"
+ ],
+ "byKind": {
+ "default": 140,
+ "no-response": 104,
+ "response": 314
+ },
+ "byResolution": {
+ "exact": 555,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "checkbox": 65,
+ "hidden": 244,
+ "radio": 249
+ },
+ "triggerValues": [
+ "469512398",
+ "194424439",
+ "422188606",
+ "555555502",
+ "800410166",
+ "221645137",
+ "974248369",
+ "317567178",
+ "484055234",
+ "802197176",
+ "480724806",
+ "819373917",
+ "353358909",
+ "104430631",
+ "933374659",
+ "920460744",
+ "449861632",
+ "648960871",
+ "868025301",
+ "939110313",
+ "410083265",
+ "718537646",
+ "801142243",
+ "178420302",
+ "549031911",
+ "858427002",
+ "471375042",
+ "386152189",
+ "650420270",
+ "113064256",
+ "548167685",
+ "859025516",
+ "582425113",
+ "330745988",
+ "909774794",
+ "868504994",
+ "655309065",
+ "757609794",
+ "585076356",
+ "807835037",
+ "223216393",
+ "306890578",
+ "858244199",
+ "746038746",
+ "619799524",
+ "663814928",
+ "642004888",
+ "454641975",
+ "256131117",
+ "532607252",
+ "459188493",
+ "304927036",
+ "100181644",
+ "372219003",
+ "743731422",
+ "441493408",
+ "612012325",
+ "100752105",
+ "207913198",
+ "863920008",
+ "787142499",
+ "205223932",
+ "817131019",
+ "181769837",
+ "246843973",
+ "854184254",
+ "515434780",
+ "674148137",
+ "687050279",
+ "837393880",
+ "944874693",
+ "535003378",
+ "797221287",
+ "500744195",
+ "383015037",
+ "904954920",
+ "619501806",
+ "203192394",
+ "261267696",
+ "926584500",
+ "420058896",
+ "868685663",
+ "760484278",
+ "345916806",
+ "936042582",
+ "182827107",
+ "734860227",
+ "371531887",
+ "423631576",
+ "370923702",
+ "958538953",
+ "274062548"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "valueIsOneOf('D_750420077',578416151,434651539) or valueEquals('D_407056417',536341288)",
+ "valueIsOneOf(\"D_750420077\",578416151,434651539) or valueEquals(\"D_407056417\",536341288)",
+ "equals(D_643361372,933374659)",
+ "equals(D_643361372,920460744)",
+ "equals(D_643361372,449861632)",
+ "not (equals(\"D_407056417\",536341288) or valueIsOneOf(\"D_750420077\",578416151,434651539))",
+ "equals(\"D_407056417\",536341288) or valueIsOneOf(\"D_750420077\",578416151,434651539)",
+ "doesNotEqual(D_496539718,648960871)",
+ "greaterThanOrEqual(D_405571048,1)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,1)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,1)))",
+ "equals(D_391951010_1_1,628445697)",
+ "equals(D_391951010_1_1,419220239)",
+ "or(equals(D_391951010_1_1,223216393),equals(D_391951010_1_1,628445697))",
+ "equals(D_391951010_1_1,223216393)",
+ "equals(D_391951010_1_1,306890578)",
+ "equals(D_391951010_1_1,858244199)",
+ "equals(D_391951010_1_1,746038746)",
+ "valueIsOneOf('D_391951010_1_1',628445697,419220239)",
+ "equals(D_281494550_1_1,582602017)",
+ "equals(D_281494550_1_1,105727261)",
+ "equals(D_281494550_1_1,720288326)",
+ "valueIsOneOf('D_391951010_1_1',223216393,628445697,419220239)",
+ "equals(D_771528780_1_1,660308254)",
+ "equals(D_771528780_1_1,936573532)",
+ "equals(D_486574018_1_1,353358909)",
+ "equals(D_486574018_1_1,104430631)",
+ "valueIsOneOf('D_391951010_1_1',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_1_1,353358909)",
+ "equals(D_779052408_1_1,104430631)",
+ "equals(D_133297530_1_1,353358909)",
+ "equals(D_133297530_1_1,104430631)",
+ "greaterThanOrEqual(D_405571048,2)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,2)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,2)))",
+ "equals(D_391951010_2_2,628445697)",
+ "equals(D_391951010_2_2,419220239)",
+ "or(equals(D_391951010_2_2,223216393),equals(D_391951010_2_2,628445697))",
+ "equals(D_391951010_2_2,223216393)",
+ "equals(D_391951010_2_2,306890578)",
+ "equals(D_391951010_2_2,858244199)",
+ "equals(D_391951010_2_2,746038746)",
+ "valueIsOneOf('D_391951010_2_2',628445697,419220239)",
+ "equals(D_281494550_2_2,582602017)",
+ "equals(D_281494550_2_2,105727261)",
+ "equals(D_281494550_2_2,720288326)",
+ "valueIsOneOf('D_391951010_2_2',223216393,628445697,419220239)",
+ "equals(D_771528780_2_2,660308254)",
+ "equals(D_771528780_2_2,936573532)",
+ "equals(D_486574018_2_2,353358909)",
+ "equals(D_486574018_2_2,104430631)",
+ "valueIsOneOf('D_391951010_2_2',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_2_2,353358909)",
+ "equals(D_779052408_2_2,104430631)",
+ "equals(D_133297530_2_2,353358909)",
+ "equals(D_133297530_2_2,104430631)",
+ "greaterThanOrEqual(D_405571048,3)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,3)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,3)))",
+ "equals(D_391951010_3_3,628445697)",
+ "equals(D_391951010_3_3,419220239)",
+ "or(equals(D_391951010_3_3,223216393),equals(D_391951010_3_3,628445697))",
+ "equals(D_391951010_3_3,223216393)",
+ "equals(D_391951010_3_3,306890578)",
+ "equals(D_391951010_3_3,858244199)",
+ "equals(D_391951010_3_3,746038746)",
+ "valueIsOneOf('D_391951010_3_3',628445697,419220239)",
+ "equals(D_281494550_3_3,582602017)",
+ "equals(D_281494550_3_3,105727261)",
+ "equals(D_281494550_3_3,720288326)",
+ "valueIsOneOf('D_391951010_3_3',223216393,628445697,419220239)",
+ "equals(D_771528780_3_3,660308254)",
+ "equals(D_771528780_3_3,936573532)",
+ "equals(D_486574018_3_3,353358909)",
+ "equals(D_486574018_3_3,104430631)",
+ "valueIsOneOf('D_391951010_3_3',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_3_3,353358909)",
+ "equals(D_779052408_3_3,104430631)",
+ "equals(D_133297530_3_3,353358909)",
+ "equals(D_133297530_3_3,104430631)",
+ "greaterThanOrEqual(D_405571048,4)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,4)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,4)))",
+ "equals(D_391951010_4_4,628445697)",
+ "equals(D_391951010_4_4,419220239)",
+ "or(equals(D_391951010_4_4,223216393),equals(D_391951010_4_4,628445697))",
+ "equals(D_391951010_4_4,223216393)",
+ "equals(D_391951010_4_4,306890578)",
+ "equals(D_391951010_4_4,858244199)",
+ "equals(D_391951010_4_4,746038746)",
+ "valueIsOneOf('D_391951010_4_4',628445697,419220239)",
+ "equals(D_281494550_4_4,582602017)",
+ "equals(D_281494550_4_4,105727261)",
+ "equals(D_281494550_4_4,720288326)",
+ "valueIsOneOf('D_391951010_4_4',223216393,628445697,419220239)",
+ "equals(D_771528780_4_4,660308254)",
+ "equals(D_771528780_4_4,936573532)",
+ "equals(D_486574018_4_4,353358909)",
+ "equals(D_486574018_4_4,104430631)",
+ "valueIsOneOf('D_391951010_4_4',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_4_4,353358909)",
+ "equals(D_779052408_4_4,104430631)",
+ "equals(D_133297530_4_4,353358909)",
+ "equals(D_133297530_4_4,104430631)",
+ "greaterThanOrEqual(D_405571048,5)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,5)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,5)))",
+ "equals(D_391951010_5_5,628445697)",
+ "equals(D_391951010_5_5,419220239)",
+ "or(equals(D_391951010_5_5,223216393),equals(D_391951010_5_5,628445697))",
+ "equals(D_391951010_5_5,223216393)",
+ "equals(D_391951010_5_5,306890578)",
+ "equals(D_391951010_5_5,858244199)",
+ "equals(D_391951010_5_5,746038746)",
+ "valueIsOneOf('D_391951010_5_5',628445697,419220239)",
+ "equals(D_281494550_5_5,582602017)",
+ "equals(D_281494550_5_5,105727261)",
+ "equals(D_281494550_5_5,720288326)",
+ "valueIsOneOf('D_391951010_5_5',223216393,628445697,419220239)",
+ "equals(D_771528780_5_5,660308254)",
+ "equals(D_771528780_5_5,936573532)",
+ "equals(D_486574018_5_5,353358909)",
+ "equals(D_486574018_5_5,104430631)",
+ "valueIsOneOf('D_391951010_5_5',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_5_5,353358909)",
+ "equals(D_779052408_5_5,104430631)",
+ "equals(D_133297530_5_5,353358909)",
+ "equals(D_133297530_5_5,104430631)",
+ "greaterThanOrEqual(D_405571048,6)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,6)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,6)))",
+ "equals(D_391951010_6_6,628445697)",
+ "equals(D_391951010_6_6,419220239)",
+ "or(equals(D_391951010_6_6,223216393),equals(D_391951010_6_6,628445697))",
+ "equals(D_391951010_6_6,223216393)",
+ "equals(D_391951010_6_6,306890578)",
+ "equals(D_391951010_6_6,858244199)",
+ "equals(D_391951010_6_6,746038746)",
+ "valueIsOneOf('D_391951010_6_6',628445697,419220239)",
+ "equals(D_281494550_6_6,582602017)",
+ "equals(D_281494550_6_6,105727261)",
+ "equals(D_281494550_6_6,720288326)",
+ "valueIsOneOf('D_391951010_6_6',223216393,628445697,419220239)",
+ "equals(D_771528780_6_6,660308254)",
+ "equals(D_771528780_6_6,936573532)",
+ "equals(D_486574018_6_6,353358909)",
+ "equals(D_486574018_6_6,104430631)",
+ "valueIsOneOf('D_391951010_6_6',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_6_6,353358909)",
+ "equals(D_779052408_6_6,104430631)",
+ "equals(D_133297530_6_6,353358909)",
+ "equals(D_133297530_6_6,104430631)",
+ "greaterThanOrEqual(D_405571048,7)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,7)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,7)))",
+ "equals(D_391951010_7_7,628445697)",
+ "equals(D_391951010_7_7,419220239)",
+ "or(equals(D_391951010_7_7,223216393),equals(D_391951010_7_7,628445697))",
+ "equals(D_391951010_7_7,223216393)",
+ "equals(D_391951010_7_7,306890578)",
+ "equals(D_391951010_7_7,858244199)",
+ "equals(D_391951010_7_7,746038746)",
+ "valueIsOneOf('D_391951010_7_7',628445697,419220239)",
+ "equals(D_281494550_7_7,582602017)",
+ "equals(D_281494550_7_7,105727261)",
+ "equals(D_281494550_7_7,720288326)",
+ "valueIsOneOf('D_391951010_7_7',223216393,628445697,419220239)",
+ "equals(D_771528780_7_7,660308254)",
+ "equals(D_771528780_7_7,936573532)",
+ "equals(D_486574018_7_7,353358909)",
+ "equals(D_486574018_7_7,104430631)",
+ "valueIsOneOf('D_391951010_7_7',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_7_7,353358909)",
+ "equals(D_779052408_7_7,104430631)",
+ "equals(D_133297530_7_7,353358909)",
+ "equals(D_133297530_7_7,104430631)",
+ "greaterThanOrEqual(D_405571048,8)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,8)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,8)))",
+ "equals(D_391951010_8_8,628445697)",
+ "equals(D_391951010_8_8,419220239)",
+ "or(equals(D_391951010_8_8,223216393),equals(D_391951010_8_8,628445697))",
+ "equals(D_391951010_8_8,223216393)",
+ "equals(D_391951010_8_8,306890578)",
+ "equals(D_391951010_8_8,858244199)",
+ "equals(D_391951010_8_8,746038746)",
+ "valueIsOneOf('D_391951010_8_8',628445697,419220239)",
+ "equals(D_281494550_8_8,582602017)",
+ "equals(D_281494550_8_8,105727261)",
+ "equals(D_281494550_8_8,720288326)",
+ "valueIsOneOf('D_391951010_8_8',223216393,628445697,419220239)",
+ "equals(D_771528780_8_8,660308254)",
+ "equals(D_771528780_8_8,936573532)",
+ "equals(D_486574018_8_8,353358909)",
+ "equals(D_486574018_8_8,104430631)",
+ "valueIsOneOf('D_391951010_8_8',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_8_8,353358909)",
+ "equals(D_779052408_8_8,104430631)",
+ "equals(D_133297530_8_8,353358909)",
+ "equals(D_133297530_8_8,104430631)",
+ "greaterThanOrEqual(D_405571048,9)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,9)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,9)))",
+ "equals(D_391951010_9_9,628445697)",
+ "equals(D_391951010_9_9,419220239)",
+ "or(equals(D_391951010_9_9,223216393),equals(D_391951010_9_9,628445697))",
+ "equals(D_391951010_9_9,223216393)",
+ "equals(D_391951010_9_9,306890578)",
+ "equals(D_391951010_9_9,858244199)",
+ "equals(D_391951010_9_9,746038746)",
+ "valueIsOneOf('D_391951010_9_9',628445697,419220239)",
+ "equals(D_281494550_9_9,582602017)",
+ "equals(D_281494550_9_9,105727261)",
+ "equals(D_281494550_9_9,720288326)",
+ "valueIsOneOf('D_391951010_9_9',223216393,628445697,419220239)",
+ "equals(D_771528780_9_9,660308254)",
+ "equals(D_771528780_9_9,936573532)",
+ "equals(D_486574018_9_9,353358909)",
+ "equals(D_486574018_9_9,104430631)",
+ "valueIsOneOf('D_391951010_9_9',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_9_9,353358909)",
+ "equals(D_779052408_9_9,104430631)",
+ "equals(D_133297530_9_9,353358909)",
+ "equals(D_133297530_9_9,104430631)",
+ "greaterThanOrEqual(D_405571048,10)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,10)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,10)))",
+ "equals(D_391951010_10_10,628445697)",
+ "equals(D_391951010_10_10,419220239)",
+ "or(equals(D_391951010_10_10,223216393),equals(D_391951010_10_10,628445697))",
+ "equals(D_391951010_10_10,223216393)",
+ "equals(D_391951010_10_10,306890578)",
+ "equals(D_391951010_10_10,858244199)",
+ "equals(D_391951010_10_10,746038746)",
+ "valueIsOneOf('D_391951010_10_10',628445697,419220239)",
+ "equals(D_281494550_10_10,582602017)",
+ "equals(D_281494550_10_10,105727261)",
+ "equals(D_281494550_10_10,720288326)",
+ "valueIsOneOf('D_391951010_10_10',223216393,628445697,419220239)",
+ "equals(D_771528780_10_10,660308254)",
+ "equals(D_771528780_10_10,936573532)",
+ "equals(D_486574018_10_10,353358909)",
+ "equals(D_486574018_10_10,104430631)",
+ "valueIsOneOf('D_391951010_10_10',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_10_10,353358909)",
+ "equals(D_779052408_10_10,104430631)",
+ "equals(D_133297530_10_10,353358909)",
+ "equals(D_133297530_10_10,104430631)",
+ "greaterThanOrEqual(D_405571048,11)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,11)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,11)))",
+ "equals(D_391951010_11_11,628445697)",
+ "equals(D_391951010_11_11,419220239)",
+ "or(equals(D_391951010_11_11,223216393),equals(D_391951010_11_11,628445697))",
+ "equals(D_391951010_11_11,223216393)",
+ "equals(D_391951010_11_11,306890578)",
+ "equals(D_391951010_11_11,858244199)",
+ "equals(D_391951010_11_11,746038746)",
+ "valueIsOneOf('D_391951010_11_11',628445697,419220239)",
+ "equals(D_281494550_11_11,582602017)",
+ "equals(D_281494550_11_11,105727261)",
+ "equals(D_281494550_11_11,720288326)",
+ "valueIsOneOf('D_391951010_11_11',223216393,628445697,419220239)",
+ "equals(D_771528780_11_11,660308254)",
+ "equals(D_771528780_11_11,936573532)",
+ "equals(D_486574018_11_11,353358909)",
+ "equals(D_486574018_11_11,104430631)",
+ "valueIsOneOf('D_391951010_11_11',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_11_11,353358909)",
+ "equals(D_779052408_11_11,104430631)",
+ "equals(D_133297530_11_11,353358909)",
+ "equals(D_133297530_11_11,104430631)",
+ "greaterThanOrEqual(D_405571048,12)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,12)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,12)))",
+ "equals(D_391951010_12_12,628445697)",
+ "equals(D_391951010_12_12,419220239)",
+ "or(equals(D_391951010_12_12,223216393),equals(D_391951010_12_12,628445697))",
+ "equals(D_391951010_12_12,223216393)",
+ "equals(D_391951010_12_12,306890578)",
+ "equals(D_391951010_12_12,858244199)",
+ "equals(D_391951010_12_12,746038746)",
+ "valueIsOneOf('D_391951010_12_12',628445697,419220239)",
+ "equals(D_281494550_12_12,582602017)",
+ "equals(D_281494550_12_12,105727261)",
+ "equals(D_281494550_12_12,720288326)",
+ "valueIsOneOf('D_391951010_12_12',223216393,628445697,419220239)",
+ "equals(D_771528780_12_12,660308254)",
+ "equals(D_771528780_12_12,936573532)",
+ "equals(D_486574018_12_12,353358909)",
+ "equals(D_486574018_12_12,104430631)",
+ "valueIsOneOf('D_391951010_12_12',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_12_12,353358909)",
+ "equals(D_779052408_12_12,104430631)",
+ "equals(D_133297530_12_12,353358909)",
+ "equals(D_133297530_12_12,104430631)",
+ "greaterThanOrEqual(D_405571048,13)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,13)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,13)))",
+ "equals(D_391951010_13_13,628445697)",
+ "equals(D_391951010_13_13,419220239)",
+ "or(equals(D_391951010_13_13,223216393),equals(D_391951010_13_13,628445697))",
+ "equals(D_391951010_13_13,223216393)",
+ "equals(D_391951010_13_13,306890578)",
+ "equals(D_391951010_13_13,858244199)",
+ "equals(D_391951010_13_13,746038746)",
+ "valueIsOneOf('D_391951010_13_13',628445697,419220239)",
+ "equals(D_281494550_13_13,582602017)",
+ "equals(D_281494550_13_13,105727261)",
+ "equals(D_281494550_13_13,720288326)",
+ "valueIsOneOf('D_391951010_13_13',223216393,628445697,419220239)",
+ "equals(D_771528780_13_13,660308254)",
+ "equals(D_771528780_13_13,936573532)",
+ "equals(D_486574018_13_13,353358909)",
+ "equals(D_486574018_13_13,104430631)",
+ "valueIsOneOf('D_391951010_13_13',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_13_13,353358909)",
+ "equals(D_779052408_13_13,104430631)",
+ "equals(D_133297530_13_13,353358909)",
+ "equals(D_133297530_13_13,104430631)",
+ "greaterThanOrEqual(D_405571048,14)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,14)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,14)))",
+ "equals(D_391951010_14_14,628445697)",
+ "equals(D_391951010_14_14,419220239)",
+ "or(equals(D_391951010_14_14,223216393),equals(D_391951010_14_14,628445697))",
+ "equals(D_391951010_14_14,223216393)",
+ "equals(D_391951010_14_14,306890578)",
+ "equals(D_391951010_14_14,858244199)",
+ "equals(D_391951010_14_14,746038746)",
+ "valueIsOneOf('D_391951010_14_14',628445697,419220239)",
+ "equals(D_281494550_14_14,582602017)",
+ "equals(D_281494550_14_14,105727261)",
+ "equals(D_281494550_14_14,720288326)",
+ "valueIsOneOf('D_391951010_14_14',223216393,628445697,419220239)",
+ "equals(D_771528780_14_14,660308254)",
+ "equals(D_771528780_14_14,936573532)",
+ "equals(D_486574018_14_14,353358909)",
+ "equals(D_486574018_14_14,104430631)",
+ "valueIsOneOf('D_391951010_14_14',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_14_14,353358909)",
+ "equals(D_779052408_14_14,104430631)",
+ "equals(D_133297530_14_14,353358909)",
+ "equals(D_133297530_14_14,104430631)",
+ "greaterThanOrEqual(D_405571048,15)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,15)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,15)))",
+ "equals(D_391951010_15_15,628445697)",
+ "equals(D_391951010_15_15,419220239)",
+ "or(equals(D_391951010_15_15,223216393),equals(D_391951010_15_15,628445697))",
+ "equals(D_391951010_15_15,223216393)",
+ "equals(D_391951010_15_15,306890578)",
+ "equals(D_391951010_15_15,858244199)",
+ "equals(D_391951010_15_15,746038746)",
+ "valueIsOneOf('D_391951010_15_15',628445697,419220239)",
+ "equals(D_281494550_15_15,582602017)",
+ "equals(D_281494550_15_15,105727261)",
+ "equals(D_281494550_15_15,720288326)",
+ "valueIsOneOf('D_391951010_15_15',223216393,628445697,419220239)",
+ "equals(D_771528780_15_15,660308254)",
+ "equals(D_771528780_15_15,936573532)",
+ "equals(D_486574018_15_15,353358909)",
+ "equals(D_486574018_15_15,104430631)",
+ "valueIsOneOf('D_391951010_15_15',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_15_15,353358909)",
+ "equals(D_779052408_15_15,104430631)",
+ "equals(D_133297530_15_15,353358909)",
+ "equals(D_133297530_15_15,104430631)",
+ "greaterThanOrEqual(D_405571048,16)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,16)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,16)))",
+ "equals(D_391951010_16_16,628445697)",
+ "equals(D_391951010_16_16,419220239)",
+ "or(equals(D_391951010_16_16,223216393),equals(D_391951010_16_16,628445697))",
+ "equals(D_391951010_16_16,223216393)",
+ "equals(D_391951010_16_16,306890578)",
+ "equals(D_391951010_16_16,858244199)",
+ "equals(D_391951010_16_16,746038746)",
+ "valueIsOneOf('D_391951010_16_16',628445697,419220239)",
+ "equals(D_281494550_16_16,582602017)",
+ "equals(D_281494550_16_16,105727261)",
+ "equals(D_281494550_16_16,720288326)",
+ "valueIsOneOf('D_391951010_16_16',223216393,628445697,419220239)",
+ "equals(D_771528780_16_16,660308254)",
+ "equals(D_771528780_16_16,936573532)",
+ "equals(D_486574018_16_16,353358909)",
+ "equals(D_486574018_16_16,104430631)",
+ "valueIsOneOf('D_391951010_16_16',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_16_16,353358909)",
+ "equals(D_779052408_16_16,104430631)",
+ "equals(D_133297530_16_16,353358909)",
+ "equals(D_133297530_16_16,104430631)",
+ "greaterThanOrEqual(D_405571048,17)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,17)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,17)))",
+ "equals(D_391951010_17_17,628445697)",
+ "equals(D_391951010_17_17,419220239)",
+ "or(equals(D_391951010_17_17,223216393),equals(D_391951010_17_17,628445697))",
+ "equals(D_391951010_17_17,223216393)",
+ "equals(D_391951010_17_17,306890578)",
+ "equals(D_391951010_17_17,858244199)",
+ "equals(D_391951010_17_17,746038746)",
+ "valueIsOneOf('D_391951010_17_17',628445697,419220239)",
+ "equals(D_281494550_17_17,582602017)",
+ "equals(D_281494550_17_17,105727261)",
+ "equals(D_281494550_17_17,720288326)",
+ "valueIsOneOf('D_391951010_17_17',223216393,628445697,419220239)",
+ "equals(D_771528780_17_17,660308254)",
+ "equals(D_771528780_17_17,936573532)",
+ "equals(D_486574018_17_17,353358909)",
+ "equals(D_486574018_17_17,104430631)",
+ "valueIsOneOf('D_391951010_17_17',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_17_17,353358909)",
+ "equals(D_779052408_17_17,104430631)",
+ "equals(D_133297530_17_17,353358909)",
+ "equals(D_133297530_17_17,104430631)",
+ "greaterThanOrEqual(D_405571048,18)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,18)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,18)))",
+ "equals(D_391951010_18_18,628445697)",
+ "equals(D_391951010_18_18,419220239)",
+ "or(equals(D_391951010_18_18,223216393),equals(D_391951010_18_18,628445697))",
+ "equals(D_391951010_18_18,223216393)",
+ "equals(D_391951010_18_18,306890578)",
+ "equals(D_391951010_18_18,858244199)",
+ "equals(D_391951010_18_18,746038746)",
+ "valueIsOneOf('D_391951010_18_18',628445697,419220239)",
+ "equals(D_281494550_18_18,582602017)",
+ "equals(D_281494550_18_18,105727261)",
+ "equals(D_281494550_18_18,720288326)",
+ "valueIsOneOf('D_391951010_18_18',223216393,628445697,419220239)",
+ "equals(D_771528780_18_18,660308254)",
+ "equals(D_771528780_18_18,936573532)",
+ "equals(D_486574018_18_18,353358909)",
+ "equals(D_486574018_18_18,104430631)",
+ "valueIsOneOf('D_391951010_18_18',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_18_18,353358909)",
+ "equals(D_779052408_18_18,104430631)",
+ "equals(D_133297530_18_18,353358909)",
+ "equals(D_133297530_18_18,104430631)",
+ "greaterThanOrEqual(D_405571048,19)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,19)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,19)))",
+ "equals(D_391951010_19_19,628445697)",
+ "equals(D_391951010_19_19,419220239)",
+ "or(equals(D_391951010_19_19,223216393),equals(D_391951010_19_19,628445697))",
+ "equals(D_391951010_19_19,223216393)",
+ "equals(D_391951010_19_19,306890578)",
+ "equals(D_391951010_19_19,858244199)",
+ "equals(D_391951010_19_19,746038746)",
+ "valueIsOneOf('D_391951010_19_19',628445697,419220239)",
+ "equals(D_281494550_19_19,582602017)",
+ "equals(D_281494550_19_19,105727261)",
+ "equals(D_281494550_19_19,720288326)",
+ "valueIsOneOf('D_391951010_19_19',223216393,628445697,419220239)",
+ "equals(D_771528780_19_19,660308254)",
+ "equals(D_771528780_19_19,936573532)",
+ "equals(D_486574018_19_19,353358909)",
+ "equals(D_486574018_19_19,104430631)",
+ "valueIsOneOf('D_391951010_19_19',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_19_19,353358909)",
+ "equals(D_779052408_19_19,104430631)",
+ "equals(D_133297530_19_19,353358909)",
+ "equals(D_133297530_19_19,104430631)",
+ "greaterThanOrEqual(D_405571048,20)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,20)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,20)))",
+ "equals(D_391951010_20_20,628445697)",
+ "equals(D_391951010_20_20,419220239)",
+ "or(equals(D_391951010_20_20,223216393),equals(D_391951010_20_20,628445697))",
+ "equals(D_391951010_20_20,223216393)",
+ "equals(D_391951010_20_20,306890578)",
+ "equals(D_391951010_20_20,858244199)",
+ "equals(D_391951010_20_20,746038746)",
+ "valueIsOneOf('D_391951010_20_20',628445697,419220239)",
+ "equals(D_281494550_20_20,582602017)",
+ "equals(D_281494550_20_20,105727261)",
+ "equals(D_281494550_20_20,720288326)",
+ "valueIsOneOf('D_391951010_20_20',223216393,628445697,419220239)",
+ "equals(D_771528780_20_20,660308254)",
+ "equals(D_771528780_20_20,936573532)",
+ "equals(D_486574018_20_20,353358909)",
+ "equals(D_486574018_20_20,104430631)",
+ "valueIsOneOf('D_391951010_20_20',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_20_20,353358909)",
+ "equals(D_779052408_20_20,104430631)",
+ "equals(D_133297530_20_20,353358909)",
+ "equals(D_133297530_20_20,104430631)",
+ "greaterThanOrEqual(D_405571048,21)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,21)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,21)))",
+ "equals(D_391951010_21_21,628445697)",
+ "equals(D_391951010_21_21,419220239)",
+ "or(equals(D_391951010_21_21,223216393),equals(D_391951010_21_21,628445697))",
+ "equals(D_391951010_21_21,223216393)",
+ "equals(D_391951010_21_21,306890578)",
+ "equals(D_391951010_21_21,858244199)",
+ "equals(D_391951010_21_21,746038746)",
+ "valueIsOneOf('D_391951010_21_21',628445697,419220239)",
+ "equals(D_281494550_21_21,582602017)",
+ "equals(D_281494550_21_21,105727261)",
+ "equals(D_281494550_21_21,720288326)",
+ "valueIsOneOf('D_391951010_21_21',223216393,628445697,419220239)",
+ "equals(D_771528780_21_21,660308254)",
+ "equals(D_771528780_21_21,936573532)",
+ "equals(D_486574018_21_21,353358909)",
+ "equals(D_486574018_21_21,104430631)",
+ "valueIsOneOf('D_391951010_21_21',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_21_21,353358909)",
+ "equals(D_779052408_21_21,104430631)",
+ "equals(D_133297530_21_21,353358909)",
+ "equals(D_133297530_21_21,104430631)",
+ "greaterThanOrEqual(D_405571048,22)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,22)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,22)))",
+ "equals(D_391951010_22_22,628445697)",
+ "equals(D_391951010_22_22,419220239)",
+ "or(equals(D_391951010_22_22,223216393),equals(D_391951010_22_22,628445697))",
+ "equals(D_391951010_22_22,223216393)",
+ "equals(D_391951010_22_22,306890578)",
+ "equals(D_391951010_22_22,858244199)",
+ "equals(D_391951010_22_22,746038746)",
+ "valueIsOneOf('D_391951010_22_22',628445697,419220239)",
+ "equals(D_281494550_22_22,582602017)",
+ "equals(D_281494550_22_22,105727261)",
+ "equals(D_281494550_22_22,720288326)",
+ "valueIsOneOf('D_391951010_22_22',223216393,628445697,419220239)",
+ "equals(D_771528780_22_22,660308254)",
+ "equals(D_771528780_22_22,936573532)",
+ "equals(D_486574018_22_22,353358909)",
+ "equals(D_486574018_22_22,104430631)",
+ "valueIsOneOf('D_391951010_22_22',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_22_22,353358909)",
+ "equals(D_779052408_22_22,104430631)",
+ "equals(D_133297530_22_22,353358909)",
+ "equals(D_133297530_22_22,104430631)",
+ "greaterThanOrEqual(D_405571048,23)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,23)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,23)))",
+ "equals(D_391951010_23_23,628445697)",
+ "equals(D_391951010_23_23,419220239)",
+ "or(equals(D_391951010_23_23,223216393),equals(D_391951010_23_23,628445697))",
+ "equals(D_391951010_23_23,223216393)",
+ "equals(D_391951010_23_23,306890578)",
+ "equals(D_391951010_23_23,858244199)",
+ "equals(D_391951010_23_23,746038746)",
+ "valueIsOneOf('D_391951010_23_23',628445697,419220239)",
+ "equals(D_281494550_23_23,582602017)",
+ "equals(D_281494550_23_23,105727261)",
+ "equals(D_281494550_23_23,720288326)",
+ "valueIsOneOf('D_391951010_23_23',223216393,628445697,419220239)",
+ "equals(D_771528780_23_23,660308254)",
+ "equals(D_771528780_23_23,936573532)",
+ "equals(D_486574018_23_23,353358909)",
+ "equals(D_486574018_23_23,104430631)",
+ "valueIsOneOf('D_391951010_23_23',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_23_23,353358909)",
+ "equals(D_779052408_23_23,104430631)",
+ "equals(D_133297530_23_23,353358909)",
+ "equals(D_133297530_23_23,104430631)",
+ "greaterThanOrEqual(D_405571048,24)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,24)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,24)))",
+ "equals(D_391951010_24_24,628445697)",
+ "equals(D_391951010_24_24,419220239)",
+ "or(equals(D_391951010_24_24,223216393),equals(D_391951010_24_24,628445697))",
+ "equals(D_391951010_24_24,223216393)",
+ "equals(D_391951010_24_24,306890578)",
+ "equals(D_391951010_24_24,858244199)",
+ "equals(D_391951010_24_24,746038746)",
+ "valueIsOneOf('D_391951010_24_24',628445697,419220239)",
+ "equals(D_281494550_24_24,582602017)",
+ "equals(D_281494550_24_24,105727261)",
+ "equals(D_281494550_24_24,720288326)",
+ "valueIsOneOf('D_391951010_24_24',223216393,628445697,419220239)",
+ "equals(D_771528780_24_24,660308254)",
+ "equals(D_771528780_24_24,936573532)",
+ "equals(D_486574018_24_24,353358909)",
+ "equals(D_486574018_24_24,104430631)",
+ "valueIsOneOf('D_391951010_24_24',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_24_24,353358909)",
+ "equals(D_779052408_24_24,104430631)",
+ "equals(D_133297530_24_24,353358909)",
+ "equals(D_133297530_24_24,104430631)",
+ "greaterThanOrEqual(D_405571048,25)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,25)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,25)))",
+ "equals(D_391951010_25_25,628445697)",
+ "equals(D_391951010_25_25,419220239)",
+ "or(equals(D_391951010_25_25,223216393),equals(D_391951010_25_25,628445697))",
+ "equals(D_391951010_25_25,223216393)",
+ "equals(D_391951010_25_25,306890578)",
+ "equals(D_391951010_25_25,858244199)",
+ "equals(D_391951010_25_25,746038746)",
+ "valueIsOneOf('D_391951010_25_25',628445697,419220239)",
+ "equals(D_281494550_25_25,582602017)",
+ "equals(D_281494550_25_25,105727261)",
+ "equals(D_281494550_25_25,720288326)",
+ "valueIsOneOf('D_391951010_25_25',223216393,628445697,419220239)",
+ "equals(D_771528780_25_25,660308254)",
+ "equals(D_771528780_25_25,936573532)",
+ "equals(D_486574018_25_25,353358909)",
+ "equals(D_486574018_25_25,104430631)",
+ "valueIsOneOf('D_391951010_25_25',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_25_25,353358909)",
+ "equals(D_779052408_25_25,104430631)",
+ "equals(D_133297530_25_25,353358909)",
+ "equals(D_133297530_25_25,104430631)",
+ "exists('D_762700622')",
+ "doesNotExist('D_762700622')",
+ "equals(D_668834883,246843973)",
+ "equals(D_668834883,854184254)",
+ "equals(D_668834883,515434780)",
+ "equals(D_668834883,674148137)",
+ "valueIsOneOf(\"D_668834883\",807835037) or valueLength(\"D_640559281\")>0",
+ "valueLength('D_640559281')>0",
+ "valueLength('D_640559281')==0",
+ "equals(D_800943768,687050279)",
+ "valueIsOneOf(\"D_800943768\",807835037) or valueLength(\"D_235516216\")>0",
+ "valueLength('D_235516216')>0",
+ "valueLength('D_235516216')==0",
+ "equals(D_263785082,837393880)",
+ "equals(D_263785082,944874693)",
+ "valueIsOneOf(\"D_263785082\",807835037) or valueLength(\"D_542108835\")>0",
+ "valueLength('D_542108835')>0",
+ "valueLength('D_542108835')==0",
+ "or(equals(D_946849196,729863969),or(equals(D_946849196,108104748),or(equals(D_946849196,717308596),or(equals(D_946849196,746788766),or(equals(D_946849196,158214723),doesNotEqual(D_946849196,658810736))))))",
+ "exists('D_557526470')",
+ "doesNotExist('D_557526470')",
+ "equals(D_613744428,353358909)",
+ "valueEquals(\"D_613744428\",353358909)",
+ "equals(\"D_613744428\",353358909)",
+ "someSelected(\"D_980120253_1\",\"D_980120253_2\",\"D_980120253_3\",\"D_980120253_4\",\"D_980120253_5\",\"D_980120253_6\",\"D_993029890_1\",\"D_993029890_2\",\"D_993029890_3\",\"D_993029890_4\",\"D_993029890_5\",\"D_993029890_6\",\"D_980196073_1\",\"D_980196073_2\",\"D_980196073_3\",\"D_980196073_4\",\"D_980196073_5\",\"D_980196073_6\",\"D_115422925_1\",\"D_115422925_2\",\"D_115422925_3\",\"D_115422925_4\",\"D_115422925_5\",\"D_115422925_6\",\"D_151161693_1\",\"D_151161693_2\",\"D_151161693_3\",\"D_151161693_4\",\"D_151161693_5\",\"D_151161693_6\")",
+ "someSelected(%22D_980120253_1%22%2C%22D_980120253_2%22%2C%22D_980120253_3%22%2C%22D_980120253_4%22%2C%22D_980120253_5%22%2C%22D_980120253_6%22)",
+ "someSelected(%22D_993029890_1%22%2C%22D_993029890_2%22%2C%22D_993029890_3%22%2C%22D_993029890_4%22%2C%22D_993029890_5%22%2C%22D_993029890_6%22)",
+ "someSelected(%22D_980196073_1%22%2C%22D_980196073_2%22%2C%22D_980196073_3%22%2C%22D_980196073_4%22%2C%22D_980196073_5%22%2C%22D_980196073_6%22)",
+ "someSelected(%22D_115422925_1%22%2C%22D_115422925_2%22%2C%22D_115422925_3%22%2C%22D_115422925_4%22%2C%22D_115422925_5%22%2C%22D_115422925_6%22)",
+ "someSelected(%22D_151161693_1%22%2C%22D_151161693_2%22%2C%22D_151161693_3%22%2C%22D_151161693_4%22%2C%22D_151161693_5%22%2C%22D_151161693_6%22)",
+ "equals(D_204421360,797221287)",
+ "doesNotEqual(numberOfChoicesSelected(D_442059084,0),1)",
+ "equals(D_204421360,500744195)",
+ "doesNotEqual(numberOfChoicesSelected(D_829749579,0),1)",
+ "equals(D_204421360,383015037)",
+ "doesNotEqual(numberOfChoicesSelected(D_618482103,0),1)",
+ "equals(D_517976064,904954920)",
+ "doesNotEqual(numberOfChoicesSelected(D_894610280,0),1)",
+ "equals(D_517976064,619501806)",
+ "doesNotEqual(numberOfChoicesSelected(D_222110888,0),1)",
+ "equals(D_517976064,203192394)",
+ "doesNotEqual(numberOfChoicesSelected(D_564242877,0),1)",
+ "equals(D_517976064,261267696)",
+ "doesNotEqual(numberOfChoicesSelected(D_635874413,0),1)",
+ "equals(D_517976064,926584500)",
+ "doesNotEqual(numberOfChoicesSelected(D_371748514,0),1)",
+ "equals(D_517976064,420058896)",
+ "doesNotEqual(numberOfChoicesSelected(D_858525957,0),1)",
+ "equals(D_517976064,868685663)",
+ "doesNotEqual(numberOfChoicesSelected(D_787591805,0),1)",
+ "equals(D_517976064,760484278)",
+ "doesNotEqual(numberOfChoicesSelected(D_900299856,0),1)",
+ "equals(D_517976064,345916806)",
+ "doesNotEqual(numberOfChoicesSelected(D_149884127,0),1)",
+ "equals(D_517976064,936042582)",
+ "doesNotEqual(numberOfChoicesSelected(D_845164425,0),1)",
+ "equals(D_517976064,182827107)",
+ "doesNotEqual(numberOfChoicesSelected(D_187772368,0),1)",
+ "equals(D_517976064,734860227)",
+ "doesNotEqual(numberOfChoicesSelected(D_815229596,0),1)",
+ "equals(D_517976064,371531887)",
+ "doesNotEqual(numberOfChoicesSelected(D_262305264,0),1)",
+ "equals(D_517976064,423631576)",
+ "doesNotEqual(numberOfChoicesSelected(D_409324592,0),1)",
+ "equals(D_517976064,181769837)",
+ "doesNotEqual(numberOfChoicesSelected(D_895837106,0),1)",
+ "equals(D_591723682,353358909)",
+ "doesNotEqual(D_591723682,353358909)",
+ "equals(D_479628567,370923702)",
+ "equals(D_674976924,958538953)",
+ "equals(D_674976924,274062548)"
+ ],
+ "sitesByScope": {
+ "grid-inline": 3,
+ "grid-row": 5,
+ "inline": 990,
+ "question": 362,
+ "response": 7
+ },
+ "sitesByAttribute": {
+ "data-displayif": 5,
+ "displayif": 1362
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_392658845",
+ "questionIndex": 452,
+ "rowQuestionIds": [
+ "D_699101535",
+ "D_652561589",
+ "D_589522790",
+ "D_239572239"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "464753847",
+ "729681071",
+ "258023209",
+ "638092100",
+ "628177728",
+ "919739344",
+ "755558825",
+ "949555271",
+ "201002865"
+ ]
+ },
+ {
+ "questionId": "D_649352910",
+ "questionIndex": 454,
+ "rowQuestionIds": [
+ "D_654385712",
+ "D_263483736",
+ "D_806746224",
+ "D_396649512"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "464753847",
+ "729681071",
+ "258023209",
+ "638092100",
+ "628177728",
+ "919739344",
+ "755558825",
+ "949555271",
+ "201002865"
+ ]
+ },
+ {
+ "questionId": "D_733547268",
+ "questionIndex": 456,
+ "rowQuestionIds": [
+ "D_980120253",
+ "D_993029890",
+ "D_980196073",
+ "D_115422925",
+ "D_151161693"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "648960871",
+ "239152340",
+ "582006876",
+ "645894551",
+ "996315715",
+ "671267928",
+ "647504893"
+ ]
+ },
+ {
+ "questionId": "D_128705365",
+ "questionIndex": 457,
+ "rowQuestionIds": [
+ "D_607323377",
+ "D_491484323",
+ "D_588637585",
+ "D_199039940",
+ "D_986476579"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "428999623",
+ "248303092",
+ "206020811",
+ "264163865",
+ "638092100",
+ "628177728",
+ "805918496"
+ ]
+ },
+ {
+ "questionId": "D_421859821",
+ "questionIndex": 536,
+ "rowQuestionIds": [
+ "D_220238240",
+ "D_151006826",
+ "D_965290070",
+ "D_781115321",
+ "D_453071098",
+ "D_513065503",
+ "D_257137378"
+ ],
+ "rowCount": 7,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "525779785",
+ "565036180",
+ "284343405",
+ "270994579"
+ ]
+ },
+ {
+ "questionId": "D_981441822",
+ "questionIndex": 538,
+ "rowQuestionIds": [
+ "D_403155173",
+ "D_576621769",
+ "D_988508028",
+ "D_186488870",
+ "D_922388461",
+ "D_760686611",
+ "D_354550061",
+ "D_179705366",
+ "D_955609858"
+ ],
+ "rowCount": 9,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "514068832",
+ "774439579",
+ "747099514",
+ "977681388"
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_405571048"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 104,
+ 113,
+ 122,
+ 131,
+ 140,
+ 149,
+ 158,
+ 167,
+ 176,
+ 185,
+ 194,
+ 203,
+ 212,
+ 221,
+ 230,
+ 239,
+ 248,
+ 257,
+ 266,
+ 275,
+ 284,
+ 293,
+ 302,
+ 311,
+ 320
+ ],
+ "boundaryIndex": 329
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 359,
+ "processorQuestionCount": 554,
+ "processedQuestionCount": 554,
+ "renderedFormCount": 554,
+ "controlCount": 3460,
+ "responseControlCount": 1600,
+ "explicitTransitionCount": 558,
+ "sequentialAdjacencyCount": 553,
+ "resolvedExplicitTransitionCount": 558,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1367,
+ "gridQuestionCount": 6,
+ "gridRowCount": 34,
+ "loopStartCount": 25,
+ "loopDefinitionCount": 1,
+ "loopExpandedQuestionCount": 225,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 654
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2024ConnectExperience",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2024ConnectExperience.txt",
+ "sha256": "70f70eb07acec537f634c96b66c29596e68baee11812f367bfc89317cb818fe7",
+ "questName": "D_506648060",
+ "version": "1.1",
+ "authoredMarkerCount": 43,
+ "runtimeQuestionIds": [
+ "SRVPES_PESINTRO_V1R0",
+ "D_145727599?",
+ "D_470013848?",
+ "D_731524314?",
+ "D_403175318?",
+ "D_260186214?",
+ "D_210120853?",
+ "D_875017278?",
+ "D_630940888?",
+ "D_575160226?",
+ "D_646060480?",
+ "D_579939641?",
+ "D_549970786?",
+ "SRVPES_SECTION2_V1R0",
+ "D_124830305?",
+ "D_972944307?",
+ "D_394328384?",
+ "SRVPES_SECTION3_V1R0",
+ "D_586132480?",
+ "D_886084185?",
+ "D_945546878?",
+ "D_363878103?",
+ "SRVPES_SECTION4_V1R0",
+ "D_472709337?",
+ "D_890945599?",
+ "D_465287908?",
+ "D_956625094?",
+ "D_476960744?",
+ "D_355080680?",
+ "D_307813936?",
+ "D_800057241?",
+ "D_649713579?",
+ "D_943119849?",
+ "D_496748977?",
+ "D_482763096?",
+ "SRVPES_SECTION5_V1R0",
+ "D_176469609?",
+ "D_210983898?",
+ "D_228922812?",
+ "SRVPES_WHYINTRO_V1R0",
+ "D_960544981?",
+ "D_674994176?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 49,
+ "radio": 83,
+ "text": 15
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_210120853",
+ "D_646060480",
+ "D_575160226",
+ "D_579939641",
+ "D_549970786",
+ "D_945546878",
+ "D_465287908",
+ "D_943119849",
+ "D_496748977"
+ ],
+ "byKind": {
+ "no-response": 6,
+ "response": 10
+ },
+ "byResolution": {
+ "exact": 16
+ },
+ "triggerTypes": {
+ "hidden": 6,
+ "radio": 10
+ },
+ "triggerValues": [
+ "104430631",
+ "353358909",
+ "198030665",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_145727599,386252749)",
+ "equals(D_145727599,153962804)",
+ "equals(D_145727599,188067494)",
+ "selectionCount(\"D_470013848\") + selectionCount(\"D_731524314\") + selectionCount(\"D_403175318\")>1",
+ "equals(D_470013848,482753957)",
+ "equals(D_470013848,358413399)",
+ "equals(D_470013848,807835037)",
+ "doesNotExist('D_495052121')",
+ "equals(D_731524314,515798638)",
+ "equals(D_731524314,132115595)",
+ "equals(D_731524314,299722216)",
+ "equals(D_731524314,115959973)",
+ "equals(D_731524314,238237869)",
+ "equals(D_731524314,985034149)",
+ "equals(D_731524314,807835037)",
+ "doesNotExist('D_638847244')",
+ "equals(D_403175318,798682161)",
+ "equals(D_403175318,554920493)",
+ "equals(D_403175318,200962909)",
+ "equals(D_403175318,807835037)",
+ "doesNotExist('D_507471937')",
+ "equals(D_630940888,353358909)",
+ "equals(D_646060480,104430631)",
+ "or(equals(D_586132480,333628672),equals(D_586132480,687057737))",
+ "equals(D_472709337,353358909)",
+ "equals(D_307813936,353358909)",
+ "equals(D_307813936,104430631)"
+ ],
+ "sitesByScope": {
+ "inline": 3,
+ "question": 11,
+ "response": 14
+ },
+ "sitesByAttribute": {
+ "displayif": 28
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 43,
+ "processorQuestionCount": 43,
+ "processedQuestionCount": 43,
+ "renderedFormCount": 43,
+ "controlCount": 274,
+ "responseControlCount": 147,
+ "explicitTransitionCount": 16,
+ "sequentialAdjacencyCount": 42,
+ "resolvedExplicitTransitionCount": 16,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 28,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 27
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2024ConnectExperience",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2024ConnectExperienceSpanish.txt",
+ "sha256": "1bb9757b35913beca279af01bb99ee9c776684fbf7d056289f71c898e5cfef9f",
+ "questName": "D_506648060",
+ "version": "1.1",
+ "authoredMarkerCount": 43,
+ "runtimeQuestionIds": [
+ "SRVPES_PESINTRO_V1R0",
+ "D_145727599?",
+ "D_470013848?",
+ "D_731524314?",
+ "D_403175318?",
+ "D_260186214?",
+ "D_210120853?",
+ "D_875017278?",
+ "D_630940888?",
+ "D_575160226?",
+ "D_646060480?",
+ "D_579939641?",
+ "D_549970786?",
+ "SRVPES_SECTION2_V1R0",
+ "D_124830305?",
+ "D_972944307?",
+ "D_394328384?",
+ "SRVPES_SECTION3_V1R0",
+ "D_586132480?",
+ "D_886084185?",
+ "D_945546878?",
+ "D_363878103?",
+ "SRVPES_SECTION4_V1R0",
+ "D_472709337?",
+ "D_890945599?",
+ "D_465287908?",
+ "D_956625094?",
+ "D_476960744?",
+ "D_355080680?",
+ "D_307813936?",
+ "D_800057241?",
+ "D_649713579?",
+ "D_943119849?",
+ "D_496748977?",
+ "D_482763096?",
+ "SRVPES_SECTION5_V1R0",
+ "D_176469609?",
+ "D_210983898?",
+ "D_228922812?",
+ "SRVPES_WHYINTRO_V1R0",
+ "D_960544981?",
+ "D_674994176?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 49,
+ "radio": 83,
+ "text": 15
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_210120853",
+ "D_646060480",
+ "D_575160226",
+ "D_579939641",
+ "D_549970786",
+ "D_945546878",
+ "D_465287908",
+ "D_943119849",
+ "D_496748977"
+ ],
+ "byKind": {
+ "no-response": 6,
+ "response": 10
+ },
+ "byResolution": {
+ "exact": 16
+ },
+ "triggerTypes": {
+ "hidden": 6,
+ "radio": 10
+ },
+ "triggerValues": [
+ "104430631",
+ "353358909",
+ "198030665",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_145727599,386252749)",
+ "equals(D_145727599,153962804)",
+ "equals(D_145727599,188067494)",
+ "selectionCount(\"D_470013848\") + selectionCount(\"D_731524314\") + selectionCount(\"D_403175318\")>1",
+ "equals(D_470013848,482753957)",
+ "equals(D_470013848,358413399)",
+ "equals(D_470013848,807835037)",
+ "doesNotExist('D_495052121')",
+ "equals(D_731524314,515798638)",
+ "equals(D_731524314,132115595)",
+ "equals(D_731524314,299722216)",
+ "equals(D_731524314,115959973)",
+ "equals(D_731524314,238237869)",
+ "equals(D_731524314,985034149)",
+ "equals(D_731524314,807835037)",
+ "doesNotExist('D_638847244')",
+ "equals(D_403175318,798682161)",
+ "equals(D_403175318,554920493)",
+ "equals(D_403175318,200962909)",
+ "equals(D_403175318,807835037)",
+ "doesNotExist('D_507471937')",
+ "equals(D_630940888,353358909)",
+ "equals(D_646060480,104430631)",
+ "or(equals(D_586132480,333628672),equals(D_586132480,687057737))",
+ "equals(D_472709337,353358909)",
+ "equals(D_307813936,353358909)",
+ "equals(D_307813936,104430631)"
+ ],
+ "sitesByScope": {
+ "inline": 3,
+ "question": 11,
+ "response": 14
+ },
+ "sitesByAttribute": {
+ "displayif": 28
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 43,
+ "processorQuestionCount": 43,
+ "processedQuestionCount": 43,
+ "renderedFormCount": 43,
+ "controlCount": 274,
+ "responseControlCount": 147,
+ "explicitTransitionCount": 16,
+ "sequentialAdjacencyCount": 42,
+ "resolvedExplicitTransitionCount": 16,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 28,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 27
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2026ROIPreferences",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module2026ROIPreferences.txt",
+ "sha256": "bb14766a8d7fd626d2234254db78c1c7e84b0503f4734ddafa31239763b160a9",
+ "questName": "D_312845734",
+ "version": "1.0",
+ "authoredMarkerCount": 16,
+ "runtimeQuestionIds": [
+ "INTROPREF",
+ "INTROGEO",
+ "D_144761753?",
+ "D_769359476?",
+ "INTROINDIVRISK",
+ "D_863590289?",
+ "INTROGENETICS",
+ "D_136941196?",
+ "INTRORSRCH",
+ "D_913318697?",
+ "INTRORSRCHDISC",
+ "D_486040313?",
+ "INTRO2RSRCHDISC",
+ "D_151535519?",
+ "D_395168461?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 8,
+ "radio": 70,
+ "textarea": 1
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 16,
+ "processorQuestionCount": 16,
+ "processedQuestionCount": 16,
+ "renderedFormCount": 16,
+ "controlCount": 118,
+ "responseControlCount": 79,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 15,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2026ROIPreferences",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2026ROIPreferencesSpanish.txt",
+ "sha256": "c31cf93e57d0c26fb630b940d906cce1f42440e434dea4049ca46859a8423227",
+ "questName": "D_312845734",
+ "version": "1.0",
+ "authoredMarkerCount": 16,
+ "runtimeQuestionIds": [
+ "INTROPREF",
+ "INTROGEO",
+ "D_144761753?",
+ "D_769359476?",
+ "INTROINDIVRISK",
+ "D_863590289?",
+ "INTROGENETICS",
+ "D_136941196?",
+ "INTRORSRCH",
+ "D_913318697?",
+ "INTRORSRCHDISC",
+ "D_486040313?",
+ "INTRO2RSRCHDISC",
+ "D_151535519?",
+ "D_395168461?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 8,
+ "radio": 70,
+ "textarea": 1
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 16,
+ "processorQuestionCount": 16,
+ "processedQuestionCount": 16,
+ "renderedFormCount": 16,
+ "controlCount": 117,
+ "responseControlCount": 79,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 15,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module2",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module2Spanish.txt",
+ "sha256": "c8545d3286b47909c9f9048df73467459cccabbeb7dfe7676756ea9474164bb5",
+ "questName": "D_745268907_V2",
+ "version": "2.3",
+ "authoredMarkerCount": 360,
+ "runtimeQuestionIds": [
+ "INTROM2",
+ "SECTION1",
+ "D_399982309?",
+ "D_861838892?",
+ "D_596961796?",
+ "D_113681507?",
+ "D_177526169?",
+ "D_564374538?",
+ "D_643807999?",
+ "D_837412550?",
+ "D_825189914?",
+ "D_615979584?",
+ "D_814141708?",
+ "D_265428345?",
+ "D_275143071?",
+ "D_388804810?",
+ "D_753416375?",
+ "D_771526486?",
+ "D_292658699?",
+ "D_491549803?",
+ "D_152138929?",
+ "D_614446276?",
+ "D_646042915?",
+ "D_270254670?",
+ "D_861824298?",
+ "D_846227588?",
+ "D_630231395?",
+ "D_234177873?",
+ "D_799338907?",
+ "D_376720409?",
+ "D_575646308?",
+ "D_798182168?",
+ "D_655266993?",
+ "D_248599913?",
+ "D_893965588?",
+ "D_439072744?",
+ "D_733861762?",
+ "D_322479862?",
+ "D_509383583?",
+ "D_697661603?",
+ "D_438682764?",
+ "D_445571225?",
+ "D_761822652?",
+ "D_737490587?",
+ "D_887435355?",
+ "D_414005872?",
+ "D_614123836?",
+ "D_731790154?",
+ "D_550092533?",
+ "D_163057677?",
+ "D_225047594?",
+ "D_297084062?",
+ "D_305292465?",
+ "D_901498441?",
+ "D_147792229?",
+ "D_976052812?",
+ "D_991427384?",
+ "D_112024853?",
+ "D_694817520?",
+ "D_991622246?",
+ "D_450131058?",
+ "D_991873978?",
+ "D_371176229?",
+ "D_982448213?",
+ "D_745223146?",
+ "D_273218182?",
+ "D_850202336?",
+ "D_799903478?",
+ "D_465635548?",
+ "D_556235252?",
+ "D_643361372?",
+ "D_172234651?",
+ "D_753610471?",
+ "D_424183977?",
+ "D_824287808?",
+ "D_889053435?",
+ "D_416865817?",
+ "D_803968511?",
+ "D_378572291?",
+ "D_846978339?",
+ "D_936366310?",
+ "D_266752903?",
+ "D_618427836?",
+ "D_774514900?",
+ "D_368595692?",
+ "D_497904005?",
+ "SECTION2",
+ "SECTION2_SKIPPED",
+ "INTROWH",
+ "INTROMENSHIS",
+ "D_496539718?",
+ "D_167997205?",
+ "D_972593606?",
+ "D_791830593?",
+ "INTROMENSHIS2",
+ "D_547633480?",
+ "D_164595895?",
+ "D_263114971?",
+ "D_614145455?",
+ "D_534920374?",
+ "PREG",
+ "D_849945160?",
+ "D_996243083?",
+ "D_405571048!",
+ "D_968816827_1_1?",
+ "D_391951010_1_1?",
+ "D_281494550_1_1?",
+ "D_771528780_1_1?",
+ "D_486574018_1_1?",
+ "D_278277373_1_1?",
+ "D_779052408_1_1?",
+ "D_133297530_1_1?",
+ "PREGSUMMARY_1_1",
+ "D_968816827_2_2?",
+ "D_391951010_2_2?",
+ "D_281494550_2_2?",
+ "D_771528780_2_2?",
+ "D_486574018_2_2?",
+ "D_278277373_2_2?",
+ "D_779052408_2_2?",
+ "D_133297530_2_2?",
+ "PREGSUMMARY_2_2",
+ "D_968816827_3_3?",
+ "D_391951010_3_3?",
+ "D_281494550_3_3?",
+ "D_771528780_3_3?",
+ "D_486574018_3_3?",
+ "D_278277373_3_3?",
+ "D_779052408_3_3?",
+ "D_133297530_3_3?",
+ "PREGSUMMARY_3_3",
+ "D_968816827_4_4?",
+ "D_391951010_4_4?",
+ "D_281494550_4_4?",
+ "D_771528780_4_4?",
+ "D_486574018_4_4?",
+ "D_278277373_4_4?",
+ "D_779052408_4_4?",
+ "D_133297530_4_4?",
+ "PREGSUMMARY_4_4",
+ "D_968816827_5_5?",
+ "D_391951010_5_5?",
+ "D_281494550_5_5?",
+ "D_771528780_5_5?",
+ "D_486574018_5_5?",
+ "D_278277373_5_5?",
+ "D_779052408_5_5?",
+ "D_133297530_5_5?",
+ "PREGSUMMARY_5_5",
+ "D_968816827_6_6?",
+ "D_391951010_6_6?",
+ "D_281494550_6_6?",
+ "D_771528780_6_6?",
+ "D_486574018_6_6?",
+ "D_278277373_6_6?",
+ "D_779052408_6_6?",
+ "D_133297530_6_6?",
+ "PREGSUMMARY_6_6",
+ "D_968816827_7_7?",
+ "D_391951010_7_7?",
+ "D_281494550_7_7?",
+ "D_771528780_7_7?",
+ "D_486574018_7_7?",
+ "D_278277373_7_7?",
+ "D_779052408_7_7?",
+ "D_133297530_7_7?",
+ "PREGSUMMARY_7_7",
+ "D_968816827_8_8?",
+ "D_391951010_8_8?",
+ "D_281494550_8_8?",
+ "D_771528780_8_8?",
+ "D_486574018_8_8?",
+ "D_278277373_8_8?",
+ "D_779052408_8_8?",
+ "D_133297530_8_8?",
+ "PREGSUMMARY_8_8",
+ "D_968816827_9_9?",
+ "D_391951010_9_9?",
+ "D_281494550_9_9?",
+ "D_771528780_9_9?",
+ "D_486574018_9_9?",
+ "D_278277373_9_9?",
+ "D_779052408_9_9?",
+ "D_133297530_9_9?",
+ "PREGSUMMARY_9_9",
+ "D_968816827_10_10?",
+ "D_391951010_10_10?",
+ "D_281494550_10_10?",
+ "D_771528780_10_10?",
+ "D_486574018_10_10?",
+ "D_278277373_10_10?",
+ "D_779052408_10_10?",
+ "D_133297530_10_10?",
+ "PREGSUMMARY_10_10",
+ "D_968816827_11_11?",
+ "D_391951010_11_11?",
+ "D_281494550_11_11?",
+ "D_771528780_11_11?",
+ "D_486574018_11_11?",
+ "D_278277373_11_11?",
+ "D_779052408_11_11?",
+ "D_133297530_11_11?",
+ "PREGSUMMARY_11_11",
+ "D_968816827_12_12?",
+ "D_391951010_12_12?",
+ "D_281494550_12_12?",
+ "D_771528780_12_12?",
+ "D_486574018_12_12?",
+ "D_278277373_12_12?",
+ "D_779052408_12_12?",
+ "D_133297530_12_12?",
+ "PREGSUMMARY_12_12",
+ "D_968816827_13_13?",
+ "D_391951010_13_13?",
+ "D_281494550_13_13?",
+ "D_771528780_13_13?",
+ "D_486574018_13_13?",
+ "D_278277373_13_13?",
+ "D_779052408_13_13?",
+ "D_133297530_13_13?",
+ "PREGSUMMARY_13_13",
+ "D_968816827_14_14?",
+ "D_391951010_14_14?",
+ "D_281494550_14_14?",
+ "D_771528780_14_14?",
+ "D_486574018_14_14?",
+ "D_278277373_14_14?",
+ "D_779052408_14_14?",
+ "D_133297530_14_14?",
+ "PREGSUMMARY_14_14",
+ "D_968816827_15_15?",
+ "D_391951010_15_15?",
+ "D_281494550_15_15?",
+ "D_771528780_15_15?",
+ "D_486574018_15_15?",
+ "D_278277373_15_15?",
+ "D_779052408_15_15?",
+ "D_133297530_15_15?",
+ "PREGSUMMARY_15_15",
+ "D_968816827_16_16?",
+ "D_391951010_16_16?",
+ "D_281494550_16_16?",
+ "D_771528780_16_16?",
+ "D_486574018_16_16?",
+ "D_278277373_16_16?",
+ "D_779052408_16_16?",
+ "D_133297530_16_16?",
+ "PREGSUMMARY_16_16",
+ "D_968816827_17_17?",
+ "D_391951010_17_17?",
+ "D_281494550_17_17?",
+ "D_771528780_17_17?",
+ "D_486574018_17_17?",
+ "D_278277373_17_17?",
+ "D_779052408_17_17?",
+ "D_133297530_17_17?",
+ "PREGSUMMARY_17_17",
+ "D_968816827_18_18?",
+ "D_391951010_18_18?",
+ "D_281494550_18_18?",
+ "D_771528780_18_18?",
+ "D_486574018_18_18?",
+ "D_278277373_18_18?",
+ "D_779052408_18_18?",
+ "D_133297530_18_18?",
+ "PREGSUMMARY_18_18",
+ "D_968816827_19_19?",
+ "D_391951010_19_19?",
+ "D_281494550_19_19?",
+ "D_771528780_19_19?",
+ "D_486574018_19_19?",
+ "D_278277373_19_19?",
+ "D_779052408_19_19?",
+ "D_133297530_19_19?",
+ "PREGSUMMARY_19_19",
+ "D_968816827_20_20?",
+ "D_391951010_20_20?",
+ "D_281494550_20_20?",
+ "D_771528780_20_20?",
+ "D_486574018_20_20?",
+ "D_278277373_20_20?",
+ "D_779052408_20_20?",
+ "D_133297530_20_20?",
+ "PREGSUMMARY_20_20",
+ "D_968816827_21_21?",
+ "D_391951010_21_21?",
+ "D_281494550_21_21?",
+ "D_771528780_21_21?",
+ "D_486574018_21_21?",
+ "D_278277373_21_21?",
+ "D_779052408_21_21?",
+ "D_133297530_21_21?",
+ "PREGSUMMARY_21_21",
+ "D_968816827_22_22?",
+ "D_391951010_22_22?",
+ "D_281494550_22_22?",
+ "D_771528780_22_22?",
+ "D_486574018_22_22?",
+ "D_278277373_22_22?",
+ "D_779052408_22_22?",
+ "D_133297530_22_22?",
+ "PREGSUMMARY_22_22",
+ "D_968816827_23_23?",
+ "D_391951010_23_23?",
+ "D_281494550_23_23?",
+ "D_771528780_23_23?",
+ "D_486574018_23_23?",
+ "D_278277373_23_23?",
+ "D_779052408_23_23?",
+ "D_133297530_23_23?",
+ "PREGSUMMARY_23_23",
+ "D_968816827_24_24?",
+ "D_391951010_24_24?",
+ "D_281494550_24_24?",
+ "D_771528780_24_24?",
+ "D_486574018_24_24?",
+ "D_278277373_24_24?",
+ "D_779052408_24_24?",
+ "D_133297530_24_24?",
+ "PREGSUMMARY_24_24",
+ "D_968816827_25_25?",
+ "D_391951010_25_25?",
+ "D_281494550_25_25?",
+ "D_771528780_25_25?",
+ "D_486574018_25_25?",
+ "D_278277373_25_25?",
+ "D_779052408_25_25?",
+ "D_133297530_25_25?",
+ "PREGSUMMARY_25_25",
+ "END_OF_LOOP",
+ "FERT1",
+ "D_939897560?",
+ "D_760801131?",
+ "D_424047361?",
+ "D_548355426?",
+ "D_224681201?",
+ "D_881200765?",
+ "D_139673389?",
+ "D_943996164?",
+ "D_994899398?",
+ "D_198719822?",
+ "D_628137243?",
+ "D_399078599?",
+ "D_560711355?",
+ "D_309710463?",
+ "D_167207966?",
+ "D_538349354?",
+ "D_767785846?",
+ "D_466346054?",
+ "D_111082535?",
+ "D_875135634?",
+ "HORMED",
+ "D_543780863?",
+ "D_880331901?",
+ "D_301052397?",
+ "D_734836192?",
+ "D_215455305?",
+ "D_809735528?",
+ "D_958009220?",
+ "D_946211808?",
+ "D_654271781?",
+ "D_220105997?",
+ "D_806253825?",
+ "D_819957363?",
+ "D_604086099?",
+ "D_938969985?",
+ "D_876683805?",
+ "D_118237712?",
+ "D_899455852?",
+ "D_902999015?",
+ "D_484006644?",
+ "D_190721176?",
+ "D_358011592?",
+ "D_807214881?",
+ "D_344573484?",
+ "D_708921303?",
+ "D_535533643?",
+ "D_901154649?",
+ "D_100937200?",
+ "D_452984435?",
+ "D_129924389?",
+ "D_404596261?",
+ "D_465017353?",
+ "D_370798456?",
+ "D_101144925?",
+ "D_583012139?",
+ "D_991330361?",
+ "D_184692605?",
+ "D_139348254?",
+ "MENOHOR",
+ "D_621744463?",
+ "D_668834883?",
+ "D_856627601?",
+ "D_801749224?",
+ "D_799382711?",
+ "D_623759247?",
+ "D_564185028?",
+ "D_560845692?",
+ "D_779165920?",
+ "D_745775718?",
+ "D_648678282?",
+ "D_850536692?",
+ "D_774992239?",
+ "D_695206943?",
+ "D_291707744?",
+ "D_792792066?",
+ "D_894363067?",
+ "D_984901301?",
+ "D_872509317?",
+ "D_378921620?",
+ "D_854078473?",
+ "D_268372217?",
+ "D_800943768?",
+ "D_590329439?",
+ "D_906459952?",
+ "D_747629521?",
+ "D_556129044?",
+ "D_563663099?",
+ "D_356969766?",
+ "D_453820991?",
+ "D_111271067?",
+ "D_597869478?",
+ "D_949663397?",
+ "D_263785082?",
+ "D_824165133?",
+ "D_295472931?",
+ "D_728437398?",
+ "D_578176688?",
+ "D_922903688?",
+ "D_963284259?",
+ "D_615905904?",
+ "D_946710366?",
+ "D_219538082?",
+ "D_583111732?",
+ "D_603209609?",
+ "D_824251330?",
+ "D_912818075?",
+ "D_138836502?",
+ "D_290126991?",
+ "TESTTHER_INTRO",
+ "D_111235606?",
+ "D_946849196?",
+ "D_797076693?",
+ "D_984514646?",
+ "D_414663452?",
+ "D_570187182?",
+ "D_557526470?",
+ "D_492822047?",
+ "D_466727144?",
+ "D_307736999?",
+ "D_305195766?",
+ "WORKACT",
+ "D_392658845",
+ "INTROSITTING",
+ "D_649352910",
+ "HOUSE1",
+ "D_733547268",
+ "D_128705365",
+ "D_204421360?",
+ "D_442059084?",
+ "D_992022740?",
+ "D_429531329?",
+ "D_829749579?",
+ "D_888313306?",
+ "D_644018981?",
+ "D_618482103?",
+ "D_352531133?",
+ "D_267261558?",
+ "D_517976064?",
+ "D_894610280?",
+ "D_267122668?",
+ "D_901660173?",
+ "D_222110888?",
+ "D_953510929?",
+ "D_422260069?",
+ "D_564242877?",
+ "D_411788467?",
+ "D_141251197?",
+ "D_635874413?",
+ "D_184448791?",
+ "D_768302347?",
+ "D_371748514?",
+ "D_944699052?",
+ "D_658018390?",
+ "D_858525957?",
+ "D_849399881?",
+ "D_406846149?",
+ "D_787591805?",
+ "D_689956879?",
+ "D_725713485?",
+ "D_900299856?",
+ "D_255761998?",
+ "D_571361258?",
+ "D_149884127?",
+ "D_167966775?",
+ "D_904844824?",
+ "D_845164425?",
+ "D_612068433?",
+ "D_650405110?",
+ "D_187772368?",
+ "D_865200503?",
+ "D_831643763?",
+ "D_815229596?",
+ "D_981509686?",
+ "D_921220809?",
+ "D_262305264?",
+ "D_214750556?",
+ "D_621878019?",
+ "D_409324592?",
+ "D_775324618?",
+ "D_305312165?",
+ "D_895837106?",
+ "D_522949496?",
+ "D_272119228?",
+ "SECTION4",
+ "D_591723682?",
+ "D_168431681?",
+ "INTROSLESCH1",
+ "INTROSLESCH1_1",
+ "D_636757313?",
+ "D_653906464?",
+ "D_580367946?",
+ "D_358259099?",
+ "D_392629868?",
+ "D_354980163?",
+ "D_424807655?",
+ "INTROSLESCH2",
+ "D_823919522?",
+ "D_532767229?",
+ "D_698673038?",
+ "D_711365027?",
+ "D_874262904?",
+ "D_820694957?",
+ "D_823541843?",
+ "D_825227968?",
+ "SLEEPHABITS",
+ "D_421859821",
+ "D_910856756?",
+ "D_981441822",
+ "D_471018082?",
+ "D_940733450?",
+ "D_406137786?",
+ "D_631303960?",
+ "D_876846761?",
+ "D_756521698?",
+ "D_479628567?",
+ "D_629010195?",
+ "D_674976924?",
+ "D_195662769?",
+ "D_214870856?",
+ "D_680730257?",
+ "D_392874924?",
+ "D_199254974?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 244,
+ "number": 236,
+ "radio": 1105,
+ "text": 9,
+ "time": 6
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_861838892",
+ "D_837412550",
+ "D_388804810",
+ "D_614446276",
+ "D_234177873",
+ "D_248599913",
+ "D_697661603",
+ "D_414005872",
+ "D_596961796",
+ "D_113681507",
+ "D_177526169",
+ "D_643807999",
+ "D_564374538",
+ "D_825189914",
+ "D_615979584",
+ "D_814141708",
+ "D_275143071",
+ "D_265428345",
+ "D_753416375",
+ "D_771526486",
+ "D_292658699",
+ "D_152138929",
+ "D_491549803",
+ "D_646042915",
+ "D_270254670",
+ "D_861824298",
+ "D_630231395",
+ "D_846227588",
+ "D_799338907",
+ "D_376720409",
+ "D_575646308",
+ "D_655266993",
+ "D_798182168",
+ "D_893965588",
+ "D_439072744",
+ "D_733861762",
+ "D_509383583",
+ "D_322479862",
+ "D_438682764",
+ "D_445571225",
+ "D_761822652",
+ "D_887435355",
+ "D_737490587",
+ "D_731790154",
+ "D_305292465",
+ "D_112024853",
+ "D_550092533",
+ "D_163057677",
+ "D_225047594",
+ "D_297084062",
+ "D_901498441",
+ "D_147792229",
+ "D_976052812",
+ "D_991427384",
+ "D_694817520",
+ "D_982448213",
+ "D_371176229",
+ "D_745223146",
+ "D_643361372",
+ "D_556235252",
+ "D_172234651",
+ "D_416865817",
+ "D_266752903",
+ "SECTION2",
+ "D_753610471",
+ "D_424183977",
+ "D_824287808",
+ "D_889053435",
+ "D_803968511",
+ "D_378572291",
+ "D_846978339",
+ "D_936366310",
+ "D_618427836",
+ "D_774514900",
+ "D_368595692",
+ "D_497904005",
+ "D_111235606",
+ "INTROMENSHIS2",
+ "D_972593606",
+ "D_791830593",
+ "D_534920374",
+ "D_614145455",
+ "PREG",
+ "D_263114971",
+ "D_405571048",
+ "D_996243083",
+ "FERT1",
+ "D_771528780_1_1",
+ "PREGSUMMARY_1_1",
+ "D_779052408_1_1",
+ "D_278277373_1_1",
+ "D_771528780_2_2",
+ "PREGSUMMARY_2_2",
+ "D_779052408_2_2",
+ "D_278277373_2_2",
+ "D_771528780_3_3",
+ "PREGSUMMARY_3_3",
+ "D_779052408_3_3",
+ "D_278277373_3_3",
+ "D_771528780_4_4",
+ "PREGSUMMARY_4_4",
+ "D_779052408_4_4",
+ "D_278277373_4_4",
+ "D_771528780_5_5",
+ "PREGSUMMARY_5_5",
+ "D_779052408_5_5",
+ "D_278277373_5_5",
+ "D_771528780_6_6",
+ "PREGSUMMARY_6_6",
+ "D_779052408_6_6",
+ "D_278277373_6_6",
+ "D_771528780_7_7",
+ "PREGSUMMARY_7_7",
+ "D_779052408_7_7",
+ "D_278277373_7_7",
+ "D_771528780_8_8",
+ "PREGSUMMARY_8_8",
+ "D_779052408_8_8",
+ "D_278277373_8_8",
+ "D_771528780_9_9",
+ "PREGSUMMARY_9_9",
+ "D_779052408_9_9",
+ "D_278277373_9_9",
+ "D_771528780_10_10",
+ "PREGSUMMARY_10_10",
+ "D_779052408_10_10",
+ "D_278277373_10_10",
+ "D_771528780_11_11",
+ "PREGSUMMARY_11_11",
+ "D_779052408_11_11",
+ "D_278277373_11_11",
+ "D_771528780_12_12",
+ "PREGSUMMARY_12_12",
+ "D_779052408_12_12",
+ "D_278277373_12_12",
+ "D_771528780_13_13",
+ "PREGSUMMARY_13_13",
+ "D_779052408_13_13",
+ "D_278277373_13_13",
+ "D_771528780_14_14",
+ "PREGSUMMARY_14_14",
+ "D_779052408_14_14",
+ "D_278277373_14_14",
+ "D_771528780_15_15",
+ "PREGSUMMARY_15_15",
+ "D_779052408_15_15",
+ "D_278277373_15_15",
+ "D_771528780_16_16",
+ "PREGSUMMARY_16_16",
+ "D_779052408_16_16",
+ "D_278277373_16_16",
+ "D_771528780_17_17",
+ "PREGSUMMARY_17_17",
+ "D_779052408_17_17",
+ "D_278277373_17_17",
+ "D_771528780_18_18",
+ "PREGSUMMARY_18_18",
+ "D_779052408_18_18",
+ "D_278277373_18_18",
+ "D_771528780_19_19",
+ "PREGSUMMARY_19_19",
+ "D_779052408_19_19",
+ "D_278277373_19_19",
+ "D_771528780_20_20",
+ "PREGSUMMARY_20_20",
+ "D_779052408_20_20",
+ "D_278277373_20_20",
+ "D_771528780_21_21",
+ "PREGSUMMARY_21_21",
+ "D_779052408_21_21",
+ "D_278277373_21_21",
+ "D_771528780_22_22",
+ "PREGSUMMARY_22_22",
+ "D_779052408_22_22",
+ "D_278277373_22_22",
+ "D_771528780_23_23",
+ "PREGSUMMARY_23_23",
+ "D_779052408_23_23",
+ "D_278277373_23_23",
+ "D_771528780_24_24",
+ "PREGSUMMARY_24_24",
+ "D_779052408_24_24",
+ "D_278277373_24_24",
+ "D_771528780_25_25",
+ "PREGSUMMARY_25_25",
+ "D_779052408_25_25",
+ "D_278277373_25_25",
+ "D_760801131",
+ "D_224681201",
+ "D_424047361",
+ "D_548355426",
+ "D_881200765",
+ "D_111082535",
+ "D_139673389",
+ "D_943996164",
+ "D_994899398",
+ "D_198719822",
+ "D_628137243",
+ "D_399078599",
+ "D_560711355",
+ "D_309710463",
+ "D_167207966",
+ "D_538349354",
+ "D_767785846",
+ "D_466346054",
+ "D_875135634",
+ "HORMED",
+ "D_880331901",
+ "D_809735528",
+ "D_220105997",
+ "D_938969985",
+ "D_902999015",
+ "D_807214881",
+ "D_901154649",
+ "D_404596261",
+ "D_583012139",
+ "MENOHOR",
+ "D_301052397",
+ "D_215455305",
+ "D_734836192",
+ "D_958009220",
+ "D_654271781",
+ "D_946211808",
+ "D_806253825",
+ "D_604086099",
+ "D_819957363",
+ "D_876683805",
+ "D_899455852",
+ "D_118237712",
+ "D_484006644",
+ "D_358011592",
+ "D_190721176",
+ "D_344573484",
+ "D_535533643",
+ "D_708921303",
+ "D_100937200",
+ "D_129924389",
+ "D_452984435",
+ "D_465017353",
+ "D_101144925",
+ "D_370798456",
+ "D_991330361",
+ "D_139348254",
+ "D_184692605",
+ "D_668834883",
+ "WORKACT",
+ "D_856627601",
+ "D_564185028",
+ "D_648678282",
+ "D_291707744",
+ "D_872509317",
+ "D_800943768",
+ "D_801749224",
+ "D_623759247",
+ "D_799382711",
+ "D_560845692",
+ "D_745775718",
+ "D_779165920",
+ "D_850536692",
+ "D_695206943",
+ "D_774992239",
+ "D_792792066",
+ "D_984901301",
+ "D_894363067",
+ "D_378921620",
+ "D_268372217",
+ "D_854078473",
+ "D_590329439",
+ "D_356969766",
+ "D_263785082",
+ "D_906459952",
+ "D_556129044",
+ "D_747629521",
+ "D_563663099",
+ "D_453820991",
+ "D_597869478",
+ "D_111271067",
+ "D_949663397",
+ "D_824165133",
+ "D_922903688",
+ "D_219538082",
+ "TESTTHER_INTRO",
+ "D_295472931",
+ "D_578176688",
+ "D_728437398",
+ "D_963284259",
+ "D_946710366",
+ "D_615905904",
+ "D_583111732",
+ "D_824251330",
+ "D_603209609",
+ "D_290126991",
+ "D_570187182",
+ "D_797076693",
+ "D_984514646",
+ "D_557526470",
+ "D_492822047",
+ "D_466727144",
+ "D_305195766",
+ "D_307736999",
+ "D_442059084",
+ "D_829749579",
+ "D_618482103",
+ "D_517976064",
+ "D_992022740",
+ "D_429531329",
+ "D_888313306",
+ "D_644018981",
+ "D_352531133",
+ "D_267261558",
+ "D_894610280",
+ "D_222110888",
+ "D_564242877",
+ "D_635874413",
+ "D_371748514",
+ "D_858525957",
+ "D_787591805",
+ "D_900299856",
+ "D_149884127",
+ "D_845164425",
+ "D_187772368",
+ "D_815229596",
+ "D_262305264",
+ "D_409324592",
+ "D_895837106",
+ "SECTION4",
+ "D_267122668",
+ "D_901660173",
+ "D_953510929",
+ "D_422260069",
+ "D_411788467",
+ "D_141251197",
+ "D_184448791",
+ "D_768302347",
+ "D_944699052",
+ "D_658018390",
+ "D_849399881",
+ "D_406846149",
+ "D_689956879",
+ "D_725713485",
+ "D_255761998",
+ "D_571361258",
+ "D_167966775",
+ "D_904844824",
+ "D_612068433",
+ "D_650405110",
+ "D_865200503",
+ "D_831643763",
+ "D_981509686",
+ "D_921220809",
+ "D_214750556",
+ "D_621878019",
+ "D_775324618",
+ "D_305312165",
+ "D_522949496",
+ "D_272119228",
+ "D_168431681",
+ "INTROSLESCH1",
+ "D_636757313",
+ "D_354980163",
+ "D_424807655",
+ "D_820694957",
+ "D_823541843",
+ "D_406137786",
+ "D_479628567",
+ "D_631303960",
+ "D_876846761",
+ "D_756521698",
+ "D_629010195",
+ "D_674976924",
+ "D_195662769",
+ "END"
+ ],
+ "byKind": {
+ "default": 143,
+ "no-response": 107,
+ "response": 342
+ },
+ "byResolution": {
+ "exact": 589,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "checkbox": 65,
+ "hidden": 250,
+ "radio": 277
+ },
+ "triggerValues": [
+ "469512398",
+ "194424439",
+ "422188606",
+ "555555502",
+ "800410166",
+ "221645137",
+ "974248369",
+ "317567178",
+ "484055234",
+ "802197176",
+ "480724806",
+ "819373917",
+ "353358909",
+ "104430631",
+ "933374659",
+ "920460744",
+ "449861632",
+ "648960871",
+ "868025301",
+ "939110313",
+ "410083265",
+ "718537646",
+ "801142243",
+ "178420302",
+ "549031911",
+ "858427002",
+ "471375042",
+ "386152189",
+ "650420270",
+ "113064256",
+ "548167685",
+ "859025516",
+ "582425113",
+ "330745988",
+ "909774794",
+ "868504994",
+ "655309065",
+ "757609794",
+ "585076356",
+ "807835037",
+ "223216393",
+ "306890578",
+ "858244199",
+ "746038746",
+ "619799524",
+ "663814928",
+ "642004888",
+ "454641975",
+ "256131117",
+ "532607252",
+ "459188493",
+ "304927036",
+ "100181644",
+ "372219003",
+ "743731422",
+ "441493408",
+ "612012325",
+ "100752105",
+ "207913198",
+ "863920008",
+ "787142499",
+ "205223932",
+ "817131019",
+ "181769837",
+ "246843973",
+ "854184254",
+ "515434780",
+ "674148137",
+ "687050279",
+ "837393880",
+ "944874693",
+ "535003378",
+ "797221287",
+ "500744195",
+ "383015037",
+ "904954920",
+ "619501806",
+ "203192394",
+ "261267696",
+ "926584500",
+ "420058896",
+ "868685663",
+ "760484278",
+ "345916806",
+ "936042582",
+ "182827107",
+ "734860227",
+ "371531887",
+ "423631576",
+ "370923702",
+ "958538953",
+ "274062548"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "or(equals(D_407056417,536341288),or(equals(D_750420077,578416151),equals(D_750420077,434651539)))",
+ "valueIsOneOf(\"D_750420077\",578416151,434651539) or valueEquals(\"D_407056417\",536341288)",
+ "equals(D_643361372,933374659)",
+ "equals(D_643361372,920460744)",
+ "equals(D_643361372,449861632)",
+ "not (equals(\"D_407056417\",536341288) or valueIsOneOf(\"D_750420077\",578416151,434651539))",
+ "equals(\"D_407056417\",536341288) or valueIsOneOf(\"D_750420077\",578416151,434651539)",
+ "doesNotEqual(D_496539718,648960871)",
+ "greaterThanOrEqual(D_405571048,1)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,1)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,1)))",
+ "equals(D_391951010_1_1,628445697)",
+ "equals(D_391951010_1_1,419220239)",
+ "or(equals(D_391951010_1_1,223216393),equals(D_391951010_1_1,628445697))",
+ "equals(D_391951010_1_1,223216393)",
+ "equals(D_391951010_1_1,306890578)",
+ "equals(D_391951010_1_1,858244199)",
+ "equals(D_391951010_1_1,746038746)",
+ "valueIsOneOf('D_391951010_1_1',628445697,419220239)",
+ "equals(D_281494550_1_1,582602017)",
+ "equals(D_281494550_1_1,105727261)",
+ "equals(D_281494550_1_1,720288326)",
+ "valueIsOneOf('D_391951010_1_1',223216393,628445697,419220239)",
+ "equals(D_771528780_1_1,660308254)",
+ "equals(D_771528780_1_1,936573532)",
+ "equals(D_486574018_1_1,353358909)",
+ "equals(D_486574018_1_1,104430631)",
+ "valueIsOneOf('D_391951010_1_1',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_1_1,353358909)",
+ "equals(D_779052408_1_1,104430631)",
+ "equals(D_133297530_1_1,353358909)",
+ "equals(D_133297530_1_1,104430631)",
+ "greaterThanOrEqual(D_405571048,2)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,2)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,2)))",
+ "equals(D_391951010_2_2,628445697)",
+ "equals(D_391951010_2_2,419220239)",
+ "or(equals(D_391951010_2_2,223216393),equals(D_391951010_2_2,628445697))",
+ "equals(D_391951010_2_2,223216393)",
+ "equals(D_391951010_2_2,306890578)",
+ "equals(D_391951010_2_2,858244199)",
+ "equals(D_391951010_2_2,746038746)",
+ "valueIsOneOf('D_391951010_2_2',628445697,419220239)",
+ "equals(D_281494550_2_2,582602017)",
+ "equals(D_281494550_2_2,105727261)",
+ "equals(D_281494550_2_2,720288326)",
+ "valueIsOneOf('D_391951010_2_2',223216393,628445697,419220239)",
+ "equals(D_771528780_2_2,660308254)",
+ "equals(D_771528780_2_2,936573532)",
+ "equals(D_486574018_2_2,353358909)",
+ "equals(D_486574018_2_2,104430631)",
+ "valueIsOneOf('D_391951010_2_2',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_2_2,353358909)",
+ "equals(D_779052408_2_2,104430631)",
+ "equals(D_133297530_2_2,353358909)",
+ "equals(D_133297530_2_2,104430631)",
+ "greaterThanOrEqual(D_405571048,3)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,3)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,3)))",
+ "equals(D_391951010_3_3,628445697)",
+ "equals(D_391951010_3_3,419220239)",
+ "or(equals(D_391951010_3_3,223216393),equals(D_391951010_3_3,628445697))",
+ "equals(D_391951010_3_3,223216393)",
+ "equals(D_391951010_3_3,306890578)",
+ "equals(D_391951010_3_3,858244199)",
+ "equals(D_391951010_3_3,746038746)",
+ "valueIsOneOf('D_391951010_3_3',628445697,419220239)",
+ "equals(D_281494550_3_3,582602017)",
+ "equals(D_281494550_3_3,105727261)",
+ "equals(D_281494550_3_3,720288326)",
+ "valueIsOneOf('D_391951010_3_3',223216393,628445697,419220239)",
+ "equals(D_771528780_3_3,660308254)",
+ "equals(D_771528780_3_3,936573532)",
+ "equals(D_486574018_3_3,353358909)",
+ "equals(D_486574018_3_3,104430631)",
+ "valueIsOneOf('D_391951010_3_3',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_3_3,353358909)",
+ "equals(D_779052408_3_3,104430631)",
+ "equals(D_133297530_3_3,353358909)",
+ "equals(D_133297530_3_3,104430631)",
+ "greaterThanOrEqual(D_405571048,4)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,4)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,4)))",
+ "equals(D_391951010_4_4,628445697)",
+ "equals(D_391951010_4_4,419220239)",
+ "or(equals(D_391951010_4_4,223216393),equals(D_391951010_4_4,628445697))",
+ "equals(D_391951010_4_4,223216393)",
+ "equals(D_391951010_4_4,306890578)",
+ "equals(D_391951010_4_4,858244199)",
+ "equals(D_391951010_4_4,746038746)",
+ "valueIsOneOf('D_391951010_4_4',628445697,419220239)",
+ "equals(D_281494550_4_4,582602017)",
+ "equals(D_281494550_4_4,105727261)",
+ "equals(D_281494550_4_4,720288326)",
+ "valueIsOneOf('D_391951010_4_4',223216393,628445697,419220239)",
+ "equals(D_771528780_4_4,660308254)",
+ "equals(D_771528780_4_4,936573532)",
+ "equals(D_486574018_4_4,353358909)",
+ "equals(D_486574018_4_4,104430631)",
+ "valueIsOneOf('D_391951010_4_4',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_4_4,353358909)",
+ "equals(D_779052408_4_4,104430631)",
+ "equals(D_133297530_4_4,353358909)",
+ "equals(D_133297530_4_4,104430631)",
+ "greaterThanOrEqual(D_405571048,5)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,5)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,5)))",
+ "equals(D_391951010_5_5,628445697)",
+ "equals(D_391951010_5_5,419220239)",
+ "or(equals(D_391951010_5_5,223216393),equals(D_391951010_5_5,628445697))",
+ "equals(D_391951010_5_5,223216393)",
+ "equals(D_391951010_5_5,306890578)",
+ "equals(D_391951010_5_5,858244199)",
+ "equals(D_391951010_5_5,746038746)",
+ "valueIsOneOf('D_391951010_5_5',628445697,419220239)",
+ "equals(D_281494550_5_5,582602017)",
+ "equals(D_281494550_5_5,105727261)",
+ "equals(D_281494550_5_5,720288326)",
+ "valueIsOneOf('D_391951010_5_5',223216393,628445697,419220239)",
+ "equals(D_771528780_5_5,660308254)",
+ "equals(D_771528780_5_5,936573532)",
+ "equals(D_486574018_5_5,353358909)",
+ "equals(D_486574018_5_5,104430631)",
+ "valueIsOneOf('D_391951010_5_5',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_5_5,353358909)",
+ "equals(D_779052408_5_5,104430631)",
+ "equals(D_133297530_5_5,353358909)",
+ "equals(D_133297530_5_5,104430631)",
+ "greaterThanOrEqual(D_405571048,6)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,6)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,6)))",
+ "equals(D_391951010_6_6,628445697)",
+ "equals(D_391951010_6_6,419220239)",
+ "or(equals(D_391951010_6_6,223216393),equals(D_391951010_6_6,628445697))",
+ "equals(D_391951010_6_6,223216393)",
+ "equals(D_391951010_6_6,306890578)",
+ "equals(D_391951010_6_6,858244199)",
+ "equals(D_391951010_6_6,746038746)",
+ "valueIsOneOf('D_391951010_6_6',628445697,419220239)",
+ "equals(D_281494550_6_6,582602017)",
+ "equals(D_281494550_6_6,105727261)",
+ "equals(D_281494550_6_6,720288326)",
+ "valueIsOneOf('D_391951010_6_6',223216393,628445697,419220239)",
+ "equals(D_771528780_6_6,660308254)",
+ "equals(D_771528780_6_6,936573532)",
+ "equals(D_486574018_6_6,353358909)",
+ "equals(D_486574018_6_6,104430631)",
+ "valueIsOneOf('D_391951010_6_6',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_6_6,353358909)",
+ "equals(D_779052408_6_6,104430631)",
+ "equals(D_133297530_6_6,353358909)",
+ "equals(D_133297530_6_6,104430631)",
+ "greaterThanOrEqual(D_405571048,7)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,7)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,7)))",
+ "equals(D_391951010_7_7,628445697)",
+ "equals(D_391951010_7_7,419220239)",
+ "or(equals(D_391951010_7_7,223216393),equals(D_391951010_7_7,628445697))",
+ "equals(D_391951010_7_7,223216393)",
+ "equals(D_391951010_7_7,306890578)",
+ "equals(D_391951010_7_7,858244199)",
+ "equals(D_391951010_7_7,746038746)",
+ "valueIsOneOf('D_391951010_7_7',628445697,419220239)",
+ "equals(D_281494550_7_7,582602017)",
+ "equals(D_281494550_7_7,105727261)",
+ "equals(D_281494550_7_7,720288326)",
+ "valueIsOneOf('D_391951010_7_7',223216393,628445697,419220239)",
+ "equals(D_771528780_7_7,660308254)",
+ "equals(D_771528780_7_7,936573532)",
+ "equals(D_486574018_7_7,353358909)",
+ "equals(D_486574018_7_7,104430631)",
+ "valueIsOneOf('D_391951010_7_7',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_7_7,353358909)",
+ "equals(D_779052408_7_7,104430631)",
+ "equals(D_133297530_7_7,353358909)",
+ "equals(D_133297530_7_7,104430631)",
+ "greaterThanOrEqual(D_405571048,8)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,8)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,8)))",
+ "equals(D_391951010_8_8,628445697)",
+ "equals(D_391951010_8_8,419220239)",
+ "or(equals(D_391951010_8_8,223216393),equals(D_391951010_8_8,628445697))",
+ "equals(D_391951010_8_8,223216393)",
+ "equals(D_391951010_8_8,306890578)",
+ "equals(D_391951010_8_8,858244199)",
+ "equals(D_391951010_8_8,746038746)",
+ "valueIsOneOf('D_391951010_8_8',628445697,419220239)",
+ "equals(D_281494550_8_8,582602017)",
+ "equals(D_281494550_8_8,105727261)",
+ "equals(D_281494550_8_8,720288326)",
+ "valueIsOneOf('D_391951010_8_8',223216393,628445697,419220239)",
+ "equals(D_771528780_8_8,660308254)",
+ "equals(D_771528780_8_8,936573532)",
+ "equals(D_486574018_8_8,353358909)",
+ "equals(D_486574018_8_8,104430631)",
+ "valueIsOneOf('D_391951010_8_8',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_8_8,353358909)",
+ "equals(D_779052408_8_8,104430631)",
+ "equals(D_133297530_8_8,353358909)",
+ "equals(D_133297530_8_8,104430631)",
+ "greaterThanOrEqual(D_405571048,9)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,9)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,9)))",
+ "equals(D_391951010_9_9,628445697)",
+ "equals(D_391951010_9_9,419220239)",
+ "or(equals(D_391951010_9_9,223216393),equals(D_391951010_9_9,628445697))",
+ "equals(D_391951010_9_9,223216393)",
+ "equals(D_391951010_9_9,306890578)",
+ "equals(D_391951010_9_9,858244199)",
+ "equals(D_391951010_9_9,746038746)",
+ "valueIsOneOf('D_391951010_9_9',628445697,419220239)",
+ "equals(D_281494550_9_9,582602017)",
+ "equals(D_281494550_9_9,105727261)",
+ "equals(D_281494550_9_9,720288326)",
+ "valueIsOneOf('D_391951010_9_9',223216393,628445697,419220239)",
+ "equals(D_771528780_9_9,660308254)",
+ "equals(D_771528780_9_9,936573532)",
+ "equals(D_486574018_9_9,353358909)",
+ "equals(D_486574018_9_9,104430631)",
+ "valueIsOneOf('D_391951010_9_9',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_9_9,353358909)",
+ "equals(D_779052408_9_9,104430631)",
+ "equals(D_133297530_9_9,353358909)",
+ "equals(D_133297530_9_9,104430631)",
+ "greaterThanOrEqual(D_405571048,10)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,10)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,10)))",
+ "equals(D_391951010_10_10,628445697)",
+ "equals(D_391951010_10_10,419220239)",
+ "or(equals(D_391951010_10_10,223216393),equals(D_391951010_10_10,628445697))",
+ "equals(D_391951010_10_10,223216393)",
+ "equals(D_391951010_10_10,306890578)",
+ "equals(D_391951010_10_10,858244199)",
+ "equals(D_391951010_10_10,746038746)",
+ "valueIsOneOf('D_391951010_10_10',628445697,419220239)",
+ "equals(D_281494550_10_10,582602017)",
+ "equals(D_281494550_10_10,105727261)",
+ "equals(D_281494550_10_10,720288326)",
+ "valueIsOneOf('D_391951010_10_10',223216393,628445697,419220239)",
+ "equals(D_771528780_10_10,660308254)",
+ "equals(D_771528780_10_10,936573532)",
+ "equals(D_486574018_10_10,353358909)",
+ "equals(D_486574018_10_10,104430631)",
+ "valueIsOneOf('D_391951010_10_10',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_10_10,353358909)",
+ "equals(D_779052408_10_10,104430631)",
+ "equals(D_133297530_10_10,353358909)",
+ "equals(D_133297530_10_10,104430631)",
+ "greaterThanOrEqual(D_405571048,11)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,11)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,11)))",
+ "equals(D_391951010_11_11,628445697)",
+ "equals(D_391951010_11_11,419220239)",
+ "or(equals(D_391951010_11_11,223216393),equals(D_391951010_11_11,628445697))",
+ "equals(D_391951010_11_11,223216393)",
+ "equals(D_391951010_11_11,306890578)",
+ "equals(D_391951010_11_11,858244199)",
+ "equals(D_391951010_11_11,746038746)",
+ "valueIsOneOf('D_391951010_11_11',628445697,419220239)",
+ "equals(D_281494550_11_11,582602017)",
+ "equals(D_281494550_11_11,105727261)",
+ "equals(D_281494550_11_11,720288326)",
+ "valueIsOneOf('D_391951010_11_11',223216393,628445697,419220239)",
+ "equals(D_771528780_11_11,660308254)",
+ "equals(D_771528780_11_11,936573532)",
+ "equals(D_486574018_11_11,353358909)",
+ "equals(D_486574018_11_11,104430631)",
+ "valueIsOneOf('D_391951010_11_11',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_11_11,353358909)",
+ "equals(D_779052408_11_11,104430631)",
+ "equals(D_133297530_11_11,353358909)",
+ "equals(D_133297530_11_11,104430631)",
+ "greaterThanOrEqual(D_405571048,12)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,12)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,12)))",
+ "equals(D_391951010_12_12,628445697)",
+ "equals(D_391951010_12_12,419220239)",
+ "or(equals(D_391951010_12_12,223216393),equals(D_391951010_12_12,628445697))",
+ "equals(D_391951010_12_12,223216393)",
+ "equals(D_391951010_12_12,306890578)",
+ "equals(D_391951010_12_12,858244199)",
+ "equals(D_391951010_12_12,746038746)",
+ "valueIsOneOf('D_391951010_12_12',628445697,419220239)",
+ "equals(D_281494550_12_12,582602017)",
+ "equals(D_281494550_12_12,105727261)",
+ "equals(D_281494550_12_12,720288326)",
+ "valueIsOneOf('D_391951010_12_12',223216393,628445697,419220239)",
+ "equals(D_771528780_12_12,660308254)",
+ "equals(D_771528780_12_12,936573532)",
+ "equals(D_486574018_12_12,353358909)",
+ "equals(D_486574018_12_12,104430631)",
+ "valueIsOneOf('D_391951010_12_12',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_12_12,353358909)",
+ "equals(D_779052408_12_12,104430631)",
+ "equals(D_133297530_12_12,353358909)",
+ "equals(D_133297530_12_12,104430631)",
+ "greaterThanOrEqual(D_405571048,13)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,13)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,13)))",
+ "equals(D_391951010_13_13,628445697)",
+ "equals(D_391951010_13_13,419220239)",
+ "or(equals(D_391951010_13_13,223216393),equals(D_391951010_13_13,628445697))",
+ "equals(D_391951010_13_13,223216393)",
+ "equals(D_391951010_13_13,306890578)",
+ "equals(D_391951010_13_13,858244199)",
+ "equals(D_391951010_13_13,746038746)",
+ "valueIsOneOf('D_391951010_13_13',628445697,419220239)",
+ "equals(D_281494550_13_13,582602017)",
+ "equals(D_281494550_13_13,105727261)",
+ "equals(D_281494550_13_13,720288326)",
+ "valueIsOneOf('D_391951010_13_13',223216393,628445697,419220239)",
+ "equals(D_771528780_13_13,660308254)",
+ "equals(D_771528780_13_13,936573532)",
+ "equals(D_486574018_13_13,353358909)",
+ "equals(D_486574018_13_13,104430631)",
+ "valueIsOneOf('D_391951010_13_13',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_13_13,353358909)",
+ "equals(D_779052408_13_13,104430631)",
+ "equals(D_133297530_13_13,353358909)",
+ "equals(D_133297530_13_13,104430631)",
+ "greaterThanOrEqual(D_405571048,14)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,14)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,14)))",
+ "equals(D_391951010_14_14,628445697)",
+ "equals(D_391951010_14_14,419220239)",
+ "or(equals(D_391951010_14_14,223216393),equals(D_391951010_14_14,628445697))",
+ "equals(D_391951010_14_14,223216393)",
+ "equals(D_391951010_14_14,306890578)",
+ "equals(D_391951010_14_14,858244199)",
+ "equals(D_391951010_14_14,746038746)",
+ "valueIsOneOf('D_391951010_14_14',628445697,419220239)",
+ "equals(D_281494550_14_14,582602017)",
+ "equals(D_281494550_14_14,105727261)",
+ "equals(D_281494550_14_14,720288326)",
+ "valueIsOneOf('D_391951010_14_14',223216393,628445697,419220239)",
+ "equals(D_771528780_14_14,660308254)",
+ "equals(D_771528780_14_14,936573532)",
+ "equals(D_486574018_14_14,353358909)",
+ "equals(D_486574018_14_14,104430631)",
+ "valueIsOneOf('D_391951010_14_14',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_14_14,353358909)",
+ "equals(D_779052408_14_14,104430631)",
+ "equals(D_133297530_14_14,353358909)",
+ "equals(D_133297530_14_14,104430631)",
+ "greaterThanOrEqual(D_405571048,15)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,15)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,15)))",
+ "equals(D_391951010_15_15,628445697)",
+ "equals(D_391951010_15_15,419220239)",
+ "or(equals(D_391951010_15_15,223216393),equals(D_391951010_15_15,628445697))",
+ "equals(D_391951010_15_15,223216393)",
+ "equals(D_391951010_15_15,306890578)",
+ "equals(D_391951010_15_15,858244199)",
+ "equals(D_391951010_15_15,746038746)",
+ "valueIsOneOf('D_391951010_15_15',628445697,419220239)",
+ "equals(D_281494550_15_15,582602017)",
+ "equals(D_281494550_15_15,105727261)",
+ "equals(D_281494550_15_15,720288326)",
+ "valueIsOneOf('D_391951010_15_15',223216393,628445697,419220239)",
+ "equals(D_771528780_15_15,660308254)",
+ "equals(D_771528780_15_15,936573532)",
+ "equals(D_486574018_15_15,353358909)",
+ "equals(D_486574018_15_15,104430631)",
+ "valueIsOneOf('D_391951010_15_15',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_15_15,353358909)",
+ "equals(D_779052408_15_15,104430631)",
+ "equals(D_133297530_15_15,353358909)",
+ "equals(D_133297530_15_15,104430631)",
+ "greaterThanOrEqual(D_405571048,16)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,16)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,16)))",
+ "equals(D_391951010_16_16,628445697)",
+ "equals(D_391951010_16_16,419220239)",
+ "or(equals(D_391951010_16_16,223216393),equals(D_391951010_16_16,628445697))",
+ "equals(D_391951010_16_16,223216393)",
+ "equals(D_391951010_16_16,306890578)",
+ "equals(D_391951010_16_16,858244199)",
+ "equals(D_391951010_16_16,746038746)",
+ "valueIsOneOf('D_391951010_16_16',628445697,419220239)",
+ "equals(D_281494550_16_16,582602017)",
+ "equals(D_281494550_16_16,105727261)",
+ "equals(D_281494550_16_16,720288326)",
+ "valueIsOneOf('D_391951010_16_16',223216393,628445697,419220239)",
+ "equals(D_771528780_16_16,660308254)",
+ "equals(D_771528780_16_16,936573532)",
+ "equals(D_486574018_16_16,353358909)",
+ "equals(D_486574018_16_16,104430631)",
+ "valueIsOneOf('D_391951010_16_16',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_16_16,353358909)",
+ "equals(D_779052408_16_16,104430631)",
+ "equals(D_133297530_16_16,353358909)",
+ "equals(D_133297530_16_16,104430631)",
+ "greaterThanOrEqual(D_405571048,17)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,17)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,17)))",
+ "equals(D_391951010_17_17,628445697)",
+ "equals(D_391951010_17_17,419220239)",
+ "or(equals(D_391951010_17_17,223216393),equals(D_391951010_17_17,628445697))",
+ "equals(D_391951010_17_17,223216393)",
+ "equals(D_391951010_17_17,306890578)",
+ "equals(D_391951010_17_17,858244199)",
+ "equals(D_391951010_17_17,746038746)",
+ "valueIsOneOf('D_391951010_17_17',628445697,419220239)",
+ "equals(D_281494550_17_17,582602017)",
+ "equals(D_281494550_17_17,105727261)",
+ "equals(D_281494550_17_17,720288326)",
+ "valueIsOneOf('D_391951010_17_17',223216393,628445697,419220239)",
+ "equals(D_771528780_17_17,660308254)",
+ "equals(D_771528780_17_17,936573532)",
+ "equals(D_486574018_17_17,353358909)",
+ "equals(D_486574018_17_17,104430631)",
+ "valueIsOneOf('D_391951010_17_17',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_17_17,353358909)",
+ "equals(D_779052408_17_17,104430631)",
+ "equals(D_133297530_17_17,353358909)",
+ "equals(D_133297530_17_17,104430631)",
+ "greaterThanOrEqual(D_405571048,18)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,18)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,18)))",
+ "equals(D_391951010_18_18,628445697)",
+ "equals(D_391951010_18_18,419220239)",
+ "or(equals(D_391951010_18_18,223216393),equals(D_391951010_18_18,628445697))",
+ "equals(D_391951010_18_18,223216393)",
+ "equals(D_391951010_18_18,306890578)",
+ "equals(D_391951010_18_18,858244199)",
+ "equals(D_391951010_18_18,746038746)",
+ "valueIsOneOf('D_391951010_18_18',628445697,419220239)",
+ "equals(D_281494550_18_18,582602017)",
+ "equals(D_281494550_18_18,105727261)",
+ "equals(D_281494550_18_18,720288326)",
+ "valueIsOneOf('D_391951010_18_18',223216393,628445697,419220239)",
+ "equals(D_771528780_18_18,660308254)",
+ "equals(D_771528780_18_18,936573532)",
+ "equals(D_486574018_18_18,353358909)",
+ "equals(D_486574018_18_18,104430631)",
+ "valueIsOneOf('D_391951010_18_18',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_18_18,353358909)",
+ "equals(D_779052408_18_18,104430631)",
+ "equals(D_133297530_18_18,353358909)",
+ "equals(D_133297530_18_18,104430631)",
+ "greaterThanOrEqual(D_405571048,19)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,19)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,19)))",
+ "equals(D_391951010_19_19,628445697)",
+ "equals(D_391951010_19_19,419220239)",
+ "or(equals(D_391951010_19_19,223216393),equals(D_391951010_19_19,628445697))",
+ "equals(D_391951010_19_19,223216393)",
+ "equals(D_391951010_19_19,306890578)",
+ "equals(D_391951010_19_19,858244199)",
+ "equals(D_391951010_19_19,746038746)",
+ "valueIsOneOf('D_391951010_19_19',628445697,419220239)",
+ "equals(D_281494550_19_19,582602017)",
+ "equals(D_281494550_19_19,105727261)",
+ "equals(D_281494550_19_19,720288326)",
+ "valueIsOneOf('D_391951010_19_19',223216393,628445697,419220239)",
+ "equals(D_771528780_19_19,660308254)",
+ "equals(D_771528780_19_19,936573532)",
+ "equals(D_486574018_19_19,353358909)",
+ "equals(D_486574018_19_19,104430631)",
+ "valueIsOneOf('D_391951010_19_19',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_19_19,353358909)",
+ "equals(D_779052408_19_19,104430631)",
+ "equals(D_133297530_19_19,353358909)",
+ "equals(D_133297530_19_19,104430631)",
+ "greaterThanOrEqual(D_405571048,20)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,20)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,20)))",
+ "equals(D_391951010_20_20,628445697)",
+ "equals(D_391951010_20_20,419220239)",
+ "or(equals(D_391951010_20_20,223216393),equals(D_391951010_20_20,628445697))",
+ "equals(D_391951010_20_20,223216393)",
+ "equals(D_391951010_20_20,306890578)",
+ "equals(D_391951010_20_20,858244199)",
+ "equals(D_391951010_20_20,746038746)",
+ "valueIsOneOf('D_391951010_20_20',628445697,419220239)",
+ "equals(D_281494550_20_20,582602017)",
+ "equals(D_281494550_20_20,105727261)",
+ "equals(D_281494550_20_20,720288326)",
+ "valueIsOneOf('D_391951010_20_20',223216393,628445697,419220239)",
+ "equals(D_771528780_20_20,660308254)",
+ "equals(D_771528780_20_20,936573532)",
+ "equals(D_486574018_20_20,353358909)",
+ "equals(D_486574018_20_20,104430631)",
+ "valueIsOneOf('D_391951010_20_20',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_20_20,353358909)",
+ "equals(D_779052408_20_20,104430631)",
+ "equals(D_133297530_20_20,353358909)",
+ "equals(D_133297530_20_20,104430631)",
+ "greaterThanOrEqual(D_405571048,21)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,21)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,21)))",
+ "equals(D_391951010_21_21,628445697)",
+ "equals(D_391951010_21_21,419220239)",
+ "or(equals(D_391951010_21_21,223216393),equals(D_391951010_21_21,628445697))",
+ "equals(D_391951010_21_21,223216393)",
+ "equals(D_391951010_21_21,306890578)",
+ "equals(D_391951010_21_21,858244199)",
+ "equals(D_391951010_21_21,746038746)",
+ "valueIsOneOf('D_391951010_21_21',628445697,419220239)",
+ "equals(D_281494550_21_21,582602017)",
+ "equals(D_281494550_21_21,105727261)",
+ "equals(D_281494550_21_21,720288326)",
+ "valueIsOneOf('D_391951010_21_21',223216393,628445697,419220239)",
+ "equals(D_771528780_21_21,660308254)",
+ "equals(D_771528780_21_21,936573532)",
+ "equals(D_486574018_21_21,353358909)",
+ "equals(D_486574018_21_21,104430631)",
+ "valueIsOneOf('D_391951010_21_21',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_21_21,353358909)",
+ "equals(D_779052408_21_21,104430631)",
+ "equals(D_133297530_21_21,353358909)",
+ "equals(D_133297530_21_21,104430631)",
+ "greaterThanOrEqual(D_405571048,22)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,22)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,22)))",
+ "equals(D_391951010_22_22,628445697)",
+ "equals(D_391951010_22_22,419220239)",
+ "or(equals(D_391951010_22_22,223216393),equals(D_391951010_22_22,628445697))",
+ "equals(D_391951010_22_22,223216393)",
+ "equals(D_391951010_22_22,306890578)",
+ "equals(D_391951010_22_22,858244199)",
+ "equals(D_391951010_22_22,746038746)",
+ "valueIsOneOf('D_391951010_22_22',628445697,419220239)",
+ "equals(D_281494550_22_22,582602017)",
+ "equals(D_281494550_22_22,105727261)",
+ "equals(D_281494550_22_22,720288326)",
+ "valueIsOneOf('D_391951010_22_22',223216393,628445697,419220239)",
+ "equals(D_771528780_22_22,660308254)",
+ "equals(D_771528780_22_22,936573532)",
+ "equals(D_486574018_22_22,353358909)",
+ "equals(D_486574018_22_22,104430631)",
+ "valueIsOneOf('D_391951010_22_22',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_22_22,353358909)",
+ "equals(D_779052408_22_22,104430631)",
+ "equals(D_133297530_22_22,353358909)",
+ "equals(D_133297530_22_22,104430631)",
+ "greaterThanOrEqual(D_405571048,23)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,23)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,23)))",
+ "equals(D_391951010_23_23,628445697)",
+ "equals(D_391951010_23_23,419220239)",
+ "or(equals(D_391951010_23_23,223216393),equals(D_391951010_23_23,628445697))",
+ "equals(D_391951010_23_23,223216393)",
+ "equals(D_391951010_23_23,306890578)",
+ "equals(D_391951010_23_23,858244199)",
+ "equals(D_391951010_23_23,746038746)",
+ "valueIsOneOf('D_391951010_23_23',628445697,419220239)",
+ "equals(D_281494550_23_23,582602017)",
+ "equals(D_281494550_23_23,105727261)",
+ "equals(D_281494550_23_23,720288326)",
+ "valueIsOneOf('D_391951010_23_23',223216393,628445697,419220239)",
+ "equals(D_771528780_23_23,660308254)",
+ "equals(D_771528780_23_23,936573532)",
+ "equals(D_486574018_23_23,353358909)",
+ "equals(D_486574018_23_23,104430631)",
+ "valueIsOneOf('D_391951010_23_23',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_23_23,353358909)",
+ "equals(D_779052408_23_23,104430631)",
+ "equals(D_133297530_23_23,353358909)",
+ "equals(D_133297530_23_23,104430631)",
+ "greaterThanOrEqual(D_405571048,24)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,24)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,24)))",
+ "equals(D_391951010_24_24,628445697)",
+ "equals(D_391951010_24_24,419220239)",
+ "or(equals(D_391951010_24_24,223216393),equals(D_391951010_24_24,628445697))",
+ "equals(D_391951010_24_24,223216393)",
+ "equals(D_391951010_24_24,306890578)",
+ "equals(D_391951010_24_24,858244199)",
+ "equals(D_391951010_24_24,746038746)",
+ "valueIsOneOf('D_391951010_24_24',628445697,419220239)",
+ "equals(D_281494550_24_24,582602017)",
+ "equals(D_281494550_24_24,105727261)",
+ "equals(D_281494550_24_24,720288326)",
+ "valueIsOneOf('D_391951010_24_24',223216393,628445697,419220239)",
+ "equals(D_771528780_24_24,660308254)",
+ "equals(D_771528780_24_24,936573532)",
+ "equals(D_486574018_24_24,353358909)",
+ "equals(D_486574018_24_24,104430631)",
+ "valueIsOneOf('D_391951010_24_24',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_24_24,353358909)",
+ "equals(D_779052408_24_24,104430631)",
+ "equals(D_133297530_24_24,353358909)",
+ "equals(D_133297530_24_24,104430631)",
+ "greaterThanOrEqual(D_405571048,25)",
+ "or(and(equals(D_849945160,353358909),greaterThan(D_405571048,25)),and(doesNotEqual(D_849945160,353358909),greaterThanOrEqual(D_405571048,25)))",
+ "equals(D_391951010_25_25,628445697)",
+ "equals(D_391951010_25_25,419220239)",
+ "or(equals(D_391951010_25_25,223216393),equals(D_391951010_25_25,628445697))",
+ "equals(D_391951010_25_25,223216393)",
+ "equals(D_391951010_25_25,306890578)",
+ "equals(D_391951010_25_25,858244199)",
+ "equals(D_391951010_25_25,746038746)",
+ "valueIsOneOf('D_391951010_25_25',628445697,419220239)",
+ "equals(D_281494550_25_25,582602017)",
+ "equals(D_281494550_25_25,105727261)",
+ "equals(D_281494550_25_25,720288326)",
+ "valueIsOneOf('D_391951010_25_25',223216393,628445697,419220239)",
+ "equals(D_771528780_25_25,660308254)",
+ "equals(D_771528780_25_25,936573532)",
+ "equals(D_486574018_25_25,353358909)",
+ "equals(D_486574018_25_25,104430631)",
+ "valueIsOneOf('D_391951010_25_25',223216393,628445697,419220239,858244199)",
+ "equals(D_779052408_25_25,353358909)",
+ "equals(D_779052408_25_25,104430631)",
+ "equals(D_133297530_25_25,353358909)",
+ "equals(D_133297530_25_25,104430631)",
+ "doesNotEqual(D_762700622,'')",
+ "doesNotExist('D_762700622')",
+ "equals(D_668834883,246843973)",
+ "equals(D_668834883,854184254)",
+ "equals(D_668834883,515434780)",
+ "equals(D_668834883,674148137)",
+ "valueIsOneOf(\"D_668834883\",807835037) or valueLength(\"D_640559281\")>0",
+ "valueLength('D_640559281')>0",
+ "valueLength('D_640559281')==0",
+ "equals(D_800943768,687050279)",
+ "valueIsOneOf(\"D_800943768\",807835037) or valueLength(\"D_235516216\")>0",
+ "valueLength('D_235516216')>0",
+ "valueLength('D_235516216')==0",
+ "equals(D_263785082,837393880)",
+ "equals(D_263785082,944874693)",
+ "valueIsOneOf(\"D_263785082\",807835037) or valueLength(\"D_542108835\")>0",
+ "valueLength('D_542108835')>0",
+ "valueLength('D_542108835')==0",
+ "or(equals(D_946849196,729863969),or(equals(D_946849196,108104748),or(equals(D_946849196,717308596),or(equals(D_946849196,746788766),or(equals(D_946849196,158214723),doesNotEqual(D_946849196,658810736))))))",
+ "doesNotEqual(D_557526470,'')",
+ "doesNotExist('D_557526470')",
+ "equals(D_613744428,353358909)",
+ "valueEquals(\"D_613744428\",353358909)",
+ "equals(\"D_613744428\",353358909)",
+ "someSelected(\"D_980120253_1\",\"D_980120253_2\",\"D_980120253_3\",\"D_980120253_4\",\"D_980120253_5\",\"D_980120253_6\",\"D_993029890_1\",\"D_993029890_2\",\"D_993029890_3\",\"D_993029890_4\",\"D_993029890_5\",\"D_993029890_6\",\"D_980196073_1\",\"D_980196073_2\",\"D_980196073_3\",\"D_980196073_4\",\"D_980196073_5\",\"D_980196073_6\",\"D_115422925_1\",\"D_115422925_2\",\"D_115422925_3\",\"D_115422925_4\",\"D_115422925_5\",\"D_115422925_6\",\"D_151161693_1\",\"D_151161693_2\",\"D_151161693_3\",\"D_151161693_4\",\"D_151161693_5\",\"D_151161693_6\")",
+ "someSelected(%22D_980120253_1%22%2C%22D_980120253_2%22%2C%22D_980120253_3%22%2C%22D_980120253_4%22%2C%22D_980120253_5%22%2C%22D_980120253_6%22)",
+ "someSelected(%22D_993029890_1%22%2C%22D_993029890_2%22%2C%22D_993029890_3%22%2C%22D_993029890_4%22%2C%22D_993029890_5%22%2C%22D_993029890_6%22)",
+ "someSelected(%22D_980196073_1%22%2C%22D_980196073_2%22%2C%22D_980196073_3%22%2C%22D_980196073_4%22%2C%22D_980196073_5%22%2C%22D_980196073_6%22)",
+ "someSelected(%22D_115422925_1%22%2C%22D_115422925_2%22%2C%22D_115422925_3%22%2C%22D_115422925_4%22%2C%22D_115422925_5%22%2C%22D_115422925_6%22)",
+ "someSelected(%22D_151161693_1%22%2C%22D_151161693_2%22%2C%22D_151161693_3%22%2C%22D_151161693_4%22%2C%22D_151161693_5%22%2C%22D_151161693_6%22)",
+ "equals(D_204421360,797221287)",
+ "equals(numberOfChoicesSelected(D_442059084,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_442059084,0),1)",
+ "doesNotExist('D_442059084')",
+ "equals(D_204421360,500744195)",
+ "equals(numberOfChoicesSelected(D_829749579,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_829749579,0),1)",
+ "doesNotExist('D_829749579')",
+ "equals(D_204421360,383015037)",
+ "equals(numberOfChoicesSelected(D_618482103,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_618482103,0),1)",
+ "doesNotExist('D_618482103')",
+ "equals(D_517976064,904954920)",
+ "equals(numberOfChoicesSelected(D_894610280,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_894610280,0),1)",
+ "doesNotExist('D_894610280')",
+ "equals(D_517976064,619501806)",
+ "equals(numberOfChoicesSelected(D_222110888,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_222110888,0),1)",
+ "doesNotExist('D_222110888')",
+ "equals(D_517976064,203192394)",
+ "equals(numberOfChoicesSelected(D_564242877,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_564242877,0),1)",
+ "doesNotExist('D_564242877')",
+ "equals(D_517976064,261267696)",
+ "equals(numberOfChoicesSelected(D_635874413,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_635874413,0),1)",
+ "doesNotExist('D_635874413')",
+ "equals(D_517976064,926584500)",
+ "equals(numberOfChoicesSelected(D_371748514,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_371748514,0),1)",
+ "doesNotExist('D_371748514')",
+ "equals(D_517976064,420058896)",
+ "equals(numberOfChoicesSelected(D_858525957,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_858525957,0),1)",
+ "doesNotExist('D_858525957')",
+ "equals(D_517976064,868685663)",
+ "equals(numberOfChoicesSelected(D_787591805,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_787591805,0),1)",
+ "doesNotExist('D_787591805')",
+ "equals(D_517976064,760484278)",
+ "equals(numberOfChoicesSelected(D_900299856,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_900299856,0),1)",
+ "doesNotExist('D_900299856')",
+ "equals(D_517976064,345916806)",
+ "equals(numberOfChoicesSelected(D_149884127,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_149884127,0),1)",
+ "doesNotExist('D_149884127')",
+ "equals(D_517976064,936042582)",
+ "equals(numberOfChoicesSelected(D_845164425,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_845164425,0),1)",
+ "doesNotExist('D_845164425')",
+ "equals(D_517976064,182827107)",
+ "equals(numberOfChoicesSelected(D_187772368,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_187772368,0),1)",
+ "doesNotExist('D_187772368')",
+ "equals(D_517976064,734860227)",
+ "equals(numberOfChoicesSelected(D_815229596,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_815229596,0),1)",
+ "doesNotExist('D_815229596')",
+ "equals(D_517976064,371531887)",
+ "equals(numberOfChoicesSelected(D_262305264,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_262305264,0),1)",
+ "doesNotExist('D_262305264')",
+ "equals(D_517976064,423631576)",
+ "equals(numberOfChoicesSelected(D_409324592,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_409324592,0),1)",
+ "doesNotExist('D_409324592')",
+ "equals(D_517976064,181769837)",
+ "equals(numberOfChoicesSelected(D_895837106,0),1)",
+ "greaterThan(numberOfChoicesSelected(D_895837106,0),1)",
+ "doesNotExist('D_895837106')",
+ "valueIsOneOf('D_750420077',578416151,434651539) or valueEquals('D_407056417',536341288)",
+ "equals(D_591723682,353358909)",
+ "doesNotEqual(D_591723682,353358909)",
+ "equals(D_479628567,370923702)",
+ "equals(D_674976924,958538953)",
+ "equals(D_674976924,274062548)"
+ ],
+ "sitesByScope": {
+ "grid-inline": 3,
+ "grid-row": 5,
+ "inline": 1025,
+ "question": 362,
+ "response": 7
+ },
+ "sitesByAttribute": {
+ "data-displayif": 5,
+ "displayif": 1397
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_392658845",
+ "questionIndex": 452,
+ "rowQuestionIds": [
+ "D_699101535",
+ "D_652561589",
+ "D_589522790",
+ "D_239572239"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "464753847",
+ "729681071",
+ "258023209",
+ "638092100",
+ "628177728",
+ "919739344",
+ "755558825",
+ "949555271",
+ "201002865"
+ ]
+ },
+ {
+ "questionId": "D_649352910",
+ "questionIndex": 454,
+ "rowQuestionIds": [
+ "D_654385712",
+ "D_263483736",
+ "D_806746224",
+ "D_396649512"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "464753847",
+ "729681071",
+ "258023209",
+ "638092100",
+ "628177728",
+ "919739344",
+ "755558825",
+ "949555271",
+ "201002865"
+ ]
+ },
+ {
+ "questionId": "D_733547268",
+ "questionIndex": 456,
+ "rowQuestionIds": [
+ "D_980120253",
+ "D_993029890",
+ "D_980196073",
+ "D_115422925",
+ "D_151161693"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "648960871",
+ "239152340",
+ "582006876",
+ "645894551",
+ "996315715",
+ "671267928",
+ "647504893"
+ ]
+ },
+ {
+ "questionId": "D_128705365",
+ "questionIndex": 457,
+ "rowQuestionIds": [
+ "D_607323377",
+ "D_491484323",
+ "D_588637585",
+ "D_199039940",
+ "D_986476579"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "428999623",
+ "248303092",
+ "206020811",
+ "264163865",
+ "638092100",
+ "628177728",
+ "805918496"
+ ]
+ },
+ {
+ "questionId": "D_421859821",
+ "questionIndex": 536,
+ "rowQuestionIds": [
+ "D_220238240",
+ "D_151006826",
+ "D_965290070",
+ "D_781115321",
+ "D_453071098",
+ "D_513065503",
+ "D_257137378"
+ ],
+ "rowCount": 7,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "525779785",
+ "565036180",
+ "284343405",
+ "270994579"
+ ]
+ },
+ {
+ "questionId": "D_981441822",
+ "questionIndex": 538,
+ "rowQuestionIds": [
+ "D_403155173",
+ "D_576621769",
+ "D_988508028",
+ "D_186488870",
+ "D_922388461",
+ "D_760686611",
+ "D_354550061",
+ "D_179705366",
+ "D_955609858"
+ ],
+ "rowCount": 9,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "514068832",
+ "774439579",
+ "747099514",
+ "977681388"
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_405571048"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 104,
+ 113,
+ 122,
+ 131,
+ 140,
+ 149,
+ 158,
+ 167,
+ 176,
+ 185,
+ 194,
+ 203,
+ 212,
+ 221,
+ 230,
+ 239,
+ 248,
+ 257,
+ 266,
+ 275,
+ 284,
+ 293,
+ 302,
+ 311,
+ 320
+ ],
+ "boundaryIndex": 329
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 360,
+ "processorQuestionCount": 554,
+ "processedQuestionCount": 554,
+ "renderedFormCount": 554,
+ "controlCount": 3466,
+ "responseControlCount": 1600,
+ "explicitTransitionCount": 592,
+ "sequentialAdjacencyCount": 553,
+ "resolvedExplicitTransitionCount": 592,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1402,
+ "gridQuestionCount": 6,
+ "gridRowCount": 34,
+ "loopStartCount": 25,
+ "loopDefinitionCount": 1,
+ "loopExpandedQuestionCount": 225,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 691
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module3",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module3.txt",
+ "sha256": "73f6a1ba8bb0ce4b3c1cb56566b3c46b0d8552ff299be81a57ed6c4d4597ea8f",
+ "questName": "D_965707586",
+ "version": "1.6",
+ "authoredMarkerCount": 314,
+ "runtimeQuestionIds": [
+ "INTROM3",
+ "INTROSMO",
+ "D_947205597?",
+ "D_763164658?",
+ "D_194557808?",
+ "D_790436165?",
+ "D_639684251?",
+ "D_798549704?",
+ "D_227439141?",
+ "D_318569032?",
+ "D_204884007?",
+ "D_400969127?",
+ "D_820220019?",
+ "D_304657762?",
+ "D_815776236?",
+ "D_560293868?",
+ "D_399659169?",
+ "D_667002790?",
+ "D_534351312?",
+ "D_594608533?",
+ "D_923371868?",
+ "D_445537380?",
+ "D_387489930?",
+ "D_493642768?",
+ "D_821629868?",
+ "D_434034366?",
+ "D_842088582?",
+ "D_624111331?",
+ "D_761037053?",
+ "D_550244580?",
+ "D_751046675?",
+ "D_238422161?",
+ "D_716554850?",
+ "D_724079256?",
+ "D_360277949?",
+ "D_242276545?",
+ "D_183546626?",
+ "D_982470672?",
+ "D_333072838?",
+ "D_388614168?",
+ "D_656911826?",
+ "D_370901901?",
+ "D_240089798?",
+ "D_536216847?",
+ "D_622394149?",
+ "D_442002787?",
+ "D_208578552?",
+ "D_480155628?",
+ "D_640944113?",
+ "D_866159532?",
+ "D_182431332?",
+ "D_241771440?",
+ "D_814115676?",
+ "D_564438246?",
+ "D_789271762?",
+ "D_622210148?",
+ "D_457290610?",
+ "D_997412869?",
+ "D_395480458?",
+ "D_674378360?",
+ "D_780721084?",
+ "D_287715042?",
+ "D_145078867?",
+ "D_598954337?",
+ "D_103566006?",
+ "D_254689566?",
+ "D_951151270?",
+ "D_237415094?",
+ "D_868868325?",
+ "D_243519559?",
+ "D_365370279?",
+ "D_645681293?",
+ "D_440364083?",
+ "D_306320432?",
+ "D_213679054?",
+ "D_257300783?",
+ "D_101710639?",
+ "D_344631681?",
+ "D_872821562?",
+ "D_344583659?",
+ "D_671380198?",
+ "D_785139115?",
+ "D_549400618?",
+ "D_394049992?",
+ "D_673842048?",
+ "D_568113091?",
+ "D_537807075?",
+ "D_960332453?",
+ "D_495592561?",
+ "D_705282587?",
+ "D_133396976?",
+ "D_628770824?",
+ "D_558707243?",
+ "D_929034795?",
+ "D_995220236?",
+ "D_551301510?",
+ "D_981755099?",
+ "D_127871793?",
+ "D_154603497?",
+ "D_472007171?",
+ "D_787047261?",
+ "D_915293401?",
+ "D_268407776?",
+ "D_938333920?",
+ "D_585702271?",
+ "D_827661413?",
+ "D_356470028?",
+ "D_720305356?",
+ "D_951901114?",
+ "D_471435289?",
+ "D_445712879?",
+ "D_620425840?",
+ "D_798627028?",
+ "D_584608368?",
+ "D_921623945?",
+ "D_370253256?",
+ "D_470096941?",
+ "D_544356746?",
+ "D_559388168?",
+ "D_450151555?",
+ "D_546410473?",
+ "D_458395129?",
+ "D_845122623?",
+ "D_679300202?",
+ "D_146877593?",
+ "D_780685299?",
+ "D_311569789?",
+ "D_652477674?",
+ "D_780767323?",
+ "D_385490512?",
+ "D_119378795?",
+ "D_286598574?",
+ "D_689339933?",
+ "D_812430894?",
+ "D_178242940?",
+ "D_501545129?",
+ "D_197309242?",
+ "D_550850568?",
+ "D_277284423?",
+ "D_127038003?",
+ "D_337810964?",
+ "D_334292580?",
+ "D_738219521",
+ "D_252017075",
+ "INTROMAR",
+ "D_830608495?",
+ "SMMAR",
+ "D_319397722?",
+ "D_210016366?",
+ "D_116080663?",
+ "D_503058092?",
+ "D_180308733?",
+ "D_831873859?",
+ "D_594280517?",
+ "D_863664828?",
+ "D_129677435?",
+ "D_930208825?",
+ "D_719293094?",
+ "D_722122662?",
+ "D_556963634?",
+ "D_492742957?",
+ "D_377064836?",
+ "D_258291510?",
+ "D_175995366?",
+ "D_643099118?",
+ "D_864290328?",
+ "D_386950237?",
+ "D_480217113?",
+ "D_645361463?",
+ "D_882838859?",
+ "D_524914900?",
+ "D_140848765?",
+ "D_378254382?",
+ "D_891825638?",
+ "D_444759994?",
+ "D_746817928?",
+ "D_992757226?",
+ "D_405178123?",
+ "D_698314386?",
+ "D_363377579?",
+ "D_964154290?",
+ "D_171050898?",
+ "D_606675249?",
+ "D_411960217?",
+ "D_755923078?",
+ "D_381268397?",
+ "D_723763329?",
+ "D_724990284?",
+ "D_383748300?",
+ "D_199612020?",
+ "D_755298453?",
+ "D_777877159?",
+ "D_680697711?",
+ "D_325229459?",
+ "D_116510981?",
+ "D_942945860?",
+ "D_521073718?",
+ "D_859228803?",
+ "D_589885595?",
+ "D_659140794?",
+ "D_445187084?",
+ "D_142164107?",
+ "D_695423703?",
+ "D_816891201?",
+ "D_177252178?",
+ "D_116014097?",
+ "D_562595294?",
+ "D_268240612?",
+ "D_446121108?",
+ "D_319252189?",
+ "D_822964046?",
+ "D_878281875?",
+ "D_989594002?",
+ "D_596004621?",
+ "D_459096272?",
+ "D_586306068?",
+ "D_101170268?",
+ "D_908399883?",
+ "D_653198444?",
+ "D_742544044?",
+ "D_921663542?",
+ "D_818380721?",
+ "D_179510070?",
+ "D_700173707?",
+ "D_259481608?",
+ "D_786517174?",
+ "D_276575533?",
+ "D_891996278?",
+ "D_238953261?",
+ "D_517100968?",
+ "D_810324917?",
+ "D_922708844?",
+ "D_336810811?",
+ "D_925215135?",
+ "D_402300898?",
+ "D_677733128?",
+ "D_702729897?",
+ "D_795265404?",
+ "D_432310123?",
+ "D_355689185?",
+ "D_766791333?",
+ "D_742254559?",
+ "D_420155119?",
+ "D_532755074?",
+ "D_681586194?",
+ "D_370352501?",
+ "D_970325871?",
+ "D_536166591?",
+ "D_119257304?",
+ "D_933417196?",
+ "D_937550939?",
+ "D_258703325?",
+ "D_585819411?",
+ "D_265469878?",
+ "D_349510816?",
+ "D_375227733?",
+ "D_752795304?",
+ "D_417552256?",
+ "D_963040791?",
+ "D_685659661?",
+ "D_511145980?",
+ "D_227784207?",
+ "INTROALC",
+ "D_448968121?",
+ "D_429228540?",
+ "D_250456537?",
+ "D_556837046?",
+ "D_338467033?",
+ "D_480426504?",
+ "D_789159346?",
+ "D_447720598?",
+ "D_726847824?",
+ "D_481662464?",
+ "D_411088265?",
+ "D_880067330?",
+ "D_178665310?",
+ "D_242987943?",
+ "D_228752045?",
+ "D_103045461?",
+ "D_254739443?",
+ "ALCLIFE1",
+ "D_633553324",
+ "D_470862706",
+ "INTROSE",
+ "D_863593410?",
+ "D_525152373?",
+ "D_146319128?",
+ "D_910501158?",
+ "D_345457702?",
+ "D_711858159?",
+ "D_467751479?",
+ "D_858858333?",
+ "D_795761911?",
+ "D_662762705?",
+ "D_463908980?",
+ "D_605063358?",
+ "D_648216681?",
+ "D_466473224?",
+ "EYECOLORINTRO",
+ "D_857219333?",
+ "D_384562783?",
+ "D_394410256?",
+ "D_524971659?",
+ "D_352986465?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 73,
+ "number": 142,
+ "radio": 823,
+ "text": 9
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_337810964",
+ "D_624111331",
+ "D_194557808",
+ "D_798549704",
+ "D_304657762",
+ "D_227439141",
+ "D_318569032",
+ "D_204884007",
+ "D_400969127",
+ "D_820220019",
+ "D_560293868",
+ "D_182431332",
+ "D_761037053",
+ "D_238422161",
+ "D_982470672",
+ "D_716554850",
+ "D_724079256",
+ "D_360277949",
+ "D_242276545",
+ "D_183546626",
+ "D_388614168",
+ "D_306320432",
+ "D_241771440",
+ "D_789271762",
+ "D_780721084",
+ "D_622210148",
+ "D_457290610",
+ "D_997412869",
+ "D_395480458",
+ "D_674378360",
+ "D_145078867",
+ "D_981755099",
+ "D_213679054",
+ "D_344631681",
+ "D_394049992",
+ "D_872821562",
+ "D_344583659",
+ "D_671380198",
+ "D_785139115",
+ "D_549400618",
+ "D_568113091",
+ "D_559388168",
+ "D_127871793",
+ "D_787047261",
+ "D_356470028",
+ "D_915293401",
+ "D_268407776",
+ "D_938333920",
+ "D_585702271",
+ "D_827661413",
+ "D_951901114",
+ "D_450151555",
+ "D_845122623",
+ "D_780767323",
+ "D_679300202",
+ "D_146877593",
+ "D_780685299",
+ "D_311569789",
+ "D_652477674",
+ "D_119378795",
+ "D_738219521",
+ "INTROALC",
+ "D_524914900",
+ "D_210016366",
+ "D_180308733",
+ "D_719293094",
+ "D_831873859",
+ "D_594280517",
+ "D_863664828",
+ "D_129677435",
+ "D_930208825",
+ "D_377064836",
+ "D_556963634",
+ "D_325229459",
+ "D_140848765",
+ "D_444759994",
+ "D_964154290",
+ "D_746817928",
+ "D_992757226",
+ "D_405178123",
+ "D_698314386",
+ "D_363377579",
+ "D_755923078",
+ "D_606675249",
+ "D_101170268",
+ "D_116510981",
+ "D_859228803",
+ "D_816891201",
+ "D_589885595",
+ "D_659140794",
+ "D_445187084",
+ "D_142164107",
+ "D_695423703",
+ "D_268240612",
+ "D_116014097",
+ "D_355689185",
+ "D_908399883",
+ "D_921663542",
+ "D_276575533",
+ "D_818380721",
+ "D_179510070",
+ "D_700173707",
+ "D_259481608",
+ "D_786517174",
+ "D_810324917",
+ "D_238953261",
+ "D_766791333",
+ "D_532755074",
+ "D_933417196",
+ "D_681586194",
+ "D_370352501",
+ "D_970325871",
+ "D_536166591",
+ "D_119257304",
+ "D_265469878",
+ "D_258703325",
+ "D_429228540",
+ "INTROSE",
+ "D_250456537",
+ "D_447720598",
+ "D_480426504",
+ "ALCLIFE1",
+ "D_254739443",
+ "D_795761911",
+ "EYECOLORINTRO",
+ "D_463908980",
+ "D_466473224",
+ "D_648216681"
+ ],
+ "byKind": {
+ "default": 23,
+ "no-response": 42,
+ "response": 189
+ },
+ "byResolution": {
+ "exact": 254
+ },
+ "triggerTypes": {
+ "hidden": 65,
+ "radio": 189
+ },
+ "triggerValues": [
+ "151488193",
+ "805449318",
+ "486319890",
+ "132232896",
+ "419415087",
+ "299561721",
+ "716761013",
+ "804785430",
+ "317567178",
+ "484055234",
+ "802197176",
+ "104430631",
+ "353358909",
+ "417208949",
+ "797736697",
+ "480609810",
+ "485011582",
+ "865134801",
+ "667010122",
+ "648960871",
+ "102445389",
+ "388196732",
+ "649327523",
+ "587052987",
+ "838336013"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_947205597,712653855)",
+ "doesNotExist('D_798549704') or valueEquals('D_798549704',317567178)",
+ "valueIsOneOf('D_798549704',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_639684251,804785430),and(or(or(equals(D_639684251,716761013),equals(D_639684251,299561721)),equals(D_639684251,419415087)),and(equals(D_798549704,484055234),equals(D_400969127,353358909)))),and(or(or(equals(D_639684251,716761013),equals(D_639684251,299561721)),equals(D_639684251,419415087)),and(equals(D_798549704,802197176),equals(D_400969127,353358909)))),1),equals(D_947205597,712653855))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",18)<=17 or valueOrDefault(\"D_204884007\",18)<=17)))",
+ "valueOrDefault('D_408696162',18)<=17",
+ "valueOrDefault('D_408696162',1)> 17",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,17),17))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,17),17))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",25)<=24 and valueOrDefault(\"D_204884007\",17)>=18)))",
+ "valueOrDefault('D_408696162',1)>=18 and valueOrDefault('D_408696162',25)<=24",
+ "valueOrDefault('D_408696162',19)< 18",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,24),24))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,24),24))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",30)<=29 and valueOrDefault(\"D_204884007\",24)>=25)))",
+ "valueOrDefault('D_408696162',1)>=25 and valueOrDefault('D_408696162',30)<=29",
+ "valueOrDefault('D_408696162',26)< 25",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,29),29))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,29),29))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",40)<=39 and valueOrDefault(\"D_204884007\",29)>=30)))",
+ "valueOrDefault('D_408696162',1)>30 and valueOrDefault('D_408696162',40)<=39",
+ "valueOrDefault('D_408696162',31)< 30",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,39),39))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,39),39))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",50)<=49 and valueOrDefault(\"D_204884007\",39)>=40)))",
+ "valueOrDefault('D_408696162',1)>=40 and valueOrDefault('D_408696162',50)<=49",
+ "valueOrDefault('D_408696162',41)< 40",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,49),49))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,49),49))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",60)<=59 and valueOrDefault(\"D_204884007\",49)>=50)))",
+ "valueOrDefault('D_408696162',1)>=50 and valueOrDefault('D_408696162',60)<=59",
+ "valueOrDefault('D_408696162',51)< 50",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,59),59))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,59),59))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",70)<=69 and valueOrDefault(\"D_204884007\",59)>=60)))",
+ "valueOrDefault('D_408696162',1)>=60 and valueOrDefault('D_408696162',70)<=69",
+ "valueOrDefault('D_408696162',61)< 60",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,69),69))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,69),69))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",69)>=70 or valueOrDefault(\"D_204884007\",69)>=70)))",
+ "valueOrDefault('age',1)>=70 and valueOrDefault('D_408696162',1)<70",
+ "valueOrDefault('D_408696162',1)>70",
+ "equals(D_947205597,706254326)",
+ "doesNotExist('D_238422161') or valueEquals('D_238422161',317567178)",
+ "valueIsOneOf('D_238422161',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_751046675,804785430),and(or(or(equals(D_751046675,716761013),equals(D_751046675,299561721)),equals(D_751046675,419415087)),and(equals(D_238422161,484055234),equals(D_242276545,353358909)))),and(or(or(equals(D_751046675,716761013),equals(D_751046675,299561721)),equals(D_751046675,419415087)),and(equals(D_238422161,802197176),equals(D_242276545,353358909)))),1),equals(D_947205597,706254326))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",18)<=17 or valueOrDefault(\"D_360277949\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_517801904,-1),0)",
+ "lessThan(isDefined(D_517801904,-1),0)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,17),17))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,17),17))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",25)<=24 and valueOrDefault(\"D_360277949\",17)>=18)))",
+ "valueOrDefault('D_517801904',1)>=18 and valueOrDefault('D_517801904',1)<=24",
+ "lessThan(isDefined(D_517801904,-1),18)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,24),24))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,24),24))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",30)<=29 and valueOrDefault(\"D_360277949\",24)>=25)))",
+ "valueOrDefault('D_517801904',1)>=25 and valueOrDefault('D_517801904',30)<=29",
+ "lessThan(isDefined(D_517801904,-1),25)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,29),29))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,29),29))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",40)<=39 and valueOrDefault(\"D_360277949\",29)>=30)))",
+ "valueOrDefault('D_517801904',1)>30 and valueOrDefault('D_517801904',40)<=39",
+ "lessThan(isDefined(D_517801904,-1),30)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,39),39))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,39),39))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",50)<=49 and valueOrDefault(\"D_360277949\",39)>=40)))",
+ "valueOrDefault('D_517801904',1)>=40 and valueOrDefault('D_517801904',50)<=49",
+ "lessThan(isDefined(D_517801904,-1),40)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,49),49))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,49),49))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",60)<=59 and valueOrDefault(\"D_360277949\",49)>=50)))",
+ "valueOrDefault('D_517801904',1)>=50 and valueOrDefault('D_517801904',60)<=59",
+ "lessThan(isDefined(D_517801904,-1),50)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,59),59))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,59),59))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",70)<=69 and valueOrDefault(\"D_360277949\",59)>=60)))",
+ "valueOrDefault('D_517801904',1)>=60 and valueOrDefault('D_517801904',70)<=69",
+ "lessThan(isDefined(D_517801904,-1),60)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,69),69))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,69),69))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",69)>=70 or valueOrDefault(\"D_360277949\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_517801904,-1),70)",
+ "lessThan(isDefined(D_517801904,-1),70)",
+ "equals(D_947205597,198133418)",
+ "doesNotExist('D_789271762') or valueEquals('D_789271762',317567178)",
+ "valueIsOneOf('D_789271762',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_564438246,804785430),and(or(or(equals(D_564438246,716761013),equals(D_564438246,299561721)),equals(D_564438246,419415087)),and(equals(D_789271762,484055234),equals(D_395480458,353358909)))),and(or(or(equals(D_564438246,716761013),equals(D_564438246,299561721)),equals(D_564438246,419415087)),and(equals(D_789271762,802197176),equals(D_395480458,353358909)))),1),equals(D_947205597,198133418))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",18)<=17 or valueOrDefault(\"D_997412869\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),0)",
+ "lessThan(isDefined(D_851145096,-1),0)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,17),17))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,17),17))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",25)<=24 and valueOrDefault(\"D_997412869\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),18)",
+ "lessThan(isDefined(D_851145096,-1),18)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,24),24))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,24),24))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",30)<=29 and valueOrDefault(\"D_997412869\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),25)",
+ "lessThan(isDefined(D_851145096,-1),25)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,29),29))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,29),29))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",40)<=39 and valueOrDefault(\"D_997412869\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),30)",
+ "lessThan(isDefined(D_851145096,-1),30)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,39),39))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,39),39))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",50)<=49 and valueOrDefault(\"D_997412869\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),40)",
+ "lessThan(isDefined(D_851145096,-1),40)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,49),49))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,49),49))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",60)<=59 and valueOrDefault(\"D_997412869\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),50)",
+ "lessThan(isDefined(D_851145096,-1),50)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,59),59))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,59),59))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",70)<=69 and valueOrDefault(\"D_997412869\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),60)",
+ "lessThan(isDefined(D_851145096,-1),60)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,69),69))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,69),69))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",69)>=70 or valueOrDefault(\"D_997412869\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),70)",
+ "lessThan(isDefined(D_851145096,-1),70)",
+ "equals(D_947205597,817381897)",
+ "doesNotExist('D_344631681') or valueEquals('D_344631681',317567178)",
+ "valueIsOneOf('D_344631681',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_101710639,804785430),and(or(or(equals(D_101710639,716761013),equals(D_101710639,299561721)),equals(D_101710639,419415087)),and(equals(D_344631681,484055234),equals(D_785139115,353358909)))),and(or(or(equals(D_101710639,716761013),equals(D_101710639,299561721)),equals(D_101710639,419415087)),and(equals(D_344631681,802197176),equals(D_785139115,353358909)))),1),equals(D_947205597,817381897))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",18)<=17 or valueOrDefault(\"D_671380198\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),0)",
+ "lessThan(isDefined(D_424527685,-1),0)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,17),17))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,17),17))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",25)<=24 and valueOrDefault(\"D_671380198\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),18)",
+ "lessThan(isDefined(D_424527685,-1),18)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,24),24))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,24),24))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",30)<=29 and valueOrDefault(\"D_671380198\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),25)",
+ "lessThan(isDefined(D_424527685,-1),25)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,29),29))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,29),29))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",40)<=39 and valueOrDefault(\"D_671380198\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),30)",
+ "lessThan(isDefined(D_424527685,-1),30)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,39),39))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,39),39))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",50)<=49 and valueOrDefault(\"D_671380198\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),40)",
+ "lessThan(isDefined(D_424527685,-1),40)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,49),49))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,49),49))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",60)<=59 and valueOrDefault(\"D_671380198\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),50)",
+ "lessThan(isDefined(D_424527685,-1),50)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,59),59))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,59),59))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",70)<=69 and valueOrDefault(\"D_671380198\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),60)",
+ "lessThan(isDefined(D_424527685,-1),60)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,69),69))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,69),69))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",69)>=70 or valueOrDefault(\"D_671380198\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),70)",
+ "lessThan(isDefined(D_424527685,-1),70)",
+ "equals(D_947205597,539648641)",
+ "doesNotExist('D_787047261') or valueEquals('D_787047261',317567178)",
+ "valueIsOneOf('D_787047261',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_472007171,804785430),and(or(or(equals(D_472007171,716761013),equals(D_472007171,299561721)),equals(D_472007171,419415087)),and(equals(D_787047261,484055234),equals(D_585702271,353358909)))),and(or(or(equals(D_472007171,716761013),equals(D_472007171,299561721)),equals(D_472007171,419415087)),and(equals(D_787047261,802197176),equals(D_585702271,353358909)))),1),equals(D_947205597,539648641))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",18)<=17 or valueOrDefault(\"D_938333920\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),0)",
+ "lessThan(isDefined(D_234430294,-1),0)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,17),17))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,17),17))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",25)<=24 and valueOrDefault(\"D_938333920\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),18)",
+ "lessThan(isDefined(D_234430294,-1),18)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,24),24))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,24),24))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",30)<=29 and valueOrDefault(\"D_938333920\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),25)",
+ "lessThan(isDefined(D_234430294,-1),25)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,29),29))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,29),29))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",40)<=39 and valueOrDefault(\"D_938333920\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),30)",
+ "lessThan(isDefined(D_234430294,-1),30)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,39),39))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,39),39))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",50)<=49 and valueOrDefault(\"D_938333920\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),40)",
+ "lessThan(isDefined(D_234430294,-1),40)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,49),49))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,49),49))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",60)<=59 and valueOrDefault(\"D_938333920\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),50)",
+ "lessThan(isDefined(D_234430294,-1),50)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,59),59))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,59),59))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",70)<=69 and valueOrDefault(\"D_938333920\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),60)",
+ "lessThan(isDefined(D_234430294,-1),60)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,69),69))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,69),69))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",69)>=70 or valueOrDefault(\"D_938333920\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),70)",
+ "lessThan(isDefined(D_234430294,-1),70)",
+ "equals(D_947205597,686310465)",
+ "doesNotExist('D_845122623') or valueEquals('D_845122623',317567178)",
+ "valueIsOneOf('D_845122623',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_458395129,804785430),and(or(or(equals(D_458395129,716761013),equals(D_458395129,299561721)),equals(D_458395129,419415087)),and(equals(D_845122623,484055234),equals(D_311569789,353358909)))),and(or(or(equals(D_458395129,716761013),equals(D_458395129,299561721)),equals(D_458395129,419415087)),and(equals(D_845122623,802197176),equals(D_311569789,353358909)))),1),equals(D_947205597,686310465))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",18)<=17 or valueOrDefault(\"D_780685299\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),0)",
+ "lessThan(isDefined(D_663551714,-1),0)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,17),17))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,17),17))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",25)<=24 and valueOrDefault(\"D_780685299\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),18)",
+ "lessThan(isDefined(D_663551714,-1),18)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,24),24))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,24),24))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",30)<=29 and valueOrDefault(\"D_780685299\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),25)",
+ "lessThan(isDefined(D_663551714,-1),25)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,29),29))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,29),29))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",40)<=39 and valueOrDefault(\"D_780685299\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),30)",
+ "lessThan(isDefined(D_663551714,-1),30)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,39),39))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,39),39))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",50)<=49 and valueOrDefault(\"D_780685299\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),40)",
+ "lessThan(isDefined(D_663551714,-1),40)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,49),49))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,49),49))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",60)<=59 and valueOrDefault(\"D_780685299\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),50)",
+ "lessThan(isDefined(D_663551714,-1),50)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,59),59))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,59),59))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",70)<=69 and valueOrDefault(\"D_780685299\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),60)",
+ "lessThan(isDefined(D_663551714,-1),60)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,69),69))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,69),69))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",69)>=70 or valueOrDefault(\"D_780685299\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),70)",
+ "lessThan(isDefined(D_663551714,-1),70)",
+ "greaterThan(difference(age%2C2)%2C18)",
+ "greaterThan(difference(age%2C2)%2C25)",
+ "greaterThan(difference(age%2C2)%2C30)",
+ "greaterThan(difference(age%2C2)%2C40)",
+ "greaterThan(difference(age%2C2)%2C50)",
+ "greaterThan(difference(age%2C2)%2C60)",
+ "greaterThanOrEqual(age%2C70)",
+ "equals(D_830608495,760521319)",
+ "doesNotExist('D_180308733') or valueEquals('D_180308733',317567178)",
+ "valueIsOneOf('D_180308733',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_503058092,804785430),and(or(or(equals(D_503058092,716761013),equals(D_503058092,299561721)),equals(D_503058092,419415087)),and(equals(D_180308733,484055234),equals(D_129677435,353358909)))),and(or(or(equals(D_503058092,716761013),equals(D_503058092,299561721)),equals(D_503058092,419415087)),and(equals(D_180308733,802197176),equals(D_129677435,353358909)))),1),equals(D_830608495,760521319))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",18)<=17 or valueOrDefault(\"D_863664828\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),0)",
+ "lessThan(isDefined(D_889949861,-1),0)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,17),17))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,17),17))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",25)<=24 and valueOrDefault(\"D_863664828\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),18)",
+ "lessThan(isDefined(D_889949861,-1),18)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,24),24))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,24),24))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",30)<=29 and valueOrDefault(\"D_863664828\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),25)",
+ "lessThan(isDefined(D_889949861,-1),25)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,29),29))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,29),29))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",40)<=39 and valueOrDefault(\"D_863664828\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),30)",
+ "lessThan(isDefined(D_889949861,-1),30)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,39),39))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,39),39))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",50)<=49 and valueOrDefault(\"D_863664828\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),40)",
+ "lessThan(isDefined(D_889949861,-1),40)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,49),49))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,49),49))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",60)<=59 and valueOrDefault(\"D_863664828\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),50)",
+ "lessThan(isDefined(D_889949861,-1),50)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,59),59))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,59),59))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",70)<=69 and valueOrDefault(\"D_863664828\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),60)",
+ "lessThan(isDefined(D_889949861,-1),60)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,69),69))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,69),69))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",69)>=70 or valueOrDefault(\"D_863664828\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),70)",
+ "lessThan(isDefined(D_889949861,-1),70)",
+ "equals(D_830608495,158841370)",
+ "doesNotExist('D_444759994') or valueEquals('D_444759994',317567178)",
+ "valueIsOneOf('D_444759994',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_891825638,804785430),and(or(or(equals(D_891825638,716761013),equals(D_891825638,299561721)),equals(D_891825638,419415087)),and(equals(D_444759994,484055234),equals(D_698314386,353358909)))),and(or(or(equals(D_891825638,716761013),equals(D_891825638,299561721)),equals(D_891825638,419415087)),and(equals(D_444759994,802197176),equals(D_698314386,353358909)))),1),equals(D_830608495,158841370))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",18)<=17 or valueOrDefault(\"D_405178123\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),0)",
+ "lessThan(isDefined(D_628818510,-1),0)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,17),17))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,17),17))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",25)<=24 and valueOrDefault(\"D_405178123\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),18)",
+ "lessThan(isDefined(D_628818510,-1),18)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,24),24))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,24),24))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",30)<=29 and valueOrDefault(\"D_405178123\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),25)",
+ "lessThan(isDefined(D_628818510,-1),25)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,29),29))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,29),29))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",40)<=39 and valueOrDefault(\"D_405178123\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),30)",
+ "lessThan(isDefined(D_628818510,-1),30)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,39),39))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,39),39))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",50)<=49 and valueOrDefault(\"D_405178123\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),40)",
+ "lessThan(isDefined(D_628818510,-1),40)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,49),49))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,49),49))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",60)<=59 and valueOrDefault(\"D_405178123\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),50)",
+ "lessThan(isDefined(D_628818510,-1),50)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,59),59))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,59),59))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",70)<=69 and valueOrDefault(\"D_405178123\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),60)",
+ "lessThan(isDefined(D_628818510,-1),60)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,69),69))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,69),69))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",69)>=70 or valueOrDefault(\"D_405178123\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),70)",
+ "lessThan(isDefined(D_628818510,-1),70)",
+ "equals(D_830608495,349034127)",
+ "valueIsOneOf('D_859228803',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_521073718,804785430),and(or(or(equals(D_521073718,716761013),equals(D_521073718,299561721)),equals(D_521073718,419415087)),and(equals(D_859228803,484055234),equals(D_142164107,353358909)))),and(or(or(equals(D_521073718,716761013),equals(D_521073718,299561721)),equals(D_521073718,419415087)),and(equals(D_859228803,802197176),equals(D_142164107,353358909)))),1),equals(D_830608495,349034127))",
+ "doesNotExist('D_859228803') or valueEquals('D_859228803',317567178)",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",18)<=17 or valueOrDefault(\"D_445187084\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),0)",
+ "lessThan(isDefined(D_742716427,-1),0)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,17),17))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,17),17))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",25)<=24 and valueOrDefault(\"D_445187084\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),18)",
+ "lessThan(isDefined(D_742716427,-1),18)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,24),24))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,24),24))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",30)<=29 and valueOrDefault(\"D_445187084\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),25)",
+ "lessThan(isDefined(D_742716427,-1),25)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,29),29))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,29),29))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",40)<=39 and valueOrDefault(\"D_445187084\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),30)",
+ "lessThan(isDefined(D_742716427,-1),30)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,39),39))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,39),39))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",50)<=49 and valueOrDefault(\"D_445187084\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),40)",
+ "lessThan(isDefined(D_742716427,-1),40)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,49),49))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,49),49))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",60)<=59 and valueOrDefault(\"D_445187084\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),50)",
+ "lessThan(isDefined(D_742716427,-1),50)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,59),59))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,59),59))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",70)<=69 and valueOrDefault(\"D_445187084\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),60)",
+ "lessThan(isDefined(D_742716427,-1),60)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,69),69))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,69),69))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",69)>=70 or valueOrDefault(\"D_445187084\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),70)",
+ "lessThan(isDefined(D_742716427,-1),70)",
+ "equals(D_830608495,713594719)",
+ "valueIsOneOf('D_921663542',484055234,802197176)",
+ "doesNotExist('D_921663542') or valueEquals('D_921663542',317567178)",
+ "and(doesNotEqual(or(or(equals(D_742544044,804785430),and(or(or(equals(D_742544044,716761013),equals(D_742544044,299561721)),equals(D_742544044,419415087)),and(equals(D_921663542,484055234),equals(D_259481608,353358909)))),and(or(or(equals(D_742544044,716761013),equals(D_742544044,299561721)),equals(D_742544044,419415087)),and(equals(D_921663542,802197176),equals(D_259481608,353358909)))),1),equals(D_830608495,713594719))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",18)<=17 or valueOrDefault(\"D_700173707\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),0)",
+ "lessThan(isDefined(D_622843252,-1),0)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,17),17))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,17),17))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",25)<=24 and valueOrDefault(\"D_700173707\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),18)",
+ "lessThan(isDefined(D_622843252,-1),18)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,24),24))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,24),24))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",30)<=29 and valueOrDefault(\"D_700173707\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),25)",
+ "lessThan(isDefined(D_622843252,-1),25)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,29),29))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,29),29))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",40)<=39 and valueOrDefault(\"D_700173707\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),30)",
+ "lessThan(isDefined(D_622843252,-1),30)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,39),39))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,39),39))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",50)<=49 and valueOrDefault(\"D_700173707\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),40)",
+ "lessThan(isDefined(D_622843252,-1),40)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,49),49))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,49),49))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",60)<=59 and valueOrDefault(\"D_700173707\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),50)",
+ "lessThan(isDefined(D_622843252,-1),50)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,59),59))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,59),59))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",70)<=69 and valueOrDefault(\"D_700173707\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),60)",
+ "lessThan(isDefined(D_622843252,-1),60)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,69),69))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,69),69))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",69)>=70 or valueOrDefault(\"D_700173707\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),70)",
+ "lessThan(isDefined(D_622843252,-1),70)",
+ "equals(D_830608495,675129470)",
+ "doesNotExist('D_532755074') or valueEquals('D_532755074',317567178)",
+ "valueIsOneOf('D_532755074',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_420155119,804785430),and(or(or(equals(D_420155119,716761013),equals(D_420155119,299561721)),equals(D_420155119,419415087)),and(equals(D_532755074,484055234),equals(D_536166591,353358909)))),and(or(or(equals(D_420155119,716761013),equals(D_420155119,299561721)),equals(D_420155119,419415087)),and(equals(D_532755074,802197176),equals(D_536166591,353358909)))),1),equals(D_830608495,675129470))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",18)<=17 or valueOrDefault(\"D_970325871\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),0)",
+ "lessThan(isDefined(D_185168695,-1),0)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,17),17))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,17),17))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",25)<=24 and valueOrDefault(\"D_970325871\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),18)",
+ "lessThan(isDefined(D_185168695,-1),18)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,24),24))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,24),24))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",30)<=29 and valueOrDefault(\"D_970325871\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),25)",
+ "lessThan(isDefined(D_185168695,-1),25)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,29),29))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,29),29))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",40)<=39 and valueOrDefault(\"D_970325871\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),30)",
+ "lessThan(isDefined(D_185168695,-1),30)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,39),39))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,39),39))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",50)<=49 and valueOrDefault(\"D_970325871\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),40)",
+ "lessThan(isDefined(D_185168695,-1),40)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,49),49))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,49),49))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",60)<=59 and valueOrDefault(\"D_970325871\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),50)",
+ "lessThan(isDefined(D_185168695,-1),50)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,59),59))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,59),59))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",70)<=69 and valueOrDefault(\"D_970325871\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),60)",
+ "lessThan(isDefined(D_185168695,-1),60)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,69),69))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,69),69))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",69)>=70 or valueOrDefault(\"D_970325871\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),70)",
+ "lessThan(isDefined(D_185168695,-1),70)",
+ "equals(D_447720598,549079588)",
+ "equals(D_447720598,896953195)",
+ "equals(D_447720598,889023234)",
+ "equals(D_447720598,181769837)",
+ "valueEquals(\"D_429228540\",132232896) and valueLength(\"D_141874857\")>=1 and valueEquals(\"D_338467033\",353358909)",
+ "equals(D_407056417,536341288)",
+ "equals(D_407056417,654207589)",
+ "valueEquals(\"D_429228540\",132232896) and valueLength(\"D_141874857\")>=1 and (valueEquals(\"D_338467033\",353358909) or (valueEquals(\"D_338467033\",104430631) and exists(\"D_480426504\")))",
+ "doesNotEqual(isDefined(D_141874857,-1),-1)",
+ "equals(isDefined(D_141874857,-1),-1)",
+ "doesNotExist(\"D_480426504\")",
+ "exists(\"D_480426504\")",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D0%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D17",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D18%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D24",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D25%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D29",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D30%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D39",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D40%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D49",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D50%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D59",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D60%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D69",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D70",
+ "someSelected(\"D_294629316_1\",\"D_294629316_2\",\"D_294629316_3\",\"D_294629316_4\",\"D_294629316_5\",\"D_294629316_6\",\"D_294629316_7\",\"D_294629316_8\",\"D_164707243_1\",\"D_164707243_2\",\"D_164707243_3\",\"D_164707243_4\",\"D_164707243_5\",\"D_164707243_6\",\"D_164707243_7\",\"D_164707243_8\",\"D_771426895_1\",\"D_771426895_2\",\"D_771426895_3\",\"D_771426895_4\",\"D_771426895_5\",\"D_771426895_6\",\"D_771426895_7\",\"D_771426895_8\",\"D_818310825_1\",\"D_818310825_2\",\"D_818310825_3\",\"D_818310825_4\",\"D_818310825_5\",\"D_818310825_6\",\"D_818310825_7\",\"D_818310825_8\",\"D_843593800_1\",\"D_843593800_2\",\"D_843593800_3\",\"D_843593800_4\",\"D_843593800_5\",\"D_843593800_6\",\"D_843593800_7\",\"D_843593800_8\",\"D_175385712_1\",\"D_175385712_2\",\"D_175385712_3\",\"D_175385712_4\",\"D_175385712_5\",\"D_175385712_6\",\"D_175385712_7\",\"D_175385712_8\",\"D_772143730_1\",\"D_772143730_2\",\"D_772143730_3\",\"D_772143730_4\",\"D_772143730_5\",\"D_772143730_6\",\"D_772143730_7\",\"D_772143730_8\",\"D_602102163_1\",\"D_602102163_2\",\"D_602102163_3\",\"D_602102163_4\",\"D_602102163_5\",\"D_602102163_6\",\"D_602102163_7\",\"D_602102163_8\")",
+ "someSelected(%22D_294629316_1%22%2C%22D_294629316_2%22%2C%22D_294629316_3%22%2C%22D_294629316_4%22%2C%22D_294629316_5%22%2C%22D_294629316_6%22%2C%22D_294629316_7%22%2C%22D_294629316_8%22)",
+ "someSelected(%22D_164707243_1%22%2C%22D_164707243_2%22%2C%22D_164707243_3%22%2C%22D_164707243_4%22%2C%22D_164707243_5%22%2C%22D_164707243_6%22%2C%22D_164707243_7%22%2C%22D_164707243_8%22)",
+ "someSelected(%22D_771426895_1%22%2C%22D_771426895_2%22%2C%22D_771426895_3%22%2C%22D_771426895_4%22%2C%22D_771426895_5%22%2C%22D_771426895_6%22%2C%22D_771426895_7%22%2C%22D_771426895_8%22)",
+ "someSelected(%22D_818310825_1%22%2C%22D_818310825_2%22%2C%22D_818310825_3%22%2C%22D_818310825_4%22%2C%22D_818310825_5%22%2C%22D_818310825_6%22%2C%22D_818310825_7%22%2C%22D_818310825_8%22)",
+ "someSelected(%22D_843593800_1%22%2C%22D_843593800_2%22%2C%22D_843593800_3%22%2C%22D_843593800_4%22%2C%22D_843593800_5%22%2C%22D_843593800_6%22%2C%22D_843593800_7%22%2C%22D_843593800_8%22)",
+ "someSelected(%22D_175385712_1%22%2C%22D_175385712_2%22%2C%22D_175385712_3%22%2C%22D_175385712_4%22%2C%22D_175385712_5%22%2C%22D_175385712_6%22%2C%22D_175385712_7%22%2C%22D_175385712_8%22)",
+ "someSelected(%22D_772143730_1%22%2C%22D_772143730_2%22%2C%22D_772143730_3%22%2C%22D_772143730_4%22%2C%22D_772143730_5%22%2C%22D_772143730_6%22%2C%22D_772143730_7%22%2C%22D_772143730_8%22)",
+ "someSelected(%22D_602102163_1%22%2C%22D_602102163_2%22%2C%22D_602102163_3%22%2C%22D_602102163_4%22%2C%22D_602102163_5%22%2C%22D_602102163_6%22%2C%22D_602102163_7%22%2C%22D_602102163_8%22)",
+ "equals(equals(D_605063358,353358909),false)",
+ "equals(D_605063358,353358909)"
+ ],
+ "sitesByScope": {
+ "grid-inline": 8,
+ "grid-row": 23,
+ "inline": 557,
+ "question": 265
+ },
+ "sitesByAttribute": {
+ "data-displayif": 23,
+ "displayif": 830
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_738219521",
+ "questionIndex": 142,
+ "rowQuestionIds": [
+ "D_666840938",
+ "D_575237218",
+ "D_976863738",
+ "D_392301875",
+ "D_576358766",
+ "D_767711152",
+ "D_888898065",
+ "D_509170471"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "162693263",
+ "924926068",
+ "417208949",
+ "797736697",
+ "480609810",
+ "485011582",
+ "865134801",
+ "667010122",
+ "648960871"
+ ]
+ },
+ {
+ "questionId": "D_252017075",
+ "questionIndex": 143,
+ "rowQuestionIds": [
+ "D_359443374",
+ "D_257564920",
+ "D_670036093",
+ "D_106272739"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "759356722",
+ "668407984",
+ "448069154",
+ "485163252",
+ "160036380"
+ ]
+ },
+ {
+ "questionId": "D_633553324",
+ "questionIndex": 281,
+ "rowQuestionIds": [
+ "D_294629316",
+ "D_164707243",
+ "D_771426895",
+ "D_818310825",
+ "D_843593800",
+ "D_175385712",
+ "D_772143730",
+ "D_602102163"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "265550580",
+ "950039557",
+ "402048066",
+ "522395860",
+ "756073829",
+ "858624942",
+ "424768954",
+ "687445652",
+ "333682419"
+ ]
+ },
+ {
+ "questionId": "D_470862706",
+ "questionIndex": 282,
+ "rowQuestionIds": [
+ "D_912659087",
+ "D_643512687",
+ "D_688123102",
+ "D_356133766",
+ "D_690918725",
+ "D_178609656",
+ "D_261957180",
+ "D_715827646"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "checkbox"
+ ],
+ "responseValues": [
+ "789689151",
+ "663253668",
+ "104676242",
+ "137733407"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 314,
+ "processorQuestionCount": 305,
+ "processedQuestionCount": 305,
+ "renderedFormCount": 305,
+ "controlCount": 2017,
+ "responseControlCount": 1047,
+ "explicitTransitionCount": 254,
+ "sequentialAdjacencyCount": 304,
+ "resolvedExplicitTransitionCount": 254,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 853,
+ "gridQuestionCount": 4,
+ "gridRowCount": 28,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 654
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module3",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module3Spanish.txt",
+ "sha256": "4c78a6b2f3db419e87c7701b938a30c56c87c0c4ae2864d9eeb33e16a207e3b8",
+ "questName": "D_965707586",
+ "version": "1.6",
+ "authoredMarkerCount": 314,
+ "runtimeQuestionIds": [
+ "INTROM3",
+ "INTROSMO",
+ "D_947205597?",
+ "D_763164658?",
+ "D_194557808?",
+ "D_790436165?",
+ "D_639684251?",
+ "D_798549704?",
+ "D_227439141?",
+ "D_318569032?",
+ "D_204884007?",
+ "D_400969127?",
+ "D_820220019?",
+ "D_304657762?",
+ "D_815776236?",
+ "D_560293868?",
+ "D_399659169?",
+ "D_667002790?",
+ "D_534351312?",
+ "D_594608533?",
+ "D_923371868?",
+ "D_445537380?",
+ "D_387489930?",
+ "D_493642768?",
+ "D_821629868?",
+ "D_434034366?",
+ "D_842088582?",
+ "D_624111331?",
+ "D_761037053?",
+ "D_550244580?",
+ "D_751046675?",
+ "D_238422161?",
+ "D_716554850?",
+ "D_724079256?",
+ "D_360277949?",
+ "D_242276545?",
+ "D_183546626?",
+ "D_982470672?",
+ "D_333072838?",
+ "D_388614168?",
+ "D_656911826?",
+ "D_370901901?",
+ "D_240089798?",
+ "D_536216847?",
+ "D_622394149?",
+ "D_442002787?",
+ "D_208578552?",
+ "D_480155628?",
+ "D_640944113?",
+ "D_866159532?",
+ "D_182431332?",
+ "D_241771440?",
+ "D_814115676?",
+ "D_564438246?",
+ "D_789271762?",
+ "D_622210148?",
+ "D_457290610?",
+ "D_997412869?",
+ "D_395480458?",
+ "D_674378360?",
+ "D_780721084?",
+ "D_287715042?",
+ "D_145078867?",
+ "D_598954337?",
+ "D_103566006?",
+ "D_254689566?",
+ "D_951151270?",
+ "D_237415094?",
+ "D_868868325?",
+ "D_243519559?",
+ "D_365370279?",
+ "D_645681293?",
+ "D_440364083?",
+ "D_306320432?",
+ "D_213679054?",
+ "D_257300783?",
+ "D_101710639?",
+ "D_344631681?",
+ "D_872821562?",
+ "D_344583659?",
+ "D_671380198?",
+ "D_785139115?",
+ "D_549400618?",
+ "D_394049992?",
+ "D_673842048?",
+ "D_568113091?",
+ "D_537807075?",
+ "D_960332453?",
+ "D_495592561?",
+ "D_705282587?",
+ "D_133396976?",
+ "D_628770824?",
+ "D_558707243?",
+ "D_929034795?",
+ "D_995220236?",
+ "D_551301510?",
+ "D_981755099?",
+ "D_127871793?",
+ "D_154603497?",
+ "D_472007171?",
+ "D_787047261?",
+ "D_915293401?",
+ "D_268407776?",
+ "D_938333920?",
+ "D_585702271?",
+ "D_827661413?",
+ "D_356470028?",
+ "D_720305356?",
+ "D_951901114?",
+ "D_471435289?",
+ "D_445712879?",
+ "D_620425840?",
+ "D_798627028?",
+ "D_584608368?",
+ "D_921623945?",
+ "D_370253256?",
+ "D_470096941?",
+ "D_544356746?",
+ "D_559388168?",
+ "D_450151555?",
+ "D_546410473?",
+ "D_458395129?",
+ "D_845122623?",
+ "D_679300202?",
+ "D_146877593?",
+ "D_780685299?",
+ "D_311569789?",
+ "D_652477674?",
+ "D_780767323?",
+ "D_385490512?",
+ "D_119378795?",
+ "D_286598574?",
+ "D_689339933?",
+ "D_812430894?",
+ "D_178242940?",
+ "D_501545129?",
+ "D_197309242?",
+ "D_550850568?",
+ "D_277284423?",
+ "D_127038003?",
+ "D_337810964?",
+ "D_334292580?",
+ "D_738219521",
+ "D_252017075",
+ "INTROMAR",
+ "D_830608495?",
+ "SMMAR",
+ "D_319397722?",
+ "D_210016366?",
+ "D_116080663?",
+ "D_503058092?",
+ "D_180308733?",
+ "D_831873859?",
+ "D_594280517?",
+ "D_863664828?",
+ "D_129677435?",
+ "D_930208825?",
+ "D_719293094?",
+ "D_722122662?",
+ "D_556963634?",
+ "D_492742957?",
+ "D_377064836?",
+ "D_258291510?",
+ "D_175995366?",
+ "D_643099118?",
+ "D_864290328?",
+ "D_386950237?",
+ "D_480217113?",
+ "D_645361463?",
+ "D_882838859?",
+ "D_524914900?",
+ "D_140848765?",
+ "D_378254382?",
+ "D_891825638?",
+ "D_444759994?",
+ "D_746817928?",
+ "D_992757226?",
+ "D_405178123?",
+ "D_698314386?",
+ "D_363377579?",
+ "D_964154290?",
+ "D_171050898?",
+ "D_606675249?",
+ "D_411960217?",
+ "D_755923078?",
+ "D_381268397?",
+ "D_723763329?",
+ "D_724990284?",
+ "D_383748300?",
+ "D_199612020?",
+ "D_755298453?",
+ "D_777877159?",
+ "D_680697711?",
+ "D_325229459?",
+ "D_116510981?",
+ "D_942945860?",
+ "D_521073718?",
+ "D_859228803?",
+ "D_589885595?",
+ "D_659140794?",
+ "D_445187084?",
+ "D_142164107?",
+ "D_695423703?",
+ "D_816891201?",
+ "D_177252178?",
+ "D_116014097?",
+ "D_562595294?",
+ "D_268240612?",
+ "D_446121108?",
+ "D_319252189?",
+ "D_822964046?",
+ "D_878281875?",
+ "D_989594002?",
+ "D_596004621?",
+ "D_459096272?",
+ "D_586306068?",
+ "D_101170268?",
+ "D_908399883?",
+ "D_653198444?",
+ "D_742544044?",
+ "D_921663542?",
+ "D_818380721?",
+ "D_179510070?",
+ "D_700173707?",
+ "D_259481608?",
+ "D_786517174?",
+ "D_276575533?",
+ "D_891996278?",
+ "D_238953261?",
+ "D_517100968?",
+ "D_810324917?",
+ "D_922708844?",
+ "D_336810811?",
+ "D_925215135?",
+ "D_402300898?",
+ "D_677733128?",
+ "D_702729897?",
+ "D_795265404?",
+ "D_432310123?",
+ "D_355689185?",
+ "D_766791333?",
+ "D_742254559?",
+ "D_420155119?",
+ "D_532755074?",
+ "D_681586194?",
+ "D_370352501?",
+ "D_970325871?",
+ "D_536166591?",
+ "D_119257304?",
+ "D_933417196?",
+ "D_937550939?",
+ "D_258703325?",
+ "D_585819411?",
+ "D_265469878?",
+ "D_349510816?",
+ "D_375227733?",
+ "D_752795304?",
+ "D_417552256?",
+ "D_963040791?",
+ "D_685659661?",
+ "D_511145980?",
+ "D_227784207?",
+ "INTROALC",
+ "D_448968121?",
+ "D_429228540?",
+ "D_250456537?",
+ "D_556837046?",
+ "D_338467033?",
+ "D_480426504?",
+ "D_789159346?",
+ "D_447720598?",
+ "D_726847824?",
+ "D_481662464?",
+ "D_411088265?",
+ "D_880067330?",
+ "D_178665310?",
+ "D_242987943?",
+ "D_228752045?",
+ "D_103045461?",
+ "D_254739443?",
+ "ALCLIFE1",
+ "D_633553324",
+ "D_470862706",
+ "INTROSE",
+ "D_863593410?",
+ "D_525152373?",
+ "D_146319128?",
+ "D_910501158?",
+ "D_345457702?",
+ "D_711858159?",
+ "D_467751479?",
+ "D_858858333?",
+ "D_795761911?",
+ "D_662762705?",
+ "D_463908980?",
+ "D_605063358?",
+ "D_648216681?",
+ "D_466473224?",
+ "EYECOLORINTRO",
+ "D_857219333?",
+ "D_384562783?",
+ "D_394410256?",
+ "D_524971659?",
+ "D_352986465?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 73,
+ "number": 142,
+ "radio": 823,
+ "text": 9
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_337810964",
+ "D_624111331",
+ "D_194557808",
+ "D_798549704",
+ "D_304657762",
+ "D_227439141",
+ "D_318569032",
+ "D_204884007",
+ "D_400969127",
+ "D_820220019",
+ "D_560293868",
+ "D_182431332",
+ "D_761037053",
+ "D_238422161",
+ "D_982470672",
+ "D_716554850",
+ "D_724079256",
+ "D_360277949",
+ "D_242276545",
+ "D_183546626",
+ "D_388614168",
+ "D_306320432",
+ "D_241771440",
+ "D_789271762",
+ "D_780721084",
+ "D_622210148",
+ "D_457290610",
+ "D_997412869",
+ "D_395480458",
+ "D_674378360",
+ "D_145078867",
+ "D_981755099",
+ "D_213679054",
+ "D_344631681",
+ "D_394049992",
+ "D_872821562",
+ "D_344583659",
+ "D_671380198",
+ "D_785139115",
+ "D_549400618",
+ "D_568113091",
+ "D_559388168",
+ "D_127871793",
+ "D_787047261",
+ "D_356470028",
+ "D_915293401",
+ "D_268407776",
+ "D_938333920",
+ "D_585702271",
+ "D_827661413",
+ "D_951901114",
+ "D_450151555",
+ "D_845122623",
+ "D_780767323",
+ "D_679300202",
+ "D_146877593",
+ "D_780685299",
+ "D_311569789",
+ "D_652477674",
+ "D_119378795",
+ "D_738219521",
+ "INTROALC",
+ "D_524914900",
+ "D_210016366",
+ "D_180308733",
+ "D_719293094",
+ "D_831873859",
+ "D_594280517",
+ "D_863664828",
+ "D_129677435",
+ "D_930208825",
+ "D_377064836",
+ "D_556963634",
+ "D_325229459",
+ "D_140848765",
+ "D_444759994",
+ "D_964154290",
+ "D_746817928",
+ "D_992757226",
+ "D_405178123",
+ "D_698314386",
+ "D_363377579",
+ "D_755923078",
+ "D_606675249",
+ "D_101170268",
+ "D_116510981",
+ "D_859228803",
+ "D_816891201",
+ "D_589885595",
+ "D_659140794",
+ "D_445187084",
+ "D_142164107",
+ "D_695423703",
+ "D_268240612",
+ "D_116014097",
+ "D_355689185",
+ "D_908399883",
+ "D_921663542",
+ "D_276575533",
+ "D_818380721",
+ "D_179510070",
+ "D_700173707",
+ "D_259481608",
+ "D_786517174",
+ "D_810324917",
+ "D_238953261",
+ "D_766791333",
+ "D_532755074",
+ "D_933417196",
+ "D_681586194",
+ "D_370352501",
+ "D_970325871",
+ "D_536166591",
+ "D_119257304",
+ "D_265469878",
+ "D_258703325",
+ "D_429228540",
+ "INTROSE",
+ "D_250456537",
+ "D_447720598",
+ "D_480426504",
+ "ALCLIFE1",
+ "D_254739443",
+ "D_795761911",
+ "EYECOLORINTRO",
+ "D_463908980",
+ "D_466473224",
+ "D_648216681"
+ ],
+ "byKind": {
+ "default": 23,
+ "no-response": 42,
+ "response": 189
+ },
+ "byResolution": {
+ "exact": 254
+ },
+ "triggerTypes": {
+ "hidden": 65,
+ "radio": 189
+ },
+ "triggerValues": [
+ "151488193",
+ "805449318",
+ "486319890",
+ "132232896",
+ "419415087",
+ "299561721",
+ "716761013",
+ "804785430",
+ "317567178",
+ "484055234",
+ "802197176",
+ "104430631",
+ "353358909",
+ "417208949",
+ "797736697",
+ "480609810",
+ "485011582",
+ "865134801",
+ "667010122",
+ "648960871",
+ "102445389",
+ "388196732",
+ "649327523",
+ "587052987",
+ "838336013"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_947205597,712653855)",
+ "doesNotExist('D_798549704') or valueEquals('D_798549704',317567178)",
+ "valueIsOneOf('D_798549704',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_639684251,804785430),and(or(or(equals(D_639684251,716761013),equals(D_639684251,299561721)),equals(D_639684251,419415087)),and(equals(D_798549704,484055234),equals(D_400969127,353358909)))),and(or(or(equals(D_639684251,716761013),equals(D_639684251,299561721)),equals(D_639684251,419415087)),and(equals(D_798549704,802197176),equals(D_400969127,353358909)))),1),equals(D_947205597,712653855))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",18)<=17 or valueOrDefault(\"D_204884007\",18)<=17)))",
+ "valueOrDefault('D_408696162',18)<=17",
+ "valueOrDefault('D_408696162',1)> 17",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,17),17))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,17),17))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",25)<=24 and valueOrDefault(\"D_204884007\",17)>=18)))",
+ "valueOrDefault('D_408696162',1)>=18 and valueOrDefault('D_408696162',25)<=24",
+ "valueOrDefault('D_408696162',19)< 18",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,24),24))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,24),24))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",30)<=29 and valueOrDefault(\"D_204884007\",24)>=25)))",
+ "valueOrDefault('D_408696162',1)>=25 and valueOrDefault('D_408696162',30)<=29",
+ "valueOrDefault('D_408696162',26)< 25",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,29),29))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,29),29))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",40)<=39 and valueOrDefault(\"D_204884007\",29)>=30)))",
+ "valueOrDefault('D_408696162',1)>30 and valueOrDefault('D_408696162',40)<=39",
+ "valueOrDefault('D_408696162',31)< 30",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,39),39))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,39),39))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",50)<=49 and valueOrDefault(\"D_204884007\",39)>=40)))",
+ "valueOrDefault('D_408696162',1)>=40 and valueOrDefault('D_408696162',50)<=49",
+ "valueOrDefault('D_408696162',41)< 40",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,49),49))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,49),49))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",60)<=59 and valueOrDefault(\"D_204884007\",49)>=50)))",
+ "valueOrDefault('D_408696162',1)>=50 and valueOrDefault('D_408696162',60)<=59",
+ "valueOrDefault('D_408696162',51)< 50",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,59),59))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,59),59))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",70)<=69 and valueOrDefault(\"D_204884007\",59)>=60)))",
+ "valueOrDefault('D_408696162',1)>=60 and valueOrDefault('D_408696162',70)<=69",
+ "valueOrDefault('D_408696162',61)< 60",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),lessThan(isDefined(D_204884007,69),69))",
+ "and(and(equals(D_400969127,353358909),doesNotEqual(isDefined(D_204884007,-1),-1)),greaterThanOrEqual(isDefined(D_204884007,69),69))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_400969127,353358909),equals(isDefined(D_204884007,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_408696162\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_639684251\",804785430)) and (valueOrDefault(\"D_408696162\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_408696162\",\"D_204884007\") and ((valueEquals(\"D_763164658\",132232896) and valueEquals(\"D_400969127\",353358909)) and (valueOrDefault(\"D_408696162\",69)>=70 or valueOrDefault(\"D_204884007\",69)>=70)))",
+ "valueOrDefault('age',1)>=70 and valueOrDefault('D_408696162',1)<70",
+ "valueOrDefault('D_408696162',1)>70",
+ "equals(D_947205597,706254326)",
+ "doesNotExist('D_238422161') or valueEquals('D_238422161',317567178)",
+ "valueIsOneOf('D_238422161',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_751046675,804785430),and(or(or(equals(D_751046675,716761013),equals(D_751046675,299561721)),equals(D_751046675,419415087)),and(equals(D_238422161,484055234),equals(D_242276545,353358909)))),and(or(or(equals(D_751046675,716761013),equals(D_751046675,299561721)),equals(D_751046675,419415087)),and(equals(D_238422161,802197176),equals(D_242276545,353358909)))),1),equals(D_947205597,706254326))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",18)<=17 or valueOrDefault(\"D_360277949\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_517801904,-1),0)",
+ "lessThan(isDefined(D_517801904,-1),0)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,17),17))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,17),17))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",25)<=24 and valueOrDefault(\"D_360277949\",17)>=18)))",
+ "valueOrDefault('D_517801904',1)>=18 and valueOrDefault('D_517801904',1)<=24",
+ "lessThan(isDefined(D_517801904,-1),18)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,24),24))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,24),24))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",30)<=29 and valueOrDefault(\"D_360277949\",24)>=25)))",
+ "valueOrDefault('D_517801904',1)>=25 and valueOrDefault('D_517801904',30)<=29",
+ "lessThan(isDefined(D_517801904,-1),25)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,29),29))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,29),29))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",40)<=39 and valueOrDefault(\"D_360277949\",29)>=30)))",
+ "valueOrDefault('D_517801904',1)>30 and valueOrDefault('D_517801904',40)<=39",
+ "lessThan(isDefined(D_517801904,-1),30)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,39),39))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,39),39))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",50)<=49 and valueOrDefault(\"D_360277949\",39)>=40)))",
+ "valueOrDefault('D_517801904',1)>=40 and valueOrDefault('D_517801904',50)<=49",
+ "lessThan(isDefined(D_517801904,-1),40)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,49),49))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,49),49))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",60)<=59 and valueOrDefault(\"D_360277949\",49)>=50)))",
+ "valueOrDefault('D_517801904',1)>=50 and valueOrDefault('D_517801904',60)<=59",
+ "lessThan(isDefined(D_517801904,-1),50)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,59),59))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,59),59))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",70)<=69 and valueOrDefault(\"D_360277949\",59)>=60)))",
+ "valueOrDefault('D_517801904',1)>=60 and valueOrDefault('D_517801904',70)<=69",
+ "lessThan(isDefined(D_517801904,-1),60)",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),lessThan(isDefined(D_360277949,69),69))",
+ "and(and(equals(D_242276545,353358909),doesNotEqual(isDefined(D_360277949,-1),-1)),greaterThanOrEqual(isDefined(D_360277949,69),69))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_242276545,353358909),equals(isDefined(D_360277949,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_517801904\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_751046675\",804785430)) and (valueOrDefault(\"D_517801904\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_517801904\",\"D_360277949\") and ((valueEquals(\"D_624111331\",132232896) and valueEquals(\"D_242276545\",353358909)) and (valueOrDefault(\"D_517801904\",69)>=70 or valueOrDefault(\"D_360277949\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_517801904,-1),70)",
+ "lessThan(isDefined(D_517801904,-1),70)",
+ "equals(D_947205597,198133418)",
+ "doesNotExist('D_789271762') or valueEquals('D_789271762',317567178)",
+ "valueIsOneOf('D_789271762',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_564438246,804785430),and(or(or(equals(D_564438246,716761013),equals(D_564438246,299561721)),equals(D_564438246,419415087)),and(equals(D_789271762,484055234),equals(D_395480458,353358909)))),and(or(or(equals(D_564438246,716761013),equals(D_564438246,299561721)),equals(D_564438246,419415087)),and(equals(D_789271762,802197176),equals(D_395480458,353358909)))),1),equals(D_947205597,198133418))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",18)<=17 or valueOrDefault(\"D_997412869\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),0)",
+ "lessThan(isDefined(D_851145096,-1),0)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,17),17))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,17),17))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",25)<=24 and valueOrDefault(\"D_997412869\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),18)",
+ "lessThan(isDefined(D_851145096,-1),18)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,24),24))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,24),24))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",30)<=29 and valueOrDefault(\"D_997412869\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),25)",
+ "lessThan(isDefined(D_851145096,-1),25)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,29),29))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,29),29))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",40)<=39 and valueOrDefault(\"D_997412869\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),30)",
+ "lessThan(isDefined(D_851145096,-1),30)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,39),39))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,39),39))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",50)<=49 and valueOrDefault(\"D_997412869\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),40)",
+ "lessThan(isDefined(D_851145096,-1),40)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,49),49))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,49),49))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",60)<=59 and valueOrDefault(\"D_997412869\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),50)",
+ "lessThan(isDefined(D_851145096,-1),50)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,59),59))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,59),59))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",70)<=69 and valueOrDefault(\"D_997412869\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),60)",
+ "lessThan(isDefined(D_851145096,-1),60)",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),lessThan(isDefined(D_997412869,69),69))",
+ "and(and(equals(D_395480458,353358909),doesNotEqual(isDefined(D_997412869,-1),-1)),greaterThanOrEqual(isDefined(D_997412869,69),69))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_395480458,353358909),equals(isDefined(D_997412869,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_851145096\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_564438246\",804785430)) and (valueOrDefault(\"D_851145096\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_851145096\",\"D_997412869\") and ((valueEquals(\"D_182431332\",132232896) and valueEquals(\"D_395480458\",353358909)) and (valueOrDefault(\"D_851145096\",69)>=70 or valueOrDefault(\"D_997412869\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_851145096,-1),70)",
+ "lessThan(isDefined(D_851145096,-1),70)",
+ "equals(D_947205597,817381897)",
+ "doesNotExist('D_344631681') or valueEquals('D_344631681',317567178)",
+ "valueIsOneOf('D_344631681',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_101710639,804785430),and(or(or(equals(D_101710639,716761013),equals(D_101710639,299561721)),equals(D_101710639,419415087)),and(equals(D_344631681,484055234),equals(D_785139115,353358909)))),and(or(or(equals(D_101710639,716761013),equals(D_101710639,299561721)),equals(D_101710639,419415087)),and(equals(D_344631681,802197176),equals(D_785139115,353358909)))),1),equals(D_947205597,817381897))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",18)<=17 or valueOrDefault(\"D_671380198\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),0)",
+ "lessThan(isDefined(D_424527685,-1),0)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,17),17))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,17),17))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",25)<=24 and valueOrDefault(\"D_671380198\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),18)",
+ "lessThan(isDefined(D_424527685,-1),18)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,24),24))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,24),24))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",30)<=29 and valueOrDefault(\"D_671380198\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),25)",
+ "lessThan(isDefined(D_424527685,-1),25)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,29),29))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,29),29))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",40)<=39 and valueOrDefault(\"D_671380198\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),30)",
+ "lessThan(isDefined(D_424527685,-1),30)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,39),39))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,39),39))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",50)<=49 and valueOrDefault(\"D_671380198\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),40)",
+ "lessThan(isDefined(D_424527685,-1),40)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,49),49))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,49),49))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",60)<=59 and valueOrDefault(\"D_671380198\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),50)",
+ "lessThan(isDefined(D_424527685,-1),50)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,59),59))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,59),59))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",70)<=69 and valueOrDefault(\"D_671380198\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),60)",
+ "lessThan(isDefined(D_424527685,-1),60)",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),lessThan(isDefined(D_671380198,69),69))",
+ "and(and(equals(D_785139115,353358909),doesNotEqual(isDefined(D_671380198,-1),-1)),greaterThanOrEqual(isDefined(D_671380198,69),69))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_785139115,353358909),equals(isDefined(D_671380198,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_424527685\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_101710639\",804785430)) and (valueOrDefault(\"D_424527685\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_424527685\",\"D_671380198\") and ((valueEquals(\"D_306320432\",132232896) and valueEquals(\"D_785139115\",353358909)) and (valueOrDefault(\"D_424527685\",69)>=70 or valueOrDefault(\"D_671380198\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_424527685,-1),70)",
+ "lessThan(isDefined(D_424527685,-1),70)",
+ "equals(D_947205597,539648641)",
+ "doesNotExist('D_787047261') or valueEquals('D_787047261',317567178)",
+ "valueIsOneOf('D_787047261',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_472007171,804785430),and(or(or(equals(D_472007171,716761013),equals(D_472007171,299561721)),equals(D_472007171,419415087)),and(equals(D_787047261,484055234),equals(D_585702271,353358909)))),and(or(or(equals(D_472007171,716761013),equals(D_472007171,299561721)),equals(D_472007171,419415087)),and(equals(D_787047261,802197176),equals(D_585702271,353358909)))),1),equals(D_947205597,539648641))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",18)<=17 or valueOrDefault(\"D_938333920\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),0)",
+ "lessThan(isDefined(D_234430294,-1),0)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,17),17))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,17),17))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",25)<=24 and valueOrDefault(\"D_938333920\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),18)",
+ "lessThan(isDefined(D_234430294,-1),18)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,24),24))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,24),24))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",30)<=29 and valueOrDefault(\"D_938333920\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),25)",
+ "lessThan(isDefined(D_234430294,-1),25)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,29),29))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,29),29))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",40)<=39 and valueOrDefault(\"D_938333920\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),30)",
+ "lessThan(isDefined(D_234430294,-1),30)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,39),39))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,39),39))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",50)<=49 and valueOrDefault(\"D_938333920\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),40)",
+ "lessThan(isDefined(D_234430294,-1),40)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,49),49))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,49),49))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",60)<=59 and valueOrDefault(\"D_938333920\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),50)",
+ "lessThan(isDefined(D_234430294,-1),50)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,59),59))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,59),59))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",70)<=69 and valueOrDefault(\"D_938333920\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),60)",
+ "lessThan(isDefined(D_234430294,-1),60)",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),lessThan(isDefined(D_938333920,69),69))",
+ "and(and(equals(D_585702271,353358909),doesNotEqual(isDefined(D_938333920,-1),-1)),greaterThanOrEqual(isDefined(D_938333920,69),69))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_585702271,353358909),equals(isDefined(D_938333920,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_234430294\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_472007171\",804785430)) and (valueOrDefault(\"D_234430294\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_234430294\",\"D_938333920\") and ((valueEquals(\"D_981755099\",132232896) and valueEquals(\"D_585702271\",353358909)) and (valueOrDefault(\"D_234430294\",69)>=70 or valueOrDefault(\"D_938333920\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_234430294,-1),70)",
+ "lessThan(isDefined(D_234430294,-1),70)",
+ "equals(D_947205597,686310465)",
+ "doesNotExist('D_845122623') or valueEquals('D_845122623',317567178)",
+ "valueIsOneOf('D_845122623',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_458395129,804785430),and(or(or(equals(D_458395129,716761013),equals(D_458395129,299561721)),equals(D_458395129,419415087)),and(equals(D_845122623,484055234),equals(D_311569789,353358909)))),and(or(or(equals(D_458395129,716761013),equals(D_458395129,299561721)),equals(D_458395129,419415087)),and(equals(D_845122623,802197176),equals(D_311569789,353358909)))),1),equals(D_947205597,686310465))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",18)<=17 or valueOrDefault(\"D_780685299\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),0)",
+ "lessThan(isDefined(D_663551714,-1),0)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,17),17))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,17),17))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",25)<=24 and valueOrDefault(\"D_780685299\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),18)",
+ "lessThan(isDefined(D_663551714,-1),18)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,24),24))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,24),24))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",30)<=29 and valueOrDefault(\"D_780685299\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),25)",
+ "lessThan(isDefined(D_663551714,-1),25)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,29),29))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,29),29))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",40)<=39 and valueOrDefault(\"D_780685299\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),30)",
+ "lessThan(isDefined(D_663551714,-1),30)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,39),39))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,39),39))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",50)<=49 and valueOrDefault(\"D_780685299\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),40)",
+ "lessThan(isDefined(D_663551714,-1),40)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,49),49))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,49),49))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",60)<=59 and valueOrDefault(\"D_780685299\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),50)",
+ "lessThan(isDefined(D_663551714,-1),50)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,59),59))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,59),59))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",70)<=69 and valueOrDefault(\"D_780685299\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),60)",
+ "lessThan(isDefined(D_663551714,-1),60)",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),lessThan(isDefined(D_780685299,69),69))",
+ "and(and(equals(D_311569789,353358909),doesNotEqual(isDefined(D_780685299,-1),-1)),greaterThanOrEqual(isDefined(D_780685299,69),69))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_311569789,353358909),equals(isDefined(D_780685299,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_663551714\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_458395129\",804785430)) and (valueOrDefault(\"D_663551714\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_663551714\",\"D_780685299\") and ((valueEquals(\"D_559388168\",132232896) and valueEquals(\"D_311569789\",353358909)) and (valueOrDefault(\"D_663551714\",69)>=70 or valueOrDefault(\"D_780685299\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_663551714,-1),70)",
+ "lessThan(isDefined(D_663551714,-1),70)",
+ "greaterThan(difference(age%2C2)%2C18)",
+ "greaterThan(difference(age%2C2)%2C25)",
+ "greaterThan(difference(age%2C2)%2C30)",
+ "greaterThan(difference(age%2C2)%2C40)",
+ "greaterThan(difference(age%2C2)%2C50)",
+ "greaterThan(difference(age%2C2)%2C60)",
+ "greaterThanOrEqual(age%2C70)",
+ "equals(D_830608495,760521319)",
+ "doesNotExist('D_180308733') or valueEquals('D_180308733',317567178)",
+ "valueIsOneOf('D_180308733',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_503058092,804785430),and(or(or(equals(D_503058092,716761013),equals(D_503058092,299561721)),equals(D_503058092,419415087)),and(equals(D_180308733,484055234),equals(D_129677435,353358909)))),and(or(or(equals(D_503058092,716761013),equals(D_503058092,299561721)),equals(D_503058092,419415087)),and(equals(D_180308733,802197176),equals(D_129677435,353358909)))),1),equals(D_830608495,760521319))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",18)<=17 or valueOrDefault(\"D_863664828\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),0)",
+ "lessThan(isDefined(D_889949861,-1),0)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,17),17))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,17),17))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",25)<=24 and valueOrDefault(\"D_863664828\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),18)",
+ "lessThan(isDefined(D_889949861,-1),18)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,24),24))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,24),24))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",30)<=29 and valueOrDefault(\"D_863664828\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),25)",
+ "lessThan(isDefined(D_889949861,-1),25)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,29),29))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,29),29))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",40)<=39 and valueOrDefault(\"D_863664828\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),30)",
+ "lessThan(isDefined(D_889949861,-1),30)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,39),39))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,39),39))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",50)<=49 and valueOrDefault(\"D_863664828\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),40)",
+ "lessThan(isDefined(D_889949861,-1),40)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,49),49))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,49),49))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",60)<=59 and valueOrDefault(\"D_863664828\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),50)",
+ "lessThan(isDefined(D_889949861,-1),50)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,59),59))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,59),59))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",70)<=69 and valueOrDefault(\"D_863664828\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),60)",
+ "lessThan(isDefined(D_889949861,-1),60)",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),lessThan(isDefined(D_863664828,69),69))",
+ "and(and(equals(D_129677435,353358909),doesNotEqual(isDefined(D_863664828,-1),-1)),greaterThanOrEqual(isDefined(D_863664828,69),69))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_129677435,353358909),equals(isDefined(D_863664828,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_889949861\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_503058092\",804785430)) and (valueOrDefault(\"D_889949861\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_889949861\",\"D_863664828\") and ((valueEquals(\"D_319397722\",132232896) and valueEquals(\"D_129677435\",353358909)) and (valueOrDefault(\"D_889949861\",69)>=70 or valueOrDefault(\"D_863664828\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_889949861,-1),70)",
+ "lessThan(isDefined(D_889949861,-1),70)",
+ "equals(D_830608495,158841370)",
+ "doesNotExist('D_444759994') or valueEquals('D_444759994',317567178)",
+ "valueIsOneOf('D_444759994',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_891825638,804785430),and(or(or(equals(D_891825638,716761013),equals(D_891825638,299561721)),equals(D_891825638,419415087)),and(equals(D_444759994,484055234),equals(D_698314386,353358909)))),and(or(or(equals(D_891825638,716761013),equals(D_891825638,299561721)),equals(D_891825638,419415087)),and(equals(D_444759994,802197176),equals(D_698314386,353358909)))),1),equals(D_830608495,158841370))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",18)<=17 or valueOrDefault(\"D_405178123\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),0)",
+ "lessThan(isDefined(D_628818510,-1),0)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,17),17))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,17),17))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",25)<=24 and valueOrDefault(\"D_405178123\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),18)",
+ "lessThan(isDefined(D_628818510,-1),18)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,24),24))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,24),24))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",30)<=29 and valueOrDefault(\"D_405178123\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),25)",
+ "lessThan(isDefined(D_628818510,-1),25)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,29),29))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,29),29))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",40)<=39 and valueOrDefault(\"D_405178123\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),30)",
+ "lessThan(isDefined(D_628818510,-1),30)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,39),39))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,39),39))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",50)<=49 and valueOrDefault(\"D_405178123\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),40)",
+ "lessThan(isDefined(D_628818510,-1),40)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,49),49))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,49),49))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",60)<=59 and valueOrDefault(\"D_405178123\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),50)",
+ "lessThan(isDefined(D_628818510,-1),50)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,59),59))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,59),59))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",70)<=69 and valueOrDefault(\"D_405178123\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),60)",
+ "lessThan(isDefined(D_628818510,-1),60)",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),lessThan(isDefined(D_405178123,69),69))",
+ "and(and(equals(D_698314386,353358909),doesNotEqual(isDefined(D_405178123,-1),-1)),greaterThanOrEqual(isDefined(D_405178123,69),69))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_698314386,353358909),equals(isDefined(D_405178123,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_628818510\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_891825638\",804785430)) and (valueOrDefault(\"D_628818510\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_628818510\",\"D_405178123\") and ((valueEquals(\"D_524914900\",132232896) and valueEquals(\"D_698314386\",353358909)) and (valueOrDefault(\"D_628818510\",69)>=70 or valueOrDefault(\"D_405178123\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_628818510,-1),70)",
+ "lessThan(isDefined(D_628818510,-1),70)",
+ "equals(D_830608495,349034127)",
+ "valueIsOneOf('D_859228803',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_521073718,804785430),and(or(or(equals(D_521073718,716761013),equals(D_521073718,299561721)),equals(D_521073718,419415087)),and(equals(D_859228803,484055234),equals(D_142164107,353358909)))),and(or(or(equals(D_521073718,716761013),equals(D_521073718,299561721)),equals(D_521073718,419415087)),and(equals(D_859228803,802197176),equals(D_142164107,353358909)))),1),equals(D_830608495,349034127))",
+ "doesNotExist('D_859228803') or valueEquals('D_859228803',317567178)",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",18)<=17 or valueOrDefault(\"D_445187084\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),0)",
+ "lessThan(isDefined(D_742716427,-1),0)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,17),17))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,17),17))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",25)<=24 and valueOrDefault(\"D_445187084\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),18)",
+ "lessThan(isDefined(D_742716427,-1),18)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,24),24))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,24),24))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",30)<=29 and valueOrDefault(\"D_445187084\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),25)",
+ "lessThan(isDefined(D_742716427,-1),25)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,29),29))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,29),29))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",40)<=39 and valueOrDefault(\"D_445187084\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),30)",
+ "lessThan(isDefined(D_742716427,-1),30)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,39),39))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,39),39))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",50)<=49 and valueOrDefault(\"D_445187084\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),40)",
+ "lessThan(isDefined(D_742716427,-1),40)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,49),49))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,49),49))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",60)<=59 and valueOrDefault(\"D_445187084\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),50)",
+ "lessThan(isDefined(D_742716427,-1),50)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,59),59))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,59),59))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",70)<=69 and valueOrDefault(\"D_445187084\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),60)",
+ "lessThan(isDefined(D_742716427,-1),60)",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),lessThan(isDefined(D_445187084,69),69))",
+ "and(and(equals(D_142164107,353358909),doesNotEqual(isDefined(D_445187084,-1),-1)),greaterThanOrEqual(isDefined(D_445187084,69),69))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_142164107,353358909),equals(isDefined(D_445187084,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_742716427\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_521073718\",804785430)) and (valueOrDefault(\"D_742716427\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_742716427\",\"D_445187084\") and ((valueEquals(\"D_325229459\",132232896) and valueEquals(\"D_142164107\",353358909)) and (valueOrDefault(\"D_742716427\",69)>=70 or valueOrDefault(\"D_445187084\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_742716427,-1),70)",
+ "lessThan(isDefined(D_742716427,-1),70)",
+ "equals(D_830608495,713594719)",
+ "doesNotExist('D_921663542') or valueEquals('D_921663542',317567178)",
+ "valueIsOneOf('D_921663542',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_742544044,804785430),and(or(or(equals(D_742544044,716761013),equals(D_742544044,299561721)),equals(D_742544044,419415087)),and(equals(D_921663542,484055234),equals(D_259481608,353358909)))),and(or(or(equals(D_742544044,716761013),equals(D_742544044,299561721)),equals(D_742544044,419415087)),and(equals(D_921663542,802197176),equals(D_259481608,353358909)))),1),equals(D_830608495,713594719))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",18)<=17 or valueOrDefault(\"D_700173707\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),0)",
+ "lessThan(isDefined(D_622843252,-1),0)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,17),17))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,17),17))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,17))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,17))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",25)<=24 and valueOrDefault(\"D_700173707\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),18)",
+ "lessThan(isDefined(D_622843252,-1),18)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,24),24))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,24),24))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",30)<=29 and valueOrDefault(\"D_700173707\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),25)",
+ "lessThan(isDefined(D_622843252,-1),25)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,29),29))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,29),29))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",40)<=39 and valueOrDefault(\"D_700173707\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),30)",
+ "lessThan(isDefined(D_622843252,-1),30)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,39),39))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,39),39))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",50)<=49 and valueOrDefault(\"D_700173707\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),40)",
+ "lessThan(isDefined(D_622843252,-1),40)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,49),49))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,49),49))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",60)<=59 and valueOrDefault(\"D_700173707\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),50)",
+ "lessThan(isDefined(D_622843252,-1),50)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,59),59))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,59),59))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",70)<=69 and valueOrDefault(\"D_700173707\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),60)",
+ "lessThan(isDefined(D_622843252,-1),60)",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),lessThan(isDefined(D_700173707,69),69))",
+ "and(and(equals(D_259481608,353358909),doesNotEqual(isDefined(D_700173707,-1),-1)),greaterThanOrEqual(isDefined(D_700173707,69),69))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_259481608,353358909),equals(isDefined(D_700173707,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_622843252\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_742544044\",804785430)) and (valueOrDefault(\"D_622843252\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_622843252\",\"D_700173707\") and ((valueEquals(\"D_101170268\",132232896) and valueEquals(\"D_259481608\",353358909)) and (valueOrDefault(\"D_622843252\",69)>=70 or valueOrDefault(\"D_700173707\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_622843252,-1),70)",
+ "lessThan(isDefined(D_622843252,-1),70)",
+ "equals(D_830608495,675129470)",
+ "doesNotExist('D_532755074') or valueEquals('D_532755074',317567178)",
+ "valueIsOneOf('D_532755074',484055234,802197176)",
+ "and(doesNotEqual(or(or(equals(D_420155119,804785430),and(or(or(equals(D_420155119,716761013),equals(D_420155119,299561721)),equals(D_420155119,419415087)),and(equals(D_532755074,484055234),equals(D_536166591,353358909)))),and(or(or(equals(D_420155119,716761013),equals(D_420155119,299561721)),equals(D_420155119,419415087)),and(equals(D_532755074,802197176),equals(D_536166591,353358909)))),1),equals(D_830608495,675129470))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",18)<=17 or valueOrDefault(\"age\",18)<=17))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",18)<=17 or valueOrDefault(\"D_970325871\",18)<=17)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),0)",
+ "lessThan(isDefined(D_185168695,-1),0)",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",25)<=24 and valueOrDefault(\"age\",17)>=18))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",25)<=24 and valueOrDefault(\"D_970325871\",17)>=18)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),18)",
+ "lessThan(isDefined(D_185168695,-1),18)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,24),24))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,24),24))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,24))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,24))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",30)<=29 and valueOrDefault(\"age\",24)>=25))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",30)<=29 and valueOrDefault(\"D_970325871\",24)>=25)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),25)",
+ "lessThan(isDefined(D_185168695,-1),25)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,29),29))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,29),29))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,29))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,29))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",40)<=39 and valueOrDefault(\"age\",29)>=30))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",40)<=39 and valueOrDefault(\"D_970325871\",29)>=30)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),30)",
+ "lessThan(isDefined(D_185168695,-1),30)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,39),39))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,39),39))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,39))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,39))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",50)<=49 and valueOrDefault(\"age\",39)>=40))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",50)<=49 and valueOrDefault(\"D_970325871\",39)>=40)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),40)",
+ "lessThan(isDefined(D_185168695,-1),40)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,49),49))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,49),49))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,49))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,49))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",60)<=59 and valueOrDefault(\"age\",49)>=50))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",60)<=59 and valueOrDefault(\"D_970325871\",49)>=50)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),50)",
+ "lessThan(isDefined(D_185168695,-1),50)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,59),59))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,59),59))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,59))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,59))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",70)<=69 and valueOrDefault(\"age\",59)>=60))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",70)<=69 and valueOrDefault(\"D_970325871\",59)>=60)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),60)",
+ "lessThan(isDefined(D_185168695,-1),60)",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),lessThan(isDefined(D_970325871,69),69))",
+ "and(and(equals(D_536166591,353358909),doesNotEqual(isDefined(D_970325871,-1),-1)),greaterThanOrEqual(isDefined(D_970325871,69),69))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),lessThanOrEqual(age,69))",
+ "and(or(doesNotEqual(D_536166591,353358909),equals(isDefined(D_970325871,-1),-1)),greaterThan(age,69))",
+ "(exists(\"D_185168695\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_420155119\",804785430)) and (valueOrDefault(\"D_185168695\",69)>=70 or valueOrDefault(\"age\",69)>=70))) or (allExist(\"D_185168695\",\"D_970325871\") and ((valueEquals(\"D_355689185\",132232896) and valueEquals(\"D_536166591\",353358909)) and (valueOrDefault(\"D_185168695\",69)>=70 or valueOrDefault(\"D_970325871\",69)>=70)))",
+ "greaterThanOrEqual(isDefined(D_185168695,-1),70)",
+ "lessThan(isDefined(D_185168695,-1),70)",
+ "equals(D_447720598,549079588)",
+ "equals(D_447720598,896953195)",
+ "equals(D_447720598,889023234)",
+ "equals(D_447720598,181769837)",
+ "valueEquals(\"D_429228540\",132232896) and valueLength(\"D_141874857\")>=1 and valueEquals(\"D_338467033\",353358909)",
+ "equals(D_407056417,536341288)",
+ "equals(D_407056417,654207589)",
+ "valueEquals(\"D_429228540\",132232896) and exists(\"D_141874857\") and (valueEquals(\"D_338467033\",353358909) or (valueEquals(\"D_338467033\",104430631) and exists(\"D_480426504\")))",
+ "valueEquals(\"D_429228540\",132232896) and ((exists(\"D_141874857\") and valueEquals(\"D_338467033\",353358909)) or (valueEquals(\"D_338467033\",104430631) and exists(\"D_480426504\")))",
+ "doesNotEqual(isDefined(D_141874857,-1),-1)",
+ "equals(isDefined(D_141874857,-1),-1)",
+ "doesNotExist(\"D_480426504\")",
+ "exists(\"D_480426504\")",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D0%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D17",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D18%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D24",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D25%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D29",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D30%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D39",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D40%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D49",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D50%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D59",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D60%20and%20valueOrDefault(%22D_141874857%22%2C%22D_250456537%22)%3C%3D69",
+ "valueOrDefault(%22D_480426504%22%2C%22age%22)%3E%3D70",
+ "someSelected(\"D_294629316_1\",\"D_294629316_2\",\"D_294629316_3\",\"D_294629316_4\",\"D_294629316_5\",\"D_294629316_6\",\"D_294629316_7\",\"D_294629316_8\",\"D_164707243_1\",\"D_164707243_2\",\"D_164707243_3\",\"D_164707243_4\",\"D_164707243_5\",\"D_164707243_6\",\"D_164707243_7\",\"D_164707243_8\",\"D_771426895_1\",\"D_771426895_2\",\"D_771426895_3\",\"D_771426895_4\",\"D_771426895_5\",\"D_771426895_6\",\"D_771426895_7\",\"D_771426895_8\",\"D_818310825_1\",\"D_818310825_2\",\"D_818310825_3\",\"D_818310825_4\",\"D_818310825_5\",\"D_818310825_6\",\"D_818310825_7\",\"D_818310825_8\",\"D_843593800_1\",\"D_843593800_2\",\"D_843593800_3\",\"D_843593800_4\",\"D_843593800_5\",\"D_843593800_6\",\"D_843593800_7\",\"D_843593800_8\",\"D_175385712_1\",\"D_175385712_2\",\"D_175385712_3\",\"D_175385712_4\",\"D_175385712_5\",\"D_175385712_6\",\"D_175385712_7\",\"D_175385712_8\",\"D_772143730_1\",\"D_772143730_2\",\"D_772143730_3\",\"D_772143730_4\",\"D_772143730_5\",\"D_772143730_6\",\"D_772143730_7\",\"D_772143730_8\",\"D_602102163_1\",\"D_602102163_2\",\"D_602102163_3\",\"D_602102163_4\",\"D_602102163_5\",\"D_602102163_6\",\"D_602102163_7\",\"D_602102163_8\")",
+ "someSelected(%22D_294629316_1%22%2C%22D_294629316_2%22%2C%22D_294629316_3%22%2C%22D_294629316_4%22%2C%22D_294629316_5%22%2C%22D_294629316_6%22%2C%22D_294629316_7%22%2C%22D_294629316_8%22)",
+ "someSelected(%22D_164707243_1%22%2C%22D_164707243_2%22%2C%22D_164707243_3%22%2C%22D_164707243_4%22%2C%22D_164707243_5%22%2C%22D_164707243_6%22%2C%22D_164707243_7%22%2C%22D_164707243_8%22)",
+ "someSelected(%22D_771426895_1%22%2C%22D_771426895_2%22%2C%22D_771426895_3%22%2C%22D_771426895_4%22%2C%22D_771426895_5%22%2C%22D_771426895_6%22%2C%22D_771426895_7%22%2C%22D_771426895_8%22)",
+ "someSelected(%22D_818310825_1%22%2C%22D_818310825_2%22%2C%22D_818310825_3%22%2C%22D_818310825_4%22%2C%22D_818310825_5%22%2C%22D_818310825_6%22%2C%22D_818310825_7%22%2C%22D_818310825_8%22)",
+ "someSelected(%22D_843593800_1%22%2C%22D_843593800_2%22%2C%22D_843593800_3%22%2C%22D_843593800_4%22%2C%22D_843593800_5%22%2C%22D_843593800_6%22%2C%22D_843593800_7%22%2C%22D_843593800_8%22)",
+ "someSelected(%22D_175385712_1%22%2C%22D_175385712_2%22%2C%22D_175385712_3%22%2C%22D_175385712_4%22%2C%22D_175385712_5%22%2C%22D_175385712_6%22%2C%22D_175385712_7%22%2C%22D_175385712_8%22)",
+ "someSelected(%22D_772143730_1%22%2C%22D_772143730_2%22%2C%22D_772143730_3%22%2C%22D_772143730_4%22%2C%22D_772143730_5%22%2C%22D_772143730_6%22%2C%22D_772143730_7%22%2C%22D_772143730_8%22)",
+ "someSelected(%22D_602102163_1%22%2C%22D_602102163_2%22%2C%22D_602102163_3%22%2C%22D_602102163_4%22%2C%22D_602102163_5%22%2C%22D_602102163_6%22%2C%22D_602102163_7%22%2C%22D_602102163_8%22)",
+ "equals(equals(D_605063358,353358909),false)",
+ "equals(D_605063358,353358909)"
+ ],
+ "sitesByScope": {
+ "grid-inline": 8,
+ "grid-row": 23,
+ "inline": 556,
+ "question": 265
+ },
+ "sitesByAttribute": {
+ "data-displayif": 23,
+ "displayif": 829
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_738219521",
+ "questionIndex": 142,
+ "rowQuestionIds": [
+ "D_666840938",
+ "D_575237218",
+ "D_976863738",
+ "D_392301875",
+ "D_576358766",
+ "D_767711152",
+ "D_888898065",
+ "D_509170471"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "162693263",
+ "924926068",
+ "417208949",
+ "797736697",
+ "480609810",
+ "485011582",
+ "865134801",
+ "667010122",
+ "648960871"
+ ]
+ },
+ {
+ "questionId": "D_252017075",
+ "questionIndex": 143,
+ "rowQuestionIds": [
+ "D_359443374",
+ "D_257564920",
+ "D_670036093",
+ "D_106272739"
+ ],
+ "rowCount": 4,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "503218834",
+ "759356722",
+ "668407984",
+ "448069154",
+ "485163252",
+ "160036380"
+ ]
+ },
+ {
+ "questionId": "D_633553324",
+ "questionIndex": 281,
+ "rowQuestionIds": [
+ "D_294629316",
+ "D_164707243",
+ "D_771426895",
+ "D_818310825",
+ "D_843593800",
+ "D_175385712",
+ "D_772143730",
+ "D_602102163"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "265550580",
+ "950039557",
+ "402048066",
+ "522395860",
+ "756073829",
+ "858624942",
+ "424768954",
+ "687445652",
+ "333682419"
+ ]
+ },
+ {
+ "questionId": "D_470862706",
+ "questionIndex": 282,
+ "rowQuestionIds": [
+ "D_912659087",
+ "D_643512687",
+ "D_688123102",
+ "D_356133766",
+ "D_690918725",
+ "D_178609656",
+ "D_261957180",
+ "D_715827646"
+ ],
+ "rowCount": 8,
+ "responseTypes": [
+ "checkbox"
+ ],
+ "responseValues": [
+ "789689151",
+ "663253668",
+ "104676242",
+ "137733407"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 314,
+ "processorQuestionCount": 305,
+ "processedQuestionCount": 305,
+ "renderedFormCount": 305,
+ "controlCount": 2017,
+ "responseControlCount": 1047,
+ "explicitTransitionCount": 254,
+ "sequentialAdjacencyCount": 304,
+ "resolvedExplicitTransitionCount": 254,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 852,
+ "gridQuestionCount": 4,
+ "gridRowCount": 28,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 651
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module4",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/module4.txt",
+ "sha256": "008faf8420a7a657692c7e04a3615f171c53f675411fd3fd049f329a62124fe4",
+ "questName": "D_716117817",
+ "version": "2.0",
+ "authoredMarkerCount": 367,
+ "runtimeQuestionIds": [
+ "INTROM4",
+ "INTRORH",
+ "D_121490150?",
+ "D_920576363?",
+ "D_804504024?",
+ "HOMEADD4_1",
+ "D_290969423?",
+ "D_869829679?",
+ "D_574985342?",
+ "D_444145120?",
+ "D_398762737?",
+ "HOMEADD4_2",
+ "D_862052821?",
+ "D_845483079?",
+ "D_828086036?",
+ "D_752101258?",
+ "D_961572487?",
+ "HOMEADD4_3",
+ "D_593146348?",
+ "D_736086261?",
+ "D_680046149?",
+ "D_879180101?",
+ "D_746604821?",
+ "HOMEADD4_4",
+ "D_983592172?",
+ "D_294308065?",
+ "D_274189667?",
+ "D_212343294?",
+ "D_298296694?",
+ "HOMEADD4_5",
+ "D_776406200?",
+ "D_385583361?",
+ "D_113930886?",
+ "D_255474241?",
+ "D_205492848?",
+ "HOMEADD4_6",
+ "D_135207939?",
+ "D_768802173?",
+ "D_809728747?",
+ "D_201906316?",
+ "D_581231591?",
+ "HOMEADD4_7",
+ "D_647612167?",
+ "D_150560299?",
+ "D_539057792?",
+ "D_864213677?",
+ "D_123104885?",
+ "HOMEADD4_8",
+ "D_532944666?",
+ "D_122054737?",
+ "D_537011756?",
+ "D_964853797?",
+ "D_890661849?",
+ "HOMEADD4_9",
+ "D_548863580?",
+ "D_948492967?",
+ "D_171937884?",
+ "D_787064287?",
+ "D_902193418?",
+ "HOMEADD4_10",
+ "D_124320444?",
+ "D_805353966?",
+ "D_828766803?",
+ "D_878688378?",
+ "D_440597740?",
+ "HOMEADD4_11",
+ "HOMEADDSUM_11",
+ "D_590222838?",
+ "D_728155643?",
+ "D_623452399?",
+ "D_380621340?",
+ "D_876443676?",
+ "D_999694720?",
+ "D_270587543?",
+ "D_849066624?",
+ "D_195167143?",
+ "D_425315696?",
+ "D_495330716?",
+ "D_529608184?",
+ "D_783797179?",
+ "D_234731641?",
+ "D_243695994?",
+ "D_664561394?",
+ "D_562190570?",
+ "D_450154625?",
+ "D_790359238?",
+ "D_812161236?",
+ "D_925747671?",
+ "D_964437163?",
+ "INTROHOMEWTR",
+ "D_958419506?",
+ "D_725408440?",
+ "D_539909957?",
+ "D_505863509?",
+ "D_651233069?",
+ "D_250486386?",
+ "D_957717014?",
+ "D_809387606?",
+ "D_726654963?",
+ "D_195367894?",
+ "D_428044531?",
+ "D_934184033?",
+ "D_986989731?",
+ "D_441498892?",
+ "D_508187475?",
+ "D_665978055?",
+ "D_113557709?",
+ "D_933017499?",
+ "D_386487941?",
+ "D_268661616?",
+ "D_494698740?",
+ "D_211740798?",
+ "D_318621931?",
+ "D_542086156?",
+ "D_190307069?",
+ "D_697751634?",
+ "D_740535024?",
+ "D_154170916?",
+ "D_277745320?",
+ "D_825109070?",
+ "D_337574535?",
+ "D_535386940?",
+ "D_927932321?",
+ "INTROSH",
+ "D_342677547?",
+ "D_710449106?",
+ "D_376408004?",
+ "D_173413183?",
+ "D_200086909?",
+ "SEASADD4_1",
+ "D_576956950?",
+ "D_512143997?",
+ "D_279093430?",
+ "D_657986901?",
+ "D_509526051?",
+ "SEASADD4_2",
+ "D_463952618?",
+ "D_982650994?",
+ "D_143927994?",
+ "D_564684946?",
+ "D_370121390?",
+ "SEASADD4_3",
+ "D_959488634?",
+ "D_945794974?",
+ "D_935378391?",
+ "D_558981691?",
+ "D_192184336?",
+ "SEASADD4_4",
+ "D_696017690?",
+ "D_663869343?",
+ "D_320166033?",
+ "D_194944818?",
+ "D_763354979?",
+ "SEASADD4_5",
+ "D_424272506?",
+ "D_275978701?",
+ "D_383535171?",
+ "D_508587741?",
+ "D_355179190?",
+ "SEASADD4_6",
+ "D_484550481?",
+ "D_195803565?",
+ "D_133566757?",
+ "D_293954660?",
+ "D_851731394?",
+ "SEASADD4_7",
+ "D_773680071?",
+ "D_282326355?",
+ "D_509553290?",
+ "D_268612977?",
+ "D_172669345?",
+ "SEASADD4_8",
+ "D_348817644?",
+ "D_141249692?",
+ "D_239279719?",
+ "D_216096388?",
+ "D_921998144?",
+ "SEASADD4_9",
+ "D_800194290?",
+ "D_494968690?",
+ "D_778711683?",
+ "D_757983656?",
+ "D_670316988?",
+ "SEASADD4_10",
+ "SEASADDSUM_10",
+ "D_379754686?",
+ "D_975198123?",
+ "D_860269869?",
+ "D_963795928?",
+ "D_778495585?",
+ "D_928112898?",
+ "D_775038507?",
+ "D_829751791?",
+ "D_412195193?",
+ "D_778721228?",
+ "D_914325712?",
+ "D_750000285?",
+ "D_504158362?",
+ "D_682457230?",
+ "D_849979952?",
+ "D_696972918?",
+ "D_404118353?",
+ "D_552298163?",
+ "D_921090200?",
+ "D_806530984?",
+ "D_710443293?",
+ "D_134624195?",
+ "D_613251957?",
+ "D_878144094?",
+ "D_274396191?",
+ "D_437395872?",
+ "D_709755471?",
+ "D_940513931?",
+ "D_288109261?",
+ "D_701803756?",
+ "INTROSEASWTR",
+ "D_426743354?",
+ "D_809682067?",
+ "D_598478268?",
+ "D_170035952?",
+ "D_734596352?",
+ "D_823509509?",
+ "D_771505558?",
+ "D_524305502?",
+ "D_149476435?",
+ "D_105941645?",
+ "D_120942783?",
+ "D_719647239?",
+ "D_322665488?",
+ "D_167987013?",
+ "D_953722451?",
+ "D_118738120?",
+ "D_340877879?",
+ "D_541565665?",
+ "D_728256340?",
+ "D_976597527?",
+ "D_274257975?",
+ "D_603945794?",
+ "D_277312204?",
+ "D_636020848?",
+ "D_304685106?",
+ "D_201989756?",
+ "D_296694684?",
+ "D_274780951?",
+ "D_491337167?",
+ "D_321932473?",
+ "INTROCH",
+ "D_277348878?",
+ "D_720221117?",
+ "D_632533534?",
+ "D_264797252?",
+ "D_469914719?",
+ "CHILDADD4",
+ "D_191221569?",
+ "D_752015272?",
+ "D_714365367?",
+ "D_665593888?",
+ "TAPWTRINTRO",
+ "D_285545471?",
+ "D_831438612?",
+ "D_961178879?",
+ "D_138116092?",
+ "D_393682471?",
+ "D_364303962?",
+ "D_944517297?",
+ "D_302947409?",
+ "COMINTRO",
+ "INTROWORKPOSTPAN",
+ "D_699873889?",
+ "D_213152981?",
+ "D_858178137?",
+ "D_871276836?",
+ "D_660218333?",
+ "D_263959391?",
+ "D_986316055?",
+ "D_116032363?",
+ "CURWORKPOSTPANCONFIRM",
+ "D_870675371?",
+ "D_788065155?",
+ "D_421586693?",
+ "D_733638576?",
+ "D_166943843?",
+ "D_173155090?",
+ "D_234136107?",
+ "D_666629067?",
+ "D_614208066?",
+ "D_308634850?",
+ "D_799598595?",
+ "D_532260562?",
+ "D_242268237?",
+ "D_568581510?",
+ "D_277953784?",
+ "D_510872569?",
+ "INTROCURWORK",
+ "D_694113343?",
+ "D_576417612?",
+ "D_374639590?",
+ "INTROPREPANDIFF_INTROPREWORK_SKIP",
+ "INTROPREPANDIFF_SKIP",
+ "INTROPREPANDIFF",
+ "D_970148613?",
+ "D_774087638?",
+ "D_635780118?",
+ "D_828801156?",
+ "D_211472150?",
+ "D_596318751?",
+ "D_263588196?",
+ "D_845811202?",
+ "CURWORKCONFIRM",
+ "D_380579855?",
+ "D_138397553?",
+ "D_635467479?",
+ "D_440093675?",
+ "D_155199731?",
+ "D_181422361?",
+ "D_333362587?",
+ "D_839454121?",
+ "D_684542266?",
+ "D_203943120?",
+ "D_404697804?",
+ "D_786253125?",
+ "D_186636914?",
+ "D_936393993?",
+ "D_168563469?",
+ "D_219893040?",
+ "INTROPREWORK_SKIP",
+ "INTROPREWORK",
+ "D_995620555?",
+ "D_980007418?",
+ "D_992180692?",
+ "D_350394531?",
+ "D_733317111?",
+ "PREWORKCONFIRM",
+ "D_569375463?",
+ "D_822005593?",
+ "D_311891586?",
+ "D_968388901?",
+ "D_335218615?",
+ "D_564557026?",
+ "D_839233937?",
+ "D_251048648?",
+ "D_679430807?",
+ "D_475144270?",
+ "INTROCURSCH",
+ "D_449752653?",
+ "D_959371875?",
+ "D_914696832?",
+ "D_668887646?",
+ "D_443679537?",
+ "CURSCHCONFIRM",
+ "D_224209278?",
+ "D_659744749?",
+ "D_404863614?",
+ "D_135529881?",
+ "D_136660779?",
+ "D_107050954?",
+ "D_559488982?",
+ "D_940631293?",
+ "D_496801729?",
+ "D_230528407?",
+ "D_345355061?",
+ "D_219317801?",
+ "D_705673076?",
+ "D_333852852?",
+ "D_776580384?",
+ "D_849811593?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 156,
+ "number": 72,
+ "radio": 1054,
+ "text": 395
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_574985342",
+ "D_590222838",
+ "D_828086036",
+ "D_680046149",
+ "D_274189667",
+ "D_113930886",
+ "D_809728747",
+ "D_539057792",
+ "D_537011756",
+ "D_171937884",
+ "D_828766803",
+ "D_539909957",
+ "D_725408440",
+ "D_250486386",
+ "D_651233069",
+ "D_726654963",
+ "D_809387606",
+ "D_934184033",
+ "D_428044531",
+ "D_508187475",
+ "D_441498892",
+ "D_933017499",
+ "D_113557709",
+ "D_494698740",
+ "D_268661616",
+ "D_542086156",
+ "D_318621931",
+ "D_740535024",
+ "D_697751634",
+ "D_825109070",
+ "D_277745320",
+ "D_927932321",
+ "D_535386940",
+ "INTROSH",
+ "D_376408004",
+ "D_710449106",
+ "INTROCH",
+ "D_279093430",
+ "D_379754686",
+ "D_143927994",
+ "D_935378391",
+ "D_320166033",
+ "D_383535171",
+ "D_133566757",
+ "D_509553290",
+ "D_239279719",
+ "D_778711683",
+ "D_598478268",
+ "D_809682067",
+ "D_823509509",
+ "D_734596352",
+ "D_149476435",
+ "D_524305502",
+ "D_719647239",
+ "D_120942783",
+ "D_953722451",
+ "D_167987013",
+ "D_541565665",
+ "D_340877879",
+ "D_274257975",
+ "D_976597527",
+ "D_636020848",
+ "D_277312204",
+ "D_296694684",
+ "D_201989756",
+ "D_321932473",
+ "D_491337167",
+ "D_720221117",
+ "D_632533534",
+ "CHILDADD4",
+ "D_302947409",
+ "INTROCURWORK",
+ "D_666629067",
+ "D_799598595",
+ "D_510872569",
+ "D_532260562",
+ "INTROPREWORK_SKIP",
+ "INTROPREPANDIFF_INTROPREWORK_SKIP",
+ "D_774087638",
+ "INTROCURSCH",
+ "D_635467479",
+ "D_839454121",
+ "D_404697804",
+ "D_219893040",
+ "D_786253125",
+ "D_980007418",
+ "D_992180692",
+ "D_335218615",
+ "D_839233937",
+ "D_251048648",
+ "D_475144270",
+ "D_679430807",
+ "END",
+ "D_940631293",
+ "D_345355061",
+ "D_849811593",
+ "D_219317801"
+ ],
+ "byKind": {
+ "default": 6,
+ "no-response": 76,
+ "response": 177
+ },
+ "byResolution": {
+ "exact": 256,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "hidden": 82,
+ "radio": 177
+ },
+ "triggerValues": [
+ "353358909",
+ "580377720",
+ "901693169",
+ "519767819",
+ "388690303",
+ "807835037",
+ "178420302",
+ "104430631",
+ "614395648",
+ "991158851",
+ "778052314",
+ "751569137",
+ "684900118",
+ "816566846"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "or(or(isNotDefined(D_303500597,false),isNotDefined(D_195068098,false)),or(isNotDefined(D_202784871,false),isNotDefined(D_831127170,false)))",
+ "exists('D_303500597')",
+ "doesNotExist(\"D_303500597\")",
+ "exists('D_195068098')",
+ "doesNotExist(\"D_195068098\")",
+ "exists('D_202784871')",
+ "doesNotExist(\"D_202784871\")",
+ "exists('D_831127170')",
+ "doesNotExist(\"D_831127170\")",
+ "noneExist(\"D_255248624\",\"D_945532934\") and someExist(\"D_725583683\",\"D_917021073\",\"D_970000442\",\"D_500100435\",\"D_303500597\",\"D_195068098\",\"D_202784871\",\"D_831127170\")",
+ "noneExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435')",
+ "someExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435')",
+ "or(or(isNotDefined(D_536516743,false),isNotDefined(D_283900560,false)),or(isNotDefined(D_467947502,false),isNotDefined(D_368486703,false)))",
+ "exists('D_536516743')",
+ "doesNotExist(\"D_536516743\")",
+ "exists('D_283900560')",
+ "doesNotExist(\"D_283900560\")",
+ "exists('D_467947502')",
+ "doesNotExist(\"D_467947502\")",
+ "exists('D_368486703')",
+ "doesNotExist(\"D_368486703\")",
+ "displayif=noneExist(\"D_985267931\",\"D_111275683\") and someExist(\"D_288498031\",\"D_195845897\",\"D_936129960\",\"D_924583345\",\"D_536516743\",\"D_283900560\",\"D_467947502\",\"D_368486703\")",
+ "noneExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345')",
+ "someExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345')",
+ "or(or(isNotDefined(D_588699608,false),isNotDefined(D_544692849,false)),or(isNotDefined(D_335435992,false),isNotDefined(D_337088272,false)))",
+ "exists('D_588699608')",
+ "doesNotExist(\"D_588699608\")",
+ "exists('D_544692849')",
+ "doesNotExist(\"D_544692849\")",
+ "exists('D_335435992')",
+ "doesNotExist(\"D_335435992\")",
+ "exists('D_337088272')",
+ "doesNotExist(\"D_337088272\")",
+ "noneExist(\"D_875706715\",\"D_645150792\") and someExist(\"D_648495207\",\"D_300933270\",\"D_649864362\",\"D_723108194\",\"D_588699608\",\"D_544692849\",\"D_335435992\",\"D_337088272\")",
+ "noneExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194')",
+ "someExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194')",
+ "or(or(isNotDefined(D_930511603,false),isNotDefined(D_756548442,false)),or(isNotDefined(D_455968200,false),isNotDefined(D_728704613,false)))",
+ "exists('D_930511603')",
+ "doesNotExist(\"D_930511603\")",
+ "exists('D_756548442')",
+ "doesNotExist(\"D_756548442\")",
+ "exists('D_455968200')",
+ "doesNotExist(\"D_455968200\")",
+ "exists('D_728704613')",
+ "doesNotExist(\"D_728704613\")",
+ "noneExist(\"D_130174162\",\"D_563832508\") and someExist(\"D_931999203\",\"D_486511102\",\"D_267027102\",\"D_734345879\",\"D_930511603\",\"D_756548442\",\"D_455968200\",\"D_728704613\")",
+ "noneExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879')",
+ "someExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879')",
+ "or(or(isNotDefined(D_742177990,false),isNotDefined(D_843508307,false)),or(isNotDefined(D_554901696,false),isNotDefined(D_819429013,false)))",
+ "exists('D_742177990')",
+ "doesNotExist(\"D_742177990\")",
+ "exists('D_843508307')",
+ "doesNotExist(\"D_843508307\")",
+ "exists('D_554901696')",
+ "doesNotExist(\"D_554901696\")",
+ "exists('D_819429013')",
+ "doesNotExist(\"D_819429013\")",
+ "noneExist(\"D_838725845\",\"D_565515774\") and someExist(\"D_445867902\",\"D_348049244\",\"D_684217044\",\"D_600319581\",\"D_742177990\",\"D_843508307\",\"D_554901696\",\"D_819429013\")",
+ "noneExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581')",
+ "someExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581')",
+ "or(or(isNotDefined(D_418702418,false),isNotDefined(D_101219440,false)),or(isNotDefined(D_127963610,false),isNotDefined(D_882731998,false)))",
+ "exists('D_418702418')",
+ "doesNotExist(\"D_418702418\")",
+ "exists('D_101219440')",
+ "doesNotExist(\"D_101219440\")",
+ "exists('D_127963610')",
+ "doesNotExist(\"D_127963610\")",
+ "exists('D_882731998')",
+ "doesNotExist(\"D_882731998\")",
+ "displayif=noneExist(\"D_306805272\",\"D_819844467\") and someExist(\"D_218334768\",\"D_394294282\",\"D_803526907\",\"D_941168091\",\"D_418702418\",\"D_101219440\",\"D_127963610\",\"D_882731998\")",
+ "noneExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091')",
+ "someExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091')",
+ "or(or(isNotDefined(D_703944664,false),isNotDefined(D_390463636,false)),or(isNotDefined(D_256790385,false),isNotDefined(D_915222355,false)))",
+ "exists('D_703944664')",
+ "doesNotExist(\"D_703944664\")",
+ "exists('D_390463636')",
+ "doesNotExist(\"D_390463636\")",
+ "exists('D_256790385')",
+ "doesNotExist(\"D_256790385\")",
+ "exists('D_915222355')",
+ "doesNotExist(\"D_915222355\")",
+ "noneExist(\"D_351559015\",\"D_903490632\") and someExist(\"D_476697171\",\"D_605344820\",\"D_814644814\",\"D_627992821\",\"D_703944664\",\"D_390463636\",\"D_256790385\",\"D_915222355\")",
+ "noneExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821')",
+ "someExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821')",
+ "or(or(isNotDefined(D_744290061,false),isNotDefined(D_516936572,false)),or(isNotDefined(D_673034401,false),isNotDefined(D_489019597,false)))",
+ "exists('D_744290061')",
+ "doesNotExist(\"D_744290061\")",
+ "exists('D_516936572')",
+ "doesNotExist(\"D_516936572\")",
+ "exists('D_673034401')",
+ "doesNotExist(\"D_673034401\")",
+ "exists('D_489019597')",
+ "doesNotExist(\"D_489019597\")",
+ "noneExist(\"D_893639464\",\"D_438475588\") and someExist(\"D_280877371\",\"D_463064782\",\"D_865310914\",\"D_900377581\",\"D_744290061\",\"D_516936572\",\"D_673034401\",\"D_489019597\")",
+ "noneExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581')",
+ "someExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581')",
+ "or(or(isNotDefined(D_351559021,false),isNotDefined(D_290370013,false)),or(isNotDefined(D_453691095,false),isNotDefined(D_202104231,false)))",
+ "exists('D_351559021')",
+ "doesNotExist(\"D_351559021\")",
+ "exists('D_290370013')",
+ "doesNotExist(\"D_290370013\")",
+ "exists('D_453691095')",
+ "doesNotExist(\"D_453691095\")",
+ "exists('D_202104231')",
+ "doesNotExist(\"D_202104231\")",
+ "noneExist(\"D_988266183\",\"D_709374950\") and someExist(\"D_548773158\",\"D_487043303\",\"D_659122266\",\"D_388427546\",\"D_351559021\",\"D_290370013\",\"D_453691095\",\"D_202104231\")",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')",
+ "someExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')",
+ "or(or(isNotDefined(D_282089547,false),isNotDefined(D_612617245,false)),or(isNotDefined(D_674024553,false),isNotDefined(D_886247195,false)))",
+ "exists('D_282089547')",
+ "doesNotExist(\"D_282089547\")",
+ "exists('D_612617245')",
+ "doesNotExist(\"D_612617245\")",
+ "exists('D_674024553')",
+ "doesNotExist(\"D_674024553\")",
+ "exists('D_886247195')",
+ "doesNotExist(\"D_886247195\")",
+ "noneExist(\"D_264707783\",\"D_666011940\") and someExist(\"D_891573875\",\"D_862255177\",\"D_972332937\",\"D_429200007\",\"D_282089547\",\"D_612617245\",\"D_674024553\",\"D_886247195\")",
+ "noneExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007')",
+ "someExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007')",
+ "or(or(isNotDefined(D_309461541,false),isNotDefined(D_789637860,false)),or(isNotDefined(D_795253129,false),isNotDefined(D_780298998,false)))",
+ "exists('D_309461541')",
+ "doesNotExist(\"D_309461541\")",
+ "exists('D_789637860')",
+ "doesNotExist(\"D_789637860\")",
+ "exists('D_795253129')",
+ "doesNotExist(\"D_795253129\")",
+ "exists('D_780298998')",
+ "doesNotExist(\"D_780298998\")",
+ "noneExist(\"D_622968789\",\"D_696874548\") and someExist(\"D_706592013\",\"D_585473282\",\"D_814137809\",\"D_876521406\",\"D_309461541\",\"D_789637860\",\"D_795253129\",\"D_780298998\")",
+ "noneExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406')",
+ "someExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406')",
+ "or(equals(D_290969423,353358909),or(equals(D_869829679,270752953),or(equals(isNotDefined(D_985267931,\"\"),false),or(equals(isNotDefined(D_111275683,\"\"),false),or(equals(isNotDefined(D_129226572,\"\"),false),or(equals(isNotDefined(D_536516743,\"\"),false),or(equals(isNotDefined(D_288498031,\"\"),false),or(equals(isNotDefined(D_283900560,\"\"),false),or(equals(isNotDefined(D_195845897,\"\"),false),or(equals(isNotDefined(D_467947502,\"\"),false),or(equals(isNotDefined(D_936129960,\"\"),false),or(equals(isNotDefined(D_368486703,\"\"),false),equals(isNotDefined(D_924583345,\"\"),false)))))))))))))",
+ "or(equals(D_862052821,353358909),or(equals(D_845483079,270752953),or(equals(isNotDefined(D_875706715,\"\"),false),or(equals(isNotDefined(D_645150792,\"\"),false),or(equals(isNotDefined(D_585360350,\"\"),false),or(equals(isNotDefined(D_588699608,\"\"),false),or(equals(isNotDefined(D_648495207,\"\"),false),or(equals(isNotDefined(D_544692849,\"\"),false),or(equals(isNotDefined(D_300933270,\"\"),false),or(equals(isNotDefined(D_335435992,\"\"),false),or(equals(isNotDefined(D_649864362,\"\"),false),or(equals(isNotDefined(D_337088272,\"\"),false),equals(isNotDefined(D_723108194,\"\"),false)))))))))))))",
+ "or(equals(D_593146348,353358909),or(equals(D_736086261,270752953),or(equals(isNotDefined(D_130174162,\"\"),false),or(equals(isNotDefined(D_563832508,\"\"),false),or(equals(isNotDefined(D_817839081,\"\"),false),or(equals(isNotDefined(D_930511603,\"\"),false),or(equals(isNotDefined(D_931999203,\"\"),false),or(equals(isNotDefined(D_756548442,\"\"),false),or(equals(isNotDefined(D_486511102,\"\"),false),or(equals(isNotDefined(D_455968200,\"\"),false),or(equals(isNotDefined(D_267027102,\"\"),false),or(equals(isNotDefined(D_728704613,\"\"),false),equals(isNotDefined(D_734345879,\"\"),false)))))))))))))",
+ "or(equals(D_983592172,353358909),or(equals(D_294308065,270752953),or(equals(isNotDefined(D_838725845,\"\"),false),or(equals(isNotDefined(D_565515774,\"\"),false),or(equals(isNotDefined(D_848348504,\"\"),false),or(equals(isNotDefined(D_742177990,\"\"),false),or(equals(isNotDefined(D_445867902,\"\"),false),or(equals(isNotDefined(D_843508307,\"\"),false),or(equals(isNotDefined(D_348049244,\"\"),false),or(equals(isNotDefined(D_554901696,\"\"),false),or(equals(isNotDefined(D_684217044,\"\"),false),or(equals(isNotDefined(D_819429013,\"\"),false),equals(isNotDefined(D_600319581,\"\"),false)))))))))))))",
+ "or(equals(D_776406200,353358909),or(equals(D_385583361,270752953),or(equals(isNotDefined(D_306805272,\"\"),false),or(equals(isNotDefined(D_819844467,\"\"),false),or(equals(isNotDefined(D_164233037,\"\"),false),or(equals(isNotDefined(D_418702418,\"\"),false),or(equals(isNotDefined(D_218334768,\"\"),false),or(equals(isNotDefined(D_101219440,\"\"),false),or(equals(isNotDefined(D_394294282,\"\"),false),or(equals(isNotDefined(D_127963610,\"\"),false),or(equals(isNotDefined(D_803526907,\"\"),false),or(equals(isNotDefined(D_882731998,\"\"),false),equals(isNotDefined(D_941168091,\"\"),false)))))))))))))",
+ "or(equals(D_135207939,353358909),or(equals(D_768802173,270752953),or(equals(isNotDefined(D_351559015,\"\"),false),or(equals(isNotDefined(D_903490632,\"\"),false),or(equals(isNotDefined(D_906119853,\"\"),false),or(equals(isNotDefined(D_703944664,\"\"),false),or(equals(isNotDefined(D_476697171,\"\"),false),or(equals(isNotDefined(D_390463636,\"\"),false),or(equals(isNotDefined(D_605344820,\"\"),false),or(equals(isNotDefined(D_256790385,\"\"),false),or(equals(isNotDefined(D_814644814,\"\"),false),or(equals(isNotDefined(D_915222355,\"\"),false),equals(isNotDefined(D_627992821,\"\"),false)))))))))))))",
+ "or(equals(D_647612167,353358909),or(equals(D_150560299,270752953),or(equals(isNotDefined(D_893639464,\"\"),false),or(equals(isNotDefined(D_438475588,\"\"),false),or(equals(isNotDefined(D_194165243,\"\"),false),or(equals(isNotDefined(D_744290061,\"\"),false),or(equals(isNotDefined(D_280877371,\"\"),false),or(equals(isNotDefined(D_516936572,\"\"),false),or(equals(isNotDefined(D_463064782,\"\"),false),or(equals(isNotDefined(D_673034401,\"\"),false),or(equals(isNotDefined(D_865310914,\"\"),false),or(equals(isNotDefined(D_489019597,\"\"),false),equals(isNotDefined(D_900377581,\"\"),false)))))))))))))",
+ "or(equals(D_532944666,353358909),or(equals(D_122054737,270752953),or(equals(isNotDefined(D_988266183,\"\"),false),or(equals(isNotDefined(D_709374950,\"\"),false),or(equals(isNotDefined(D_853931010,\"\"),false),or(equals(isNotDefined(D_351559021,\"\"),false),or(equals(isNotDefined(D_548773158,\"\"),false),or(equals(isNotDefined(D_290370013,\"\"),false),or(equals(isNotDefined(D_487043303,\"\"),false),or(equals(isNotDefined(D_453691095,\"\"),false),or(equals(isNotDefined(D_659122266,\"\"),false),or(equals(isNotDefined(D_202104231,\"\"),false),equals(isNotDefined(D_388427546,\"\"),false)))))))))))))",
+ "or(equals(D_548863580,353358909),or(equals(D_948492967,270752953),or(equals(isNotDefined(D_264707783,\"\"),false),or(equals(isNotDefined(D_666011940,\"\"),false),or(equals(isNotDefined(D_981594981,\"\"),false),or(equals(isNotDefined(D_282089547,\"\"),false),or(equals(isNotDefined(D_891573875,\"\"),false),or(equals(isNotDefined(D_612617245,\"\"),false),or(equals(isNotDefined(D_862255177,\"\"),false),or(equals(isNotDefined(D_674024553,\"\"),false),or(equals(isNotDefined(D_972332937,\"\"),false),or(equals(isNotDefined(D_886247195,\"\"),false),equals(isNotDefined(D_429200007,\"\"),false)))))))))))))",
+ "or(equals(D_124320444,353358909),or(equals(D_805353966,270752953),or(equals(isNotDefined(D_622968789,\"\"),false),or(equals(isNotDefined(D_696874548,\"\"),false),or(equals(isNotDefined(D_450630128,\"\"),false),or(equals(isNotDefined(D_309461541,\"\"),false),or(equals(isNotDefined(D_706592013,\"\"),false),or(equals(isNotDefined(D_789637860,\"\"),false),or(equals(isNotDefined(D_585473282,\"\"),false),or(equals(isNotDefined(D_795253129,\"\"),false),or(equals(isNotDefined(D_814137809,\"\"),false),or(equals(isNotDefined(D_780298998,\"\"),false),equals(isNotDefined(D_876521406,\"\"),false)))))))))))))",
+ "or(or(isNotDefined(D_556576930,false),isNotDefined(D_304326324,false)),or(isNotDefined(D_812433386,false),isNotDefined(D_477319994,false)))",
+ "exists('D_556576930')",
+ "doesNotExist(\"D_556576930\")",
+ "exists('D_304326324')",
+ "doesNotExist(\"D_304326324\")",
+ "exists('D_812433386')",
+ "doesNotExist(\"D_812433386\")",
+ "exists('D_477319994')",
+ "doesNotExist(\"D_477319994\")",
+ "noneExist(\"D_234037089\",\"D_416862112\") and someExist(\"D_416620941\",\"D_915859406\",\"D_354833686\",\"D_661148931\",\"D_556576930\",\"D_304326324\",\"D_812433386\",\"D_477319994\")",
+ "noneExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_661148931')",
+ "someExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_661148931')",
+ "or(or(isNotDefined(D_715370929,false),isNotDefined(D_109991481,false)),or(isNotDefined(D_494380686,false),isNotDefined(D_440796912,false)))",
+ "exists('D_715370929')",
+ "doesNotExist(\"D_715370929\")",
+ "exists('D_109991481')",
+ "doesNotExist(\"D_109991481\")",
+ "exists('D_494380686')",
+ "doesNotExist(\"D_494380686\")",
+ "exists('D_440796912')",
+ "doesNotExist(\"D_440796912\")",
+ "noneExist(\"D_476938134\",\"D_561635035\") and someExist(\"D_726739712\",\"D_149514187\",\"D_845446624\",\"D_677739650\",\"D_715370929\",\"D_109991481\",\"D_494380686\",\"D_440796912\")",
+ "noneExist('D_476938134','D_561635035','D_134210521','D_715370929','D_726739712','D_109991481','D_149514187','D_494380686','D_845446624','D_440796912','D_677739650')",
+ "someExist('D_476938134','D_561635035','D_134210521','D_715370929','D_726739712','D_109991481','D_149514187','D_494380686','D_845446624','D_440796912','D_677739650')",
+ "or(or(isNotDefined(D_113352592,false),isNotDefined(D_768114466,false)),or(isNotDefined(D_938180781,false),isNotDefined(D_733365745,false)))",
+ "exists('D_113352592')",
+ "doesNotExist(\"D_113352592\")",
+ "exists('D_768114466')",
+ "doesNotExist(\"D_768114466\")",
+ "exists('D_938180781')",
+ "doesNotExist(\"D_938180781\")",
+ "exists('D_733365745')",
+ "doesNotExist(\"D_733365745\")",
+ "noneExist(\"D_119483547\",\"D_194338739\") and someExist(\"D_148846635\",\"D_192663941\",\"D_245044197\",\"D_261025083\",\"D_113352592\",\"D_768114466\",\"D_938180781\",\"D_733365745\")",
+ "noneExist('D_119483547','D_194338739','D_387077376','D_113352592','D_148846635','D_768114466','D_192663941','D_938180781','D_245044197','D_733365745','D_261025083')",
+ "someExist('D_119483547','D_194338739','D_387077376','D_113352592','D_148846635','D_768114466','D_192663941','D_938180781','D_245044197','D_733365745','D_261025083')",
+ "or(or(isNotDefined(D_733619119,false),isNotDefined(D_843680322,false)),or(isNotDefined(D_716343828,false),isNotDefined(D_497260033,false)))",
+ "exists('D_733619119')",
+ "doesNotExist(\"D_733619119\")",
+ "exists('D_843680322')",
+ "doesNotExist(\"D_843680322\")",
+ "exists('D_716343828')",
+ "doesNotExist(\"D_716343828\")",
+ "exists('D_497260033')",
+ "doesNotExist(\"D_497260033\")",
+ "noneExist(\"D_785588454\",\"D_419659205\") and someExist(\"D_571926996\",\"D_645589113\",\"D_701056236\",\"D_398249766\",\"D_733619119\",\"D_843680322\",\"D_716343828\",\"D_497260033\")",
+ "noneExist('D_785588454','D_419659205','D_653181757','D_733619119','D_571926996','D_843680322','D_645589113','D_716343828','D_701056236','D_497260033','D_398249766')",
+ "someExist('D_785588454','D_419659205','D_653181757','D_733619119','D_571926996','D_843680322','D_645589113','D_716343828','D_701056236','D_497260033','D_398249766')",
+ "or(or(isNotDefined(D_570311888,false),isNotDefined(D_557852952,false)),or(isNotDefined(D_970217879,false),isNotDefined(D_452103273,false)))",
+ "exists('D_570311888')",
+ "doesNotExist(\"D_570311888\")",
+ "exists('D_557852952')",
+ "doesNotExist(\"D_557852952\")",
+ "exists('D_970217879')",
+ "doesNotExist(\"D_970217879\")",
+ "exists('D_452103273')",
+ "doesNotExist(\"D_452103273\")",
+ "displayif=noneExist(\"D_275244758\",\"D_688216428\") and someExist(\"D_101804763\",\"D_502068619\",\"D_787391994\",\"D_540340377\",\"D_570311888\",\"D_557852952\",\"D_970217879\",\"D_452103273\")",
+ "noneExist('D_275244758','D_688216428','D_843674851','D_570311888','D_101804763','D_557852952','D_502068619','D_970217879','D_787391994','D_452103273','D_540340377')",
+ "someExist('D_275244758','D_688216428','D_843674851','D_570311888','D_101804763','D_557852952','D_502068619','D_970217879','D_787391994','D_452103273','D_540340377')",
+ "or(or(isNotDefined(D_888514303,false),isNotDefined(D_905002640,false)),or(isNotDefined(D_687407917,false),isNotDefined(D_932828568,false)))",
+ "exists('D_888514303')",
+ "doesNotExist(\"D_888514303\")",
+ "exists('D_905002640')",
+ "doesNotExist(\"D_905002640\")",
+ "exists('D_687407917')",
+ "doesNotExist(\"D_687407917\")",
+ "exists('D_932828568')",
+ "doesNotExist(\"D_932828568\")",
+ "noneExist(\"D_666445636\",\"D_398622449\") and someExist(\"D_686611963\",\"D_900950849\",\"D_103689435\",\"D_659457234\",\"D_888514303\",\"D_905002640\",\"D_687407917\",\"D_932828568\")",
+ "noneExist('D_666445636','D_398622449','D_521925072','D_888514303','D_686611963','D_905002640','D_900950849','D_687407917','D_103689435','D_932828568','D_659457234')",
+ "someExist('D_666445636','D_398622449','D_521925072','D_888514303','D_686611963','D_905002640','D_900950849','D_687407917','D_103689435','D_932828568','D_659457234')",
+ "or(or(isNotDefined(D_384403974,false),isNotDefined(D_585153023,false)),or(isNotDefined(D_248996395,false),isNotDefined(D_525778327,false)))",
+ "exists('D_384403974')",
+ "doesNotExist(\"D_384403974\")",
+ "exists('D_585153023')",
+ "doesNotExist(\"D_585153023\")",
+ "exists('D_248996395')",
+ "doesNotExist(\"D_248996395\")",
+ "exists('D_525778327')",
+ "doesNotExist(\"D_525778327\")",
+ "noneExist(\"D_199489170\",\"D_605155921\") and someExist(\"D_860984191\",\"D_892150843\",\"D_230376384\",\"D_526462982\",\"D_384403974\",\"D_585153023\",\"D_248996395\",\"D_525778327\")",
+ "noneExist('D_199489170','D_605155921','D_300476868','D_384403974','D_860984191','D_585153023','D_892150843','D_248996395','D_230376384','D_525778327','D_526462982')",
+ "someExist('D_199489170','D_605155921','D_300476868','D_384403974','D_860984191','D_585153023','D_892150843','D_248996395','D_230376384','D_525778327','D_526462982')",
+ "or(or(isNotDefined(D_367684056,false),isNotDefined(D_389478638,false)),or(isNotDefined(D_949478044,false),isNotDefined(D_298170847,false)))",
+ "exists('D_367684056')",
+ "doesNotExist(\"D_367684056\")",
+ "exists('D_389478638')",
+ "doesNotExist(\"D_389478638\")",
+ "exists('D_949478044')",
+ "doesNotExist(\"D_949478044\")",
+ "exists('D_298170847')",
+ "doesNotExist(\"D_298170847\")",
+ "noneExist(\"D_295693777\",\"D_646099557\") and someExist(\"D_599753334\",\"D_467126157\",\"D_421779583\",\"D_587765197\",\"D_367684056\",\"D_389478638\",\"D_949478044\",\"D_298170847\")",
+ "noneExist('D_295693777','D_646099557','D_886284650','D_367684056','D_599753334','D_389478638','D_467126157','D_949478044','D_421779583','D_298170847','D_587765197')",
+ "someExist('D_295693777','D_646099557','D_886284650','D_367684056','D_599753334','D_389478638','D_467126157','D_949478044','D_421779583','D_298170847','D_587765197')",
+ "or(or(isNotDefined(D_711881258,false),isNotDefined(D_390941579,false)),or(isNotDefined(D_737885885,false),isNotDefined(D_603853574,false)))",
+ "exists('D_711881258')",
+ "doesNotExist(\"D_711881258\")",
+ "exists('D_390941579')",
+ "doesNotExist(\"D_390941579\")",
+ "exists('D_737885885')",
+ "doesNotExist(\"D_737885885\")",
+ "exists('D_603853574')",
+ "doesNotExist(\"D_603853574\")",
+ "noneExist(\"D_143093472\",\"D_746619983\") and someExist(\"D_450433102\",\"D_181005197\",\"D_855530921\",\"D_589689090\",\"D_711881258\",\"D_390941579\",\"D_737885885\",\"D_603853574\")",
+ "noneExist('D_143093472','D_746619983','D_911964974','D_711881258','D_450433102','D_390941579','D_181005197','D_737885885','D_855530921','D_603853574','D_589689090')",
+ "someExist('D_143093472','D_746619983','D_911964974','D_711881258','D_450433102','D_390941579','D_181005197','D_737885885','D_855530921','D_603853574','D_589689090')",
+ "or(or(isNotDefined(D_160188014,false),isNotDefined(D_596751155,false)),or(isNotDefined(D_624226136,false),isNotDefined(D_807127029,false)))",
+ "exists('D_160188014')",
+ "doesNotExist(\"D_160188014\")",
+ "exists('D_596751155')",
+ "doesNotExist(\"D_596751155\")",
+ "exists('D_624226136')",
+ "doesNotExist(\"D_624226136\")",
+ "exists('D_807127029')",
+ "doesNotExist(\"D_807127029\")",
+ "noneExist(\"D_117703279\",\"D_734790700\") and someExist(\"D_983038259\",\"D_313586037\",\"D_158186064\",\"D_274940131\",\"D_160188014\",\"D_596751155\",\"D_624226136\",\"D_807127029\")",
+ "noneExist('D_117703279','D_734790700','D_278164536','D_160188014','D_983038259','D_596751155','D_313586037','D_624226136','D_158186064','D_807127029','D_274940131')",
+ "someExist('D_117703279','D_734790700','D_278164536','D_160188014','D_983038259','D_596751155','D_313586037','D_624226136','D_158186064','D_807127029','D_274940131')",
+ "or(equals(D_342677547,353358909),or(equals(D_710449106,991158851),or(equals(isNotDefined(D_234037089,\"\"),false),or(equals(isNotDefined(D_416862112,\"\"),false),or(equals(isNotDefined(D_671149035,\"\"),false),or(equals(isNotDefined(D_556576930,\"\"),false),or(equals(isNotDefined(D_416620941,\"\"),false),or(equals(isNotDefined(D_304326324,\"\"),false),or(equals(isNotDefined(D_915859406,\"\"),false),or(equals(isNotDefined(D_812433386,\"\"),false),or(equals(isNotDefined(D_354833686,\"\"),false),or(equals(isNotDefined(D_477319994,\"\"),false),equals(isNotDefined(D_661148931,\"\"),false)))))))))))))",
+ "or(equals(D_576956950,353358909),or(equals(D_512143997,171498611),or(equals(isNotDefined(D_476938134,\"\"),false),or(equals(isNotDefined(D_561635035,\"\"),false),or(equals(isNotDefined(D_134210521,\"\"),false),or(equals(isNotDefined(D_715370929,\"\"),false),or(equals(isNotDefined(D_726739712,\"\"),false),or(equals(isNotDefined(D_109991481,\"\"),false),or(equals(isNotDefined(D_149514187,\"\"),false),or(equals(isNotDefined(D_494380686,\"\"),false),or(equals(isNotDefined(D_845446624,\"\"),false),or(equals(isNotDefined(D_440796912,\"\"),false),equals(isNotDefined(D_677739650,\"\"),false)))))))))))))",
+ "or(equals(D_463952618,353358909),or(equals(D_982650994,171498611),or(equals(isNotDefined(D_119483547,\"\"),false),or(equals(isNotDefined(D_194338739,\"\"),false),or(equals(isNotDefined(D_387077376,\"\"),false),or(equals(isNotDefined(D_113352592,\"\"),false),or(equals(isNotDefined(D_148846635,\"\"),false),or(equals(isNotDefined(D_768114466,\"\"),false),or(equals(isNotDefined(D_192663941,\"\"),false),or(equals(isNotDefined(D_938180781,\"\"),false),or(equals(isNotDefined(D_245044197,\"\"),false),or(equals(isNotDefined(D_733365745,\"\"),false),equals(isNotDefined(D_261025083,\"\"),false)))))))))))))",
+ "or(equals(D_959488634,353358909),or(equals(D_945794974,171498611),or(equals(isNotDefined(D_785588454,\"\"),false),or(equals(isNotDefined(D_419659205,\"\"),false),or(equals(isNotDefined(D_653181757,\"\"),false),or(equals(isNotDefined(D_733619119,\"\"),false),or(equals(isNotDefined(D_571926996,\"\"),false),or(equals(isNotDefined(D_843680322,\"\"),false),or(equals(isNotDefined(D_645589113,\"\"),false),or(equals(isNotDefined(D_716343828,\"\"),false),or(equals(isNotDefined(D_701056236,\"\"),false),or(equals(isNotDefined(D_497260033,\"\"),false),equals(isNotDefined(D_398249766,\"\"),false)))))))))))))",
+ "or(equals(D_696017690,353358909),or(equals(D_663869343,171498611),or(equals(isNotDefined(D_275244758,\"\"),false),or(equals(isNotDefined(D_688216428,\"\"),false),or(equals(isNotDefined(D_843674851,\"\"),false),or(equals(isNotDefined(D_570311888,\"\"),false),or(equals(isNotDefined(D_101804763,\"\"),false),or(equals(isNotDefined(D_557852952,\"\"),false),or(equals(isNotDefined(D_502068619,\"\"),false),or(equals(isNotDefined(D_970217879,\"\"),false),or(equals(isNotDefined(D_787391994,\"\"),false),or(equals(isNotDefined(D_452103273,\"\"),false),equals(isNotDefined(D_540340377,\"\"),false)))))))))))))",
+ "or(equals(D_424272506,353358909),or(equals(D_275978701,171498611),or(equals(isNotDefined(D_666445636,\"\"),false),or(equals(isNotDefined(D_398622449,\"\"),false),or(equals(isNotDefined(D_521925072,\"\"),false),or(equals(isNotDefined(D_888514303,\"\"),false),or(equals(isNotDefined(D_686611963,\"\"),false),or(equals(isNotDefined(D_905002640,\"\"),false),or(equals(isNotDefined(D_900950849,\"\"),false),or(equals(isNotDefined(D_687407917,\"\"),false),or(equals(isNotDefined(D_103689435,\"\"),false),or(equals(isNotDefined(D_932828568,\"\"),false),equals(isNotDefined(D_659457234,\"\"),false)))))))))))))",
+ "or(equals(D_484550481,353358909),or(equals(D_195803565,171498611),or(equals(isNotDefined(D_199489170,\"\"),false),or(equals(isNotDefined(D_605155921,\"\"),false),or(equals(isNotDefined(D_300476868,\"\"),false),or(equals(isNotDefined(D_384403974,\"\"),false),or(equals(isNotDefined(D_860984191,\"\"),false),or(equals(isNotDefined(D_585153023,\"\"),false),or(equals(isNotDefined(D_892150843,\"\"),false),or(equals(isNotDefined(D_248996395,\"\"),false),or(equals(isNotDefined(D_230376384,\"\"),false),or(equals(isNotDefined(D_525778327,\"\"),false),equals(isNotDefined(D_526462982,\"\"),false)))))))))))))",
+ "or(equals(D_773680071,353358909),or(equals(D_282326355,171498611),or(equals(isNotDefined(D_295693777,\"\"),false),or(equals(isNotDefined(D_646099557,\"\"),false),or(equals(isNotDefined(D_886284650,\"\"),false),or(equals(isNotDefined(D_367684056,\"\"),false),or(equals(isNotDefined(D_599753334,\"\"),false),or(equals(isNotDefined(D_389478638,\"\"),false),or(equals(isNotDefined(D_467126157,\"\"),false),or(equals(isNotDefined(D_949478044,\"\"),false),or(equals(isNotDefined(D_421779583,\"\"),false),or(equals(isNotDefined(D_298170847,\"\"),false),equals(isNotDefined(D_587765197,\"\"),false)))))))))))))",
+ "or(equals(D_348817644,353358909),or(equals(D_141249692,171498611),or(equals(isNotDefined(D_143093472,\"\"),false),or(equals(isNotDefined(D_746619983,\"\"),false),or(equals(isNotDefined(D_911964974,\"\"),false),or(equals(isNotDefined(D_711881258,\"\"),false),or(equals(isNotDefined(D_450433102,\"\"),false),or(equals(isNotDefined(D_390941579,\"\"),false),or(equals(isNotDefined(D_181005197,\"\"),false),or(equals(isNotDefined(D_737885885,\"\"),false),or(equals(isNotDefined(D_855530921,\"\"),false),or(equals(isNotDefined(D_603853574,\"\"),false),equals(isNotDefined(D_589689090,\"\"),false)))))))))))))",
+ "or(equals(D_800194290,353358909),or(equals(D_494968690,171498611),or(equals(isNotDefined(D_117703279,\"\"),false),or(equals(isNotDefined(D_734790700,\"\"),false),or(equals(isNotDefined(D_278164536,\"\"),false),or(equals(isNotDefined(D_160188014,\"\"),false),or(equals(isNotDefined(D_983038259,\"\"),false),or(equals(isNotDefined(D_596751155,\"\"),false),or(equals(isNotDefined(D_313586037,\"\"),false),or(equals(isNotDefined(D_624226136,\"\"),false),or(equals(isNotDefined(D_158186064,\"\"),false),or(equals(isNotDefined(D_807127029,\"\"),false),equals(isNotDefined(D_274940131,\"\"),false)))))))))))))",
+ "noneExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_274940131')",
+ "someExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_274940131')",
+ "someExist(\"D_985267931\",\"D_111275683\",\"D_129226572\",\"D_536516743\",\"D_288498031\",\"D_283900560\",\"D_195845897\",\"D_467947502\",\"D_936129960\",\"D_368486703\",\"D_924583345\")|valueEquals(\"D_290969423\",353358909)|valueEquals(\"D_869829679\",270752953)",
+ "someExist(\"D_875706715\",\"D_645150792\",\"D_585360350\",\"D_588699608\",\"D_648495207\",\"D_544692849\",\"D_300933270\",\"D_335435992\",\"D_649864362\",\"D_337088272\",\"D_723108194\")|valueEquals(\"D_862052821\",353358909)|valueEquals(\"D_845483079\",270752953)",
+ "someExist(\"D_130174162\",\"D_563832508\",\"D_817839081\",\"D_930511603\",\"D_931999203\",\"D_756548442\",\"D_486511102\",\"D_455968200\",\"D_267027102\",\"D_728704613\",\"D_734345879\")|valueEquals(\"D_593146348\",353358909)|valueEquals(\"D_736086261\",270752953)",
+ "someExist(\"D_838725845\",\"D_565515774\",\"D_848348504\",\"D_742177990\",\"D_445867902\",\"D_843508307\",\"D_348049244\",\"D_554901696\",\"D_684217044\",\"D_819429013\",\"D_600319581\")|valueEquals(\"D_983592172\",353358909)|valueEquals(\"D_294308065\",270752953)",
+ "someExist(\"D_306805272\",\"D_819844467\",\"D_164233037\",\"D_418702418\",\"D_218334768\",\"D_101219440\",\"D_394294282\",\"D_127963610\",\"D_803526907\",\"D_882731998\",\"D_941168091\")|valueEquals(\"D_776406200\",353358909)|valueEquals(\"D_385583361\",270752953)",
+ "someExist(\"D_351559015\",\"D_903490632\",\"D_906119853\",\"D_703944664\",\"D_476697171\",\"D_390463636\",\"D_605344820\",\"D_256790385\",\"D_814644814\",\"D_915222355\",\"D_627992821\")|valueEquals(\"D_135207939\",353358909)|valueEquals(\"D_768802173\",270752953)",
+ "someExist(\"D_893639464\",\"D_438475588\",\"D_194165243\",\"D_744290061\",\"D_280877371\",\"D_516936572\",\"D_463064782\",\"D_673034401\",\"D_865310914\",\"D_489019597\",\"D_900377581\")|valueEquals(\"D_647612167\",353358909)|valueEquals(\"D_150560299\",270752953)",
+ "someExist(\"D_988266183\",\"D_709374950\",\"D_853931010\",\"D_351559021\",\"D_548773158\",\"D_290370013\",\"D_487043303\",\"D_453691095\",\"D_659122266\",\"D_202104231\",\"D_388427546\")|valueEquals(\"D_532944666\",353358909)|valueEquals(\"D_122054737\",270752953)",
+ "someExist(\"D_264707783\",\"D_666011940\",\"D_981594981\",\"D_282089547\",\"D_891573875\",\"D_612617245\",\"D_862255177\",\"D_674024553\",\"D_972332937\",\"D_886247195\",\"D_429200007\")|valueEquals(\"D_548863580\",353358909)|valueEquals(\"D_948492967\",270752953)",
+ "someExist(\"D_622968789\",\"D_696874548\",\"D_450630128\",\"D_309461541\",\"D_706592013\",\"D_789637860\",\"D_585473282\",\"D_795253129\",\"D_814137809\",\"D_780298998\",\"D_876521406\")|valueEquals(\"D_124320444\",353358909)|valueEquals(\"D_805353966\",270752953)",
+ "equals(isDefined(D_720221117,-1),-1)",
+ "and(equals(isDefined(D_720221117,-1),-1),or(or(isNotDefined(D_128827522,false),isNotDefined(D_439447560,false)),or(isNotDefined(D_286781627,false),isNotDefined(D_733929451,false))))",
+ "exists('D_128827522')",
+ "doesNotExist(\"D_128827522\")",
+ "exists('D_439447560')",
+ "doesNotExist(\"D_439447560\")",
+ "exists('D_286781627')",
+ "doesNotExist(\"D_286781627\")",
+ "exists('D_733929451')",
+ "doesNotExist(\"D_733929451\")",
+ "noneExist(\"D_284547539\",\"D_802585033\") and someExist(\"D_890792569\",\"D_451394598\",\"D_984908796\",\"D_847327251\",\"D_128827522\",\"D_439447560\",\"D_286781627\",\"D_733929451\")",
+ "noneExist('D_284547539','D_802585033','D_746533238','D_128827522','D_890792569','D_439447560','D_451394598','D_286781627','D_984908796','D_733929451','D_847327251') and not valueEquals('D_277348878',778052314)",
+ "someExist('D_284547539','D_802585033','D_746533238','D_128827522','D_890792569','D_439447560','D_451394598','D_286781627','D_984908796','D_733929451','D_847327251')",
+ "equals(D_720221117,658491312)",
+ "equals(D_720221117,351928156)",
+ "equals(D_720221117,510681016)",
+ "equals(D_720221117,451961786)",
+ "equals(D_720221117,902342161)",
+ "equals(D_720221117,928670216)",
+ "equals(D_720221117,354020985)",
+ "equals(D_720221117,583113200)",
+ "equals(D_720221117,458045785)",
+ "equals(D_720221117,487265825)",
+ "equals(D_720221117,883331099)",
+ "not valueIsOneOf('D_720221117',658491312,351928156,510681016,451961786,902342161,928670216,354020985,583113200,458045785,487265825,883331099) and valueEquals('D_277348878',778052314)",
+ "noneExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435') and valueEquals('D_720221117',658491312)",
+ "noneExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345') and valueEquals('D_720221117',351928156)",
+ "noneExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194') and valueEquals('D_720221117',510681016)",
+ "noneExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879') and valueEquals('D_720221117',451961786)",
+ "noneExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581') and valueEquals('D_720221117',902342161)",
+ "noneExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091') and valueEquals('D_720221117',928670216)",
+ "noneExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821') and valueEquals('D_720221117',354020985)",
+ "noneExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581') and valueEquals('D_720221117',583113200)",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546') and valueEquals('D_720221117',458045785)",
+ "noneExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007') and valueEquals('D_720221117',487265825)",
+ "noneExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406') and valueEquals('D_720221117',883331099)",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')and valueEquals('D_720221117',458045785)",
+ "equals(D_831438612,863839736)",
+ "equals(D_831438612,531671855)",
+ "equals(D_831438612,525375987)",
+ "equals(D_831438612,995797773)",
+ "equals(D_831438612,431441193)",
+ "exists('D_834822910')",
+ "doesNotExist('D_834822910')",
+ "or(or(isNotDefined(D_627183798,false),isNotDefined(D_901141257,false)),or(isNotDefined(D_599770535,false),isNotDefined(D_268600708,false)))",
+ "exists('D_627183798')",
+ "doesNotExist(\"D_627183798\")",
+ "exists('D_901141257')",
+ "doesNotExist(\"D_901141257\")",
+ "exists('D_599770535')",
+ "doesNotExist(\"D_599770535\")",
+ "exists('D_268600708')",
+ "doesNotExist(\"D_268600708\")",
+ "noneExist(\"D_307515427\",\"D_422521705\") and someExist(\"D_627183798\",\"D_901141257\",\"D_599770535\",\"D_268600708\",\"D_515150210\",\"D_182449282\",\"D_609408466\",\"D_702591232\")",
+ "noneExist('D_627183798','D_901141257','D_599770535','D_268600708','D_515150210','D_182449282','D_609408466','D_702591232')",
+ "someExist('D_627183798','D_901141257','D_599770535','D_268600708','D_515150210','D_182449282','D_609408466','D_702591232')",
+ "valueIsOneOf(\"D_421586693\",767755239,385609081,502946054,151757360,363747463,626380300,817932069,466212511)",
+ "equals(D_421586693,767755239)",
+ "equals(D_421586693,385609081)",
+ "equals(D_421586693,502946054)",
+ "equals(D_421586693,151757360)",
+ "equals(D_421586693,363747463)",
+ "equals(D_421586693,626380300)",
+ "equals(D_421586693,817932069)",
+ "equals(D_421586693,466212511)",
+ "valueIsOneOf(\"D_583216333\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_920653797\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_843066684\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_101850740\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_583216333\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_920653797\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_843066684\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_101850740\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_317194063\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_621948602\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_175502589\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_614443767\",248303092,998679771,638092100,127455035)",
+ "doesNotEqual(D_614208066,353358909)",
+ "(not(equals(\"D_614208066\",353358909)) and valueIsOneOf(\"D_799598595\",339946103,364857371,315356220,363036517,978362655,175003260,648051649,957052257)) or (not(equals(\"D_308634850\",353358909)) and valueIsOneOf(\"D_421586693\",767755239,385609081,502946054,151757360,363747463,626380300,817932069,466212511))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,339946103)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,767755239)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,364857371)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,385609081)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,315356220)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,502946054)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,363036517)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,151757360)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,978362655)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,363747463)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,175003260)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,626380300)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,648051649)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,817932069)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,957052257)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,466212511)),equals(D_614208066,353358909)))",
+ "valueIsOneOf(\"D_827461454\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_306356124\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_884514292\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_570556451\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_827461454\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_306356124\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_884514292\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_570556451\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_303089793\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_848543458\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_543804307\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_654108399\",248303092,998679771,638092100,127455035)",
+ "valueEquals(\"D_694113343\",353358909) and valueEquals(\"D_699873889\",353358909)",
+ "or(doesNotEqual(D_576417612,816566846),and(equals(D_694113343,353358909),doesNotEqual(D_699873889,353358909)))",
+ "and(and(equals(D_576417612,816566846),doesNotEqual(D_871276836,104430631)),equals(D_858178137,353358909))",
+ "and(equals(D_576417612,816566846),doesNotEqual(D_871276836,104430631))",
+ "valueEquals(\"D_576417612\",816566846) and valueEquals(\"D_871276836\",104430631)",
+ "and(equals(D_694113343,353358909),or(equals(D_970148613,353358909),equals(D_374639590,104430631)))",
+ "equals(D_576417612,816566846)",
+ "equals(D_374639590,104430631)",
+ "and(and(equals(D_694113343,353358909),or(equals(D_970148613,353358909),equals(D_374639590,104430631))),doesNotEqual(D_858178137,353358909))",
+ "valueEquals(\"D_970148613\",353358909) and someExist(\"D_560853245\",\"D_307515427\",\"D_422521705\",\"D_330163034\",\"D_555595404\",\"D_146107174\",\"D_627183798\",\"D_901141257\",\"D_599770535\",\"D_268600708\",\"D_515150210\",\"D_182449282\",\"D_609408466\",\"D_702591232\")",
+ "or(and(or(equals(D_828801156,759356722),equals(D_828801156,185036360)),equals(D_374639590,104430631)),doesNotEqual(D_211472150,353358909))",
+ "and(or(and(or(equals(D_828801156,759356722),equals(D_828801156,185036360)),equals(D_374639590,104430631)),doesNotEqual(D_211472150,353358909)),or(or(isNotDefined(D_959804472,false),isNotDefined(D_774707280,false)),or(isNotDefined(D_182144476,false),isNotDefined(D_294634899,false))))",
+ "exists('D_959804472')",
+ "doesNotExist(\"D_959804472\")",
+ "exists('D_774707280')",
+ "doesNotExist(\"D_774707280\")",
+ "exists('D_182144476')",
+ "doesNotExist(\"D_182144476\")",
+ "exists('D_294634899')",
+ "doesNotExist(\"D_294634899\")",
+ "noneExist(\"D_493984171\",\"D_253017624\") and someExist(\"D_583500714\",\"D_742105146\",\"D_101341673\",\"D_237204853\",\"D_959804472\",\"D_774707280\",\"D_182144476\",\"D_294634899\")",
+ "someExist('D_493984171','D_253017624','D_404141282','D_959804472','D_583500714','D_774707280','D_742105146','D_182144476','D_101341673','D_294634899','D_237204853')",
+ "noneExist('D_493984171','D_253017624','D_404141282','D_959804472','D_583500714','D_774707280','D_742105146','D_182144476','D_101341673','D_294634899','D_237204853')",
+ "or(equals(isNotDefined(D_493984171,''),false),or(equals(isNotDefined(D_253017624,''),false),or(equals(isNotDefined(D_404141282,''),false),or(equals(isNotDefined(D_959804472,''),false),or(equals(isNotDefined(D_583500714,''),false),or(equals(isNotDefined(D_774707280,''),false),or(equals(isNotDefined(D_742105146,''),false),or(equals(isNotDefined(D_182144476,''),false),or(equals(isNotDefined(D_101341673,''),false),or(equals(isNotDefined(D_294634899,''),false),equals(isNotDefined(D_237204853,''),false)))))))))))",
+ "and(equals(isNotDefined(D_493984171,''),true),and(equals(isNotDefined(D_253017624,''),true),and(equals(isNotDefined(D_404141282,''),true),and(equals(isNotDefined(D_959804472,''),true),and(equals(isNotDefined(D_583500714,''),true),and(equals(isNotDefined(D_774707280,''),true),and(equals(isNotDefined(D_742105146,''),true),and(equals(isNotDefined(D_182144476,''),true),and(equals(isNotDefined(D_101341673,''),true),and(equals(isNotDefined(D_294634899,''),true),equals(isNotDefined(D_237204853,''),true)))))))))))",
+ "equals(D_635467479,158795242)",
+ "equals(D_635467479,443596662)",
+ "equals(D_635467479,892894242)",
+ "equals(D_635467479,177539753)",
+ "equals(D_635467479,107659596)",
+ "equals(D_635467479,575883949)",
+ "equals(D_635467479,248168118)",
+ "equals(D_635467479,509121242)",
+ "valueIsOneOf(\"D_593010802\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453004768\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_511991969\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_546570171\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_593010802\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453004768\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_511991969\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_546570171\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_242761203\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_587434250\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_569993305\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_662584384\",248303092,998679771,638092100,127455035)",
+ "and(and(equals(D_694113343,353358909),or(equals(D_970148613,353358909),equals(D_374639590,104430631))),doesNotEqual(D_684542266,353358909))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,581991828)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,158795242)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,846844103)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,443596662)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,660927579)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,892894242)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,940452831)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,177539753)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,669359763)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,107659596)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,950972496)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,575883949)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,137216656)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,248168118)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,244488084)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,509121242)),equals(D_684542266,353358909)))",
+ "valueIsOneOf(\"D_659799855\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_552410034\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_772382520\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_146307133\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_659799855\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_552410034\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_772382520\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_146307133\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_100591237\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_823402922\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_289302451\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_419151253\",248303092,998679771,638092100,127455035)",
+ "or(equals(D_858178137,353358909),equals(D_635780118,353358909))",
+ "and(doesNotEqual(D_694113343,353358909),doesNotEqual(D_699873889,353358909))",
+ "or(or(isNotDefined(D_962868433,false),isNotDefined(D_108530997,false)),or(isNotDefined(D_110852652,false),isNotDefined(D_867109611,false)))",
+ "exists('D_962868433')",
+ "doesNotExist(\"D_962868433\")",
+ "exists('D_108530997')",
+ "doesNotExist(\"D_108530997\")",
+ "exists('D_110852652')",
+ "doesNotExist(\"D_110852652\")",
+ "exists('D_867109611')",
+ "doesNotExist(\"D_867109611\")",
+ "noneExist(\"D_903896611\",\"D_855583262\") and someExist(\"D_652022112\",\"D_730666903\",\"D_168091937\",\"D_132779701\",\"D_962868433\",\"D_108530997\",\"D_110852652\",\"D_867109611\")",
+ "someExist('D_903896611','D_855583262','D_371588177','D_962868433','D_652022112','D_108530997','D_730666903','D_110852652','D_168091937','D_867109611','D_132779701')",
+ "noneExist('D_903896611','D_855583262','D_371588177','D_962868433','D_652022112','D_108530997','D_730666903','D_110852652','D_168091937','D_867109611','D_132779701')",
+ "or(equals(isNotDefined(D_903896611,''),false),or(equals(isNotDefined(D_855583262,''),false),or(equals(isNotDefined(D_371588177,''),false),or(equals(isNotDefined(D_962868433,''),false),or(equals(isNotDefined(D_652022112,''),false),or(equals(isNotDefined(D_108530997,''),false),or(equals(isNotDefined(D_730666903,''),false),or(equals(isNotDefined(D_110852652,''),false),or(equals(isNotDefined(D_168091937,''),false),or(equals(isNotDefined(D_867109611,''),false),equals(isNotDefined(D_132779701,''),false)))))))))))",
+ "and(equals(isNotDefined(D_903896611,''),true),and(equals(isNotDefined(D_855583262,''),true),and(equals(isNotDefined(D_371588177,''),true),and(equals(isNotDefined(D_962868433,''),true),and(equals(isNotDefined(D_652022112,''),true),and(equals(isNotDefined(D_108530997,''),true),and(equals(isNotDefined(D_730666903,''),true),and(equals(isNotDefined(D_110852652,''),true),and(equals(isNotDefined(D_168091937,''),true),and(equals(isNotDefined(D_867109611,''),true),equals(isNotDefined(D_132779701,''),true)))))))))))",
+ "equals(D_311891586,172103427)",
+ "equals(D_311891586,794959813)",
+ "equals(D_311891586,683306241)",
+ "equals(D_311891586,116442173)",
+ "equals(D_311891586,639735881)",
+ "equals(D_311891586,296254034)",
+ "equals(D_311891586,807973203)",
+ "equals(D_311891586,766970054)",
+ "doesNotEqual(D_564557026,353358909)",
+ "or(doesNotEqual(D_839233937,353358909),doesNotEqual(D_564557026,353358909))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,450075248)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,172103427)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,471142791)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,794959813)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,197093427)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,683306241)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,779421821)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,116442173)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,925663113)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,639735881)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,368973683)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,296254034)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,830201925)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,807973203)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,572643998)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,766970054)),equals(D_564557026,353358909)))",
+ "or(equals(D_784967158,551525967),equals(D_784967158,738284740))",
+ "and(or(equals(D_784967158,551525967),equals(D_784967158,738284740)),or(or(isNotDefined(D_161170041,false),isNotDefined(D_660217075,false)),or(isNotDefined(D_884494489,false),isNotDefined(D_403679963,false))))",
+ "exists('D_161170041')",
+ "doesNotExist(\"D_161170041\")",
+ "exists('D_660217075')",
+ "doesNotExist(\"D_660217075\")",
+ "exists('D_884494489')",
+ "doesNotExist(\"D_884494489\")",
+ "exists('D_403679963')",
+ "doesNotExist(\"D_403679963\")",
+ "noneExist(\"D_970996351\",\"D_249657148\") and someExist(\"D_225725599\",\"D_977086216\",\"D_997041632\",\"D_147113671\",\"D_161170041\",\"D_660217075\",\"D_884494489\",\"D_403679963\")",
+ "noneExist('D_970996351','D_249657148','D_190883115','D_161170041','D_225725599','D_660217075','D_977086216','D_884494489','D_997041632','D_403679963','D_147113671')",
+ "someExist('D_970996351','D_249657148','D_190883115','D_161170041','D_225725599','D_660217075','D_977086216','D_884494489','D_997041632','D_403679963','D_147113671')",
+ "or(equals(isNotDefined(D_970996351,''),false),or(equals(isNotDefined(D_249657148,''),false),or(equals(isNotDefined(D_190883115,''),false),or(equals(isNotDefined(D_161170041,''),false),or(equals(isNotDefined(D_225725599,''),false),or(equals(isNotDefined(D_660217075,''),false),or(equals(isNotDefined(D_977086216,''),false),or(equals(isNotDefined(D_884494489,''),false),or(equals(isNotDefined(D_997041632,''),false),or(equals(isNotDefined(D_403679963,''),false),equals(isNotDefined(D_147113671,''),false)))))))))))",
+ "and(equals(isNotDefined(D_970996351,''),true),and(equals(isNotDefined(D_249657148,''),true),and(equals(isNotDefined(D_190883115,''),true),and(equals(isNotDefined(D_161170041,''),true),and(equals(isNotDefined(D_225725599,''),true),and(equals(isNotDefined(D_660217075,''),true),and(equals(isNotDefined(D_977086216,''),true),and(equals(isNotDefined(D_884494489,''),true),and(equals(isNotDefined(D_997041632,''),true),and(equals(isNotDefined(D_403679963,''),true),equals(isNotDefined(D_147113671,''),true)))))))))))",
+ "equals(D_404863614,782113721)",
+ "equals(D_404863614,207263450)",
+ "equals(D_404863614,638833327)",
+ "equals(D_404863614,736981982)",
+ "equals(D_404863614,932195315)",
+ "equals(D_404863614,279026426)",
+ "equals(D_404863614,691579493)",
+ "equals(D_404863614,211269389)",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_891237683\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_980695076\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_265423096\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_185533250\",248303092,998679771,638092100,127455035))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_891237683\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_980695076\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_265423096\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_185533250\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_769785846\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_330492115\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_173979298\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_154229258\",248303092,998679771,638092100,127455035))",
+ "and(doesNotEqual(D_496801729,353358909),or(equals(D_784967158,551525967),equals(D_784967158,738284740)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,467242967)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,782113721)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,645051966)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,207263450)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,756061540)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,638833327)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,198883577)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,736981982)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,634680635)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,932195315)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,790657437)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,279026426)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,107428524)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,691579493)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,804918983)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,211269389)),equals(D_496801729,353358909)))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_990162153\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_576149634\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_291458877\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453417964\",248303092,998679771,638092100,127455035))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_990162153\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_576149634\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_291458877\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453417964\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_550646850\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_949549557\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_214274185\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_533003859\",248303092,998679771,638092100,127455035))"
+ ],
+ "sitesByScope": {
+ "element": 104,
+ "inline": 685,
+ "question": 230,
+ "response": 330
+ },
+ "sitesByAttribute": {
+ "displayif": 1349
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 367,
+ "processorQuestionCount": 367,
+ "processedQuestionCount": 367,
+ "renderedFormCount": 367,
+ "controlCount": 2817,
+ "responseControlCount": 1677,
+ "explicitTransitionCount": 259,
+ "sequentialAdjacencyCount": 366,
+ "resolvedExplicitTransitionCount": 259,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1349,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 479
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "module4",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/module4Spanish.txt",
+ "sha256": "c1705fb2632f8c2fda8f22a716fb006eecacde9aa75b153611c4e7f15aec5c3f",
+ "questName": "D_716117817",
+ "version": "2.0",
+ "authoredMarkerCount": 367,
+ "runtimeQuestionIds": [
+ "INTROM4",
+ "INTRORH",
+ "D_121490150?",
+ "D_920576363?",
+ "D_804504024?",
+ "HOMEADD4_1",
+ "D_290969423?",
+ "D_869829679?",
+ "D_574985342?",
+ "D_444145120?",
+ "D_398762737?",
+ "HOMEADD4_2",
+ "D_862052821?",
+ "D_845483079?",
+ "D_828086036?",
+ "D_752101258?",
+ "D_961572487?",
+ "HOMEADD4_3",
+ "D_593146348?",
+ "D_736086261?",
+ "D_680046149?",
+ "D_879180101?",
+ "D_746604821?",
+ "HOMEADD4_4",
+ "D_983592172?",
+ "D_294308065?",
+ "D_274189667?",
+ "D_212343294?",
+ "D_298296694?",
+ "HOMEADD4_5",
+ "D_776406200?",
+ "D_385583361?",
+ "D_113930886?",
+ "D_255474241?",
+ "D_205492848?",
+ "HOMEADD4_6",
+ "D_135207939?",
+ "D_768802173?",
+ "D_809728747?",
+ "D_201906316?",
+ "D_581231591?",
+ "HOMEADD4_7",
+ "D_647612167?",
+ "D_150560299?",
+ "D_539057792?",
+ "D_864213677?",
+ "D_123104885?",
+ "HOMEADD4_8",
+ "D_532944666?",
+ "D_122054737?",
+ "D_537011756?",
+ "D_964853797?",
+ "D_890661849?",
+ "HOMEADD4_9",
+ "D_548863580?",
+ "D_948492967?",
+ "D_171937884?",
+ "D_787064287?",
+ "D_902193418?",
+ "HOMEADD4_10",
+ "D_124320444?",
+ "D_805353966?",
+ "D_828766803?",
+ "D_878688378?",
+ "D_440597740?",
+ "HOMEADD4_11",
+ "HOMEADDSUM_11",
+ "D_590222838?",
+ "D_728155643?",
+ "D_623452399?",
+ "D_380621340?",
+ "D_876443676?",
+ "D_999694720?",
+ "D_270587543?",
+ "D_849066624?",
+ "D_195167143?",
+ "D_425315696?",
+ "D_495330716?",
+ "D_529608184?",
+ "D_783797179?",
+ "D_234731641?",
+ "D_243695994?",
+ "D_664561394?",
+ "D_562190570?",
+ "D_450154625?",
+ "D_790359238?",
+ "D_812161236?",
+ "D_925747671?",
+ "D_964437163?",
+ "INTROHOMEWTR",
+ "D_958419506?",
+ "D_725408440?",
+ "D_539909957?",
+ "D_505863509?",
+ "D_651233069?",
+ "D_250486386?",
+ "D_957717014?",
+ "D_809387606?",
+ "D_726654963?",
+ "D_195367894?",
+ "D_428044531?",
+ "D_934184033?",
+ "D_986989731?",
+ "D_441498892?",
+ "D_508187475?",
+ "D_665978055?",
+ "D_113557709?",
+ "D_933017499?",
+ "D_386487941?",
+ "D_268661616?",
+ "D_494698740?",
+ "D_211740798?",
+ "D_318621931?",
+ "D_542086156?",
+ "D_190307069?",
+ "D_697751634?",
+ "D_740535024?",
+ "D_154170916?",
+ "D_277745320?",
+ "D_825109070?",
+ "D_337574535?",
+ "D_535386940?",
+ "D_927932321?",
+ "INTROSH",
+ "D_342677547?",
+ "D_710449106?",
+ "D_376408004?",
+ "D_173413183?",
+ "D_200086909?",
+ "SEASADD4_1",
+ "D_576956950?",
+ "D_512143997?",
+ "D_279093430?",
+ "D_657986901?",
+ "D_509526051?",
+ "SEASADD4_2",
+ "D_463952618?",
+ "D_982650994?",
+ "D_143927994?",
+ "D_564684946?",
+ "D_370121390?",
+ "SEASADD4_3",
+ "D_959488634?",
+ "D_945794974?",
+ "D_935378391?",
+ "D_558981691?",
+ "D_192184336?",
+ "SEASADD4_4",
+ "D_696017690?",
+ "D_663869343?",
+ "D_320166033?",
+ "D_194944818?",
+ "D_763354979?",
+ "SEASADD4_5",
+ "D_424272506?",
+ "D_275978701?",
+ "D_383535171?",
+ "D_508587741?",
+ "D_355179190?",
+ "SEASADD4_6",
+ "D_484550481?",
+ "D_195803565?",
+ "D_133566757?",
+ "D_293954660?",
+ "D_851731394?",
+ "SEASADD4_7",
+ "D_773680071?",
+ "D_282326355?",
+ "D_509553290?",
+ "D_268612977?",
+ "D_172669345?",
+ "SEASADD4_8",
+ "D_348817644?",
+ "D_141249692?",
+ "D_239279719?",
+ "D_216096388?",
+ "D_921998144?",
+ "SEASADD4_9",
+ "D_800194290?",
+ "D_494968690?",
+ "D_778711683?",
+ "D_757983656?",
+ "D_670316988?",
+ "SEASADD4_10",
+ "SEASADDSUM_10",
+ "D_379754686?",
+ "D_975198123?",
+ "D_860269869?",
+ "D_963795928?",
+ "D_778495585?",
+ "D_928112898?",
+ "D_775038507?",
+ "D_829751791?",
+ "D_412195193?",
+ "D_778721228?",
+ "D_914325712?",
+ "D_750000285?",
+ "D_504158362?",
+ "D_682457230?",
+ "D_849979952?",
+ "D_696972918?",
+ "D_404118353?",
+ "D_552298163?",
+ "D_921090200?",
+ "D_806530984?",
+ "D_710443293?",
+ "D_134624195?",
+ "D_613251957?",
+ "D_878144094?",
+ "D_274396191?",
+ "D_437395872?",
+ "D_709755471?",
+ "D_940513931?",
+ "D_288109261?",
+ "D_701803756?",
+ "INTROSEASWTR",
+ "D_426743354?",
+ "D_809682067?",
+ "D_598478268?",
+ "D_170035952?",
+ "D_734596352?",
+ "D_823509509?",
+ "D_771505558?",
+ "D_524305502?",
+ "D_149476435?",
+ "D_105941645?",
+ "D_120942783?",
+ "D_719647239?",
+ "D_322665488?",
+ "D_167987013?",
+ "D_953722451?",
+ "D_118738120?",
+ "D_340877879?",
+ "D_541565665?",
+ "D_728256340?",
+ "D_976597527?",
+ "D_274257975?",
+ "D_603945794?",
+ "D_277312204?",
+ "D_636020848?",
+ "D_304685106?",
+ "D_201989756?",
+ "D_296694684?",
+ "D_274780951?",
+ "D_491337167?",
+ "D_321932473?",
+ "INTROCH",
+ "D_277348878?",
+ "D_720221117?",
+ "D_632533534?",
+ "D_264797252?",
+ "D_469914719?",
+ "CHILDADD4",
+ "D_191221569?",
+ "D_752015272?",
+ "D_714365367?",
+ "D_665593888?",
+ "TAPWTRINTRO",
+ "D_285545471?",
+ "D_831438612?",
+ "D_961178879?",
+ "D_138116092?",
+ "D_393682471?",
+ "D_364303962?",
+ "D_944517297?",
+ "D_302947409?",
+ "COMINTRO",
+ "INTROWORKPOSTPAN",
+ "D_699873889?",
+ "D_213152981?",
+ "D_858178137?",
+ "D_871276836?",
+ "D_660218333?",
+ "D_263959391?",
+ "D_986316055?",
+ "D_116032363?",
+ "CURWORKPOSTPANCONFIRM",
+ "D_870675371?",
+ "D_788065155?",
+ "D_421586693?",
+ "D_733638576?",
+ "D_166943843?",
+ "D_173155090?",
+ "D_234136107?",
+ "D_666629067?",
+ "D_614208066?",
+ "D_308634850?",
+ "D_799598595?",
+ "D_532260562?",
+ "D_242268237?",
+ "D_568581510?",
+ "D_277953784?",
+ "D_510872569?",
+ "INTROCURWORK",
+ "D_694113343?",
+ "D_576417612?",
+ "D_374639590?",
+ "INTROPREPANDIFF_INTROPREWORK_SKIP",
+ "INTROPREPANDIFF_SKIP",
+ "INTROPREPANDIFF",
+ "D_970148613?",
+ "D_774087638?",
+ "D_635780118?",
+ "D_828801156?",
+ "D_211472150?",
+ "D_596318751?",
+ "D_263588196?",
+ "D_845811202?",
+ "CURWORKCONFIRM",
+ "D_380579855?",
+ "D_138397553?",
+ "D_635467479?",
+ "D_440093675?",
+ "D_155199731?",
+ "D_181422361?",
+ "D_333362587?",
+ "D_839454121?",
+ "D_684542266?",
+ "D_203943120?",
+ "D_404697804?",
+ "D_786253125?",
+ "D_186636914?",
+ "D_936393993?",
+ "D_168563469?",
+ "D_219893040?",
+ "INTROPREWORK_SKIP",
+ "INTROPREWORK",
+ "D_995620555?",
+ "D_980007418?",
+ "D_992180692?",
+ "D_350394531?",
+ "D_733317111?",
+ "PREWORKCONFIRM",
+ "D_569375463?",
+ "D_822005593?",
+ "D_311891586?",
+ "D_968388901?",
+ "D_335218615?",
+ "D_564557026?",
+ "D_839233937?",
+ "D_251048648?",
+ "D_679430807?",
+ "D_475144270?",
+ "INTROCURSCH",
+ "D_449752653?",
+ "D_959371875?",
+ "D_914696832?",
+ "D_668887646?",
+ "D_443679537?",
+ "CURSCHCONFIRM",
+ "D_224209278?",
+ "D_659744749?",
+ "D_404863614?",
+ "D_135529881?",
+ "D_136660779?",
+ "D_107050954?",
+ "D_559488982?",
+ "D_940631293?",
+ "D_496801729?",
+ "D_230528407?",
+ "D_345355061?",
+ "D_219317801?",
+ "D_705673076?",
+ "D_333852852?",
+ "D_776580384?",
+ "D_849811593?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 156,
+ "number": 72,
+ "radio": 1054,
+ "text": 395
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_574985342",
+ "D_590222838",
+ "D_828086036",
+ "D_680046149",
+ "D_274189667",
+ "D_113930886",
+ "D_809728747",
+ "D_539057792",
+ "D_537011756",
+ "D_171937884",
+ "D_828766803",
+ "D_539909957",
+ "D_725408440",
+ "D_250486386",
+ "D_651233069",
+ "D_726654963",
+ "D_809387606",
+ "D_934184033",
+ "D_428044531",
+ "D_508187475",
+ "D_441498892",
+ "D_933017499",
+ "D_113557709",
+ "D_494698740",
+ "D_268661616",
+ "D_542086156",
+ "D_318621931",
+ "D_740535024",
+ "D_697751634",
+ "D_825109070",
+ "D_277745320",
+ "D_927932321",
+ "D_535386940",
+ "INTROSH",
+ "D_376408004",
+ "D_710449106",
+ "INTROCH",
+ "D_279093430",
+ "D_379754686",
+ "D_143927994",
+ "D_935378391",
+ "D_320166033",
+ "D_383535171",
+ "D_133566757",
+ "D_509553290",
+ "D_239279719",
+ "D_778711683",
+ "D_598478268",
+ "D_809682067",
+ "D_823509509",
+ "D_734596352",
+ "D_149476435",
+ "D_524305502",
+ "D_719647239",
+ "D_120942783",
+ "D_953722451",
+ "D_167987013",
+ "D_541565665",
+ "D_340877879",
+ "D_274257975",
+ "D_976597527",
+ "D_636020848",
+ "D_277312204",
+ "D_296694684",
+ "D_201989756",
+ "D_321932473",
+ "D_491337167",
+ "D_720221117",
+ "D_632533534",
+ "CHILDADD4",
+ "D_302947409",
+ "INTROCURWORK",
+ "D_666629067",
+ "D_799598595",
+ "D_510872569",
+ "D_532260562",
+ "INTROPREWORK_SKIP",
+ "INTROPREPANDIFF_INTROPREWORK_SKIP",
+ "D_774087638",
+ "INTROCURSCH",
+ "D_635467479",
+ "D_839454121",
+ "D_404697804",
+ "D_219893040",
+ "D_786253125",
+ "D_995620555",
+ "D_980007418",
+ "D_992180692",
+ "D_335218615",
+ "D_839233937",
+ "D_251048648",
+ "D_475144270",
+ "D_679430807",
+ "END",
+ "D_940631293",
+ "D_345355061",
+ "D_849811593",
+ "D_219317801"
+ ],
+ "byKind": {
+ "default": 6,
+ "no-response": 76,
+ "response": 177
+ },
+ "byResolution": {
+ "exact": 256,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "hidden": 82,
+ "radio": 177
+ },
+ "triggerValues": [
+ "353358909",
+ "580377720",
+ "901693169",
+ "519767819",
+ "388690303",
+ "807835037",
+ "178420302",
+ "104430631",
+ "614395648",
+ "991158851",
+ "778052314",
+ "751569137",
+ "684900118",
+ "816566846"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "or(or(isNotDefined(D_303500597,false),isNotDefined(D_195068098,false)),or(isNotDefined(D_202784871,false),isNotDefined(D_831127170,false)))",
+ "exists('D_303500597')",
+ "doesNotExist(\"D_303500597\")",
+ "exists('D_195068098')",
+ "doesNotExist(\"D_195068098\")",
+ "exists('D_202784871')",
+ "doesNotExist(\"D_202784871\")",
+ "exists('D_831127170')",
+ "doesNotExist(\"D_831127170\")",
+ "noneExist(\"D_255248624\",\"D_945532934\") and someExist(\"D_725583683\",\"D_917021073\",\"D_970000442\",\"D_500100435\",\"D_303500597\",\"D_195068098\",\"D_202784871\",\"D_831127170\")",
+ "someExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435')",
+ "noneExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435')",
+ "or(or(isNotDefined(D_536516743,false),isNotDefined(D_283900560,false)),or(isNotDefined(D_467947502,false),isNotDefined(D_368486703,false)))",
+ "exists('D_536516743')",
+ "doesNotExist(\"D_536516743\")",
+ "exists('D_283900560')",
+ "doesNotExist(\"D_283900560\")",
+ "exists('D_467947502')",
+ "doesNotExist(\"D_467947502\")",
+ "exists('D_368486703')",
+ "doesNotExist(\"D_368486703\")",
+ "displayif=noneExist(\"D_985267931\",\"D_111275683\") and someExist(\"D_288498031\",\"D_195845897\",\"D_936129960\",\"D_924583345\",\"D_536516743\",\"D_283900560\",\"D_467947502\",\"D_368486703\")",
+ "noneExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345')",
+ "someExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345')",
+ "or(or(isNotDefined(D_588699608,false),isNotDefined(D_544692849,false)),or(isNotDefined(D_335435992,false),isNotDefined(D_337088272,false)))",
+ "exists('D_588699608')",
+ "doesNotExist(\"D_588699608\")",
+ "exists('D_544692849')",
+ "doesNotExist(\"D_544692849\")",
+ "exists('D_335435992')",
+ "doesNotExist(\"D_335435992\")",
+ "exists('D_337088272')",
+ "doesNotExist(\"D_337088272\")",
+ "noneExist(\"D_875706715\",\"D_645150792\") and someExist(\"D_648495207\",\"D_300933270\",\"D_649864362\",\"D_723108194\",\"D_588699608\",\"D_544692849\",\"D_335435992\",\"D_337088272\")",
+ "noneExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194')",
+ "someExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194')",
+ "or(or(isNotDefined(D_930511603,false),isNotDefined(D_756548442,false)),or(isNotDefined(D_455968200,false),isNotDefined(D_728704613,false)))",
+ "exists('D_930511603')",
+ "doesNotExist(\"D_930511603\")",
+ "exists('D_756548442')",
+ "doesNotExist(\"D_756548442\")",
+ "exists('D_455968200')",
+ "doesNotExist(\"D_455968200\")",
+ "exists('D_728704613')",
+ "doesNotExist(\"D_728704613\")",
+ "noneExist(\"D_130174162\",\"D_563832508\") and someExist(\"D_931999203\",\"D_486511102\",\"D_267027102\",\"D_734345879\",\"D_930511603\",\"D_756548442\",\"D_455968200\",\"D_728704613\")",
+ "noneExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879')",
+ "someExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879')",
+ "or(or(isNotDefined(D_742177990,false),isNotDefined(D_843508307,false)),or(isNotDefined(D_554901696,false),isNotDefined(D_819429013,false)))",
+ "exists('D_742177990')",
+ "doesNotExist(\"D_742177990\")",
+ "exists('D_843508307')",
+ "doesNotExist(\"D_843508307\")",
+ "exists('D_554901696')",
+ "doesNotExist(\"D_554901696\")",
+ "exists('D_819429013')",
+ "doesNotExist(\"D_819429013\")",
+ "noneExist(\"D_838725845\",\"D_565515774\") and someExist(\"D_445867902\",\"D_348049244\",\"D_684217044\",\"D_600319581\",\"D_742177990\",\"D_843508307\",\"D_554901696\",\"D_819429013\")",
+ "noneExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581')",
+ "someExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581')",
+ "or(or(isNotDefined(D_418702418,false),isNotDefined(D_101219440,false)),or(isNotDefined(D_127963610,false),isNotDefined(D_882731998,false)))",
+ "exists('D_418702418')",
+ "doesNotExist(\"D_418702418\")",
+ "exists('D_101219440')",
+ "doesNotExist(\"D_101219440\")",
+ "exists('D_127963610')",
+ "doesNotExist(\"D_127963610\")",
+ "exists('D_882731998')",
+ "doesNotExist(\"D_882731998\")",
+ "displayif=noneExist(\"D_306805272\",\"D_819844467\") and someExist(\"D_218334768\",\"D_394294282\",\"D_803526907\",\"D_941168091\",\"D_418702418\",\"D_101219440\",\"D_127963610\",\"D_882731998\")",
+ "noneExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091')",
+ "someExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091')",
+ "or(or(isNotDefined(D_703944664,false),isNotDefined(D_390463636,false)),or(isNotDefined(D_256790385,false),isNotDefined(D_915222355,false)))",
+ "exists('D_703944664')",
+ "doesNotExist(\"D_703944664\")",
+ "exists('D_390463636')",
+ "doesNotExist(\"D_390463636\")",
+ "exists('D_256790385')",
+ "doesNotExist(\"D_256790385\")",
+ "exists('D_915222355')",
+ "doesNotExist(\"D_915222355\")",
+ "noneExist(\"D_351559015\",\"D_903490632\") and someExist(\"D_476697171\",\"D_605344820\",\"D_814644814\",\"D_627992821\",\"D_703944664\",\"D_390463636\",\"D_256790385\",\"D_915222355\")",
+ "noneExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821')",
+ "someExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821')",
+ "or(or(isNotDefined(D_744290061,false),isNotDefined(D_516936572,false)),or(isNotDefined(D_673034401,false),isNotDefined(D_489019597,false)))",
+ "exists('D_744290061')",
+ "doesNotExist(\"D_744290061\")",
+ "exists('D_516936572')",
+ "doesNotExist(\"D_516936572\")",
+ "exists('D_673034401')",
+ "doesNotExist(\"D_673034401\")",
+ "exists('D_489019597')",
+ "doesNotExist(\"D_489019597\")",
+ "noneExist(\"D_893639464\",\"D_438475588\") and someExist(\"D_280877371\",\"D_463064782\",\"D_865310914\",\"D_900377581\",\"D_744290061\",\"D_516936572\",\"D_673034401\",\"D_489019597\")",
+ "noneExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581')",
+ "someExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581')",
+ "or(or(isNotDefined(D_351559021,false),isNotDefined(D_290370013,false)),or(isNotDefined(D_453691095,false),isNotDefined(D_202104231,false)))",
+ "exists('D_351559021')",
+ "doesNotExist(\"D_351559021\")",
+ "exists('D_290370013')",
+ "doesNotExist(\"D_290370013\")",
+ "exists('D_453691095')",
+ "doesNotExist(\"D_453691095\")",
+ "exists('D_202104231')",
+ "doesNotExist(\"D_202104231\")",
+ "noneExist(\"D_988266183\",\"D_709374950\") and someExist(\"D_548773158\",\"D_487043303\",\"D_659122266\",\"D_388427546\",\"D_351559021\",\"D_290370013\",\"D_453691095\",\"D_202104231\")",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')",
+ "someExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')",
+ "or(or(isNotDefined(D_282089547,false),isNotDefined(D_612617245,false)),or(isNotDefined(D_674024553,false),isNotDefined(D_886247195,false)))",
+ "exists('D_282089547')",
+ "doesNotExist(\"D_282089547\")",
+ "exists('D_612617245')",
+ "doesNotExist(\"D_612617245\")",
+ "exists('D_674024553')",
+ "doesNotExist(\"D_674024553\")",
+ "exists('D_886247195')",
+ "doesNotExist(\"D_886247195\")",
+ "noneExist(\"D_264707783\",\"D_666011940\") and someExist(\"D_891573875\",\"D_862255177\",\"D_972332937\",\"D_429200007\",\"D_282089547\",\"D_612617245\",\"D_674024553\",\"D_886247195\")",
+ "noneExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007')",
+ "someExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007')",
+ "or(or(isNotDefined(D_309461541,false),isNotDefined(D_789637860,false)),or(isNotDefined(D_795253129,false),isNotDefined(D_780298998,false)))",
+ "exists('D_309461541')",
+ "doesNotExist(\"D_309461541\")",
+ "exists('D_789637860')",
+ "doesNotExist(\"D_789637860\")",
+ "exists('D_795253129')",
+ "doesNotExist(\"D_795253129\")",
+ "exists('D_780298998')",
+ "doesNotExist(\"D_780298998\")",
+ "noneExist(\"D_622968789\",\"D_696874548\") and someExist(\"D_706592013\",\"D_585473282\",\"D_814137809\",\"D_876521406\",\"D_309461541\",\"D_789637860\",\"D_795253129\",\"D_780298998\")",
+ "noneExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406')",
+ "someExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406')",
+ "or(equals(D_290969423,353358909),or(equals(D_869829679,270752953),or(equals(isNotDefined(D_985267931,\"\"),false),or(equals(isNotDefined(D_111275683,\"\"),false),or(equals(isNotDefined(D_129226572,\"\"),false),or(equals(isNotDefined(D_536516743,\"\"),false),or(equals(isNotDefined(D_288498031,\"\"),false),or(equals(isNotDefined(D_283900560,\"\"),false),or(equals(isNotDefined(D_195845897,\"\"),false),or(equals(isNotDefined(D_467947502,\"\"),false),or(equals(isNotDefined(D_936129960,\"\"),false),or(equals(isNotDefined(D_368486703,\"\"),false),equals(isNotDefined(D_924583345,\"\"),false)))))))))))))",
+ "or(equals(D_862052821,353358909),or(equals(D_845483079,270752953),or(equals(isNotDefined(D_875706715,\"\"),false),or(equals(isNotDefined(D_645150792,\"\"),false),or(equals(isNotDefined(D_585360350,\"\"),false),or(equals(isNotDefined(D_588699608,\"\"),false),or(equals(isNotDefined(D_648495207,\"\"),false),or(equals(isNotDefined(D_544692849,\"\"),false),or(equals(isNotDefined(D_300933270,\"\"),false),or(equals(isNotDefined(D_335435992,\"\"),false),or(equals(isNotDefined(D_649864362,\"\"),false),or(equals(isNotDefined(D_337088272,\"\"),false),equals(isNotDefined(D_723108194,\"\"),false)))))))))))))",
+ "or(equals(D_593146348,353358909),or(equals(D_736086261,270752953),or(equals(isNotDefined(D_130174162,\"\"),false),or(equals(isNotDefined(D_563832508,\"\"),false),or(equals(isNotDefined(D_817839081,\"\"),false),or(equals(isNotDefined(D_930511603,\"\"),false),or(equals(isNotDefined(D_931999203,\"\"),false),or(equals(isNotDefined(D_756548442,\"\"),false),or(equals(isNotDefined(D_486511102,\"\"),false),or(equals(isNotDefined(D_455968200,\"\"),false),or(equals(isNotDefined(D_267027102,\"\"),false),or(equals(isNotDefined(D_728704613,\"\"),false),equals(isNotDefined(D_734345879,\"\"),false)))))))))))))",
+ "or(equals(D_983592172,353358909),or(equals(D_294308065,270752953),or(equals(isNotDefined(D_838725845,\"\"),false),or(equals(isNotDefined(D_565515774,\"\"),false),or(equals(isNotDefined(D_848348504,\"\"),false),or(equals(isNotDefined(D_742177990,\"\"),false),or(equals(isNotDefined(D_445867902,\"\"),false),or(equals(isNotDefined(D_843508307,\"\"),false),or(equals(isNotDefined(D_348049244,\"\"),false),or(equals(isNotDefined(D_554901696,\"\"),false),or(equals(isNotDefined(D_684217044,\"\"),false),or(equals(isNotDefined(D_819429013,\"\"),false),equals(isNotDefined(D_600319581,\"\"),false)))))))))))))",
+ "or(equals(D_776406200,353358909),or(equals(D_385583361,270752953),or(equals(isNotDefined(D_306805272,\"\"),false),or(equals(isNotDefined(D_819844467,\"\"),false),or(equals(isNotDefined(D_164233037,\"\"),false),or(equals(isNotDefined(D_418702418,\"\"),false),or(equals(isNotDefined(D_218334768,\"\"),false),or(equals(isNotDefined(D_101219440,\"\"),false),or(equals(isNotDefined(D_394294282,\"\"),false),or(equals(isNotDefined(D_127963610,\"\"),false),or(equals(isNotDefined(D_803526907,\"\"),false),or(equals(isNotDefined(D_882731998,\"\"),false),equals(isNotDefined(D_941168091,\"\"),false)))))))))))))",
+ "or(equals(D_135207939,353358909),or(equals(D_768802173,270752953),or(equals(isNotDefined(D_351559015,\"\"),false),or(equals(isNotDefined(D_903490632,\"\"),false),or(equals(isNotDefined(D_906119853,\"\"),false),or(equals(isNotDefined(D_703944664,\"\"),false),or(equals(isNotDefined(D_476697171,\"\"),false),or(equals(isNotDefined(D_390463636,\"\"),false),or(equals(isNotDefined(D_605344820,\"\"),false),or(equals(isNotDefined(D_256790385,\"\"),false),or(equals(isNotDefined(D_814644814,\"\"),false),or(equals(isNotDefined(D_915222355,\"\"),false),equals(isNotDefined(D_627992821,\"\"),false)))))))))))))",
+ "or(equals(D_647612167,353358909),or(equals(D_150560299,270752953),or(equals(isNotDefined(D_893639464,\"\"),false),or(equals(isNotDefined(D_438475588,\"\"),false),or(equals(isNotDefined(D_194165243,\"\"),false),or(equals(isNotDefined(D_744290061,\"\"),false),or(equals(isNotDefined(D_280877371,\"\"),false),or(equals(isNotDefined(D_516936572,\"\"),false),or(equals(isNotDefined(D_463064782,\"\"),false),or(equals(isNotDefined(D_673034401,\"\"),false),or(equals(isNotDefined(D_865310914,\"\"),false),or(equals(isNotDefined(D_489019597,\"\"),false),equals(isNotDefined(D_900377581,\"\"),false)))))))))))))",
+ "or(equals(D_532944666,353358909),or(equals(D_122054737,270752953),or(equals(isNotDefined(D_988266183,\"\"),false),or(equals(isNotDefined(D_709374950,\"\"),false),or(equals(isNotDefined(D_853931010,\"\"),false),or(equals(isNotDefined(D_351559021,\"\"),false),or(equals(isNotDefined(D_548773158,\"\"),false),or(equals(isNotDefined(D_290370013,\"\"),false),or(equals(isNotDefined(D_487043303,\"\"),false),or(equals(isNotDefined(D_453691095,\"\"),false),or(equals(isNotDefined(D_659122266,\"\"),false),or(equals(isNotDefined(D_202104231,\"\"),false),equals(isNotDefined(D_388427546,\"\"),false)))))))))))))",
+ "or(equals(D_548863580,353358909),or(equals(D_948492967,270752953),or(equals(isNotDefined(D_264707783,\"\"),false),or(equals(isNotDefined(D_666011940,\"\"),false),or(equals(isNotDefined(D_981594981,\"\"),false),or(equals(isNotDefined(D_282089547,\"\"),false),or(equals(isNotDefined(D_891573875,\"\"),false),or(equals(isNotDefined(D_612617245,\"\"),false),or(equals(isNotDefined(D_862255177,\"\"),false),or(equals(isNotDefined(D_674024553,\"\"),false),or(equals(isNotDefined(D_972332937,\"\"),false),or(equals(isNotDefined(D_886247195,\"\"),false),equals(isNotDefined(D_429200007,\"\"),false)))))))))))))",
+ "or(equals(D_124320444,353358909),or(equals(D_805353966,270752953),or(equals(isNotDefined(D_622968789,\"\"),false),or(equals(isNotDefined(D_696874548,\"\"),false),or(equals(isNotDefined(D_450630128,\"\"),false),or(equals(isNotDefined(D_309461541,\"\"),false),or(equals(isNotDefined(D_706592013,\"\"),false),or(equals(isNotDefined(D_789637860,\"\"),false),or(equals(isNotDefined(D_585473282,\"\"),false),or(equals(isNotDefined(D_795253129,\"\"),false),or(equals(isNotDefined(D_814137809,\"\"),false),or(equals(isNotDefined(D_780298998,\"\"),false),equals(isNotDefined(D_876521406,\"\"),false)))))))))))))",
+ "or(or(isNotDefined(D_556576930,false),isNotDefined(D_304326324,false)),or(isNotDefined(D_812433386,false),isNotDefined(D_477319994,false)))",
+ "exists('D_556576930')",
+ "doesNotExist(\"D_556576930\")",
+ "exists('D_304326324')",
+ "doesNotExist(\"D_304326324\")",
+ "exists('D_812433386')",
+ "doesNotExist(\"D_812433386\")",
+ "exists('D_477319994')",
+ "doesNotExist(\"D_477319994\")",
+ "noneExist(\"D_234037089\",\"D_416862112\") and someExist(\"D_416620941\",\"D_915859406\",\"D_354833686\",\"D_661148931\",\"D_556576930\",\"D_304326324\",\"D_812433386\",\"D_477319994\")",
+ "noneExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_661148931')",
+ "someExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_661148931')",
+ "or(or(isNotDefined(D_715370929,false),isNotDefined(D_109991481,false)),or(isNotDefined(D_494380686,false),isNotDefined(D_440796912,false)))",
+ "exists('D_715370929')",
+ "doesNotExist(\"D_715370929\")",
+ "exists('D_109991481')",
+ "doesNotExist(\"D_109991481\")",
+ "exists('D_494380686')",
+ "doesNotExist(\"D_494380686\")",
+ "exists('D_440796912')",
+ "doesNotExist(\"D_440796912\")",
+ "noneExist(\"D_476938134\",\"D_561635035\") and someExist(\"D_726739712\",\"D_149514187\",\"D_845446624\",\"D_677739650\",\"D_715370929\",\"D_109991481\",\"D_494380686\",\"D_440796912\")",
+ "noneExist('D_476938134','D_561635035','D_134210521','D_715370929','D_726739712','D_109991481','D_149514187','D_494380686','D_845446624','D_440796912','D_677739650')",
+ "someExist('D_476938134','D_561635035','D_134210521','D_715370929','D_726739712','D_109991481','D_149514187','D_494380686','D_845446624','D_440796912','D_677739650')",
+ "or(or(isNotDefined(D_113352592,false),isNotDefined(D_768114466,false)),or(isNotDefined(D_938180781,false),isNotDefined(D_733365745,false)))",
+ "exists('D_113352592')",
+ "doesNotExist(\"D_113352592\")",
+ "exists('D_768114466')",
+ "doesNotExist(\"D_768114466\")",
+ "exists('D_938180781')",
+ "doesNotExist(\"D_938180781\")",
+ "exists('D_733365745')",
+ "doesNotExist(\"D_733365745\")",
+ "noneExist(\"D_119483547\",\"D_194338739\") and someExist(\"D_148846635\",\"D_192663941\",\"D_245044197\",\"D_261025083\",\"D_113352592\",\"D_768114466\",\"D_938180781\",\"D_733365745\")",
+ "noneExist('D_119483547','D_194338739','D_387077376','D_113352592','D_148846635','D_768114466','D_192663941','D_938180781','D_245044197','D_733365745','D_261025083')",
+ "someExist('D_119483547','D_194338739','D_387077376','D_113352592','D_148846635','D_768114466','D_192663941','D_938180781','D_245044197','D_733365745','D_261025083')",
+ "or(or(isNotDefined(D_733619119,false),isNotDefined(D_843680322,false)),or(isNotDefined(D_716343828,false),isNotDefined(D_497260033,false)))",
+ "exists('D_733619119')",
+ "doesNotExist(\"D_733619119\")",
+ "exists('D_843680322')",
+ "doesNotExist(\"D_843680322\")",
+ "exists('D_716343828')",
+ "doesNotExist(\"D_716343828\")",
+ "exists('D_497260033')",
+ "doesNotExist(\"D_497260033\")",
+ "noneExist(\"D_785588454\",\"D_419659205\") and someExist(\"D_571926996\",\"D_645589113\",\"D_701056236\",\"D_398249766\",\"D_733619119\",\"D_843680322\",\"D_716343828\",\"D_497260033\")",
+ "noneExist('D_785588454','D_419659205','D_653181757','D_733619119','D_571926996','D_843680322','D_645589113','D_716343828','D_701056236','D_497260033','D_398249766')",
+ "someExist('D_785588454','D_419659205','D_653181757','D_733619119','D_571926996','D_843680322','D_645589113','D_716343828','D_701056236','D_497260033','D_398249766')",
+ "or(or(isNotDefined(D_570311888,false),isNotDefined(D_557852952,false)),or(isNotDefined(D_970217879,false),isNotDefined(D_452103273,false)))",
+ "exists('D_570311888')",
+ "doesNotExist(\"D_570311888\")",
+ "exists('D_557852952')",
+ "doesNotExist(\"D_557852952\")",
+ "exists('D_970217879')",
+ "doesNotExist(\"D_970217879\")",
+ "exists('D_452103273')",
+ "doesNotExist(\"D_452103273\")",
+ "displayif=noneExist(\"D_275244758\",\"D_688216428\") and someExist(\"D_101804763\",\"D_502068619\",\"D_787391994\",\"D_540340377\",\"D_570311888\",\"D_557852952\",\"D_970217879\",\"D_452103273\")",
+ "noneExist('D_275244758','D_688216428','D_843674851','D_570311888','D_101804763','D_557852952','D_502068619','D_970217879','D_787391994','D_452103273','D_540340377')",
+ "someExist('D_275244758','D_688216428','D_843674851','D_570311888','D_101804763','D_557852952','D_502068619','D_970217879','D_787391994','D_452103273','D_540340377')",
+ "or(or(isNotDefined(D_888514303,false),isNotDefined(D_905002640,false)),or(isNotDefined(D_687407917,false),isNotDefined(D_932828568,false)))",
+ "exists('D_888514303')",
+ "doesNotExist(\"D_888514303\")",
+ "exists('D_905002640')",
+ "doesNotExist(\"D_905002640\")",
+ "exists('D_687407917')",
+ "doesNotExist(\"D_687407917\")",
+ "exists('D_932828568')",
+ "doesNotExist(\"D_932828568\")",
+ "noneExist(\"D_666445636\",\"D_398622449\") and someExist(\"D_686611963\",\"D_900950849\",\"D_103689435\",\"D_659457234\",\"D_888514303\",\"D_905002640\",\"D_687407917\",\"D_932828568\")",
+ "noneExist('D_666445636','D_398622449','D_521925072','D_888514303','D_686611963','D_905002640','D_900950849','D_687407917','D_103689435','D_932828568','D_659457234')",
+ "someExist('D_666445636','D_398622449','D_521925072','D_888514303','D_686611963','D_905002640','D_900950849','D_687407917','D_103689435','D_932828568','D_659457234')",
+ "or(or(isNotDefined(D_384403974,false),isNotDefined(D_585153023,false)),or(isNotDefined(D_248996395,false),isNotDefined(D_525778327,false)))",
+ "exists('D_384403974')",
+ "doesNotExist(\"D_384403974\")",
+ "exists('D_585153023')",
+ "doesNotExist(\"D_585153023\")",
+ "exists('D_248996395')",
+ "doesNotExist(\"D_248996395\")",
+ "exists('D_525778327')",
+ "doesNotExist(\"D_525778327\")",
+ "noneExist(\"D_199489170\",\"D_605155921\") and someExist(\"D_860984191\",\"D_892150843\",\"D_230376384\",\"D_526462982\",\"D_384403974\",\"D_585153023\",\"D_248996395\",\"D_525778327\")",
+ "noneExist('D_199489170','D_605155921','D_300476868','D_384403974','D_860984191','D_585153023','D_892150843','D_248996395','D_230376384','D_525778327','D_526462982')",
+ "someExist('D_199489170','D_605155921','D_300476868','D_384403974','D_860984191','D_585153023','D_892150843','D_248996395','D_230376384','D_525778327','D_526462982')",
+ "or(or(isNotDefined(D_367684056,false),isNotDefined(D_389478638,false)),or(isNotDefined(D_949478044,false),isNotDefined(D_298170847,false)))",
+ "exists('D_367684056')",
+ "doesNotExist(\"D_367684056\")",
+ "exists('D_389478638')",
+ "doesNotExist(\"D_389478638\")",
+ "exists('D_949478044')",
+ "doesNotExist(\"D_949478044\")",
+ "exists('D_298170847')",
+ "doesNotExist(\"D_298170847\")",
+ "noneExist(\"D_295693777\",\"D_646099557\") and someExist(\"D_599753334\",\"D_467126157\",\"D_421779583\",\"D_587765197\",\"D_367684056\",\"D_389478638\",\"D_949478044\",\"D_298170847\")",
+ "noneExist('D_295693777','D_646099557','D_886284650','D_367684056','D_599753334','D_389478638','D_467126157','D_949478044','D_421779583','D_298170847','D_587765197')",
+ "someExist('D_295693777','D_646099557','D_886284650','D_367684056','D_599753334','D_389478638','D_467126157','D_949478044','D_421779583','D_298170847','D_587765197')",
+ "or(or(isNotDefined(D_711881258,false),isNotDefined(D_390941579,false)),or(isNotDefined(D_737885885,false),isNotDefined(D_603853574,false)))",
+ "exists('D_711881258')",
+ "doesNotExist(\"D_711881258\")",
+ "exists('D_390941579')",
+ "doesNotExist(\"D_390941579\")",
+ "exists('D_737885885')",
+ "doesNotExist(\"D_737885885\")",
+ "exists('D_603853574')",
+ "doesNotExist(\"D_603853574\")",
+ "noneExist(\"D_143093472\",\"D_746619983\") and someExist(\"D_450433102\",\"D_181005197\",\"D_855530921\",\"D_589689090\",\"D_711881258\",\"D_390941579\",\"D_737885885\",\"D_603853574\")",
+ "noneExist('D_143093472','D_746619983','D_911964974','D_711881258','D_450433102','D_390941579','D_181005197','D_737885885','D_855530921','D_603853574','D_589689090')",
+ "someExist('D_143093472','D_746619983','D_911964974','D_711881258','D_450433102','D_390941579','D_181005197','D_737885885','D_855530921','D_603853574','D_589689090')",
+ "or(or(isNotDefined(D_160188014,false),isNotDefined(D_596751155,false)),or(isNotDefined(D_624226136,false),isNotDefined(D_807127029,false)))",
+ "exists('D_160188014')",
+ "doesNotExist(\"D_160188014\")",
+ "exists('D_596751155')",
+ "doesNotExist(\"D_596751155\")",
+ "exists('D_624226136')",
+ "doesNotExist(\"D_624226136\")",
+ "exists('D_807127029')",
+ "doesNotExist(\"D_807127029\")",
+ "noneExist(\"D_117703279\",\"D_734790700\") and someExist(\"D_983038259\",\"D_313586037\",\"D_158186064\",\"D_274940131\",\"D_160188014\",\"D_596751155\",\"D_624226136\",\"D_807127029\")",
+ "noneExist('D_117703279','D_734790700','D_278164536','D_160188014','D_983038259','D_596751155','D_313586037','D_624226136','D_158186064','D_807127029','D_274940131')",
+ "someExist('D_117703279','D_734790700','D_278164536','D_160188014','D_983038259','D_596751155','D_313586037','D_624226136','D_158186064','D_807127029','D_274940131')",
+ "or(equals(D_342677547,353358909),or(equals(D_710449106,991158851),or(equals(isNotDefined(D_234037089,\"\"),false),or(equals(isNotDefined(D_416862112,\"\"),false),or(equals(isNotDefined(D_671149035,\"\"),false),or(equals(isNotDefined(D_556576930,\"\"),false),or(equals(isNotDefined(D_416620941,\"\"),false),or(equals(isNotDefined(D_304326324,\"\"),false),or(equals(isNotDefined(D_915859406,\"\"),false),or(equals(isNotDefined(D_812433386,\"\"),false),or(equals(isNotDefined(D_354833686,\"\"),false),or(equals(isNotDefined(D_477319994,\"\"),false),equals(isNotDefined(D_661148931,\"\"),false)))))))))))))",
+ "or(equals(D_576956950,353358909),or(equals(D_512143997,171498611),or(equals(isNotDefined(D_476938134,\"\"),false),or(equals(isNotDefined(D_561635035,\"\"),false),or(equals(isNotDefined(D_134210521,\"\"),false),or(equals(isNotDefined(D_715370929,\"\"),false),or(equals(isNotDefined(D_726739712,\"\"),false),or(equals(isNotDefined(D_109991481,\"\"),false),or(equals(isNotDefined(D_149514187,\"\"),false),or(equals(isNotDefined(D_494380686,\"\"),false),or(equals(isNotDefined(D_845446624,\"\"),false),or(equals(isNotDefined(D_440796912,\"\"),false),equals(isNotDefined(D_677739650,\"\"),false)))))))))))))",
+ "or(equals(D_463952618,353358909),or(equals(D_982650994,171498611),or(equals(isNotDefined(D_119483547,\"\"),false),or(equals(isNotDefined(D_194338739,\"\"),false),or(equals(isNotDefined(D_387077376,\"\"),false),or(equals(isNotDefined(D_113352592,\"\"),false),or(equals(isNotDefined(D_148846635,\"\"),false),or(equals(isNotDefined(D_768114466,\"\"),false),or(equals(isNotDefined(D_192663941,\"\"),false),or(equals(isNotDefined(D_938180781,\"\"),false),or(equals(isNotDefined(D_245044197,\"\"),false),or(equals(isNotDefined(D_733365745,\"\"),false),equals(isNotDefined(D_261025083,\"\"),false)))))))))))))",
+ "or(equals(D_959488634,353358909),or(equals(D_945794974,171498611),or(equals(isNotDefined(D_785588454,\"\"),false),or(equals(isNotDefined(D_419659205,\"\"),false),or(equals(isNotDefined(D_653181757,\"\"),false),or(equals(isNotDefined(D_733619119,\"\"),false),or(equals(isNotDefined(D_571926996,\"\"),false),or(equals(isNotDefined(D_843680322,\"\"),false),or(equals(isNotDefined(D_645589113,\"\"),false),or(equals(isNotDefined(D_716343828,\"\"),false),or(equals(isNotDefined(D_701056236,\"\"),false),or(equals(isNotDefined(D_497260033,\"\"),false),equals(isNotDefined(D_398249766,\"\"),false)))))))))))))",
+ "or(equals(D_696017690,353358909),or(equals(D_663869343,171498611),or(equals(isNotDefined(D_275244758,\"\"),false),or(equals(isNotDefined(D_688216428,\"\"),false),or(equals(isNotDefined(D_843674851,\"\"),false),or(equals(isNotDefined(D_570311888,\"\"),false),or(equals(isNotDefined(D_101804763,\"\"),false),or(equals(isNotDefined(D_557852952,\"\"),false),or(equals(isNotDefined(D_502068619,\"\"),false),or(equals(isNotDefined(D_970217879,\"\"),false),or(equals(isNotDefined(D_787391994,\"\"),false),or(equals(isNotDefined(D_452103273,\"\"),false),equals(isNotDefined(D_540340377,\"\"),false)))))))))))))",
+ "or(equals(D_424272506,353358909),or(equals(D_275978701,171498611),or(equals(isNotDefined(D_666445636,\"\"),false),or(equals(isNotDefined(D_398622449,\"\"),false),or(equals(isNotDefined(D_521925072,\"\"),false),or(equals(isNotDefined(D_888514303,\"\"),false),or(equals(isNotDefined(D_686611963,\"\"),false),or(equals(isNotDefined(D_905002640,\"\"),false),or(equals(isNotDefined(D_900950849,\"\"),false),or(equals(isNotDefined(D_687407917,\"\"),false),or(equals(isNotDefined(D_103689435,\"\"),false),or(equals(isNotDefined(D_932828568,\"\"),false),equals(isNotDefined(D_659457234,\"\"),false)))))))))))))",
+ "or(equals(D_484550481,353358909),or(equals(D_195803565,171498611),or(equals(isNotDefined(D_199489170,\"\"),false),or(equals(isNotDefined(D_605155921,\"\"),false),or(equals(isNotDefined(D_300476868,\"\"),false),or(equals(isNotDefined(D_384403974,\"\"),false),or(equals(isNotDefined(D_860984191,\"\"),false),or(equals(isNotDefined(D_585153023,\"\"),false),or(equals(isNotDefined(D_892150843,\"\"),false),or(equals(isNotDefined(D_248996395,\"\"),false),or(equals(isNotDefined(D_230376384,\"\"),false),or(equals(isNotDefined(D_525778327,\"\"),false),equals(isNotDefined(D_526462982,\"\"),false)))))))))))))",
+ "or(equals(D_773680071,353358909),or(equals(D_282326355,171498611),or(equals(isNotDefined(D_295693777,\"\"),false),or(equals(isNotDefined(D_646099557,\"\"),false),or(equals(isNotDefined(D_886284650,\"\"),false),or(equals(isNotDefined(D_367684056,\"\"),false),or(equals(isNotDefined(D_599753334,\"\"),false),or(equals(isNotDefined(D_389478638,\"\"),false),or(equals(isNotDefined(D_467126157,\"\"),false),or(equals(isNotDefined(D_949478044,\"\"),false),or(equals(isNotDefined(D_421779583,\"\"),false),or(equals(isNotDefined(D_298170847,\"\"),false),equals(isNotDefined(D_587765197,\"\"),false)))))))))))))",
+ "or(equals(D_348817644,353358909),or(equals(D_141249692,171498611),or(equals(isNotDefined(D_143093472,\"\"),false),or(equals(isNotDefined(D_746619983,\"\"),false),or(equals(isNotDefined(D_911964974,\"\"),false),or(equals(isNotDefined(D_711881258,\"\"),false),or(equals(isNotDefined(D_450433102,\"\"),false),or(equals(isNotDefined(D_390941579,\"\"),false),or(equals(isNotDefined(D_181005197,\"\"),false),or(equals(isNotDefined(D_737885885,\"\"),false),or(equals(isNotDefined(D_855530921,\"\"),false),or(equals(isNotDefined(D_603853574,\"\"),false),equals(isNotDefined(D_589689090,\"\"),false)))))))))))))",
+ "or(equals(D_800194290,353358909),or(equals(D_494968690,171498611),or(equals(isNotDefined(D_117703279,\"\"),false),or(equals(isNotDefined(D_734790700,\"\"),false),or(equals(isNotDefined(D_278164536,\"\"),false),or(equals(isNotDefined(D_160188014,\"\"),false),or(equals(isNotDefined(D_983038259,\"\"),false),or(equals(isNotDefined(D_596751155,\"\"),false),or(equals(isNotDefined(D_313586037,\"\"),false),or(equals(isNotDefined(D_624226136,\"\"),false),or(equals(isNotDefined(D_158186064,\"\"),false),or(equals(isNotDefined(D_807127029,\"\"),false),equals(isNotDefined(D_274940131,\"\"),false)))))))))))))",
+ "noneExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_274940131')",
+ "someExist('D_234037089','D_416862112','D_671149035','D_556576930','D_416620941','D_304326324','D_915859406','D_812433386','D_354833686','D_477319994','D_274940131')",
+ "someExist(\"D_985267931\",\"D_111275683\",\"D_129226572\",\"D_536516743\",\"D_288498031\",\"D_283900560\",\"D_195845897\",\"D_467947502\",\"D_936129960\",\"D_368486703\",\"D_924583345\")|valueEquals(\"D_290969423\",353358909)|valueEquals(\"D_869829679\",270752953)",
+ "someExist(\"D_875706715\",\"D_645150792\",\"D_585360350\",\"D_588699608\",\"D_648495207\",\"D_544692849\",\"D_300933270\",\"D_335435992\",\"D_649864362\",\"D_337088272\",\"D_723108194\")|valueEquals(\"D_862052821\",353358909)|valueEquals(\"D_845483079\",270752953)",
+ "someExist(\"D_130174162\",\"D_563832508\",\"D_817839081\",\"D_930511603\",\"D_931999203\",\"D_756548442\",\"D_486511102\",\"D_455968200\",\"D_267027102\",\"D_728704613\",\"D_734345879\")|valueEquals(\"D_593146348\",353358909)|valueEquals(\"D_736086261\",270752953)",
+ "someExist(\"D_838725845\",\"D_565515774\",\"D_848348504\",\"D_742177990\",\"D_445867902\",\"D_843508307\",\"D_348049244\",\"D_554901696\",\"D_684217044\",\"D_819429013\",\"D_600319581\")|valueEquals(\"D_983592172\",353358909)|valueEquals(\"D_294308065\",270752953)",
+ "someExist(\"D_306805272\",\"D_819844467\",\"D_164233037\",\"D_418702418\",\"D_218334768\",\"D_101219440\",\"D_394294282\",\"D_127963610\",\"D_803526907\",\"D_882731998\",\"D_941168091\")|valueEquals(\"D_776406200\",353358909)|valueEquals(\"D_385583361\",270752953)",
+ "someExist(\"D_351559015\",\"D_903490632\",\"D_906119853\",\"D_703944664\",\"D_476697171\",\"D_390463636\",\"D_605344820\",\"D_256790385\",\"D_814644814\",\"D_915222355\",\"D_627992821\")|valueEquals(\"D_135207939\",353358909)|valueEquals(\"D_768802173\",270752953)",
+ "someExist(\"D_893639464\",\"D_438475588\",\"D_194165243\",\"D_744290061\",\"D_280877371\",\"D_516936572\",\"D_463064782\",\"D_673034401\",\"D_865310914\",\"D_489019597\",\"D_900377581\")|valueEquals(\"D_647612167\",353358909)|valueEquals(\"D_150560299\",270752953)",
+ "someExist(\"D_988266183\",\"D_709374950\",\"D_853931010\",\"D_351559021\",\"D_548773158\",\"D_290370013\",\"D_487043303\",\"D_453691095\",\"D_659122266\",\"D_202104231\",\"D_388427546\")|valueEquals(\"D_532944666\",353358909)|valueEquals(\"D_122054737\",270752953)",
+ "someExist(\"D_264707783\",\"D_666011940\",\"D_981594981\",\"D_282089547\",\"D_891573875\",\"D_612617245\",\"D_862255177\",\"D_674024553\",\"D_972332937\",\"D_886247195\",\"D_429200007\")|valueEquals(\"D_548863580\",353358909)|valueEquals(\"D_948492967\",270752953)",
+ "someExist(\"D_622968789\",\"D_696874548\",\"D_450630128\",\"D_309461541\",\"D_706592013\",\"D_789637860\",\"D_585473282\",\"D_795253129\",\"D_814137809\",\"D_780298998\",\"D_876521406\")|valueEquals(\"D_124320444\",353358909)|valueEquals(\"D_805353966\",270752953)",
+ "equals(isDefined(D_720221117,-1),-1)",
+ "and(equals(isDefined(D_720221117,-1),-1),or(or(isNotDefined(D_128827522,false),isNotDefined(D_439447560,false)),or(isNotDefined(D_286781627,false),isNotDefined(D_733929451,false))))",
+ "exists('D_128827522')",
+ "doesNotExist(\"D_128827522\")",
+ "exists('D_439447560')",
+ "doesNotExist(\"D_439447560\")",
+ "exists('D_286781627')",
+ "doesNotExist(\"D_286781627\")",
+ "exists('D_733929451')",
+ "doesNotExist(\"D_733929451\")",
+ "noneExist(\"D_284547539\",\"D_802585033\") and someExist(\"D_890792569\",\"D_451394598\",\"D_984908796\",\"D_847327251\",\"D_128827522\",\"D_439447560\",\"D_286781627\",\"D_733929451\")",
+ "noneExist('D_284547539','D_802585033','D_746533238','D_128827522','D_890792569','D_439447560','D_451394598','D_286781627','D_984908796','D_733929451','D_847327251') and not valueEquals('D_277348878',778052314)",
+ "someExist('D_284547539','D_802585033','D_746533238','D_128827522','D_890792569','D_439447560','D_451394598','D_286781627','D_984908796','D_733929451','D_847327251')",
+ "equals(D_720221117,658491312)",
+ "equals(D_720221117,351928156)",
+ "equals(D_720221117,510681016)",
+ "equals(D_720221117,451961786)",
+ "equals(D_720221117,902342161)",
+ "equals(D_720221117,928670216)",
+ "equals(D_720221117,354020985)",
+ "equals(D_720221117,583113200)",
+ "equals(D_720221117,458045785)",
+ "equals(D_720221117,487265825)",
+ "equals(D_720221117,883331099)",
+ "not valueIsOneOf('D_720221117',658491312,351928156,510681016,451961786,902342161,928670216,354020985,583113200,458045785,487265825,883331099) and valueEquals('D_277348878',778052314)",
+ "noneExist('D_255248624','D_945532934','D_469838242','D_303500597','D_725583683','D_195068098','D_917021073','D_202784871','D_970000442','D_831127170','D_500100435') and valueEquals('D_720221117',658491312)",
+ "noneExist('D_985267931','D_111275683','D_129226572','D_536516743','D_288498031','D_283900560','D_195845897','D_467947502','D_936129960','D_368486703','D_924583345') and valueEquals('D_720221117',351928156)",
+ "noneExist('D_875706715','D_645150792','D_585360350','D_588699608','D_648495207','D_544692849','D_300933270','D_335435992','D_649864362','D_337088272','D_723108194') and valueEquals('D_720221117',510681016)",
+ "noneExist('D_130174162','D_563832508','D_817839081','D_930511603','D_931999203','D_756548442','D_486511102','D_455968200','D_267027102','D_728704613','D_734345879') and valueEquals('D_720221117',451961786)",
+ "noneExist('D_838725845','D_565515774','D_848348504','D_742177990','D_445867902','D_843508307','D_348049244','D_554901696','D_684217044','D_819429013','D_600319581') and valueEquals('D_720221117',902342161)",
+ "noneExist('D_306805272','D_819844467','D_164233037','D_418702418','D_218334768','D_101219440','D_394294282','D_127963610','D_803526907','D_882731998','D_941168091') and valueEquals('D_720221117',928670216)",
+ "noneExist('D_351559015','D_903490632','D_906119853','D_703944664','D_476697171','D_390463636','D_605344820','D_256790385','D_814644814','D_915222355','D_627992821') and valueEquals('D_720221117',354020985)",
+ "noneExist('D_893639464','D_438475588','D_194165243','D_744290061','D_280877371','D_516936572','D_463064782','D_673034401','D_865310914','D_489019597','D_900377581') and valueEquals('D_720221117',583113200)",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546') and valueEquals('D_720221117',458045785)",
+ "noneExist('D_264707783','D_666011940','D_981594981','D_282089547','D_891573875','D_612617245','D_862255177','D_674024553','D_972332937','D_886247195','D_429200007') and valueEquals('D_720221117',487265825)",
+ "noneExist('D_622968789','D_696874548','D_450630128','D_309461541','D_706592013','D_789637860','D_585473282','D_795253129','D_814137809','D_780298998','D_876521406') and valueEquals('D_720221117',883331099)",
+ "noneExist('D_988266183','D_709374950','D_853931010','D_351559021','D_548773158','D_290370013','D_487043303','D_453691095','D_659122266','D_202104231','D_388427546')and valueEquals('D_720221117',458045785)",
+ "equals(D_831438612,863839736)",
+ "equals(D_831438612,531671855)",
+ "equals(D_831438612,525375987)",
+ "equals(D_831438612,995797773)",
+ "equals(D_831438612,431441193)",
+ "exists('D_834822910')",
+ "doesNotExist('D_834822910')",
+ "or(or(isNotDefined(D_627183798,false),isNotDefined(D_901141257,false)),or(isNotDefined(D_599770535,false),isNotDefined(D_268600708,false)))",
+ "exists('D_627183798')",
+ "doesNotExist(\"D_627183798\")",
+ "exists('D_901141257')",
+ "doesNotExist(\"D_901141257\")",
+ "exists('D_599770535')",
+ "doesNotExist(\"D_599770535\")",
+ "exists('D_268600708')",
+ "doesNotExist(\"D_268600708\")",
+ "noneExist(\"D_307515427\",\"D_422521705\") and someExist(\"D_627183798\",\"D_901141257\",\"D_599770535\",\"D_268600708\",\"D_515150210\",\"D_182449282\",\"D_609408466\",\"D_702591232\")",
+ "noneExist('D_627183798','D_901141257','D_599770535','D_268600708','D_515150210','D_182449282','D_609408466','D_702591232')",
+ "someExist('D_627183798','D_901141257','D_599770535','D_268600708','D_515150210','D_182449282','D_609408466','D_702591232')",
+ "valueIsOneOf(\"D_421586693\",767755239,385609081,502946054,151757360,363747463,626380300,817932069,466212511)",
+ "equals(D_421586693,767755239)",
+ "equals(D_421586693,385609081)",
+ "equals(D_421586693,502946054)",
+ "equals(D_421586693,151757360)",
+ "equals(D_421586693,363747463)",
+ "equals(D_421586693,626380300)",
+ "equals(D_421586693,817932069)",
+ "equals(D_421586693,466212511)",
+ "valueIsOneOf(\"D_583216333\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_920653797\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_843066684\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_101850740\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_583216333\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_920653797\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_843066684\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_101850740\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_317194063\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_621948602\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_175502589\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_614443767\",248303092,998679771,638092100,127455035)",
+ "doesNotEqual(D_614208066,353358909)",
+ "(not(equals(\"D_614208066\",353358909)) and valueIsOneOf(\"D_799598595\",339946103,364857371,315356220,363036517,978362655,175003260,648051649,957052257)) or (not(equals(\"D_308634850\",353358909)) and valueIsOneOf(\"D_421586693\",767755239,385609081,502946054,151757360,363747463,626380300,817932069,466212511))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,339946103)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,767755239)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,364857371)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,385609081)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,315356220)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,502946054)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,363036517)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,151757360)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,978362655)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,363747463)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,175003260)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,626380300)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,648051649)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,817932069)),equals(D_614208066,353358909)))",
+ "or(and(doesNotEqual(D_614208066,353358909),equals(D_799598595,957052257)),and(and(doesNotEqual(D_308634850,353358909),equals(D_421586693,466212511)),equals(D_614208066,353358909)))",
+ "valueIsOneOf(\"D_827461454\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_306356124\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_884514292\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_570556451\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_827461454\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_306356124\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_884514292\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_570556451\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_303089793\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_848543458\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_543804307\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_654108399\",248303092,998679771,638092100,127455035)",
+ "valueEquals(\"D_694113343\",353358909) and valueEquals(\"D_699873889\",353358909)",
+ "or(doesNotEqual(D_576417612,816566846),and(equals(D_694113343,353358909),doesNotEqual(D_699873889,353358909)))",
+ "and(and(equals(D_576417612,816566846),doesNotEqual(D_871276836,104430631)),equals(D_858178137,353358909))",
+ "and(equals(D_576417612,816566846),doesNotEqual(D_871276836,104430631))",
+ "valueEquals(\"D_576417612\",816566846) and valueEquals(\"D_871276836\",104430631)",
+ "and(equals(D_694113343,353358909),or(equals(D_970148613,353358909),equals(D_374639590,104430631)))",
+ "equals(D_576417612,816566846)",
+ "equals(D_374639590,104430631)",
+ "and(and(equals(D_694113343,353358909),or(equals(D_970148613,353358909),equals(D_374639590,104430631))),doesNotEqual(D_858178137,353358909))",
+ "valueEquals(\"D_970148613\",353358909) and someExist(\"D_560853245\",\"D_307515427\",\"D_422521705\",\"D_330163034\",\"D_555595404\",\"D_146107174\",\"D_627183798\",\"D_901141257\",\"D_599770535\",\"D_268600708\",\"D_515150210\",\"D_182449282\",\"D_609408466\",\"D_702591232\")",
+ "or(and(or(equals(D_828801156,759356722),equals(D_828801156,185036360)),equals(D_374639590,104430631)),doesNotEqual(D_211472150,353358909))",
+ "and(or(and(or(equals(D_828801156,759356722),equals(D_828801156,185036360)),equals(D_374639590,104430631)),doesNotEqual(D_211472150,353358909)),or(or(isNotDefined(D_959804472,false),isNotDefined(D_774707280,false)),or(isNotDefined(D_182144476,false),isNotDefined(D_294634899,false))))",
+ "exists('D_959804472')",
+ "doesNotExist(\"D_959804472\")",
+ "exists('D_774707280')",
+ "doesNotExist(\"D_774707280\")",
+ "exists('D_182144476')",
+ "doesNotExist(\"D_182144476\")",
+ "exists('D_294634899')",
+ "doesNotExist(\"D_294634899\")",
+ "noneExist(\"D_493984171\",\"D_253017624\") and someExist(\"D_959804472\",\"D_774707280\",\"D_182144476\",\"D_294634899\", \"D_583500714\",\"D_742105146\",\"D_101341673\",\"D_237204853\")",
+ "someExist('D_493984171','D_253017624','D_404141282','D_959804472','D_583500714','D_774707280','D_742105146','D_182144476','D_101341673','D_294634899','D_237204853')",
+ "noneExist('D_493984171','D_253017624','D_404141282','D_959804472','D_583500714','D_774707280','D_742105146','D_182144476','D_101341673','D_294634899','D_237204853')",
+ "or(equals(isNotDefined(D_493984171,''),false),or(equals(isNotDefined(D_253017624,''),false),or(equals(isNotDefined(D_404141282,''),false),or(equals(isNotDefined(D_959804472,''),false),or(equals(isNotDefined(D_583500714,''),false),or(equals(isNotDefined(D_774707280,''),false),or(equals(isNotDefined(D_742105146,''),false),or(equals(isNotDefined(D_182144476,''),false),or(equals(isNotDefined(D_101341673,''),false),or(equals(isNotDefined(D_294634899,''),false),equals(isNotDefined(D_237204853,''),false)))))))))))",
+ "and(equals(isNotDefined(D_493984171,''),true),and(equals(isNotDefined(D_253017624,''),true),and(equals(isNotDefined(D_404141282,''),true),and(equals(isNotDefined(D_959804472,''),true),and(equals(isNotDefined(D_583500714,''),true),and(equals(isNotDefined(D_774707280,''),true),and(equals(isNotDefined(D_742105146,''),true),and(equals(isNotDefined(D_182144476,''),true),and(equals(isNotDefined(D_101341673,''),true),and(equals(isNotDefined(D_294634899,''),true),equals(isNotDefined(D_237204853,''),true)))))))))))",
+ "equals(D_635467479,158795242)",
+ "equals(D_635467479,443596662)",
+ "equals(D_635467479,892894242)",
+ "equals(D_635467479,177539753)",
+ "equals(D_635467479,107659596)",
+ "equals(D_635467479,575883949)",
+ "equals(D_635467479,248168118)",
+ "equals(D_635467479,509121242)",
+ "valueIsOneOf(\"D_593010802\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453004768\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_511991969\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_546570171\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_593010802\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453004768\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_511991969\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_546570171\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_242761203\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_587434250\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_569993305\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_662584384\",248303092,998679771,638092100,127455035)",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,581991828)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,158795242)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,846844103)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,443596662)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,660927579)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,892894242)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,940452831)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,177539753)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,669359763)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,107659596)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,950972496)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,575883949)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,137216656)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,248168118)),equals(D_684542266,353358909)))",
+ "or(and(doesNotEqual(D_684542266,353358909),equals(D_404697804,244488084)),and(and(doesNotEqual(D_203943120,353358909),equals(D_635467479,509121242)),equals(D_684542266,353358909)))",
+ "valueIsOneOf(\"D_659799855\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_552410034\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_772382520\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_146307133\",248303092,998679771,638092100,127455035)",
+ "valueIsOneOf(\"D_659799855\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_552410034\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_772382520\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_146307133\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_100591237\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_823402922\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_289302451\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_419151253\",248303092,998679771,638092100,127455035)",
+ "or(equals(D_858178137,353358909),equals(D_635780118,353358909))",
+ "and(doesNotEqual(D_694113343,353358909),doesNotEqual(D_699873889,353358909))",
+ "or(or(isNotDefined(D_962868433,false),isNotDefined(D_108530997,false)),or(isNotDefined(D_110852652,false),isNotDefined(D_867109611,false)))",
+ "exists('D_962868433')",
+ "doesNotExist(\"D_962868433\")",
+ "exists('D_108530997')",
+ "doesNotExist(\"D_108530997\")",
+ "exists('D_110852652')",
+ "doesNotExist(\"D_110852652\")",
+ "exists('D_867109611')",
+ "doesNotExist(\"D_867109611\")",
+ "noneExist(\"D_903896611\",\"D_855583262\") and someExist(\"D_962868433\",\"D_108530997\",\"D_110852652\",\"D_867109611\",\"D_652022112\",\"D_730666903\",\"D_168091937\",\"D_132779701\")",
+ "someExist('D_903896611','D_855583262','D_371588177','D_962868433','D_652022112','D_108530997','D_730666903','D_110852652','D_168091937','D_867109611','D_132779701')",
+ "noneExist('D_903896611','D_855583262','D_371588177','D_962868433','D_652022112','D_108530997','D_730666903','D_110852652','D_168091937','D_867109611','D_132779701')",
+ "or(equals(isNotDefined(D_903896611,''),false),or(equals(isNotDefined(D_855583262,''),false),or(equals(isNotDefined(D_371588177,''),false),or(equals(isNotDefined(D_962868433,''),false),or(equals(isNotDefined(D_652022112,''),false),or(equals(isNotDefined(D_108530997,''),false),or(equals(isNotDefined(D_730666903,''),false),or(equals(isNotDefined(D_110852652,''),false),or(equals(isNotDefined(D_168091937,''),false),or(equals(isNotDefined(D_867109611,''),false),equals(isNotDefined(D_132779701,''),false)))))))))))",
+ "and(equals(isNotDefined(D_903896611,''),true),and(equals(isNotDefined(D_855583262,''),true),and(equals(isNotDefined(D_371588177,''),true),and(equals(isNotDefined(D_962868433,''),true),and(equals(isNotDefined(D_652022112,''),true),and(equals(isNotDefined(D_108530997,''),true),and(equals(isNotDefined(D_730666903,''),true),and(equals(isNotDefined(D_110852652,''),true),and(equals(isNotDefined(D_168091937,''),true),and(equals(isNotDefined(D_867109611,''),true),equals(isNotDefined(D_132779701,''),true)))))))))))",
+ "equals(D_311891586,172103427)",
+ "equals(D_311891586,794959813)",
+ "equals(D_311891586,683306241)",
+ "equals(D_311891586,116442173)",
+ "equals(D_311891586,639735881)",
+ "equals(D_311891586,296254034)",
+ "equals(D_311891586,807973203)",
+ "equals(D_311891586,766970054)",
+ "doesNotEqual(D_564557026,353358909)",
+ "or(doesNotEqual(D_839233937,353358909),doesNotEqual(D_564557026,353358909))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,450075248)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,172103427)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,471142791)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,794959813)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,197093427)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,683306241)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,779421821)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,116442173)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,925663113)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,639735881)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,368973683)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,296254034)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,830201925)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,807973203)),equals(D_564557026,353358909)))",
+ "or(and(doesNotEqual(D_564557026,353358909),equals(D_251048648,572643998)),and(and(doesNotEqual(D_839233937,353358909),equals(D_311891586,766970054)),equals(D_564557026,353358909)))",
+ "or(equals(D_784967158,551525967),equals(D_784967158,738284740))",
+ "and(or(equals(D_784967158,551525967),equals(D_784967158,738284740)),or(or(isNotDefined(D_161170041,false),isNotDefined(D_660217075,false)),or(isNotDefined(D_884494489,false),isNotDefined(D_403679963,false))))",
+ "exists('D_161170041')",
+ "doesNotExist(\"D_161170041\")",
+ "exists('D_660217075')",
+ "doesNotExist(\"D_660217075\")",
+ "exists('D_884494489')",
+ "doesNotExist(\"D_884494489\")",
+ "exists('D_403679963')",
+ "doesNotExist(\"D_403679963\")",
+ "noneExist(\"D_970996351\",\"D_249657148\") and someExist(\"D_161170041\",\"D_660217075\",\"D_884494489\",\"D_403679963\",\"D_225725599\",\"D_977086216\",\"D_997041632\",\"D_147113671\")",
+ "someExist('D_970996351','D_249657148','D_190883115','D_161170041','D_225725599','D_660217075','D_977086216','D_884494489','D_997041632','D_403679963','D_147113671')",
+ "noneExist('D_970996351','D_249657148','D_190883115','D_161170041','D_225725599','D_660217075','D_977086216','D_884494489','D_997041632','D_403679963','D_147113671')",
+ "or(equals(isNotDefined(D_970996351,''),false),or(equals(isNotDefined(D_249657148,''),false),or(equals(isNotDefined(D_190883115,''),false),or(equals(isNotDefined(D_161170041,''),false),or(equals(isNotDefined(D_225725599,''),false),or(equals(isNotDefined(D_660217075,''),false),or(equals(isNotDefined(D_977086216,''),false),or(equals(isNotDefined(D_884494489,''),false),or(equals(isNotDefined(D_997041632,''),false),or(equals(isNotDefined(D_403679963,''),false),equals(isNotDefined(D_147113671,''),false)))))))))))",
+ "and(equals(isNotDefined(D_970996351,''),true),and(equals(isNotDefined(D_249657148,''),true),and(equals(isNotDefined(D_190883115,''),true),and(equals(isNotDefined(D_161170041,''),true),and(equals(isNotDefined(D_225725599,''),true),and(equals(isNotDefined(D_660217075,''),true),and(equals(isNotDefined(D_977086216,''),true),and(equals(isNotDefined(D_884494489,''),true),and(equals(isNotDefined(D_997041632,''),true),and(equals(isNotDefined(D_403679963,''),true),equals(isNotDefined(D_147113671,''),true)))))))))))",
+ "equals(D_404863614,782113721)",
+ "equals(D_404863614,207263450)",
+ "equals(D_404863614,638833327)",
+ "equals(D_404863614,736981982)",
+ "equals(D_404863614,932195315)",
+ "equals(D_404863614,279026426)",
+ "equals(D_404863614,691579493)",
+ "equals(D_404863614,211269389)",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_891237683\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_980695076\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_265423096\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_185533250\",248303092,998679771,638092100,127455035))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_891237683\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_980695076\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_265423096\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_185533250\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_769785846\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_330492115\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_173979298\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_154229258\",248303092,998679771,638092100,127455035))",
+ "and(doesNotEqual(D_496801729,353358909),or(equals(D_784967158,551525967),equals(D_784967158,738284740)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,467242967)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,782113721)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,645051966)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,207263450)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,756061540)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,638833327)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,198883577)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,736981982)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,634680635)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,932195315)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,790657437)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,279026426)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,107428524)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,691579493)),equals(D_496801729,353358909)))",
+ "or(and(doesNotEqual(D_496801729,353358909),equals(D_345355061,804918983)),and(and(doesNotEqual(D_230528407,353358909),equals(D_404863614,211269389)),equals(D_496801729,353358909)))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_990162153\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_576149634\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_291458877\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453417964\",248303092,998679771,638092100,127455035))",
+ "valueIsOneOf(\"D_784967158\",551525967,738284740) and (valueIsOneOf(\"D_990162153\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_576149634\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_291458877\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_453417964\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_550646850\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_949549557\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_214274185\",248303092,998679771,638092100,127455035) or valueIsOneOf(\"D_533003859\",248303092,998679771,638092100,127455035))"
+ ],
+ "sitesByScope": {
+ "element": 104,
+ "inline": 683,
+ "question": 230,
+ "response": 330
+ },
+ "sitesByAttribute": {
+ "displayif": 1347
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 367,
+ "processorQuestionCount": 367,
+ "processedQuestionCount": 367,
+ "renderedFormCount": 367,
+ "controlCount": 2818,
+ "responseControlCount": 1677,
+ "explicitTransitionCount": 259,
+ "sequentialAdjacencyCount": 366,
+ "resolvedExplicitTransitionCount": 259,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1347,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 478
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleBiospecimen",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleBiospecimen.txt",
+ "sha256": "3511079715fecaf0498d2a3f197f3cce400a9a4674af0947ff740b68ddfb5d22",
+ "questName": "D_299215535",
+ "version": "1.4",
+ "authoredMarkerCount": 52,
+ "runtimeQuestionIds": [
+ "SRVBIO_MODULEINTRO_V1R0",
+ "D_522008539?",
+ "D_470484596?",
+ "D_867307558?",
+ "D_191057574_V2?",
+ "D_299417266_V2?",
+ "D_689861450_V2?",
+ "D_487532606",
+ "SRVBLU_REPROINTRO_V1R0",
+ "D_380603392!",
+ "D_112151599!",
+ "D_644459734!",
+ "D_518916981?",
+ "D_234714655?",
+ "D_798452445?",
+ "D_563539159?",
+ "D_875535246?",
+ "D_130311122?",
+ "D_350251057?",
+ "D_877878167?",
+ "D_800703566?",
+ "D_294886836?",
+ "D_642044281?",
+ "D_479143504?",
+ "D_498984275?",
+ "D_205713835?",
+ "D_353467497?",
+ "D_429994023?",
+ "D_499977481?",
+ "D_406270109?",
+ "D_349659426?",
+ "D_766370065?",
+ "D_520416570?",
+ "D_921972241?",
+ "D_526973271?",
+ "D_460873842?",
+ "D_430060900?",
+ "D_800752981?",
+ "D_899251483_V2?",
+ "D_724589244?",
+ "D_957305523?",
+ "D_360678252?",
+ "D_542661394?",
+ "D_339570897?",
+ "D_983043203?",
+ "D_736028153?",
+ "D_792134396?",
+ "D_736393021?",
+ "D_318641324?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 31,
+ "date": 1,
+ "radio": 168,
+ "time": 3
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_299417266_V2",
+ "D_518916981",
+ "D_798452445",
+ "D_875535246",
+ "D_498984275",
+ "D_205713835",
+ "D_353467497",
+ "D_429994023",
+ "D_499977481",
+ "D_406270109",
+ "D_349659426",
+ "D_766370065",
+ "D_520416570",
+ "D_921972241",
+ "D_526973271",
+ "D_460873842",
+ "D_430060900",
+ "D_800752981",
+ "D_724589244",
+ "D_957305523",
+ "D_360678252",
+ "END"
+ ],
+ "byKind": {
+ "no-response": 1,
+ "response": 24
+ },
+ "byResolution": {
+ "exact": 22,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "checkbox": 17,
+ "hidden": 1,
+ "radio": 7
+ },
+ "triggerValues": [
+ "330461666",
+ "104430631",
+ "353358909",
+ "203919683",
+ "807884576",
+ "165596977",
+ "578402172",
+ "184513726",
+ "390351864",
+ "950773275",
+ "762727133",
+ "877842367",
+ "886771318",
+ "404389800",
+ "463302301",
+ "259744087",
+ "523660949",
+ "812107266",
+ "452438775",
+ "886864375",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_522008539,536341288)",
+ "equals(D_518916981,104430631)",
+ "equals(D_479143504,203919683)",
+ "equals(D_479143504,807884576)",
+ "equals(D_479143504,165596977)",
+ "equals(D_479143504,578402172)",
+ "equals(D_479143504,184513726)",
+ "equals(D_479143504,390351864)",
+ "equals(D_406270109,950773275)",
+ "equals(D_406270109,762727133)",
+ "equals(D_406270109,877842367)",
+ "equals(D_406270109,886771318)",
+ "equals(D_406270109,404389800)",
+ "equals(D_406270109,463302301)",
+ "equals(D_406270109,259744087)",
+ "equals(D_406270109,523660949)",
+ "equals(D_899251483_V2,812107266)",
+ "equals(D_899251483_V2,452438775)",
+ "equals(D_899251483_V2,886864375)"
+ ],
+ "sitesByScope": {
+ "question": 27
+ },
+ "sitesByAttribute": {
+ "displayif": 27
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_487532606",
+ "questionIndex": 7,
+ "rowQuestionIds": [
+ "D_619765650",
+ "D_520755310",
+ "D_839329467"
+ ],
+ "rowCount": 3,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "974230748",
+ "936042740",
+ "731141335",
+ "591670915"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 52,
+ "processorQuestionCount": 50,
+ "processedQuestionCount": 50,
+ "renderedFormCount": 50,
+ "controlCount": 350,
+ "responseControlCount": 203,
+ "explicitTransitionCount": 25,
+ "sequentialAdjacencyCount": 49,
+ "resolvedExplicitTransitionCount": 25,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 27,
+ "gridQuestionCount": 1,
+ "gridRowCount": 3,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 19
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleBiospecimen",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleBiospecimenSpanish.txt",
+ "sha256": "16f3ae9976bc65506da60281fe17e27f6701109e6a5b67d9b65e044805259192",
+ "questName": "D_299215535",
+ "version": "1.4",
+ "authoredMarkerCount": 53,
+ "runtimeQuestionIds": [
+ "SRVBIO_MODULEINTRO_V1R0",
+ "D_522008539?",
+ "D_470484596?",
+ "D_867307558?",
+ "D_191057574_V2?",
+ "D_299417266_V2?",
+ "D_689861450_V2?",
+ "D_487532606",
+ "SRVBLU_REPROINTRO_V1R0",
+ "D_380603392!",
+ "D_112151599!",
+ "D_644459734!",
+ "D_518916981?",
+ "D_234714655?",
+ "D_798452445?",
+ "D_563539159?",
+ "D_875535246?",
+ "D_130311122?",
+ "SRVMTW_MODULEINTRO_V1R0",
+ "D_350251057?",
+ "D_877878167?",
+ "D_800703566?",
+ "D_294886836?",
+ "D_642044281?",
+ "D_479143504?",
+ "D_498984275?",
+ "D_205713835?",
+ "D_353467497?",
+ "D_429994023?",
+ "D_499977481?",
+ "D_406270109?",
+ "D_349659426?",
+ "D_766370065?",
+ "D_520416570?",
+ "D_921972241?",
+ "D_526973271?",
+ "D_460873842?",
+ "D_430060900?",
+ "D_800752981?",
+ "D_899251483_V2?",
+ "D_724589244?",
+ "D_957305523?",
+ "D_360678252?",
+ "D_542661394?",
+ "D_339570897?",
+ "D_983043203?",
+ "D_736028153?",
+ "D_792134396?",
+ "D_736393021?",
+ "D_318641324?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 31,
+ "date": 1,
+ "radio": 168,
+ "time": 3
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_299417266_V2",
+ "D_518916981",
+ "D_798452445",
+ "D_875535246",
+ "D_498984275",
+ "D_205713835",
+ "D_353467497",
+ "D_429994023",
+ "D_499977481",
+ "D_406270109",
+ "D_349659426",
+ "D_766370065",
+ "D_520416570",
+ "D_921972241",
+ "D_526973271",
+ "D_460873842",
+ "D_430060900",
+ "D_800752981",
+ "D_724589244",
+ "D_957305523",
+ "D_360678252",
+ "END"
+ ],
+ "byKind": {
+ "no-response": 1,
+ "response": 24
+ },
+ "byResolution": {
+ "exact": 22,
+ "terminal": 3
+ },
+ "triggerTypes": {
+ "checkbox": 17,
+ "hidden": 1,
+ "radio": 7
+ },
+ "triggerValues": [
+ "330461666",
+ "104430631",
+ "353358909",
+ "203919683",
+ "807884576",
+ "165596977",
+ "578402172",
+ "184513726",
+ "390351864",
+ "950773275",
+ "762727133",
+ "877842367",
+ "886771318",
+ "404389800",
+ "463302301",
+ "259744087",
+ "523660949",
+ "812107266",
+ "452438775",
+ "886864375",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_522008539,536341288)",
+ "equals(D_518916981,104430631)",
+ "equals(D_479143504,203919683)",
+ "equals(D_479143504,807884576)",
+ "equals(D_479143504,165596977)",
+ "equals(D_479143504,578402172)",
+ "equals(D_479143504,184513726)",
+ "equals(D_479143504,390351864)",
+ "equals(D_406270109,950773275)",
+ "equals(D_406270109,762727133)",
+ "equals(D_406270109,877842367)",
+ "equals(D_406270109,886771318)",
+ "equals(D_406270109,404389800)",
+ "equals(D_406270109,463302301)",
+ "equals(D_406270109,259744087)",
+ "equals(D_406270109,523660949)",
+ "equals(D_899251483_V2,812107266)",
+ "equals(D_899251483_V2,452438775)",
+ "equals(D_899251483_V2,886864375)"
+ ],
+ "sitesByScope": {
+ "question": 27
+ },
+ "sitesByAttribute": {
+ "displayif": 27
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_487532606",
+ "questionIndex": 7,
+ "rowQuestionIds": [
+ "D_619765650",
+ "D_520755310",
+ "D_839329467"
+ ],
+ "rowCount": 3,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "974230748",
+ "936042740",
+ "731141335",
+ "591670915"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 53,
+ "processorQuestionCount": 51,
+ "processedQuestionCount": 51,
+ "renderedFormCount": 51,
+ "controlCount": 352,
+ "responseControlCount": 203,
+ "explicitTransitionCount": 25,
+ "sequentialAdjacencyCount": 50,
+ "resolvedExplicitTransitionCount": 25,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 27,
+ "gridQuestionCount": 1,
+ "gridRowCount": 3,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 19
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleCOVID19",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleCOVID19.txt",
+ "sha256": "5d3dfa29799998557fd85d168869f9b1f122d3d957f443a7a423ec12304c6426",
+ "questName": "D_793330426",
+ "version": "1.3",
+ "authoredMarkerCount": 97,
+ "runtimeQuestionIds": [
+ "SRVCOV_COVIDINTRO_V1R0",
+ "D_494226443?",
+ "D_860011428?",
+ "D_980800222_V2_1_1!",
+ "D_366980310_1_1?",
+ "D_498462481_1_1?",
+ "D_694503437_1_1?",
+ "D_451163824_1_1?",
+ "D_705336878_1_1?",
+ "D_928530823_1_1?",
+ "D_108733102_1_1?",
+ "D_389465772_1_1?",
+ "D_775313030_1_1?",
+ "D_744230001_1_1?",
+ "D_782396371_1_1?",
+ "D_930944000_1_1?",
+ "D_984121390_1_1?",
+ "D_430166879_1_1?",
+ "D_179406442_1_1?",
+ "D_803339020_1_1?",
+ "D_893966847_1_1?",
+ "D_169509213_1_1?",
+ "SRVCOV_COVSUMMARY_V1R0_1_1",
+ "D_980800222_V2_2_2!",
+ "D_366980310_2_2?",
+ "D_498462481_2_2?",
+ "D_694503437_2_2?",
+ "D_451163824_2_2?",
+ "D_705336878_2_2?",
+ "D_928530823_2_2?",
+ "D_108733102_2_2?",
+ "D_389465772_2_2?",
+ "D_775313030_2_2?",
+ "D_744230001_2_2?",
+ "D_782396371_2_2?",
+ "D_930944000_2_2?",
+ "D_984121390_2_2?",
+ "D_430166879_2_2?",
+ "D_179406442_2_2?",
+ "D_803339020_2_2?",
+ "D_893966847_2_2?",
+ "D_169509213_2_2?",
+ "SRVCOV_COVSUMMARY_V1R0_2_2",
+ "D_980800222_V2_3_3!",
+ "D_366980310_3_3?",
+ "D_498462481_3_3?",
+ "D_694503437_3_3?",
+ "D_451163824_3_3?",
+ "D_705336878_3_3?",
+ "D_928530823_3_3?",
+ "D_108733102_3_3?",
+ "D_389465772_3_3?",
+ "D_775313030_3_3?",
+ "D_744230001_3_3?",
+ "D_782396371_3_3?",
+ "D_930944000_3_3?",
+ "D_984121390_3_3?",
+ "D_430166879_3_3?",
+ "D_179406442_3_3?",
+ "D_803339020_3_3?",
+ "D_893966847_3_3?",
+ "D_169509213_3_3?",
+ "SRVCOV_COVSUMMARY_V1R0_3_3",
+ "D_980800222_V2_4_4!",
+ "D_366980310_4_4?",
+ "D_498462481_4_4?",
+ "D_694503437_4_4?",
+ "D_451163824_4_4?",
+ "D_705336878_4_4?",
+ "D_928530823_4_4?",
+ "D_108733102_4_4?",
+ "D_389465772_4_4?",
+ "D_775313030_4_4?",
+ "D_744230001_4_4?",
+ "D_782396371_4_4?",
+ "D_930944000_4_4?",
+ "D_984121390_4_4?",
+ "D_430166879_4_4?",
+ "D_179406442_4_4?",
+ "D_803339020_4_4?",
+ "D_893966847_4_4?",
+ "D_169509213_4_4?",
+ "SRVCOV_COVSUMMARY_V1R0_4_4",
+ "D_980800222_V2_5_5!",
+ "D_366980310_5_5?",
+ "D_498462481_5_5?",
+ "D_694503437_5_5?",
+ "D_451163824_5_5?",
+ "D_705336878_5_5?",
+ "D_928530823_5_5?",
+ "D_108733102_5_5?",
+ "D_389465772_5_5?",
+ "D_775313030_5_5?",
+ "D_744230001_5_5?",
+ "D_782396371_5_5?",
+ "D_930944000_5_5?",
+ "D_984121390_5_5?",
+ "D_430166879_5_5?",
+ "D_179406442_5_5?",
+ "D_803339020_5_5?",
+ "D_893966847_5_5?",
+ "D_169509213_5_5?",
+ "SRVCOV_COVSUMMARY_V1R0_5_5",
+ "D_980800222_V2_6_6!",
+ "D_366980310_6_6?",
+ "D_498462481_6_6?",
+ "D_694503437_6_6?",
+ "D_451163824_6_6?",
+ "D_705336878_6_6?",
+ "D_928530823_6_6?",
+ "D_108733102_6_6?",
+ "D_389465772_6_6?",
+ "D_775313030_6_6?",
+ "D_744230001_6_6?",
+ "D_782396371_6_6?",
+ "D_930944000_6_6?",
+ "D_984121390_6_6?",
+ "D_430166879_6_6?",
+ "D_179406442_6_6?",
+ "D_803339020_6_6?",
+ "D_893966847_6_6?",
+ "D_169509213_6_6?",
+ "SRVCOV_COVSUMMARY_V1R0_6_6",
+ "D_980800222_V2_7_7!",
+ "D_366980310_7_7?",
+ "D_498462481_7_7?",
+ "D_694503437_7_7?",
+ "D_451163824_7_7?",
+ "D_705336878_7_7?",
+ "D_928530823_7_7?",
+ "D_108733102_7_7?",
+ "D_389465772_7_7?",
+ "D_775313030_7_7?",
+ "D_744230001_7_7?",
+ "D_782396371_7_7?",
+ "D_930944000_7_7?",
+ "D_984121390_7_7?",
+ "D_430166879_7_7?",
+ "D_179406442_7_7?",
+ "D_803339020_7_7?",
+ "D_893966847_7_7?",
+ "D_169509213_7_7?",
+ "SRVCOV_COVSUMMARY_V1R0_7_7",
+ "D_980800222_V2_8_8!",
+ "D_366980310_8_8?",
+ "D_498462481_8_8?",
+ "D_694503437_8_8?",
+ "D_451163824_8_8?",
+ "D_705336878_8_8?",
+ "D_928530823_8_8?",
+ "D_108733102_8_8?",
+ "D_389465772_8_8?",
+ "D_775313030_8_8?",
+ "D_744230001_8_8?",
+ "D_782396371_8_8?",
+ "D_930944000_8_8?",
+ "D_984121390_8_8?",
+ "D_430166879_8_8?",
+ "D_179406442_8_8?",
+ "D_803339020_8_8?",
+ "D_893966847_8_8?",
+ "D_169509213_8_8?",
+ "SRVCOV_COVSUMMARY_V1R0_8_8",
+ "D_980800222_V2_9_9!",
+ "D_366980310_9_9?",
+ "D_498462481_9_9?",
+ "D_694503437_9_9?",
+ "D_451163824_9_9?",
+ "D_705336878_9_9?",
+ "D_928530823_9_9?",
+ "D_108733102_9_9?",
+ "D_389465772_9_9?",
+ "D_775313030_9_9?",
+ "D_744230001_9_9?",
+ "D_782396371_9_9?",
+ "D_930944000_9_9?",
+ "D_984121390_9_9?",
+ "D_430166879_9_9?",
+ "D_179406442_9_9?",
+ "D_803339020_9_9?",
+ "D_893966847_9_9?",
+ "D_169509213_9_9?",
+ "SRVCOV_COVSUMMARY_V1R0_9_9",
+ "D_980800222_V2_10_10!",
+ "D_366980310_10_10?",
+ "D_498462481_10_10?",
+ "D_694503437_10_10?",
+ "D_451163824_10_10?",
+ "D_705336878_10_10?",
+ "D_928530823_10_10?",
+ "D_108733102_10_10?",
+ "D_389465772_10_10?",
+ "D_775313030_10_10?",
+ "D_744230001_10_10?",
+ "D_782396371_10_10?",
+ "D_930944000_10_10?",
+ "D_984121390_10_10?",
+ "D_430166879_10_10?",
+ "D_179406442_10_10?",
+ "D_803339020_10_10?",
+ "D_893966847_10_10?",
+ "D_169509213_10_10?",
+ "SRVCOV_COVSUMMARY_V1R0_10_10",
+ "D_980800222_V2_11_11!",
+ "D_366980310_11_11?",
+ "D_498462481_11_11?",
+ "D_694503437_11_11?",
+ "D_451163824_11_11?",
+ "D_705336878_11_11?",
+ "D_928530823_11_11?",
+ "D_108733102_11_11?",
+ "D_389465772_11_11?",
+ "D_775313030_11_11?",
+ "D_744230001_11_11?",
+ "D_782396371_11_11?",
+ "D_930944000_11_11?",
+ "D_984121390_11_11?",
+ "D_430166879_11_11?",
+ "D_179406442_11_11?",
+ "D_803339020_11_11?",
+ "D_893966847_11_11?",
+ "D_169509213_11_11?",
+ "SRVCOV_COVSUMMARY_V1R0_11_11",
+ "D_980800222_V2_12_12!",
+ "D_366980310_12_12?",
+ "D_498462481_12_12?",
+ "D_694503437_12_12?",
+ "D_451163824_12_12?",
+ "D_705336878_12_12?",
+ "D_928530823_12_12?",
+ "D_108733102_12_12?",
+ "D_389465772_12_12?",
+ "D_775313030_12_12?",
+ "D_744230001_12_12?",
+ "D_782396371_12_12?",
+ "D_930944000_12_12?",
+ "D_984121390_12_12?",
+ "D_430166879_12_12?",
+ "D_179406442_12_12?",
+ "D_803339020_12_12?",
+ "D_893966847_12_12?",
+ "D_169509213_12_12?",
+ "SRVCOV_COVSUMMARY_V1R0_12_12",
+ "D_980800222_V2_13_13!",
+ "D_366980310_13_13?",
+ "D_498462481_13_13?",
+ "D_694503437_13_13?",
+ "D_451163824_13_13?",
+ "D_705336878_13_13?",
+ "D_928530823_13_13?",
+ "D_108733102_13_13?",
+ "D_389465772_13_13?",
+ "D_775313030_13_13?",
+ "D_744230001_13_13?",
+ "D_782396371_13_13?",
+ "D_930944000_13_13?",
+ "D_984121390_13_13?",
+ "D_430166879_13_13?",
+ "D_179406442_13_13?",
+ "D_803339020_13_13?",
+ "D_893966847_13_13?",
+ "D_169509213_13_13?",
+ "SRVCOV_COVSUMMARY_V1R0_13_13",
+ "D_980800222_V2_14_14!",
+ "D_366980310_14_14?",
+ "D_498462481_14_14?",
+ "D_694503437_14_14?",
+ "D_451163824_14_14?",
+ "D_705336878_14_14?",
+ "D_928530823_14_14?",
+ "D_108733102_14_14?",
+ "D_389465772_14_14?",
+ "D_775313030_14_14?",
+ "D_744230001_14_14?",
+ "D_782396371_14_14?",
+ "D_930944000_14_14?",
+ "D_984121390_14_14?",
+ "D_430166879_14_14?",
+ "D_179406442_14_14?",
+ "D_803339020_14_14?",
+ "D_893966847_14_14?",
+ "D_169509213_14_14?",
+ "SRVCOV_COVSUMMARY_V1R0_14_14",
+ "D_980800222_V2_15_15!",
+ "D_366980310_15_15?",
+ "D_498462481_15_15?",
+ "D_694503437_15_15?",
+ "D_451163824_15_15?",
+ "D_705336878_15_15?",
+ "D_928530823_15_15?",
+ "D_108733102_15_15?",
+ "D_389465772_15_15?",
+ "D_775313030_15_15?",
+ "D_744230001_15_15?",
+ "D_782396371_15_15?",
+ "D_930944000_15_15?",
+ "D_984121390_15_15?",
+ "D_430166879_15_15?",
+ "D_179406442_15_15?",
+ "D_803339020_15_15?",
+ "D_893966847_15_15?",
+ "D_169509213_15_15?",
+ "SRVCOV_COVSUMMARY_V1R0_15_15",
+ "D_980800222_V2_16_16!",
+ "D_366980310_16_16?",
+ "D_498462481_16_16?",
+ "D_694503437_16_16?",
+ "D_451163824_16_16?",
+ "D_705336878_16_16?",
+ "D_928530823_16_16?",
+ "D_108733102_16_16?",
+ "D_389465772_16_16?",
+ "D_775313030_16_16?",
+ "D_744230001_16_16?",
+ "D_782396371_16_16?",
+ "D_930944000_16_16?",
+ "D_984121390_16_16?",
+ "D_430166879_16_16?",
+ "D_179406442_16_16?",
+ "D_803339020_16_16?",
+ "D_893966847_16_16?",
+ "D_169509213_16_16?",
+ "SRVCOV_COVSUMMARY_V1R0_16_16",
+ "D_980800222_V2_17_17!",
+ "D_366980310_17_17?",
+ "D_498462481_17_17?",
+ "D_694503437_17_17?",
+ "D_451163824_17_17?",
+ "D_705336878_17_17?",
+ "D_928530823_17_17?",
+ "D_108733102_17_17?",
+ "D_389465772_17_17?",
+ "D_775313030_17_17?",
+ "D_744230001_17_17?",
+ "D_782396371_17_17?",
+ "D_930944000_17_17?",
+ "D_984121390_17_17?",
+ "D_430166879_17_17?",
+ "D_179406442_17_17?",
+ "D_803339020_17_17?",
+ "D_893966847_17_17?",
+ "D_169509213_17_17?",
+ "SRVCOV_COVSUMMARY_V1R0_17_17",
+ "D_980800222_V2_18_18!",
+ "D_366980310_18_18?",
+ "D_498462481_18_18?",
+ "D_694503437_18_18?",
+ "D_451163824_18_18?",
+ "D_705336878_18_18?",
+ "D_928530823_18_18?",
+ "D_108733102_18_18?",
+ "D_389465772_18_18?",
+ "D_775313030_18_18?",
+ "D_744230001_18_18?",
+ "D_782396371_18_18?",
+ "D_930944000_18_18?",
+ "D_984121390_18_18?",
+ "D_430166879_18_18?",
+ "D_179406442_18_18?",
+ "D_803339020_18_18?",
+ "D_893966847_18_18?",
+ "D_169509213_18_18?",
+ "SRVCOV_COVSUMMARY_V1R0_18_18",
+ "D_980800222_V2_19_19!",
+ "D_366980310_19_19?",
+ "D_498462481_19_19?",
+ "D_694503437_19_19?",
+ "D_451163824_19_19?",
+ "D_705336878_19_19?",
+ "D_928530823_19_19?",
+ "D_108733102_19_19?",
+ "D_389465772_19_19?",
+ "D_775313030_19_19?",
+ "D_744230001_19_19?",
+ "D_782396371_19_19?",
+ "D_930944000_19_19?",
+ "D_984121390_19_19?",
+ "D_430166879_19_19?",
+ "D_179406442_19_19?",
+ "D_803339020_19_19?",
+ "D_893966847_19_19?",
+ "D_169509213_19_19?",
+ "SRVCOV_COVSUMMARY_V1R0_19_19",
+ "D_980800222_V2_20_20!",
+ "D_366980310_20_20?",
+ "D_498462481_20_20?",
+ "D_694503437_20_20?",
+ "D_451163824_20_20?",
+ "D_705336878_20_20?",
+ "D_928530823_20_20?",
+ "D_108733102_20_20?",
+ "D_389465772_20_20?",
+ "D_775313030_20_20?",
+ "D_744230001_20_20?",
+ "D_782396371_20_20?",
+ "D_930944000_20_20?",
+ "D_984121390_20_20?",
+ "D_430166879_20_20?",
+ "D_179406442_20_20?",
+ "D_803339020_20_20?",
+ "D_893966847_20_20?",
+ "D_169509213_20_20?",
+ "SRVCOV_COVSUMMARY_V1R0_20_20",
+ "D_980800222_V2_21_21!",
+ "D_366980310_21_21?",
+ "D_498462481_21_21?",
+ "D_694503437_21_21?",
+ "D_451163824_21_21?",
+ "D_705336878_21_21?",
+ "D_928530823_21_21?",
+ "D_108733102_21_21?",
+ "D_389465772_21_21?",
+ "D_775313030_21_21?",
+ "D_744230001_21_21?",
+ "D_782396371_21_21?",
+ "D_930944000_21_21?",
+ "D_984121390_21_21?",
+ "D_430166879_21_21?",
+ "D_179406442_21_21?",
+ "D_803339020_21_21?",
+ "D_893966847_21_21?",
+ "D_169509213_21_21?",
+ "SRVCOV_COVSUMMARY_V1R0_21_21",
+ "D_980800222_V2_22_22!",
+ "D_366980310_22_22?",
+ "D_498462481_22_22?",
+ "D_694503437_22_22?",
+ "D_451163824_22_22?",
+ "D_705336878_22_22?",
+ "D_928530823_22_22?",
+ "D_108733102_22_22?",
+ "D_389465772_22_22?",
+ "D_775313030_22_22?",
+ "D_744230001_22_22?",
+ "D_782396371_22_22?",
+ "D_930944000_22_22?",
+ "D_984121390_22_22?",
+ "D_430166879_22_22?",
+ "D_179406442_22_22?",
+ "D_803339020_22_22?",
+ "D_893966847_22_22?",
+ "D_169509213_22_22?",
+ "SRVCOV_COVSUMMARY_V1R0_22_22",
+ "D_980800222_V2_23_23!",
+ "D_366980310_23_23?",
+ "D_498462481_23_23?",
+ "D_694503437_23_23?",
+ "D_451163824_23_23?",
+ "D_705336878_23_23?",
+ "D_928530823_23_23?",
+ "D_108733102_23_23?",
+ "D_389465772_23_23?",
+ "D_775313030_23_23?",
+ "D_744230001_23_23?",
+ "D_782396371_23_23?",
+ "D_930944000_23_23?",
+ "D_984121390_23_23?",
+ "D_430166879_23_23?",
+ "D_179406442_23_23?",
+ "D_803339020_23_23?",
+ "D_893966847_23_23?",
+ "D_169509213_23_23?",
+ "SRVCOV_COVSUMMARY_V1R0_23_23",
+ "D_980800222_V2_24_24!",
+ "D_366980310_24_24?",
+ "D_498462481_24_24?",
+ "D_694503437_24_24?",
+ "D_451163824_24_24?",
+ "D_705336878_24_24?",
+ "D_928530823_24_24?",
+ "D_108733102_24_24?",
+ "D_389465772_24_24?",
+ "D_775313030_24_24?",
+ "D_744230001_24_24?",
+ "D_782396371_24_24?",
+ "D_930944000_24_24?",
+ "D_984121390_24_24?",
+ "D_430166879_24_24?",
+ "D_179406442_24_24?",
+ "D_803339020_24_24?",
+ "D_893966847_24_24?",
+ "D_169509213_24_24?",
+ "SRVCOV_COVSUMMARY_V1R0_24_24",
+ "D_980800222_V2_25_25!",
+ "D_366980310_25_25?",
+ "D_498462481_25_25?",
+ "D_694503437_25_25?",
+ "D_451163824_25_25?",
+ "D_705336878_25_25?",
+ "D_928530823_25_25?",
+ "D_108733102_25_25?",
+ "D_389465772_25_25?",
+ "D_775313030_25_25?",
+ "D_744230001_25_25?",
+ "D_782396371_25_25?",
+ "D_930944000_25_25?",
+ "D_984121390_25_25?",
+ "D_430166879_25_25?",
+ "D_179406442_25_25?",
+ "D_803339020_25_25?",
+ "D_893966847_25_25?",
+ "D_169509213_25_25?",
+ "SRVCOV_COVSUMMARY_V1R0_25_25",
+ "END_OF_LOOP",
+ "COV19_SKIP",
+ "D_847578001",
+ "D_136730307",
+ "D_751358419",
+ "D_110872086?",
+ "D_591826144?",
+ "COV20_SKIP",
+ "D_114280729",
+ "COV20A17_SKIP",
+ "D_934384452?",
+ "D_273371161?",
+ "D_959877599?",
+ "COV23_SKIP",
+ "D_813989715",
+ "D_857165713",
+ "D_749956170",
+ "SRVCOV_COV25INTRO_V1R0",
+ "D_890156588_V2?",
+ "D_877074400_V2?",
+ "D_715581797_V2_1_1?",
+ "D_220055064_1_1?",
+ "SRVCOV_COV29_V1R0_1_1",
+ "D_715581797_V2_2_2?",
+ "D_220055064_2_2?",
+ "SRVCOV_COV29_V1R0_2_2",
+ "D_715581797_V2_3_3?",
+ "D_220055064_3_3?",
+ "SRVCOV_COV29_V1R0_3_3",
+ "D_715581797_V2_4_4?",
+ "D_220055064_4_4?",
+ "SRVCOV_COV29_V1R0_4_4",
+ "D_715581797_V2_5_5?",
+ "D_220055064_5_5?",
+ "SRVCOV_COV29_V1R0_5_5",
+ "D_715581797_V2_6_6?",
+ "D_220055064_6_6?",
+ "SRVCOV_COV29_V1R0_6_6",
+ "D_715581797_V2_7_7?",
+ "D_220055064_7_7?",
+ "SRVCOV_COV29_V1R0_7_7",
+ "D_715581797_V2_8_8?",
+ "D_220055064_8_8?",
+ "SRVCOV_COV29_V1R0_8_8",
+ "D_715581797_V2_9_9?",
+ "D_220055064_9_9?",
+ "SRVCOV_COV29_V1R0_9_9",
+ "D_715581797_V2_10_10?",
+ "D_220055064_10_10?",
+ "SRVCOV_COV29_V1R0_10_10",
+ "D_715581797_V2_11_11?",
+ "D_220055064_11_11?",
+ "SRVCOV_COV29_V1R0_11_11",
+ "D_715581797_V2_12_12?",
+ "D_220055064_12_12?",
+ "SRVCOV_COV29_V1R0_12_12",
+ "D_715581797_V2_13_13?",
+ "D_220055064_13_13?",
+ "SRVCOV_COV29_V1R0_13_13",
+ "D_715581797_V2_14_14?",
+ "D_220055064_14_14?",
+ "SRVCOV_COV29_V1R0_14_14",
+ "D_715581797_V2_15_15?",
+ "D_220055064_15_15?",
+ "SRVCOV_COV29_V1R0_15_15",
+ "D_715581797_V2_16_16?",
+ "D_220055064_16_16?",
+ "SRVCOV_COV29_V1R0_16_16",
+ "D_715581797_V2_17_17?",
+ "D_220055064_17_17?",
+ "SRVCOV_COV29_V1R0_17_17",
+ "D_715581797_V2_18_18?",
+ "D_220055064_18_18?",
+ "SRVCOV_COV29_V1R0_18_18",
+ "D_715581797_V2_19_19?",
+ "D_220055064_19_19?",
+ "SRVCOV_COV29_V1R0_19_19",
+ "D_715581797_V2_20_20?",
+ "D_220055064_20_20?",
+ "SRVCOV_COV29_V1R0_20_20",
+ "D_715581797_V2_21_21?",
+ "D_220055064_21_21?",
+ "SRVCOV_COV29_V1R0_21_21",
+ "D_715581797_V2_22_22?",
+ "D_220055064_22_22?",
+ "SRVCOV_COV29_V1R0_22_22",
+ "D_715581797_V2_23_23?",
+ "D_220055064_23_23?",
+ "SRVCOV_COV29_V1R0_23_23",
+ "D_715581797_V2_24_24?",
+ "D_220055064_24_24?",
+ "SRVCOV_COV29_V1R0_24_24",
+ "D_715581797_V2_25_25?",
+ "D_220055064_25_25?",
+ "SRVCOV_COV29_V1R0_25_25",
+ "END_OF_LOOP",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 475,
+ "month": 50,
+ "number": 129,
+ "radio": 1265,
+ "text": 51
+ },
+ "explicitTransitions": {
+ "targets": [
+ "COV23_SKIP",
+ "D_694503437_1_1",
+ "D_498462481_1_1",
+ "SRVCOV_COVSUMMARY_V1R0_1_1",
+ "D_984121390_1_1",
+ "D_179406442_1_1",
+ "D_893966847_1_1",
+ "_CONTINUE1_1_1",
+ "D_694503437_2_2",
+ "D_498462481_2_2",
+ "SRVCOV_COVSUMMARY_V1R0_2_2",
+ "D_984121390_2_2",
+ "D_179406442_2_2",
+ "D_893966847_2_2",
+ "_CONTINUE1_2_2",
+ "D_694503437_3_3",
+ "D_498462481_3_3",
+ "SRVCOV_COVSUMMARY_V1R0_3_3",
+ "D_984121390_3_3",
+ "D_179406442_3_3",
+ "D_893966847_3_3",
+ "_CONTINUE1_3_3",
+ "D_694503437_4_4",
+ "D_498462481_4_4",
+ "SRVCOV_COVSUMMARY_V1R0_4_4",
+ "D_984121390_4_4",
+ "D_179406442_4_4",
+ "D_893966847_4_4",
+ "_CONTINUE1_4_4",
+ "D_694503437_5_5",
+ "D_498462481_5_5",
+ "SRVCOV_COVSUMMARY_V1R0_5_5",
+ "D_984121390_5_5",
+ "D_179406442_5_5",
+ "D_893966847_5_5",
+ "_CONTINUE1_5_5",
+ "D_694503437_6_6",
+ "D_498462481_6_6",
+ "SRVCOV_COVSUMMARY_V1R0_6_6",
+ "D_984121390_6_6",
+ "D_179406442_6_6",
+ "D_893966847_6_6",
+ "_CONTINUE1_6_6",
+ "D_694503437_7_7",
+ "D_498462481_7_7",
+ "SRVCOV_COVSUMMARY_V1R0_7_7",
+ "D_984121390_7_7",
+ "D_179406442_7_7",
+ "D_893966847_7_7",
+ "_CONTINUE1_7_7",
+ "D_694503437_8_8",
+ "D_498462481_8_8",
+ "SRVCOV_COVSUMMARY_V1R0_8_8",
+ "D_984121390_8_8",
+ "D_179406442_8_8",
+ "D_893966847_8_8",
+ "_CONTINUE1_8_8",
+ "D_694503437_9_9",
+ "D_498462481_9_9",
+ "SRVCOV_COVSUMMARY_V1R0_9_9",
+ "D_984121390_9_9",
+ "D_179406442_9_9",
+ "D_893966847_9_9",
+ "_CONTINUE1_9_9",
+ "D_694503437_10_10",
+ "D_498462481_10_10",
+ "SRVCOV_COVSUMMARY_V1R0_10_10",
+ "D_984121390_10_10",
+ "D_179406442_10_10",
+ "D_893966847_10_10",
+ "_CONTINUE1_10_10",
+ "D_694503437_11_11",
+ "D_498462481_11_11",
+ "SRVCOV_COVSUMMARY_V1R0_11_11",
+ "D_984121390_11_11",
+ "D_179406442_11_11",
+ "D_893966847_11_11",
+ "_CONTINUE1_11_11",
+ "D_694503437_12_12",
+ "D_498462481_12_12",
+ "SRVCOV_COVSUMMARY_V1R0_12_12",
+ "D_984121390_12_12",
+ "D_179406442_12_12",
+ "D_893966847_12_12",
+ "_CONTINUE1_12_12",
+ "D_694503437_13_13",
+ "D_498462481_13_13",
+ "SRVCOV_COVSUMMARY_V1R0_13_13",
+ "D_984121390_13_13",
+ "D_179406442_13_13",
+ "D_893966847_13_13",
+ "_CONTINUE1_13_13",
+ "D_694503437_14_14",
+ "D_498462481_14_14",
+ "SRVCOV_COVSUMMARY_V1R0_14_14",
+ "D_984121390_14_14",
+ "D_179406442_14_14",
+ "D_893966847_14_14",
+ "_CONTINUE1_14_14",
+ "D_694503437_15_15",
+ "D_498462481_15_15",
+ "SRVCOV_COVSUMMARY_V1R0_15_15",
+ "D_984121390_15_15",
+ "D_179406442_15_15",
+ "D_893966847_15_15",
+ "_CONTINUE1_15_15",
+ "D_694503437_16_16",
+ "D_498462481_16_16",
+ "SRVCOV_COVSUMMARY_V1R0_16_16",
+ "D_984121390_16_16",
+ "D_179406442_16_16",
+ "D_893966847_16_16",
+ "_CONTINUE1_16_16",
+ "D_694503437_17_17",
+ "D_498462481_17_17",
+ "SRVCOV_COVSUMMARY_V1R0_17_17",
+ "D_984121390_17_17",
+ "D_179406442_17_17",
+ "D_893966847_17_17",
+ "_CONTINUE1_17_17",
+ "D_694503437_18_18",
+ "D_498462481_18_18",
+ "SRVCOV_COVSUMMARY_V1R0_18_18",
+ "D_984121390_18_18",
+ "D_179406442_18_18",
+ "D_893966847_18_18",
+ "_CONTINUE1_18_18",
+ "D_694503437_19_19",
+ "D_498462481_19_19",
+ "SRVCOV_COVSUMMARY_V1R0_19_19",
+ "D_984121390_19_19",
+ "D_179406442_19_19",
+ "D_893966847_19_19",
+ "_CONTINUE1_19_19",
+ "D_694503437_20_20",
+ "D_498462481_20_20",
+ "SRVCOV_COVSUMMARY_V1R0_20_20",
+ "D_984121390_20_20",
+ "D_179406442_20_20",
+ "D_893966847_20_20",
+ "_CONTINUE1_20_20",
+ "D_694503437_21_21",
+ "D_498462481_21_21",
+ "SRVCOV_COVSUMMARY_V1R0_21_21",
+ "D_984121390_21_21",
+ "D_179406442_21_21",
+ "D_893966847_21_21",
+ "_CONTINUE1_21_21",
+ "D_694503437_22_22",
+ "D_498462481_22_22",
+ "SRVCOV_COVSUMMARY_V1R0_22_22",
+ "D_984121390_22_22",
+ "D_179406442_22_22",
+ "D_893966847_22_22",
+ "_CONTINUE1_22_22",
+ "D_694503437_23_23",
+ "D_498462481_23_23",
+ "SRVCOV_COVSUMMARY_V1R0_23_23",
+ "D_984121390_23_23",
+ "D_179406442_23_23",
+ "D_893966847_23_23",
+ "_CONTINUE1_23_23",
+ "D_694503437_24_24",
+ "D_498462481_24_24",
+ "SRVCOV_COVSUMMARY_V1R0_24_24",
+ "D_984121390_24_24",
+ "D_179406442_24_24",
+ "D_893966847_24_24",
+ "_CONTINUE1_24_24",
+ "D_694503437_25_25",
+ "D_498462481_25_25",
+ "SRVCOV_COVSUMMARY_V1R0_25_25",
+ "D_984121390_25_25",
+ "D_179406442_25_25",
+ "D_893966847_25_25",
+ "_CONTINUE1_25_25",
+ "COV20_SKIP",
+ "D_591826144",
+ "COV20A17_SKIP",
+ "SRVCOV_COV25INTRO_V1R0",
+ "END"
+ ],
+ "byKind": {
+ "default": 30,
+ "no-response": 153,
+ "response": 357
+ },
+ "byResolution": {
+ "exact": 512,
+ "terminal": 3,
+ "virtual-loop": 25
+ },
+ "triggerTypes": {
+ "hidden": 183,
+ "radio": 357
+ },
+ "triggerValues": [
+ "104430631",
+ "178420302",
+ "353358909",
+ "317811347",
+ "707601969"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "greaterThanOrEqual(D_860011428,1)",
+ "exists('D_686508359_1_1')",
+ "equals(D_366980310_1_1,353358909)",
+ "equals(D_366980310_1_1,104430631)",
+ "equals(D_366980310_1_1,178420302)",
+ "equals(D_694503437_1_1,353358909)",
+ "equals(D_694503437_1_1,104430631)",
+ "doesNotEqual(D_694503437_1_1,104430631)",
+ "equals(D_775313030_1_1,353358909)",
+ "equals(D_775313030_1_1,104430631)",
+ "equals(D_775313030_1_1,178420302)",
+ "greaterThanOrEqual(D_860011428,2)",
+ "exists('D_686508359_2_2')",
+ "equals(D_366980310_2_2,353358909)",
+ "equals(D_366980310_2_2,104430631)",
+ "equals(D_366980310_2_2,178420302)",
+ "equals(D_694503437_2_2,353358909)",
+ "equals(D_694503437_2_2,104430631)",
+ "doesNotEqual(D_694503437_2_2,104430631)",
+ "equals(D_775313030_2_2,353358909)",
+ "equals(D_775313030_2_2,104430631)",
+ "equals(D_775313030_2_2,178420302)",
+ "greaterThanOrEqual(D_860011428,3)",
+ "exists('D_686508359_3_3')",
+ "equals(D_366980310_3_3,353358909)",
+ "equals(D_366980310_3_3,104430631)",
+ "equals(D_366980310_3_3,178420302)",
+ "equals(D_694503437_3_3,353358909)",
+ "equals(D_694503437_3_3,104430631)",
+ "doesNotEqual(D_694503437_3_3,104430631)",
+ "equals(D_775313030_3_3,353358909)",
+ "equals(D_775313030_3_3,104430631)",
+ "equals(D_775313030_3_3,178420302)",
+ "greaterThanOrEqual(D_860011428,4)",
+ "exists('D_686508359_4_4')",
+ "equals(D_366980310_4_4,353358909)",
+ "equals(D_366980310_4_4,104430631)",
+ "equals(D_366980310_4_4,178420302)",
+ "equals(D_694503437_4_4,353358909)",
+ "equals(D_694503437_4_4,104430631)",
+ "doesNotEqual(D_694503437_4_4,104430631)",
+ "equals(D_775313030_4_4,353358909)",
+ "equals(D_775313030_4_4,104430631)",
+ "equals(D_775313030_4_4,178420302)",
+ "greaterThanOrEqual(D_860011428,5)",
+ "exists('D_686508359_5_5')",
+ "equals(D_366980310_5_5,353358909)",
+ "equals(D_366980310_5_5,104430631)",
+ "equals(D_366980310_5_5,178420302)",
+ "equals(D_694503437_5_5,353358909)",
+ "equals(D_694503437_5_5,104430631)",
+ "doesNotEqual(D_694503437_5_5,104430631)",
+ "equals(D_775313030_5_5,353358909)",
+ "equals(D_775313030_5_5,104430631)",
+ "equals(D_775313030_5_5,178420302)",
+ "greaterThanOrEqual(D_860011428,6)",
+ "exists('D_686508359_6_6')",
+ "equals(D_366980310_6_6,353358909)",
+ "equals(D_366980310_6_6,104430631)",
+ "equals(D_366980310_6_6,178420302)",
+ "equals(D_694503437_6_6,353358909)",
+ "equals(D_694503437_6_6,104430631)",
+ "doesNotEqual(D_694503437_6_6,104430631)",
+ "equals(D_775313030_6_6,353358909)",
+ "equals(D_775313030_6_6,104430631)",
+ "equals(D_775313030_6_6,178420302)",
+ "greaterThanOrEqual(D_860011428,7)",
+ "exists('D_686508359_7_7')",
+ "equals(D_366980310_7_7,353358909)",
+ "equals(D_366980310_7_7,104430631)",
+ "equals(D_366980310_7_7,178420302)",
+ "equals(D_694503437_7_7,353358909)",
+ "equals(D_694503437_7_7,104430631)",
+ "doesNotEqual(D_694503437_7_7,104430631)",
+ "equals(D_775313030_7_7,353358909)",
+ "equals(D_775313030_7_7,104430631)",
+ "equals(D_775313030_7_7,178420302)",
+ "greaterThanOrEqual(D_860011428,8)",
+ "exists('D_686508359_8_8')",
+ "equals(D_366980310_8_8,353358909)",
+ "equals(D_366980310_8_8,104430631)",
+ "equals(D_366980310_8_8,178420302)",
+ "equals(D_694503437_8_8,353358909)",
+ "equals(D_694503437_8_8,104430631)",
+ "doesNotEqual(D_694503437_8_8,104430631)",
+ "equals(D_775313030_8_8,353358909)",
+ "equals(D_775313030_8_8,104430631)",
+ "equals(D_775313030_8_8,178420302)",
+ "greaterThanOrEqual(D_860011428,9)",
+ "exists('D_686508359_9_9')",
+ "equals(D_366980310_9_9,353358909)",
+ "equals(D_366980310_9_9,104430631)",
+ "equals(D_366980310_9_9,178420302)",
+ "equals(D_694503437_9_9,353358909)",
+ "equals(D_694503437_9_9,104430631)",
+ "doesNotEqual(D_694503437_9_9,104430631)",
+ "equals(D_775313030_9_9,353358909)",
+ "equals(D_775313030_9_9,104430631)",
+ "equals(D_775313030_9_9,178420302)",
+ "greaterThanOrEqual(D_860011428,10)",
+ "exists('D_686508359_10_10')",
+ "equals(D_366980310_10_10,353358909)",
+ "equals(D_366980310_10_10,104430631)",
+ "equals(D_366980310_10_10,178420302)",
+ "equals(D_694503437_10_10,353358909)",
+ "equals(D_694503437_10_10,104430631)",
+ "doesNotEqual(D_694503437_10_10,104430631)",
+ "equals(D_775313030_10_10,353358909)",
+ "equals(D_775313030_10_10,104430631)",
+ "equals(D_775313030_10_10,178420302)",
+ "greaterThanOrEqual(D_860011428,11)",
+ "exists('D_686508359_11_11')",
+ "equals(D_366980310_11_11,353358909)",
+ "equals(D_366980310_11_11,104430631)",
+ "equals(D_366980310_11_11,178420302)",
+ "equals(D_694503437_11_11,353358909)",
+ "equals(D_694503437_11_11,104430631)",
+ "doesNotEqual(D_694503437_11_11,104430631)",
+ "equals(D_775313030_11_11,353358909)",
+ "equals(D_775313030_11_11,104430631)",
+ "equals(D_775313030_11_11,178420302)",
+ "greaterThanOrEqual(D_860011428,12)",
+ "exists('D_686508359_12_12')",
+ "equals(D_366980310_12_12,353358909)",
+ "equals(D_366980310_12_12,104430631)",
+ "equals(D_366980310_12_12,178420302)",
+ "equals(D_694503437_12_12,353358909)",
+ "equals(D_694503437_12_12,104430631)",
+ "doesNotEqual(D_694503437_12_12,104430631)",
+ "equals(D_775313030_12_12,353358909)",
+ "equals(D_775313030_12_12,104430631)",
+ "equals(D_775313030_12_12,178420302)",
+ "greaterThanOrEqual(D_860011428,13)",
+ "exists('D_686508359_13_13')",
+ "equals(D_366980310_13_13,353358909)",
+ "equals(D_366980310_13_13,104430631)",
+ "equals(D_366980310_13_13,178420302)",
+ "equals(D_694503437_13_13,353358909)",
+ "equals(D_694503437_13_13,104430631)",
+ "doesNotEqual(D_694503437_13_13,104430631)",
+ "equals(D_775313030_13_13,353358909)",
+ "equals(D_775313030_13_13,104430631)",
+ "equals(D_775313030_13_13,178420302)",
+ "greaterThanOrEqual(D_860011428,14)",
+ "exists('D_686508359_14_14')",
+ "equals(D_366980310_14_14,353358909)",
+ "equals(D_366980310_14_14,104430631)",
+ "equals(D_366980310_14_14,178420302)",
+ "equals(D_694503437_14_14,353358909)",
+ "equals(D_694503437_14_14,104430631)",
+ "doesNotEqual(D_694503437_14_14,104430631)",
+ "equals(D_775313030_14_14,353358909)",
+ "equals(D_775313030_14_14,104430631)",
+ "equals(D_775313030_14_14,178420302)",
+ "greaterThanOrEqual(D_860011428,15)",
+ "exists('D_686508359_15_15')",
+ "equals(D_366980310_15_15,353358909)",
+ "equals(D_366980310_15_15,104430631)",
+ "equals(D_366980310_15_15,178420302)",
+ "equals(D_694503437_15_15,353358909)",
+ "equals(D_694503437_15_15,104430631)",
+ "doesNotEqual(D_694503437_15_15,104430631)",
+ "equals(D_775313030_15_15,353358909)",
+ "equals(D_775313030_15_15,104430631)",
+ "equals(D_775313030_15_15,178420302)",
+ "greaterThanOrEqual(D_860011428,16)",
+ "exists('D_686508359_16_16')",
+ "equals(D_366980310_16_16,353358909)",
+ "equals(D_366980310_16_16,104430631)",
+ "equals(D_366980310_16_16,178420302)",
+ "equals(D_694503437_16_16,353358909)",
+ "equals(D_694503437_16_16,104430631)",
+ "doesNotEqual(D_694503437_16_16,104430631)",
+ "equals(D_775313030_16_16,353358909)",
+ "equals(D_775313030_16_16,104430631)",
+ "equals(D_775313030_16_16,178420302)",
+ "greaterThanOrEqual(D_860011428,17)",
+ "exists('D_686508359_17_17')",
+ "equals(D_366980310_17_17,353358909)",
+ "equals(D_366980310_17_17,104430631)",
+ "equals(D_366980310_17_17,178420302)",
+ "equals(D_694503437_17_17,353358909)",
+ "equals(D_694503437_17_17,104430631)",
+ "doesNotEqual(D_694503437_17_17,104430631)",
+ "equals(D_775313030_17_17,353358909)",
+ "equals(D_775313030_17_17,104430631)",
+ "equals(D_775313030_17_17,178420302)",
+ "greaterThanOrEqual(D_860011428,18)",
+ "exists('D_686508359_18_18')",
+ "equals(D_366980310_18_18,353358909)",
+ "equals(D_366980310_18_18,104430631)",
+ "equals(D_366980310_18_18,178420302)",
+ "equals(D_694503437_18_18,353358909)",
+ "equals(D_694503437_18_18,104430631)",
+ "doesNotEqual(D_694503437_18_18,104430631)",
+ "equals(D_775313030_18_18,353358909)",
+ "equals(D_775313030_18_18,104430631)",
+ "equals(D_775313030_18_18,178420302)",
+ "greaterThanOrEqual(D_860011428,19)",
+ "exists('D_686508359_19_19')",
+ "equals(D_366980310_19_19,353358909)",
+ "equals(D_366980310_19_19,104430631)",
+ "equals(D_366980310_19_19,178420302)",
+ "equals(D_694503437_19_19,353358909)",
+ "equals(D_694503437_19_19,104430631)",
+ "doesNotEqual(D_694503437_19_19,104430631)",
+ "equals(D_775313030_19_19,353358909)",
+ "equals(D_775313030_19_19,104430631)",
+ "equals(D_775313030_19_19,178420302)",
+ "greaterThanOrEqual(D_860011428,20)",
+ "exists('D_686508359_20_20')",
+ "equals(D_366980310_20_20,353358909)",
+ "equals(D_366980310_20_20,104430631)",
+ "equals(D_366980310_20_20,178420302)",
+ "equals(D_694503437_20_20,353358909)",
+ "equals(D_694503437_20_20,104430631)",
+ "doesNotEqual(D_694503437_20_20,104430631)",
+ "equals(D_775313030_20_20,353358909)",
+ "equals(D_775313030_20_20,104430631)",
+ "equals(D_775313030_20_20,178420302)",
+ "greaterThanOrEqual(D_860011428,21)",
+ "exists('D_686508359_21_21')",
+ "equals(D_366980310_21_21,353358909)",
+ "equals(D_366980310_21_21,104430631)",
+ "equals(D_366980310_21_21,178420302)",
+ "equals(D_694503437_21_21,353358909)",
+ "equals(D_694503437_21_21,104430631)",
+ "doesNotEqual(D_694503437_21_21,104430631)",
+ "equals(D_775313030_21_21,353358909)",
+ "equals(D_775313030_21_21,104430631)",
+ "equals(D_775313030_21_21,178420302)",
+ "greaterThanOrEqual(D_860011428,22)",
+ "exists('D_686508359_22_22')",
+ "equals(D_366980310_22_22,353358909)",
+ "equals(D_366980310_22_22,104430631)",
+ "equals(D_366980310_22_22,178420302)",
+ "equals(D_694503437_22_22,353358909)",
+ "equals(D_694503437_22_22,104430631)",
+ "doesNotEqual(D_694503437_22_22,104430631)",
+ "equals(D_775313030_22_22,353358909)",
+ "equals(D_775313030_22_22,104430631)",
+ "equals(D_775313030_22_22,178420302)",
+ "greaterThanOrEqual(D_860011428,23)",
+ "exists('D_686508359_23_23')",
+ "equals(D_366980310_23_23,353358909)",
+ "equals(D_366980310_23_23,104430631)",
+ "equals(D_366980310_23_23,178420302)",
+ "equals(D_694503437_23_23,353358909)",
+ "equals(D_694503437_23_23,104430631)",
+ "doesNotEqual(D_694503437_23_23,104430631)",
+ "equals(D_775313030_23_23,353358909)",
+ "equals(D_775313030_23_23,104430631)",
+ "equals(D_775313030_23_23,178420302)",
+ "greaterThanOrEqual(D_860011428,24)",
+ "exists('D_686508359_24_24')",
+ "equals(D_366980310_24_24,353358909)",
+ "equals(D_366980310_24_24,104430631)",
+ "equals(D_366980310_24_24,178420302)",
+ "equals(D_694503437_24_24,353358909)",
+ "equals(D_694503437_24_24,104430631)",
+ "doesNotEqual(D_694503437_24_24,104430631)",
+ "equals(D_775313030_24_24,353358909)",
+ "equals(D_775313030_24_24,104430631)",
+ "equals(D_775313030_24_24,178420302)",
+ "greaterThanOrEqual(D_860011428,25)",
+ "exists('D_686508359_25_25')",
+ "equals(D_366980310_25_25,353358909)",
+ "equals(D_366980310_25_25,104430631)",
+ "equals(D_366980310_25_25,178420302)",
+ "equals(D_694503437_25_25,353358909)",
+ "equals(D_694503437_25_25,104430631)",
+ "doesNotEqual(D_694503437_25_25,104430631)",
+ "equals(D_775313030_25_25,353358909)",
+ "equals(D_775313030_25_25,104430631)",
+ "equals(D_775313030_25_25,178420302)",
+ "and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(doesNotEqual(D_694503437_1_1,353358909),doesNotEqual(D_694503437_2_2,353358909)),doesNotEqual(D_694503437_3_3,353358909)),doesNotEqual(D_694503437_4_4,353358909)),doesNotEqual(D_694503437_5_5,353358909)),doesNotEqual(D_694503437_6_6,353358909)),doesNotEqual(D_694503437_7_7,353358909)),doesNotEqual(D_694503437_8_8,353358909)),doesNotEqual(D_694503437_9_9,353358909)),doesNotEqual(D_694503437_10_10,353358909)),doesNotEqual(D_694503437_11_11,353358909)),doesNotEqual(D_694503437_12_12,353358909)),doesNotEqual(D_694503437_13_13,353358909)),doesNotEqual(D_694503437_14_14,353358909)),doesNotEqual(D_694503437_15_15,353358909)),doesNotEqual(D_694503437_16_16,353358909)),doesNotEqual(D_694503437_17_17,353358909)),doesNotEqual(D_694503437_18_18,353358909)),doesNotEqual(D_694503437_19_19,353358909)),doesNotEqual(D_694503437_20_20,353358909)),doesNotEqual(D_694503437_21_21,353358909)),doesNotEqual(D_694503437_22_22,353358909)),doesNotEqual(D_694503437_23_23,353358909)),doesNotEqual(D_694503437_24_24,353358909)),doesNotEqual(D_694503437_25_25,353358909))",
+ "or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(equals(D_694503437_1_1,353358909),equals(D_694503437_2_2,353358909)),equals(D_694503437_3_3,353358909)),equals(D_694503437_4_4,353358909)),equals(D_694503437_5_5,353358909)),equals(D_694503437_6_6,353358909)),equals(D_694503437_7_7,353358909)),equals(D_694503437_8_8,353358909)),equals(D_694503437_9_9,353358909)),equals(D_694503437_10_10,353358909)),equals(D_694503437_11_11,353358909)),equals(D_694503437_12_12,353358909)),equals(D_694503437_13_13,353358909)),equals(D_694503437_14_14,353358909)),equals(D_694503437_15_15,353358909)),equals(D_694503437_16_16,353358909)),equals(D_694503437_17_17,353358909)),equals(D_694503437_18_18,353358909)),equals(D_694503437_19_19,353358909)),equals(D_694503437_20_20,353358909)),equals(D_694503437_21_21,353358909)),equals(D_694503437_22_22,353358909)),equals(D_694503437_23_23,353358909)),equals(D_694503437_24_24,353358909)),equals(D_694503437_25_25,353358909))",
+ "displayif=valueIsOneOf(\"D_110872086\",707601969) or valueLength(\"D_637540387\")>0",
+ "valueIsOneOf('D_110872086',707601969) or valueLength('D_637540387')>0",
+ "doesNotExist('D_637540387')",
+ "noneSelected(\"D_488415137_0\",\"D_488415137_1\",\"D_167695804_0\",\"D_167695804_1\",\"D_730334054_0\",\"D_730334054_1\",\"D_215996690_0\",\"D_215996690_1\",\"D_462737492_0\",\"D_462737492_1\",\"D_469675296_0\",\"D_469675296_1\",\"D_962475128_0\",\"D_962475128_1\",\"D_989576239_0\",\"D_989576239_1\",\"D_338613869_0\",\"D_338613869_1\",\"D_126794793_0\",\"D_126794793_1\",\"D_218793117_0\",\"D_218793117_1\",\"D_524096053_0\",\"D_524096053_1\",\"D_814101706_0\",\"D_814101706_1\",\"D_635026188_0\",\"D_635026188_1\",\"D_238135048_0\",\"D_238135048_1\",\"D_632714520_0\",\"D_632714520_1\")",
+ "someSelected(\"D_488415137_0\",\"D_488415137_1\",\"D_167695804_0\",\"D_167695804_1\",\"D_730334054_0\",\"D_730334054_1\",\"D_215996690_0\",\"D_215996690_1\",\"D_462737492_0\",\"D_462737492_1\",\"D_469675296_0\",\"D_469675296_1\",\"D_962475128_0\",\"D_962475128_1\",\"D_989576239_0\",\"D_989576239_1\",\"D_338613869_0\",\"D_338613869_1\",\"D_126794793_0\",\"D_126794793_1\",\"D_218793117_0\",\"D_218793117_1\",\"D_524096053_0\",\"SRVCOV_COV19C1_V1R0_1,1\",\"D_814101706_0\",\"D_814101706_1\",\"D_635026188_0\",\"D_238135048_0\",\"D_238135048_1\",\"D_632714520_0\",\"D_632714520_1",
+ "someSelected(%22D_488415137_0%22%2C%22D_488415137_1%22)",
+ "someSelected(%22D_730334054_0%22%2C%22D_730334054_1%22)",
+ "someSelected(%22D_215996690_0%22%2C%22D_215996690_1%22)",
+ "someSelected(%22D_462737492_0%22%2C%22D_462737492_1%22)",
+ "someSelected(%22D_469675296_0%22%2C%22D_469675296_1%22)",
+ "someSelected(%22D_167695804_0%22%2C%22D_167695804_1%22)",
+ "someSelected(%22D_524096053_0%22%2C%22D_524096053_1%22)",
+ "someSelected(%22D_814101706_0%22%2C%22D_814101706_1%22)",
+ "someSelected(%22D_962475128_0%22%2C%22D_962475128_1%22)",
+ "someSelected(%22D_989576239_0%22%2C%22D_989576239_1%22)",
+ "someSelected(%22D_338613869_0%22%2C%22D_338613869_1%22)",
+ "someSelected(%22D_126794793_0%22%2C%22D_126794793_1%22)",
+ "someSelected(%22D_218793117_0%22%2C%22D_218793117_1%22)",
+ "someSelected(%22D_635026188_0%22%2C%22D_635026188_1%22)",
+ "someSelected(%22D_238135048_0%22%2C%22D_238135048_1%22)",
+ "someSelected(%22D_632714520_0%22%2C%22D_632714520_1%22)",
+ "doesNotEqual(D_110872086,707601969)",
+ "equals(D_110872086,707601969)",
+ "exists('D_637540387')",
+ "and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(doesNotEqual(D_494226443,104430631),doesNotEqual(D_494226443,178420302)),doesNotEqual(isDefined(D_494226443,-1),-1)),doesNotEqual(D_498462481_1_1,104430631)),doesNotEqual(D_694503437_1_1,104430631)),doesNotEqual(D_498462481_2_2,104430631)),doesNotEqual(D_694503437_2_2,104430631)),doesNotEqual(D_498462481_3_3,104430631)),doesNotEqual(D_694503437_3_3,104430631)),doesNotEqual(D_498462481_4_4,104430631)),doesNotEqual(D_694503437_4_4,104430631)),doesNotEqual(D_498462481_5_5,104430631)),doesNotEqual(D_694503437_5_5,104430631)),doesNotEqual(D_498462481_6_6,104430631)),doesNotEqual(D_694503437_6_6,104430631)),doesNotEqual(D_498462481_7_7,104430631)),doesNotEqual(D_694503437_7_7,104430631)),doesNotEqual(D_498462481_8_8,104430631)),doesNotEqual(D_694503437_8_8,104430631)),doesNotEqual(D_498462481_9_9,104430631)),doesNotEqual(D_694503437_9_9,104430631)),doesNotEqual(D_498462481_10_10,104430631)),doesNotEqual(D_694503437_10_10,104430631)),doesNotEqual(D_498462481_11_11,104430631)),doesNotEqual(D_694503437_11_11,104430631)),doesNotEqual(D_498462481_12_12,104430631)),doesNotEqual(D_694503437_12_12,104430631)),doesNotEqual(D_498462481_13_13,104430631)),doesNotEqual(D_694503437_13_13,104430631)),doesNotEqual(D_498462481_14_14,104430631)),doesNotEqual(D_694503437_14_14,104430631)),doesNotEqual(D_498462481_15_15,104430631)),doesNotEqual(D_694503437_15_15,104430631)),doesNotEqual(D_498462481_16_16,104430631)),doesNotEqual(D_694503437_16_16,104430631)),doesNotEqual(D_498462481_17_17,104430631)),doesNotEqual(D_694503437_17_17,104430631)),doesNotEqual(D_498462481_18_18,104430631)),doesNotEqual(D_694503437_18_18,104430631)),doesNotEqual(D_498462481_19_19,104430631)),doesNotEqual(D_694503437_19_19,104430631)),doesNotEqual(D_498462481_20_20,104430631)),doesNotEqual(D_694503437_20_20,104430631)),doesNotEqual(D_498462481_21_21,104430631)),doesNotEqual(D_694503437_21_21,104430631)),doesNotEqual(D_498462481_22_22,104430631)),doesNotEqual(D_694503437_22_22,104430631)),doesNotEqual(D_498462481_23_23,104430631)),doesNotEqual(D_694503437_23_23,104430631)),doesNotEqual(D_498462481_24_24,104430631)),doesNotEqual(D_694503437_24_24,104430631)),doesNotEqual(D_498462481_25_25,104430631)),doesNotEqual(D_694503437_25_25,104430631))",
+ "or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(equals(D_494226443,104430631),equals(D_494226443,178420302)),equals(isDefined(D_494226443,-1),-1)),equals(D_498462481_1_1,104430631)),equals(D_694503437_1_1,104430631)),equals(D_498462481_2_2,104430631)),equals(D_694503437_2_2,104430631)),equals(D_498462481_3_3,104430631)),equals(D_694503437_3_3,104430631)),equals(D_498462481_4_4,104430631)),equals(D_694503437_4_4,104430631)),equals(D_498462481_5_5,104430631)),equals(D_694503437_5_5,104430631)),equals(D_498462481_6_6,104430631)),equals(D_694503437_6_6,104430631)),equals(D_498462481_7_7,104430631)),equals(D_694503437_7_7,104430631)),equals(D_498462481_8_8,104430631)),equals(D_694503437_8_8,104430631)),equals(D_498462481_9_9,104430631)),equals(D_694503437_9_9,104430631)),equals(D_498462481_10_10,104430631)),equals(D_694503437_10_10,104430631)),equals(D_498462481_11_11,104430631)),equals(D_694503437_11_11,104430631)),equals(D_498462481_12_12,104430631)),equals(D_694503437_12_12,104430631)),equals(D_498462481_13_13,104430631)),equals(D_694503437_13_13,104430631)),equals(D_498462481_14_14,104430631)),equals(D_694503437_14_14,104430631)),equals(D_498462481_15_15,104430631)),equals(D_694503437_15_15,104430631)),equals(D_498462481_16_16,104430631)),equals(D_694503437_16_16,104430631)),equals(D_498462481_17_17,104430631)),equals(D_694503437_17_17,104430631)),equals(D_498462481_18_18,104430631)),equals(D_694503437_18_18,104430631)),equals(D_498462481_19_19,104430631)),equals(D_694503437_19_19,104430631)),equals(D_498462481_20_20,104430631)),equals(D_694503437_20_20,104430631)),equals(D_498462481_21_21,104430631)),equals(D_694503437_21_21,104430631)),equals(D_498462481_22_22,104430631)),equals(D_694503437_22_22,104430631)),equals(D_498462481_23_23,104430631)),equals(D_694503437_23_23,104430631)),equals(D_498462481_24_24,104430631)),equals(D_694503437_24_24,104430631)),equals(D_498462481_25_25,104430631)),equals(D_694503437_25_25,104430631))",
+ "someSelected(\"D_874168085_0\",\"D_874168085_1\",\"D_283112988_0\",\"D_283112988_1\",\"D_580629349_0\",\"D_580629349_1\",\"D_151327643_0\",\"D_151327643_1\",\"D_440872808_0\",\"D_440872808_1\",\"D_874223830_0\",\"D_874223830_1\",\"D_847529903_0\",\"D_847529903_1\",\"D_219358831_0\",\"D_219358831_1\",\"D_636367178_0\",\"D_636367178_1\",\"D_243443780_0\",\"D_243443780_1\",\"D_357462273_0\",\"D_357462273_1\",\"D_638380747_0\",\"D_638380747_1\",\"D_187399900_0\",\"D_187399900_1\")",
+ "someSelected(%22D_874168085_0%22%2C%22D_874168085_1%22)",
+ "someSelected(%22D_283112988_0%22%2C%22D_283112988_1%22)",
+ "someSelected(%22D_580629349_0%22%2C%22D_580629349_1%22)",
+ "someSelected(%22D_151327643_0%22%2C%22D_151327643_1%22)",
+ "someSelected(%22D_440872808_0%22%2C%22D_440872808_1%22)",
+ "someSelected(%22D_874223830_0%22%2C%22D_874223830_1%22)",
+ "someSelected(%22D_847529903_0%22%2C%22D_847529903_1%22)",
+ "someSelected(%22D_219358831_0%22%2C%22D_219358831_1%22)",
+ "someSelected(%22D_636367178_0%22%2C%22D_636367178_1%22)",
+ "someSelected(%22D_243443780_0%22%2C%22D_243443780_1%22)",
+ "someSelected(%22D_357462273_0%22%2C%22D_357462273_1%22)",
+ "someSelected(%22D_638380747_0%22%2C%22D_638380747_1%22)",
+ "someSelected(%22D_187399900_0%22%2C%22D_187399900_1%22)",
+ "greaterThanOrEqual(D_877074400_V2,1)",
+ "equals(D_220055064_1_1,661871565)",
+ "equals(D_220055064_1_1,657978450)",
+ "equals(D_220055064_1_1,411943417)",
+ "equals(D_220055064_1_1,113838601)",
+ "equals(D_220055064_1_1,503154121)",
+ "valueIsOneOf('D_220055064_1_1',807835037) or valueLength('D_395747093_1_1')>0",
+ "equals(D_220055064_1_1,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,2)",
+ "equals(D_220055064_2_2,661871565)",
+ "equals(D_220055064_2_2,657978450)",
+ "equals(D_220055064_2_2,411943417)",
+ "equals(D_220055064_2_2,113838601)",
+ "equals(D_220055064_2_2,503154121)",
+ "valueIsOneOf('D_220055064_2_2',807835037) or valueLength('D_395747093_2_2')>0",
+ "equals(D_220055064_2_2,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,3)",
+ "equals(D_220055064_3_3,661871565)",
+ "equals(D_220055064_3_3,657978450)",
+ "equals(D_220055064_3_3,411943417)",
+ "equals(D_220055064_3_3,113838601)",
+ "equals(D_220055064_3_3,503154121)",
+ "valueIsOneOf('D_220055064_3_3',807835037) or valueLength('D_395747093_3_3')>0",
+ "equals(D_220055064_3_3,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,4)",
+ "equals(D_220055064_4_4,661871565)",
+ "equals(D_220055064_4_4,657978450)",
+ "equals(D_220055064_4_4,411943417)",
+ "equals(D_220055064_4_4,113838601)",
+ "equals(D_220055064_4_4,503154121)",
+ "valueIsOneOf('D_220055064_4_4',807835037) or valueLength('D_395747093_4_4')>0",
+ "equals(D_220055064_4_4,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,5)",
+ "equals(D_220055064_5_5,661871565)",
+ "equals(D_220055064_5_5,657978450)",
+ "equals(D_220055064_5_5,411943417)",
+ "equals(D_220055064_5_5,113838601)",
+ "equals(D_220055064_5_5,503154121)",
+ "valueIsOneOf('D_220055064_5_5',807835037) or valueLength('D_395747093_5_5')>0",
+ "equals(D_220055064_5_5,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,6)",
+ "equals(D_220055064_6_6,661871565)",
+ "equals(D_220055064_6_6,657978450)",
+ "equals(D_220055064_6_6,411943417)",
+ "equals(D_220055064_6_6,113838601)",
+ "equals(D_220055064_6_6,503154121)",
+ "valueIsOneOf('D_220055064_6_6',807835037) or valueLength('D_395747093_6_6')>0",
+ "equals(D_220055064_6_6,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,7)",
+ "equals(D_220055064_7_7,661871565)",
+ "equals(D_220055064_7_7,657978450)",
+ "equals(D_220055064_7_7,411943417)",
+ "equals(D_220055064_7_7,113838601)",
+ "equals(D_220055064_7_7,503154121)",
+ "valueIsOneOf('D_220055064_7_7',807835037) or valueLength('D_395747093_7_7')>0",
+ "equals(D_220055064_7_7,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,8)",
+ "equals(D_220055064_8_8,661871565)",
+ "equals(D_220055064_8_8,657978450)",
+ "equals(D_220055064_8_8,411943417)",
+ "equals(D_220055064_8_8,113838601)",
+ "equals(D_220055064_8_8,503154121)",
+ "valueIsOneOf('D_220055064_8_8',807835037) or valueLength('D_395747093_8_8')>0",
+ "equals(D_220055064_8_8,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,9)",
+ "equals(D_220055064_9_9,661871565)",
+ "equals(D_220055064_9_9,657978450)",
+ "equals(D_220055064_9_9,411943417)",
+ "equals(D_220055064_9_9,113838601)",
+ "equals(D_220055064_9_9,503154121)",
+ "valueIsOneOf('D_220055064_9_9',807835037) or valueLength('D_395747093_9_9')>0",
+ "equals(D_220055064_9_9,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,10)",
+ "equals(D_220055064_10_10,661871565)",
+ "equals(D_220055064_10_10,657978450)",
+ "equals(D_220055064_10_10,411943417)",
+ "equals(D_220055064_10_10,113838601)",
+ "equals(D_220055064_10_10,503154121)",
+ "valueIsOneOf('D_220055064_10_10',807835037) or valueLength('D_395747093_10_10')>0",
+ "equals(D_220055064_10_10,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,11)",
+ "equals(D_220055064_11_11,661871565)",
+ "equals(D_220055064_11_11,657978450)",
+ "equals(D_220055064_11_11,411943417)",
+ "equals(D_220055064_11_11,113838601)",
+ "equals(D_220055064_11_11,503154121)",
+ "valueIsOneOf('D_220055064_11_11',807835037) or valueLength('D_395747093_11_11')>0",
+ "equals(D_220055064_11_11,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,12)",
+ "equals(D_220055064_12_12,661871565)",
+ "equals(D_220055064_12_12,657978450)",
+ "equals(D_220055064_12_12,411943417)",
+ "equals(D_220055064_12_12,113838601)",
+ "equals(D_220055064_12_12,503154121)",
+ "valueIsOneOf('D_220055064_12_12',807835037) or valueLength('D_395747093_12_12')>0",
+ "equals(D_220055064_12_12,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,13)",
+ "equals(D_220055064_13_13,661871565)",
+ "equals(D_220055064_13_13,657978450)",
+ "equals(D_220055064_13_13,411943417)",
+ "equals(D_220055064_13_13,113838601)",
+ "equals(D_220055064_13_13,503154121)",
+ "valueIsOneOf('D_220055064_13_13',807835037) or valueLength('D_395747093_13_13')>0",
+ "equals(D_220055064_13_13,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,14)",
+ "equals(D_220055064_14_14,661871565)",
+ "equals(D_220055064_14_14,657978450)",
+ "equals(D_220055064_14_14,411943417)",
+ "equals(D_220055064_14_14,113838601)",
+ "equals(D_220055064_14_14,503154121)",
+ "valueIsOneOf('D_220055064_14_14',807835037) or valueLength('D_395747093_14_14')>0",
+ "equals(D_220055064_14_14,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,15)",
+ "equals(D_220055064_15_15,661871565)",
+ "equals(D_220055064_15_15,657978450)",
+ "equals(D_220055064_15_15,411943417)",
+ "equals(D_220055064_15_15,113838601)",
+ "equals(D_220055064_15_15,503154121)",
+ "valueIsOneOf('D_220055064_15_15',807835037) or valueLength('D_395747093_15_15')>0",
+ "equals(D_220055064_15_15,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,16)",
+ "equals(D_220055064_16_16,661871565)",
+ "equals(D_220055064_16_16,657978450)",
+ "equals(D_220055064_16_16,411943417)",
+ "equals(D_220055064_16_16,113838601)",
+ "equals(D_220055064_16_16,503154121)",
+ "valueIsOneOf('D_220055064_16_16',807835037) or valueLength('D_395747093_16_16')>0",
+ "equals(D_220055064_16_16,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,17)",
+ "equals(D_220055064_17_17,661871565)",
+ "equals(D_220055064_17_17,657978450)",
+ "equals(D_220055064_17_17,411943417)",
+ "equals(D_220055064_17_17,113838601)",
+ "equals(D_220055064_17_17,503154121)",
+ "valueIsOneOf('D_220055064_17_17',807835037) or valueLength('D_395747093_17_17')>0",
+ "equals(D_220055064_17_17,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,18)",
+ "equals(D_220055064_18_18,661871565)",
+ "equals(D_220055064_18_18,657978450)",
+ "equals(D_220055064_18_18,411943417)",
+ "equals(D_220055064_18_18,113838601)",
+ "equals(D_220055064_18_18,503154121)",
+ "valueIsOneOf('D_220055064_18_18',807835037) or valueLength('D_395747093_18_18')>0",
+ "equals(D_220055064_18_18,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,19)",
+ "equals(D_220055064_19_19,661871565)",
+ "equals(D_220055064_19_19,657978450)",
+ "equals(D_220055064_19_19,411943417)",
+ "equals(D_220055064_19_19,113838601)",
+ "equals(D_220055064_19_19,503154121)",
+ "valueIsOneOf('D_220055064_19_19',807835037) or valueLength('D_395747093_19_19')>0",
+ "equals(D_220055064_19_19,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,20)",
+ "equals(D_220055064_20_20,661871565)",
+ "equals(D_220055064_20_20,657978450)",
+ "equals(D_220055064_20_20,411943417)",
+ "equals(D_220055064_20_20,113838601)",
+ "equals(D_220055064_20_20,503154121)",
+ "valueIsOneOf('D_220055064_20_20',807835037) or valueLength('D_395747093_20_20')>0",
+ "equals(D_220055064_20_20,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,21)",
+ "equals(D_220055064_21_21,661871565)",
+ "equals(D_220055064_21_21,657978450)",
+ "equals(D_220055064_21_21,411943417)",
+ "equals(D_220055064_21_21,113838601)",
+ "equals(D_220055064_21_21,503154121)",
+ "valueIsOneOf('D_220055064_21_21',807835037) or valueLength('D_395747093_21_21')>0",
+ "equals(D_220055064_21_21,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,22)",
+ "equals(D_220055064_22_22,661871565)",
+ "equals(D_220055064_22_22,657978450)",
+ "equals(D_220055064_22_22,411943417)",
+ "equals(D_220055064_22_22,113838601)",
+ "equals(D_220055064_22_22,503154121)",
+ "valueIsOneOf('D_220055064_22_22',807835037) or valueLength('D_395747093_22_22')>0",
+ "equals(D_220055064_22_22,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,23)",
+ "equals(D_220055064_23_23,661871565)",
+ "equals(D_220055064_23_23,657978450)",
+ "equals(D_220055064_23_23,411943417)",
+ "equals(D_220055064_23_23,113838601)",
+ "equals(D_220055064_23_23,503154121)",
+ "valueIsOneOf('D_220055064_23_23',807835037) or valueLength('D_395747093_23_23')>0",
+ "equals(D_220055064_23_23,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,24)",
+ "equals(D_220055064_24_24,661871565)",
+ "equals(D_220055064_24_24,657978450)",
+ "equals(D_220055064_24_24,411943417)",
+ "equals(D_220055064_24_24,113838601)",
+ "equals(D_220055064_24_24,503154121)",
+ "valueIsOneOf('D_220055064_24_24',807835037) or valueLength('D_395747093_24_24')>0",
+ "equals(D_220055064_24_24,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,25)",
+ "equals(D_220055064_25_25,661871565)",
+ "equals(D_220055064_25_25,657978450)",
+ "equals(D_220055064_25_25,411943417)",
+ "equals(D_220055064_25_25,113838601)",
+ "equals(D_220055064_25_25,503154121)",
+ "valueIsOneOf('D_220055064_25_25',807835037) or valueLength('D_395747093_25_25')>0",
+ "equals(D_220055064_25_25,178420302)"
+ ],
+ "sitesByScope": {
+ "grid-row": 29,
+ "inline": 479,
+ "question": 589
+ },
+ "sitesByAttribute": {
+ "data-displayif": 29,
+ "displayif": 1068
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_847578001",
+ "questionIndex": 505,
+ "rowQuestionIds": [
+ "D_488415137",
+ "D_167695804",
+ "D_730334054",
+ "D_215996690",
+ "D_462737492",
+ "D_469675296"
+ ],
+ "rowCount": 6,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_136730307",
+ "questionIndex": 506,
+ "rowQuestionIds": [
+ "D_962475128",
+ "D_989576239",
+ "D_338613869",
+ "D_126794793",
+ "D_218793117"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_751358419",
+ "questionIndex": 507,
+ "rowQuestionIds": [
+ "D_524096053",
+ "D_814101706",
+ "D_635026188",
+ "D_238135048",
+ "D_632714520"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_114280729",
+ "questionIndex": 511,
+ "rowQuestionIds": [
+ "D_374567479",
+ "D_966214244",
+ "D_109223043",
+ "D_368669706",
+ "D_605818246",
+ "D_790860504",
+ "D_336856410",
+ "D_518602598",
+ "D_770190369",
+ "D_994153376",
+ "D_481587023",
+ "D_590361055",
+ "D_108389123",
+ "D_747085418",
+ "D_702905707",
+ "D_986119909"
+ ],
+ "rowCount": 16,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "232063618",
+ "948148236",
+ "692824372"
+ ]
+ },
+ {
+ "questionId": "D_813989715",
+ "questionIndex": 517,
+ "rowQuestionIds": [
+ "D_874168085",
+ "D_283112988",
+ "D_580629349",
+ "D_151327643",
+ "D_440872808",
+ "D_874223830"
+ ],
+ "rowCount": 6,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "931688701",
+ "586272115",
+ "770236544"
+ ]
+ },
+ {
+ "questionId": "D_857165713",
+ "questionIndex": 518,
+ "rowQuestionIds": [
+ "D_847529903",
+ "D_219358831",
+ "D_636367178",
+ "D_243443780",
+ "D_357462273",
+ "D_638380747",
+ "D_187399900"
+ ],
+ "rowCount": 7,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "931688701",
+ "586272115",
+ "770236544"
+ ]
+ },
+ {
+ "questionId": "D_749956170",
+ "questionIndex": 519,
+ "rowQuestionIds": [
+ "D_527872064",
+ "D_691752394",
+ "D_143206081",
+ "D_431203595",
+ "D_516899143",
+ "D_223008071",
+ "D_599862694",
+ "D_860444009",
+ "D_246857412",
+ "D_144819886",
+ "D_304155106",
+ "D_830581863",
+ "D_463689026"
+ ],
+ "rowCount": 13,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "232063618",
+ "948148236",
+ "692824372"
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_860011428"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 3,
+ 23,
+ 43,
+ 63,
+ 83,
+ 103,
+ 123,
+ 143,
+ 163,
+ 183,
+ 203,
+ 223,
+ 243,
+ 263,
+ 283,
+ 303,
+ 323,
+ 343,
+ 363,
+ 383,
+ 403,
+ 423,
+ 443,
+ 463,
+ 483
+ ],
+ "boundaryIndex": 503
+ },
+ {
+ "loopIndex": "2",
+ "loopMaxQuestionIds": [
+ "D_877074400_V2"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 523,
+ 526,
+ 529,
+ 532,
+ 535,
+ 538,
+ 541,
+ 544,
+ 547,
+ 550,
+ 553,
+ 556,
+ 559,
+ 562,
+ 565,
+ 568,
+ 571,
+ 574,
+ 577,
+ 580,
+ 583,
+ 586,
+ 589,
+ 592,
+ 595
+ ],
+ "boundaryIndex": 598
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 97,
+ "processorQuestionCount": 600,
+ "processedQuestionCount": 600,
+ "renderedFormCount": 600,
+ "controlCount": 3922,
+ "responseControlCount": 1970,
+ "explicitTransitionCount": 540,
+ "sequentialAdjacencyCount": 599,
+ "resolvedExplicitTransitionCount": 540,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1097,
+ "gridQuestionCount": 7,
+ "gridRowCount": 58,
+ "loopStartCount": 50,
+ "loopDefinitionCount": 2,
+ "loopExpandedQuestionCount": 575,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 517
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleCOVID19",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleCOVID19Spanish.txt",
+ "sha256": "3aec9221ab9dedd091d46b6eee3de1085e49f3a7c93e98e4ee8b47da969b9c43",
+ "questName": "D_793330426",
+ "version": "1.3",
+ "authoredMarkerCount": 97,
+ "runtimeQuestionIds": [
+ "SRVCOV_COVIDINTRO_V1R0",
+ "D_494226443?",
+ "D_860011428?",
+ "D_980800222_V2_1_1!",
+ "D_366980310_1_1?",
+ "D_498462481_1_1?",
+ "D_694503437_1_1?",
+ "D_451163824_1_1?",
+ "D_705336878_1_1?",
+ "D_928530823_1_1?",
+ "D_108733102_1_1?",
+ "D_389465772_1_1?",
+ "D_775313030_1_1?",
+ "D_744230001_1_1?",
+ "D_782396371_1_1?",
+ "D_930944000_1_1?",
+ "D_984121390_1_1?",
+ "D_430166879_1_1?",
+ "D_179406442_1_1?",
+ "D_803339020_1_1?",
+ "D_893966847_1_1?",
+ "D_169509213_1_1?",
+ "SRVCOV_COVSUMMARY_V1R0_1_1",
+ "D_980800222_V2_2_2!",
+ "D_366980310_2_2?",
+ "D_498462481_2_2?",
+ "D_694503437_2_2?",
+ "D_451163824_2_2?",
+ "D_705336878_2_2?",
+ "D_928530823_2_2?",
+ "D_108733102_2_2?",
+ "D_389465772_2_2?",
+ "D_775313030_2_2?",
+ "D_744230001_2_2?",
+ "D_782396371_2_2?",
+ "D_930944000_2_2?",
+ "D_984121390_2_2?",
+ "D_430166879_2_2?",
+ "D_179406442_2_2?",
+ "D_803339020_2_2?",
+ "D_893966847_2_2?",
+ "D_169509213_2_2?",
+ "SRVCOV_COVSUMMARY_V1R0_2_2",
+ "D_980800222_V2_3_3!",
+ "D_366980310_3_3?",
+ "D_498462481_3_3?",
+ "D_694503437_3_3?",
+ "D_451163824_3_3?",
+ "D_705336878_3_3?",
+ "D_928530823_3_3?",
+ "D_108733102_3_3?",
+ "D_389465772_3_3?",
+ "D_775313030_3_3?",
+ "D_744230001_3_3?",
+ "D_782396371_3_3?",
+ "D_930944000_3_3?",
+ "D_984121390_3_3?",
+ "D_430166879_3_3?",
+ "D_179406442_3_3?",
+ "D_803339020_3_3?",
+ "D_893966847_3_3?",
+ "D_169509213_3_3?",
+ "SRVCOV_COVSUMMARY_V1R0_3_3",
+ "D_980800222_V2_4_4!",
+ "D_366980310_4_4?",
+ "D_498462481_4_4?",
+ "D_694503437_4_4?",
+ "D_451163824_4_4?",
+ "D_705336878_4_4?",
+ "D_928530823_4_4?",
+ "D_108733102_4_4?",
+ "D_389465772_4_4?",
+ "D_775313030_4_4?",
+ "D_744230001_4_4?",
+ "D_782396371_4_4?",
+ "D_930944000_4_4?",
+ "D_984121390_4_4?",
+ "D_430166879_4_4?",
+ "D_179406442_4_4?",
+ "D_803339020_4_4?",
+ "D_893966847_4_4?",
+ "D_169509213_4_4?",
+ "SRVCOV_COVSUMMARY_V1R0_4_4",
+ "D_980800222_V2_5_5!",
+ "D_366980310_5_5?",
+ "D_498462481_5_5?",
+ "D_694503437_5_5?",
+ "D_451163824_5_5?",
+ "D_705336878_5_5?",
+ "D_928530823_5_5?",
+ "D_108733102_5_5?",
+ "D_389465772_5_5?",
+ "D_775313030_5_5?",
+ "D_744230001_5_5?",
+ "D_782396371_5_5?",
+ "D_930944000_5_5?",
+ "D_984121390_5_5?",
+ "D_430166879_5_5?",
+ "D_179406442_5_5?",
+ "D_803339020_5_5?",
+ "D_893966847_5_5?",
+ "D_169509213_5_5?",
+ "SRVCOV_COVSUMMARY_V1R0_5_5",
+ "D_980800222_V2_6_6!",
+ "D_366980310_6_6?",
+ "D_498462481_6_6?",
+ "D_694503437_6_6?",
+ "D_451163824_6_6?",
+ "D_705336878_6_6?",
+ "D_928530823_6_6?",
+ "D_108733102_6_6?",
+ "D_389465772_6_6?",
+ "D_775313030_6_6?",
+ "D_744230001_6_6?",
+ "D_782396371_6_6?",
+ "D_930944000_6_6?",
+ "D_984121390_6_6?",
+ "D_430166879_6_6?",
+ "D_179406442_6_6?",
+ "D_803339020_6_6?",
+ "D_893966847_6_6?",
+ "D_169509213_6_6?",
+ "SRVCOV_COVSUMMARY_V1R0_6_6",
+ "D_980800222_V2_7_7!",
+ "D_366980310_7_7?",
+ "D_498462481_7_7?",
+ "D_694503437_7_7?",
+ "D_451163824_7_7?",
+ "D_705336878_7_7?",
+ "D_928530823_7_7?",
+ "D_108733102_7_7?",
+ "D_389465772_7_7?",
+ "D_775313030_7_7?",
+ "D_744230001_7_7?",
+ "D_782396371_7_7?",
+ "D_930944000_7_7?",
+ "D_984121390_7_7?",
+ "D_430166879_7_7?",
+ "D_179406442_7_7?",
+ "D_803339020_7_7?",
+ "D_893966847_7_7?",
+ "D_169509213_7_7?",
+ "SRVCOV_COVSUMMARY_V1R0_7_7",
+ "D_980800222_V2_8_8!",
+ "D_366980310_8_8?",
+ "D_498462481_8_8?",
+ "D_694503437_8_8?",
+ "D_451163824_8_8?",
+ "D_705336878_8_8?",
+ "D_928530823_8_8?",
+ "D_108733102_8_8?",
+ "D_389465772_8_8?",
+ "D_775313030_8_8?",
+ "D_744230001_8_8?",
+ "D_782396371_8_8?",
+ "D_930944000_8_8?",
+ "D_984121390_8_8?",
+ "D_430166879_8_8?",
+ "D_179406442_8_8?",
+ "D_803339020_8_8?",
+ "D_893966847_8_8?",
+ "D_169509213_8_8?",
+ "SRVCOV_COVSUMMARY_V1R0_8_8",
+ "D_980800222_V2_9_9!",
+ "D_366980310_9_9?",
+ "D_498462481_9_9?",
+ "D_694503437_9_9?",
+ "D_451163824_9_9?",
+ "D_705336878_9_9?",
+ "D_928530823_9_9?",
+ "D_108733102_9_9?",
+ "D_389465772_9_9?",
+ "D_775313030_9_9?",
+ "D_744230001_9_9?",
+ "D_782396371_9_9?",
+ "D_930944000_9_9?",
+ "D_984121390_9_9?",
+ "D_430166879_9_9?",
+ "D_179406442_9_9?",
+ "D_803339020_9_9?",
+ "D_893966847_9_9?",
+ "D_169509213_9_9?",
+ "SRVCOV_COVSUMMARY_V1R0_9_9",
+ "D_980800222_V2_10_10!",
+ "D_366980310_10_10?",
+ "D_498462481_10_10?",
+ "D_694503437_10_10?",
+ "D_451163824_10_10?",
+ "D_705336878_10_10?",
+ "D_928530823_10_10?",
+ "D_108733102_10_10?",
+ "D_389465772_10_10?",
+ "D_775313030_10_10?",
+ "D_744230001_10_10?",
+ "D_782396371_10_10?",
+ "D_930944000_10_10?",
+ "D_984121390_10_10?",
+ "D_430166879_10_10?",
+ "D_179406442_10_10?",
+ "D_803339020_10_10?",
+ "D_893966847_10_10?",
+ "D_169509213_10_10?",
+ "SRVCOV_COVSUMMARY_V1R0_10_10",
+ "D_980800222_V2_11_11!",
+ "D_366980310_11_11?",
+ "D_498462481_11_11?",
+ "D_694503437_11_11?",
+ "D_451163824_11_11?",
+ "D_705336878_11_11?",
+ "D_928530823_11_11?",
+ "D_108733102_11_11?",
+ "D_389465772_11_11?",
+ "D_775313030_11_11?",
+ "D_744230001_11_11?",
+ "D_782396371_11_11?",
+ "D_930944000_11_11?",
+ "D_984121390_11_11?",
+ "D_430166879_11_11?",
+ "D_179406442_11_11?",
+ "D_803339020_11_11?",
+ "D_893966847_11_11?",
+ "D_169509213_11_11?",
+ "SRVCOV_COVSUMMARY_V1R0_11_11",
+ "D_980800222_V2_12_12!",
+ "D_366980310_12_12?",
+ "D_498462481_12_12?",
+ "D_694503437_12_12?",
+ "D_451163824_12_12?",
+ "D_705336878_12_12?",
+ "D_928530823_12_12?",
+ "D_108733102_12_12?",
+ "D_389465772_12_12?",
+ "D_775313030_12_12?",
+ "D_744230001_12_12?",
+ "D_782396371_12_12?",
+ "D_930944000_12_12?",
+ "D_984121390_12_12?",
+ "D_430166879_12_12?",
+ "D_179406442_12_12?",
+ "D_803339020_12_12?",
+ "D_893966847_12_12?",
+ "D_169509213_12_12?",
+ "SRVCOV_COVSUMMARY_V1R0_12_12",
+ "D_980800222_V2_13_13!",
+ "D_366980310_13_13?",
+ "D_498462481_13_13?",
+ "D_694503437_13_13?",
+ "D_451163824_13_13?",
+ "D_705336878_13_13?",
+ "D_928530823_13_13?",
+ "D_108733102_13_13?",
+ "D_389465772_13_13?",
+ "D_775313030_13_13?",
+ "D_744230001_13_13?",
+ "D_782396371_13_13?",
+ "D_930944000_13_13?",
+ "D_984121390_13_13?",
+ "D_430166879_13_13?",
+ "D_179406442_13_13?",
+ "D_803339020_13_13?",
+ "D_893966847_13_13?",
+ "D_169509213_13_13?",
+ "SRVCOV_COVSUMMARY_V1R0_13_13",
+ "D_980800222_V2_14_14!",
+ "D_366980310_14_14?",
+ "D_498462481_14_14?",
+ "D_694503437_14_14?",
+ "D_451163824_14_14?",
+ "D_705336878_14_14?",
+ "D_928530823_14_14?",
+ "D_108733102_14_14?",
+ "D_389465772_14_14?",
+ "D_775313030_14_14?",
+ "D_744230001_14_14?",
+ "D_782396371_14_14?",
+ "D_930944000_14_14?",
+ "D_984121390_14_14?",
+ "D_430166879_14_14?",
+ "D_179406442_14_14?",
+ "D_803339020_14_14?",
+ "D_893966847_14_14?",
+ "D_169509213_14_14?",
+ "SRVCOV_COVSUMMARY_V1R0_14_14",
+ "D_980800222_V2_15_15!",
+ "D_366980310_15_15?",
+ "D_498462481_15_15?",
+ "D_694503437_15_15?",
+ "D_451163824_15_15?",
+ "D_705336878_15_15?",
+ "D_928530823_15_15?",
+ "D_108733102_15_15?",
+ "D_389465772_15_15?",
+ "D_775313030_15_15?",
+ "D_744230001_15_15?",
+ "D_782396371_15_15?",
+ "D_930944000_15_15?",
+ "D_984121390_15_15?",
+ "D_430166879_15_15?",
+ "D_179406442_15_15?",
+ "D_803339020_15_15?",
+ "D_893966847_15_15?",
+ "D_169509213_15_15?",
+ "SRVCOV_COVSUMMARY_V1R0_15_15",
+ "D_980800222_V2_16_16!",
+ "D_366980310_16_16?",
+ "D_498462481_16_16?",
+ "D_694503437_16_16?",
+ "D_451163824_16_16?",
+ "D_705336878_16_16?",
+ "D_928530823_16_16?",
+ "D_108733102_16_16?",
+ "D_389465772_16_16?",
+ "D_775313030_16_16?",
+ "D_744230001_16_16?",
+ "D_782396371_16_16?",
+ "D_930944000_16_16?",
+ "D_984121390_16_16?",
+ "D_430166879_16_16?",
+ "D_179406442_16_16?",
+ "D_803339020_16_16?",
+ "D_893966847_16_16?",
+ "D_169509213_16_16?",
+ "SRVCOV_COVSUMMARY_V1R0_16_16",
+ "D_980800222_V2_17_17!",
+ "D_366980310_17_17?",
+ "D_498462481_17_17?",
+ "D_694503437_17_17?",
+ "D_451163824_17_17?",
+ "D_705336878_17_17?",
+ "D_928530823_17_17?",
+ "D_108733102_17_17?",
+ "D_389465772_17_17?",
+ "D_775313030_17_17?",
+ "D_744230001_17_17?",
+ "D_782396371_17_17?",
+ "D_930944000_17_17?",
+ "D_984121390_17_17?",
+ "D_430166879_17_17?",
+ "D_179406442_17_17?",
+ "D_803339020_17_17?",
+ "D_893966847_17_17?",
+ "D_169509213_17_17?",
+ "SRVCOV_COVSUMMARY_V1R0_17_17",
+ "D_980800222_V2_18_18!",
+ "D_366980310_18_18?",
+ "D_498462481_18_18?",
+ "D_694503437_18_18?",
+ "D_451163824_18_18?",
+ "D_705336878_18_18?",
+ "D_928530823_18_18?",
+ "D_108733102_18_18?",
+ "D_389465772_18_18?",
+ "D_775313030_18_18?",
+ "D_744230001_18_18?",
+ "D_782396371_18_18?",
+ "D_930944000_18_18?",
+ "D_984121390_18_18?",
+ "D_430166879_18_18?",
+ "D_179406442_18_18?",
+ "D_803339020_18_18?",
+ "D_893966847_18_18?",
+ "D_169509213_18_18?",
+ "SRVCOV_COVSUMMARY_V1R0_18_18",
+ "D_980800222_V2_19_19!",
+ "D_366980310_19_19?",
+ "D_498462481_19_19?",
+ "D_694503437_19_19?",
+ "D_451163824_19_19?",
+ "D_705336878_19_19?",
+ "D_928530823_19_19?",
+ "D_108733102_19_19?",
+ "D_389465772_19_19?",
+ "D_775313030_19_19?",
+ "D_744230001_19_19?",
+ "D_782396371_19_19?",
+ "D_930944000_19_19?",
+ "D_984121390_19_19?",
+ "D_430166879_19_19?",
+ "D_179406442_19_19?",
+ "D_803339020_19_19?",
+ "D_893966847_19_19?",
+ "D_169509213_19_19?",
+ "SRVCOV_COVSUMMARY_V1R0_19_19",
+ "D_980800222_V2_20_20!",
+ "D_366980310_20_20?",
+ "D_498462481_20_20?",
+ "D_694503437_20_20?",
+ "D_451163824_20_20?",
+ "D_705336878_20_20?",
+ "D_928530823_20_20?",
+ "D_108733102_20_20?",
+ "D_389465772_20_20?",
+ "D_775313030_20_20?",
+ "D_744230001_20_20?",
+ "D_782396371_20_20?",
+ "D_930944000_20_20?",
+ "D_984121390_20_20?",
+ "D_430166879_20_20?",
+ "D_179406442_20_20?",
+ "D_803339020_20_20?",
+ "D_893966847_20_20?",
+ "D_169509213_20_20?",
+ "SRVCOV_COVSUMMARY_V1R0_20_20",
+ "D_980800222_V2_21_21!",
+ "D_366980310_21_21?",
+ "D_498462481_21_21?",
+ "D_694503437_21_21?",
+ "D_451163824_21_21?",
+ "D_705336878_21_21?",
+ "D_928530823_21_21?",
+ "D_108733102_21_21?",
+ "D_389465772_21_21?",
+ "D_775313030_21_21?",
+ "D_744230001_21_21?",
+ "D_782396371_21_21?",
+ "D_930944000_21_21?",
+ "D_984121390_21_21?",
+ "D_430166879_21_21?",
+ "D_179406442_21_21?",
+ "D_803339020_21_21?",
+ "D_893966847_21_21?",
+ "D_169509213_21_21?",
+ "SRVCOV_COVSUMMARY_V1R0_21_21",
+ "D_980800222_V2_22_22!",
+ "D_366980310_22_22?",
+ "D_498462481_22_22?",
+ "D_694503437_22_22?",
+ "D_451163824_22_22?",
+ "D_705336878_22_22?",
+ "D_928530823_22_22?",
+ "D_108733102_22_22?",
+ "D_389465772_22_22?",
+ "D_775313030_22_22?",
+ "D_744230001_22_22?",
+ "D_782396371_22_22?",
+ "D_930944000_22_22?",
+ "D_984121390_22_22?",
+ "D_430166879_22_22?",
+ "D_179406442_22_22?",
+ "D_803339020_22_22?",
+ "D_893966847_22_22?",
+ "D_169509213_22_22?",
+ "SRVCOV_COVSUMMARY_V1R0_22_22",
+ "D_980800222_V2_23_23!",
+ "D_366980310_23_23?",
+ "D_498462481_23_23?",
+ "D_694503437_23_23?",
+ "D_451163824_23_23?",
+ "D_705336878_23_23?",
+ "D_928530823_23_23?",
+ "D_108733102_23_23?",
+ "D_389465772_23_23?",
+ "D_775313030_23_23?",
+ "D_744230001_23_23?",
+ "D_782396371_23_23?",
+ "D_930944000_23_23?",
+ "D_984121390_23_23?",
+ "D_430166879_23_23?",
+ "D_179406442_23_23?",
+ "D_803339020_23_23?",
+ "D_893966847_23_23?",
+ "D_169509213_23_23?",
+ "SRVCOV_COVSUMMARY_V1R0_23_23",
+ "D_980800222_V2_24_24!",
+ "D_366980310_24_24?",
+ "D_498462481_24_24?",
+ "D_694503437_24_24?",
+ "D_451163824_24_24?",
+ "D_705336878_24_24?",
+ "D_928530823_24_24?",
+ "D_108733102_24_24?",
+ "D_389465772_24_24?",
+ "D_775313030_24_24?",
+ "D_744230001_24_24?",
+ "D_782396371_24_24?",
+ "D_930944000_24_24?",
+ "D_984121390_24_24?",
+ "D_430166879_24_24?",
+ "D_179406442_24_24?",
+ "D_803339020_24_24?",
+ "D_893966847_24_24?",
+ "D_169509213_24_24?",
+ "SRVCOV_COVSUMMARY_V1R0_24_24",
+ "D_980800222_V2_25_25!",
+ "D_366980310_25_25?",
+ "D_498462481_25_25?",
+ "D_694503437_25_25?",
+ "D_451163824_25_25?",
+ "D_705336878_25_25?",
+ "D_928530823_25_25?",
+ "D_108733102_25_25?",
+ "D_389465772_25_25?",
+ "D_775313030_25_25?",
+ "D_744230001_25_25?",
+ "D_782396371_25_25?",
+ "D_930944000_25_25?",
+ "D_984121390_25_25?",
+ "D_430166879_25_25?",
+ "D_179406442_25_25?",
+ "D_803339020_25_25?",
+ "D_893966847_25_25?",
+ "D_169509213_25_25?",
+ "SRVCOV_COVSUMMARY_V1R0_25_25",
+ "END_OF_LOOP",
+ "COV19_SKIP",
+ "D_847578001",
+ "D_136730307",
+ "D_751358419",
+ "D_110872086?",
+ "D_591826144?",
+ "COV20_SKIP",
+ "D_114280729",
+ "COV20A17_SKIP",
+ "D_934384452?",
+ "D_273371161?",
+ "D_959877599?",
+ "COV23_SKIP",
+ "D_813989715",
+ "D_857165713",
+ "D_749956170",
+ "SRVCOV_COV25INTRO_V1R0",
+ "D_890156588_V2?",
+ "D_877074400_V2?",
+ "D_715581797_V2_1_1?",
+ "D_220055064_1_1?",
+ "SRVCOV_COV29_V1R0_1_1",
+ "D_715581797_V2_2_2?",
+ "D_220055064_2_2?",
+ "SRVCOV_COV29_V1R0_2_2",
+ "D_715581797_V2_3_3?",
+ "D_220055064_3_3?",
+ "SRVCOV_COV29_V1R0_3_3",
+ "D_715581797_V2_4_4?",
+ "D_220055064_4_4?",
+ "SRVCOV_COV29_V1R0_4_4",
+ "D_715581797_V2_5_5?",
+ "D_220055064_5_5?",
+ "SRVCOV_COV29_V1R0_5_5",
+ "D_715581797_V2_6_6?",
+ "D_220055064_6_6?",
+ "SRVCOV_COV29_V1R0_6_6",
+ "D_715581797_V2_7_7?",
+ "D_220055064_7_7?",
+ "SRVCOV_COV29_V1R0_7_7",
+ "D_715581797_V2_8_8?",
+ "D_220055064_8_8?",
+ "SRVCOV_COV29_V1R0_8_8",
+ "D_715581797_V2_9_9?",
+ "D_220055064_9_9?",
+ "SRVCOV_COV29_V1R0_9_9",
+ "D_715581797_V2_10_10?",
+ "D_220055064_10_10?",
+ "SRVCOV_COV29_V1R0_10_10",
+ "D_715581797_V2_11_11?",
+ "D_220055064_11_11?",
+ "SRVCOV_COV29_V1R0_11_11",
+ "D_715581797_V2_12_12?",
+ "D_220055064_12_12?",
+ "SRVCOV_COV29_V1R0_12_12",
+ "D_715581797_V2_13_13?",
+ "D_220055064_13_13?",
+ "SRVCOV_COV29_V1R0_13_13",
+ "D_715581797_V2_14_14?",
+ "D_220055064_14_14?",
+ "SRVCOV_COV29_V1R0_14_14",
+ "D_715581797_V2_15_15?",
+ "D_220055064_15_15?",
+ "SRVCOV_COV29_V1R0_15_15",
+ "D_715581797_V2_16_16?",
+ "D_220055064_16_16?",
+ "SRVCOV_COV29_V1R0_16_16",
+ "D_715581797_V2_17_17?",
+ "D_220055064_17_17?",
+ "SRVCOV_COV29_V1R0_17_17",
+ "D_715581797_V2_18_18?",
+ "D_220055064_18_18?",
+ "SRVCOV_COV29_V1R0_18_18",
+ "D_715581797_V2_19_19?",
+ "D_220055064_19_19?",
+ "SRVCOV_COV29_V1R0_19_19",
+ "D_715581797_V2_20_20?",
+ "D_220055064_20_20?",
+ "SRVCOV_COV29_V1R0_20_20",
+ "D_715581797_V2_21_21?",
+ "D_220055064_21_21?",
+ "SRVCOV_COV29_V1R0_21_21",
+ "D_715581797_V2_22_22?",
+ "D_220055064_22_22?",
+ "SRVCOV_COV29_V1R0_22_22",
+ "D_715581797_V2_23_23?",
+ "D_220055064_23_23?",
+ "SRVCOV_COV29_V1R0_23_23",
+ "D_715581797_V2_24_24?",
+ "D_220055064_24_24?",
+ "SRVCOV_COV29_V1R0_24_24",
+ "D_715581797_V2_25_25?",
+ "D_220055064_25_25?",
+ "SRVCOV_COV29_V1R0_25_25",
+ "END_OF_LOOP",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 475,
+ "month": 50,
+ "number": 129,
+ "radio": 1265,
+ "text": 51
+ },
+ "explicitTransitions": {
+ "targets": [
+ "COV23_SKIP",
+ "D_694503437_1_1",
+ "D_498462481_1_1",
+ "SRVCOV_COVSUMMARY_V1R0_1_1",
+ "D_984121390_1_1",
+ "D_179406442_1_1",
+ "D_893966847_1_1",
+ "_CONTINUE1_1_1",
+ "D_694503437_2_2",
+ "D_498462481_2_2",
+ "SRVCOV_COVSUMMARY_V1R0_2_2",
+ "D_984121390_2_2",
+ "D_179406442_2_2",
+ "D_893966847_2_2",
+ "_CONTINUE1_2_2",
+ "D_694503437_3_3",
+ "D_498462481_3_3",
+ "SRVCOV_COVSUMMARY_V1R0_3_3",
+ "D_984121390_3_3",
+ "D_179406442_3_3",
+ "D_893966847_3_3",
+ "_CONTINUE1_3_3",
+ "D_694503437_4_4",
+ "D_498462481_4_4",
+ "SRVCOV_COVSUMMARY_V1R0_4_4",
+ "D_984121390_4_4",
+ "D_179406442_4_4",
+ "D_893966847_4_4",
+ "_CONTINUE1_4_4",
+ "D_694503437_5_5",
+ "D_498462481_5_5",
+ "SRVCOV_COVSUMMARY_V1R0_5_5",
+ "D_984121390_5_5",
+ "D_179406442_5_5",
+ "D_893966847_5_5",
+ "_CONTINUE1_5_5",
+ "D_694503437_6_6",
+ "D_498462481_6_6",
+ "SRVCOV_COVSUMMARY_V1R0_6_6",
+ "D_984121390_6_6",
+ "D_179406442_6_6",
+ "D_893966847_6_6",
+ "_CONTINUE1_6_6",
+ "D_694503437_7_7",
+ "D_498462481_7_7",
+ "SRVCOV_COVSUMMARY_V1R0_7_7",
+ "D_984121390_7_7",
+ "D_179406442_7_7",
+ "D_893966847_7_7",
+ "_CONTINUE1_7_7",
+ "D_694503437_8_8",
+ "D_498462481_8_8",
+ "SRVCOV_COVSUMMARY_V1R0_8_8",
+ "D_984121390_8_8",
+ "D_179406442_8_8",
+ "D_893966847_8_8",
+ "_CONTINUE1_8_8",
+ "D_694503437_9_9",
+ "D_498462481_9_9",
+ "SRVCOV_COVSUMMARY_V1R0_9_9",
+ "D_984121390_9_9",
+ "D_179406442_9_9",
+ "D_893966847_9_9",
+ "_CONTINUE1_9_9",
+ "D_694503437_10_10",
+ "D_498462481_10_10",
+ "SRVCOV_COVSUMMARY_V1R0_10_10",
+ "D_984121390_10_10",
+ "D_179406442_10_10",
+ "D_893966847_10_10",
+ "_CONTINUE1_10_10",
+ "D_694503437_11_11",
+ "D_498462481_11_11",
+ "SRVCOV_COVSUMMARY_V1R0_11_11",
+ "D_984121390_11_11",
+ "D_179406442_11_11",
+ "D_893966847_11_11",
+ "_CONTINUE1_11_11",
+ "D_694503437_12_12",
+ "D_498462481_12_12",
+ "SRVCOV_COVSUMMARY_V1R0_12_12",
+ "D_984121390_12_12",
+ "D_179406442_12_12",
+ "D_893966847_12_12",
+ "_CONTINUE1_12_12",
+ "D_694503437_13_13",
+ "D_498462481_13_13",
+ "SRVCOV_COVSUMMARY_V1R0_13_13",
+ "D_984121390_13_13",
+ "D_179406442_13_13",
+ "D_893966847_13_13",
+ "_CONTINUE1_13_13",
+ "D_694503437_14_14",
+ "D_498462481_14_14",
+ "SRVCOV_COVSUMMARY_V1R0_14_14",
+ "D_984121390_14_14",
+ "D_179406442_14_14",
+ "D_893966847_14_14",
+ "_CONTINUE1_14_14",
+ "D_694503437_15_15",
+ "D_498462481_15_15",
+ "SRVCOV_COVSUMMARY_V1R0_15_15",
+ "D_984121390_15_15",
+ "D_179406442_15_15",
+ "D_893966847_15_15",
+ "_CONTINUE1_15_15",
+ "D_694503437_16_16",
+ "D_498462481_16_16",
+ "SRVCOV_COVSUMMARY_V1R0_16_16",
+ "D_984121390_16_16",
+ "D_179406442_16_16",
+ "D_893966847_16_16",
+ "_CONTINUE1_16_16",
+ "D_694503437_17_17",
+ "D_498462481_17_17",
+ "SRVCOV_COVSUMMARY_V1R0_17_17",
+ "D_984121390_17_17",
+ "D_179406442_17_17",
+ "D_893966847_17_17",
+ "_CONTINUE1_17_17",
+ "D_694503437_18_18",
+ "D_498462481_18_18",
+ "SRVCOV_COVSUMMARY_V1R0_18_18",
+ "D_984121390_18_18",
+ "D_179406442_18_18",
+ "D_893966847_18_18",
+ "_CONTINUE1_18_18",
+ "D_694503437_19_19",
+ "D_498462481_19_19",
+ "SRVCOV_COVSUMMARY_V1R0_19_19",
+ "D_984121390_19_19",
+ "D_179406442_19_19",
+ "D_893966847_19_19",
+ "_CONTINUE1_19_19",
+ "D_694503437_20_20",
+ "D_498462481_20_20",
+ "SRVCOV_COVSUMMARY_V1R0_20_20",
+ "D_984121390_20_20",
+ "D_179406442_20_20",
+ "D_893966847_20_20",
+ "_CONTINUE1_20_20",
+ "D_694503437_21_21",
+ "D_498462481_21_21",
+ "SRVCOV_COVSUMMARY_V1R0_21_21",
+ "D_984121390_21_21",
+ "D_179406442_21_21",
+ "D_893966847_21_21",
+ "_CONTINUE1_21_21",
+ "D_694503437_22_22",
+ "D_498462481_22_22",
+ "SRVCOV_COVSUMMARY_V1R0_22_22",
+ "D_984121390_22_22",
+ "D_179406442_22_22",
+ "D_893966847_22_22",
+ "_CONTINUE1_22_22",
+ "D_694503437_23_23",
+ "D_498462481_23_23",
+ "SRVCOV_COVSUMMARY_V1R0_23_23",
+ "D_984121390_23_23",
+ "D_179406442_23_23",
+ "D_893966847_23_23",
+ "_CONTINUE1_23_23",
+ "D_694503437_24_24",
+ "D_498462481_24_24",
+ "SRVCOV_COVSUMMARY_V1R0_24_24",
+ "D_984121390_24_24",
+ "D_179406442_24_24",
+ "D_893966847_24_24",
+ "_CONTINUE1_24_24",
+ "D_694503437_25_25",
+ "D_498462481_25_25",
+ "SRVCOV_COVSUMMARY_V1R0_25_25",
+ "D_984121390_25_25",
+ "D_179406442_25_25",
+ "D_893966847_25_25",
+ "_CONTINUE1_25_25",
+ "COV20_SKIP",
+ "D_591826144",
+ "COV20A17_SKIP",
+ "SRVCOV_COV25INTRO_V1R0",
+ "END"
+ ],
+ "byKind": {
+ "default": 30,
+ "no-response": 153,
+ "response": 357
+ },
+ "byResolution": {
+ "exact": 512,
+ "terminal": 3,
+ "virtual-loop": 25
+ },
+ "triggerTypes": {
+ "hidden": 183,
+ "radio": 357
+ },
+ "triggerValues": [
+ "104430631",
+ "178420302",
+ "353358909",
+ "317811347",
+ "707601969"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "greaterThanOrEqual(D_860011428,1)",
+ "exists('D_686508359_1_1')",
+ "equals(D_366980310_1_1,353358909)",
+ "equals(D_366980310_1_1,104430631)",
+ "equals(D_366980310_1_1,178420302)",
+ "equals(D_694503437_1_1,353358909)",
+ "equals(D_694503437_1_1,104430631)",
+ "doesNotEqual(D_694503437_1_1,104430631)",
+ "equals(D_775313030_1_1,353358909)",
+ "equals(D_775313030_1_1,104430631)",
+ "equals(D_775313030_1_1,178420302)",
+ "greaterThanOrEqual(D_860011428,2)",
+ "exists('D_686508359_2_2')",
+ "equals(D_366980310_2_2,353358909)",
+ "equals(D_366980310_2_2,104430631)",
+ "equals(D_366980310_2_2,178420302)",
+ "equals(D_694503437_2_2,353358909)",
+ "equals(D_694503437_2_2,104430631)",
+ "doesNotEqual(D_694503437_2_2,104430631)",
+ "equals(D_775313030_2_2,353358909)",
+ "equals(D_775313030_2_2,104430631)",
+ "equals(D_775313030_2_2,178420302)",
+ "greaterThanOrEqual(D_860011428,3)",
+ "exists('D_686508359_3_3')",
+ "equals(D_366980310_3_3,353358909)",
+ "equals(D_366980310_3_3,104430631)",
+ "equals(D_366980310_3_3,178420302)",
+ "equals(D_694503437_3_3,353358909)",
+ "equals(D_694503437_3_3,104430631)",
+ "doesNotEqual(D_694503437_3_3,104430631)",
+ "equals(D_775313030_3_3,353358909)",
+ "equals(D_775313030_3_3,104430631)",
+ "equals(D_775313030_3_3,178420302)",
+ "greaterThanOrEqual(D_860011428,4)",
+ "exists('D_686508359_4_4')",
+ "equals(D_366980310_4_4,353358909)",
+ "equals(D_366980310_4_4,104430631)",
+ "equals(D_366980310_4_4,178420302)",
+ "equals(D_694503437_4_4,353358909)",
+ "equals(D_694503437_4_4,104430631)",
+ "doesNotEqual(D_694503437_4_4,104430631)",
+ "equals(D_775313030_4_4,353358909)",
+ "equals(D_775313030_4_4,104430631)",
+ "equals(D_775313030_4_4,178420302)",
+ "greaterThanOrEqual(D_860011428,5)",
+ "exists('D_686508359_5_5')",
+ "equals(D_366980310_5_5,353358909)",
+ "equals(D_366980310_5_5,104430631)",
+ "equals(D_366980310_5_5,178420302)",
+ "equals(D_694503437_5_5,353358909)",
+ "equals(D_694503437_5_5,104430631)",
+ "doesNotEqual(D_694503437_5_5,104430631)",
+ "equals(D_775313030_5_5,353358909)",
+ "equals(D_775313030_5_5,104430631)",
+ "equals(D_775313030_5_5,178420302)",
+ "greaterThanOrEqual(D_860011428,6)",
+ "exists('D_686508359_6_6')",
+ "equals(D_366980310_6_6,353358909)",
+ "equals(D_366980310_6_6,104430631)",
+ "equals(D_366980310_6_6,178420302)",
+ "equals(D_694503437_6_6,353358909)",
+ "equals(D_694503437_6_6,104430631)",
+ "doesNotEqual(D_694503437_6_6,104430631)",
+ "equals(D_775313030_6_6,353358909)",
+ "equals(D_775313030_6_6,104430631)",
+ "equals(D_775313030_6_6,178420302)",
+ "greaterThanOrEqual(D_860011428,7)",
+ "exists('D_686508359_7_7')",
+ "equals(D_366980310_7_7,353358909)",
+ "equals(D_366980310_7_7,104430631)",
+ "equals(D_366980310_7_7,178420302)",
+ "equals(D_694503437_7_7,353358909)",
+ "equals(D_694503437_7_7,104430631)",
+ "doesNotEqual(D_694503437_7_7,104430631)",
+ "equals(D_775313030_7_7,353358909)",
+ "equals(D_775313030_7_7,104430631)",
+ "equals(D_775313030_7_7,178420302)",
+ "greaterThanOrEqual(D_860011428,8)",
+ "exists('D_686508359_8_8')",
+ "equals(D_366980310_8_8,353358909)",
+ "equals(D_366980310_8_8,104430631)",
+ "equals(D_366980310_8_8,178420302)",
+ "equals(D_694503437_8_8,353358909)",
+ "equals(D_694503437_8_8,104430631)",
+ "doesNotEqual(D_694503437_8_8,104430631)",
+ "equals(D_775313030_8_8,353358909)",
+ "equals(D_775313030_8_8,104430631)",
+ "equals(D_775313030_8_8,178420302)",
+ "greaterThanOrEqual(D_860011428,9)",
+ "exists('D_686508359_9_9')",
+ "equals(D_366980310_9_9,353358909)",
+ "equals(D_366980310_9_9,104430631)",
+ "equals(D_366980310_9_9,178420302)",
+ "equals(D_694503437_9_9,353358909)",
+ "equals(D_694503437_9_9,104430631)",
+ "doesNotEqual(D_694503437_9_9,104430631)",
+ "equals(D_775313030_9_9,353358909)",
+ "equals(D_775313030_9_9,104430631)",
+ "equals(D_775313030_9_9,178420302)",
+ "greaterThanOrEqual(D_860011428,10)",
+ "exists('D_686508359_10_10')",
+ "equals(D_366980310_10_10,353358909)",
+ "equals(D_366980310_10_10,104430631)",
+ "equals(D_366980310_10_10,178420302)",
+ "equals(D_694503437_10_10,353358909)",
+ "equals(D_694503437_10_10,104430631)",
+ "doesNotEqual(D_694503437_10_10,104430631)",
+ "equals(D_775313030_10_10,353358909)",
+ "equals(D_775313030_10_10,104430631)",
+ "equals(D_775313030_10_10,178420302)",
+ "greaterThanOrEqual(D_860011428,11)",
+ "exists('D_686508359_11_11')",
+ "equals(D_366980310_11_11,353358909)",
+ "equals(D_366980310_11_11,104430631)",
+ "equals(D_366980310_11_11,178420302)",
+ "equals(D_694503437_11_11,353358909)",
+ "equals(D_694503437_11_11,104430631)",
+ "doesNotEqual(D_694503437_11_11,104430631)",
+ "equals(D_775313030_11_11,353358909)",
+ "equals(D_775313030_11_11,104430631)",
+ "equals(D_775313030_11_11,178420302)",
+ "greaterThanOrEqual(D_860011428,12)",
+ "exists('D_686508359_12_12')",
+ "equals(D_366980310_12_12,353358909)",
+ "equals(D_366980310_12_12,104430631)",
+ "equals(D_366980310_12_12,178420302)",
+ "equals(D_694503437_12_12,353358909)",
+ "equals(D_694503437_12_12,104430631)",
+ "doesNotEqual(D_694503437_12_12,104430631)",
+ "equals(D_775313030_12_12,353358909)",
+ "equals(D_775313030_12_12,104430631)",
+ "equals(D_775313030_12_12,178420302)",
+ "greaterThanOrEqual(D_860011428,13)",
+ "exists('D_686508359_13_13')",
+ "equals(D_366980310_13_13,353358909)",
+ "equals(D_366980310_13_13,104430631)",
+ "equals(D_366980310_13_13,178420302)",
+ "equals(D_694503437_13_13,353358909)",
+ "equals(D_694503437_13_13,104430631)",
+ "doesNotEqual(D_694503437_13_13,104430631)",
+ "equals(D_775313030_13_13,353358909)",
+ "equals(D_775313030_13_13,104430631)",
+ "equals(D_775313030_13_13,178420302)",
+ "greaterThanOrEqual(D_860011428,14)",
+ "exists('D_686508359_14_14')",
+ "equals(D_366980310_14_14,353358909)",
+ "equals(D_366980310_14_14,104430631)",
+ "equals(D_366980310_14_14,178420302)",
+ "equals(D_694503437_14_14,353358909)",
+ "equals(D_694503437_14_14,104430631)",
+ "doesNotEqual(D_694503437_14_14,104430631)",
+ "equals(D_775313030_14_14,353358909)",
+ "equals(D_775313030_14_14,104430631)",
+ "equals(D_775313030_14_14,178420302)",
+ "greaterThanOrEqual(D_860011428,15)",
+ "exists('D_686508359_15_15')",
+ "equals(D_366980310_15_15,353358909)",
+ "equals(D_366980310_15_15,104430631)",
+ "equals(D_366980310_15_15,178420302)",
+ "equals(D_694503437_15_15,353358909)",
+ "equals(D_694503437_15_15,104430631)",
+ "doesNotEqual(D_694503437_15_15,104430631)",
+ "equals(D_775313030_15_15,353358909)",
+ "equals(D_775313030_15_15,104430631)",
+ "equals(D_775313030_15_15,178420302)",
+ "greaterThanOrEqual(D_860011428,16)",
+ "exists('D_686508359_16_16')",
+ "equals(D_366980310_16_16,353358909)",
+ "equals(D_366980310_16_16,104430631)",
+ "equals(D_366980310_16_16,178420302)",
+ "equals(D_694503437_16_16,353358909)",
+ "equals(D_694503437_16_16,104430631)",
+ "doesNotEqual(D_694503437_16_16,104430631)",
+ "equals(D_775313030_16_16,353358909)",
+ "equals(D_775313030_16_16,104430631)",
+ "equals(D_775313030_16_16,178420302)",
+ "greaterThanOrEqual(D_860011428,17)",
+ "exists('D_686508359_17_17')",
+ "equals(D_366980310_17_17,353358909)",
+ "equals(D_366980310_17_17,104430631)",
+ "equals(D_366980310_17_17,178420302)",
+ "equals(D_694503437_17_17,353358909)",
+ "equals(D_694503437_17_17,104430631)",
+ "doesNotEqual(D_694503437_17_17,104430631)",
+ "equals(D_775313030_17_17,353358909)",
+ "equals(D_775313030_17_17,104430631)",
+ "equals(D_775313030_17_17,178420302)",
+ "greaterThanOrEqual(D_860011428,18)",
+ "exists('D_686508359_18_18')",
+ "equals(D_366980310_18_18,353358909)",
+ "equals(D_366980310_18_18,104430631)",
+ "equals(D_366980310_18_18,178420302)",
+ "equals(D_694503437_18_18,353358909)",
+ "equals(D_694503437_18_18,104430631)",
+ "doesNotEqual(D_694503437_18_18,104430631)",
+ "equals(D_775313030_18_18,353358909)",
+ "equals(D_775313030_18_18,104430631)",
+ "equals(D_775313030_18_18,178420302)",
+ "greaterThanOrEqual(D_860011428,19)",
+ "exists('D_686508359_19_19')",
+ "equals(D_366980310_19_19,353358909)",
+ "equals(D_366980310_19_19,104430631)",
+ "equals(D_366980310_19_19,178420302)",
+ "equals(D_694503437_19_19,353358909)",
+ "equals(D_694503437_19_19,104430631)",
+ "doesNotEqual(D_694503437_19_19,104430631)",
+ "equals(D_775313030_19_19,353358909)",
+ "equals(D_775313030_19_19,104430631)",
+ "equals(D_775313030_19_19,178420302)",
+ "greaterThanOrEqual(D_860011428,20)",
+ "exists('D_686508359_20_20')",
+ "equals(D_366980310_20_20,353358909)",
+ "equals(D_366980310_20_20,104430631)",
+ "equals(D_366980310_20_20,178420302)",
+ "equals(D_694503437_20_20,353358909)",
+ "equals(D_694503437_20_20,104430631)",
+ "doesNotEqual(D_694503437_20_20,104430631)",
+ "equals(D_775313030_20_20,353358909)",
+ "equals(D_775313030_20_20,104430631)",
+ "equals(D_775313030_20_20,178420302)",
+ "greaterThanOrEqual(D_860011428,21)",
+ "exists('D_686508359_21_21')",
+ "equals(D_366980310_21_21,353358909)",
+ "equals(D_366980310_21_21,104430631)",
+ "equals(D_366980310_21_21,178420302)",
+ "equals(D_694503437_21_21,353358909)",
+ "equals(D_694503437_21_21,104430631)",
+ "doesNotEqual(D_694503437_21_21,104430631)",
+ "equals(D_775313030_21_21,353358909)",
+ "equals(D_775313030_21_21,104430631)",
+ "equals(D_775313030_21_21,178420302)",
+ "greaterThanOrEqual(D_860011428,22)",
+ "exists('D_686508359_22_22')",
+ "equals(D_366980310_22_22,353358909)",
+ "equals(D_366980310_22_22,104430631)",
+ "equals(D_366980310_22_22,178420302)",
+ "equals(D_694503437_22_22,353358909)",
+ "equals(D_694503437_22_22,104430631)",
+ "doesNotEqual(D_694503437_22_22,104430631)",
+ "equals(D_775313030_22_22,353358909)",
+ "equals(D_775313030_22_22,104430631)",
+ "equals(D_775313030_22_22,178420302)",
+ "greaterThanOrEqual(D_860011428,23)",
+ "exists('D_686508359_23_23')",
+ "equals(D_366980310_23_23,353358909)",
+ "equals(D_366980310_23_23,104430631)",
+ "equals(D_366980310_23_23,178420302)",
+ "equals(D_694503437_23_23,353358909)",
+ "equals(D_694503437_23_23,104430631)",
+ "doesNotEqual(D_694503437_23_23,104430631)",
+ "equals(D_775313030_23_23,353358909)",
+ "equals(D_775313030_23_23,104430631)",
+ "equals(D_775313030_23_23,178420302)",
+ "greaterThanOrEqual(D_860011428,24)",
+ "exists('D_686508359_24_24')",
+ "equals(D_366980310_24_24,353358909)",
+ "equals(D_366980310_24_24,104430631)",
+ "equals(D_366980310_24_24,178420302)",
+ "equals(D_694503437_24_24,353358909)",
+ "equals(D_694503437_24_24,104430631)",
+ "doesNotEqual(D_694503437_24_24,104430631)",
+ "equals(D_775313030_24_24,353358909)",
+ "equals(D_775313030_24_24,104430631)",
+ "equals(D_775313030_24_24,178420302)",
+ "greaterThanOrEqual(D_860011428,25)",
+ "exists('D_686508359_25_25')",
+ "equals(D_366980310_25_25,353358909)",
+ "equals(D_366980310_25_25,104430631)",
+ "equals(D_366980310_25_25,178420302)",
+ "equals(D_694503437_25_25,353358909)",
+ "equals(D_694503437_25_25,104430631)",
+ "doesNotEqual(D_694503437_25_25,104430631)",
+ "equals(D_775313030_25_25,353358909)",
+ "equals(D_775313030_25_25,104430631)",
+ "equals(D_775313030_25_25,178420302)",
+ "and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(doesNotEqual(D_694503437_1_1,353358909),doesNotEqual(D_694503437_2_2,353358909)),doesNotEqual(D_694503437_3_3,353358909)),doesNotEqual(D_694503437_4_4,353358909)),doesNotEqual(D_694503437_5_5,353358909)),doesNotEqual(D_694503437_6_6,353358909)),doesNotEqual(D_694503437_7_7,353358909)),doesNotEqual(D_694503437_8_8,353358909)),doesNotEqual(D_694503437_9_9,353358909)),doesNotEqual(D_694503437_10_10,353358909)),doesNotEqual(D_694503437_11_11,353358909)),doesNotEqual(D_694503437_12_12,353358909)),doesNotEqual(D_694503437_13_13,353358909)),doesNotEqual(D_694503437_14_14,353358909)),doesNotEqual(D_694503437_15_15,353358909)),doesNotEqual(D_694503437_16_16,353358909)),doesNotEqual(D_694503437_17_17,353358909)),doesNotEqual(D_694503437_18_18,353358909)),doesNotEqual(D_694503437_19_19,353358909)),doesNotEqual(D_694503437_20_20,353358909)),doesNotEqual(D_694503437_21_21,353358909)),doesNotEqual(D_694503437_22_22,353358909)),doesNotEqual(D_694503437_23_23,353358909)),doesNotEqual(D_694503437_24_24,353358909)),doesNotEqual(D_694503437_25_25,353358909))",
+ "or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(equals(D_694503437_1_1,353358909),equals(D_694503437_2_2,353358909)),equals(D_694503437_3_3,353358909)),equals(D_694503437_4_4,353358909)),equals(D_694503437_5_5,353358909)),equals(D_694503437_6_6,353358909)),equals(D_694503437_7_7,353358909)),equals(D_694503437_8_8,353358909)),equals(D_694503437_9_9,353358909)),equals(D_694503437_10_10,353358909)),equals(D_694503437_11_11,353358909)),equals(D_694503437_12_12,353358909)),equals(D_694503437_13_13,353358909)),equals(D_694503437_14_14,353358909)),equals(D_694503437_15_15,353358909)),equals(D_694503437_16_16,353358909)),equals(D_694503437_17_17,353358909)),equals(D_694503437_18_18,353358909)),equals(D_694503437_19_19,353358909)),equals(D_694503437_20_20,353358909)),equals(D_694503437_21_21,353358909)),equals(D_694503437_22_22,353358909)),equals(D_694503437_23_23,353358909)),equals(D_694503437_24_24,353358909)),equals(D_694503437_25_25,353358909))",
+ "displayif=valueIsOneOf(\"D_110872086\",707601969) or valueLength(\"D_637540387\")>0",
+ "valueIsOneOf('D_110872086',707601969) or valueLength('D_637540387')>0",
+ "doesNotExist('D_637540387')",
+ "noneSelected(\"D_488415137_0\",\"D_488415137_1\",\"D_167695804_0\",\"D_167695804_1\",\"D_730334054_0\",\"D_730334054_1\",\"D_215996690_0\",\"D_215996690_1\",\"D_462737492_0\",\"D_462737492_1\",\"D_469675296_0\",\"D_469675296_1\",\"D_962475128_0\",\"D_962475128_1\",\"D_989576239_0\",\"D_989576239_1\",\"D_338613869_0\",\"D_338613869_1\",\"D_126794793_0\",\"D_126794793_1\",\"D_218793117_0\",\"D_218793117_1\",\"D_524096053_0\",\"D_524096053_1\",\"D_814101706_0\",\"D_814101706_1\",\"D_635026188_0\",\"D_635026188_1\",\"D_238135048_0\",\"D_238135048_1\",\"D_632714520_0\",\"D_632714520_1\")",
+ "someSelected(\"D_488415137_0\",\"D_488415137_1\",\"D_167695804_0\",\"D_167695804_1\",\"D_730334054_0\",\"D_730334054_1\",\"D_215996690_0\",\"D_215996690_1\",\"D_462737492_0\",\"D_462737492_1\",\"D_469675296_0\",\"D_469675296_1\",\"D_962475128_0\",\"D_962475128_1\",\"D_989576239_0\",\"D_989576239_1\",\"D_338613869_0\",\"D_338613869_1\",\"D_126794793_0\",\"D_126794793_1\",\"D_218793117_0\",\"D_218793117_1\",\"D_524096053_0\",\"SRVCOV_COV19C1_V1R0_1,1\",\"D_814101706_0\",\"D_814101706_1\",\"D_635026188_0\",\"D_238135048_0\",\"D_238135048_1\",\"D_632714520_0\",\"D_632714520_1",
+ "someSelected(%22D_488415137_0%22%2C%22D_488415137_1%22)",
+ "someSelected(%22D_730334054_0%22%2C%22D_730334054_1%22)",
+ "someSelected(%22D_215996690_0%22%2C%22D_215996690_1%22)",
+ "someSelected(%22D_462737492_0%22%2C%22D_462737492_1%22)",
+ "someSelected(%22D_469675296_0%22%2C%22D_469675296_1%22)",
+ "someSelected(%22D_167695804_0%22%2C%22D_167695804_1%22)",
+ "someSelected(%22D_524096053_0%22%2C%22D_524096053_1%22)",
+ "someSelected(%22D_814101706_0%22%2C%22D_814101706_1%22)",
+ "someSelected(%22D_962475128_0%22%2C%22D_962475128_1%22)",
+ "someSelected(%22D_989576239_0%22%2C%22D_989576239_1%22)",
+ "someSelected(%22D_338613869_0%22%2C%22D_338613869_1%22)",
+ "someSelected(%22D_126794793_0%22%2C%22D_126794793_1%22)",
+ "someSelected(%22D_218793117_0%22%2C%22D_218793117_1%22)",
+ "someSelected(%22D_635026188_0%22%2C%22D_635026188_1%22)",
+ "someSelected(%22D_238135048_0%22%2C%22D_238135048_1%22)",
+ "someSelected(%22D_632714520_0%22%2C%22D_632714520_1%22)",
+ "doesNotEqual(D_110872086,707601969)",
+ "equals(D_110872086,707601969)",
+ "exists('D_637540387')",
+ "and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(and(doesNotEqual(D_494226443,104430631),doesNotEqual(D_494226443,178420302)),doesNotEqual(isDefined(D_494226443,-1),-1)),doesNotEqual(D_498462481_1_1,104430631)),doesNotEqual(D_694503437_1_1,104430631)),doesNotEqual(D_498462481_2_2,104430631)),doesNotEqual(D_694503437_2_2,104430631)),doesNotEqual(D_498462481_3_3,104430631)),doesNotEqual(D_694503437_3_3,104430631)),doesNotEqual(D_498462481_4_4,104430631)),doesNotEqual(D_694503437_4_4,104430631)),doesNotEqual(D_498462481_5_5,104430631)),doesNotEqual(D_694503437_5_5,104430631)),doesNotEqual(D_498462481_6_6,104430631)),doesNotEqual(D_694503437_6_6,104430631)),doesNotEqual(D_498462481_7_7,104430631)),doesNotEqual(D_694503437_7_7,104430631)),doesNotEqual(D_498462481_8_8,104430631)),doesNotEqual(D_694503437_8_8,104430631)),doesNotEqual(D_498462481_9_9,104430631)),doesNotEqual(D_694503437_9_9,104430631)),doesNotEqual(D_498462481_10_10,104430631)),doesNotEqual(D_694503437_10_10,104430631)),doesNotEqual(D_498462481_11_11,104430631)),doesNotEqual(D_694503437_11_11,104430631)),doesNotEqual(D_498462481_12_12,104430631)),doesNotEqual(D_694503437_12_12,104430631)),doesNotEqual(D_498462481_13_13,104430631)),doesNotEqual(D_694503437_13_13,104430631)),doesNotEqual(D_498462481_14_14,104430631)),doesNotEqual(D_694503437_14_14,104430631)),doesNotEqual(D_498462481_15_15,104430631)),doesNotEqual(D_694503437_15_15,104430631)),doesNotEqual(D_498462481_16_16,104430631)),doesNotEqual(D_694503437_16_16,104430631)),doesNotEqual(D_498462481_17_17,104430631)),doesNotEqual(D_694503437_17_17,104430631)),doesNotEqual(D_498462481_18_18,104430631)),doesNotEqual(D_694503437_18_18,104430631)),doesNotEqual(D_498462481_19_19,104430631)),doesNotEqual(D_694503437_19_19,104430631)),doesNotEqual(D_498462481_20_20,104430631)),doesNotEqual(D_694503437_20_20,104430631)),doesNotEqual(D_498462481_21_21,104430631)),doesNotEqual(D_694503437_21_21,104430631)),doesNotEqual(D_498462481_22_22,104430631)),doesNotEqual(D_694503437_22_22,104430631)),doesNotEqual(D_498462481_23_23,104430631)),doesNotEqual(D_694503437_23_23,104430631)),doesNotEqual(D_498462481_24_24,104430631)),doesNotEqual(D_694503437_24_24,104430631)),doesNotEqual(D_498462481_25_25,104430631)),doesNotEqual(D_694503437_25_25,104430631))",
+ "or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(or(equals(D_494226443,104430631),equals(D_494226443,178420302)),equals(isDefined(D_494226443,-1),-1)),equals(D_498462481_1_1,104430631)),equals(D_694503437_1_1,104430631)),equals(D_498462481_2_2,104430631)),equals(D_694503437_2_2,104430631)),equals(D_498462481_3_3,104430631)),equals(D_694503437_3_3,104430631)),equals(D_498462481_4_4,104430631)),equals(D_694503437_4_4,104430631)),equals(D_498462481_5_5,104430631)),equals(D_694503437_5_5,104430631)),equals(D_498462481_6_6,104430631)),equals(D_694503437_6_6,104430631)),equals(D_498462481_7_7,104430631)),equals(D_694503437_7_7,104430631)),equals(D_498462481_8_8,104430631)),equals(D_694503437_8_8,104430631)),equals(D_498462481_9_9,104430631)),equals(D_694503437_9_9,104430631)),equals(D_498462481_10_10,104430631)),equals(D_694503437_10_10,104430631)),equals(D_498462481_11_11,104430631)),equals(D_694503437_11_11,104430631)),equals(D_498462481_12_12,104430631)),equals(D_694503437_12_12,104430631)),equals(D_498462481_13_13,104430631)),equals(D_694503437_13_13,104430631)),equals(D_498462481_14_14,104430631)),equals(D_694503437_14_14,104430631)),equals(D_498462481_15_15,104430631)),equals(D_694503437_15_15,104430631)),equals(D_498462481_16_16,104430631)),equals(D_694503437_16_16,104430631)),equals(D_498462481_17_17,104430631)),equals(D_694503437_17_17,104430631)),equals(D_498462481_18_18,104430631)),equals(D_694503437_18_18,104430631)),equals(D_498462481_19_19,104430631)),equals(D_694503437_19_19,104430631)),equals(D_498462481_20_20,104430631)),equals(D_694503437_20_20,104430631)),equals(D_498462481_21_21,104430631)),equals(D_694503437_21_21,104430631)),equals(D_498462481_22_22,104430631)),equals(D_694503437_22_22,104430631)),equals(D_498462481_23_23,104430631)),equals(D_694503437_23_23,104430631)),equals(D_498462481_24_24,104430631)),equals(D_694503437_24_24,104430631)),equals(D_498462481_25_25,104430631)),equals(D_694503437_25_25,104430631))",
+ "someSelected(\"D_874168085_0\",\"D_874168085_1\",\"D_283112988_0\",\"D_283112988_1\",\"D_580629349_0\",\"D_580629349_1\",\"D_151327643_0\",\"D_151327643_1\",\"D_440872808_0\",\"D_440872808_1\",\"D_874223830_0\",\"D_874223830_1\",\"D_847529903_0\",\"D_847529903_1\",\"D_219358831_0\",\"D_219358831_1\",\"D_636367178_0\",\"D_636367178_1\",\"D_243443780_0\",\"D_243443780_1\",\"D_357462273_0\",\"D_357462273_1\",\"D_638380747_0\",\"D_638380747_1\",\"D_187399900_0\",\"D_187399900_1\")",
+ "someSelected(%22D_874168085_0%22%2C%22D_874168085_1%22)",
+ "someSelected(%22D_283112988_0%22%2C%22D_283112988_1%22)",
+ "someSelected(%22D_580629349_0%22%2C%22D_580629349_1%22)",
+ "someSelected(%22D_151327643_0%22%2C%22D_151327643_1%22)",
+ "someSelected(%22D_440872808_0%22%2C%22D_440872808_1%22)",
+ "someSelected(%22D_874223830_0%22%2C%22D_874223830_1%22)",
+ "someSelected(%22D_847529903_0%22%2C%22D_847529903_1%22)",
+ "someSelected(%22D_219358831_0%22%2C%22D_219358831_1%22)",
+ "someSelected(%22D_636367178_0%22%2C%22D_636367178_1%22)",
+ "someSelected(%22D_243443780_0%22%2C%22D_243443780_1%22)",
+ "someSelected(%22D_357462273_0%22%2C%22D_357462273_1%22)",
+ "someSelected(%22D_638380747_0%22%2C%22D_638380747_1%22)",
+ "someSelected(%22D_187399900_0%22%2C%22D_187399900_1%22)",
+ "greaterThanOrEqual(D_877074400_V2,1)",
+ "equals(D_220055064_1_1,661871565)",
+ "equals(D_220055064_1_1,657978450)",
+ "equals(D_220055064_1_1,411943417)",
+ "equals(D_220055064_1_1,113838601)",
+ "equals(D_220055064_1_1,503154121)",
+ "valueIsOneOf('D_220055064_1_1',807835037) or valueLength('D_395747093_1_1')>0",
+ "equals(D_220055064_1_1,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,2)",
+ "equals(D_220055064_2_2,661871565)",
+ "equals(D_220055064_2_2,657978450)",
+ "equals(D_220055064_2_2,411943417)",
+ "equals(D_220055064_2_2,113838601)",
+ "equals(D_220055064_2_2,503154121)",
+ "valueIsOneOf('D_220055064_2_2',807835037) or valueLength('D_395747093_2_2')>0",
+ "equals(D_220055064_2_2,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,3)",
+ "equals(D_220055064_3_3,661871565)",
+ "equals(D_220055064_3_3,657978450)",
+ "equals(D_220055064_3_3,411943417)",
+ "equals(D_220055064_3_3,113838601)",
+ "equals(D_220055064_3_3,503154121)",
+ "valueIsOneOf('D_220055064_3_3',807835037) or valueLength('D_395747093_3_3')>0",
+ "equals(D_220055064_3_3,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,4)",
+ "equals(D_220055064_4_4,661871565)",
+ "equals(D_220055064_4_4,657978450)",
+ "equals(D_220055064_4_4,411943417)",
+ "equals(D_220055064_4_4,113838601)",
+ "equals(D_220055064_4_4,503154121)",
+ "valueIsOneOf('D_220055064_4_4',807835037) or valueLength('D_395747093_4_4')>0",
+ "equals(D_220055064_4_4,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,5)",
+ "equals(D_220055064_5_5,661871565)",
+ "equals(D_220055064_5_5,657978450)",
+ "equals(D_220055064_5_5,411943417)",
+ "equals(D_220055064_5_5,113838601)",
+ "equals(D_220055064_5_5,503154121)",
+ "valueIsOneOf('D_220055064_5_5',807835037) or valueLength('D_395747093_5_5')>0",
+ "equals(D_220055064_5_5,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,6)",
+ "equals(D_220055064_6_6,661871565)",
+ "equals(D_220055064_6_6,657978450)",
+ "equals(D_220055064_6_6,411943417)",
+ "equals(D_220055064_6_6,113838601)",
+ "equals(D_220055064_6_6,503154121)",
+ "valueIsOneOf('D_220055064_6_6',807835037) or valueLength('D_395747093_6_6')>0",
+ "equals(D_220055064_6_6,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,7)",
+ "equals(D_220055064_7_7,661871565)",
+ "equals(D_220055064_7_7,657978450)",
+ "equals(D_220055064_7_7,411943417)",
+ "equals(D_220055064_7_7,113838601)",
+ "equals(D_220055064_7_7,503154121)",
+ "valueIsOneOf('D_220055064_7_7',807835037) or valueLength('D_395747093_7_7')>0",
+ "equals(D_220055064_7_7,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,8)",
+ "equals(D_220055064_8_8,661871565)",
+ "equals(D_220055064_8_8,657978450)",
+ "equals(D_220055064_8_8,411943417)",
+ "equals(D_220055064_8_8,113838601)",
+ "equals(D_220055064_8_8,503154121)",
+ "valueIsOneOf('D_220055064_8_8',807835037) or valueLength('D_395747093_8_8')>0",
+ "equals(D_220055064_8_8,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,9)",
+ "equals(D_220055064_9_9,661871565)",
+ "equals(D_220055064_9_9,657978450)",
+ "equals(D_220055064_9_9,411943417)",
+ "equals(D_220055064_9_9,113838601)",
+ "equals(D_220055064_9_9,503154121)",
+ "valueIsOneOf('D_220055064_9_9',807835037) or valueLength('D_395747093_9_9')>0",
+ "equals(D_220055064_9_9,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,10)",
+ "equals(D_220055064_10_10,661871565)",
+ "equals(D_220055064_10_10,657978450)",
+ "equals(D_220055064_10_10,411943417)",
+ "equals(D_220055064_10_10,113838601)",
+ "equals(D_220055064_10_10,503154121)",
+ "valueIsOneOf('D_220055064_10_10',807835037) or valueLength('D_395747093_10_10')>0",
+ "equals(D_220055064_10_10,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,11)",
+ "equals(D_220055064_11_11,661871565)",
+ "equals(D_220055064_11_11,657978450)",
+ "equals(D_220055064_11_11,411943417)",
+ "equals(D_220055064_11_11,113838601)",
+ "equals(D_220055064_11_11,503154121)",
+ "valueIsOneOf('D_220055064_11_11',807835037) or valueLength('D_395747093_11_11')>0",
+ "equals(D_220055064_11_11,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,12)",
+ "equals(D_220055064_12_12,661871565)",
+ "equals(D_220055064_12_12,657978450)",
+ "equals(D_220055064_12_12,411943417)",
+ "equals(D_220055064_12_12,113838601)",
+ "equals(D_220055064_12_12,503154121)",
+ "valueIsOneOf('D_220055064_12_12',807835037) or valueLength('D_395747093_12_12')>0",
+ "equals(D_220055064_12_12,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,13)",
+ "equals(D_220055064_13_13,661871565)",
+ "equals(D_220055064_13_13,657978450)",
+ "equals(D_220055064_13_13,411943417)",
+ "equals(D_220055064_13_13,113838601)",
+ "equals(D_220055064_13_13,503154121)",
+ "valueIsOneOf('D_220055064_13_13',807835037) or valueLength('D_395747093_13_13')>0",
+ "equals(D_220055064_13_13,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,14)",
+ "equals(D_220055064_14_14,661871565)",
+ "equals(D_220055064_14_14,657978450)",
+ "equals(D_220055064_14_14,411943417)",
+ "equals(D_220055064_14_14,113838601)",
+ "equals(D_220055064_14_14,503154121)",
+ "valueIsOneOf('D_220055064_14_14',807835037) or valueLength('D_395747093_14_14')>0",
+ "equals(D_220055064_14_14,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,15)",
+ "equals(D_220055064_15_15,661871565)",
+ "equals(D_220055064_15_15,657978450)",
+ "equals(D_220055064_15_15,411943417)",
+ "equals(D_220055064_15_15,113838601)",
+ "equals(D_220055064_15_15,503154121)",
+ "valueIsOneOf('D_220055064_15_15',807835037) or valueLength('D_395747093_15_15')>0",
+ "equals(D_220055064_15_15,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,16)",
+ "equals(D_220055064_16_16,661871565)",
+ "equals(D_220055064_16_16,657978450)",
+ "equals(D_220055064_16_16,411943417)",
+ "equals(D_220055064_16_16,113838601)",
+ "equals(D_220055064_16_16,503154121)",
+ "valueIsOneOf('D_220055064_16_16',807835037) or valueLength('D_395747093_16_16')>0",
+ "equals(D_220055064_16_16,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,17)",
+ "equals(D_220055064_17_17,661871565)",
+ "equals(D_220055064_17_17,657978450)",
+ "equals(D_220055064_17_17,411943417)",
+ "equals(D_220055064_17_17,113838601)",
+ "equals(D_220055064_17_17,503154121)",
+ "valueIsOneOf('D_220055064_17_17',807835037) or valueLength('D_395747093_17_17')>0",
+ "equals(D_220055064_17_17,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,18)",
+ "equals(D_220055064_18_18,661871565)",
+ "equals(D_220055064_18_18,657978450)",
+ "equals(D_220055064_18_18,411943417)",
+ "equals(D_220055064_18_18,113838601)",
+ "equals(D_220055064_18_18,503154121)",
+ "valueIsOneOf('D_220055064_18_18',807835037) or valueLength('D_395747093_18_18')>0",
+ "equals(D_220055064_18_18,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,19)",
+ "equals(D_220055064_19_19,661871565)",
+ "equals(D_220055064_19_19,657978450)",
+ "equals(D_220055064_19_19,411943417)",
+ "equals(D_220055064_19_19,113838601)",
+ "equals(D_220055064_19_19,503154121)",
+ "valueIsOneOf('D_220055064_19_19',807835037) or valueLength('D_395747093_19_19')>0",
+ "equals(D_220055064_19_19,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,20)",
+ "equals(D_220055064_20_20,661871565)",
+ "equals(D_220055064_20_20,657978450)",
+ "equals(D_220055064_20_20,411943417)",
+ "equals(D_220055064_20_20,113838601)",
+ "equals(D_220055064_20_20,503154121)",
+ "valueIsOneOf('D_220055064_20_20',807835037) or valueLength('D_395747093_20_20')>0",
+ "equals(D_220055064_20_20,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,21)",
+ "equals(D_220055064_21_21,661871565)",
+ "equals(D_220055064_21_21,657978450)",
+ "equals(D_220055064_21_21,411943417)",
+ "equals(D_220055064_21_21,113838601)",
+ "equals(D_220055064_21_21,503154121)",
+ "valueIsOneOf('D_220055064_21_21',807835037) or valueLength('D_395747093_21_21')>0",
+ "equals(D_220055064_21_21,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,22)",
+ "equals(D_220055064_22_22,661871565)",
+ "equals(D_220055064_22_22,657978450)",
+ "equals(D_220055064_22_22,411943417)",
+ "equals(D_220055064_22_22,113838601)",
+ "equals(D_220055064_22_22,503154121)",
+ "valueIsOneOf('D_220055064_22_22',807835037) or valueLength('D_395747093_22_22')>0",
+ "equals(D_220055064_22_22,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,23)",
+ "equals(D_220055064_23_23,661871565)",
+ "equals(D_220055064_23_23,657978450)",
+ "equals(D_220055064_23_23,411943417)",
+ "equals(D_220055064_23_23,113838601)",
+ "equals(D_220055064_23_23,503154121)",
+ "valueIsOneOf('D_220055064_23_23',807835037) or valueLength('D_395747093_23_23')>0",
+ "equals(D_220055064_23_23,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,24)",
+ "equals(D_220055064_24_24,661871565)",
+ "equals(D_220055064_24_24,657978450)",
+ "equals(D_220055064_24_24,411943417)",
+ "equals(D_220055064_24_24,113838601)",
+ "equals(D_220055064_24_24,503154121)",
+ "valueIsOneOf('D_220055064_24_24',807835037) or valueLength('D_395747093_24_24')>0",
+ "equals(D_220055064_24_24,178420302)",
+ "greaterThanOrEqual(D_877074400_V2,25)",
+ "equals(D_220055064_25_25,661871565)",
+ "equals(D_220055064_25_25,657978450)",
+ "equals(D_220055064_25_25,411943417)",
+ "equals(D_220055064_25_25,113838601)",
+ "equals(D_220055064_25_25,503154121)",
+ "valueIsOneOf('D_220055064_25_25',807835037) or valueLength('D_395747093_25_25')>0",
+ "equals(D_220055064_25_25,178420302)"
+ ],
+ "sitesByScope": {
+ "grid-row": 29,
+ "inline": 479,
+ "question": 589
+ },
+ "sitesByAttribute": {
+ "data-displayif": 29,
+ "displayif": 1068
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_847578001",
+ "questionIndex": 505,
+ "rowQuestionIds": [
+ "D_488415137",
+ "D_167695804",
+ "D_730334054",
+ "D_215996690",
+ "D_462737492",
+ "D_469675296"
+ ],
+ "rowCount": 6,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_136730307",
+ "questionIndex": 506,
+ "rowQuestionIds": [
+ "D_962475128",
+ "D_989576239",
+ "D_338613869",
+ "D_126794793",
+ "D_218793117"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_751358419",
+ "questionIndex": 507,
+ "rowQuestionIds": [
+ "D_524096053",
+ "D_814101706",
+ "D_635026188",
+ "D_238135048",
+ "D_632714520"
+ ],
+ "rowCount": 5,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "724612102",
+ "178780048",
+ "244354126"
+ ]
+ },
+ {
+ "questionId": "D_114280729",
+ "questionIndex": 511,
+ "rowQuestionIds": [
+ "D_374567479",
+ "D_966214244",
+ "D_109223043",
+ "D_368669706",
+ "D_605818246",
+ "D_790860504",
+ "D_336856410",
+ "D_518602598",
+ "D_770190369",
+ "D_994153376",
+ "D_481587023",
+ "D_590361055",
+ "D_108389123",
+ "D_747085418",
+ "D_702905707",
+ "D_986119909"
+ ],
+ "rowCount": 16,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "232063618",
+ "948148236",
+ "692824372"
+ ]
+ },
+ {
+ "questionId": "D_813989715",
+ "questionIndex": 517,
+ "rowQuestionIds": [
+ "D_874168085",
+ "D_283112988",
+ "D_580629349",
+ "D_151327643",
+ "D_440872808",
+ "D_874223830"
+ ],
+ "rowCount": 6,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "931688701",
+ "586272115",
+ "770236544"
+ ]
+ },
+ {
+ "questionId": "D_857165713",
+ "questionIndex": 518,
+ "rowQuestionIds": [
+ "D_847529903",
+ "D_219358831",
+ "D_636367178",
+ "D_243443780",
+ "D_357462273",
+ "D_638380747",
+ "D_187399900"
+ ],
+ "rowCount": 7,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "931688701",
+ "586272115",
+ "770236544"
+ ]
+ },
+ {
+ "questionId": "D_749956170",
+ "questionIndex": 519,
+ "rowQuestionIds": [
+ "D_527872064",
+ "D_691752394",
+ "D_143206081",
+ "D_431203595",
+ "D_516899143",
+ "D_223008071",
+ "D_599862694",
+ "D_860444009",
+ "D_246857412",
+ "D_144819886",
+ "D_304155106",
+ "D_830581863",
+ "D_463689026"
+ ],
+ "rowCount": 13,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "232063618",
+ "948148236",
+ "692824372"
+ ]
+ }
+ ],
+ "loops": [
+ {
+ "loopIndex": "1",
+ "loopMaxQuestionIds": [
+ "D_860011428"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 3,
+ 23,
+ 43,
+ 63,
+ 83,
+ 103,
+ 123,
+ 143,
+ 163,
+ 183,
+ 203,
+ 223,
+ 243,
+ 263,
+ 283,
+ 303,
+ 323,
+ 343,
+ 363,
+ 383,
+ 403,
+ 423,
+ 443,
+ 463,
+ 483
+ ],
+ "boundaryIndex": 503
+ },
+ {
+ "loopIndex": "2",
+ "loopMaxQuestionIds": [
+ "D_877074400_V2"
+ ],
+ "iterationCount": 25,
+ "iterationStartIndexes": [
+ 523,
+ 526,
+ 529,
+ 532,
+ 535,
+ 538,
+ 541,
+ 544,
+ 547,
+ 550,
+ 553,
+ 556,
+ 559,
+ 562,
+ 565,
+ 568,
+ 571,
+ 574,
+ 577,
+ 580,
+ 583,
+ 586,
+ 589,
+ 592,
+ 595
+ ],
+ "boundaryIndex": 598
+ }
+ ],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 97,
+ "processorQuestionCount": 600,
+ "processedQuestionCount": 600,
+ "renderedFormCount": 600,
+ "controlCount": 3922,
+ "responseControlCount": 1970,
+ "explicitTransitionCount": 540,
+ "sequentialAdjacencyCount": 599,
+ "resolvedExplicitTransitionCount": 540,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 1097,
+ "gridQuestionCount": 7,
+ "gridRowCount": 58,
+ "loopStartCount": 50,
+ "loopDefinitionCount": 2,
+ "loopExpandedQuestionCount": 575,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 517
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleCancerScreeningHistory",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleCancerScreeningHistory.txt",
+ "sha256": "65207c189b9b62836afc43cb80c12b416612b3d246a71d257804e0924c7817b2",
+ "questName": "D_369168474",
+ "version": "1.2",
+ "authoredMarkerCount": 144,
+ "runtimeQuestionIds": [
+ "SRVSCR_INTROSCREEN_V1R0",
+ "D_890391968?",
+ "D_413039729?",
+ "D_729984625?",
+ "D_675055475?",
+ "D_250003172?",
+ "D_341080024?",
+ "D_841573821?",
+ "D_976626196?",
+ "D_951847507?",
+ "D_998519118?",
+ "D_645149364?",
+ "D_839555631?",
+ "D_506456253?",
+ "D_439760665?",
+ "D_950690103?",
+ "D_975268706?",
+ "D_277890744?",
+ "D_936444833?",
+ "D_758881441?",
+ "D_765772509?",
+ "D_250353250?",
+ "D_116546181?",
+ "D_496928179?",
+ "D_166524009?",
+ "D_367942006?",
+ "D_907385951?",
+ "D_350184001?",
+ "D_522645663?",
+ "D_590067228?",
+ "D_787505819?",
+ "D_860839849?",
+ "D_949587133?",
+ "D_671670265?",
+ "D_429157727?",
+ "D_314345103?",
+ "D_292314539?",
+ "D_343990595?",
+ "D_203366781?",
+ "SRVSCR_ORSCREENINT_V1R0",
+ "D_802157786?",
+ "D_852697610?",
+ "D_860253133?",
+ "D_682440005?",
+ "D_339142996?",
+ "D_375662706?",
+ "D_859197222?",
+ "D_529358901?",
+ "D_365148290?",
+ "D_988661374?",
+ "D_619830872?",
+ "D_226488112?",
+ "D_884856351?",
+ "D_900561740?",
+ "D_729390410?",
+ "D_869938650?",
+ "D_541338917?",
+ "D_833553697?",
+ "D_689280509?",
+ "D_108417657?",
+ "D_822995885?",
+ "D_677043723?",
+ "D_960218176?",
+ "D_806961194?",
+ "D_129025755?",
+ "D_702922820?",
+ "D_236655642?",
+ "D_581174597?",
+ "D_524918714?",
+ "D_584375130?",
+ "D_221189280?",
+ "D_737402324?",
+ "D_552399966?",
+ "D_124071431?",
+ "D_113343940?",
+ "D_925516907?",
+ "D_506482920?",
+ "D_991871399?",
+ "D_761831751?",
+ "D_588828383?",
+ "D_485867936?",
+ "D_465056475?",
+ "D_718137053?",
+ "D_199704727?",
+ "D_621714179?",
+ "D_772645761?",
+ "D_650508014?",
+ "D_903059223?",
+ "D_214352460?",
+ "D_770939852?",
+ "D_423202492?",
+ "D_961267001?",
+ "D_745742553?",
+ "D_111580947?",
+ "D_709088568?",
+ "D_372457715?",
+ "D_315184598?",
+ "D_560107274?",
+ "D_569358384?",
+ "D_305769587?",
+ "D_434993234?",
+ "D_846067697?",
+ "D_861488320?",
+ "D_891793989?",
+ "D_811848389?",
+ "D_957875649?",
+ "D_406370140?",
+ "D_951078002?",
+ "D_631089527?",
+ "D_475018570?",
+ "D_227617345?",
+ "D_274709835?",
+ "D_229764995?",
+ "D_934385625?",
+ "D_393386163?",
+ "D_856699079?",
+ "D_723960145?",
+ "D_353889236?",
+ "D_242001363?",
+ "D_623413449?",
+ "D_153215425?",
+ "D_115504049?",
+ "D_356470898?",
+ "D_947994136?",
+ "D_898341670?",
+ "D_913107034?",
+ "D_655198446?",
+ "D_809308794?",
+ "D_766549014?",
+ "D_496588916?",
+ "D_104842019?",
+ "D_315199788?",
+ "D_249853484?",
+ "D_391300412?",
+ "D_808990505?",
+ "D_219076879?",
+ "D_822790675?",
+ "D_459223565?",
+ "D_397748152?",
+ "D_553034408?",
+ "D_698242759?",
+ "D_695772621?",
+ "D_431721131?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 71,
+ "number": 56,
+ "radio": 553,
+ "text": 1
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_675055475",
+ "D_250003172",
+ "D_341080024",
+ "D_841573821",
+ "D_976626196",
+ "D_951847507",
+ "D_645149364",
+ "D_839555631",
+ "D_506456253",
+ "D_350184001",
+ "D_522645663",
+ "D_590067228",
+ "D_860839849",
+ "D_671670265",
+ "D_429157727",
+ "D_292314539",
+ "D_203366781",
+ "SRVSCR_ORSCREENINT_V1R0",
+ "D_998519118",
+ "D_439760665",
+ "D_950690103",
+ "D_975268706",
+ "D_277890744",
+ "D_936444833",
+ "D_758881441",
+ "D_765772509",
+ "D_166524009",
+ "D_367942006",
+ "D_907385951",
+ "D_250353250",
+ "D_116546181",
+ "D_496928179",
+ "D_787505819",
+ "D_949587133",
+ "D_314345103",
+ "D_343990595",
+ "D_365148290",
+ "D_339142996",
+ "D_988661374",
+ "D_884856351",
+ "D_869938650",
+ "D_689280509",
+ "D_677043723",
+ "D_129025755",
+ "D_619830872",
+ "D_226488112",
+ "D_900561740",
+ "D_729390410",
+ "D_541338917",
+ "D_833553697",
+ "D_108417657",
+ "D_822995885",
+ "D_960218176",
+ "D_806961194",
+ "D_524918714",
+ "D_552399966",
+ "D_991871399",
+ "D_113343940",
+ "D_925516907",
+ "D_506482920",
+ "D_465056475",
+ "D_718137053",
+ "D_772645761",
+ "D_214352460",
+ "D_961267001",
+ "D_199704727",
+ "D_621714179",
+ "D_650508014",
+ "D_903059223",
+ "D_770939852",
+ "D_423202492",
+ "D_745742553",
+ "D_315184598",
+ "D_305769587",
+ "D_861488320",
+ "D_957875649",
+ "D_111580947",
+ "D_372457715",
+ "D_709088568",
+ "D_560107274",
+ "D_569358384",
+ "D_434993234",
+ "D_846067697",
+ "D_891793989",
+ "D_811848389",
+ "D_406370140",
+ "D_475018570",
+ "D_229764995",
+ "D_951078002",
+ "D_631089527",
+ "D_227617345",
+ "D_274709835",
+ "D_934385625",
+ "D_723960145",
+ "D_623413449",
+ "D_356470898",
+ "D_393386163",
+ "D_856699079",
+ "D_353889236",
+ "D_242001363",
+ "D_153215425",
+ "D_115504049",
+ "D_947994136",
+ "D_655198446",
+ "D_496588916",
+ "D_249853484",
+ "D_219076879",
+ "D_898341670",
+ "D_913107034",
+ "D_809308794",
+ "D_766549014",
+ "D_104842019",
+ "D_315199788",
+ "D_391300412",
+ "D_808990505",
+ "D_822790675",
+ "D_553034408",
+ "D_431721131",
+ "D_459223565",
+ "D_397748152",
+ "D_698242759",
+ "D_695772621"
+ ],
+ "byKind": {
+ "default": 36,
+ "no-response": 13,
+ "response": 188
+ },
+ "byResolution": {
+ "exact": 237
+ },
+ "triggerTypes": {
+ "checkbox": 51,
+ "hidden": 49,
+ "radio": 137
+ },
+ "triggerValues": [
+ "797189152",
+ "633546100",
+ "866002271",
+ "209101810",
+ "413734739",
+ "215525943",
+ "118789503",
+ "715563991",
+ "533491176",
+ "220755749",
+ "465318416",
+ "630100221",
+ "692881833",
+ "654450030",
+ "532603425",
+ "733236542",
+ "961987554",
+ "113771607",
+ "668256654",
+ "752953170",
+ "325506683",
+ "335563082",
+ "955881350",
+ "492902023",
+ "256196714",
+ "802859122",
+ "520432394",
+ "667901971",
+ "807835037",
+ "308633554",
+ "967156738",
+ "535003378",
+ "333647143",
+ "109972911",
+ "448068764",
+ "537173119",
+ "770550588",
+ "970716952",
+ "524029283",
+ "500023550",
+ "104430631",
+ "178420302",
+ "236949684",
+ "203210013",
+ "219088015",
+ "283265038",
+ "691148901",
+ "928432579",
+ "506053626",
+ "462661976",
+ "119809731",
+ "282580702",
+ "934779560",
+ "956827502",
+ "312250694",
+ "255054078",
+ "492921091",
+ "577887061",
+ "419571068",
+ "726183532",
+ "898042848",
+ "903156464",
+ "474921307",
+ "405616098",
+ "646114392",
+ "673135412",
+ "687879041",
+ "531274737",
+ "650022485",
+ "891052313",
+ "875157431",
+ "309925717"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "valueIsOneOf(\"D_951847507\",113771607,668256654)",
+ "equals(D_506456253,752953170)",
+ "equals(D_506456253,325506683)",
+ "equals(D_506456253,335563082)",
+ "equals(D_506456253,955881350)",
+ "equals(D_506456253,492902023)",
+ "equals(D_506456253,256196714)",
+ "equals(D_506456253,802859122)",
+ "equals(D_765772509,308633554)",
+ "equals(D_765772509,967156738)",
+ "equals(D_506456253,520432394)",
+ "equals(D_506456253,667901971)",
+ "equals(D_506456253,807835037)",
+ "exists('D_942347130')",
+ "doesNotExist('D_942347130')",
+ "valueIsOneOf(\"D_590067228\",333647143,109972911)",
+ "equals(D_729984625,692881833)",
+ "valueIsOneOf(\"D_860839849\",448068764,537173119)",
+ "valueIsOneOf(\"D_429157727\",770550588,970716952)",
+ "valueIsOneOf(\"D_292314539\",524029283,500023550)",
+ "equals(D_802157786,353358909)",
+ "equals(D_339142996,353358909)",
+ "equals(D_365148290,203210013)",
+ "valueIsOneOf(\"D_619830872\",506053626,462661976,178420302)",
+ "equals(D_365148290,219088015)",
+ "valueIsOneOf(\"D_900561740\",506053626,462661976,178420302)",
+ "equals(D_365148290,283265038)",
+ "valueIsOneOf(\"D_541338917\",506053626,462661976,178420302)",
+ "equals(D_365148290,691148901)",
+ "valueIsOneOf(\"D_108417657\",506053626,462661976,178420302)",
+ "equals(D_365148290,928432579)",
+ "valueIsOneOf(\"D_960218176\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_129025755,353358909)",
+ "valueIsOneOf(\"D_236655642\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_524918714,353358909)",
+ "valueIsOneOf(\"D_221189280\",506053626,462661976,178420302)",
+ "equals(D_552399966,353358909)",
+ "valueIsOneOf(\"D_925516907\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_991871399,353358909)",
+ "valueIsOneOf(\"D_588828383\",506053626,462661976,178420302)",
+ "or(equals(D_890391968,700100953),equals(D_729984625,733236542))",
+ "equals(D_465056475,312250694)",
+ "valueIsOneOf(\"D_199704727\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_465056475,255054078)",
+ "valueIsOneOf(\"D_650508014\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_465056475,492921091)",
+ "valueIsOneOf(\"D_770939852\",506053626,462661976,178420302)",
+ "valueIsOneOf(\"D_413039729\",145235510,801218076)",
+ "equals(D_961267001,577887061)",
+ "valueIsOneOf(\"D_111580947\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,419571068)",
+ "valueIsOneOf(\"D_560107274\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,726183532)",
+ "valueIsOneOf(\"D_434993234\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,898042848)",
+ "valueIsOneOf(\"D_891793989\",506053626,119809731,282580702,934779560,178420302)",
+ "or(or(equals(D_890391968,434651539),equals(D_729984625,220755749)),equals(D_729984625,630100221))",
+ "equals(D_957875649,903156464)",
+ "valueIsOneOf(\"D_951078002\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_957875649,474921307)",
+ "valueIsOneOf(\"D_227617345\",506053626,119809731,282580702,934779560,178420302)",
+ "or(equals(D_890391968,505282171),equals(D_729984625,220755749))",
+ "equals(D_229764995,405616098)",
+ "valueIsOneOf(\"D_393386163\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_229764995,646114392)",
+ "valueIsOneOf(\"D_353889236\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_229764995,673135412)",
+ "valueIsOneOf(\"D_153215425\",506053626,119809731,282580702,934779560,178420302)",
+ "or(equals(D_890391968,578416151),equals(D_729984625,220755749))",
+ "equals(D_356470898,687879041)",
+ "valueIsOneOf(\"D_898341670\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,531274737)",
+ "valueIsOneOf(\"D_809308794\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,650022485)",
+ "valueIsOneOf(\"D_104842019\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,891052313)",
+ "valueIsOneOf(\"D_391300412\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_219076879,875157431)",
+ "valueIsOneOf(\"D_459223565\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_219076879,309925717)",
+ "valueIsOneOf(\"D_698242759\",506053626,119809731,282580702,934779560,178420302)"
+ ],
+ "sitesByScope": {
+ "inline": 2,
+ "question": 105
+ },
+ "sitesByAttribute": {
+ "displayif": 107
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 144,
+ "processorQuestionCount": 144,
+ "processedQuestionCount": 144,
+ "renderedFormCount": 144,
+ "controlCount": 1158,
+ "responseControlCount": 681,
+ "explicitTransitionCount": 237,
+ "sequentialAdjacencyCount": 143,
+ "resolvedExplicitTransitionCount": 237,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 107,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 81
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleCancerScreeningHistory",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleCancerScreeningHistorySpanish.txt",
+ "sha256": "dd93c2e963d9c0f2eb202667a45748ca576aefed4157f315a6e8ddef95eb7c38",
+ "questName": "D_369168474",
+ "version": "1.2",
+ "authoredMarkerCount": 144,
+ "runtimeQuestionIds": [
+ "SRVSCR_INTROSCREEN_V1R0",
+ "D_890391968?",
+ "D_413039729?",
+ "D_729984625?",
+ "D_675055475?",
+ "D_250003172?",
+ "D_341080024?",
+ "D_841573821?",
+ "D_976626196?",
+ "D_951847507?",
+ "D_998519118?",
+ "D_645149364?",
+ "D_839555631?",
+ "D_506456253?",
+ "D_439760665?",
+ "D_950690103?",
+ "D_975268706?",
+ "D_277890744?",
+ "D_936444833?",
+ "D_758881441?",
+ "D_765772509?",
+ "D_250353250?",
+ "D_116546181?",
+ "D_496928179?",
+ "D_166524009?",
+ "D_367942006?",
+ "D_907385951?",
+ "D_350184001?",
+ "D_522645663?",
+ "D_590067228?",
+ "D_787505819?",
+ "D_860839849?",
+ "D_949587133?",
+ "D_671670265?",
+ "D_429157727?",
+ "D_314345103?",
+ "D_292314539?",
+ "D_343990595?",
+ "D_203366781?",
+ "SRVSCR_ORSCREENINT_V1R0",
+ "D_802157786?",
+ "D_852697610?",
+ "D_860253133?",
+ "D_682440005?",
+ "D_339142996?",
+ "D_375662706?",
+ "D_859197222?",
+ "D_529358901?",
+ "D_365148290?",
+ "D_988661374?",
+ "D_619830872?",
+ "D_226488112?",
+ "D_884856351?",
+ "D_900561740?",
+ "D_729390410?",
+ "D_869938650?",
+ "D_541338917?",
+ "D_833553697?",
+ "D_689280509?",
+ "D_108417657?",
+ "D_822995885?",
+ "D_677043723?",
+ "D_960218176?",
+ "D_806961194?",
+ "D_129025755?",
+ "D_702922820?",
+ "D_236655642?",
+ "D_581174597?",
+ "D_524918714?",
+ "D_584375130?",
+ "D_221189280?",
+ "D_737402324?",
+ "D_552399966?",
+ "D_124071431?",
+ "D_113343940?",
+ "D_925516907?",
+ "D_506482920?",
+ "D_991871399?",
+ "D_761831751?",
+ "D_588828383?",
+ "D_485867936?",
+ "D_465056475?",
+ "D_718137053?",
+ "D_199704727?",
+ "D_621714179?",
+ "D_772645761?",
+ "D_650508014?",
+ "D_903059223?",
+ "D_214352460?",
+ "D_770939852?",
+ "D_423202492?",
+ "D_961267001?",
+ "D_745742553?",
+ "D_111580947?",
+ "D_709088568?",
+ "D_372457715?",
+ "D_315184598?",
+ "D_560107274?",
+ "D_569358384?",
+ "D_305769587?",
+ "D_434993234?",
+ "D_846067697?",
+ "D_861488320?",
+ "D_891793989?",
+ "D_811848389?",
+ "D_957875649?",
+ "D_406370140?",
+ "D_951078002?",
+ "D_631089527?",
+ "D_475018570?",
+ "D_227617345?",
+ "D_274709835?",
+ "D_229764995?",
+ "D_934385625?",
+ "D_393386163?",
+ "D_856699079?",
+ "D_723960145?",
+ "D_353889236?",
+ "D_242001363?",
+ "D_623413449?",
+ "D_153215425?",
+ "D_115504049?",
+ "D_356470898?",
+ "D_947994136?",
+ "D_898341670?",
+ "D_913107034?",
+ "D_655198446?",
+ "D_809308794?",
+ "D_766549014?",
+ "D_496588916?",
+ "D_104842019?",
+ "D_315199788?",
+ "D_249853484?",
+ "D_391300412?",
+ "D_808990505?",
+ "D_219076879?",
+ "D_822790675?",
+ "D_459223565?",
+ "D_397748152?",
+ "D_553034408?",
+ "D_698242759?",
+ "D_695772621?",
+ "D_431721131?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 71,
+ "number": 56,
+ "radio": 553,
+ "text": 1
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_675055475",
+ "D_250003172",
+ "D_341080024",
+ "D_841573821",
+ "D_976626196",
+ "D_951847507",
+ "D_645149364",
+ "D_839555631",
+ "D_506456253",
+ "D_350184001",
+ "D_522645663",
+ "D_590067228",
+ "D_860839849",
+ "D_671670265",
+ "D_429157727",
+ "D_292314539",
+ "D_203366781",
+ "SRVSCR_ORSCREENINT_V1R0",
+ "D_998519118",
+ "D_439760665",
+ "D_950690103",
+ "D_975268706",
+ "D_277890744",
+ "D_936444833",
+ "D_758881441",
+ "D_765772509",
+ "D_166524009",
+ "D_367942006",
+ "D_907385951",
+ "D_250353250",
+ "D_116546181",
+ "D_496928179",
+ "D_787505819",
+ "D_949587133",
+ "D_314345103",
+ "D_343990595",
+ "D_365148290",
+ "D_339142996",
+ "D_988661374",
+ "D_884856351",
+ "D_869938650",
+ "D_689280509",
+ "D_677043723",
+ "D_129025755",
+ "D_619830872",
+ "D_226488112",
+ "D_900561740",
+ "D_729390410",
+ "D_541338917",
+ "D_833553697",
+ "D_108417657",
+ "D_822995885",
+ "D_960218176",
+ "D_806961194",
+ "D_524918714",
+ "D_552399966",
+ "D_991871399",
+ "D_113343940",
+ "D_925516907",
+ "D_506482920",
+ "D_465056475",
+ "D_718137053",
+ "D_772645761",
+ "D_214352460",
+ "D_961267001",
+ "D_199704727",
+ "D_621714179",
+ "D_650508014",
+ "D_903059223",
+ "D_770939852",
+ "D_423202492",
+ "D_745742553",
+ "D_315184598",
+ "D_305769587",
+ "D_861488320",
+ "D_957875649",
+ "D_111580947",
+ "D_372457715",
+ "D_709088568",
+ "D_560107274",
+ "D_569358384",
+ "D_434993234",
+ "D_846067697",
+ "D_891793989",
+ "D_811848389",
+ "D_406370140",
+ "D_475018570",
+ "D_229764995",
+ "D_951078002",
+ "D_631089527",
+ "D_227617345",
+ "D_274709835",
+ "D_934385625",
+ "D_723960145",
+ "D_623413449",
+ "D_356470898",
+ "D_393386163",
+ "D_856699079",
+ "D_353889236",
+ "D_242001363",
+ "D_153215425",
+ "D_115504049",
+ "D_947994136",
+ "D_655198446",
+ "D_496588916",
+ "D_249853484",
+ "D_219076879",
+ "D_898341670",
+ "D_913107034",
+ "D_809308794",
+ "D_766549014",
+ "D_104842019",
+ "D_315199788",
+ "D_391300412",
+ "D_808990505",
+ "D_822790675",
+ "D_553034408",
+ "D_431721131",
+ "D_459223565",
+ "D_397748152",
+ "D_698242759",
+ "D_695772621"
+ ],
+ "byKind": {
+ "default": 36,
+ "no-response": 13,
+ "response": 188
+ },
+ "byResolution": {
+ "exact": 237
+ },
+ "triggerTypes": {
+ "checkbox": 51,
+ "hidden": 49,
+ "radio": 137
+ },
+ "triggerValues": [
+ "797189152",
+ "633546100",
+ "866002271",
+ "209101810",
+ "413734739",
+ "215525943",
+ "118789503",
+ "715563991",
+ "533491176",
+ "220755749",
+ "465318416",
+ "630100221",
+ "692881833",
+ "654450030",
+ "532603425",
+ "733236542",
+ "961987554",
+ "113771607",
+ "668256654",
+ "752953170",
+ "325506683",
+ "335563082",
+ "955881350",
+ "492902023",
+ "256196714",
+ "802859122",
+ "520432394",
+ "667901971",
+ "807835037",
+ "308633554",
+ "967156738",
+ "535003378",
+ "333647143",
+ "109972911",
+ "448068764",
+ "537173119",
+ "770550588",
+ "970716952",
+ "524029283",
+ "500023550",
+ "104430631",
+ "178420302",
+ "236949684",
+ "203210013",
+ "219088015",
+ "283265038",
+ "691148901",
+ "928432579",
+ "506053626",
+ "462661976",
+ "119809731",
+ "282580702",
+ "934779560",
+ "956827502",
+ "312250694",
+ "255054078",
+ "492921091",
+ "577887061",
+ "419571068",
+ "726183532",
+ "898042848",
+ "903156464",
+ "474921307",
+ "405616098",
+ "646114392",
+ "673135412",
+ "687879041",
+ "531274737",
+ "650022485",
+ "891052313",
+ "875157431",
+ "309925717"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "valueIsOneOf(\"D_951847507\",113771607,668256654)",
+ "equals(D_506456253,752953170)",
+ "equals(D_506456253,325506683)",
+ "equals(D_506456253,335563082)",
+ "equals(D_506456253,955881350)",
+ "equals(D_506456253,492902023)",
+ "equals(D_506456253,256196714)",
+ "equals(D_506456253,802859122)",
+ "equals(D_765772509,308633554)",
+ "equals(D_765772509,967156738)",
+ "equals(D_506456253,520432394)",
+ "equals(D_506456253,667901971)",
+ "equals(D_506456253,807835037)",
+ "exists('D_942347130')",
+ "doesNotExist('D_942347130')",
+ "valueIsOneOf(\"D_590067228\",333647143,109972911)",
+ "valueIsOneOf(\"D_860839849\",448068764,537173119)",
+ "valueIsOneOf(\"D_429157727\",770550588,970716952)",
+ "valueIsOneOf(\"D_292314539\",524029283,500023550)",
+ "equals(D_802157786,353358909)",
+ "equals(D_339142996,353358909)",
+ "equals(D_365148290,203210013)",
+ "valueIsOneOf(\"D_619830872\",506053626,462661976,178420302)",
+ "equals(D_365148290,219088015)",
+ "valueIsOneOf(\"D_900561740\",506053626,462661976,178420302)",
+ "equals(D_365148290,283265038)",
+ "valueIsOneOf(\"D_541338917\",506053626,462661976,178420302)",
+ "equals(D_365148290,691148901)",
+ "valueIsOneOf(\"D_108417657\",506053626,462661976,178420302)",
+ "equals(D_365148290,928432579)",
+ "valueIsOneOf(\"D_960218176\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_129025755,353358909)",
+ "valueIsOneOf(\"D_236655642\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_524918714,353358909)",
+ "valueIsOneOf(\"D_221189280\",506053626,462661976,178420302)",
+ "equals(D_552399966,353358909)",
+ "valueIsOneOf(\"D_925516907\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_991871399,353358909)",
+ "valueIsOneOf(\"D_588828383\",506053626,462661976,178420302)",
+ "or(equals(D_890391968,700100953),equals(D_729984625,733236542))",
+ "equals(D_465056475,312250694)",
+ "valueIsOneOf(\"D_199704727\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_465056475,255054078)",
+ "valueIsOneOf(\"D_650508014\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_465056475,492921091)",
+ "valueIsOneOf(\"D_770939852\",506053626,462661976,178420302)",
+ "valueIsOneOf(\"D_413039729\",145235510,801218076)",
+ "equals(D_961267001,577887061)",
+ "valueIsOneOf(\"D_111580947\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,419571068)",
+ "valueIsOneOf(\"D_560107274\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,726183532)",
+ "valueIsOneOf(\"D_434993234\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_961267001,898042848)",
+ "valueIsOneOf(\"D_891793989\",506053626,119809731,282580702,934779560,178420302)",
+ "or(or(equals(D_890391968,434651539),equals(D_729984625,220755749)),equals(D_729984625,630100221))",
+ "equals(D_957875649,903156464)",
+ "valueIsOneOf(\"D_951078002\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_957875649,474921307)",
+ "valueIsOneOf(\"D_227617345\",506053626,119809731,282580702,934779560,178420302)",
+ "or(equals(D_890391968,505282171),equals(D_729984625,220755749))",
+ "equals(D_229764995,405616098)",
+ "valueIsOneOf(\"D_393386163\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_229764995,646114392)",
+ "valueIsOneOf(\"D_353889236\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_229764995,673135412)",
+ "valueIsOneOf(\"D_153215425\",506053626,119809731,282580702,934779560,178420302)",
+ "or(equals(D_890391968,578416151),equals(D_729984625,220755749))",
+ "equals(D_356470898,687879041)",
+ "valueIsOneOf(\"D_898341670\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,531274737)",
+ "valueIsOneOf(\"D_809308794\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,650022485)",
+ "valueIsOneOf(\"D_104842019\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_356470898,891052313)",
+ "valueIsOneOf(\"D_391300412\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_219076879,875157431)",
+ "valueIsOneOf(\"D_459223565\",506053626,119809731,282580702,934779560,178420302)",
+ "equals(D_219076879,309925717)",
+ "valueIsOneOf(\"D_698242759\",506053626,119809731,282580702,934779560,178420302)"
+ ],
+ "sitesByScope": {
+ "inline": 2,
+ "question": 104
+ },
+ "sitesByAttribute": {
+ "displayif": 106
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 144,
+ "processorQuestionCount": 144,
+ "processedQuestionCount": 144,
+ "renderedFormCount": 144,
+ "controlCount": 1158,
+ "responseControlCount": 681,
+ "explicitTransitionCount": 237,
+ "sequentialAdjacencyCount": 143,
+ "resolvedExplicitTransitionCount": 237,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 106,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 80
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleClinicalBloodUrine",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleClinicalBloodUrine.txt",
+ "sha256": "da2014adad00d371c0044fdfe1095af570e253c293ea3e88023045d51762a91e",
+ "questName": "D_826163434",
+ "version": "1.4",
+ "authoredMarkerCount": 21,
+ "runtimeQuestionIds": [
+ "SRVBIO_MODULEINTRO_V1R0",
+ "D_522008539?",
+ "D_470484596?",
+ "D_867307558?",
+ "D_191057574_V2?",
+ "D_299417266_V2?",
+ "D_689861450_V2?",
+ "D_487532606",
+ "SRVBLU_REPROINTRO_V1R0",
+ "D_380603392!",
+ "D_112151599!",
+ "D_644459734!",
+ "D_518916981?",
+ "D_234714655?",
+ "D_798452445?",
+ "D_563539159?",
+ "D_875535246?",
+ "D_130311122?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 6,
+ "date": 1,
+ "radio": 36,
+ "time": 3
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_299417266_V2",
+ "D_518916981",
+ "D_798452445",
+ "D_875535246"
+ ],
+ "byKind": {
+ "response": 5
+ },
+ "byResolution": {
+ "exact": 5
+ },
+ "triggerTypes": {
+ "radio": 5
+ },
+ "triggerValues": [
+ "330461666",
+ "104430631",
+ "353358909"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_522008539,536341288)",
+ "equals(D_518916981,104430631)"
+ ],
+ "sitesByScope": {
+ "question": 10
+ },
+ "sitesByAttribute": {
+ "displayif": 10
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_487532606",
+ "questionIndex": 7,
+ "rowQuestionIds": [
+ "D_619765650",
+ "D_520755310",
+ "D_839329467"
+ ],
+ "rowCount": 3,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "974230748",
+ "936042740",
+ "731141335",
+ "591670915"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 21,
+ "processorQuestionCount": 19,
+ "processedQuestionCount": 19,
+ "renderedFormCount": 19,
+ "controlCount": 99,
+ "responseControlCount": 46,
+ "explicitTransitionCount": 5,
+ "sequentialAdjacencyCount": 18,
+ "resolvedExplicitTransitionCount": 5,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 10,
+ "gridQuestionCount": 1,
+ "gridRowCount": 3,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleClinicalBloodUrine",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleClinicalBloodUrineSpanish.txt",
+ "sha256": "2898151d137c3f33ecf857b4f82561d6c42ae0c6c1947d47a1317ba24c9de987",
+ "questName": "D_826163434",
+ "version": "1.4",
+ "authoredMarkerCount": 21,
+ "runtimeQuestionIds": [
+ "SRVBIO_MODULEINTRO_V1R0",
+ "D_522008539?",
+ "D_470484596?",
+ "D_867307558?",
+ "D_191057574_V2?",
+ "D_299417266_V2?",
+ "D_689861450_V2?",
+ "D_487532606",
+ "SRVBLU_REPROINTRO_V1R0",
+ "D_380603392!",
+ "D_112151599!",
+ "D_644459734!",
+ "D_518916981?",
+ "D_234714655?",
+ "D_798452445?",
+ "D_563539159?",
+ "D_875535246?",
+ "D_130311122?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 6,
+ "date": 1,
+ "radio": 36,
+ "time": 3
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_299417266_V2",
+ "D_518916981",
+ "D_798452445",
+ "D_875535246"
+ ],
+ "byKind": {
+ "response": 5
+ },
+ "byResolution": {
+ "exact": 5
+ },
+ "triggerTypes": {
+ "radio": 5
+ },
+ "triggerValues": [
+ "330461666",
+ "104430631",
+ "353358909"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_522008539,536341288)",
+ "equals(D_518916981,104430631)"
+ ],
+ "sitesByScope": {
+ "question": 10
+ },
+ "sitesByAttribute": {
+ "displayif": 10
+ }
+ },
+ "grids": [
+ {
+ "questionId": "D_487532606",
+ "questionIndex": 7,
+ "rowQuestionIds": [
+ "D_619765650",
+ "D_520755310",
+ "D_839329467"
+ ],
+ "rowCount": 3,
+ "responseTypes": [
+ "radio"
+ ],
+ "responseValues": [
+ "104430631",
+ "974230748",
+ "936042740",
+ "731141335",
+ "591670915"
+ ]
+ }
+ ],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 21,
+ "processorQuestionCount": 19,
+ "processedQuestionCount": 19,
+ "renderedFormCount": 19,
+ "controlCount": 99,
+ "responseControlCount": 46,
+ "explicitTransitionCount": 5,
+ "sequentialAdjacencyCount": 18,
+ "resolvedExplicitTransitionCount": 5,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 10,
+ "gridQuestionCount": 1,
+ "gridRowCount": 3,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleDietScreener",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleDietScreener",
+ "sha256": "bfe990625139d13c6125245a441c8fcb666bcbac905e577ef374df8f708f5dca",
+ "questName": "D_515124081",
+ "version": "1.0",
+ "authoredMarkerCount": 3,
+ "runtimeQuestionIds": [
+ "INTRO_SRVDSQ",
+ "D_916948380?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "radio": 157
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "processedQuestionCount": 3,
+ "renderedFormCount": 3,
+ "controlCount": 163,
+ "responseControlCount": 157,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 2,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleDietScreener",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleDietScreenerSpanish.txt",
+ "sha256": "40a21887c151720e2ce65450154e0ab8b21f5d94c6324de3f8417b35e2d5564a",
+ "questName": "D_515124081",
+ "version": "1.0",
+ "authoredMarkerCount": 3,
+ "runtimeQuestionIds": [
+ "INTRO_SRVDSQ",
+ "D_916948380?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "radio": 157
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "processedQuestionCount": 3,
+ "renderedFormCount": 3,
+ "controlCount": 163,
+ "responseControlCount": 157,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 2,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleMenstrual",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleMenstrual.txt",
+ "sha256": "13de3a43aed31befdda5be4c805a3b885e36df9275f742a19ca931e360e159b2",
+ "questName": "D_912367929",
+ "version": "1.1",
+ "authoredMarkerCount": 5,
+ "runtimeQuestionIds": [
+ "SRVBLU_MENSINTRO_V1R0",
+ "SRVBLU_MENSINTRO2_V1R0",
+ "D_951357171!",
+ "D_593467240!",
+ "END"
+ ],
+ "responseControlsByType": {
+ "date": 1,
+ "radio": 2
+ },
+ "explicitTransitions": {
+ "targets": [
+ "END"
+ ],
+ "byKind": {
+ "response": 1
+ },
+ "byResolution": {
+ "terminal": 1
+ },
+ "triggerTypes": {
+ "radio": 1
+ },
+ "triggerValues": [
+ "104430631"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_951357171,104430631)",
+ "equals(D_951357171,353358909)"
+ ],
+ "sitesByScope": {
+ "inline": 2
+ },
+ "sitesByAttribute": {
+ "displayif": 2
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "END"
+ ],
+ "counts": {
+ "authoredMarkerCount": 5,
+ "processorQuestionCount": 5,
+ "processedQuestionCount": 5,
+ "renderedFormCount": 5,
+ "controlCount": 14,
+ "responseControlCount": 3,
+ "explicitTransitionCount": 1,
+ "sequentialAdjacencyCount": 4,
+ "resolvedExplicitTransitionCount": 1,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 2,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleMenstrual",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleMenstrualSpanish.txt",
+ "sha256": "6424161524cbfd2ba9884e0db0106f1dcb37132473125de2abeeae9c8ae6cc8f",
+ "questName": "D_912367929",
+ "version": "1.1",
+ "authoredMarkerCount": 5,
+ "runtimeQuestionIds": [
+ "SRVBLU_MENSINTRO_V1R0",
+ "SRVBLU_MENSINTRO2_V1R0",
+ "D_951357171!",
+ "D_593467240!",
+ "END"
+ ],
+ "responseControlsByType": {
+ "date": 1,
+ "radio": 2
+ },
+ "explicitTransitions": {
+ "targets": [
+ "END"
+ ],
+ "byKind": {
+ "response": 1
+ },
+ "byResolution": {
+ "terminal": 1
+ },
+ "triggerTypes": {
+ "radio": 1
+ },
+ "triggerValues": [
+ "104430631"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_951357171,104430631)",
+ "equals(D_951357171,353358909)"
+ ],
+ "sitesByScope": {
+ "inline": 2
+ },
+ "sitesByAttribute": {
+ "displayif": 2
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "END"
+ ],
+ "counts": {
+ "authoredMarkerCount": 5,
+ "processorQuestionCount": 5,
+ "processedQuestionCount": 5,
+ "renderedFormCount": 5,
+ "controlCount": 14,
+ "responseControlCount": 3,
+ "explicitTransitionCount": 1,
+ "sequentialAdjacencyCount": 4,
+ "resolvedExplicitTransitionCount": 1,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 2,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 2
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleMouthwash",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleMouthwash.txt",
+ "sha256": "5d352f4bebe7c0a16cb835c24b44c93c7ce00af4a9b5c8a345ce3662036c70fd",
+ "questName": "D_390351864",
+ "version": "1.1",
+ "authoredMarkerCount": 34,
+ "runtimeQuestionIds": [
+ "SRVMTW_MODULEINTRO_V1R0",
+ "D_667908442!",
+ "D_350251057?",
+ "D_877878167?",
+ "D_800703566?",
+ "D_294886836?",
+ "D_642044281?",
+ "D_479143504?",
+ "D_498984275?",
+ "D_205713835?",
+ "D_353467497?",
+ "D_429994023?",
+ "D_499977481?",
+ "D_406270109?",
+ "D_349659426?",
+ "D_766370065?",
+ "D_520416570?",
+ "D_921972241?",
+ "D_526973271?",
+ "D_460873842?",
+ "D_430060900?",
+ "D_800752981?",
+ "D_899251483_V2?",
+ "D_724589244?",
+ "D_957305523?",
+ "D_360678252?",
+ "D_542661394?",
+ "D_339570897?",
+ "D_983043203?",
+ "D_736028153?",
+ "D_792134396?",
+ "D_736393021?",
+ "D_318641324?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 25,
+ "radio": 134
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_350251057",
+ "END",
+ "D_498984275",
+ "D_205713835",
+ "D_353467497",
+ "D_429994023",
+ "D_499977481",
+ "D_406270109",
+ "D_349659426",
+ "D_766370065",
+ "D_520416570",
+ "D_921972241",
+ "D_526973271",
+ "D_460873842",
+ "D_430060900",
+ "D_800752981",
+ "D_724589244",
+ "D_957305523",
+ "D_360678252"
+ ],
+ "byKind": {
+ "no-response": 1,
+ "response": 21
+ },
+ "byResolution": {
+ "exact": 18,
+ "terminal": 4
+ },
+ "triggerTypes": {
+ "checkbox": 17,
+ "hidden": 1,
+ "radio": 4
+ },
+ "triggerValues": [
+ "668770150",
+ "141992510",
+ "203919683",
+ "807884576",
+ "165596977",
+ "578402172",
+ "184513726",
+ "390351864",
+ "950773275",
+ "762727133",
+ "877842367",
+ "886771318",
+ "404389800",
+ "463302301",
+ "259744087",
+ "523660949",
+ "812107266",
+ "452438775",
+ "886864375",
+ "104430631",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_479143504,203919683)",
+ "equals(D_479143504,807884576)",
+ "equals(D_479143504,165596977)",
+ "equals(D_479143504,578402172)",
+ "equals(D_479143504,184513726)",
+ "equals(D_479143504,390351864)",
+ "equals(D_406270109,950773275)",
+ "equals(D_406270109,762727133)",
+ "equals(D_406270109,877842367)",
+ "equals(D_406270109,886771318)",
+ "equals(D_406270109,404389800)",
+ "equals(D_406270109,463302301)",
+ "equals(D_406270109,259744087)",
+ "equals(D_406270109,523660949)",
+ "equals(D_899251483_V2,812107266)",
+ "equals(D_899251483_V2,452438775)",
+ "equals(D_899251483_V2,886864375)",
+ "equals(D_667908442,141992510)",
+ "equals(D_667908442,668770150)"
+ ],
+ "sitesByScope": {
+ "inline": 2,
+ "question": 17
+ },
+ "sitesByAttribute": {
+ "displayif": 19
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "END"
+ ],
+ "counts": {
+ "authoredMarkerCount": 34,
+ "processorQuestionCount": 34,
+ "processedQuestionCount": 34,
+ "renderedFormCount": 34,
+ "controlCount": 259,
+ "responseControlCount": 159,
+ "explicitTransitionCount": 22,
+ "sequentialAdjacencyCount": 33,
+ "resolvedExplicitTransitionCount": 22,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 19,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 19
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleMouthwash",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleMouthwashSpanish.txt",
+ "sha256": "e7516c4836ad310bc8be26f7c96cb9e1f23ee0bcbc529677e34db332fd76637a",
+ "questName": "D_390351864",
+ "version": "1.1",
+ "authoredMarkerCount": 34,
+ "runtimeQuestionIds": [
+ "SRVMTW_MODULEINTRO_V1R0",
+ "D_667908442!",
+ "D_350251057?",
+ "D_877878167?",
+ "D_800703566?",
+ "D_294886836?",
+ "D_642044281?",
+ "D_479143504?",
+ "D_498984275?",
+ "D_205713835?",
+ "D_353467497?",
+ "D_429994023?",
+ "D_499977481?",
+ "D_406270109?",
+ "D_349659426?",
+ "D_766370065?",
+ "D_520416570?",
+ "D_921972241?",
+ "D_526973271?",
+ "D_460873842?",
+ "D_430060900?",
+ "D_800752981?",
+ "D_899251483_V2?",
+ "D_724589244?",
+ "D_957305523?",
+ "D_360678252?",
+ "D_542661394?",
+ "D_339570897?",
+ "D_983043203?",
+ "D_736028153?",
+ "D_792134396?",
+ "D_736393021?",
+ "D_318641324?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "checkbox": 25,
+ "radio": 134
+ },
+ "explicitTransitions": {
+ "targets": [
+ "D_350251057",
+ "END",
+ "D_498984275",
+ "D_205713835",
+ "D_353467497",
+ "D_429994023",
+ "D_499977481",
+ "D_406270109",
+ "D_349659426",
+ "D_766370065",
+ "D_520416570",
+ "D_921972241",
+ "D_526973271",
+ "D_460873842",
+ "D_430060900",
+ "D_800752981",
+ "D_724589244",
+ "D_957305523",
+ "D_360678252"
+ ],
+ "byKind": {
+ "no-response": 1,
+ "response": 21
+ },
+ "byResolution": {
+ "exact": 18,
+ "terminal": 4
+ },
+ "triggerTypes": {
+ "checkbox": 17,
+ "hidden": 1,
+ "radio": 4
+ },
+ "triggerValues": [
+ "668770150",
+ "141992510",
+ "203919683",
+ "807884576",
+ "165596977",
+ "578402172",
+ "184513726",
+ "390351864",
+ "950773275",
+ "762727133",
+ "877842367",
+ "886771318",
+ "404389800",
+ "463302301",
+ "259744087",
+ "523660949",
+ "812107266",
+ "452438775",
+ "886864375",
+ "104430631",
+ "178420302"
+ ],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [
+ "equals(D_479143504,203919683)",
+ "equals(D_479143504,807884576)",
+ "equals(D_479143504,165596977)",
+ "equals(D_479143504,578402172)",
+ "equals(D_479143504,184513726)",
+ "equals(D_479143504,390351864)",
+ "equals(D_406270109,950773275)",
+ "equals(D_406270109,762727133)",
+ "equals(D_406270109,877842367)",
+ "equals(D_406270109,886771318)",
+ "equals(D_406270109,404389800)",
+ "equals(D_406270109,463302301)",
+ "equals(D_406270109,259744087)",
+ "equals(D_406270109,523660949)",
+ "equals(D_899251483_V2,812107266)",
+ "equals(D_899251483_V2,452438775)",
+ "equals(D_899251483_V2,886864375)",
+ "equals(D_667908442,141992510)",
+ "equals(D_667908442,668770150)"
+ ],
+ "sitesByScope": {
+ "inline": 2,
+ "question": 17
+ },
+ "sitesByAttribute": {
+ "displayif": 19
+ }
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [
+ "END"
+ ],
+ "counts": {
+ "authoredMarkerCount": 34,
+ "processorQuestionCount": 34,
+ "processedQuestionCount": 34,
+ "renderedFormCount": 34,
+ "controlCount": 259,
+ "responseControlCount": 159,
+ "explicitTransitionCount": 22,
+ "sequentialAdjacencyCount": 33,
+ "resolvedExplicitTransitionCount": 22,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 19,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 19
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleQoL",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/moduleQoL.txt",
+ "sha256": "6e1e8c3af357783996395be2a6b6907cf02f936c5cb8275717477f3e05c51b7e",
+ "questName": "D_601305072",
+ "version": "1.0",
+ "authoredMarkerCount": 11,
+ "runtimeQuestionIds": [
+ "D_284353934?",
+ "D_404946076?",
+ "D_715048033?",
+ "D_907490539?",
+ "D_336566965?",
+ "D_420392309?",
+ "D_420560514?",
+ "D_261177801?",
+ "D_326712049?",
+ "D_230486322?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "radio": 200
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 11,
+ "processorQuestionCount": 11,
+ "processedQuestionCount": 11,
+ "renderedFormCount": 11,
+ "controlCount": 231,
+ "responseControlCount": 200,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 10,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "moduleQoL",
+ "locale": "es",
+ "language": "es",
+ "path": "prod/moduleQoLSpanish.txt",
+ "sha256": "c068aab47cb94768399a635e7e98a48078e29e36391db55987ce33701edbf4a1",
+ "questName": "D_601305072",
+ "version": "1.0",
+ "authoredMarkerCount": 11,
+ "runtimeQuestionIds": [
+ "D_284353934?",
+ "D_404946076?",
+ "D_715048033?",
+ "D_907490539?",
+ "D_336566965?",
+ "D_420392309?",
+ "D_420560514?",
+ "D_261177801?",
+ "D_326712049?",
+ "D_230486322?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "radio": 200
+ },
+ "explicitTransitions": {
+ "targets": [],
+ "byKind": {},
+ "byResolution": {},
+ "triggerTypes": {},
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 11,
+ "processorQuestionCount": 11,
+ "processedQuestionCount": 11,
+ "renderedFormCount": 11,
+ "controlCount": 231,
+ "responseControlCount": 200,
+ "explicitTransitionCount": 0,
+ "sequentialAdjacencyCount": 10,
+ "resolvedExplicitTransitionCount": 0,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ },
+ {
+ "schemaVersion": 1,
+ "module": "ssnModule",
+ "locale": "en",
+ "language": "en",
+ "path": "prod/ssnModule.txt",
+ "sha256": "400e5fb271c1d434c6c397f370b32fced6d16ea2a2f589720ac220ba82bbeb1b",
+ "questName": "D_166676176",
+ "version": "1.0",
+ "authoredMarkerCount": 3,
+ "runtimeQuestionIds": [
+ "SOCIALSECUR1?",
+ "SOCIALSECUR2?",
+ "END"
+ ],
+ "responseControlsByType": {
+ "text": 2
+ },
+ "explicitTransitions": {
+ "targets": [
+ "SOCIALSECUR2",
+ "END"
+ ],
+ "byKind": {
+ "default": 1,
+ "no-response": 1
+ },
+ "byResolution": {
+ "exact": 1,
+ "terminal": 1
+ },
+ "triggerTypes": {
+ "hidden": 2
+ },
+ "triggerValues": [],
+ "conditionalExpressions": []
+ },
+ "conditions": {
+ "expressions": [],
+ "sitesByScope": {},
+ "sitesByAttribute": {}
+ },
+ "grids": [],
+ "loops": [],
+ "unresolvedTargets": [],
+ "asyncQuestionIds": [],
+ "counts": {
+ "authoredMarkerCount": 3,
+ "processorQuestionCount": 3,
+ "processedQuestionCount": 3,
+ "renderedFormCount": 3,
+ "controlCount": 11,
+ "responseControlCount": 2,
+ "explicitTransitionCount": 2,
+ "sequentialAdjacencyCount": 2,
+ "resolvedExplicitTransitionCount": 2,
+ "unresolvedExplicitTransitionCount": 0,
+ "conditionSiteCount": 0,
+ "gridQuestionCount": 0,
+ "gridRowCount": 0,
+ "loopStartCount": 0,
+ "loopDefinitionCount": 0,
+ "loopExpandedQuestionCount": 0,
+ "prefixOnlyTargetCount": 0,
+ "ambiguousPrefixTargetCount": 0,
+ "uniqueConditionExpressionCount": 0
+ }
+ }
+ ]
+}
diff --git a/tests/corpus/structuralCatalog.spec.js b/tests/corpus/structuralCatalog.spec.js
new file mode 100644
index 0000000..86ed73b
--- /dev/null
+++ b/tests/corpus/structuralCatalog.spec.js
@@ -0,0 +1,323 @@
+import { existsSync, readFileSync } from 'node:fs';
+import path from 'node:path';
+
+import { describe, expect, it, vi } from 'vitest';
+
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+import { analyzeQuestionnaireText } from './scripts/lib/corpus.mjs';
+import {
+ STRUCTURAL_CATALOG_SCHEMA_VERSION,
+ buildStructuralCatalogRecord,
+} from './scripts/lib/structuralCatalog.mjs';
+
+const repositoryRoot = path.resolve(import.meta.dirname, '../..');
+const lock = JSON.parse(readFileSync(path.join(import.meta.dirname, 'lock.json'), 'utf8'));
+const hostRegistry = JSON.parse(readFileSync(path.join(import.meta.dirname, 'hostPersonas.json'), 'utf8'));
+const cacheDirectory = path.join(repositoryRoot, lock.cacheRoot, lock.commit);
+const canonicalClock = new Date('2024-07-15T12:00:00.000Z');
+const primaryPersona = hostRegistry.personas.find(({ id }) => id === 'external-branch-primary');
+
+const aggregateCountFields = [
+ 'authoredMarkerCount',
+ 'processorQuestionCount',
+ 'processedQuestionCount',
+ 'renderedFormCount',
+ 'controlCount',
+ 'responseControlCount',
+ 'explicitTransitionCount',
+ 'sequentialAdjacencyCount',
+ 'resolvedExplicitTransitionCount',
+ 'unresolvedExplicitTransitionCount',
+ 'conditionSiteCount',
+ 'gridQuestionCount',
+ 'gridRowCount',
+ 'loopStartCount',
+ 'loopDefinitionCount',
+ 'loopExpandedQuestionCount',
+ 'prefixOnlyTargetCount',
+ 'ambiguousPrefixTargetCount',
+];
+
+function comparePaths(left, right) {
+ return left.path < right.path ? -1 : left.path > right.path ? 1 : 0;
+}
+
+function asyncHooksFor(record) {
+ return Object.values(hostRegistry.asyncHooks)
+ .filter(({ module }) => module === record.module)
+ .toSorted((left, right) => left.markupKey.localeCompare(right.markupKey));
+}
+
+function asyncQuestionMap(hooks) {
+ return Object.fromEntries(hooks.map((hook) => [
+ hook.markupKey,
+ { func: hook.function, args: hook.args },
+ ]));
+}
+
+function normalisedQuestionId(question, index) {
+ return question.questionIDExactSearch
+ ?? question.questionID?.replace(/[?!]$/, '')
+ ?? `__question_${index}`;
+}
+
+function runtimeTargetResolver(processor, errorLog) {
+ return (target, { questionIndex }) => {
+ const originalIndex = processor.currentQuestionIndex;
+ const errorStart = errorLog.length;
+
+ try {
+ processor.currentQuestionIndex = questionIndex;
+ const result = processor.findQuestion(target);
+ const resolverErrors = errorLog.splice(errorStart);
+ if (!result?.question || result.index < 0 || resolverErrors.length > 0) {
+ return { resolved: false, kind: resolverErrors.length ? 'oracle-error' : 'missing' };
+ }
+
+ const questions = processor.questions;
+ const exactMatches = questions
+ .map((question, index) => ({ id: normalisedQuestionId(question, index), index }))
+ .filter(({ id }) => id === target);
+ const prefixMatches = questions
+ .map((question, index) => ({
+ id: question.questionID ?? normalisedQuestionId(question, index),
+ index,
+ }))
+ .filter(({ id }) => id.startsWith(target));
+ const resolvedId = result.question.id || result.question.getAttribute('id');
+
+ let kind = 'prefix-only';
+ if (target === 'END') kind = 'terminal';
+ else if (target.startsWith('_CONTINUE')) kind = 'virtual-loop';
+ else if (exactMatches.some(({ index }) => index === result.index)) kind = 'exact';
+ else if (prefixMatches.length > 1) kind = 'ambiguous-prefix';
+ else if (new RegExp(`^${target.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}_\\d+_\\d+[?!]?$`).test(resolvedId)) {
+ kind = 'generated-loop';
+ }
+
+ return {
+ resolved: true,
+ kind,
+ index: result.index,
+ questionId: resolvedId,
+ };
+ } catch {
+ errorLog.splice(errorStart);
+ return { resolved: false, kind: 'oracle-exception' };
+ } finally {
+ processor.currentQuestionIndex = originalIndex;
+ }
+ };
+}
+
+function addResolutionCounts(survey) {
+ const prefixOnlyTargetCount = survey.transitions
+ .filter(({ resolution }) => resolution.kind === 'prefix-only').length;
+ const ambiguousPrefixTargetCount = survey.transitions
+ .filter(({ resolution }) => resolution.kind === 'ambiguous-prefix').length;
+ const uniqueConditionExpressionCount = new Set(survey.conditionSites
+ .map(({ decodedCondition }) => decodedCondition)
+ .filter(Boolean)).size;
+
+ return {
+ ...survey,
+ counts: {
+ ...survey.counts,
+ prefixOnlyTargetCount,
+ ambiguousPrefixTargetCount,
+ uniqueConditionExpressionCount,
+ },
+ };
+}
+
+function responseControlTypes(questionRecords) {
+ const counts = {};
+ for (const { controls } of questionRecords) {
+ for (const control of controls) {
+ const type = control.type ?? control.tag;
+ if (['button', 'hidden', 'reset', 'submit'].includes(type)) continue;
+ counts[type] = (counts[type] ?? 0) + control.count;
+ }
+ }
+ return Object.fromEntries(Object.entries(counts).toSorted(([left], [right]) => left.localeCompare(right)));
+}
+
+function conditionSummary(conditionSites) {
+ return {
+ expressions: [...new Set(conditionSites.map(({ decodedCondition }) => decodedCondition))],
+ sitesByScope: countValues(conditionSites.map(({ scope }) => scope)),
+ sitesByAttribute: countValues(conditionSites.map(({ attribute }) => attribute)),
+ };
+}
+
+function transitionSummary(transitions) {
+ return {
+ targets: [...new Set(transitions.map(({ to }) => to))],
+ byKind: countValues(transitions.map(({ kind }) => kind)),
+ byResolution: countValues(transitions.map(({ resolution }) => resolution.kind)),
+ triggerTypes: countValues(transitions.map(({ control }) => control.type).filter(Boolean)),
+ triggerValues: [...new Set(transitions.map(({ control }) => control.value).filter(Boolean))],
+ conditionalExpressions: [...new Set(transitions
+ .map(({ control }) => control.decodedCondition)
+ .filter(Boolean))],
+ };
+}
+
+function countValues(values) {
+ const counts = {};
+ for (const value of values) counts[value] = (counts[value] ?? 0) + 1;
+ return Object.fromEntries(Object.entries(counts).toSorted(([left], [right]) => left.localeCompare(right)));
+}
+
+function compactSurvey(survey) {
+ return {
+ schemaVersion: survey.schemaVersion,
+ module: survey.module,
+ locale: survey.locale,
+ language: survey.language,
+ path: survey.path,
+ sha256: survey.sha256,
+ questName: survey.questName,
+ version: survey.version,
+ authoredMarkerCount: survey.authoredMarkerCount,
+ runtimeQuestionIds: survey.processedQuestionIds,
+ responseControlsByType: responseControlTypes(survey.questionRecords),
+ explicitTransitions: transitionSummary(survey.transitions),
+ conditions: conditionSummary(survey.conditionSites),
+ grids: survey.grids,
+ loops: survey.loops.definitions.map((definition) => ({
+ loopIndex: definition.loopIndex,
+ loopMaxQuestionIds: definition.loopMaxQuestionIds,
+ iterationCount: definition.iterationCount,
+ iterationStartIndexes: definition.iterationStartIndexes,
+ boundaryIndex: definition.boundaryIndex,
+ })),
+ unresolvedTargets: survey.unresolvedTargets,
+ asyncQuestionIds: survey.asyncQuestionIds,
+ counts: survey.counts,
+ };
+}
+
+function sumCounts(surveys) {
+ return Object.fromEntries(aggregateCountFields.map((field) => [
+ field,
+ surveys.reduce((total, survey) => total + (survey.counts[field] ?? 0), 0),
+ ]));
+}
+
+function moduleSummaries(surveys) {
+ return [...Map.groupBy(surveys, ({ module }) => module)]
+ .map(([module, moduleSurveys]) => ({
+ module,
+ counts: sumCounts(moduleSurveys),
+ surveys: moduleSurveys.map(({ locale, path: surveyPath, counts }) => ({
+ locale,
+ path: surveyPath,
+ authoredMarkerCount: counts.authoredMarkerCount,
+ processorQuestionCount: counts.processorQuestionCount,
+ gridQuestionCount: counts.gridQuestionCount,
+ loopDefinitionCount: counts.loopDefinitionCount,
+ explicitTransitionCount: counts.explicitTransitionCount,
+ conditionSiteCount: counts.conditionSiteCount,
+ unresolvedExplicitTransitionCount: counts.unresolvedExplicitTransitionCount,
+ })),
+ }))
+ .toSorted(({ module: left }, { module: right }) => left.localeCompare(right));
+}
+
+async function buildSurveyCatalog(record) {
+ const sourcePath = path.join(cacheDirectory, record.path);
+ expect(
+ existsSync(sourcePath),
+ `Locked corpus cache is absent. Run npm run corpus:fetch for ${lock.commit}.`,
+ ).toBe(true);
+
+ const markdown = readFileSync(sourcePath, 'utf8');
+ const sourceAnalysis = analyzeQuestionnaireText(markdown);
+ const hooks = asyncHooksFor(record);
+ const previousResults = {
+ ...primaryPersona.previousResults,
+ ...primaryPersona.userProfile,
+ };
+ const rendered = await renderFreshQuest({
+ markdown,
+ previousResults,
+ params: {
+ activate: false,
+ asyncQuestionsMap: asyncQuestionMap(hooks),
+ isRenderer: true,
+ lang: record.locale,
+ questVersion: record.version,
+ showProgressBarInQuest: false,
+ },
+ });
+
+ expect(rendered.rendered, `${record.path}: transform.render failed in full-list mode`).toBe(true);
+ expect(rendered.errors, `${record.path}: Quest logged a full-list rendering error`).toEqual([]);
+ expect(sourceAnalysis.questName).toBe(record.questName);
+ expect(sourceAnalysis.version).toBe(record.version);
+ expect(sourceAnalysis.questionIds).toHaveLength(record.sourceQuestionCount);
+
+ const processor = rendered.state.getQuestionProcessor();
+ expect(processor.processedQuestions.size, `${record.path}: not every runtime entry was processed`)
+ .toBe(processor.questions.length);
+ expect(rendered.root.querySelectorAll('form.question'), `${record.path}: not every runtime entry was appended`)
+ .toHaveLength(processor.questions.length);
+
+ const survey = buildStructuralCatalogRecord({
+ record,
+ processor,
+ renderedRoot: rendered.root,
+ asyncQuestionIds: hooks.map(({ markupKey }) => markupKey),
+ resolveTarget: runtimeTargetResolver(processor, rendered.errors),
+ });
+
+ return compactSurvey(addResolutionCounts({
+ ...survey,
+ sha256: record.sha256,
+ asyncQuestionIds: hooks.map(({ questionId }) => questionId),
+ }));
+}
+
+describe('locked production structural catalog', () => {
+ it('matches every parser-produced form and explicit target', async () => {
+ expect(primaryPersona, 'The structural catalog requires the primary locked host persona.').toBeTruthy();
+ vi.spyOn(console, 'log').mockImplementation(() => {});
+ vi.useFakeTimers({ toFake: ['Date'] });
+ vi.setSystemTime(canonicalClock);
+
+ const surveys = [];
+ for (const record of lock.files.toSorted(comparePaths)) {
+ surveys.push(await buildSurveyCatalog(record));
+ }
+
+ const catalog = {
+ schemaVersion: STRUCTURAL_CATALOG_SCHEMA_VERSION,
+ corpus: {
+ repository: lock.repository,
+ commit: lock.commit,
+ environment: lock.environment,
+ fileCount: lock.files.length,
+ moduleCount: lock.expectedModuleCount,
+ },
+ oracle: {
+ boundary: 'transform.render with isRenderer=true and activate=false',
+ hostPersona: primaryPersona.id,
+ fixedDate: canonicalClock.toISOString(),
+ sequentialAdjacency: 'Adjacent runtimeQuestionIds; path feasibility is intentionally not inferred.',
+ },
+ counts: sumCounts(surveys),
+ modules: moduleSummaries(surveys),
+ surveys,
+ };
+
+ expect(catalog.surveys).toHaveLength(29);
+ expect(catalog.counts.processorQuestionCount).toBe(catalog.counts.processedQuestionCount);
+ expect(catalog.counts.processorQuestionCount).toBe(catalog.counts.renderedFormCount);
+ expect(catalog.counts.unresolvedExplicitTransitionCount).toBe(0);
+ expect(catalog.counts.prefixOnlyTargetCount).toBe(0);
+ expect(catalog.counts.ambiguousPrefixTargetCount).toBe(0);
+ await expect(`${JSON.stringify(catalog, null, 2)}\n`)
+ .toMatchFileSnapshot('./structuralCatalog.json');
+ }, 180_000);
+});
diff --git a/tests/e2e/accessibility.spec.js b/tests/e2e/accessibility.spec.js
new file mode 100644
index 0000000..8e9b6df
--- /dev/null
+++ b/tests/e2e/accessibility.spec.js
@@ -0,0 +1,350 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goBack,
+ goNext,
+ openParticipant,
+ selectLabeledResponse,
+ waitInHarness,
+} from './support/harness.js';
+import { analyzeQuestAxe, unwaivedAxeFindings } from './support/axe.js';
+import { axeDefects } from '../knownDefects/registry.js';
+
+const ACCESSIBILITY_PROJECTS = new Set([
+ 'chromium-desktop',
+ 'firefox-desktop',
+ 'webkit-desktop',
+ 'chromium-windows-ua',
+]);
+
+const AXE_PROJECTS = new Set([
+ ...ACCESSIBILITY_PROJECTS,
+ 'chromium-phone',
+ 'chromium-tablet',
+]);
+
+const CURRENT_AXE_BASELINE = [
+ axeDefects.progressbarName,
+ axeDefects.progressbarValue,
+];
+
+const GRID_AXE_BASELINE = [
+ ...CURRENT_AXE_BASELINE,
+ axeDefects.emptyGridHeader,
+];
+
+const VALIDATION_AXE_BASELINE = [
+ ...CURRENT_AXE_BASELINE,
+ axeDefects.validationContrast,
+ axeDefects.validationLabel,
+];
+
+async function expectNoUnwaivedAxeViolations(page, accepted = CURRENT_AXE_BASELINE) {
+ const findings = await analyzeQuestAxe(page);
+ expect(unwaivedAxeFindings(findings, accepted)).toEqual([]);
+}
+
+async function expectModalFocusCycle(page, modal, firstFocusable, lastFocusable) {
+ await lastFocusable.focus();
+ await expect(lastFocusable).toBeFocused();
+ await page.keyboard.press('Tab');
+ expect(await modal.evaluate((element) => element.contains(document.activeElement))).toBe(true);
+ await expect(firstFocusable).toBeFocused();
+
+ await page.keyboard.press('Shift+Tab');
+ expect(await modal.evaluate((element) => element.contains(document.activeElement))).toBe(true);
+ await expect(lastFocusable).toBeFocused();
+}
+
+async function traverseHostBoundary(page, key, terminalId, maximumPresses = 20) {
+ const path = [];
+ for (let press = 0; press < maximumPresses; press += 1) {
+ await page.keyboard.press(key);
+ const focused = await page.evaluate(() => {
+ const element = document.activeElement;
+ return {
+ id: element?.id || null,
+ inQuest: Boolean(element?.closest?.('#questionnaireRoot')),
+ responseTabStop: element?.classList?.contains('response') ?? false,
+ screenReaderFocus: Boolean(element?.classList?.contains('screen-reader-focus')),
+ clickType: element?.dataset?.clickType || null,
+ };
+ });
+ path.push(focused);
+ if (focused.id === terminalId) return path;
+ }
+ throw new Error(`Focus did not reach #${terminalId} after ${maximumPresses} ${key} presses: ${JSON.stringify(path)}`);
+}
+
+test.describe('participant accessibility contract @canonical @windows-a11y', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !ACCESSIBILITY_PROJECTS.has(testInfo.project.name),
+ 'The semantic contract runs in each desktop engine and the Windows user-agent branch.',
+ );
+ });
+
+ test('groups the prompt in a legend and exposes named survey actions', async ({ page }) => {
+ await openParticipant(page);
+
+ const question = activeQuestion(page, 'CHOICE');
+ await expect(question.locator('fieldset')).toHaveCount(1);
+ await expect(question.locator('legend')).toHaveText('Which color do you prefer?');
+ await expect(question.getByRole('button', { name: 'Next question' })).toBeVisible();
+ await expect(question.getByRole('button', { name: 'Reset this answer' })).toBeVisible();
+
+ const liveRegion = page.locator('#ariaLiveSelectionAnnouncer');
+ await expect(liveRegion).toHaveAttribute('aria-live', 'polite');
+ await selectLabeledResponse(page, 'Blue');
+ await expect(liveRegion).toHaveText('Blue Selected.');
+
+ const accessibilitySnapshot = await question.ariaSnapshot();
+ expect(accessibilitySnapshot).toContain('Which color do you prefer?');
+ expect(accessibilitySnapshot).toContain('Next question');
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps the deliberate action-button tab order on a later question', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+
+ const question = activeQuestion(page, 'DETAIL');
+ const domOrder = await question.locator('button').evaluateAll((buttons) => (
+ buttons.map((button) => button.dataset.clickType)
+ ));
+ expect(domOrder).toEqual(['next', 'reset', 'previous']);
+
+ // Playwright WebKit follows Safari's macOS default where Tab may omit
+ // buttons unless Full Keyboard Access is enabled at the OS level. That
+ // setting is covered in the manual matrix. Test the DOM contract here.
+ if (testInfo.project.name === 'webkit-desktop') {
+ await expectHealthyHarness(page);
+ return;
+ }
+
+ await expect(question.locator('.screen-reader-focus')).toBeFocused();
+ const input = question.locator('#detail');
+ await input.focus();
+ await page.keyboard.press('Tab');
+ await expect(question.getByRole('button', { name: 'Next question' })).toBeFocused();
+ await page.keyboard.press('Tab');
+ await expect(question.getByRole('button', { name: 'Reset this answer' })).toBeFocused();
+ await page.keyboard.press('Tab');
+ await expect(question.getByRole('button', { name: 'Back to the previous question' })).toBeFocused();
+ await page.keyboard.press('Shift+Tab');
+ await expect(question.getByRole('button', { name: 'Reset this answer' })).toBeFocused();
+ await page.keyboard.press('Shift+Tab');
+ await expect(question.getByRole('button', { name: 'Next question' })).toBeFocused();
+ await page.keyboard.press('Shift+Tab');
+ await expect(input).toBeFocused();
+ await expectHealthyHarness(page);
+ });
+
+ test('moves focus into the new question after Next and Back', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'DETAIL').locator('.screen-reader-focus')).toBeFocused();
+ await goBack(page);
+ await expect(activeQuestion(page, 'PATH').locator('.screen-reader-focus')).toBeFocused();
+ await expect(activeQuestion(page, 'PATH').locator('#PATH_1')).toBeChecked();
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps a generated scalar label associated with its input', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: `{"name":"TEST_SCALAR_LABEL"}
+
+[SCALAR?] At what time should we call?
+|time|id=scalar_time|
+
+[END,end] Complete.`,
+ });
+
+ const question = activeQuestion(page, 'SCALAR');
+ const label = question.locator('label[for="scalar_time"]');
+ const input = question.locator('#scalar_time');
+ await expect(label).toHaveText('Enter Time');
+ await expect(input).toHaveAccessibleName('Enter Time');
+ expect(await input.evaluate((element) => (
+ [...element.labels].map((candidate) => candidate.getAttribute('for'))
+ ))).toEqual(['scalar_time']);
+ await expectHealthyHarness(page);
+ });
+
+ test('crosses both host and Quest focus boundaries with Tab and reverse Shift+Tab', async ({ page }, testInfo) => {
+ await openParticipant(page);
+ await waitInHarness(page, 550);
+
+ if (testInfo.project.name === 'webkit-desktop') {
+ // Playwright WebKit follows Safari's macOS default that omits buttons
+ // from Tab navigation unless Full Keyboard Access is enabled. Assert the
+ // complete DOM boundary here. The native traversal is in the manual
+ // Safari + VoiceOver protocol and is not simulated with programmatic focus.
+ expect(await page.evaluate(() => {
+ const before = document.querySelector('#host-before');
+ const quest = document.querySelector('#questionnaireRoot');
+ const after = document.querySelector('#host-after');
+ const beforePrecedesQuest = Boolean(
+ before.compareDocumentPosition(quest) & Node.DOCUMENT_POSITION_FOLLOWING,
+ );
+ const questPrecedesAfter = Boolean(
+ quest.compareDocumentPosition(after) & Node.DOCUMENT_POSITION_FOLLOWING,
+ );
+ return beforePrecedesQuest && questPrecedesAfter;
+ })).toBe(true);
+ await expectHealthyHarness(page);
+ return;
+ }
+
+ await page.locator('#host-before').focus();
+ const forward = await traverseHostBoundary(page, 'Tab', 'host-after');
+ expect(forward.slice(0, -1).every((entry) => entry.inQuest)).toBe(true);
+ expect(forward.some((entry) => entry.screenReaderFocus)).toBe(true);
+ expect(forward.some((entry) => entry.clickType === 'next')).toBe(true);
+ expect(forward.some((entry) => entry.clickType === 'reset')).toBe(true);
+ if (testInfo.project.name === 'chromium-windows-ua') {
+ expect(forward.some((entry) => entry.responseTabStop)).toBe(true);
+ }
+
+ await page.locator('#host-after').focus();
+ const reverse = await traverseHostBoundary(page, 'Shift+Tab', 'host-before');
+ expect(reverse.slice(0, -1).every((entry) => entry.inQuest)).toBe(true);
+ expect(reverse.some((entry) => entry.screenReaderFocus)).toBe(true);
+ expect(reverse.some((entry) => entry.clickType === 'next')).toBe(true);
+ expect(reverse.some((entry) => entry.clickType === 'reset')).toBe(true);
+ await expectHealthyHarness(page);
+ });
+
+ test('names the soft-response dialog and restores question focus when it closes', async ({ page }, testInfo) => {
+ await openParticipant(page);
+ // Let the initial question's delayed focus handoff complete before this
+ // test isolates the Bootstrap modal focus trap. The competing-timer case
+ // is characterized separately in the known-defect lane.
+ await expect(activeQuestion(page, 'CHOICE').locator('.screen-reader-focus')).toBeFocused();
+ await goNext(page);
+
+ const modal = page.locator('#softModal');
+ const dialog = page.getByRole('dialog', { name: 'Response requested' });
+ await expect(modal).toHaveClass(/show/);
+ await expect(page.locator('#softModalTitle')).toBeFocused();
+ await waitInHarness(page, 400);
+ if (testInfo.project.name === 'webkit-desktop') {
+ // Safari's button-tabbing preference also affects modal controls. Keep
+ // their stable DOM contract automated and exercise the native cycle in
+ // the Full Keyboard Access manual matrix.
+ expect(await modal.locator('button, [tabindex="0"]').evaluateAll((elements) => (
+ elements.map((element) => element.id || element.getAttribute('aria-label'))
+ ))).toEqual(['Close', 'modalBodyText', 'modalContinueButton', 'modalCloseButton']);
+ } else {
+ await expectModalFocusCycle(
+ page,
+ modal,
+ dialog.getByRole('button', { name: 'Close' }),
+ dialog.getByRole('button', { name: 'Answer the Question' }),
+ );
+ }
+ await dialog.getByRole('button', { name: 'Close' }).click();
+ await waitInHarness(page, 700);
+
+ await expect(modal).not.toHaveClass(/show/);
+ await expect(activeQuestion(page, 'CHOICE').locator('.screen-reader-focus')).toBeFocused();
+ await expectHealthyHarness(page);
+ });
+
+ test('names the submit dialog, focuses its title, and closes it with Escape', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('2');
+ await goNext(page);
+ // Let Quest's scheduled question-focus handoff finish before isolating the
+ // Bootstrap modal focus trap. Otherwise, the independent timers can race
+ // under a parallel browser run.
+ await waitInHarness(page, 550);
+
+ const trigger = activeQuestion(page, 'END').getByRole('button', { name: 'Submit your survey' });
+ await trigger.click();
+ const dialog = page.getByRole('dialog', { name: 'Submit Answers' });
+ await expect(dialog).toBeVisible();
+ await expect(page.locator('#submitModalTitle')).toBeFocused();
+ await waitInHarness(page, 400);
+ const modal = page.locator('#submitModal');
+ if (testInfo.project.name === 'webkit-desktop') {
+ expect(await modal.locator('button, [tabindex="0"]').evaluateAll((elements) => (
+ elements.map((element) => element.id || element.getAttribute('aria-label'))
+ ))).toEqual(['Close', 'submitModalBodyText', 'submitModalButton', 'cancelModalButton']);
+ } else {
+ await expectModalFocusCycle(
+ page,
+ modal,
+ dialog.getByRole('button', { name: 'Close' }),
+ dialog.getByRole('button', { name: 'Cancel' }),
+ );
+ }
+ await page.keyboard.press('Escape');
+ await waitInHarness(page, 700);
+
+ await expect(page.locator('#submitModal')).not.toHaveClass(/show/);
+ await expectHealthyHarness(page);
+ });
+});
+
+test.describe('automated accessibility scan @axe', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !AXE_PROJECTS.has(testInfo.project.name),
+ 'The Axe baseline runs in every desktop, responsive, and Windows-user-agent project.',
+ );
+ });
+
+ test('has no unwaived findings in a normal participant question', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await expectNoUnwaivedAxeViolations(page);
+ await expectHealthyHarness(page);
+ });
+
+ test('has no unwaived findings in an active response grid', async ({ page }) => {
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+ await expect(activeQuestion(page, 'GRID_RATE')).toBeVisible();
+ await expectNoUnwaivedAxeViolations(page, GRID_AXE_BASELINE);
+ await expectHealthyHarness(page);
+ });
+
+ test('has no unwaived findings while range validation is visible', async ({ page }) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('9');
+ await goNext(page);
+ await expect(activeQuestion(page).locator('.validation-container')).toBeVisible();
+ await expectNoUnwaivedAxeViolations(page, VALIDATION_AXE_BASELINE);
+ await expectHealthyHarness(page);
+ });
+
+ test('has no unwaived findings while the response dialog is open', async ({ page }) => {
+ await openParticipant(page);
+ await goNext(page);
+ await expect(page.locator('#softModal')).toHaveClass(/show/);
+ // Sample after Bootstrap's transition settles so WebKit does not alternate
+ // between transient focus styles and the stable modal state.
+ await waitInHarness(page, 400);
+ await expectNoUnwaivedAxeViolations(page);
+ await expectHealthyHarness(page);
+ });
+
+ test('has no unwaived findings while the submit dialog is open', async ({ page }) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('2');
+ await goNext(page);
+ await activeQuestion(page, 'END').getByRole('button', { name: 'Submit your survey' }).click();
+ await expect(page.getByRole('dialog', { name: 'Submit Answers' })).toBeVisible();
+ // Let Bootstrap finish transferring focus off the trigger. Axe/WebKit can
+ // otherwise sample the transient focused-button color during the same task.
+ await waitInHarness(page, 400);
+ await expectNoUnwaivedAxeViolations(page);
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/e2e/accessibilityLifecycleKnownDefects.spec.js b/tests/e2e/accessibilityLifecycleKnownDefects.spec.js
new file mode 100644
index 0000000..8bea12c
--- /dev/null
+++ b/tests/e2e/accessibilityLifecycleKnownDefects.spec.js
@@ -0,0 +1,147 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ harnessSnapshot,
+ openParticipant,
+ waitInHarness,
+} from './support/harness.js';
+import { analyzeQuestAxe } from './support/axe.js';
+import { accessibilityDefects, axeDefects, runtimeDefects } from '../knownDefects/registry.js';
+
+const NATIVE_KEYBOARD_PROJECTS = new Set([
+ 'chromium-desktop',
+ 'firefox-desktop',
+ 'webkit-desktop',
+ 'chromium-windows-ua',
+]);
+
+// Module 1 contains production |___| textareas. Keep this minimal two-line
+// reproduction independent of a long survey path so it isolates #1587's
+// delegated ArrowUp/ArrowDown behavior.
+const TEXTAREA_KEYBOARD_MARKDOWN = `{"name":"TEST_TEXTAREA_KEYBOARD"}
+
+[NOTES?] Please enter two short notes.
+|___|notes|
+
+[END,end] Complete.`;
+
+async function openPlainTextarea(page) {
+ await openParticipant(page, { markdown: TEXTAREA_KEYBOARD_MARKDOWN });
+ const textarea = activeQuestion(page, 'NOTES').locator('#notes');
+ await textarea.fill('first\nsecond');
+ return textarea;
+}
+
+async function selectionState(textarea) {
+ return textarea.evaluate((element) => ({
+ focused: document.activeElement === element,
+ start: element.selectionStart,
+ end: element.selectionEnd,
+ }));
+}
+
+test.describe('accessibility event lifecycle regressions @known-defect', () => {
+ test('#1587 leaves ArrowDown to a plain native textarea', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_PROJECTS.has(testInfo.project.name), 'The native textarea contract runs in each desktop engine and the Windows user-agent branch.');
+
+ const textarea = await openPlainTextarea(page);
+ await textarea.focus();
+ await textarea.evaluate((element) => element.setSelectionRange(0, 0));
+ await expect(textarea).toBeFocused();
+ await page.keyboard.press('ArrowDown');
+ await waitInHarness(page, 25);
+
+ const state = await selectionState(textarea);
+ test.fail(true, `${accessibilityDefects[1587].issue}: ArrowDown must retain native multiline caret behavior instead of moving Quest focus.`);
+ expect(state.focused).toBe(true);
+ expect(state.start).toBeGreaterThan(0);
+ expect(state.end).toBe(state.start);
+ });
+
+ test('#1587 leaves ArrowUp to a plain native textarea', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_PROJECTS.has(testInfo.project.name), 'The native textarea contract runs in each desktop engine and the Windows user-agent branch.');
+
+ const textarea = await openPlainTextarea(page);
+ await textarea.focus();
+ await textarea.evaluate((element) => element.setSelectionRange(6, 6));
+ await expect(textarea).toBeFocused();
+ await page.keyboard.press('ArrowUp');
+ await waitInHarness(page, 25);
+
+ const state = await selectionState(textarea);
+ test.fail(true, `${accessibilityDefects[1587].issue}: ArrowUp must retain native multiline caret behavior instead of moving Quest focus.`);
+ expect(state.focused).toBe(true);
+ expect(state.start).toBe(0);
+ expect(state.end).toBe(0);
+ });
+
+ test('clears a delayed list-selection announcement when advancing immediately', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The asynchronous announcement race is characterized once in Chromium.');
+ const defect = runtimeDefects.staleSelectionAnnouncement;
+
+ await openParticipant(page);
+ await activeQuestion(page, 'CHOICE').locator('label', { hasText: 'Blue' }).click();
+ await activeQuestion(page, 'CHOICE').getByRole('button', { name: 'Next question' }).click();
+ await expect(activeQuestion(page, 'CHECKS')).toBeVisible();
+ await waitInHarness(page, 150);
+
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ await expect(page.locator('#ariaLiveSelectionAnnouncer')).toHaveText('', { timeout: 1_000 });
+ });
+
+ test('clears a delayed list-selection announcement when returning immediately', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The asynchronous announcement race is characterized once in Chromium.');
+ const defect = runtimeDefects.staleSelectionAnnouncement;
+
+ await openParticipant(page);
+ await activeQuestion(page, 'CHOICE').locator('label', { hasText: 'Blue' }).click();
+ await waitInHarness(page, 150);
+ await activeQuestion(page, 'CHOICE').getByRole('button', { name: 'Next question' }).click();
+ await expect(activeQuestion(page, 'CHECKS')).toBeVisible();
+ await activeQuestion(page, 'CHECKS').locator('label', { hasText: 'Email' }).click();
+ await activeQuestion(page, 'CHECKS').getByRole('button', { name: 'Back to the previous question' }).click();
+ await expect(activeQuestion(page, 'CHOICE')).toBeVisible();
+ await waitInHarness(page, 150);
+
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ await expect(page.locator('#ariaLiveSelectionAnnouncer')).toHaveText('', { timeout: 1_000 });
+ });
+
+ test('does not move the Windows grid focus helper back into an inactive grid after immediate Next', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-windows-ua', 'The shared grid focus helper is only used through Quest’s Windows accessibility branch.');
+ const defect = runtimeDefects.gridDeferredFocusAfterNavigation;
+
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await activeQuestion(page, 'GRID_LEAD').getByRole('button', { name: 'Next question' }).click();
+ await expect(activeQuestion(page, 'GRID_RATE')).toBeVisible();
+
+ await page.evaluate(() => {
+ document.querySelector('#GRID_WALK_1').click();
+ document.querySelector('#GRID_CYCLE_2').click();
+ document.querySelector('#GRID_RATE button.next').click();
+ });
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await waitInHarness(page, 200);
+ const inactiveHelperCount = await page.locator('#GRID_RATE #srFocusHelper').count();
+ const errors = (await harnessSnapshot(page)).logs.errors;
+
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ expect(inactiveHelperCount).toBe(0);
+ expect(errors).toEqual([]);
+ });
+
+ test('production-shaped image markup supplies a text alternative and has no image-alt violation', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The image-alt defect is characterized once in Chromium.');
+ const defect = axeDefects.imageAlt;
+
+ await openParticipant(page, { fixture: 'imageAlt.txt' });
+ const image = activeQuestion(page, 'PLAIN').locator('img');
+ await expect(image).toHaveAttribute('src', /FemaleBaldness1\.png$/);
+ const alt = await image.getAttribute('alt');
+ const imageAltFindings = (await analyzeQuestAxe(page)).filter((finding) => finding.id === defect.ruleId);
+
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ expect(alt).toMatch(/\S/);
+ expect(imageAltFindings).toEqual([]);
+ });
+});
diff --git a/tests/e2e/assets/FemaleBaldness1.png b/tests/e2e/assets/FemaleBaldness1.png
new file mode 100644
index 0000000..641f0c6
Binary files /dev/null and b/tests/e2e/assets/FemaleBaldness1.png differ
diff --git a/tests/e2e/assets/fonts.lock.json b/tests/e2e/assets/fonts.lock.json
new file mode 100644
index 0000000..95aeb82
--- /dev/null
+++ b/tests/e2e/assets/fonts.lock.json
@@ -0,0 +1,21 @@
+{
+ "schemaVersion": 1,
+ "assets": [
+ {
+ "family": "Libre Baskerville",
+ "style": "normal",
+ "weight": 400,
+ "version": "v24",
+ "stylesheetUrl": "https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap",
+ "url": "https://fonts.gstatic.com/s/librebaskerville/v24/kmKUZrc3Hgbbcjq75U4uslyuy4kn0olVQ-LglH6T17uj8Q4SCQ.ttf",
+ "path": "fonts/libre-baskerville-latin-400-v24.ttf",
+ "mimeType": "font/ttf",
+ "sha256": "f5bc4341f15de5e877d8d95b6b14b33e9a3da1f8fef4ed0700ed407f096cffb6",
+ "bytes": 106728,
+ "license": "SIL Open Font License 1.1",
+ "licensePath": "fonts/OFL-Libre-Baskerville.txt",
+ "licenseSha256": "516bf7fbfdbd0f0e4f50ade6a9127ad83ac7a54370bad6cf70794554569e9c4e",
+ "upstream": "https://github.com/google/fonts/tree/main/ofl/librebaskerville"
+ }
+ ]
+}
diff --git a/tests/e2e/assets/fonts/OFL-Libre-Baskerville.txt b/tests/e2e/assets/fonts/OFL-Libre-Baskerville.txt
new file mode 100644
index 0000000..5804419
--- /dev/null
+++ b/tests/e2e/assets/fonts/OFL-Libre-Baskerville.txt
@@ -0,0 +1,93 @@
+Copyright 2012 The Libre Baskerville Project Authors (https://github.com/impallari/Libre-Baskerville) with Reserved Font Name Libre Baskerville.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/tests/e2e/assets/fonts/libre-baskerville-latin-400-v24.ttf b/tests/e2e/assets/fonts/libre-baskerville-latin-400-v24.ttf
new file mode 100644
index 0000000..c41e10f
Binary files /dev/null and b/tests/e2e/assets/fonts/libre-baskerville-latin-400-v24.ttf differ
diff --git a/tests/e2e/authoring.spec.js b/tests/e2e/authoring.spec.js
new file mode 100644
index 0000000..819df0e
--- /dev/null
+++ b/tests/e2e/authoring.spec.js
@@ -0,0 +1,566 @@
+import {
+ test,
+ expect,
+ expectAndClearConsoleErrors,
+ expectAndClearConsoleWarnings,
+} from './support/test.js';
+import { readCanonicalFixture } from './support/harness.js';
+import {
+ AUTHORING_BOOTSTRAP_CSS_URL,
+ AUTHORING_BOOTSTRAP_JS_URL,
+ DEMO_MODULE_URL,
+ GITHUB_BLOB_MODULE_URL,
+ GITHUB_RAW_MODULE_URL,
+ GITHUB_WEB_RAW_MODULE_URL,
+ HTTP_ERROR_MODULE_URL,
+ LIBRE_BASKERVILLE_FONT_URL,
+ LIBRE_BASKERVILLE_STYLESHEET_URL,
+ REJECTED_MODULE_URL,
+ TEST_MODULE_URL,
+ closeAuthoringSettings,
+ installAuthoringRoutes,
+ openAuthoringSettings,
+ renderAuthoringMarkdown,
+ waitForAuthoringReady,
+} from './support/authoring.js';
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+const CONDITIONAL_MARKDOWN = `
+ {"name":"PREVIOUS_RESULTS_AUTHORING"}
+ [START] Begin the conditional test.
+ [HIDDEN,displayif=equals(EXTERNAL_FLAG,0)] Prior data did not match.
+ [VISIBLE,displayif=equals(EXTERNAL_FLAG,1)] Prior data matched.
+ [END] Done.
+`;
+
+async function readQuestParamsIndexedDb(page) {
+ return page.evaluate(async () => {
+ const supportsDatabaseEnumeration = typeof indexedDB.databases === 'function';
+ const databases = supportsDatabaseEnumeration ? await indexedDB.databases() : [];
+ const questDatabase = databases.find((database) => database.name === 'questParams');
+ if (!questDatabase) {
+ return {
+ supportsDatabaseEnumeration,
+ databases,
+ objectStores: [],
+ records: {},
+ };
+ }
+
+ const database = await new Promise((resolve, reject) => {
+ const request = indexedDB.open('questParams');
+ request.onerror = () => reject(request.error);
+ request.onsuccess = () => resolve(request.result);
+ });
+ const objectStores = [...database.objectStoreNames];
+ const keys = ['logic', 'styling', 'previousResults'];
+ const transaction = database.transaction('params', 'readonly');
+ const store = transaction.objectStore('params');
+ const values = await Promise.all(keys.map((key) => new Promise((resolve, reject) => {
+ const request = store.get(key);
+ request.onerror = () => reject(request.error);
+ request.onsuccess = () => resolve(request.result);
+ })));
+ database.close();
+
+ return {
+ supportsDatabaseEnumeration,
+ databases,
+ objectStores,
+ records: Object.fromEntries(keys.map((key, index) => [key, values[index]])),
+ };
+ });
+}
+
+test.describe('checked-in authoring application @authoring', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !DESKTOP_ENGINES.has(testInfo.project.name),
+ 'The authoring suite runs in each desktop browser engine.',
+ );
+ });
+
+ test('renders a complete module and switches to participant-style active logic @cross-browser-authoring', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await renderAuthoringMarkdown(page, readCanonicalFixture('runtimeControls.txt'));
+
+ await expect(page.locator('#rendering form.question')).toHaveCount(8);
+ await expect(page.locator('#rendering form.question:visible')).toHaveCount(8);
+ await expect(page.locator('#pagestyle')).toHaveAttribute('href', 'Default.css');
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'Default.css');
+
+ await openAuthoringSettings(page);
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'ActiveLogic.css');
+ await expect(page.locator('#rendering form.question')).toHaveCount(1);
+ await expect(page.locator('#rendering form.question.active')).toHaveCount(1);
+
+ await page.getByRole('switch', { name: 'Use Styling' }).check();
+ await expect(page.locator('#pagestyle')).toHaveAttribute('href', 'Style1.css');
+ await expect(page.locator('#rendering form.question.active')).toHaveCount(1);
+ });
+
+ test('loads previous results before rendering and applies them to authored conditions', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await openAuthoringSettings(page);
+ await page.getByRole('textbox', { name: 'json input' }).fill('{"EXTERNAL_FLAG":"1"}');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Added JSON successfully.');
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await closeAuthoringSettings(page);
+
+ await renderAuthoringMarkdown(page, CONDITIONAL_MARKDOWN);
+ await expect(page.locator('#rendering #START.active')).toBeVisible();
+ await page.locator('#rendering #START button.next').click();
+ await expect(page.locator('#rendering #VISIBLE.active')).toBeVisible();
+ await expect(page.locator('#rendering #HIDDEN')).toHaveCount(0);
+ });
+
+ test('loads a module through the Settings URL control and preserves it as a hash', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('navigationState.txt');
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: { [TEST_MODULE_URL]: markdown },
+ });
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await openAuthoringSettings(page);
+
+ await page.getByRole('textbox', { name: 'url', exact: true }).fill(TEST_MODULE_URL);
+ await Promise.all([
+ page.waitForNavigation({ waitUntil: 'load' }),
+ page.getByRole('button', { name: 'Load URL' }).click(),
+ ]);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+ await expect(page.locator('#rendering form.question')).toHaveCount(4);
+ expect(diagnostics.fulfilledExternalRequests).toContain(TEST_MODULE_URL);
+ expect(decodeURIComponent(new URL(page.url()).hash)).toBe(`#${TEST_MODULE_URL}`);
+ });
+
+ test('honors query run/style/url parameters without exposing the authoring chrome', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('navigationState.txt');
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: { [TEST_MODULE_URL]: markdown },
+ });
+ const query = new URLSearchParams({
+ url: TEST_MODULE_URL,
+ run: '',
+ style: 'Style1.css',
+ });
+
+ await page.goto(`/index.html?${query}`);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+ await expect(page.locator('#logic')).toBeChecked();
+ await expect(page.locator('#questNavbar')).toBeHidden();
+ await expect(page.locator('#markup')).toBeHidden();
+ await expect(page.locator('#renderText')).toBeHidden();
+ await expect(page.locator('#rendering').locator('form.question.active')).toHaveCount(1);
+ await expect(page.locator('#rendering').locator('..')).not.toHaveClass(/col-md-6/);
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'Style1.css');
+ });
+
+ test('honors structured hash run/style parameters alongside a query module URL', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('navigationState.txt');
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: { [TEST_MODULE_URL]: markdown },
+ });
+
+ await page.goto(
+ `/index.html?url=${encodeURIComponent(TEST_MODULE_URL)}#run&style=Style1.css`,
+ );
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+ await expect(page.locator('#logic')).toBeChecked();
+ await expect(page.locator('#questNavbar')).toBeHidden();
+ await expect(page.locator('#markup')).toBeHidden();
+ await expect(page.locator('#renderText')).toBeHidden();
+ await expect(page.locator('#rendering form.question.active')).toHaveCount(1);
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'Style1.css');
+ });
+
+ test('makes non-control query parameters available as previous results', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: { [TEST_MODULE_URL]: CONDITIONAL_MARKDOWN },
+ });
+ const query = new URLSearchParams({
+ url: TEST_MODULE_URL,
+ run: '',
+ style: 'Style1.css',
+ config: 'host-only',
+ EXTERNAL_FLAG: '1',
+ });
+
+ await page.goto(`/index.html?${query}`);
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#rendering #START.active')).toBeVisible();
+ await page.locator('#rendering #START button.next').click();
+
+ await expect(page.locator('#rendering #VISIBLE.active')).toBeVisible();
+ await expect(page.locator('#rendering #HIDDEN')).toHaveCount(0);
+ await expect(page.locator('#jsonInput')).toHaveValue('');
+ });
+
+ test('loads Demo through URL state and clears that state after a manual edit', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('validation.txt');
+ await installAuthoringRoutes(page, diagnostics, { demoMarkdown: markdown });
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await Promise.all([
+ page.waitForNavigation({ waitUntil: 'load' }),
+ page.getByRole('link', { name: 'Demo' }).click(),
+ ]);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+ expect(decodeURIComponent(new URL(page.url()).hash)).toBe(`#${DEMO_MODULE_URL}`);
+ expect(new URL(page.url()).search).toBe('');
+
+ const textarea = page.locator('#markupTextArea');
+ await textarea.fill(`${markdown}\n[MANUAL_NOTE] Locally edited.`);
+ await textarea.blur();
+
+ await expect.poll(() => new URL(page.url()).hash).toBe('');
+ expect(new URL(page.url()).search).toBe('');
+ expect(new URL(page.url()).pathname).toMatch(/\/index\.html$/);
+ });
+
+ test('serves the locked Libre Baskerville authoring font without network access', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ const loaded = await page.evaluate(async () => {
+ await document.fonts.load('16px "Libre Baskerville"');
+ return {
+ ready: document.fonts.check('16px "Libre Baskerville"'),
+ family: getComputedStyle(document.querySelector('.text-baskerville')).fontFamily,
+ };
+ });
+
+ expect(loaded.ready).toBe(true);
+ expect(loaded.family).toContain('Libre Baskerville');
+ expect(diagnostics.fulfilledExternalRequests).toContain(LIBRE_BASKERVILLE_STYLESHEET_URL);
+ expect(diagnostics.fulfilledExternalRequests).toContain(LIBRE_BASKERVILLE_FONT_URL);
+ });
+
+ test('preserves the checked-in Bootstrap SRI contract while serving exact local assets', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ const stylesheet = page.locator(`link[href="${AUTHORING_BOOTSTRAP_CSS_URL}"]`);
+ const script = page.locator(`script[src="${AUTHORING_BOOTSTRAP_JS_URL}"]`);
+ await expect(stylesheet).toHaveAttribute(
+ 'integrity',
+ 'sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN',
+ );
+ await expect(script).toHaveAttribute(
+ 'integrity',
+ 'sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL',
+ );
+ await expect(stylesheet).toHaveAttribute('crossorigin', 'anonymous');
+ await expect(script).toHaveAttribute('crossorigin', 'anonymous');
+ expect(await page.evaluate(() => typeof globalThis.bootstrap?.Modal)).toBe('function');
+ expect(diagnostics.fulfilledExternalRequests).toEqual(expect.arrayContaining([
+ AUTHORING_BOOTSTRAP_CSS_URL,
+ AUTHORING_BOOTSTRAP_JS_URL,
+ ]));
+ });
+
+ test('loads a module supplied as the legacy bare hash parameter', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('validation.txt');
+ await installAuthoringRoutes(page, diagnostics, { demoMarkdown: markdown });
+
+ await page.goto(`/index.html#${encodeURIComponent(DEMO_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+ await expect(page.locator('#rendering form.question')).toHaveCount(2);
+ expect(diagnostics.fulfilledExternalRequests).toContain(DEMO_MODULE_URL);
+ });
+
+ test('normalizes GitHub blob/raw paths and leaves raw-host URLs unchanged', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('validation.txt');
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: { [GITHUB_RAW_MODULE_URL]: markdown },
+ });
+
+ await page.goto(`/index.html?url=${encodeURIComponent(GITHUB_BLOB_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+
+ await page.goto(`/index.html?url=${encodeURIComponent(GITHUB_WEB_RAW_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+
+ await page.goto(`/index.html?url=${encodeURIComponent(GITHUB_RAW_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#markupTextArea')).toHaveValue(markdown);
+
+ expect(
+ diagnostics.fulfilledExternalRequests.filter((url) => url === GITHUB_RAW_MODULE_URL),
+ ).toHaveLength(3);
+ expect(diagnostics.fulfilledExternalRequests).not.toContain(GITHUB_BLOB_MODULE_URL);
+ expect(diagnostics.fulfilledExternalRequests).not.toContain(GITHUB_WEB_RAW_MODULE_URL);
+ });
+
+ test('renders a deterministic error document for a non-200 module response', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: {
+ [HTTP_ERROR_MODULE_URL]: { status: 503, body: 'temporarily unavailable' },
+ },
+ });
+
+ await page.goto(`/index.html?url=${encodeURIComponent(HTTP_ERROR_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(/Problem retrieving questionnaire module/);
+ await expect(page.locator('#markupTextArea')).toHaveValue(/HTTP response code: 503/);
+ expectAndClearConsoleErrors(
+ diagnostics,
+ [/Failed to fetch from .*not-found\.txt: 503/],
+ { allowedPatterns: [/Failed to load resource/] },
+ );
+ });
+
+ test('renders a deterministic error document for a rejected module request', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics, {
+ modules: {
+ [REJECTED_MODULE_URL]: { abort: 'failed' },
+ },
+ });
+
+ await page.goto(`/index.html?url=${encodeURIComponent(REJECTED_MODULE_URL)}`);
+ await waitForAuthoringReady(page);
+
+ await expect(page.locator('#markupTextArea')).toHaveValue(/Error retrieving questionnaire module/);
+ expectAndClearConsoleErrors(
+ diagnostics,
+ [/Error fetching module from .*rejected\.txt/],
+ {
+ allowedPatterns: [
+ /Failed to load resource/,
+ /NetworkError/,
+ /Load failed/,
+ /Cross-Origin Request Blocked/,
+ ],
+ },
+ );
+ });
+
+ test('debounces rapid author edits and renders only the last scheduled markup', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await page.clock.install();
+
+ const textarea = page.locator('#markupTextArea');
+ await textarea.fill('{"name":"FIRST_EDIT"}\n[FIRST] The discarded edit.');
+ await textarea.dispatchEvent('keyup', { key: 'a' });
+ await page.clock.fastForward(400);
+ await textarea.fill('{"name":"SECOND_EDIT"}\n[SECOND] The final edit.');
+ await textarea.dispatchEvent('keyup', { key: 'b' });
+ await page.clock.fastForward(500);
+ await expect(page.locator('#rendering #SECOND')).toBeVisible();
+ await expect(page.locator('#rendering #FIRST')).toHaveCount(0);
+ });
+
+ test('applies language, markup visibility, font-size, and clearing controls', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await openAuthoringSettings(page);
+ await page.locator('#langSelect').selectOption('es');
+ await page.getByRole('switch', { name: 'Hide Markup' }).check();
+ await expect(page.locator('#markup')).toBeHidden();
+ await expect(page.locator('#renderText')).toBeHidden();
+ await page.getByRole('switch', { name: 'Hide Markup' }).uncheck();
+ await expect(page.locator('#markup')).toBeVisible();
+ await closeAuthoringSettings(page);
+
+ await renderAuthoringMarkdown(page, readCanonicalFixture('runtimeControls.txt'));
+ await expect(page.locator('#rendering #CHOICE button.next')).toContainText('Siguiente');
+
+ const textarea = page.locator('#markupTextArea');
+ const initialFontSize = await textarea.evaluate((element) => (
+ Number.parseFloat(getComputedStyle(element).fontSize)
+ ));
+ await page.getByRole('button', { name: 'Increase Font Size' }).click();
+ await expect.poll(() => textarea.evaluate((element) => (
+ Number.parseFloat(getComputedStyle(element).fontSize)
+ ))).toBe(initialFontSize + 1);
+ await page.getByRole('button', { name: 'Decrease Font Size' }).click();
+ await expect.poll(() => textarea.evaluate((element) => (
+ Number.parseFloat(getComputedStyle(element).fontSize)
+ ))).toBe(initialFontSize);
+
+ await textarea.fill('');
+ await textarea.dispatchEvent('keyup', { key: 'Backspace' });
+ await expect(page.locator('#rendering form.question')).toHaveCount(0);
+ });
+
+ test('shows empty and populated response-table states without exposing treeJSON', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await page.getByRole('button', { name: 'View Current Responses' }).click();
+ await expect(page.locator('#currentResponsesTable')).toContainText('No responses found');
+ await page.locator('#cache').getByRole('button', { name: 'Close' }).click();
+ await expect(page.locator('#cache')).not.toHaveClass(/show/);
+
+ await renderAuthoringMarkdown(page, readCanonicalFixture('runtimeControls.txt'));
+ await openAuthoringSettings(page);
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await closeAuthoringSettings(page);
+ await page.locator('#rendering #CHOICE input[type="radio"]').first().check();
+ await page.locator('#rendering #CHOICE button.next').click();
+ await expect(page.locator('#rendering #CHECKS.active')).toBeVisible();
+ await page.getByRole('button', { name: 'View Current Responses' }).click();
+
+ const table = page.locator('#currentResponsesTable');
+ await expect(table.locator('thead')).toContainText('Id');
+ await expect(table.locator('thead')).toContainText('Value');
+ await expect(table.locator('tbody')).toContainText('CHOICE');
+ await expect(table.locator('tbody')).not.toContainText('treeJSON');
+ });
+});
+
+test.describe('cross-browser authoring storage and export boundaries @authoring', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !DESKTOP_ENGINES.has(testInfo.project.name),
+ 'IndexedDB persistence, the injected LocalForage failure, and downloads run in each desktop browser engine.',
+ );
+ });
+
+ test('uses a nonpersistent host adapter when LocalForage initialization fails @cross-browser-authoring', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics, {
+ localForageMode: 'initialization-failure',
+ });
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ expectAndClearConsoleErrors(diagnostics, [/Failed to initialize LocalForage/]);
+
+ await openAuthoringSettings(page);
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await closeAuthoringSettings(page);
+ await renderAuthoringMarkdown(page, readCanonicalFixture('validation.txt'));
+
+ await expect(page.locator('#rendering form.question.active')).toHaveCount(1);
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'ActiveLogic.css');
+ expectAndClearConsoleWarnings(diagnostics, [
+ /Using memory for getItem \(LF fallback\): previousResults/,
+ /Using memory for setItem \(LF fallback\): logic/,
+ ]);
+
+ await page.reload({ waitUntil: 'load' });
+ await waitForAuthoringReady(page);
+ expectAndClearConsoleErrors(diagnostics, [/Failed to initialize LocalForage/]);
+ expectAndClearConsoleWarnings(diagnostics, [
+ /Using memory for getItem \(LF fallback\): previousResults/,
+ ]);
+ await expect(page.locator('#logic')).not.toBeChecked();
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'Default.css');
+ });
+
+ test('persists settings/results, rejects invalid JSON, and clears previous results @cross-browser-authoring', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await openAuthoringSettings(page);
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await page.getByRole('switch', { name: 'Use Styling' }).check();
+ await page.getByRole('textbox', { name: 'json input' }).fill('{"PERSISTED":"yes"}');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Added JSON successfully.');
+
+ await page.reload({ waitUntil: 'load' });
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#logic')).toBeChecked();
+ await expect(page.locator('#styling')).toBeChecked();
+ await expect(page.locator('#jsonInput')).toHaveValue('{"PERSISTED":"yes"}');
+ await expect(page.locator('#pagelogic')).toHaveAttribute('href', 'ActiveLogic.css');
+ await expect(page.locator('#pagestyle')).toHaveAttribute('href', 'Style1.css');
+
+ await openAuthoringSettings(page);
+ await page.getByRole('textbox', { name: 'json input' }).fill('{not valid JSON');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Error: Invalid JSON format.');
+ expectAndClearConsoleErrors(diagnostics, [/Error updating previous results/]);
+
+ await page.getByRole('textbox', { name: 'json input' }).fill('');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Cleared previous results.');
+
+ await page.getByRole('textbox', { name: 'json input' }).fill('{"CLEAR_ME":true}');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await page.getByRole('button', { name: 'Clear Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Previous results cleared successfully');
+ await expect(page.locator('#jsonInput')).toHaveValue('');
+
+ await page.reload({ waitUntil: 'load' });
+ await waitForAuthoringReady(page);
+ await expect(page.locator('#jsonInput')).toHaveValue('');
+ await expect(page.locator('#logic')).toBeChecked();
+ await expect(page.locator('#styling')).toBeChecked();
+ });
+
+ test('stores settings and previous results in the explicit questParams IndexedDB database', async ({ page, diagnostics }) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+
+ await openAuthoringSettings(page);
+ await page.getByRole('switch', { name: 'Activate Logic' }).check();
+ await page.getByRole('switch', { name: 'Use Styling' }).check();
+ await page.getByRole('textbox', { name: 'json input' }).fill('{"IDB":"verified"}');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+
+ let storage;
+ await expect.poll(async () => {
+ storage = await readQuestParamsIndexedDb(page);
+ return storage.records;
+ }).toEqual({
+ logic: true,
+ styling: true,
+ previousResults: '{"IDB":"verified"}',
+ });
+ expect(storage.supportsDatabaseEnumeration).toBe(true);
+ expect(storage.databases.map((database) => database.name)).toContain('questParams');
+ expect(storage.objectStores).toContain('params');
+ });
+
+ test('downloads the exact authored markup under the requested export name', async ({ page, diagnostics }) => {
+ const markdown = readCanonicalFixture('navigationState.txt');
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await renderAuthoringMarkdown(page, markdown);
+ await openAuthoringSettings(page);
+ await page.getByRole('textbox', { name: 'File Name' }).fill('quest-export.txt');
+
+ const [download] = await Promise.all([
+ page.waitForEvent('download'),
+ page.getByRole('button', { name: 'Save', exact: true }).click(),
+ ]);
+ expect(download.suggestedFilename()).toBe('quest-export.txt');
+
+ const chunks = [];
+ const stream = await download.createReadStream();
+ for await (const chunk of stream) chunks.push(Buffer.from(chunk));
+ expect(Buffer.concat(chunks).toString('utf8')).toBe(markdown);
+ });
+});
diff --git a/tests/e2e/authoringKnownDefects.spec.js b/tests/e2e/authoringKnownDefects.spec.js
new file mode 100644
index 0000000..faa2933
--- /dev/null
+++ b/tests/e2e/authoringKnownDefects.spec.js
@@ -0,0 +1,42 @@
+import { test, expect, expectAndClearConsoleErrors } from './support/test.js';
+import {
+ installAuthoringRoutes,
+ openAuthoringSettings,
+ waitForAuthoringReady,
+} from './support/authoring.js';
+import { runtimeDefects } from '../knownDefects/registry.js';
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+test.describe('open authoring regressions @known-defect @authoring', () => {
+ test('clears previous results after localforage initialization falls back', async ({ page, diagnostics }, testInfo) => {
+ test.skip(
+ !DESKTOP_ENGINES.has(testInfo.project.name),
+ 'Each desktop browser engine characterizes the fallback storage-adapter defect.',
+ );
+ await installAuthoringRoutes(page, diagnostics, {
+ localForageMode: 'initialization-failure',
+ });
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await openAuthoringSettings(page);
+
+ const jsonInput = page.locator('#jsonInput');
+ await jsonInput.fill('{"CLEAR_ME":true}');
+ await page.getByRole('button', { name: 'Add JSON to Memory' }).click();
+ await expect(page.locator('#loadDisplay')).toHaveText('Added JSON successfully.');
+ await page.getByRole('button', { name: 'Clear Memory' }).click();
+
+ test.fail(true, `${runtimeDefects.authoringFallbackClear.localDefectId}: ${runtimeDefects.authoringFallbackClear.reason}`);
+ await expect.poll(() => diagnostics.consoleErrors.join('\n')).toMatch(/Error clearing LocalForage:.*removeItem/);
+ const actual = {
+ status: await page.locator('#loadDisplay').textContent(),
+ json: await jsonInput.inputValue(),
+ };
+ expectAndClearConsoleErrors(diagnostics, [/Error clearing LocalForage:.*removeItem/]);
+ expect(actual).toEqual({
+ status: 'Previous results cleared successfully',
+ json: '',
+ });
+ });
+});
diff --git a/tests/e2e/backDeletion.spec.js b/tests/e2e/backDeletion.spec.js
new file mode 100644
index 0000000..3a0a65c
--- /dev/null
+++ b/tests/e2e/backDeletion.spec.js
@@ -0,0 +1,124 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goBack,
+ goNext,
+ openParticipant,
+ selectLabeledResponse,
+} from './support/harness.js';
+import { runtimeDefects } from '../knownDefects/registry.js';
+
+const questName = 'TEST_NAV';
+const pathQuestion = 'PATH';
+const pathTreeToken = 'PATH?';
+const detailQuestion = 'DETAIL';
+
+function applySuccessfulHostDeltas(storeCalls) {
+ const persistedData = {};
+ const namespace = `${questName}.`;
+
+ for (const { changes, status } of storeCalls) {
+ if (status !== 'fulfilled') continue;
+ for (const [namespacedKey, value] of Object.entries(changes)) {
+ if (!namespacedKey.startsWith(namespace)) continue;
+ const key = namespacedKey.slice(namespace.length);
+ if (value === undefined) delete persistedData[key];
+ else persistedData[key] = value;
+ }
+ }
+
+ return persistedData;
+}
+
+function persistedTreeAt(questionToken) {
+ return JSON.stringify({
+ rootNode: {
+ value: null,
+ children: [{ value: questionToken, children: [] }],
+ },
+ currentNode: questionToken,
+ });
+}
+
+test.describe('Back response deletion and branch pruning @core', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The host-deletion contract runs once in Chromium.');
+ });
+
+ test('clears an answered descendant from the host, tree, and resumed form as the participant backs through it', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+
+ const detail = activeQuestion(page, detailQuestion).locator('#detail');
+ await detail.fill('Abandoned detail');
+ await detail.blur();
+ await goNext(page);
+ await expect(activeQuestion(page, 'SUMMARY')).toBeVisible();
+
+ // The first Back returns to the answered descendant. The second Back is
+ // the operation that clears that answer and prunes it from PATH's branch.
+ await goBack(page);
+ await expect(activeQuestion(page, detailQuestion)).toBeVisible();
+ await expect(activeQuestion(page, detailQuestion).locator('#detail')).toHaveValue('Abandoned detail');
+ await goBack(page);
+ await expect(activeQuestion(page, pathQuestion)).toBeVisible();
+
+ const backedOut = await expectHealthyHarness(page);
+ const detailClear = backedOut.logs.storeCalls.findLast(({ changes }) => (
+ Object.hasOwn(changes, `${questName}.${detailQuestion}`)
+ && changes[`${questName}.${detailQuestion}`] === undefined
+ ));
+ expect(detailClear).toMatchObject({ status: 'fulfilled' });
+ expect(Object.hasOwn(detailClear.changes, `${questName}.${detailQuestion}`)).toBe(true);
+ expect(detailClear.changes[`${questName}.${detailQuestion}`]).toBeUndefined();
+
+ const prunedTree = JSON.parse(backedOut.state.survey.treeJSON);
+ expect(prunedTree).toEqual({
+ rootNode: {
+ value: null,
+ children: [{ value: pathTreeToken, children: [] }],
+ },
+ currentNode: pathTreeToken,
+ });
+
+ // Model the host's established undefined-as-delete contract, then supply
+ // that result to a fresh Quest render exactly as a later PWA session would.
+ const persistedData = applySuccessfulHostDeltas(backedOut.logs.storeCalls);
+ expect(persistedData).toMatchObject({ [pathQuestion]: '1' });
+ expect(persistedData).not.toHaveProperty(detailQuestion);
+ expect(JSON.parse(persistedData.treeJSON)).toEqual(prunedTree);
+
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ persistedData,
+ });
+ await expect(activeQuestion(page, pathQuestion)).toBeVisible();
+ // Reaffirm the retained parent route before revisiting its child. Quest's
+ // separate raw-tree-token response-restoration behavior is not part of
+ // this deletion contract.
+ await activeQuestion(page, pathQuestion).locator('label[for="PATH_1"]').click();
+ await goNext(page);
+ await expect(activeQuestion(page, detailQuestion)).toBeVisible();
+ await expect(activeQuestion(page, detailQuestion).locator('#detail')).toHaveValue('');
+ await expectHealthyHarness(page);
+ });
+
+ test('restores a retained parent response from the raw tree token written by Back @known-defect', async ({ page }) => {
+ const defect = runtimeDefects.backResumeResponseRestoration;
+
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ persistedData: {
+ [pathQuestion]: '1',
+ treeJSON: persistedTreeAt(pathTreeToken),
+ },
+ });
+
+ await expect(activeQuestion(page, pathQuestion)).toBeVisible();
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ await expect(activeQuestion(page, pathQuestion).locator('#PATH_1'))
+ .toBeChecked({ timeout: 1_000 });
+ });
+});
diff --git a/tests/e2e/connectExperiencePaths.spec.js b/tests/e2e/connectExperiencePaths.spec.js
new file mode 100644
index 0000000..39ec015
--- /dev/null
+++ b/tests/e2e/connectExperiencePaths.spec.js
@@ -0,0 +1,132 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { readLockedMarkdown, treeAt } from './support/corpus.js';
+
+const questName = 'D_506648060';
+const deviceKinds = 'D_145727599';
+const phoneKinds = 'D_470013848';
+const otherPhoneText = 'D_495052121';
+const tabletKinds = 'D_731524314';
+const computerKinds = 'D_403175318';
+const preferredDevice = 'D_260186214';
+const personalDevice = 'D_210120853';
+const joiningReasons = 'D_960544981';
+const joiningReasonsDetail = 'D_674994176';
+
+function response(question, response) {
+ return `${question}_${response}`;
+}
+
+test.describe('locked 2024 Connect Experience derived conditions @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The production derived-condition paths run once in Chromium.');
+ });
+
+ for (const language of ['en', 'es']) {
+ test(`uses nested ${language} device responses in selectionCount, response conditions, and piped labels`, async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('module2024ConnectExperience', language),
+ lang: language,
+ previousResults: { age: '45', yob: '1981' },
+ persistedData: { treeJSON: treeAt(deviceKinds) },
+ });
+
+ const devices = activeQuestion(page, deviceKinds);
+ await devices.locator(`label[for="${response(deviceKinds, '386252749')}"]`).click();
+ await devices.locator(`label[for="${response(deviceKinds, '153962804')}"]`).click();
+ await goNext(page);
+
+ const phones = activeQuestion(page, phoneKinds);
+ await phones.locator(`label[for="${response(phoneKinds, '807835037')}"]`).click();
+ await phones.locator(`#${otherPhoneText}`).fill('Synthetic phone');
+ await phones.locator(`#${otherPhoneText}`).blur();
+ await goNext(page);
+
+ const tablets = activeQuestion(page, tabletKinds);
+ await tablets.locator(`label[for="${response(tabletKinds, '515798638')}"]`).click();
+ await goNext(page);
+
+ // The unselected computer branch is skipped. The selectionCount condition
+ // still sees one nested phone response plus one tablet response.
+ await expect(activeQuestion(page, computerKinds)).toHaveCount(0);
+ const preferred = activeQuestion(page, preferredDevice);
+ await expect(preferred).toBeVisible();
+ await expect(preferred.locator(`label[for="${response(preferredDevice, '793072415')}"]`)).toContainText('Synthetic phone');
+ await expect(preferred.locator(`label[for="${response(preferredDevice, '515798638')}"]`)).toBeVisible();
+ await expect(preferred.locator(`label[for="${response(preferredDevice, '482753957')}"]`)).toBeHidden();
+ await expect(preferred).not.toContainText('{$');
+
+ await preferred.locator(`label[for="${response(preferredDevice, '793072415')}"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, personalDevice)).toBeVisible();
+
+ await goBack(page);
+ await expect(activeQuestion(page, preferredDevice)).toBeVisible();
+ await expect(activeQuestion(page, preferredDevice).locator(`#${response(preferredDevice, '793072415')}`)).toBeChecked();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.state.survey).toMatchObject({
+ [deviceKinds]: ['386252749', '153962804'],
+ [phoneKinds]: {
+ [phoneKinds]: ['807835037'],
+ [otherPhoneText]: 'Synthetic phone',
+ },
+ [tabletKinds]: {
+ [tabletKinds]: ['515798638'],
+ },
+ [preferredDevice]: '793072415',
+ });
+ expect(snapshot.state.survey).not.toHaveProperty(computerKinds);
+
+ const storedChanges = snapshot.logs.storeCalls.flatMap(({ changes }) => Object.entries(changes));
+ expect(storedChanges).toEqual(expect.arrayContaining([
+ [`${questName}.${phoneKinds}`, {
+ [phoneKinds]: ['807835037'],
+ [otherPhoneText]: 'Synthetic phone',
+ }],
+ [`${questName}.${preferredDevice}`, '793072415'],
+ ]));
+ });
+
+ test(`enforces the production ${language} top-three response boundary without losing valid selections`, async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('module2024ConnectExperience', language),
+ lang: language,
+ previousResults: { age: '45', yob: '1981' },
+ persistedData: { treeJSON: treeAt(joiningReasons) },
+ });
+
+ const reasons = activeQuestion(page, joiningReasons);
+ const selected = ['925993577', '985468594', '604524950'];
+ const overLimit = '815468840';
+
+ for (const responseId of [...selected, overLimit]) {
+ await reasons.locator(`label[for="${response(joiningReasons, responseId)}"]`).click();
+ }
+
+ await expect(reasons.locator('.validation-container')).toBeVisible();
+ await goNext(page);
+ await expect(activeQuestion(page, joiningReasons)).toBeVisible();
+
+ await reasons.locator(`label[for="${response(joiningReasons, overLimit)}"]`).click();
+ await expect(reasons.locator('.validation-container')).toHaveCount(0);
+ await goNext(page);
+ await expect(activeQuestion(page, joiningReasonsDetail)).toBeVisible();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.state.survey[joiningReasons]).toEqual(selected);
+ expect(snapshot.logs.storeCalls).toEqual(expect.arrayContaining([
+ expect.objectContaining({
+ changes: expect.objectContaining({ [`${questName}.${joiningReasons}`]: selected }),
+ }),
+ ]));
+ });
+ }
+});
diff --git a/tests/e2e/constructs.spec.js b/tests/e2e/constructs.spec.js
new file mode 100644
index 0000000..f7aec17
--- /dev/null
+++ b/tests/e2e/constructs.spec.js
@@ -0,0 +1,96 @@
+import { test, expect, expectAndClearConsoleWarnings } from './support/test.js';
+import { expectHealthyHarness, readCanonicalFixture } from './support/harness.js';
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+test.describe('canonical Markdown construct renderer @canonical @constructs', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !DESKTOP_ENGINES.has(testInfo.project.name),
+ 'The construct renderer is checked in all three desktop browser engines.',
+ );
+ });
+
+ test('renders every supported question/control family through the public API', async ({ page, diagnostics }) => {
+ await page.goto('/tests/harness/participant.html');
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+
+ const renderResult = await page.evaluate((markdown) => window.questHarness.render({
+ activate: false,
+ isRenderer: true,
+ markdown,
+ previousResults: {
+ LIST_VALUE: ['one', 'two'],
+ SAVED: 'restored',
+ SHOW_BLOCK: '1',
+ SHOW_CHECKBOX: '1',
+ SHOW_GRID: '1',
+ SHOW_INLINE: '1',
+ SHOW_RADIO: '1',
+ SHOW_ROW: '1',
+ },
+ }), readCanonicalFixture('allConstructs.txt'));
+
+ expect(renderResult.result).toBe(true);
+ const root = page.locator('#questionnaireRoot');
+
+ await expect(root.locator('form.question')).toHaveCount(31);
+ await expect(root.locator('#PLAIN [data-bs-toggle="popover"]')).toHaveAttribute('data-bs-content', 'Synthetic help text');
+ await expect(root.locator('#PLAIN img')).toHaveAttribute('src', 'https://episphere.github.io/quest/images/FemaleBaldness1.png');
+ await expect(root.locator('#PLAIN .displayif')).toHaveCount(2);
+ await expect(root.locator('#PLAIN .displayList')).toHaveCount(2);
+
+ await expect(root.locator('#RADIO input[type="radio"]')).toHaveCount(2);
+ await expect(root.locator('#CHECKBOX input[type="checkbox"]')).toHaveCount(3);
+ await expect(root.locator('#CHECKBOX')).toHaveAttribute('data-min-count', '1');
+ await expect(root.locator('#CHECKBOX')).toHaveAttribute('data-max-count', '2');
+ await expect(root.locator('#CHECKBOX input[data-reset="true"]')).toHaveCount(1);
+ await expect(root.locator('#COMBINED #COMBINED_807835037')).toHaveAttribute('type', 'checkbox');
+ await expect(root.locator('#COMBINED #COMBINED_807835037')).toHaveAttribute('skipto', 'EMAIL');
+ await expect(root.locator('#COMBINED #COMBINED_TEXT')).toHaveAttribute('type', 'text');
+ await expect(root.locator('#COMBINED_TEXTAREA #COMBINED_TEXTAREA_GROUP_1')).toHaveAttribute('type', 'radio');
+ await expect(root.locator('#COMBINED_TEXTAREA #COMBINED_TEXTAREA_GROUP_1')).toHaveAttribute('skipto', 'EMAIL');
+ await expect(root.locator('#COMBINED_TEXTAREA #COMBINED_TEXTAREA_VALUE')).toHaveJSProperty('tagName', 'TEXTAREA');
+ await expect(root.locator('#COMBINED_TEXTAREA label[for="COMBINED_TEXTAREA_GROUP_1"] #COMBINED_TEXTAREA_VALUE')).toHaveCount(1);
+ await expect(root.locator('#CONFIRM #CONFIRM_COPY')).not.toHaveAttribute('confirm');
+ await expect(root.locator('#CONFIRM #CONFIRM_COPY')).toHaveAttribute('data-confirm', 'CONFIRM_ORIGINAL');
+ await expect(root.locator('#CONFIRM #CONFIRM_ORIGINAL')).toHaveAttribute('data-confirmation-for', 'CONFIRM_COPY');
+
+ const scalarTypes = {
+ EMAIL_VALUE: 'email',
+ PHONE_VALUE: 'tel',
+ FULL_SSN_VALUE: 'text',
+ SHORT_SSN_VALUE: 'text',
+ ZIP_VALUE: 'text',
+ DATE_VALUE: 'date',
+ MONTH_VALUE: 'month',
+ TIME_VALUE: 'time',
+ NUMBER_VALUE: 'number',
+ TEXT_VALUE: 'text',
+ TEXTBOX_VALUE: 'text',
+ };
+ for (const [id, type] of Object.entries(scalarTypes)) {
+ await expect(root.locator(`#${id}`), `${id} should render as ${type}`).toHaveAttribute('type', type);
+ }
+ await expect(root.locator('#STATE_VALUE')).toHaveJSProperty('tagName', 'SELECT');
+ await expect(root.locator('#TEXTAREA_VALUE')).toHaveJSProperty('tagName', 'TEXTAREA');
+ await expect(root.locator('#HIDDEN_VALUE')).toHaveAttribute('data-hidden', 'true');
+ await expect(root.locator('#YES_NO input[type="radio"]')).toHaveCount(2);
+ await expect(root.locator('#YES_NO_PREFER input[type="radio"]')).toHaveCount(3);
+
+ await expect(root.locator('#DEFAULT_SKIP input[type="hidden"][skipto="GRID_RADIO"]')).toHaveCount(1);
+ await expect(root.locator('#NO_RESPONSE_SKIP input.noresponse[skipto="GRID_RADIO"]')).toHaveCount(1);
+ await expect(root.locator('#GRID_RADIO input[type="radio"]')).toHaveCount(4);
+ await expect(root.locator('#GRID_CHECKBOX input[type="checkbox"]')).toHaveCount(2);
+ await expect(root.locator('form.question[id^="LOOP_ITEM_"]')).toHaveCount(2);
+
+ expect(diagnostics.fulfilledExternalRequests).toContain(
+ 'https://episphere.github.io/quest/images/FemaleBaldness1.png',
+ );
+ expectAndClearConsoleWarnings(diagnostics, [
+ /confirm element found: CONFIRM_ORIGINAL/,
+ /confirm element found \(otherElement\):/,
+ ]);
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/e2e/corpusAsyncHooks.spec.js b/tests/e2e/corpusAsyncHooks.spec.js
new file mode 100644
index 0000000..c923877
--- /dev/null
+++ b/tests/e2e/corpusAsyncHooks.spec.js
@@ -0,0 +1,159 @@
+import { existsSync, readFileSync } from 'node:fs';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+import { test, expect } from './support/test.js';
+import {
+ flushHarness,
+ harnessSnapshot,
+} from './support/harness.js';
+
+const repositoryRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..');
+const corpusRoot = path.join(repositoryRoot, 'tests', 'corpus');
+const lock = JSON.parse(readFileSync(path.join(corpusRoot, 'lock.json'), 'utf8'));
+const registry = JSON.parse(readFileSync(path.join(corpusRoot, 'hostPersonas.json'), 'utf8'));
+const cacheRoot = path.join(repositoryRoot, lock.cacheRoot, lock.commit);
+const canonicalClock = new Date('2024-07-15T12:00:00.000Z');
+const outcomeNames = ['success', 'empty', 'rejection', 'delayed'];
+const expectedObservationCount = Object.keys(registry.asyncHooks).length * outcomeNames.length;
+
+const argumentValues = {
+ D_627122657: 'Clinical research scientist',
+ D_796828094: 'Analyzed study data',
+ D_118061122: 'High school math teacher',
+ D_518387017: 'Taught algebra and geometry',
+ D_951357171: '353358909',
+ D_667908442: '668770150',
+};
+
+test.describe('locked production asynchronous host contracts @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'Host-hook regression runs in Chromium only.');
+ testInfo.setTimeout(180_000);
+ });
+
+ test('executes all four host hooks under all deterministic outcomes', async ({ page }) => {
+ await page.clock.setFixedTime(canonicalClock);
+
+ for (const [hookKey, hook] of Object.entries(registry.asyncHooks).sort(([left], [right]) => (
+ left.localeCompare(right)
+ ))) {
+ const record = lockedEnglishSurvey(hook.module);
+ const sourcePath = path.join(cacheRoot, record.path);
+ expect(existsSync(sourcePath), `Run npm run corpus:fetch for ${record.path}.`).toBe(true);
+ const markdown = readFileSync(sourcePath, 'utf8');
+
+ for (const outcomeName of outcomeNames) {
+ const fixture = registry.asyncFixtures[outcomeName];
+ const outcome = materializeOutcome(fixture, hook.fixtureResult);
+ const fixtureResult = fixture.results[hook.fixtureResult];
+ const previousResults = Object.fromEntries(hook.args.map((argument) => [
+ argument,
+ argumentValues[argument],
+ ]));
+ expect(Object.values(previousResults).every((value) => value !== undefined)).toBe(true);
+
+ const renderResult = await renderParticipant(page, {
+ markdown,
+ lang: 'en',
+ questVersion: record.version,
+ persistedData: { treeJSON: treeAt(hook.questionId) },
+ previousResults,
+ asyncQuestionsMap: {
+ [hook.markupKey]: { func: hook.function, args: hook.args },
+ },
+ asyncOutcomes: [outcome],
+ asyncQuestionHtml: hook.function === 'soccer'
+ ? soccerHtml(fixtureResult)
+ : undefined,
+ });
+
+ if (!renderResult.result) {
+ const failedSnapshot = await harnessSnapshot(page);
+ throw new Error(`Production hook render failed: ${JSON.stringify(failedSnapshot.logs.errors)}`);
+ }
+ expect(renderResult.activeQuestionId).toBe(hook.questionId);
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ const calls = snapshot.logs.asyncCalls;
+ const call = calls[0];
+ const form = page.locator(`#questionnaireRoot form.question.active#${hook.questionId}`);
+ const validationMessages = await form.locator('.validation-container').allTextContents();
+ const injectedResponses = await form.locator('.response input').evaluateAll((controls) => (
+ controls.map((control) => ({
+ id: control.id,
+ value: control.value,
+ label: document.querySelector(`label[for="${CSS.escape(control.id)}"]`)?.textContent?.trim() ?? null,
+ }))
+ ));
+
+ expect(calls).toHaveLength(1);
+ expect(call.func).toBe(hook.function);
+ expect(call.args).toEqual([...hook.args.map((argument) => argumentValues[argument]), 'en']);
+ expect(call.status).toBe(outcomeName === 'rejection' ? 'rejected' : 'fulfilled');
+
+ if (outcomeName === 'rejection') {
+ expect(validationMessages.join(' ')).toContain('Error fetching question');
+ expect(call.error.message).toBe('Deterministic host callback failure');
+ expect(snapshot.logs.errors.some((entry) => (
+ entry.message.includes('Deterministic host callback failure')
+ ))).toBe(true);
+ } else {
+ expect(validationMessages).toEqual([]);
+ expect(snapshot.logs.errors).toEqual([]);
+ expect(call.value ?? null).toEqual(outcome.value ?? null);
+ }
+
+ if (hook.function === 'soccer' && ['success', 'delayed'].includes(outcomeName)) {
+ expect(injectedResponses).toHaveLength(1);
+ expect(injectedResponses[0]).toMatchObject({
+ value: fixtureResult[0].code,
+ label: fixtureResult[0].title,
+ });
+ } else {
+ expect(injectedResponses).toEqual([]);
+ }
+ }
+ }
+
+ expect(expectedObservationCount).toBe(16);
+ });
+});
+
+function lockedEnglishSurvey(moduleName) {
+ const record = lock.files.find((entry) => entry.module === moduleName && entry.locale === 'en');
+ if (!record) throw new Error(`No locked English questionnaire exists for ${moduleName}.`);
+ return record;
+}
+
+async function renderParticipant(page, config) {
+ await page.goto('/tests/harness/participant.html');
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ return page.evaluate((renderConfig) => window.questHarness.render(renderConfig), config);
+}
+
+function treeAt(questionId) {
+ return JSON.stringify({
+ rootNode: {
+ value: null,
+ children: [{ value: questionId, children: [] }],
+ },
+ currentNode: questionId,
+ });
+}
+
+function materializeOutcome(fixture, fixtureResultName) {
+ const configured = fixture.outcomes[0];
+ if (configured.kind !== 'resolve' || Object.hasOwn(configured, 'value')) return configured;
+ return {
+ ...configured,
+ value: fixture.results[fixtureResultName],
+ };
+}
+
+function soccerHtml(result) {
+ if (!Array.isArray(result) || result.length === 0) return undefined;
+ const [{ code, title }] = result;
+ const safeId = `HOST_${code.replace(/[^a-zA-Z0-9_-]+/g, '_')}`;
+ return `
`;
+}
diff --git a/tests/e2e/corpusConditionProbeRegressions.spec.js b/tests/e2e/corpusConditionProbeRegressions.spec.js
new file mode 100644
index 0000000..02d9535
--- /dev/null
+++ b/tests/e2e/corpusConditionProbeRegressions.spec.js
@@ -0,0 +1,35 @@
+import { harnessSnapshot, openParticipant, readCanonicalFixture } from './support/harness.js';
+import { expect, test } from './support/test.js';
+
+const markdown = readCanonicalFixture('nestedTextPresence.txt');
+const desktopProjects = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+test.describe('nested-text condition regression @canonical @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(!desktopProjects.has(testInfo.project.name), 'Regression runs in the canonical desktop browser matrix.');
+ });
+
+ test('renders the production-shaped nested-text construct in full-list mode without errors', async ({ page }) => {
+ await page.goto('/tests/harness/participant.html');
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ const result = await page.evaluate((source) => window.questHarness.render({
+ activate: false,
+ isRenderer: true,
+ markdown: source,
+ lang: 'en',
+ previousResults: { age: '45', yob: '1979' },
+ }), markdown);
+ expect(result.result).toBe(true);
+ await expect(page.locator('#D_495052121, #D_638847244, #D_507471937')).toHaveCount(3);
+ expect((await harnessSnapshot(page)).logs.errors).toEqual([]);
+ });
+
+ test('keeps a nested Other response through the condition-dependent participant path', async ({ page }) => {
+ await openParticipant(page, { markdown });
+ await page.locator('label', { hasText: 'Other phone' }).first().click();
+ await page.locator('#D_495052121').fill('Synthetic phone');
+ await page.getByRole('button', { name: 'Next question' }).click();
+ await expect(page.locator('#questionnaireRoot form.question.active#D_731524314')).toBeVisible();
+ expect((await harnessSnapshot(page)).logs.errors).toEqual([]);
+ });
+});
diff --git a/tests/e2e/corpusFullRender.spec.js b/tests/e2e/corpusFullRender.spec.js
new file mode 100644
index 0000000..20bbb1c
--- /dev/null
+++ b/tests/e2e/corpusFullRender.spec.js
@@ -0,0 +1,120 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { join } from 'node:path';
+import { test, expect } from './support/test.js';
+import { expectHealthyHarness } from './support/harness.js';
+import { corpusLock, lockedCorpusPath, repositoryRoot } from './support/corpus.js';
+
+const personaRegistry = JSON.parse(readFileSync(join(repositoryRoot, 'tests', 'corpus', 'hostPersonas.json'), 'utf8'));
+const smokePersona = personaRegistry.personas.find(({ id }) => id === 'external-branch-primary');
+
+function diagnosticLabel(record) {
+ return `${record.module} (${record.locale}, ${record.path})`;
+}
+
+function renderedFormId(questionId) {
+ // `?` and `!` describe response semantics in Markdown; Quest deliberately
+ // removes them when it assigns the DOM form ID.
+ return questionId.replace(/[?!]$/, '');
+}
+
+function asyncQuestionsFor(record) {
+ return Object.fromEntries(Object.values(personaRegistry.asyncHooks)
+ .filter(({ module }) => module === record.module)
+ .map(({ markupKey, function: func, args }) => [markupKey, { func, args }]));
+}
+
+async function openFullListParticipant(page, config) {
+ await page.goto('/tests/harness/participant.html');
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ const renderResult = await page.evaluate((renderConfig) => window.questHarness.render(renderConfig), config);
+ expect(renderResult.result, 'transform.render should report a successful full-list render').toBe(true);
+ return renderResult;
+}
+
+test.describe('locked production full-list rendering @corpus @full-render', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ testInfo.project.name !== 'chromium-desktop',
+ 'The complete locked-corpus full render runs once in Chromium.',
+ );
+ });
+
+ for (const record of corpusLock.files) {
+ test(`${diagnosticLabel(record)} converts every parser-produced form`, async ({ page }, testInfo) => {
+ const sourcePath = lockedCorpusPath(record);
+ expect(
+ existsSync(sourcePath),
+ `${diagnosticLabel(record)}: locked corpus cache is absent. Run npm run corpus:fetch for ${corpusLock.commit}.`,
+ ).toBe(true);
+ expect(smokePersona, 'The full-render suite requires the primary locked host persona.').toBeTruthy();
+
+ const markdown = readFileSync(sourcePath, 'utf8');
+ const participantInputs = {
+ ...smokePersona.previousResults,
+ ...smokePersona.userProfile,
+ };
+ testInfo.annotations.push(
+ { type: 'host-persona', description: smokePersona.id },
+ { type: 'corpus-path', description: record.path },
+ { type: 'source-question-count', description: String(record.sourceQuestionCount) },
+ );
+
+ const result = await openFullListParticipant(page, {
+ activate: false,
+ asyncQuestionsMap: asyncQuestionsFor(record),
+ isRenderer: true,
+ lang: record.locale,
+ markdown,
+ previousResults: participantInputs,
+ questVersion: record.version,
+ showProgress: false,
+ });
+
+ expect(result.errorCount, `${diagnosticLabel(record)}: Quest reported an error during full-list rendering`).toBe(0);
+
+ const renderSummary = await page.locator('#questionnaireRoot').evaluate(async (root) => {
+ const forms = [...root.querySelectorAll('form.question')];
+ const { getStateManager } = await import('/stateManager.js');
+ const processor = getStateManager(true).getQuestionProcessor();
+ const emptyForms = forms.flatMap((form) => {
+ const body = form.querySelector('fieldset, table');
+ const hasContent = body && (
+ body.textContent.trim().length > 0
+ || body.querySelector('input, textarea, select, img, a')
+ );
+ return form.id && hasContent ? [] : [{ id: form.id, hasBody: Boolean(body) }];
+ });
+ return {
+ formCount: forms.length,
+ emptyForms,
+ ids: forms.map((form) => form.id),
+ processorQuestionCount: processor.questions.length,
+ processedQuestionCount: processor.processedQuestions.size,
+ processorQuestionIds: processor.questions.map(({ questionID }) => questionID),
+ };
+ });
+
+ expect(
+ renderSummary.formCount,
+ `${diagnosticLabel(record)}: the renderer must append every form produced by QuestionProcessor.`,
+ ).toBe(renderSummary.processorQuestionCount);
+ expect(
+ renderSummary.processedQuestionCount,
+ `${diagnosticLabel(record)}: full-list mode must convert every QuestionProcessor entry.`,
+ ).toBe(renderSummary.processorQuestionCount);
+ expect(
+ renderSummary.ids,
+ `${diagnosticLabel(record)}: rendered forms must remain in QuestionProcessor order.`,
+ ).toEqual(renderSummary.processorQuestionIds.map(renderedFormId));
+ expect(renderSummary.emptyForms, `${diagnosticLabel(record)}: forms must have an ID and rendered content`).toEqual([]);
+ expect(
+ [...new Set(renderSummary.ids.filter((id, index) => (
+ id !== 'END_OF_LOOP' && renderSummary.ids.indexOf(id) !== index
+ )))],
+ `${diagnosticLabel(record)}: participant-facing rendered form IDs must be unique.`,
+ ).toEqual([]);
+
+ await expectHealthyHarness(page);
+ });
+ }
+});
diff --git a/tests/e2e/corpusParticipant.spec.js b/tests/e2e/corpusParticipant.spec.js
new file mode 100644
index 0000000..5c93993
--- /dev/null
+++ b/tests/e2e/corpusParticipant.spec.js
@@ -0,0 +1,51 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { join } from 'node:path';
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ openParticipant,
+} from './support/harness.js';
+import { corpusLock, lockedCorpusPath, repositoryRoot } from './support/corpus.js';
+
+const personaRegistry = JSON.parse(readFileSync(join(repositoryRoot, 'tests', 'corpus', 'hostPersonas.json'), 'utf8'));
+const smokePersona = personaRegistry.personas.find(({ id }) => id === 'external-branch-primary');
+
+test.describe('locked production participant startup @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ testInfo.project.name !== 'chromium-desktop',
+ 'The complete locked-corpus smoke runs once in Chromium.',
+ );
+ });
+
+ for (const record of corpusLock.files) {
+ test(`${record.module} (${record.locale}) starts from ${record.path}`, async ({ page }, testInfo) => {
+ const sourcePath = lockedCorpusPath(record);
+ expect(
+ existsSync(sourcePath),
+ `Locked corpus cache is absent. Run npm run corpus:fetch for ${corpusLock.commit}.`,
+ ).toBe(true);
+
+ const markdown = readFileSync(sourcePath, 'utf8');
+ expect(smokePersona).toBeTruthy();
+ const participantInputs = {
+ ...smokePersona.previousResults,
+ ...smokePersona.userProfile,
+ };
+ testInfo.annotations.push({ type: 'host-persona', description: smokePersona.id });
+ const result = await openParticipant(page, {
+ markdown,
+ lang: record.locale,
+ previousResults: participantInputs,
+ questVersion: record.version,
+ });
+
+ expect(result.activeQuestionId).toBeTruthy();
+ await expect(activeQuestion(page)).toBeVisible();
+ expect((await activeQuestion(page).innerText()).trim().length).toBeGreaterThan(0);
+ await expect(page.locator('#questionnaireRoot form.question.active')).toHaveCount(1);
+ await expectHealthyHarness(page);
+ });
+ }
+});
diff --git a/tests/e2e/gridDeepCoverage.spec.js b/tests/e2e/gridDeepCoverage.spec.js
new file mode 100644
index 0000000..22c325b
--- /dev/null
+++ b/tests/e2e/gridDeepCoverage.spec.js
@@ -0,0 +1,77 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ flushHarness,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import {
+ productionSleepGridMarkdown,
+ productionSleepGridRows,
+ selectProductionSleepGridRows,
+} from './support/gridDeepCoverageFixtures.js';
+
+const CHECKBOX_GRID_PROJECTS = new Set(['chromium-desktop', 'chromium-phone']);
+
+test.describe('deep participant grid coverage @canonical @responsive', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !CHECKBOX_GRID_PROJECTS.has(testInfo.project.name),
+ 'This deep grid walk runs at the desktop and phone layout boundaries.',
+ );
+ });
+
+ test('keeps delegated label selection, responsive state, and storage aligned', async ({ page }, testInfo) => {
+ await openParticipant(page, { markdown: productionSleepGridMarkdown });
+ await goNext(page);
+ const grid = activeQuestion(page, 'D_981441822');
+ const rows = grid.locator('tr[data-gridrow="true"]');
+ const expectedRows = productionSleepGridRows;
+
+ await expect(rows).toHaveCount(9);
+ await expect(grid.locator('th[scope="col"]')).toHaveCount(4);
+ const firstRowSecondOption = grid.locator('#D_403155173_1');
+ await expect(firstRowSecondOption.locator('xpath=following-sibling::label')).toHaveText('Slight Chance');
+ await selectProductionSleepGridRows(grid, expectedRows);
+ await expect(firstRowSecondOption).toBeChecked();
+
+ if (testInfo.project.name === 'chromium-phone') {
+ await expect(grid.locator('thead')).toHaveCSS('display', 'none');
+ const unselectedFirstOptionLabel = grid.locator('#D_403155173_0').locator('xpath=following-sibling::label');
+ await expect(unselectedFirstOptionLabel).toBeVisible();
+ await expect(unselectedFirstOptionLabel).toHaveCSS('color', 'rgb(51, 51, 51)');
+ await expect(firstRowSecondOption.locator('xpath=following-sibling::label')).toBeVisible();
+ await expect(firstRowSecondOption.locator('xpath=following-sibling::label')).toHaveCSS('color', 'rgb(255, 255, 255)');
+ } else {
+ const selectedMarker = await firstRowSecondOption.locator('xpath=following-sibling::label').evaluate((label) => {
+ const marker = getComputedStyle(label, '::after');
+ const unselectedCircle = getComputedStyle(label, '::before');
+ return {
+ markerDisplay: marker.display,
+ markerColor: marker.backgroundColor,
+ markerWidth: Number.parseFloat(marker.width),
+ unselectedCircleDisplay: unselectedCircle.display,
+ unselectedCircleWidth: Number.parseFloat(unselectedCircle.width),
+ };
+ });
+ expect(selectedMarker.markerDisplay).toBe('block');
+ expect(selectedMarker.markerColor).toBe('rgb(50, 122, 187)');
+ expect(selectedMarker.markerWidth).toBeGreaterThan(0);
+ expect(selectedMarker.unselectedCircleDisplay).toBe('block');
+ expect(selectedMarker.unselectedCircleWidth).toBeGreaterThan(selectedMarker.markerWidth);
+ }
+
+ const beforeNext = await harnessSnapshot(page);
+ expect(beforeNext.state.active).toMatchObject({ D_981441822: expectedRows });
+ await goNext(page);
+ await expect(activeQuestion(page, 'GRID_FOLLOWUP')).toBeVisible();
+ await flushHarness(page);
+
+ const stored = await harnessSnapshot(page);
+ expect(stored.state.survey).toMatchObject({ D_981441822: expectedRows });
+ expect(stored.logs.storeCalls).toHaveLength(2);
+ expect(stored.logs.storeCalls.at(-1).changes['TEST_PRODUCTION_GRID.D_981441822']).toEqual(expectedRows);
+ // The focus-helper lifecycle is asserted in the separate QD-GRID-002 expected-red contract.
+ });
+});
diff --git a/tests/e2e/gridDeepCoverageKnownDefects.spec.js b/tests/e2e/gridDeepCoverageKnownDefects.spec.js
new file mode 100644
index 0000000..c65872d
--- /dev/null
+++ b/tests/e2e/gridDeepCoverageKnownDefects.spec.js
@@ -0,0 +1,43 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goBack,
+ goNext,
+ openParticipant,
+ waitInHarness,
+} from './support/harness.js';
+import {
+ productionSleepGridMarkdown,
+ productionSleepGridRows,
+ selectProductionSleepGridRows,
+} from './support/gridDeepCoverageFixtures.js';
+import { runtimeDefects } from '../knownDefects/registry.js';
+
+test.describe('grid lifecycle known defects @known-defect', () => {
+ test('QD-GRID-002 restores real production grid selections without losing the focus helper', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-windows-ua', 'The focus-helper lifecycle runs only through Quest’s Windows accessibility branch.');
+ const defect = runtimeDefects.gridBackFocusLifecycle;
+
+ expect(await page.evaluate(() => navigator.userAgent)).toContain('Windows NT');
+ await openParticipant(page, { markdown: productionSleepGridMarkdown });
+ await goNext(page);
+ const grid = activeQuestion(page, 'D_981441822');
+ await expect(grid).toBeVisible();
+ expect(await grid.locator('td.response').count()).toBeGreaterThan(0);
+ await selectProductionSleepGridRows(grid, productionSleepGridRows);
+ await goNext(page);
+ await expect(activeQuestion(page, 'GRID_FOLLOWUP')).toBeVisible();
+
+ await goBack(page);
+ await expect(activeQuestion(page, 'D_981441822')).toBeVisible();
+ for (const [rowId, value] of Object.entries(productionSleepGridRows)) {
+ await expect(grid.locator(`input[name="${rowId}"][value="${value}"]`)).toBeChecked();
+ }
+
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ await expect(grid.locator('#srFocusHelper')).toHaveCount(1);
+ await waitInHarness(page, 150);
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/e2e/knownDefects.spec.js b/tests/e2e/knownDefects.spec.js
new file mode 100644
index 0000000..a556a1a
--- /dev/null
+++ b/tests/e2e/knownDefects.spec.js
@@ -0,0 +1,249 @@
+import { test, expect } from './support/test.js';
+import { activeQuestion, goNext, openParticipant, selectLabeledResponse, waitInHarness } from './support/harness.js';
+import { analyzeQuestAxe, matchesAxeDefect } from './support/axe.js';
+import { accessibilityDefects, axeDefects, runtimeDefects } from '../knownDefects/registry.js';
+
+const ASSISTIVE_TECH_ENGINES = new Set(['chromium-desktop', 'webkit-desktop']);
+const CHOICE_SEMANTIC_PROJECTS = new Set([
+ ...ASSISTIVE_TECH_ENGINES,
+ 'chromium-windows-ua',
+]);
+const NATIVE_KEYBOARD_ENGINES = new Set([
+ 'chromium-desktop',
+ 'firefox-desktop',
+ 'webkit-desktop',
+ 'chromium-windows-ua',
+]);
+
+async function axeFindingsForDefect(page, defect) {
+ const findings = await analyzeQuestAxe(page);
+ return findings.filter((finding) => matchesAxeDefect(finding, defect));
+}
+
+function characterizeAxeDefect(name, defect, prepare, project = 'chromium-desktop') {
+ test(name, async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== project, `Characterized in ${project}; blocking scans still run in every desktop engine.`);
+ await prepare(page);
+ const findings = await axeFindingsForDefect(page, defect);
+ test.fail(true, `${defect.localDefectId}: ${defect.reason}`);
+ expect(findings).toEqual([]);
+ });
+}
+
+test.describe('open accessibility regressions @known-defect', () => {
+ characterizeAxeDefect(
+ 'progressbar has an accessible name',
+ axeDefects.progressbarName,
+ (page) => openParticipant(page, { fixture: 'navigationState.txt' }),
+ );
+
+ characterizeAxeDefect(
+ 'progressbar exposes a valid ARIA value',
+ axeDefects.progressbarValue,
+ (page) => openParticipant(page, { fixture: 'navigationState.txt' }),
+ );
+
+ characterizeAxeDefect(
+ 'responsive grid has no empty row-header spacer',
+ axeDefects.emptyGridHeader,
+ async (page) => {
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+ await expect(activeQuestion(page, 'GRID_RATE')).toBeVisible();
+ },
+ );
+
+ characterizeAxeDefect(
+ 'validation message meets contrast requirements',
+ axeDefects.validationContrast,
+ async (page) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('9');
+ await goNext(page);
+ await expect(activeQuestion(page).locator('.validation-container')).toBeVisible();
+ },
+ );
+
+ characterizeAxeDefect(
+ 'bounded numeric input has a non-title label',
+ axeDefects.validationLabel,
+ async (page) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('9');
+ await goNext(page);
+ await expect(activeQuestion(page).locator('.validation-container')).toBeVisible();
+ },
+ );
+
+ test('#1079 exposes named radio roles and their checked state', async ({ page }, testInfo) => {
+ test.skip(!ASSISTIVE_TECH_ENGINES.has(testInfo.project.name), 'Chromium and WebKit capture the JAWS/VoiceOver semantic baseline.');
+
+ await openParticipant(page);
+ await selectLabeledResponse(page, 'Blue');
+ const question = activeQuestion(page, 'CHOICE');
+ expect(await question.locator('input[type="radio"]').count()).toBe(2);
+ await expect(question.locator('#CHOICE_1')).toBeChecked();
+ test.fail(true, `${accessibilityDefects[1079].issue}: ${accessibilityDefects[1079].automatedContract}`);
+ expect(await question.getByRole('radio').count()).toBe(2);
+ await expect(question.getByRole('radio', { name: 'Blue' })).toBeChecked();
+ await expect(question.getByRole('radio', { name: 'Green' })).not.toBeChecked();
+ });
+
+ test('#1079 preserves named radio roles and state in the Windows branch', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-windows-ua', 'This semantic contract targets Quest’s Windows-specific branch.');
+
+ await openParticipant(page);
+ await selectLabeledResponse(page, 'Green');
+ const question = activeQuestion(page, 'CHOICE');
+ expect(await question.locator('input[type="radio"]').count()).toBe(2);
+ await expect(question.locator('#CHOICE_2')).toBeChecked();
+ test.fail(true, `${accessibilityDefects[1079].issue}: ${accessibilityDefects[1079].automatedContract}`);
+ expect(await question.getByRole('radio').count()).toBe(2);
+ await expect(question.getByRole('radio', { name: 'Blue' })).not.toBeChecked();
+ await expect(question.getByRole('radio', { name: 'Green' })).toBeChecked();
+ });
+
+ test('#1079 exposes named checkbox roles and their checked state', async ({ page }, testInfo) => {
+ test.skip(!CHOICE_SEMANTIC_PROJECTS.has(testInfo.project.name), 'Chromium, WebKit, and the Windows branch capture the assistive-technology semantic baseline.');
+
+ await openParticipant(page);
+ await selectLabeledResponse(page, 'Blue');
+ await goNext(page);
+ await selectLabeledResponse(page, 'Email');
+
+ const question = activeQuestion(page, 'CHECKS');
+ expect(await question.locator('input[type="checkbox"]').count()).toBe(2);
+ await expect(question.locator('#CHECKS_1')).toBeChecked();
+ test.fail(true, `${accessibilityDefects[1079].issue}: native checkboxes must expose role, name, and checked state.`);
+ expect(await question.getByRole('checkbox').count()).toBe(2);
+ await expect(question.getByRole('checkbox', { name: 'Email' })).toBeChecked();
+ await expect(question.getByRole('checkbox', { name: 'Text message' })).not.toBeChecked();
+ });
+
+ test('#1079 exposes each grid choice with its row and column name plus checked state', async ({ page }, testInfo) => {
+ test.skip(!CHOICE_SEMANTIC_PROJECTS.has(testInfo.project.name), 'Chromium, WebKit, and the Windows branch capture the assistive-technology semantic baseline.');
+
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+ await waitInHarness(page, 550);
+ const question = activeQuestion(page, 'GRID_RATE');
+ await question.locator('tr[data-question-id="GRID_WALK"] label', { hasText: 'Sometimes' }).click();
+ await expect(question.locator('#GRID_WALK_1')).toBeChecked();
+
+ test.fail(true, `${accessibilityDefects[1079].issue}: a grid choice must expose its row prompt, column option, and checked state together.`);
+ const selected = question.getByRole('radio', { name: /Walking.*Sometimes|Sometimes.*Walking/ });
+ await expect(selected).toHaveCount(1);
+ await expect(selected).toBeChecked();
+ await expect(question.getByRole('radio', { name: /Cycling.*Often|Often.*Cycling/ })).not.toBeChecked();
+ });
+
+ test('#1079 restores focus to a Windows list choice after pointer activation', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-windows-ua', 'This focus contract targets Quest’s Windows-specific list branch.');
+
+ await openParticipant(page);
+ await waitInHarness(page, 550);
+ await selectLabeledResponse(page, 'Green');
+ await waitInHarness(page, 150);
+ await expect(activeQuestion(page, 'CHOICE').locator('#CHOICE_2')).toBeChecked();
+ test.fail(true, `${accessibilityDefects[1079].issue}: list activation must return focus to the operable native choice.`);
+ await expect(activeQuestion(page, 'CHOICE').locator('#CHOICE_2')).toBeFocused();
+ });
+
+ test('#1587 retains native radio focus and activates it with Space', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_ENGINES.has(testInfo.project.name), 'The native keyboard baseline runs in every desktop engine.');
+
+ await openParticipant(page);
+ const first = activeQuestion(page).locator('#CHOICE_1');
+ await expect(first).not.toBeChecked();
+ await first.focus();
+ // Retaining native input focus is the first currently broken part of this
+ // keyboard contract. Once fixed, the same test advances to Space itself.
+ test.fail(true, `${accessibilityDefects[1587].issue}: a native radio must retain focus and Space must check it.`);
+ await expect(first).toBeFocused();
+ await page.keyboard.press('Space');
+ const checked = await first.isChecked();
+ expect(checked).toBe(true);
+ });
+
+ test('#1587 preserves native radio arrow movement and group exclusivity', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_ENGINES.has(testInfo.project.name), 'The native keyboard baseline runs in every desktop engine.');
+
+ await openParticipant(page);
+ await selectLabeledResponse(page, 'Blue');
+ const first = activeQuestion(page).locator('#CHOICE_1');
+ const second = activeQuestion(page).locator('#CHOICE_2');
+ await expect(first).toBeChecked();
+ await expect(second).not.toBeChecked();
+ await first.focus();
+ test.fail(true, `${accessibilityDefects[1587].issue}: a native radio must retain focus before arrows move its checked group state.`);
+ await expect(first).toBeFocused();
+ await page.keyboard.press('ArrowRight');
+ const actual = {
+ first: await first.isChecked(),
+ second: await second.isChecked(),
+ focused: await page.evaluate(() => document.activeElement?.id),
+ };
+ expect(actual).toEqual({ first: false, second: true, focused: 'CHOICE_2' });
+ });
+
+ test('#1587 retains native checkbox focus and toggles it with Space', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_ENGINES.has(testInfo.project.name), 'The native keyboard baseline runs in every desktop engine.');
+
+ await openParticipant(page);
+ await activeQuestion(page).locator('label', { hasText: 'Blue' }).click();
+ await activeQuestion(page).getByRole('button', { name: 'Next question' }).click();
+ const checkbox = activeQuestion(page, 'CHECKS').locator('#CHECKS_1');
+ await expect(checkbox).not.toBeChecked();
+ await checkbox.focus();
+ test.fail(true, `${accessibilityDefects[1587].issue}: a native checkbox must retain focus and Space must toggle it.`);
+ await expect(checkbox).toBeFocused();
+ await page.keyboard.press('Space');
+ const selected = await checkbox.isChecked();
+ await page.keyboard.press('Space');
+ const deselected = await checkbox.isChecked();
+ expect([selected, deselected]).toEqual([true, false]);
+ });
+
+ test('#1587 preserves the browser-native select keyboard contract', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_ENGINES.has(testInfo.project.name), 'The native keyboard baseline runs in every desktop engine.');
+
+ await openParticipant(page, { fixture: 'nativeSelect.txt' });
+ const stateSelect = activeQuestion(page, 'STATE').locator('#home_state');
+ await stateSelect.focus();
+ await expect(stateSelect).toBeFocused();
+ await page.keyboard.press('ArrowDown');
+ const value = await stateSelect.inputValue();
+ test.fail(true, `${accessibilityDefects[1587].issue}: Quest must not trap native select keys.`);
+ expect(value).not.toBe('');
+ });
+
+ test('restores focus to the submit trigger after Escape closes its dialog', async ({ page }, testInfo) => {
+ test.skip(!NATIVE_KEYBOARD_ENGINES.has(testInfo.project.name), 'The modal focus contract runs in every desktop engine.');
+
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('2');
+ await goNext(page);
+ const trigger = activeQuestion(page, 'END').getByRole('button', { name: 'Submit your survey' });
+ const modal = page.locator('#submitModal');
+ await trigger.click();
+ await expect(modal).toHaveClass(/show/);
+ await expect(page.locator('#submitModalTitle')).toBeFocused();
+ await page.keyboard.press('Escape');
+ await waitInHarness(page, 700);
+ await expect(modal).not.toHaveClass(/show/);
+ test.fail(true, `${runtimeDefects.submitFocusRestore.localDefectId}: ${runtimeDefects.submitFocusRestore.reason}`);
+ expect(await trigger.evaluate((element) => element === document.activeElement)).toBe(true);
+ });
+
+ test('keeps focus on a response dialog when the pending question-focus timer completes', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The timer race is characterized once in Chromium.');
+
+ await openParticipant(page);
+ await goNext(page);
+ const title = page.locator('#softModalTitle');
+ await expect(title).toBeFocused();
+ await waitInHarness(page, 550);
+ test.fail(true, `${runtimeDefects.modalQuestionFocusRace.localDefectId}: ${runtimeDefects.modalQuestionFocusRace.reason}`);
+ await expect(title).toBeFocused();
+ });
+});
diff --git a/tests/e2e/module2PregnancyPaths.spec.js b/tests/e2e/module2PregnancyPaths.spec.js
new file mode 100644
index 0000000..86454b0
--- /dev/null
+++ b/tests/e2e/module2PregnancyPaths.spec.js
@@ -0,0 +1,121 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { readLockedMarkdown, rerenderParticipant, treeAtPath } from './support/corpus.js';
+
+const questName = 'D_745268907_V2';
+const currentPregnancy = 'D_849945160';
+const pregnancyCount = 'D_405571048';
+const pregnancyAge = 'D_968816827';
+const pregnancyOutcome = 'D_391951010';
+const pregnancySummary = 'PREGSUMMARY';
+
+async function renderFromPersisted(page, { markdown, language, persistedData }) {
+ const result = await rerenderParticipant(page, {
+ markdown,
+ lang: language,
+ previousResults: { age: '45', yob: '1981' },
+ persistedData,
+ });
+ expect(result.result).toBe(true);
+}
+
+test.describe('locked Module 2 pregnancy loop participant paths @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The production pregnancy path runs once in Chromium.');
+ });
+
+ for (const language of ['en', 'es']) {
+ test(`keeps completed and current ${language} pregnancies isolated across summaries, Back, and resume`, async ({ page }) => {
+ const markdown = readLockedMarkdown('module2', language);
+ const age1 = `${pregnancyAge}_1_1`;
+ const outcome1 = `${pregnancyOutcome}_1_1`;
+ const summary1 = `${pregnancySummary}_1_1`;
+ const age2 = `${pregnancyAge}_2_2`;
+ const outcome2 = `${pregnancyOutcome}_2_2`;
+ const summary2 = `${pregnancySummary}_2_2`;
+
+ await openParticipant(page, {
+ markdown,
+ lang: language,
+ previousResults: { age: '45', yob: '1981' },
+ persistedData: {
+ [currentPregnancy]: '353358909',
+ [pregnancyCount]: '2',
+ treeJSON: treeAtPath([age1]),
+ },
+ });
+
+ const firstAgeInput = activeQuestion(page, age1).locator('input[type="number"]');
+ await expect(firstAgeInput).toHaveAttribute('data-min', '0');
+ await expect(firstAgeInput).toHaveAttribute('data-max', '45');
+ await firstAgeInput.fill('29');
+ await firstAgeInput.blur();
+ await goNext(page);
+
+ await expect(activeQuestion(page, outcome1)).toBeVisible();
+ await activeQuestion(page, outcome1).locator(`label[for="${outcome1}_306890578"]`).click();
+ await goNext(page);
+
+ const firstSummary = activeQuestion(page, summary1);
+ await expect(firstSummary).toBeVisible();
+ await expect(firstSummary).toContainText('29');
+ await expect(firstSummary).not.toContainText('{$');
+
+ await goNext(page);
+ await expect(activeQuestion(page, age2)).toBeVisible();
+ const secondAgeInput = activeQuestion(page, age2).locator('input[type="number"]');
+ await secondAgeInput.fill('31');
+ await secondAgeInput.blur();
+ await goNext(page);
+
+ // The final pregnancy is the current pregnancy. Its age is collected,
+ // while outcome questions that only apply to completed pregnancies are skipped.
+ await expect(activeQuestion(page, summary2)).toBeVisible();
+ await expect(page.locator(`#questionnaireRoot form.question.active#${outcome2}`)).toHaveCount(0);
+ await expect(activeQuestion(page, summary2)).toContainText('31');
+ await expect(activeQuestion(page, summary2)).not.toContainText('{$');
+
+ await goBack(page);
+ await expect(activeQuestion(page, age2)).toBeVisible();
+ await expect(activeQuestion(page, age2).locator('input[type="number"]')).toHaveValue('31');
+ await goNext(page);
+ await expect(activeQuestion(page, summary2)).toBeVisible();
+
+ await flushHarness(page);
+ const completed = await harnessSnapshot(page);
+ expect(completed.state.survey).toMatchObject({
+ [currentPregnancy]: '353358909',
+ [pregnancyCount]: '2',
+ [age1]: '29',
+ [outcome1]: '306890578',
+ [age2]: '31',
+ });
+ expect(completed.state.survey).not.toHaveProperty(outcome2);
+ expect(completed.logs.storeCalls).toEqual(expect.arrayContaining([
+ expect.objectContaining({ changes: expect.objectContaining({ [`${questName}.${age1}`]: '29' }) }),
+ expect.objectContaining({ changes: expect.objectContaining({ [`${questName}.${outcome1}`]: '306890578' }) }),
+ expect.objectContaining({ changes: expect.objectContaining({ [`${questName}.${age2}`]: '31' }) }),
+ ]));
+
+ await renderFromPersisted(page, {
+ markdown,
+ language,
+ persistedData: {
+ ...completed.state.survey,
+ treeJSON: treeAtPath([age1, outcome1, summary1, age2, summary2]),
+ },
+ });
+ await expect(activeQuestion(page, summary2)).toBeVisible();
+ await expect(activeQuestion(page, summary2)).toContainText('31');
+ await expectHealthyHarness(page);
+ });
+ }
+});
diff --git a/tests/e2e/module4AddressPaths.spec.js b/tests/e2e/module4AddressPaths.spec.js
new file mode 100644
index 0000000..cd85452
--- /dev/null
+++ b/tests/e2e/module4AddressPaths.spec.js
@@ -0,0 +1,237 @@
+import { readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+ readCanonicalFixture,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+const englishAddressFixture = readCanonicalFixture('module4AddressPaths.txt');
+const spanishAddressFixture = readCanonicalFixture('module4AddressPathsSpanish.txt');
+const corpusLock = JSON.parse(readFileSync(resolve('tests/corpus/lock.json'), 'utf8'));
+
+function readLockedModule4(locale) {
+ const entry = corpusLock.files.find((file) => file.module === 'module4' && file.locale === locale);
+ return readFileSync(resolve(corpusLock.cacheRoot, corpusLock.commit, entry.path), 'utf8');
+}
+
+function treeAt(questionId) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionId, children: [] }] },
+ currentNode: questionId,
+ });
+}
+
+function treeThrough(previousQuestionId, currentQuestionId) {
+ return JSON.stringify({
+ rootNode: {
+ value: null,
+ children: [{ value: previousQuestionId, children: [{ value: currentQuestionId, children: [] }] }],
+ },
+ currentNode: currentQuestionId,
+ });
+}
+
+async function fillCompletePrimaryAddress(page) {
+ const question = activeQuestion(page, 'D_121490150');
+ await question.locator('#D_255248624').fill('123');
+ await question.locator('#D_945532934').fill('Main Street');
+ await question.locator('#D_469838242').fill('Apt 4');
+ await question.locator('#D_303500597').fill('Baltimore');
+ await question.locator('#D_195068098').fill('Maryland');
+ await question.locator('#D_202784871').fill('21201');
+ const country = question.locator('#D_831127170');
+ await country.fill('United States');
+ // Address state is finalized by Quest's delegated focusout handler. Make
+ // that participant boundary explicit before exercising branching logic.
+ await country.blur();
+}
+
+async function continueWithoutAnswering(page, language = 'en') {
+ const name = language === 'es' ? 'Continuar Sin Responder' : 'Continue Without Answering';
+ await page.getByRole('button', { name }).click();
+}
+
+test.describe('Module 4 residential-address paths @canonical @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(!DESKTOP_ENGINES.has(testInfo.project.name), 'Address paths run in the desktop browser matrix.');
+ });
+
+ test('keeps a complete primary address out of backup and intersection fallbacks, then stores and reuses it', async ({ page }) => {
+ await openParticipant(page, { markdown: englishAddressFixture });
+ await fillCompletePrimaryAddress(page);
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toBeVisible();
+ await expect(activeQuestion(page, 'D_920576363')).toHaveCount(0);
+ await expect(activeQuestion(page, 'D_804504024')).toHaveCount(0);
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Main Street');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Baltimore');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('United States');
+
+ await goNext(page);
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_574985342')).toContainText('Main Street');
+ await expect(activeQuestion(page, 'D_574985342')).toContainText('Baltimore');
+
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ const completeAddress = {
+ D_255248624: '123',
+ D_945532934: 'Main Street',
+ D_469838242: 'Apt 4',
+ D_303500597: 'Baltimore',
+ D_195068098: 'Maryland',
+ D_202784871: '21201',
+ D_831127170: 'United States',
+ };
+ expect(snapshot.state.survey.D_121490150).toEqual(completeAddress);
+ const addressStoreCall = snapshot.logs.storeCalls.find(({ changes }) => (
+ Object.hasOwn(changes, 'D_716117817.D_121490150')
+ ));
+ expect(addressStoreCall).toBeTruthy();
+ expect(addressStoreCall.changes['D_716117817.D_121490150']).toEqual(completeAddress);
+ expect(Object.keys(addressStoreCall.changes)).toEqual(expect.arrayContaining([
+ 'D_716117817.D_121490150',
+ 'D_716117817.treeJSON',
+ ]));
+ await expectHealthyHarness(page);
+ });
+
+ test('uses secondary location fields and cross streets only for the no-street partition, then displays all entered values', async ({ page }) => {
+ await openParticipant(page, { markdown: englishAddressFixture });
+ await goNext(page);
+ await continueWithoutAnswering(page);
+ await expect(activeQuestion(page, 'D_920576363')).toBeVisible();
+ await activeQuestion(page, 'D_920576363').locator('#D_725583683').fill('Lakeview');
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_804504024')).toBeVisible();
+ await activeQuestion(page, 'D_804504024').locator('#D_105043152').fill('First Street');
+ await activeQuestion(page, 'D_804504024').locator('#D_543135391').fill('Second Avenue');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('First Street');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Second Avenue');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Lakeview');
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ expect(snapshot.state.survey).toMatchObject({
+ D_920576363: { D_725583683: 'Lakeview' },
+ D_804504024: { D_105043152: 'First Street', D_543135391: 'Second Avenue' },
+ });
+ await expectHealthyHarness(page);
+ });
+
+ test('uses missing-field backup for a partial street address without offering the cross-street fallback', async ({ page }) => {
+ await openParticipant(page, { markdown: englishAddressFixture });
+ await activeQuestion(page, 'D_121490150').locator('#D_255248624').fill('44');
+ await activeQuestion(page, 'D_121490150').locator('#D_945532934').fill('Partial Place');
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_920576363')).toBeVisible();
+ await activeQuestion(page, 'D_920576363').locator('#D_725583683').fill('Lakeview');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'D_804504024')).toHaveCount(0);
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Partial Place');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Lakeview');
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps an entirely blank address out of the intersection fallback and labels the confirmation as current address', async ({ page }) => {
+ await openParticipant(page, { markdown: englishAddressFixture });
+ await goNext(page);
+ await continueWithoutAnswering(page);
+ await expect(activeQuestion(page, 'D_920576363')).toBeVisible();
+ await goNext(page);
+ await continueWithoutAnswering(page);
+
+ await expect(activeQuestion(page, 'D_804504024')).toHaveCount(0);
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('current address');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).not.toContainText('First Street');
+ await expectHealthyHarness(page);
+ });
+
+ test('restores primary compound values at the entered-address display and Back plus reset returns to fallback routing', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: englishAddressFixture,
+ persistedData: {
+ D_121490150: {
+ D_255248624: '77', D_945532934: 'Restored Road', D_303500597: 'Durham', D_195068098: 'NC', D_202784871: '27701', D_831127170: 'US',
+ },
+ treeJSON: treeThrough('D_121490150', 'HOMEADD4_1'),
+ },
+ });
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Restored Road');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Durham');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('27701');
+
+ await goBack(page);
+ await expect(activeQuestion(page, 'D_121490150')).toBeVisible();
+ await expect(activeQuestion(page, 'D_121490150').locator('#D_945532934')).toHaveValue('Restored Road');
+ await activeQuestion(page, 'D_121490150').getByRole('button', { name: 'Reset this answer' }).click();
+ await expect(activeQuestion(page, 'D_121490150').locator('#D_945532934')).toHaveValue('');
+ await goNext(page);
+ await continueWithoutAnswering(page);
+ await expect(activeQuestion(page, 'D_920576363')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps English and Spanish production-shaped address IDs and complete-address branching aligned', async ({ page }) => {
+ await openParticipant(page, { markdown: spanishAddressFixture, lang: 'es' });
+ await fillCompletePrimaryAddress(page);
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toBeVisible();
+ await expect(activeQuestion(page, 'D_920576363')).toHaveCount(0);
+ await expect(activeQuestion(page, 'D_804504024')).toHaveCount(0);
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Esta es la información que nos dio para esta ubicación');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Main Street');
+ await expect(activeQuestion(page, 'HOMEADD4_1')).toContainText('Baltimore');
+ await expectHealthyHarness(page);
+ });
+
+ for (const { locale, language } of [
+ { locale: 'English', language: 'en' },
+ { locale: 'Spanish', language: 'es' },
+ ]) {
+ test(`${locale} locked D_398762737 routes locality-only state to the duplicated-token intersection and blank state past it`, async ({ page }) => {
+ const markdown = readLockedModule4(language);
+ await openParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ D_444145120: { D_288498031: 'Lakeview' },
+ treeJSON: treeAt('D_444145120'),
+ },
+ });
+ await expect(activeQuestion(page, 'D_444145120')).toBeVisible();
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_398762737')).toBeVisible();
+ const runtimeCondition = decodeURIComponent(
+ await activeQuestion(page, 'D_398762737').getAttribute('displayif'),
+ );
+ expect(runtimeCondition).toMatch(/^displayif=noneExist\("D_985267931","D_111275683"\) and someExist\(/);
+
+ await openParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: { treeJSON: treeAt('D_444145120') },
+ });
+ await expect(activeQuestion(page, 'D_444145120')).toBeVisible();
+ await goNext(page);
+ await continueWithoutAnswering(page, language);
+ await expect(activeQuestion(page, 'D_398762737')).toHaveCount(0);
+ await expect(activeQuestion(page, 'HOMEADD4_2')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+ }
+});
diff --git a/tests/e2e/participantAsync.spec.js b/tests/e2e/participantAsync.spec.js
new file mode 100644
index 0000000..c1b422f
--- /dev/null
+++ b/tests/e2e/participantAsync.spec.js
@@ -0,0 +1,74 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+const ASYNC_MAP = {
+ '[ASYNC?]': { func: 'loadSyntheticOptions', args: ['SEED'] },
+};
+
+const ASYNC_HTML = `
+ Choose the host-provided option.
+
+
+
+
+
+
+
+
+`;
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+test.describe('host-provided asynchronous questions @core @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(!DESKTOP_ENGINES.has(testInfo.project.name), 'Async host contract runs in each desktop browser engine.');
+ });
+
+ test('passes prior answers and locale to the host, then persists the injected response', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'asyncQuestion.txt',
+ asyncQuestionsMap: ASYNC_MAP,
+ asyncQuestionHtml: ASYNC_HTML,
+ asyncDelayMs: 75,
+ });
+ await selectLabeledResponse(page, 'Clinical');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'ASYNC')).toBeVisible();
+ await expect(activeQuestion(page).locator('#ASYNC_A')).toHaveCount(1);
+ const afterLoad = await harnessSnapshot(page);
+ expect(afterLoad.logs.asyncCalls).toHaveLength(1);
+ expect(afterLoad.logs.asyncCalls[0]).toMatchObject({
+ func: 'loadSyntheticOptions',
+ args: ['1', 'en'],
+ });
+
+ await selectLabeledResponse(page, 'Host option B');
+ await goNext(page);
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ const finalSnapshot = await expectHealthyHarness(page);
+ expect(finalSnapshot.logs.storeCalls.some((call) => call.changes['TEST_ASYNC.ASYNC'] === 'B')).toBe(true);
+ });
+
+ test('renders an in-question error and logs host rejection without leaving the question', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'asyncQuestion.txt',
+ asyncQuestionsMap: ASYNC_MAP,
+ asyncOutcomes: [{ kind: 'reject', message: 'Synthetic async failure' }],
+ });
+ await selectLabeledResponse(page, 'Research');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'ASYNC')).toBeVisible();
+ await expect(activeQuestion(page).locator('.validation-container')).toContainText('Error fetching question');
+ const snapshot = await expectHealthyHarness(page, { allowErrors: true });
+ expect(snapshot.logs.errors.some((entry) => entry.message.includes('Synthetic async failure'))).toBe(true);
+ });
+});
diff --git a/tests/e2e/participantControls.spec.js b/tests/e2e/participantControls.spec.js
new file mode 100644
index 0000000..79ae14d
--- /dev/null
+++ b/tests/e2e/participantControls.spec.js
@@ -0,0 +1,212 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+const CONTROL_PROJECTS = new Set([
+ 'chromium-desktop',
+ 'firefox-desktop',
+ 'webkit-desktop',
+ 'chromium-windows-ua',
+]);
+
+test.describe('participant controls @core @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !CONTROL_PROJECTS.has(testInfo.project.name),
+ 'Canonical control walks run in the three desktop engines and Windows user-agent branch.',
+ );
+ });
+
+ test('loads a checked-in synthetic fixture through the manual-test query', async ({ page }, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'One browser verifies the manual harness entry point.');
+
+ await page.goto('/tests/harness/participant.html?fixture=runtimeControls.txt');
+ await page.waitForFunction(() => document.querySelector('#questionnaireRoot form.question.active#CHOICE'));
+ await expect(activeQuestion(page, 'CHOICE')).toContainText('Which color do you prefer?');
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.logs.renders).toHaveLength(1);
+ });
+
+ test('answers common controls, persists deltas, and submits the survey', async ({ page }) => {
+ await openParticipant(page);
+
+ await expect(activeQuestion(page, 'CHOICE')).toBeVisible();
+ await expect(activeQuestion(page).getByRole('button', { name: 'Back to the previous question' })).toHaveCount(0);
+ await selectLabeledResponse(page, 'Blue');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'CHECKS')).toBeVisible();
+ await selectLabeledResponse(page, 'Email');
+ await selectLabeledResponse(page, 'Text message');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'TEXT')).toBeVisible();
+ await activeQuestion(page).locator('#nickname').fill('Casey');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'NUMBER')).toBeVisible();
+ await activeQuestion(page).locator('#visit_count').fill('3');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'STATE')).toBeVisible();
+ const stateSelect = activeQuestion(page).locator('#home_state');
+ await stateSelect.focus();
+ await stateSelect.selectOption('MD');
+ await stateSelect.blur();
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'DATE')).toBeVisible();
+ await activeQuestion(page).locator('#visit_date').fill('2026-01-15');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'TIME')).toBeVisible();
+ await activeQuestion(page).locator('#visit_time').fill('09:30');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await activeQuestion(page).getByRole('button', { name: 'Submit your survey' }).click();
+ await expect(page.locator('#submitModal')).toHaveClass(/show/);
+ await expect(page.locator('#submitModalTitle')).toBeFocused();
+ await page.locator('#submitModalButton').click();
+
+ const snapshot = await expectHealthyHarness(page);
+ const changedKeys = snapshot.logs.storeCalls.flatMap((call) => Object.keys(call.changes));
+ expect(changedKeys).toEqual(expect.arrayContaining([
+ 'TEST_RUNTIME.CHOICE',
+ 'TEST_RUNTIME.CHECKS',
+ 'TEST_RUNTIME.TEXT',
+ 'TEST_RUNTIME.NUMBER',
+ 'TEST_RUNTIME.STATE',
+ 'TEST_RUNTIME.DATE',
+ 'TEST_RUNTIME.TIME',
+ 'TEST_RUNTIME.COMPLETED',
+ 'TEST_RUNTIME.COMPLETED_TS',
+ 'TEST_RUNTIME.treeJSON',
+ ]));
+ expect(snapshot.logs.storeCalls.at(-1).changes['TEST_RUNTIME.COMPLETED']).toBe(true);
+ expect(snapshot.state.survey).toMatchObject({
+ CHOICE: '1',
+ CHECKS: ['1', '2'],
+ TEXT: 'Casey',
+ NUMBER: '3',
+ STATE: 'MD',
+ DATE: '2026-01-15',
+ TIME: '09:30',
+ });
+ });
+
+ test('blocks an out-of-range number and clears the error after correction', async ({ page }) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ const number = activeQuestion(page, 'BOUNDED').locator('#bounded');
+
+ await number.fill('9');
+ await goNext(page);
+ await expect(activeQuestion(page, 'BOUNDED')).toBeVisible();
+ await expect(activeQuestion(page).locator('.validation-container')).toContainText('Value must be less than or equal to 3');
+
+ await number.fill('2');
+ await number.blur();
+ await expect(activeQuestion(page).locator('.validation-container')).toHaveCount(0);
+ await goNext(page);
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+
+ test('delegated keyboard submits activate Next, Reset, and Back with Enter and Space @windows-a11y', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+
+ async function pressAction(name, key, expectedQuestionId) {
+ const button = activeQuestion(page).getByRole('button', { name });
+ await button.focus();
+ await expect(button).toBeFocused();
+ await page.keyboard.press(key);
+
+ const question = activeQuestion(page, expectedQuestionId);
+ await expect(question).toBeVisible();
+ if (name !== 'Reset this answer') {
+ await expect(question.locator('.screen-reader-focus')).toBeFocused();
+ }
+ }
+
+ await selectLabeledResponse(page, 'Yes');
+ await pressAction('Next question', 'Enter', 'DETAIL');
+
+ const detail = activeQuestion(page, 'DETAIL').locator('#detail');
+ await detail.fill('Reset by Enter');
+ await detail.blur();
+ await pressAction('Reset this answer', 'Enter', 'DETAIL');
+ await expect(detail).toHaveValue('');
+ expect((await harnessSnapshot(page)).state.survey.DETAIL).toBeUndefined();
+
+ await detail.fill('Reset by Space');
+ await detail.blur();
+ await pressAction('Reset this answer', 'Space', 'DETAIL');
+ await expect(detail).toHaveValue('');
+ expect((await harnessSnapshot(page)).state.survey.DETAIL).toBeUndefined();
+
+ await detail.fill('Keyboard detail');
+ await detail.blur();
+ await pressAction('Next question', 'Space', 'SUMMARY');
+
+ await pressAction('Back to the previous question', 'Enter', 'DETAIL');
+ await expect(activeQuestion(page, 'DETAIL').locator('#detail')).toHaveValue('Keyboard detail');
+
+ await pressAction('Back to the previous question', 'Space', 'PATH');
+ await expect(activeQuestion(page, 'PATH').locator('#PATH_1')).toBeChecked();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.state.survey).toMatchObject({ PATH: '1' });
+ expect(snapshot.state.survey.DETAIL).toBeUndefined();
+
+ const keyActions = snapshot.logs.events
+ .filter((event) => event.type === 'keydown' && ['Enter', ' '].includes(event.key))
+ .map((event) => ({
+ key: event.key === ' ' ? 'Space' : event.key,
+ action: event.target.className?.split(' ').find((name) => (
+ ['next', 'reset', 'previous'].includes(name)
+ )),
+ }));
+ expect(keyActions).toEqual(expect.arrayContaining([
+ { key: 'Enter', action: 'next' },
+ { key: 'Space', action: 'next' },
+ { key: 'Enter', action: 'reset' },
+ { key: 'Space', action: 'reset' },
+ { key: 'Enter', action: 'previous' },
+ { key: 'Space', action: 'previous' },
+ ]));
+
+ const delegatedSubmits = snapshot.logs.events.filter((event) => (
+ event.type === 'submit'
+ && ['PATH', 'DETAIL', 'SUMMARY'].includes(event.target.id)
+ ));
+ expect(delegatedSubmits).toHaveLength(6);
+ expect(delegatedSubmits.every((event) => event.defaultPrevented)).toBe(true);
+ expect(snapshot.logs.host.keydownCount).toBeGreaterThanOrEqual(6);
+ expect(snapshot.logs.errors).toEqual([]);
+ });
+
+ test('uses prefetched text while loading the URL-signaled Quest styles from locked local files', async ({ page, diagnostics }) => {
+ const questionnaireUrl = 'https://questionnaire.test/prod/module.txt';
+ await openParticipant(page, { url: questionnaireUrl, questVersion: '2.0.0-test' });
+
+ await expect(activeQuestion(page, 'CHOICE')).toBeVisible();
+ await expect(page.locator('head link[rel="stylesheet"][href^="blob:"]')).toHaveCount(2);
+ expect(diagnostics.fulfilledExternalRequests).toEqual(expect.arrayContaining([
+ 'https://episphere.github.io/quest-dev/ActiveLogic.css',
+ 'https://episphere.github.io/quest-dev/Style1.css',
+ ]));
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.logs.renders[0].config).toMatchObject({
+ url: questionnaireUrl,
+ questVersion: '2.0.0-test',
+ });
+ expect(snapshot.logs.retrieveCalls).toHaveLength(1);
+ });
+});
diff --git a/tests/e2e/participantNavigationState.spec.js b/tests/e2e/participantNavigationState.spec.js
new file mode 100644
index 0000000..caa686e
--- /dev/null
+++ b/tests/e2e/participantNavigationState.spec.js
@@ -0,0 +1,272 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+ readCanonicalFixture,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+const DESKTOP_ENGINES = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+function treeAt(questionId) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionId, children: [] }] },
+ currentNode: questionId,
+ });
+}
+
+test.describe('participant navigation and state @core @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(!DESKTOP_ENGINES.has(testInfo.project.name), 'State and error flows run in each desktop browser engine.');
+ });
+
+ test('takes an explicit skip target and Back returns along the visited path', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'No');
+ await goNext(page);
+
+ await expect(activeQuestion(page, 'SUMMARY')).toBeVisible();
+ await goBack(page);
+ await expect(activeQuestion(page, 'PATH')).toBeVisible();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.logs.storeCalls[0].changes['TEST_NAV.PATH']).toBe('0');
+ });
+
+ test('executes default, reset, and no-response transitions through delegated controls', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationBoundaries.txt' });
+ await goNext(page);
+ await expect(activeQuestion(page, 'PATH')).toBeVisible();
+
+ await selectLabeledResponse(page, 'Explicit route');
+ await activeQuestion(page).getByRole('button', { name: 'Reset this answer' }).click();
+ await expect(activeQuestion(page).locator('input[type="radio"]:checked')).toHaveCount(0);
+
+ await goNext(page);
+ await page.getByRole('button', { name: 'Continue Without Answering' }).click();
+ await expect(activeQuestion(page, 'NO_RESPONSE_TARGET')).toBeVisible();
+ await goNext(page);
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+
+ test('executes explicit and sequential alternatives on fresh pages', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationBoundaries.txt' });
+ await goNext(page);
+ await selectLabeledResponse(page, 'Explicit route');
+ await goNext(page);
+ await expect(activeQuestion(page, 'EXPLICIT_TARGET')).toBeVisible();
+
+ await page.reload();
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ await openParticipant(page, { fixture: 'navigationBoundaries.txt' });
+ await goNext(page);
+ await selectLabeledResponse(page, 'Sequential route');
+ await goNext(page);
+ await expect(activeQuestion(page, 'SEQUENTIAL_TARGET')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+
+ for (const iterationCount of [0, 1, 2, 25]) {
+ test(`executes exactly ${iterationCount} loop iteration(s) without collapsing unrolled IDs`, async ({ page }) => {
+ await openParticipant(page, { fixture: 'loopBoundaries.txt' });
+ await activeQuestion(page, 'D_900000001').locator('#D_900000001').fill(String(iterationCount));
+ await goNext(page);
+
+ const observedLoopIds = [];
+ while (await activeQuestion(page).getAttribute('id') !== 'END') {
+ const questionId = await activeQuestion(page).getAttribute('id');
+ expect(questionId).toMatch(/^ITEM_\d+_\d+$/);
+ observedLoopIds.push(questionId);
+ await selectLabeledResponse(page, 'Continue');
+ await goNext(page);
+ }
+
+ expect(observedLoopIds).toHaveLength(iterationCount);
+ expect(new Set(observedLoopIds).size).toBe(iterationCount);
+ expect(observedLoopIds).toEqual(Array.from({ length: iterationCount }, (_, index) => (
+ `ITEM_${index + 1}_${index + 1}`
+ )));
+ await expectHealthyHarness(page);
+ });
+ }
+
+ test('Back preserves stable unrolled loop IDs from iteration 2 to iteration 1', async ({ page }) => {
+ await openParticipant(page, { fixture: 'loopBoundaries.txt' });
+ await activeQuestion(page, 'D_900000001').locator('#D_900000001').fill('2');
+ await goNext(page);
+ await expect(activeQuestion(page, 'ITEM_1_1')).toBeVisible();
+ await selectLabeledResponse(page, 'Continue');
+ await goNext(page);
+ await expect(activeQuestion(page, 'ITEM_2_2')).toBeVisible();
+
+ await goBack(page);
+ await expect(activeQuestion(page, 'ITEM_1_1')).toBeVisible();
+ await expect(activeQuestion(page).locator('input[type="radio"]:checked')).toHaveValue('1');
+ await expectHealthyHarness(page);
+ });
+
+ test('restores the exact unrolled loop iteration from persisted host state', async ({ page }) => {
+ await openParticipant(page, { fixture: 'loopBoundaries.txt' });
+ await activeQuestion(page, 'D_900000001').locator('#D_900000001').fill('2');
+ await goNext(page);
+ await selectLabeledResponse(page, 'Continue');
+ await goNext(page);
+ await expect(activeQuestion(page, 'ITEM_2_2')).toBeVisible();
+ await selectLabeledResponse(page, 'Continue');
+ await goNext(page);
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await flushHarness(page);
+
+ const beforeReload = await harnessSnapshot(page);
+ expect(beforeReload.state.survey).toMatchObject({ D_900000001: '2', ITEM_1_1: '1', ITEM_2_2: '1' });
+ expect(beforeReload.state.survey.treeJSON).toContain('ITEM_2_2');
+
+ await page.reload();
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ await page.evaluate(({ markdown, persistedData }) => window.questHarness.render({ markdown, persistedData }), {
+ markdown: readCanonicalFixture('loopBoundaries.txt'),
+ persistedData: beforeReload.state.survey,
+ });
+
+ await expect(activeQuestion(page, 'ITEM_2_2')).toBeVisible();
+ const restored = await harnessSnapshot(page);
+ expect(restored.state.survey).toMatchObject({ D_900000001: '2', ITEM_1_1: '1', ITEM_2_2: '1' });
+ await expect(activeQuestion(page).locator('input[type="radio"]:checked')).toHaveValue('1');
+ await expectHealthyHarness(page);
+ });
+
+ test('restores answers and navigation tree from host-retrieved state after reload', async ({ page }) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await expect(activeQuestion(page, 'DETAIL')).toBeVisible();
+ await activeQuestion(page).locator('#detail').fill('Follow up');
+ await goNext(page);
+ await expect(activeQuestion(page, 'SUMMARY')).toBeVisible();
+ await flushHarness(page);
+
+ const beforeReload = await harnessSnapshot(page);
+ expect(beforeReload.state.survey).toMatchObject({ PATH: '1', DETAIL: 'Follow up' });
+
+ await page.reload();
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ await page.evaluate(({ markdown, persistedData }) => window.questHarness.render({ markdown, persistedData }), {
+ markdown: readCanonicalFixture('navigationState.txt'),
+ persistedData: beforeReload.state.survey,
+ });
+
+ const restored = await harnessSnapshot(page);
+ expect(restored.state.survey).toMatchObject({ PATH: '1', DETAIL: 'Follow up' });
+ expect(['DETAIL', 'SUMMARY']).toContain(restored.activeQuestionId);
+ await expectHealthyHarness(page);
+ });
+
+ test('advances before a delayed successful store operation settles', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ storeMode: 'delayed',
+ hostDelayMs: 500,
+ });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+
+ expect(await activeQuestion(page).getAttribute('id')).toBe('DETAIL');
+ const pendingSnapshot = await harnessSnapshot(page);
+ expect(pendingSnapshot.logs.storeCalls).toHaveLength(1);
+ expect(pendingSnapshot.logs.storeCalls[0].outcome).toMatchObject({
+ kind: 'resolve',
+ delayMs: 500,
+ value: { code: 200 },
+ });
+
+ await flushHarness(page);
+ await expect(activeQuestion(page, 'DETAIL')).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+
+ for (const storeFailure of [
+ {
+ label: 'non-200 result',
+ config: { storeMode: 'non200' },
+ },
+ {
+ label: 'rejected operation',
+ config: { storeMode: 'rejected' },
+ },
+ ]) {
+ test(`reverts navigation and reports the host error after a ${storeFailure.label}`, async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ ...storeFailure.config,
+ });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await flushHarness(page);
+
+ await expect(activeQuestion(page, 'PATH')).toBeVisible();
+ await expect(page.locator('#storeErrorModal')).toHaveClass(/show/);
+ const snapshot = await expectHealthyHarness(page, { allowErrors: true });
+ expect(snapshot.logs.errors.some((entry) => entry.message.includes('syncToStore'))).toBe(true);
+ expect(snapshot.logs.storeCalls).toHaveLength(1);
+ expect(snapshot.logs.storeCalls[0].outcome.kind).toBe(
+ storeFailure.config.storeMode === 'rejected' ? 'reject' : 'resolve',
+ );
+ });
+ }
+
+ test('waits for delayed retrieve data and restores it before activating the survey', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ retrieveDelayMs: 150,
+ retrieveResult: {
+ data: {
+ TEST_NAV: { PATH: '1', treeJSON: treeAt('PATH') },
+ },
+ },
+ });
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.logs.retrieveCalls).toHaveLength(1);
+ expect(snapshot.state.survey).toMatchObject({ PATH: '1' });
+ await expect(activeQuestion(page, 'PATH').locator('#PATH_1')).toBeChecked();
+ });
+
+ test('starts a clean survey and logs a rejected retrieve operation', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ retrieveError: 'Synthetic retrieve rejection',
+ });
+
+ await expect(activeQuestion(page, 'PATH')).toBeVisible();
+ await expect(activeQuestion(page).locator('input[type="radio"]:checked')).toHaveCount(0);
+ const snapshot = await expectHealthyHarness(page, { allowErrors: true });
+ expect(snapshot.logs.retrieveCalls).toHaveLength(1);
+ expect(snapshot.logs.errors.some((entry) => (
+ entry.message.includes('Error fetching retrieve function and css')
+ && entry.message.includes('Synthetic retrieve rejection')
+ ))).toBe(true);
+ });
+
+ test('characterizes current unwrapping of retrieve data that carries a non-200 code', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ retrieveResult: {
+ code: 503,
+ data: {
+ TEST_NAV: { PATH: '0', treeJSON: treeAt('PATH') },
+ },
+ },
+ });
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.logs.retrieveCalls).toHaveLength(1);
+ expect(snapshot.state.survey).toMatchObject({ PATH: '0' });
+ await expect(activeQuestion(page, 'PATH').locator('#PATH_0')).toBeChecked();
+ });
+});
diff --git a/tests/e2e/popoverAccessibility.spec.js b/tests/e2e/popoverAccessibility.spec.js
new file mode 100644
index 0000000..fed6514
--- /dev/null
+++ b/tests/e2e/popoverAccessibility.spec.js
@@ -0,0 +1,46 @@
+import { test, expect } from './support/test.js';
+import { activeQuestion, expectHealthyHarness, openParticipant } from './support/harness.js';
+
+const DESKTOP_ENGINES = new Set([
+ 'chromium-desktop',
+ 'firefox-desktop',
+ 'webkit-desktop',
+ 'chromium-windows-ua',
+]);
+
+const POPOVER_MARKDOWN = `{"name":"TEST_POPOVER_A11Y"}
+
+[PLAIN] Please read the following survey help.
+|popup|More information|Help title|Synthetic help text|`;
+
+test.describe('production-shaped popover accessibility @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !DESKTOP_ENGINES.has(testInfo.project.name),
+ 'Keyboard popover behavior is checked in each desktop engine and the Windows user-agent branch.',
+ );
+ });
+
+ test('reveals help on keyboard focus, exposes its content, and dismisses on focus departure', async ({ page }) => {
+ await openParticipant(page, { markdown: POPOVER_MARKDOWN });
+
+ const question = activeQuestion(page, 'PLAIN');
+ await expect(question.locator('legend')).toContainText('Please read the following survey help.');
+
+ const trigger = question.getByRole('button', { name: 'More information' });
+ await expect(trigger).toBeVisible();
+ await trigger.focus();
+ await expect(trigger).toBeFocused();
+
+ const popover = page.locator('.popover').filter({ hasText: 'Synthetic help text' });
+ await expect(popover).toBeVisible();
+ await expect(popover).toHaveAttribute('role', 'tooltip');
+ await expect(popover).toContainText('Help title');
+ await expect(popover).toContainText('Synthetic help text');
+ await expect(trigger).toHaveAttribute('aria-describedby', await popover.getAttribute('id'));
+
+ await page.locator('#host-after').focus();
+ await expect(popover).not.toBeVisible();
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/e2e/productionCompoundForms.spec.js b/tests/e2e/productionCompoundForms.spec.js
new file mode 100644
index 0000000..d8a2f88
--- /dev/null
+++ b/tests/e2e/productionCompoundForms.spec.js
@@ -0,0 +1,173 @@
+import path from 'node:path';
+
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { accessibilityDefects } from '../knownDefects/registry.js';
+import {
+ readLockedMarkdown,
+ repositoryRoot,
+ rerenderParticipant,
+ treeAt,
+} from './support/corpus.js';
+
+const dietQuestion = 'D_916948380';
+const dietVegetables = 'D_970075000';
+const dietFruit = 'D_724001040';
+const module4Name = 'D_716117817';
+const commuteModes = 'D_421586693';
+const commuteDuration = 'D_733638576';
+const carDuration = 'D_583216333';
+const taxiDuration = 'D_920653797';
+const commuteFollowUpImage = 'https://user-images.githubusercontent.com/64271614/86169815-34d86f80-bae8-11ea-98a6-1b3de33fedf0.png';
+const localImageAsset = path.join(repositoryRoot, 'tests/e2e/assets/FemaleBaldness1.png');
+
+async function chooseRadio(question, name, value) {
+ await question.locator(`label[for="${name}_${value}"]`).click();
+}
+
+test.describe('locked production compound-response forms @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'Production compound flows run once in Chromium.');
+ });
+
+ test('Diet Screener keeps radio subgroups independent through partial completion, Back, and reload', async ({ page }) => {
+ const markdown = readLockedMarkdown('moduleDietScreener');
+ await openParticipant(page, {
+ markdown,
+ persistedData: { treeJSON: treeAt(dietQuestion, 'INTRO_SRVDSQ') },
+ });
+
+ const question = activeQuestion(page, dietQuestion);
+ await expect(question).toBeVisible();
+ expect(await question.locator('input[type="radio"]').evaluateAll((inputs) => (
+ new Set(inputs.map((input) => input.name)).size
+ ))).toBe(20);
+
+ await chooseRadio(question, dietVegetables, '192247286');
+ await chooseRadio(question, dietFruit, '351464854');
+ await expect(question.locator(`#${dietVegetables}_192247286`)).toBeChecked();
+ await expect(question.locator(`#${dietFruit}_351464854`)).toBeChecked();
+
+ // Diet Screener allows a participant to continue after a partial page.
+ // Preserve the two independent values before checking its Back/reload path.
+ await goNext(page);
+ await expect(page.getByRole('button', { name: 'Submit your survey' })).toBeVisible();
+
+ await flushHarness(page);
+ const partial = await harnessSnapshot(page);
+ expect(partial.state.survey).toMatchObject({
+ [dietQuestion]: {
+ [dietVegetables]: '192247286',
+ [dietFruit]: '351464854',
+ },
+ });
+
+ await page.getByRole('button', { name: 'Back to the previous section' }).click();
+ await expect(activeQuestion(page, dietQuestion)).toBeVisible();
+ await expect(activeQuestion(page, dietQuestion).locator(`#${dietVegetables}_192247286`)).toBeChecked();
+ await expect(activeQuestion(page, dietQuestion).locator(`#${dietFruit}_351464854`)).toBeChecked();
+
+ await rerenderParticipant(page, {
+ markdown,
+ lang: 'en',
+ persistedData: {
+ ...partial.state.survey,
+ treeJSON: treeAt(dietQuestion, 'INTRO_SRVDSQ'),
+ },
+ });
+ const restored = activeQuestion(page, dietQuestion);
+ await expect(restored.locator(`#${dietVegetables}_192247286`)).toBeChecked();
+ await expect(restored.locator(`#${dietFruit}_351464854`)).toBeChecked();
+ await expect(restored.locator(`#${dietVegetables}_351464854`)).not.toBeChecked();
+ await expectHealthyHarness(page);
+ });
+
+ test('Module 4 commute duration limits visible subgroups to selected modes and persists them independently', async ({ page }) => {
+ const markdown = readLockedMarkdown('module4');
+ const selectedModes = ['767755239', '385609081'];
+ // The valid selected-mode transition leads to a production image. It is
+ // unrelated to this contract, so retain the suite's boundary by
+ // serving an existing checked-in PNG in place of the remote asset.
+ await page.route(commuteFollowUpImage, (route) => route.fulfill({
+ status: 200,
+ contentType: 'image/png',
+ path: localImageAsset,
+ }));
+ await openParticipant(page, {
+ markdown,
+ persistedData: {
+ [commuteModes]: selectedModes,
+ treeJSON: treeAt(commuteDuration, commuteModes),
+ },
+ });
+
+ const question = activeQuestion(page, commuteDuration);
+ await expect(question).toBeVisible();
+ await expect(question.locator(`input[name="${carDuration}"]`)).toHaveCount(5);
+ await expect(question.locator(`input[name="${taxiDuration}"]`)).toHaveCount(5);
+ // Quest visually hides native choice inputs in every response. Assert the
+ // response containers instead, which distinguishes suppressed mode rows.
+ await expect(question.locator(`input[name="${carDuration}"]`).first().locator('xpath=..')).toBeVisible();
+ await expect(question.locator(`input[name="${taxiDuration}"]`).first().locator('xpath=..')).toBeVisible();
+ await expect(question.locator('input[name="D_843066684"]').first().locator('xpath=..')).toBeHidden();
+
+ await chooseRadio(question, carDuration, '248303092');
+ await chooseRadio(question, taxiDuration, '638092100');
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_166943843')).toBeVisible();
+
+ await flushHarness(page);
+ const completed = await harnessSnapshot(page);
+ const expectedDurations = {
+ [carDuration]: '248303092',
+ [taxiDuration]: '638092100',
+ };
+ expect(completed.state.survey).toMatchObject({ [commuteDuration]: expectedDurations });
+ expect(completed.logs.storeCalls.some(({ changes }) => (
+ JSON.stringify(changes[`${module4Name}.${commuteDuration}`]) === JSON.stringify(expectedDurations)
+ ))).toBe(true);
+
+ await goBack(page);
+ const returned = activeQuestion(page, commuteDuration);
+ await expect(returned.locator(`#${carDuration}_248303092`)).toBeChecked();
+ await expect(returned.locator(`#${taxiDuration}_638092100`)).toBeChecked();
+
+ await rerenderParticipant(page, {
+ markdown,
+ lang: 'en',
+ persistedData: {
+ ...completed.state.survey,
+ treeJSON: treeAt(commuteDuration, commuteModes),
+ },
+ });
+ const restored = activeQuestion(page, commuteDuration);
+ await expect(restored.locator(`#${carDuration}_248303092`)).toBeChecked();
+ await expect(restored.locator(`#${taxiDuration}_638092100`)).toBeChecked();
+ await expect(restored.locator('input[name="D_843066684"]').first().locator('xpath=..')).toBeHidden();
+ await expectHealthyHarness(page);
+ });
+
+ test('Diet Screener choices expose both the food subgroup and answer in their accessible names @known-defect', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleDietScreener'),
+ persistedData: { treeJSON: treeAt(dietQuestion) },
+ });
+
+ const question = activeQuestion(page, dietQuestion);
+ await expect(question).toBeVisible();
+ expect(await question.locator('input[type="radio"]').count()).toBeGreaterThan(0);
+ test.fail(true, `${accessibilityDefects.compoundQuestionContext.localDefectId}: ${accessibilityDefects.compoundQuestionContext.reason}`);
+ await expect(question.getByRole('radio', { name: /Vegetables.*1 per week|1 per week.*Vegetables/ }))
+ .toHaveCount(1, { timeout: 1_000 });
+ await expect(question.getByRole('radio', { name: /Fruit.*1 per day|1 per day.*Fruit/ }))
+ .toHaveCount(1, { timeout: 1_000 });
+ });
+});
diff --git a/tests/e2e/productionFanoutXor.spec.js b/tests/e2e/productionFanoutXor.spec.js
new file mode 100644
index 0000000..afc6ab0
--- /dev/null
+++ b/tests/e2e/productionFanoutXor.spec.js
@@ -0,0 +1,207 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { readLockedMarkdown, rerenderParticipant, treeAtPath } from './support/corpus.js';
+
+const mouthwashQuestion = 'D_479143504';
+const toothbrushFrequency = 'D_498984275';
+const mouthwashProducts = 'D_406270109';
+const alcoholMouthwashFrequency = 'D_349659426';
+const alcoholFreeMouthwashFrequency = 'D_766370065';
+
+const surgeries = 'D_729984625';
+const tonsilSurgery = 'D_675055475';
+const gallbladderSurgery = 'D_250003172';
+const ageAtSurgery = 'D_623218391';
+const yearOfSurgery = 'D_802622485';
+const tonsilXor = 'SRVSCR_TONSILS_V1R0';
+const gallbladderXor = 'SRVSCR_GALLREM_V1R0';
+
+test.describe('locked production checkbox fan-out and XOR state @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'Production branch paths run once in Chromium.');
+ });
+
+ test('queues selected oral-hygiene and nested mouthwash routes once, in authored order, and restores both checkbox arrays', async ({ page }) => {
+ const markdown = readLockedMarkdown('moduleMouthwash');
+ await openParticipant(page, {
+ markdown,
+ persistedData: { treeJSON: treeAtPath([mouthwashQuestion]) },
+ });
+
+ const oralHygiene = activeQuestion(page, mouthwashQuestion);
+ await oralHygiene.locator(`label[for="${mouthwashQuestion}_203919683"]`).click();
+ await oralHygiene.locator(`label[for="${mouthwashQuestion}_390351864"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, toothbrushFrequency)).toBeVisible();
+
+ await activeQuestion(page, toothbrushFrequency).locator(`label[for="${toothbrushFrequency}_858624942"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, mouthwashProducts)).toBeVisible();
+
+ const products = activeQuestion(page, mouthwashProducts);
+ await products.locator(`label[for="${mouthwashProducts}_950773275"]`).click();
+ await products.locator(`label[for="${mouthwashProducts}_762727133"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, alcoholMouthwashFrequency)).toBeVisible();
+
+ await activeQuestion(page, alcoholMouthwashFrequency).locator(`label[for="${alcoholMouthwashFrequency}_858624942"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, alcoholFreeMouthwashFrequency)).toBeVisible();
+
+ await activeQuestion(page, alcoholFreeMouthwashFrequency).locator(`label[for="${alcoholFreeMouthwashFrequency}_858624942"]`).click();
+ await goNext(page);
+ await flushHarness(page);
+ const completed = await harnessSnapshot(page);
+ expect(completed.state.survey).toMatchObject({
+ [mouthwashQuestion]: ['203919683', '390351864'],
+ [toothbrushFrequency]: '858624942',
+ [mouthwashProducts]: ['950773275', '762727133'],
+ [alcoholMouthwashFrequency]: '858624942',
+ [alcoholFreeMouthwashFrequency]: '858624942',
+ });
+ expect(JSON.parse(completed.state.survey.treeJSON).currentNode).toBe(alcoholFreeMouthwashFrequency);
+
+ // Returning through the queue must not duplicate or skip a selected route.
+ await goBack(page);
+ await expect(activeQuestion(page, alcoholFreeMouthwashFrequency)).toBeVisible();
+ await goBack(page);
+ await expect(activeQuestion(page, alcoholMouthwashFrequency)).toBeVisible();
+ await goBack(page);
+ await expect(activeQuestion(page, mouthwashProducts)).toBeVisible();
+ await expect(activeQuestion(page, mouthwashProducts).locator(`#${mouthwashProducts}_950773275`)).toBeChecked();
+ await expect(activeQuestion(page, mouthwashProducts).locator(`#${mouthwashProducts}_762727133`)).toBeChecked();
+
+ const rerendered = await rerenderParticipant(page, {
+ markdown,
+ persistedData: {
+ ...completed.state.survey,
+ treeJSON: treeAtPath([mouthwashQuestion, toothbrushFrequency, mouthwashProducts, alcoholMouthwashFrequency, alcoholFreeMouthwashFrequency]),
+ },
+ });
+ expect(rerendered.result).toBe(true);
+ await expect(activeQuestion(page, alcoholFreeMouthwashFrequency)).toBeVisible();
+ await goBack(page);
+ await goBack(page);
+ await expect(activeQuestion(page, mouthwashProducts)).toBeVisible();
+ await expect(activeQuestion(page, mouthwashProducts).locator(`#${mouthwashProducts}_950773275`)).toBeChecked();
+ await expect(activeQuestion(page, mouthwashProducts).locator(`#${mouthwashProducts}_762727133`)).toBeChecked();
+ await expectHealthyHarness(page);
+ });
+
+ test('rebuilds a queued multi-select route after Back removes one selected branch', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleMouthwash'),
+ persistedData: { treeJSON: treeAtPath([mouthwashQuestion]) },
+ });
+
+ const question = activeQuestion(page, mouthwashQuestion);
+ await question.locator(`label[for="${mouthwashQuestion}_203919683"]`).click();
+ await question.locator(`label[for="${mouthwashQuestion}_390351864"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, toothbrushFrequency)).toBeVisible();
+
+ // The first Next has already materialized both selected targets in the
+ // queue. Return to the driver, remove only the first route, and require
+ // Quest to rebuild the queue from the updated checkbox array.
+ await goBack(page);
+ const returned = activeQuestion(page, mouthwashQuestion);
+ await expect(returned.locator(`#${mouthwashQuestion}_203919683`)).toBeChecked();
+ await expect(returned.locator(`#${mouthwashQuestion}_390351864`)).toBeChecked();
+ await returned.locator(`label[for="${mouthwashQuestion}_203919683"]`).click();
+ await expect(returned.locator(`#${mouthwashQuestion}_203919683`)).not.toBeChecked();
+ await expect(returned.locator(`#${mouthwashQuestion}_390351864`)).toBeChecked();
+ await goNext(page);
+ await expect(activeQuestion(page, mouthwashProducts)).toBeVisible();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.state.survey[mouthwashQuestion]).toEqual(['390351864']);
+ expect(snapshot.state.survey).not.toHaveProperty(toothbrushFrequency);
+ expect(snapshot.state.survey.treeJSON).not.toContain(toothbrushFrequency);
+ });
+
+ test('keeps repeated age/year controls parent-scoped, XOR-exclusive, bounded, and restorable across two surgery paths', async ({ page }) => {
+ const markdown = readLockedMarkdown('moduleCancerScreeningHistory');
+ await openParticipant(page, {
+ markdown,
+ previousResults: { age: '45', yob: '1979' },
+ persistedData: { treeJSON: treeAtPath([surgeries]) },
+ });
+
+ const surgeryQuestion = activeQuestion(page, surgeries);
+ await surgeryQuestion.locator(`label[for="${surgeries}_797189152"]`).click();
+ await surgeryQuestion.locator(`label[for="${surgeries}_633546100"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, tonsilSurgery)).toBeVisible();
+
+ const tonsil = activeQuestion(page, tonsilSurgery);
+ const tonsilAge = tonsil.locator(`input[xor="${tonsilXor}"][id="${ageAtSurgery}"]`);
+ const tonsilYear = tonsil.locator(`input[xor="${tonsilXor}"][id="${yearOfSurgery}"]`);
+ await expect(tonsilAge).toHaveAttribute('data-max', '45');
+ await expect(tonsilYear).toHaveAttribute('data-min', '1979');
+ await tonsilAge.fill('46');
+ await tonsilAge.blur();
+ await expect(tonsil.locator('.validation-container')).toContainText('less than or equal to 45');
+ await tonsilAge.fill('12');
+ await tonsilAge.blur();
+ await tonsilYear.fill('2001');
+ await tonsilYear.blur();
+ await expect(tonsilAge).toHaveValue('');
+ await expect(tonsilYear).toHaveValue('2001');
+ await goNext(page);
+
+ await expect(activeQuestion(page, gallbladderSurgery)).toBeVisible();
+ const gallbladder = activeQuestion(page, gallbladderSurgery);
+ const gallbladderAge = gallbladder.locator(`input[xor="${gallbladderXor}"][id="${ageAtSurgery}"]`);
+ const gallbladderYear = gallbladder.locator(`input[xor="${gallbladderXor}"][id="${yearOfSurgery}"]`);
+ await expect(gallbladderAge).toHaveAttribute('data-max', '45');
+ await expect(gallbladderYear).toHaveAttribute('data-min', '1979');
+ await gallbladderYear.fill('1978');
+ await gallbladderYear.blur();
+ await expect(gallbladder.locator('.validation-container')).toContainText('greater than or equal to 1979');
+ await gallbladderYear.fill('2005');
+ await gallbladderYear.blur();
+ await gallbladderAge.fill('30');
+ await gallbladderAge.blur();
+ await expect(gallbladderYear).toHaveValue('');
+ await expect(gallbladderAge).toHaveValue('30');
+ await goNext(page);
+ await flushHarness(page);
+
+ const completed = await harnessSnapshot(page);
+ expect(completed.state.survey).toMatchObject({
+ [surgeries]: ['797189152', '633546100'],
+ [tonsilSurgery]: { [yearOfSurgery]: '2001' },
+ [gallbladderSurgery]: { [ageAtSurgery]: '30' },
+ });
+ await goBack(page);
+ await expect(activeQuestion(page, gallbladderSurgery)).toBeVisible();
+ await expect(activeQuestion(page, gallbladderSurgery).locator(`input[xor="${gallbladderXor}"][id="${ageAtSurgery}"]`)).toHaveValue('30');
+ await expect(activeQuestion(page, gallbladderSurgery).locator(`input[xor="${gallbladderXor}"][id="${yearOfSurgery}"]`)).toHaveValue('');
+ await goBack(page);
+ await expect(activeQuestion(page, tonsilSurgery)).toBeVisible();
+ await expect(activeQuestion(page, tonsilSurgery).locator(`input[xor="${tonsilXor}"][id="${yearOfSurgery}"]`)).toHaveValue('2001');
+ await expect(activeQuestion(page, tonsilSurgery).locator(`input[xor="${tonsilXor}"][id="${ageAtSurgery}"]`)).toHaveValue('');
+
+ const rerendered = await rerenderParticipant(page, {
+ markdown,
+ previousResults: { age: '45', yob: '1979' },
+ persistedData: {
+ ...completed.state.survey,
+ treeJSON: treeAtPath([surgeries, tonsilSurgery, gallbladderSurgery]),
+ },
+ });
+ expect(rerendered.result).toBe(true);
+ await expect(activeQuestion(page, gallbladderSurgery)).toBeVisible();
+ await expect(activeQuestion(page, gallbladderSurgery).locator(`input[xor="${gallbladderXor}"][id="${ageAtSurgery}"]`)).toHaveValue('30');
+ await expect(activeQuestion(page, gallbladderSurgery).locator(`input[xor="${gallbladderXor}"][id="${yearOfSurgery}"]`)).toHaveValue('');
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/e2e/productionLoopCoverage.spec.js b/tests/e2e/productionLoopCoverage.spec.js
new file mode 100644
index 0000000..d12c50f
--- /dev/null
+++ b/tests/e2e/productionLoopCoverage.spec.js
@@ -0,0 +1,224 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { readLockedMarkdown, rerenderParticipant, treeAtPath } from './support/corpus.js';
+const illnessCount = 'D_860011428';
+const firstIllness = 'D_980800222_V2';
+const symptomQuestion = 'D_694503437';
+const siblingCount = 'D_694265648';
+const vaccinationCount = 'D_877074400_V2';
+const vaccinationDate = 'D_715581797_V2';
+const vaccinationMonth = 'D_141616126';
+const vaccinationChoice = 'D_220055064';
+const vaccinationSummary = 'SRVCOV_COV29_V1R0';
+
+test.describe('locked production COVID loop participant paths @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'Production loop paths run once in Chromium.');
+ });
+
+ test('skips the first generated Module 1 sibling form before it is displayed when the valid count is zero', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('module1'),
+ persistedData: {
+ [siblingCount]: '0',
+ treeJSON: treeAtPath([siblingCount]),
+ },
+ });
+
+ await expect(activeQuestion(page, siblingCount).locator(`#${siblingCount}`)).toHaveValue('0');
+ await goNext(page);
+ await expect(activeQuestion(page, 'SIBCONFIRM')).toBeVisible();
+ await goNext(page);
+ await expect(activeQuestion(page, 'CHILD')).toBeVisible();
+ await expect(page.locator('#questionnaireRoot form.question.active#D_406098499_1_1')).toHaveCount(0);
+ await expectHealthyHarness(page);
+ });
+
+ test('captures the generated COVID month form through the delegated focusout path', async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19'),
+ persistedData: {
+ [illnessCount]: '2',
+ treeJSON: treeAtPath([`${firstIllness}_2_2`]),
+ },
+ });
+
+ const month = activeQuestion(page, `${firstIllness}_2_2`).locator('#D_686508359_2_2');
+ await expect(month).toBeVisible();
+ await month.fill('2024-02');
+ await expect(month).toHaveValue('2024-02');
+ await month.blur();
+
+ const beforeNext = await harnessSnapshot(page);
+ expect(beforeNext.state.active).toMatchObject({
+ [`${firstIllness}_2_2`]: '2024-02',
+ });
+
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_366980310_2_2')).toBeVisible();
+ await flushHarness(page);
+ const afterNext = await harnessSnapshot(page);
+ expect(afterNext.state.survey).toMatchObject({
+ [illnessCount]: '2',
+ [`${firstIllness}_2_2`]: '2024-02',
+ });
+ expect(afterNext.logs.storeCalls.at(-1).changes)
+ .toMatchObject({ [`D_793330426.${firstIllness}_2_2`]: '2024-02' });
+ await expectHealthyHarness(page);
+ });
+
+ for (const language of ['en', 'es']) {
+ test(`completes and resumes two ${language} COVID vaccination iterations with their own stored keys`, async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ lang: language,
+ persistedData: {
+ [vaccinationCount]: '2',
+ treeJSON: treeAtPath([`${vaccinationDate}_1_1`]),
+ },
+ });
+
+ const completeDate = async (iteration, value) => {
+ const dateQuestionId = `${vaccinationDate}_${iteration}_${iteration}`;
+ const month = activeQuestion(page, dateQuestionId).locator(`#${vaccinationMonth}_${iteration}_${iteration}`);
+ await expect(month).toBeVisible();
+ await month.fill(value);
+ await month.blur();
+ await goNext(page);
+ await expect(activeQuestion(page, `${vaccinationChoice}_${iteration}_${iteration}`)).toBeVisible();
+ };
+ const completeChoice = async (iteration) => {
+ const choiceQuestionId = `${vaccinationChoice}_${iteration}_${iteration}`;
+ await activeQuestion(page).locator(`label[for="${choiceQuestionId}_657978450"]`).click();
+ await goNext(page);
+ await expect(activeQuestion(page, `${vaccinationSummary}_${iteration}_${iteration}`)).toBeVisible();
+ };
+
+ await completeDate(1, '2021-02');
+ await expect(activeQuestion(page, `${vaccinationChoice}_1_1`)).toBeVisible();
+ await completeChoice(1);
+
+ await goNext(page);
+ await expect(activeQuestion(page, `${vaccinationDate}_2_2`)).toBeVisible();
+ await goBack(page);
+ await expect(activeQuestion(page, `${vaccinationSummary}_1_1`)).toBeVisible();
+ await goNext(page);
+ await expect(activeQuestion(page, `${vaccinationDate}_2_2`)).toBeVisible();
+
+ await completeDate(2, '2022-03');
+ await completeChoice(2);
+ await goNext(page);
+ await expect(activeQuestion(page, 'END')).toBeVisible();
+ await flushHarness(page);
+
+ const persisted = await harnessSnapshot(page);
+ expect(persisted.state.survey).toMatchObject({
+ [vaccinationCount]: '2',
+ [`${vaccinationDate}_1_1`]: '2021-02',
+ [`${vaccinationChoice}_1_1`]: {
+ [`${vaccinationChoice}_1_1`]: '657978450',
+ },
+ [`${vaccinationDate}_2_2`]: '2022-03',
+ [`${vaccinationChoice}_2_2`]: {
+ [`${vaccinationChoice}_2_2`]: '657978450',
+ },
+ });
+ expect(persisted.state.survey).not.toHaveProperty(vaccinationChoice);
+ expect(JSON.parse(persisted.state.survey.treeJSON).currentNode).toBe(`${vaccinationSummary}_2_2`);
+ const storedChanges = persisted.logs.storeCalls.map(({ changes }) => changes);
+ expect(storedChanges).toEqual(expect.arrayContaining([
+ expect.objectContaining({ [`D_793330426.${vaccinationDate}_1_1`]: '2021-02' }),
+ expect.objectContaining({ [`D_793330426.${vaccinationChoice}_1_1`]: expect.any(Object) }),
+ expect.objectContaining({ [`D_793330426.${vaccinationDate}_2_2`]: '2022-03' }),
+ expect.objectContaining({ [`D_793330426.${vaccinationChoice}_2_2`]: expect.any(Object) }),
+ ]));
+
+ await rerenderParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ persistedData: persisted.state.survey,
+ lang: language,
+ });
+ // Quest stores treeJSON before swapping the next form, so a resumed participant
+ // returns to the persisted summary rather than the just-rendered destination.
+ await expect(activeQuestion(page, `${vaccinationSummary}_2_2`)).toBeVisible();
+ await expectHealthyHarness(page);
+ });
+ }
+
+ for (const language of ['en', 'es']) {
+ test(`restores ${language} COVID iteration 2 and Back crosses its real loop boundary`, async ({ page }) => {
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ lang: language,
+ persistedData: {
+ [illnessCount]: '2',
+ D_686508359_1_1: '2024-01',
+ [`${symptomQuestion}_1_1`]: '104430631',
+ treeJSON: treeAtPath([
+ `${symptomQuestion}_1_1`,
+ '_CONTINUE1_1_1',
+ `${firstIllness}_2_2`,
+ ]),
+ },
+ });
+
+ await expect(activeQuestion(page, `${firstIllness}_2_2`)).toBeVisible();
+ await goBack(page);
+ await expect(activeQuestion(page, `${symptomQuestion}_1_1`)).toBeVisible();
+ await expect(activeQuestion(page).locator(`input[value="104430631"]`)).toBeChecked();
+
+ const snapshot = await expectHealthyHarness(page);
+ expect(snapshot.state.survey).toMatchObject({
+ [illnessCount]: '2',
+ D_686508359_1_1: '2024-01',
+ [`${symptomQuestion}_1_1`]: '104430631',
+ });
+ });
+
+ test(`stores and resumes ${language} COVID iteration-specific choice response keys`, async ({ page }) => {
+ const initialData = {
+ [illnessCount]: '2',
+ treeJSON: treeAtPath(['D_366980310_2_2']),
+ };
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ lang: language,
+ persistedData: initialData,
+ });
+
+ await expect(activeQuestion(page, 'D_366980310_2_2')).toBeVisible();
+ await activeQuestion(page).locator('label[for="D_366980310_2_2_104430631"]').click();
+ await goNext(page);
+ await expect(activeQuestion(page, 'D_498462481_2_2')).toBeVisible();
+ await flushHarness(page);
+
+ const beforeReload = await harnessSnapshot(page);
+ expect(beforeReload.state.survey).toMatchObject({
+ [illnessCount]: '2',
+ D_366980310_2_2: '104430631',
+ });
+ expect(beforeReload.state.survey).not.toHaveProperty('D_366980310');
+
+ await rerenderParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ persistedData: beforeReload.state.survey,
+ lang: language,
+ });
+
+ await expect(activeQuestion(page, 'D_366980310_2_2')).toBeVisible();
+ const restored = await expectHealthyHarness(page);
+ expect(restored.state.survey).toMatchObject({
+ [illnessCount]: '2',
+ D_366980310_2_2: '104430631',
+ });
+ });
+ }
+});
diff --git a/tests/e2e/productionPiping.spec.js b/tests/e2e/productionPiping.spec.js
new file mode 100644
index 0000000..a6927c7
--- /dev/null
+++ b/tests/e2e/productionPiping.spec.js
@@ -0,0 +1,275 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goBack,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+} from './support/harness.js';
+import { readLockedMarkdown, rerenderParticipant, treeAtPath } from './support/corpus.js';
+
+const module1Name = 'D_726699695_V2';
+const module2Name = 'D_745268907_V2';
+const covidName = 'D_793330426';
+
+const siblingCount = 'D_694265648';
+const siblingName = 'D_406098499';
+const siblingSex = 'D_579563781';
+
+const fertilityMedications = 'D_881200765';
+const otherMedication = 'D_762700622';
+const otherMedicationDuration = 'D_466346054';
+
+const illnessCount = 'D_860011428';
+const symptomPresence = 'D_694503437';
+const otherSymptoms = 'D_110872086';
+const otherSymptomsText = 'D_637540387';
+const stillExperiencingOtherSymptoms = 'D_591826144';
+const otherSymptomsDuration = 'D_934384452';
+const illnessSummary = 'SRVCOV_COVSUMMARY_V1R0';
+const illnessDate = 'D_686508359';
+const illnessSymptoms = 'D_705336878';
+const illnessOtherSymptomsText = 'D_218852075';
+
+const vaccinationCount = 'D_877074400_V2';
+const vaccinationQuestion = 'D_715581797_V2';
+const vaccinationDate = 'D_141616126';
+const vaccinationChoice = 'D_220055064';
+const otherVaccineText = 'D_395747093';
+const vaccinationSummary = 'SRVCOV_COV29_V1R0';
+
+function expectNoRawPipe(question) {
+ return expect(question).not.toContainText('{$');
+}
+
+test.describe('locked production response piping @corpus', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'Production piping paths run once in Chromium.');
+ });
+
+ for (const language of ['en', 'es']) {
+ test(`keeps ${language} sibling names isolated by loop iteration through Back and resume`, async ({ page }) => {
+ const firstNameQuestion = `${siblingName}_1_1`;
+ const firstSexQuestion = `${siblingSex}_1_1`;
+ const nameBeforeEdit = 'Ari';
+ const nameAfterEdit = 'Bea';
+ const markdown = readLockedMarkdown('module1', language);
+
+ await openParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ [siblingCount]: '2',
+ [firstNameQuestion]: nameBeforeEdit,
+ treeJSON: treeAtPath([siblingCount, 'SIBCONFIRM', firstNameQuestion, firstSexQuestion]),
+ },
+ });
+
+ await expect(activeQuestion(page, firstSexQuestion)).toContainText(nameBeforeEdit);
+ await expectNoRawPipe(activeQuestion(page, firstSexQuestion));
+ await activeQuestion(page, firstSexQuestion).locator(`label[for="${firstSexQuestion}_536341288"]`).click();
+ await goNext(page);
+ await goBack(page);
+ await goBack(page);
+
+ await expect(activeQuestion(page, firstNameQuestion)).toBeVisible();
+ // The generated form carries the loop suffix, while the authored
+ // nickname textbox retains its source input ID.
+ const nameInput = activeQuestion(page, firstNameQuestion).locator('input[type="text"]');
+ await nameInput.fill(nameAfterEdit);
+ await nameInput.blur();
+ await goNext(page);
+ await expect(activeQuestion(page, firstSexQuestion)).toContainText(nameAfterEdit);
+ await expect(activeQuestion(page, firstSexQuestion)).not.toContainText(nameBeforeEdit);
+
+ await flushHarness(page);
+ const edited = await harnessSnapshot(page);
+ expect(edited.state.survey).toMatchObject({ [firstNameQuestion]: nameAfterEdit });
+ expect(edited.logs.storeCalls.some(({ changes }) => (
+ changes[`${module1Name}.${firstNameQuestion}`] === nameAfterEdit
+ ))).toBe(true);
+
+ await rerenderParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ ...edited.state.survey,
+ [`${siblingName}_2_2`]: 'Cleo',
+ treeJSON: treeAtPath([`${siblingSex}_2_2`]),
+ },
+ });
+ await expect(activeQuestion(page, `${siblingSex}_2_2`)).toContainText('Cleo');
+ await expect(activeQuestion(page, `${siblingSex}_2_2`)).not.toContainText(nameAfterEdit);
+ await expectHealthyHarness(page);
+ });
+
+ test(`pipes ${language} nested Other medication text into its follow-up and preserves its compound response`, async ({ page }) => {
+ const medication = 'NovaMed 42';
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('module2', language),
+ lang: language,
+ persistedData: { treeJSON: treeAtPath([fertilityMedications]) },
+ });
+
+ const source = activeQuestion(page, fertilityMedications);
+ await source.locator(`label[for="${fertilityMedications}_807835037"]`).click();
+ const otherInput = source.locator(`#${otherMedication}`);
+ await otherInput.fill(medication);
+ await otherInput.blur();
+ await expect(source.locator(`#${fertilityMedications}_807835037`)).toBeChecked();
+ await goNext(page);
+
+ const followUp = activeQuestion(page, otherMedicationDuration);
+ await expect(followUp).toContainText(medication);
+ await expectNoRawPipe(followUp);
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ expect(snapshot.state.survey).toMatchObject({
+ [fertilityMedications]: {
+ [fertilityMedications]: ['807835037'],
+ [otherMedication]: medication,
+ },
+ });
+ expect(snapshot.logs.storeCalls.some(({ changes }) => (
+ changes[`${module2Name}.${fertilityMedications}`]?.[otherMedication] === medication
+ ))).toBe(true);
+
+ await goBack(page);
+ await expect(activeQuestion(page, fertilityMedications).locator(`#${fertilityMedications}_807835037`)).toBeChecked();
+ await expect(activeQuestion(page, fertilityMedications).locator(`#${otherMedication}`)).toHaveValue(medication);
+ await expectHealthyHarness(page);
+ });
+
+ test(`pipes ${language} Other symptom text into both downstream questions and restores it`, async ({ page }) => {
+ const symptomText = 'vertigo and blurred vision';
+ const markdown = readLockedMarkdown('moduleCOVID19', language);
+ const sourceState = {
+ [illnessCount]: '1',
+ [`${symptomPresence}_1_1`]: '353358909',
+ treeJSON: treeAtPath([`${otherSymptoms}`]),
+ };
+ await openParticipant(page, { markdown, lang: language, persistedData: sourceState });
+
+ const source = activeQuestion(page, otherSymptoms);
+ await source.locator(`label[for="${otherSymptoms}_707601969"]`).click();
+ const input = source.locator(`#${otherSymptomsText}`);
+ await input.fill(symptomText);
+ await input.blur();
+ await goNext(page);
+ await expect(activeQuestion(page, stillExperiencingOtherSymptoms)).toContainText(symptomText);
+ await expectNoRawPipe(activeQuestion(page, stillExperiencingOtherSymptoms));
+
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ expect(snapshot.state.survey).toMatchObject({
+ [otherSymptoms]: {
+ [otherSymptoms]: '707601969',
+ [otherSymptomsText]: symptomText,
+ },
+ });
+
+ await goBack(page);
+ await expect(activeQuestion(page, otherSymptoms).locator(`#${otherSymptoms}_707601969`)).toBeChecked();
+ await expect(activeQuestion(page, otherSymptoms).locator(`#${otherSymptomsText}`)).toHaveValue(symptomText);
+
+ await rerenderParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ ...snapshot.state.survey,
+ treeJSON: treeAtPath([otherSymptomsDuration]),
+ },
+ });
+ await expect(activeQuestion(page, otherSymptomsDuration)).toContainText(symptomText);
+ await expectNoRawPipe(activeQuestion(page, otherSymptomsDuration));
+ await expectHealthyHarness(page);
+ });
+
+ test(`pipes ${language} looped vaccination date and Other vaccine text into its summary and resume`, async ({ page }) => {
+ const vaccine = 'Covaxin';
+ const dateQuestion = `${vaccinationQuestion}_1_1`;
+ const choiceQuestion = `${vaccinationChoice}_1_1`;
+ const monthInput = `${vaccinationDate}_1_1`;
+ const otherInput = `${otherVaccineText}_1_1`;
+ const summaryQuestion = `${vaccinationSummary}_1_1`;
+ const markdown = readLockedMarkdown('moduleCOVID19', language);
+
+ await openParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ [vaccinationCount]: '1',
+ treeJSON: treeAtPath([dateQuestion]),
+ },
+ });
+ await activeQuestion(page, dateQuestion).locator(`#${monthInput}`).fill('2022-03');
+ await activeQuestion(page, dateQuestion).locator(`#${monthInput}`).blur();
+ await goNext(page);
+ await expect(activeQuestion(page, choiceQuestion)).toBeVisible();
+ await activeQuestion(page, choiceQuestion).locator(`label[for="${choiceQuestion}_807835037"]`).click();
+ await activeQuestion(page, choiceQuestion).locator(`#${otherInput}`).fill(vaccine);
+ await activeQuestion(page, choiceQuestion).locator(`#${otherInput}`).blur();
+ await goNext(page);
+
+ const summary = activeQuestion(page, summaryQuestion);
+ await expect(summary).toContainText('2022-03');
+ await expect(summary).toContainText(vaccine);
+ await expectNoRawPipe(summary);
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ expect(snapshot.state.survey).toMatchObject({
+ [vaccinationCount]: '1',
+ [dateQuestion]: '2022-03',
+ [choiceQuestion]: {
+ [choiceQuestion]: '807835037',
+ [otherInput]: vaccine,
+ },
+ });
+ expect(snapshot.logs.storeCalls.some(({ changes }) => (
+ changes[`${covidName}.${choiceQuestion}`]?.[otherInput] === vaccine
+ ))).toBe(true);
+
+ // Quest persists the current form immediately before it swaps to the
+ // summary. Supply the completed navigation tree to exercise a true
+ // resume at the piped summary, rather than the preceding choice form.
+ await rerenderParticipant(page, {
+ markdown,
+ lang: language,
+ persistedData: {
+ ...snapshot.state.survey,
+ treeJSON: treeAtPath([dateQuestion, choiceQuestion, summaryQuestion]),
+ },
+ });
+ await expect(activeQuestion(page, summaryQuestion)).toContainText('2022-03');
+ await expect(activeQuestion(page, summaryQuestion)).toContainText(vaccine);
+ await expectHealthyHarness(page);
+ });
+
+ test(`renders ${language} checkbox Other symptom text in the real COVID displayList summary`, async ({ page }) => {
+ const otherSymptom = 'post-viral brain fog';
+ const summaryQuestion = `${illnessSummary}_1_1`;
+ await openParticipant(page, {
+ markdown: readLockedMarkdown('moduleCOVID19', language),
+ lang: language,
+ persistedData: {
+ [illnessCount]: '1',
+ [`${illnessDate}_1_1`]: '2024-02',
+ [`${symptomPresence}_1_1`]: '353358909',
+ [`${illnessSymptoms}_1_1`]: {
+ [`${illnessSymptoms}_1_1`]: ['807835037'],
+ [`${illnessOtherSymptomsText}_1_1`]: otherSymptom,
+ },
+ treeJSON: treeAtPath([summaryQuestion]),
+ },
+ });
+
+ const summary = activeQuestion(page, summaryQuestion);
+ await expect(summary).toContainText(otherSymptom);
+ await expect(summary).toContainText('2024-02');
+ await expectNoRawPipe(summary);
+ await expectHealthyHarness(page);
+ });
+ }
+});
diff --git a/tests/e2e/responsive.spec.js b/tests/e2e/responsive.spec.js
new file mode 100644
index 0000000..57f7684
--- /dev/null
+++ b/tests/e2e/responsive.spec.js
@@ -0,0 +1,161 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goNext,
+ openParticipant,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+const RESPONSIVE_PROJECTS = new Set([
+ 'chromium-desktop',
+ 'chromium-phone',
+ 'chromium-tablet',
+]);
+
+async function expectMobileResponseLabel(label, cell, {
+ backgroundColor,
+ text,
+ textColor,
+}) {
+ await expect(label).toHaveText(text);
+ await expect(label).toBeVisible();
+ await expect(label).toHaveCSS('display', 'flex');
+ await expect(label).toHaveCSS('visibility', 'visible');
+ await expect(label).toHaveCSS('opacity', '1');
+ await expect(label).toHaveCSS('color', textColor);
+ await expect(label).toHaveCSS('-webkit-text-fill-color', textColor);
+ await expect(label).toHaveCSS('background-color', backgroundColor);
+
+ const [labelBox, cellBox] = await Promise.all([
+ label.boundingBox(),
+ cell.boundingBox(),
+ ]);
+ expect(labelBox).not.toBeNull();
+ expect(cellBox).not.toBeNull();
+ expect(labelBox.width / cellBox.width).toBeGreaterThan(0.95);
+ expect(labelBox.height / cellBox.height).toBeGreaterThan(0.95);
+}
+
+test.describe('participant responsive layout @responsive @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ !RESPONSIVE_PROJECTS.has(testInfo.project.name),
+ 'Responsive assertions run at the canonical Chromium breakpoints.',
+ );
+ });
+
+ test('preserves DOM tab order while changing the visual action order', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+
+ const question = activeQuestion(page, 'DETAIL');
+ const next = await question.locator('button.next').boundingBox();
+ const reset = await question.locator('button.reset').boundingBox();
+ const back = await question.locator('button.previous').boundingBox();
+ expect(next).not.toBeNull();
+ expect(reset).not.toBeNull();
+ expect(back).not.toBeNull();
+
+ if (testInfo.project.name === 'chromium-phone') {
+ expect(next.y).toBeLessThan(reset.y);
+ expect(reset.y).toBeLessThan(back.y);
+ } else {
+ expect(back.x).toBeLessThan(reset.x);
+ expect(reset.x).toBeLessThan(next.x);
+ expect(Math.abs(back.y - next.y)).toBeLessThan(2);
+ }
+
+ const domOrder = await question.locator('button').evaluateAll((buttons) => (
+ buttons.map((button) => button.dataset.clickType)
+ ));
+ expect(domOrder).toEqual(['next', 'reset', 'previous']);
+ await expectHealthyHarness(page);
+ });
+
+ test('switches the response grid between table and stacked-card layouts', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+
+ const question = activeQuestion(page, 'GRID_RATE');
+ const table = question.locator('table.quest-grid');
+ await expect(table).toBeVisible();
+
+ if (testInfo.project.name === 'chromium-phone') {
+ await expect(table.locator('thead')).toHaveCSS('display', 'none');
+ await expect(table.locator('td.response').first()).toHaveCSS('display', 'block');
+ await expect(table.locator('td.response').first()).toHaveAttribute('data-header', /^\s*Never$/);
+ } else {
+ await expect(table).toHaveCSS('display', 'inline-table');
+ await expect(table.locator('tr').first()).toHaveCSS('display', 'table-row');
+ }
+
+ await question.locator('tr[data-question-id="GRID_WALK"] label', { hasText: 'Sometimes' }).click();
+ await expect(question.locator('#GRID_WALK_1')).toBeChecked();
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps phone grid response names visible before and after selection', async ({ page }, testInfo) => {
+ test.skip(
+ testInfo.project.name !== 'chromium-phone',
+ 'Mobile cards are the only layout where response labels supply the visible column names.',
+ );
+
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+
+ const row = activeQuestion(page, 'GRID_RATE').locator('tr[data-question-id="GRID_WALK"]');
+ const expectedLabels = ['Never', 'Sometimes', 'Often'];
+
+ for (const [index, text] of expectedLabels.entries()) {
+ const cell = row.locator('td.response').nth(index);
+ await expectMobileResponseLabel(cell.locator('label.custom-label'), cell, {
+ backgroundColor: 'rgb(240, 240, 240)',
+ text,
+ textColor: 'rgb(51, 51, 51)',
+ });
+ }
+
+ const selectedCell = row.locator('td.response').nth(1);
+ await selectedCell.locator('label.custom-label').click();
+ await expect(row.locator('#GRID_WALK_1')).toBeChecked();
+ await expectMobileResponseLabel(selectedCell.locator('label.custom-label'), selectedCell, {
+ backgroundColor: 'rgb(50, 122, 187)',
+ text: 'Sometimes',
+ textColor: 'rgb(255, 255, 255)',
+ });
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps representative responsive grid geometry stable @visual', async ({ page }, testInfo) => {
+ testInfo.snapshotSuffix = '';
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+ const question = activeQuestion(page, 'GRID_RATE');
+ await question.locator('tr[data-question-id="GRID_WALK"] label', { hasText: 'Sometimes' }).click();
+ await page.mouse.move(0, 0);
+ // Keep this cross-platform snapshot focused on geometry and selected-state
+ // fills. The phone-specific test above separately protects visible label
+ // text and its exact unselected/selected colors.
+ await page.addStyleTag({
+ content: `
+ #questionnaireRoot,
+ #questionnaireRoot * {
+ -webkit-text-fill-color: transparent !important;
+ text-shadow: none !important;
+ }
+ `,
+ });
+
+ await expect(question).toHaveScreenshot(
+ `participant-grid-${testInfo.project.name}.png`,
+ {
+ animations: 'disabled',
+ caret: 'hide',
+ maxDiffPixelRatio: 0.02,
+ scale: 'css',
+ },
+ );
+ });
+});
diff --git a/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-desktop-chromium-desktop.png b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-desktop-chromium-desktop.png
new file mode 100644
index 0000000..a2a6da1
Binary files /dev/null and b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-desktop-chromium-desktop.png differ
diff --git a/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-phone-chromium-phone.png b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-phone-chromium-phone.png
new file mode 100644
index 0000000..c6cd130
Binary files /dev/null and b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-phone-chromium-phone.png differ
diff --git a/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-tablet-chromium-tablet.png b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-tablet-chromium-tablet.png
new file mode 100644
index 0000000..b7d93b4
Binary files /dev/null and b/tests/e2e/responsive.spec.js-snapshots/participant-grid-chromium-tablet-chromium-tablet.png differ
diff --git a/tests/e2e/storageConcurrency.spec.js b/tests/e2e/storageConcurrency.spec.js
new file mode 100644
index 0000000..b49336a
--- /dev/null
+++ b/tests/e2e/storageConcurrency.spec.js
@@ -0,0 +1,65 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ flushHarness,
+ goNext,
+ harnessSnapshot,
+ openParticipant,
+ selectLabeledResponse,
+} from './support/harness.js';
+
+test.describe('non-blocking host-store ordering @core @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(testInfo.project.name !== 'chromium-desktop', 'The overlapping host-write contract runs once in Chromium.');
+ });
+
+ test('keeps navigation and per-question deltas stable when successful writes settle out of order', async ({ page }) => {
+ await openParticipant(page, {
+ fixture: 'navigationState.txt',
+ storeOutcomes: [
+ { kind: 'resolve', delayMs: 1_000, value: { code: 200 } },
+ { kind: 'resolve', delayMs: 10, value: { code: 200 } },
+ ],
+ });
+
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await expect(activeQuestion(page, 'DETAIL')).toBeVisible();
+
+ const detail = activeQuestion(page, 'DETAIL').locator('#detail');
+ await detail.fill('Concurrent host write');
+ await detail.blur();
+ await goNext(page);
+ await expect(activeQuestion(page, 'SUMMARY')).toBeVisible();
+
+ await expect.poll(async () => (
+ (await harnessSnapshot(page)).logs.storeCalls.map(({ status }) => status)
+ )).toEqual(['pending', 'fulfilled']);
+ const whilePending = await harnessSnapshot(page);
+ expect(whilePending.logs.storeCalls).toHaveLength(2);
+ expect(whilePending.logs.storeCalls[0]).toMatchObject({ status: 'pending', settlementIndex: null });
+ expect(whilePending.logs.storeCalls[1]).toMatchObject({ status: 'fulfilled', settlementIndex: 1 });
+ expect(whilePending.state.survey).toMatchObject({
+ PATH: '1',
+ DETAIL: 'Concurrent host write',
+ });
+
+ await flushHarness(page);
+ await expect(activeQuestion(page, 'SUMMARY')).toBeVisible();
+ const settled = await expectHealthyHarness(page);
+ expect(settled.state.survey).toMatchObject({
+ PATH: '1',
+ DETAIL: 'Concurrent host write',
+ });
+ expect(settled.logs.storeCalls[0].changes).toMatchObject({ 'TEST_NAV.PATH': '1' });
+ expect(settled.logs.storeCalls[1].changes).toMatchObject({ 'TEST_NAV.DETAIL': 'Concurrent host write' });
+ expect(settled.logs.storeCalls.map(({ status, settlementIndex }) => ({ status, settlementIndex }))).toEqual([
+ { status: 'fulfilled', settlementIndex: 2 },
+ { status: 'fulfilled', settlementIndex: 1 },
+ ]);
+ expect(settled.logs.storeCalls[0].changes).not.toHaveProperty('TEST_NAV.DETAIL');
+ expect(settled.logs.storeCalls[1].changes).not.toHaveProperty('TEST_NAV.PATH');
+ await expect(page.locator('#storeErrorModal')).not.toHaveClass(/show/);
+ });
+});
diff --git a/tests/e2e/support/authoring.js b/tests/e2e/support/authoring.js
new file mode 100644
index 0000000..8c888a9
--- /dev/null
+++ b/tests/e2e/support/authoring.js
@@ -0,0 +1,254 @@
+import { readFileSync } from 'node:fs';
+import { createHash } from 'node:crypto';
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { expect } from './test.js';
+
+const supportDirectory = dirname(fileURLToPath(import.meta.url));
+const repositoryRoot = join(supportDirectory, '..', '..', '..');
+
+const paths = {
+ index: join(repositoryRoot, 'index.html'),
+ bootstrapCss: join(repositoryRoot, 'node_modules', 'bootstrap-authoring', 'dist', 'css', 'bootstrap.min.css'),
+ bootstrapJs: join(repositoryRoot, 'node_modules', 'bootstrap-authoring', 'dist', 'js', 'bootstrap.bundle.min.js'),
+ fontAwesomeCss: join(repositoryRoot, 'node_modules', '@fortawesome', 'fontawesome-free', 'css', 'fontawesome.min.css'),
+ localForageJs: join(repositoryRoot, 'node_modules', 'localforage', 'dist', 'localforage.min.js'),
+ fontLock: join(repositoryRoot, 'tests', 'e2e', 'assets', 'fonts.lock.json'),
+};
+
+const fontLock = JSON.parse(readFileSync(paths.fontLock, 'utf8'));
+const libreBaskerville = fontLock.assets.find((asset) => asset.family === 'Libre Baskerville');
+if (!libreBaskerville) {
+ throw new Error('The authoring asset lock is missing Libre Baskerville.');
+}
+
+const libreBaskervillePath = join(repositoryRoot, 'tests', 'e2e', 'assets', ...libreBaskerville.path.split('/'));
+const libreBaskervilleBytes = readFileSync(libreBaskervillePath);
+const libreBaskervilleDigest = createHash('sha256').update(libreBaskervilleBytes).digest('hex');
+if (libreBaskervilleBytes.byteLength !== libreBaskerville.bytes
+ || libreBaskervilleDigest !== libreBaskerville.sha256) {
+ throw new Error('The pinned Libre Baskerville authoring asset failed its integrity check.');
+}
+
+const libreBaskervilleLicensePath = join(
+ repositoryRoot,
+ 'tests',
+ 'e2e',
+ 'assets',
+ ...libreBaskerville.licensePath.split('/'),
+);
+const libreBaskervilleLicenseDigest = createHash('sha256')
+ .update(readFileSync(libreBaskervilleLicensePath))
+ .digest('hex');
+if (libreBaskervilleLicenseDigest !== libreBaskerville.licenseSha256) {
+ throw new Error('The pinned Libre Baskerville license failed its integrity check.');
+}
+
+export const LIBRE_BASKERVILLE_STYLESHEET_URL = libreBaskerville.stylesheetUrl;
+export const LIBRE_BASKERVILLE_FONT_URL = libreBaskerville.url;
+export const AUTHORING_BOOTSTRAP_CSS_URL = 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css';
+export const AUTHORING_BOOTSTRAP_JS_URL = 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js';
+
+const LIBRE_BASKERVILLE_CSS = `
+ @font-face {
+ font-family: 'Libre Baskerville';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url('${LIBRE_BASKERVILLE_FONT_URL}') format('truetype');
+ }
+`;
+
+const AUTHORING_EXTERNAL_ASSETS = [
+ {
+ url: AUTHORING_BOOTSTRAP_CSS_URL,
+ path: paths.bootstrapCss,
+ contentType: 'text/css',
+ },
+ {
+ url: AUTHORING_BOOTSTRAP_JS_URL,
+ path: paths.bootstrapJs,
+ contentType: 'application/javascript',
+ },
+ {
+ url: 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.2/css/fontawesome.min.css',
+ path: paths.fontAwesomeCss,
+ contentType: 'text/css',
+ },
+ {
+ url: 'https://cdnjs.cloudflare.com/ajax/libs/localforage/1.10.0/localforage.min.js',
+ path: paths.localForageJs,
+ contentType: 'application/javascript',
+ },
+];
+
+export const DEMO_MODULE_URL = 'https://raw.githubusercontent.com/episphere/quest/main/questionnaires/demo.txt';
+export const TEST_MODULE_URL = 'https://questionnaire.test/canonical.txt';
+export const HTTP_ERROR_MODULE_URL = 'https://questionnaire.test/not-found.txt';
+export const REJECTED_MODULE_URL = 'https://questionnaire.test/rejected.txt';
+export const GITHUB_BLOB_MODULE_URL = 'https://github.com/episphere/questionnaire/blob/locked/prod/canonical.txt';
+export const GITHUB_WEB_RAW_MODULE_URL = 'https://github.com/episphere/questionnaire/raw/locked/prod/canonical.txt';
+export const GITHUB_RAW_MODULE_URL = 'https://raw.githubusercontent.com/episphere/questionnaire/locked/prod/canonical.txt';
+
+const LOCALFORAGE_FALLBACK_SCRIPT = `
+ window.localforage = {
+ createInstance() {
+ throw new Error('Synthetic LocalForage initialization failure');
+ },
+ clear() {
+ return Promise.resolve();
+ }
+ };
+`;
+
+function normalizeModuleResponse(response) {
+ if (typeof response === 'string') {
+ return { status: 200, body: response, contentType: 'text/plain' };
+ }
+
+ return {
+ status: response.status ?? 200,
+ body: response.body ?? '',
+ contentType: response.contentType ?? 'text/plain',
+ abort: response.abort,
+ };
+}
+
+export async function installAuthoringRoutes(page, diagnostics, {
+ demoMarkdown = '',
+ localForageMode = 'normal',
+ modules = {},
+} = {}) {
+ // Preserve the checked-in page's SRI and crossorigin declarations. The
+ // intercepted authoring assets are byte-identical to its pinned versions;
+ // the participant harness separately uses Connect-shaped Bootstrap 5.3.3.
+ const importMap = `
+
+ `;
+ const readinessProbe = `
+
+ `;
+ const localIndex = readFileSync(paths.index, 'utf8')
+ .replace('', `${importMap}${readinessProbe}`);
+
+ await page.route('**/index.html*', async (route) => {
+ await route.fulfill({
+ status: 200,
+ contentType: 'text/html',
+ body: localIndex,
+ });
+ });
+
+ for (const asset of AUTHORING_EXTERNAL_ASSETS) {
+ await page.route(asset.url, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(asset.url);
+
+ if (asset.url.includes('localforage') && localForageMode === 'initialization-failure') {
+ await route.fulfill({
+ status: 200,
+ contentType: 'application/javascript',
+ body: LOCALFORAGE_FALLBACK_SCRIPT,
+ });
+ return;
+ }
+
+ await route.fulfill({
+ status: 200,
+ contentType: asset.contentType,
+ headers: { 'access-control-allow-origin': '*' },
+ path: asset.path,
+ });
+ });
+ }
+
+ await page.route('https://fonts.googleapis.com/**', async (route) => {
+ diagnostics.fulfilledExternalRequests.push(route.request().url());
+ await route.fulfill({
+ status: 200,
+ contentType: 'text/css',
+ body: LIBRE_BASKERVILLE_CSS,
+ });
+ });
+
+ await page.route(LIBRE_BASKERVILLE_FONT_URL, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(route.request().url());
+ await route.fulfill({
+ status: 200,
+ contentType: libreBaskerville.mimeType,
+ path: libreBaskervillePath,
+ });
+ });
+
+ await page.route(DEMO_MODULE_URL, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(DEMO_MODULE_URL);
+ await route.fulfill({ status: 200, contentType: 'text/plain', body: demoMarkdown });
+ });
+
+ for (const [url, moduleResponse] of Object.entries(modules)) {
+ const response = normalizeModuleResponse(moduleResponse);
+ await page.route(url, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(url);
+ if (response.abort) {
+ await route.abort(response.abort);
+ return;
+ }
+
+ await route.fulfill({
+ status: response.status,
+ contentType: response.contentType,
+ body: response.body,
+ });
+ });
+ }
+}
+
+export async function waitForAuthoringReady(page) {
+ await page.waitForLoadState('load');
+ await page.waitForFunction(() => {
+ const textarea = document.getElementById('markupTextArea');
+ return Boolean(
+ window.localforage
+ && window.__questAuthoringReady === true
+ && textarea
+ && !textarea.disabled,
+ );
+ });
+ await page.evaluate(() => new Promise((resolve) => {
+ requestAnimationFrame(() => requestAnimationFrame(resolve));
+ }));
+}
+
+export async function renderAuthoringMarkdown(page, markdown) {
+ const textarea = page.locator('#markupTextArea');
+ await textarea.fill(markdown);
+ await textarea.dispatchEvent('keyup', { key: 'a' });
+ await page.waitForFunction(() => document.querySelectorAll('#rendering form.question').length > 0);
+}
+
+export async function openAuthoringSettings(page) {
+ await page.getByRole('link', { name: 'Settings' }).click();
+ await expect(page.locator('#settings')).toHaveClass(/show/);
+}
+
+export async function closeAuthoringSettings(page) {
+ await page.locator('#settings').getByRole('button', { name: 'Close' }).click();
+ await expect(page.locator('#settings')).not.toHaveClass(/show/);
+}
diff --git a/tests/e2e/support/axe.js b/tests/e2e/support/axe.js
new file mode 100644
index 0000000..25271e2
--- /dev/null
+++ b/tests/e2e/support/axe.js
@@ -0,0 +1,37 @@
+import AxeBuilder from '@axe-core/playwright';
+
+function normalizeTarget(target) {
+ return Array.isArray(target) ? target.map(String) : [String(target)];
+}
+
+function findingKey({ id, impact, target }) {
+ return JSON.stringify([id, impact, normalizeTarget(target)]);
+}
+
+export async function analyzeQuestAxe(page) {
+ const results = await new AxeBuilder({ page })
+ .include('#questionnaireRoot')
+ .analyze();
+
+ return results.violations.flatMap((violation) => (
+ violation.nodes.map((node) => ({
+ id: violation.id,
+ impact: violation.impact,
+ target: normalizeTarget(node.target),
+ }))
+ ));
+}
+
+export function matchesAxeDefect(finding, defect) {
+ return defect.targets.some((target) => findingKey(finding) === findingKey({
+ id: defect.ruleId,
+ impact: defect.impact,
+ target,
+ }));
+}
+
+export function unwaivedAxeFindings(findings, acceptedDefects) {
+ return findings.filter((finding) => (
+ !acceptedDefects.some((defect) => matchesAxeDefect(finding, defect))
+ ));
+}
diff --git a/tests/e2e/support/corpus.js b/tests/e2e/support/corpus.js
new file mode 100644
index 0000000..9120ec6
--- /dev/null
+++ b/tests/e2e/support/corpus.js
@@ -0,0 +1,47 @@
+import { readFileSync } from 'node:fs';
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+const supportDirectory = dirname(fileURLToPath(import.meta.url));
+export const repositoryRoot = join(supportDirectory, '..', '..', '..');
+export const corpusLock = JSON.parse(readFileSync(join(repositoryRoot, 'tests', 'corpus', 'lock.json'), 'utf8'));
+
+export function findLockedCorpusRecord(module, locale = 'en') {
+ const record = corpusLock.files.find((file) => file.module === module && file.locale === locale);
+ if (!record) throw new Error(`Missing locked ${module} ${locale} corpus entry`);
+ return record;
+}
+
+export function lockedCorpusPath(record) {
+ return join(repositoryRoot, corpusLock.cacheRoot, corpusLock.commit, record.path);
+}
+
+export function readLockedMarkdown(module, locale = 'en') {
+ return readFileSync(lockedCorpusPath(findLockedCorpusRecord(module, locale)), 'utf8');
+}
+
+export function treeAt(questionId, previousQuestionId) {
+ const currentNode = { value: questionId, children: [] };
+ const firstNode = previousQuestionId
+ ? { value: previousQuestionId, children: [currentNode] }
+ : currentNode;
+ return JSON.stringify({ rootNode: { value: null, children: [firstNode] }, currentNode: questionId });
+}
+
+export function treeAtPath(questionIds) {
+ const [first, ...rest] = questionIds;
+ const rootNode = { value: null, children: [{ value: first, children: [] }] };
+ let node = rootNode.children[0];
+ for (const questionId of rest) {
+ const child = { value: questionId, children: [] };
+ node.children.push(child);
+ node = child;
+ }
+ return JSON.stringify({ rootNode, currentNode: questionIds.at(-1) });
+}
+
+export async function rerenderParticipant(page, config) {
+ await page.reload();
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ return page.evaluate((nextConfig) => window.questHarness.render(nextConfig), config);
+}
diff --git a/tests/e2e/support/gridDeepCoverageFixtures.js b/tests/e2e/support/gridDeepCoverageFixtures.js
new file mode 100644
index 0000000..dc4af4a
--- /dev/null
+++ b/tests/e2e/support/gridDeepCoverageFixtures.js
@@ -0,0 +1,41 @@
+// Production grid from locked questionnaire/module2.txt at
+// 7ae99a22af325cf0e14be047a7636462db9bfd50. Retaining the source IDs and
+// response values exercises the high-cardinality storage shape.
+export const productionSleepGridMarkdown = `
+{"name":"TEST_PRODUCTION_GRID"}
+[GRID_LEAD] The next question uses a production response grid.
+|grid?|id="D_981441822"|What is the chance that you would doze off or fall asleep (not just "feel tired") in each of these situations? If you are never or rarely in the situation, please make your best guess for what would happen.|[
+[D_403155173] Sitting and reading;
+[D_576621769] Watching television;
+[D_988508028] Sitting inactive in public place (such as a theater or a meeting); [D_186488870] Riding as a passenger in a car for an hour without stopping;
+[D_922388461] Lying down to rest in the afternoon;
+[D_760686611] Sitting and talking to someone;
+[D_354550061] Sitting quietly after a lunch that did not include alcohol;
+[D_179705366] In a car, while you are stopped for a few minutes in traffic;
+[D_955609858] At the dinner table;]|
+(514068832:No chance)
+(774439579:Slight Chance)
+(747099514:Moderate Chance)
+(977681388: High Chance)|
+[GRID_FOLLOWUP] The saved grid answer can now be revisited.
+[END,end] Done.
+`;
+
+export const productionSleepGridRows = Object.freeze({
+ D_403155173: '774439579',
+ D_576621769: '747099514',
+ D_988508028: '977681388',
+ D_186488870: '514068832',
+ D_922388461: '774439579',
+ D_760686611: '747099514',
+ D_354550061: '977681388',
+ D_179705366: '514068832',
+ D_955609858: '774439579',
+});
+
+export async function selectProductionSleepGridRows(grid, expectedRows) {
+ for (const [rowId, selectedValue] of Object.entries(expectedRows)) {
+ const response = grid.locator(`input[name="${rowId}"][value="${selectedValue}"]`);
+ await response.locator('xpath=following-sibling::label').click();
+ }
+}
diff --git a/tests/e2e/support/harness.js b/tests/e2e/support/harness.js
new file mode 100644
index 0000000..aba651f
--- /dev/null
+++ b/tests/e2e/support/harness.js
@@ -0,0 +1,71 @@
+import { readFileSync } from 'node:fs';
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { expect } from './test.js';
+
+const supportDirectory = dirname(fileURLToPath(import.meta.url));
+const repositoryRoot = join(supportDirectory, '..', '..', '..');
+const canonicalDirectory = join(repositoryRoot, 'tests', 'fixtures', 'canonical');
+
+export function readCanonicalFixture(name) {
+ return readFileSync(join(canonicalDirectory, name), 'utf8');
+}
+
+export async function openParticipant(page, {
+ fixture = 'runtimeControls.txt',
+ markdown,
+ ...config
+} = {}) {
+ await page.goto('/tests/harness/participant.html');
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+
+ const renderResult = await page.evaluate((renderConfig) => {
+ return window.questHarness.render(renderConfig);
+ }, {
+ ...config,
+ markdown: markdown ?? readCanonicalFixture(fixture),
+ });
+
+ expect(renderResult.result, 'transform.render should report a successful participant render').toBe(true);
+ expect(renderResult.activeQuestionId, 'participant render should activate a question').toBeTruthy();
+
+ return renderResult;
+}
+
+export async function harnessSnapshot(page) {
+ return page.evaluate(() => window.questHarness.snapshot());
+}
+
+export async function flushHarness(page) {
+ await page.evaluate(() => window.questHarness.flush());
+}
+
+export async function waitInHarness(page, milliseconds) {
+ await page.evaluate((delay) => window.questHarness.wait(delay), milliseconds);
+}
+
+export function activeQuestion(page, questionId) {
+ const selector = questionId
+ ? `#questionnaireRoot form.question.active#${questionId}`
+ : '#questionnaireRoot form.question.active';
+ return page.locator(selector);
+}
+
+export async function goNext(page) {
+ await activeQuestion(page).getByRole('button', { name: 'Next question' }).click();
+}
+
+export async function goBack(page) {
+ await activeQuestion(page).getByRole('button', { name: 'Back to the previous question' }).click();
+}
+
+export async function selectLabeledResponse(page, label) {
+ await activeQuestion(page).locator('label', { hasText: label }).click();
+}
+
+export async function expectHealthyHarness(page, { allowErrors = false } = {}) {
+ await flushHarness(page);
+ const snapshot = await harnessSnapshot(page);
+ if (!allowErrors) expect(snapshot.logs.errors).toEqual([]);
+ return snapshot;
+}
diff --git a/tests/e2e/support/test.js b/tests/e2e/support/test.js
new file mode 100644
index 0000000..1b913e3
--- /dev/null
+++ b/tests/e2e/support/test.js
@@ -0,0 +1,180 @@
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { test as base, expect } from '@playwright/test';
+
+const supportDirectory = dirname(fileURLToPath(import.meta.url));
+const repositoryRoot = join(supportDirectory, '..', '..', '..');
+const canonicalImageAsset = {
+ url: 'https://episphere.github.io/quest/images/FemaleBaldness1.png',
+ path: join(repositoryRoot, 'tests', 'e2e', 'assets', 'FemaleBaldness1.png'),
+};
+const questRuntimeAssets = [
+ {
+ url: 'https://episphere.github.io/quest-dev/ActiveLogic.css',
+ path: join(repositoryRoot, 'ActiveLogic.css'),
+ },
+ {
+ url: 'https://episphere.github.io/quest-dev/Style1.css',
+ path: join(repositoryRoot, 'Style1.css'),
+ },
+];
+const versionedQuestRuntimeAsset = /^https:\/\/cdn\.jsdelivr\.net\/gh\/episphere\/quest@v[^/]+\/(ActiveLogic|Style1)\.css$/;
+const FIREFOX_INSTALL_TRIGGER_DEPRECATION = /^\[JavaScript Warning: "InstallTrigger is deprecated and will be removed in the future\." \{file: "http:\/\/127\.0\.0\.1:\d+\/main\.js" line: 179\}\] \[source: http:\/\/127\.0\.0\.1:\d+\/main\.js\]$/;
+
+const testServerPort = process.env.QUEST_PLAYWRIGHT_PORT ?? '4173';
+const LOCAL_ORIGINS = new Set([
+ `http://127.0.0.1:${testServerPort}`,
+ `http://localhost:${testServerPort}`,
+]);
+
+function shouldUseLocalNetwork(urlString) {
+ const url = new URL(urlString);
+ return LOCAL_ORIGINS.has(url.origin) || ['about:', 'blob:', 'data:'].includes(url.protocol);
+}
+
+/**
+ * Install the suite's offline policy on a Playwright Page. All
+ * route registration is awaited so the first navigation cannot race the
+ * policy.
+ */
+export async function installOfflineDiagnostics(page) {
+ const diagnostics = {
+ unexpectedRequests: [],
+ fulfilledExternalRequests: [],
+ pageErrors: [],
+ consoleErrors: [],
+ consoleWarnings: [],
+ acknowledgedBrowserWarnings: [],
+ };
+
+ page.on('pageerror', (error) => diagnostics.pageErrors.push(error.stack || error.message));
+ page.on('console', (message) => {
+ if (message.type() === 'error') {
+ const source = message.location().url;
+ diagnostics.consoleErrors.push(source ? `${message.text()} [source: ${source}]` : message.text());
+ } else if (message.type() === 'warning') {
+ const source = message.location().url;
+ const renderedMessage = source ? `${message.text()} [source: ${source}]` : message.text();
+
+ // Firefox emits this deprecation when Quest reads InstallTrigger
+ // for its existing browser branch. Keep the browser diagnostic
+ // visible in the record without masking unrelated warnings.
+ if (FIREFOX_INSTALL_TRIGGER_DEPRECATION.test(renderedMessage)) {
+ diagnostics.acknowledgedBrowserWarnings.push(renderedMessage);
+ } else {
+ diagnostics.consoleWarnings.push(renderedMessage);
+ }
+ }
+ });
+
+ await page.route('**/*', async (route) => {
+ if (shouldUseLocalNetwork(route.request().url())) {
+ await route.continue();
+ return;
+ }
+
+ diagnostics.unexpectedRequests.push(route.request().url());
+ await route.abort('blockedbyclient');
+ });
+
+ await page.route(canonicalImageAsset.url, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(canonicalImageAsset.url);
+ await route.fulfill({
+ status: 200,
+ contentType: 'image/png',
+ path: canonicalImageAsset.path,
+ });
+ });
+
+ // A Connect render normally supplies prefetched Markdown and retains the
+ // questionnaire URL. Quest uses the nonempty URL as the signal to fetch
+ // its two runtime stylesheets. Fulfill that production branch with the
+ // exact checked-in CSS while keeping the browser deny-by-default.
+ for (const asset of questRuntimeAssets) {
+ await page.route(asset.url, async (route) => {
+ diagnostics.fulfilledExternalRequests.push(asset.url);
+ await route.fulfill({
+ status: 200,
+ contentType: 'text/css',
+ path: asset.path,
+ });
+ });
+ }
+
+ await page.route(versionedQuestRuntimeAsset, async (route) => {
+ const url = route.request().url();
+ const fileName = new URL(url).pathname.split('/').at(-1);
+ diagnostics.fulfilledExternalRequests.push(url);
+ await route.fulfill({
+ status: 200,
+ contentType: 'text/css',
+ path: join(repositoryRoot, fileName),
+ });
+ });
+
+ return diagnostics;
+}
+
+/**
+ * Every browser test receives a fresh Playwright page/context.
+ */
+export const test = base.extend({
+ diagnostics: [async ({ page }, use) => {
+ const diagnostics = await installOfflineDiagnostics(page);
+
+ await use(diagnostics);
+
+ expect.soft(diagnostics.unexpectedRequests, 'browser attempted an unapproved external request').toEqual([]);
+ expect.soft(diagnostics.pageErrors, 'browser emitted an uncaught page error').toEqual([]);
+ expect.soft(diagnostics.consoleErrors, 'browser emitted an unexpected console error').toEqual([]);
+ expect.soft(diagnostics.consoleWarnings, 'browser emitted an unexpected console warning').toEqual([]);
+ }, { auto: true }],
+});
+
+export function expectAndClearConsoleErrors(diagnostics, expectedPatterns, { allowedPatterns = [] } = {}) {
+ const messages = diagnostics.consoleErrors.splice(0);
+ const acceptedPatterns = [...expectedPatterns, ...allowedPatterns];
+
+ for (const pattern of expectedPatterns) {
+ expect(
+ messages.some((message) => (
+ pattern instanceof RegExp ? pattern.test(message) : message.includes(pattern)
+ )),
+ `expected a console error matching ${String(pattern)}; received ${JSON.stringify(messages)}`,
+ ).toBe(true);
+ }
+
+ for (const message of messages) {
+ expect(
+ acceptedPatterns.some((pattern) => (
+ pattern instanceof RegExp ? pattern.test(message) : message.includes(pattern)
+ )),
+ `unexpected console error while exercising a characterized failure: ${message}`,
+ ).toBe(true);
+ }
+}
+
+export function expectAndClearConsoleWarnings(diagnostics, expectedPatterns, { allowedPatterns = [] } = {}) {
+ const messages = diagnostics.consoleWarnings.splice(0);
+ const acceptedPatterns = [...expectedPatterns, ...allowedPatterns];
+
+ for (const pattern of expectedPatterns) {
+ expect(
+ messages.some((message) => (
+ pattern instanceof RegExp ? pattern.test(message) : message.includes(pattern)
+ )),
+ `expected a console warning matching ${String(pattern)}; received ${JSON.stringify(messages)}`,
+ ).toBe(true);
+ }
+
+ for (const message of messages) {
+ expect(
+ acceptedPatterns.some((pattern) => (
+ pattern instanceof RegExp ? pattern.test(message) : message.includes(pattern)
+ )),
+ `unexpected console warning while exercising a characterized warning: ${message}`,
+ ).toBe(true);
+ }
+}
+
+export { expect };
diff --git a/tests/e2e/temporalInputPartitions.spec.js b/tests/e2e/temporalInputPartitions.spec.js
new file mode 100644
index 0000000..f7cfc54
--- /dev/null
+++ b/tests/e2e/temporalInputPartitions.spec.js
@@ -0,0 +1,51 @@
+import { test, expect } from './support/test.js';
+import { activeQuestion, expectHealthyHarness, goNext, openParticipant } from './support/harness.js';
+
+const STANDARD_DESKTOPS = new Set(['chromium-desktop', 'firefox-desktop', 'webkit-desktop']);
+
+const INPUTS = [
+ {
+ id: 'DATE_DYNAMIC', type: 'date',
+ markup: '|date|id=DATE_DYNAMIC min=valueOrDefault(\'D_DATE_MIN\',\'2024-07-10\') max=valueOrDefault(\'D_DATE_MAX\',\'2024-07-20\')|',
+ values: [['', false], ['2024-07-10', true], ['2024-07-20', true], ['2024-07-09', false], ['2024-07-21', false]],
+ },
+ {
+ id: 'MONTH_DYNAMIC', type: 'month',
+ markup: '|month|id=MONTH_DYNAMIC min=valueOrDefault(\'D_123456789_0_0\',\'2024-03\') max=valueOrDefault(\'D_987654321_0_0\',\'2024-09\')|',
+ values: [['', false], ['2024-03', true], ['2024-09', true], ['2024-02', false], ['2024-10', false]],
+ },
+ {
+ id: 'TIME_STATIC', type: 'time',
+ markup: '|time|id=TIME_STATIC min=09:00 max=17:00|',
+ values: [['', false], ['09:00', true], ['17:00', true], ['08:59', false], ['17:01', false]],
+ },
+ {
+ id: 'NUMBER_DYNAMIC', type: 'number',
+ markup: '|__|__|id=NUMBER_DYNAMIC min=_value(\'age\') max=sum(age,5)|',
+ values: [['', false], ['45', true], ['50', true], ['44', false], ['51', false]],
+ },
+];
+
+function surveyFor(input) {
+ return `{"name":"TEST_${input.id}"}\n\n[${input.id}?] Enter a value.\n${input.markup}\n\n[END,end] Complete.`;
+}
+
+test.describe('temporal and dynamic numeric validation @core @canonical', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(!STANDARD_DESKTOPS.has(testInfo.project.name), 'Validation runs in the three desktop engines.');
+ });
+
+ for (const input of INPUTS) {
+ test(`${input.type} accepts its valid boundary values and rejects its out-of-range values`, async ({ page }) => {
+ for (const [value, valid] of input.values) {
+ await openParticipant(page, { markdown: surveyFor(input), previousResults: { age: '45' } });
+ const control = activeQuestion(page, input.id).locator(`#${input.id}`);
+ if (value) await control.fill(value);
+ await goNext(page);
+ if (valid) await expect(activeQuestion(page, 'END')).toBeVisible();
+ else await expect(activeQuestion(page, input.id)).toBeVisible();
+ await expectHealthyHarness(page);
+ }
+ });
+ }
+});
diff --git a/tests/e2e/visual.spec.js b/tests/e2e/visual.spec.js
new file mode 100644
index 0000000..e2c714c
--- /dev/null
+++ b/tests/e2e/visual.spec.js
@@ -0,0 +1,109 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ goNext,
+ openParticipant,
+ readCanonicalFixture,
+ selectLabeledResponse,
+ waitInHarness,
+} from './support/harness.js';
+import {
+ installAuthoringRoutes,
+ renderAuthoringMarkdown,
+ waitForAuthoringReady,
+} from './support/authoring.js';
+
+async function stabilizeVisual(page, testInfo) {
+ testInfo.snapshotSuffix = '';
+ await page.mouse.move(0, 0);
+ await page.addStyleTag({
+ content: `
+ #questionnaireRoot,
+ #questionnaireRoot *,
+ #tool,
+ #tool * {
+ -webkit-text-fill-color: transparent !important;
+ text-shadow: none !important;
+ }
+ `,
+ });
+}
+
+const screenshotOptions = {
+ animations: 'disabled',
+ caret: 'hide',
+ maxDiffPixelRatio: 0.01,
+ scale: 'css',
+};
+
+test.describe('stable participant styling @visual', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ testInfo.project.name !== 'chromium-desktop',
+ 'The visual baseline is intentionally limited to locked desktop Chromium.',
+ );
+ });
+
+ test('keeps the selected-response and action layout', async ({ page }, testInfo) => {
+ // Text is made transparent below so platform font rasterization is not compared.
+ await openParticipant(page);
+ await selectLabeledResponse(page, 'Blue');
+ await stabilizeVisual(page, testInfo);
+
+ await expect(activeQuestion(page, 'CHOICE')).toHaveScreenshot(
+ 'participant-choice-layout.png',
+ screenshotOptions,
+ );
+ });
+
+ test('keeps validation and modal states visually reviewable', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'validation.txt' });
+ await activeQuestion(page, 'BOUNDED').locator('#bounded').fill('9');
+ await goNext(page);
+ await expect(activeQuestion(page).locator('.validation-container')).toBeVisible();
+ await stabilizeVisual(page, testInfo);
+
+ await expect(activeQuestion(page, 'BOUNDED')).toHaveScreenshot(
+ 'participant-validation-state.png',
+ screenshotOptions,
+ );
+
+ await page.reload();
+ await page.waitForFunction(() => window.questHarness?.ready === true);
+ await page.evaluate((markdown) => window.questHarness.render({ markdown }), readCanonicalFixture('runtimeControls.txt'));
+ await goNext(page);
+ await expect(page.locator('#softModal')).toHaveClass(/show/);
+ await stabilizeVisual(page, testInfo);
+ await expect(page.locator('#softModal .modal-content')).toHaveScreenshot(
+ 'participant-soft-modal.png',
+ screenshotOptions,
+ );
+ });
+
+ test('keeps keyboard focus visible on an active text control', async ({ page }, testInfo) => {
+ await openParticipant(page, { fixture: 'navigationState.txt' });
+ await selectLabeledResponse(page, 'Yes');
+ await goNext(page);
+ await waitInHarness(page, 550);
+ await activeQuestion(page, 'DETAIL').locator('#detail').focus();
+ await stabilizeVisual(page, testInfo);
+
+ await expect(activeQuestion(page, 'DETAIL')).toHaveScreenshot(
+ 'participant-keyboard-focus.png',
+ screenshotOptions,
+ );
+ });
+
+ test('keeps the authoring workspace layout stable', async ({ page, diagnostics }, testInfo) => {
+ await installAuthoringRoutes(page, diagnostics);
+ await page.goto('/index.html');
+ await waitForAuthoringReady(page);
+ await renderAuthoringMarkdown(page, readCanonicalFixture('runtimeControls.txt'));
+ await stabilizeVisual(page, testInfo);
+
+ await expect(page.locator('#tool')).toHaveScreenshot('authoring-workspace.png', {
+ ...screenshotOptions,
+ maxDiffPixelRatio: 0.02,
+ });
+ });
+});
diff --git a/tests/e2e/visual.spec.js-snapshots/authoring-workspace-chromium-desktop.png b/tests/e2e/visual.spec.js-snapshots/authoring-workspace-chromium-desktop.png
new file mode 100644
index 0000000..fb87553
Binary files /dev/null and b/tests/e2e/visual.spec.js-snapshots/authoring-workspace-chromium-desktop.png differ
diff --git a/tests/e2e/visual.spec.js-snapshots/participant-choice-layout-chromium-desktop.png b/tests/e2e/visual.spec.js-snapshots/participant-choice-layout-chromium-desktop.png
new file mode 100644
index 0000000..af38443
Binary files /dev/null and b/tests/e2e/visual.spec.js-snapshots/participant-choice-layout-chromium-desktop.png differ
diff --git a/tests/e2e/visual.spec.js-snapshots/participant-keyboard-focus-chromium-desktop.png b/tests/e2e/visual.spec.js-snapshots/participant-keyboard-focus-chromium-desktop.png
new file mode 100644
index 0000000..23d0bc6
Binary files /dev/null and b/tests/e2e/visual.spec.js-snapshots/participant-keyboard-focus-chromium-desktop.png differ
diff --git a/tests/e2e/visual.spec.js-snapshots/participant-soft-modal-chromium-desktop.png b/tests/e2e/visual.spec.js-snapshots/participant-soft-modal-chromium-desktop.png
new file mode 100644
index 0000000..fa7638b
Binary files /dev/null and b/tests/e2e/visual.spec.js-snapshots/participant-soft-modal-chromium-desktop.png differ
diff --git a/tests/e2e/visual.spec.js-snapshots/participant-validation-state-chromium-desktop.png b/tests/e2e/visual.spec.js-snapshots/participant-validation-state-chromium-desktop.png
new file mode 100644
index 0000000..8a21095
Binary files /dev/null and b/tests/e2e/visual.spec.js-snapshots/participant-validation-state-chromium-desktop.png differ
diff --git a/tests/e2e/windowsEnvironment.spec.js b/tests/e2e/windowsEnvironment.spec.js
new file mode 100644
index 0000000..98695d1
--- /dev/null
+++ b/tests/e2e/windowsEnvironment.spec.js
@@ -0,0 +1,65 @@
+import { test, expect } from './support/test.js';
+import {
+ activeQuestion,
+ expectHealthyHarness,
+ goNext,
+ openParticipant,
+ selectLabeledResponse,
+ waitInHarness,
+} from './support/harness.js';
+
+test.describe('Windows-specific participant handling @canonical @windows-a11y', () => {
+ test.beforeEach(async ({}, testInfo) => {
+ test.skip(
+ testInfo.project.name !== 'chromium-windows-ua',
+ 'These checks characterize the Quest Windows user-agent branch used for JAWS support.',
+ );
+ });
+
+ test('adds response-container tab stops and persists pointer selection', async ({ page }) => {
+ await openParticipant(page);
+ await expect(page.locator('.question.active .response')).toHaveCount(2);
+ await expect(page.locator('.question.active .response').first()).toHaveAttribute('tabindex', '0');
+
+ await selectLabeledResponse(page, 'Green');
+ await expect(activeQuestion(page).locator('#CHOICE_2')).toBeChecked();
+ await expectHealthyHarness(page);
+ });
+
+ test('moves the grid focus helper through the next row and terminal Next target after radio selections', async ({ page }) => {
+ await openParticipant(page, { fixture: 'gridResponsive.txt' });
+ await goNext(page);
+ await waitInHarness(page, 550);
+
+ const question = activeQuestion(page, 'GRID_RATE');
+ await question.locator('tr[data-question-id="GRID_WALK"] label', { hasText: 'Sometimes' }).click();
+
+ await expect(question.locator('#srFocusHelper')).toBeFocused();
+ await expect(question.locator('#qtextGRID_CYCLE #srFocusHelper')).toHaveCount(1);
+ await question.locator('tr[data-question-id="GRID_CYCLE"] label', { hasText: 'Often' }).click();
+
+ await expect(question.locator('#srFocusHelper')).toBeFocused();
+ await expect(question.getByRole('button', { name: 'Next question' }).locator('#srFocusHelper')).toHaveCount(1);
+ await expectHealthyHarness(page);
+ });
+
+ test('keeps checkbox-grid focus in an intermediate cell and moves it to Next at the terminal cell', async ({ page }) => {
+ await openParticipant(page, { fixture: 'gridCheckboxFocus.txt' });
+ await goNext(page);
+ await waitInHarness(page, 550);
+ const question = activeQuestion(page, 'GRID_CHECK');
+
+ const firstCell = question.locator('tr[data-question-id="GRID_CHECK_ROW_A"] td.response').first();
+ await firstCell.locator('label', { hasText: 'Phone' }).click();
+ await expect(firstCell.locator('#srFocusHelper')).toHaveCount(1);
+ await expect(question.locator('#srFocusHelper')).toBeFocused();
+
+ const terminalCell = question.locator('tr[data-question-id="GRID_CHECK_ROW_B"] td.response').last();
+ await terminalCell.locator('label', { hasText: 'Email' }).click();
+ await expect(question.getByRole('button', { name: 'Next question' }).locator('#srFocusHelper')).toHaveCount(1);
+ await expect(question.locator('#srFocusHelper')).toBeFocused();
+ await expect(firstCell.locator('input[type="checkbox"]')).toBeChecked();
+ await expect(terminalCell.locator('input[type="checkbox"]')).toBeChecked();
+ await expectHealthyHarness(page);
+ });
+});
diff --git a/tests/fixtures/canonical/allConstructs.txt b/tests/fixtures/canonical/allConstructs.txt
new file mode 100644
index 0000000..2ed2146
--- /dev/null
+++ b/tests/fixtures/canonical/allConstructs.txt
@@ -0,0 +1,81 @@
+// Renderer fixture for syntax that is uncommon or absent in the locked production survey corpus.
+{"name":"TEST_ALL_CONSTRUCTS"}
+
+[PLAIN] Plain informational question with a user value {$u:firstName}, a saved value {$SAVED:fallback}, and an expression {#1 + 1}.
+|displayif=equals(SHOW_INLINE,1)|Inline conditional text|
+|displayif=equals(SHOW_BLOCK,1):|Block conditional text|
+|displayList(LIST_VALUE)|
+|displayList(LIST_VALUE):|
+|popup|More information|Help title|Synthetic help text|
+|image|episphere.github.io/quest/images/FemaleBaldness1.png|40,80|
+
+[RADIO?] Radio choices, including response metadata and an explicit skip.
+(1) First radio
+(2:RADIO_GROUP|SECOND_RADIO_LABEL,displayif=equals(SHOW_RADIO,1)) Second radio -> CHECKBOX
+
+[CHECKBOX?|min-count=1 max-count=2|] Checkbox choices, including XOR/reset and response display logic.
+[1] First checkbox
+[2,displayif=equals(SHOW_CHECKBOX,1)] Second checkbox
+[99*] None of these
+
+[COMBINED?] Checkbox with an embedded text box and skip.
+[807835037|COMBINED_OTHER_LABEL] Other [text box:COMBINED_TEXT] -> EMAIL
+
+[COMBINED_TEXTAREA?] Radio with an embedded text area and skip.
+(1:COMBINED_TEXTAREA_GROUP|COMBINED_TEXTAREA_LABEL) Other details -> EMAIL
+
+[CONFIRM?] Authored confirmation relationship.
+
+
+
+[EMAIL?] Email address |@|id=EMAIL_VALUE|
+
+[PHONE?] Telephone |tel|id=PHONE_VALUE|
+
+[FULL_SSN?] Full SSN |SSN|id=FULL_SSN_VALUE|
+
+[SHORT_SSN?] Last four SSN digits |SSNsm|id=SHORT_SSN_VALUE|
+
+[ZIP?] ZIP code |zip|id=ZIP_VALUE|
+
+[STATE?] State |state|id=STATE_VALUE|
+
+[DATE?] Date |date|id=DATE_VALUE min=2020-01-01 max=2030-12-31|
+
+[MONTH?] Month |month|id=MONTH_VALUE min=2020-01 max=2030-12|
+
+[TIME?] Time |time|id=TIME_VALUE|
+
+[NUMBER?] Number |__|__|id=NUMBER_VALUE min=1 max=10|
+
+[TEXT?] Text before |__|id=TEXT_VALUE minlen=2 maxlen=12| text after.
+
+[TEXTBOX?] Text-box macro [text box:TEXTBOX_VALUE]
+
+[TEXTAREA?] Long answer |___|TEXTAREA_VALUE|
+
+[HIDDEN] Hidden host value |hidden|id=HIDDEN_VALUE|
+
+[YES_NO?] Yes/no macro. #YN
+
+[YES_NO_PREFER?] Yes/no/prefer-not macro. #YNP
+
+[DEFAULT_SKIP] Default hidden transition.
+< -> GRID_RADIO >
+
+[NO_RESPONSE_SKIP?] No-response transition.
+|__|id=OPTIONAL_VALUE|
+< #NR -> GRID_RADIO >
+
+|grid?|id="GRID_RADIO" displayif=equals(SHOW_GRID,1)|Radio grid {$u:firstName}|[GRID_ROW_A] First row;[GRID_ROW_B,displayif=equals(SHOW_ROW,1)] Second row;|(1: Never)(2: Often)|
+
+|grid!|id="GRID_CHECKBOX"|Checkbox grid|[GRID_CHECK_ROW] A row;|[1: Alpha][2: Beta]|
+
+[D_900000002?] Loop count |__|__|id=D_900000002 min=0 max=2|
+
+
+[LOOP_ITEM?,displayif=greaterThanOrEqual(D_900000002,#loop)] Loop item {##}.
+|__|id=LOOP_ITEM_VALUE|
+
+
+[END,end] Construct rendering complete.
diff --git a/tests/fixtures/canonical/asyncQuestion.txt b/tests/fixtures/canonical/asyncQuestion.txt
new file mode 100644
index 0000000..ea590b0
--- /dev/null
+++ b/tests/fixtures/canonical/asyncQuestion.txt
@@ -0,0 +1,10 @@
+// Canonical host-provided asynchronous question fixture.
+{"name":"TEST_ASYNC"}
+
+[SEED?] Select a category.
+(1) Clinical
+(2) Research
+
+[ASYNC?]
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/fixtures/canonical/gridCheckboxFocus.txt b/tests/fixtures/canonical/gridCheckboxFocus.txt
new file mode 100644
index 0000000..44e6406
--- /dev/null
+++ b/tests/fixtures/canonical/gridCheckboxFocus.txt
@@ -0,0 +1,8 @@
+// Canonical Windows focus fixture for checkbox-grid cell and terminal branches.
+{"name":"TEST_GRID_CHECKBOX_FOCUS"}
+
+[GRID_LEAD] The next question uses a checkbox response grid.
+
+|grid!|id="GRID_CHECK"|Which support options apply?|[GRID_CHECK_ROW_A] First need;[GRID_CHECK_ROW_B] Second need;|[1: Phone][2: Email]|
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/fixtures/canonical/gridResponsive.txt b/tests/fixtures/canonical/gridResponsive.txt
new file mode 100644
index 0000000..b09ecc5
--- /dev/null
+++ b/tests/fixtures/canonical/gridResponsive.txt
@@ -0,0 +1,8 @@
+// Responsive radio-grid fixture.
+{"name":"TEST_GRID"}
+
+[GRID_LEAD] The next question uses a response grid.
+
+|grid?|id="GRID_RATE"|How often do you do each activity?|[GRID_WALK] Walking;[GRID_CYCLE] Cycling;]|[(1: Never)(2: Sometimes)(3: Often)]|
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/fixtures/canonical/imageAlt.txt b/tests/fixtures/canonical/imageAlt.txt
new file mode 100644
index 0000000..03445e4
--- /dev/null
+++ b/tests/fixtures/canonical/imageAlt.txt
@@ -0,0 +1,4 @@
+{"name":"TEST_IMAGE_ALT"}
+
+[PLAIN] Reference image for a participant-facing choice.
+|image|episphere.github.io/quest/images/FemaleBaldness1.png|40,80|
diff --git a/tests/fixtures/canonical/loopBoundaries.txt b/tests/fixtures/canonical/loopBoundaries.txt
new file mode 100644
index 0000000..4f15fc9
--- /dev/null
+++ b/tests/fixtures/canonical/loopBoundaries.txt
@@ -0,0 +1,12 @@
+// 0/1/2/25 iteration boundary fixture.
+{"name":"TEST_LOOP_BOUNDARIES"}
+
+[D_900000001!] How many loop iterations should run?
+|__|__|id=D_900000001 min=0 max=25|
+
+
+[ITEM?,displayif=greaterThanOrEqual(D_900000001,#loop)] Confirm the {##} loop iteration.
+(1) Continue
+
+
+[END,end] Loop navigation complete.
diff --git a/tests/fixtures/canonical/module4AddressPaths.txt b/tests/fixtures/canonical/module4AddressPaths.txt
new file mode 100644
index 0000000..08511cd
--- /dev/null
+++ b/tests/fixtures/canonical/module4AddressPaths.txt
@@ -0,0 +1,50 @@
+// Production-shaped extract from locked prod/module4.txt (D_716117817 v2.0).
+{"name":"D_716117817"}
+
+[D_121490150?] What is the full street address of the place where you live now?
+
+Street number |__|id=D_255248624 minlen=0 maxlen=6|
+Full Street name |__|id=D_945532934|
+Apartment, suite, unit, building, etc. |__|id=D_469838242|
+City |__|id=D_303500597|
+State/Province |__|id=D_195068098|
+Zip code |__|id=D_202784871|
+Country |__|id=D_831127170|
+
+[D_920576363?,displayif=or(or(isNotDefined(D_303500597,false),isNotDefined(D_195068098,false)),or(isNotDefined(D_202784871,false),isNotDefined(D_831127170,false)))] Please provide the following information:
+
+City: |displayif=exists("D_303500597")|{$D_303500597}|
+|__|id=D_725583683 displayif=doesNotExist("D_303500597")|
+
+State/Province: |displayif=exists("D_195068098")| {$D_195068098}|
+|__|id=D_917021073 displayif=doesNotExist("D_195068098")|
+
+Zip code: |displayif=exists("D_202784871") | {$D_202784871}|
+|__|id=D_970000442 displayif=doesNotExist("D_202784871")|
+
+Country: |displayif=exists("D_831127170")| {$D_831127170}|
+|__|id=D_500100435 displayif=doesNotExist("D_831127170")|
+[178420302*] Don't know
+
+[D_804504024?,displayif=noneExist("D_255248624","D_945532934") and someExist("D_725583683","D_917021073","D_970000442","D_500100435","D_303500597","D_195068098","D_202784871","D_831127170")] Please provide the cross streets of the intersection closest to this address:
+
+Full Street name #1 |__|id=D_105043152|
+Full Street name #2 |__|id=D_543135391|
+[178420302*] Don't know
+
+[HOMEADD4_1] Here is the information you gave us for this location:
+
+|displayif=noneExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")|current address||displayif=someExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")| {$D_105043152} {$D_543135391} {$D_255248624} {$D_945532934} {$D_469838242} {$D_303500597} {$D_725583683} {$D_195068098} {$D_917021073} {$D_202784871} {$D_970000442} {$D_831127170} {$D_500100435}|
+
+If this information is not correct, please click the “Back” button to edit your answers before moving on.
+
+[D_290969423?] Within the past 20 years, have you lived anywhere else for at least two years?
+(353358909) Yes -> D_574985342
+(104430631) No -> END
+
+[D_574985342?] What is the full street address of the place you lived before you lived at |displayif=someExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")|{$D_105043152} {$D_543135391} {$D_255248624} {$D_945532934} {$D_469838242} {$D_303500597} {$D_725583683} {$D_195068098} {$D_917021073} {$D_970000442} {$D_831127170} {$D_500100435}||displayif=noneExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")|Current Address|? Please only include addresses where you have lived for at least two years.
+
+Street number |__|id=D_985267931 minlen=0 maxlen=6|
+Full Street name |__|id=D_111275683|
+
+[END,end] Done.
diff --git a/tests/fixtures/canonical/module4AddressPathsSpanish.txt b/tests/fixtures/canonical/module4AddressPathsSpanish.txt
new file mode 100644
index 0000000..cc963fa
--- /dev/null
+++ b/tests/fixtures/canonical/module4AddressPathsSpanish.txt
@@ -0,0 +1,39 @@
+// Production-shaped extract from locked prod/module4Spanish.txt (D_716117817 v2.0).
+{"name":"D_716117817"}
+
+[D_121490150?]¿Cuál es la dirección completa del lugar donde vive actualmente?
+
+Número de la calle |__|id=D_255248624 minlen=0 maxlen=6|
+Nombre completo de la calle |__|id=D_945532934|
+Apartamento, suite, unidad, edificio, etc. |__|id=D_469838242|
+Ciudad |__|id=D_303500597|
+Estado o provincia |__|id=D_195068098|
+Código postal |__|id=D_202784871|
+País |__|id=D_831127170|
+
+[D_920576363?,displayif=or(or(isNotDefined(D_303500597,false),isNotDefined(D_195068098,false)),or(isNotDefined(D_202784871,false),isNotDefined(D_831127170,false)))] Suministre la siguiente información:
+
+Ciudad: |displayif=exists("D_303500597")| {$D_303500597}|
+|__|id=D_725583683 displayif=doesNotExist("D_303500597")|
+
+Estado o provincia: |displayif=exists("D_195068098")| {$D_195068098}|
+|__|id=D_917021073 displayif=doesNotExist("D_195068098")|
+
+Código postal: |displayif=exists("D_202784871") | {$D_202784871}|
+|__|id=D_970000442 displayif=doesNotExist("D_202784871")|
+
+País: |displayif=exists("D_831127170")| {$D_831127170}|
+|__|id=D_500100435 displayif=doesNotExist("D_831127170")|
+[178420302*] No sé
+
+[D_804504024?,displayif=noneExist("D_255248624","D_945532934") and someExist("D_725583683","D_917021073","D_970000442","D_500100435","D_303500597","D_195068098","D_202784871","D_831127170")] Indique las calles que cruzan la intersección más cercana a esta dirección:
+
+Nombre completo de la calle #1 |__|id=D_105043152|
+Nombre completo de la calle #2 |__|id=D_543135391|
+[178420302*] No sé
+
+[HOMEADD4_1] Esta es la información que nos dio para esta ubicación:
+
+|displayif=someExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")| {$D_105043152} {$D_543135391} {$D_255248624} {$D_945532934} {$D_469838242} {$D_303500597}{$D_725583683} {$D_195068098}{$D_917021073} {$D_202784871}{$D_970000442} {$D_831127170}{$D_500100435}||displayif=noneExist("D_255248624","D_945532934","D_469838242","D_303500597","D_725583683","D_195068098","D_917021073","D_202784871","D_970000442","D_831127170","D_500100435")|Dirección actual|
+
+[END,end] Fin.
diff --git a/tests/fixtures/canonical/nativeSelect.txt b/tests/fixtures/canonical/nativeSelect.txt
new file mode 100644
index 0000000..41c63bb
--- /dev/null
+++ b/tests/fixtures/canonical/nativeSelect.txt
@@ -0,0 +1,6 @@
+{"name":"TEST_NATIVE_SELECT"}
+
+[STATE?] In which state do you live?
+|state|id=home_state|
+
+[END,end] Complete.
diff --git a/tests/fixtures/canonical/navigationBoundaries.txt b/tests/fixtures/canonical/navigationBoundaries.txt
new file mode 100644
index 0000000..95bc9cb
--- /dev/null
+++ b/tests/fixtures/canonical/navigationBoundaries.txt
@@ -0,0 +1,23 @@
+// Default, no-response, explicit-skip, sequential, reset, and back fixture.
+{"name":"TEST_BOUNDARIES"}
+
+[DEFAULT_SOURCE] Continue to the branch question using the default hidden transition.
+< -> PATH >
+
+[DEFAULT_MISS] This question must never be reached from the default transition.
+
+[PATH?] Choose a route, or leave this unanswered to take the no-response route.
+(1) Explicit route -> EXPLICIT_TARGET
+(2) Sequential route
+< #NR -> NO_RESPONSE_TARGET >
+
+[SEQUENTIAL_TARGET] The sequential route was reached.
+< -> END >
+
+[EXPLICIT_TARGET] The explicit route was reached.
+< -> END >
+
+[NO_RESPONSE_TARGET] The no-response route was reached.
+< -> END >
+
+[END,end] Boundary navigation complete.
diff --git a/tests/fixtures/canonical/navigationState.txt b/tests/fixtures/canonical/navigationState.txt
new file mode 100644
index 0000000..5c3cab3
--- /dev/null
+++ b/tests/fixtures/canonical/navigationState.txt
@@ -0,0 +1,13 @@
+// Navigation, conditional skip, restore, and submission fixture.
+{"name":"TEST_NAV"}
+
+[PATH?] Would you like to answer a detail question?
+(1) Yes -> DETAIL
+(0) No -> SUMMARY
+
+[DETAIL?] Add a short detail.
+|__|id=detail minlen=2 maxlen=30|
+
+[SUMMARY] Review your answers, then continue.
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/fixtures/canonical/nestedTextPresence.txt b/tests/fixtures/canonical/nestedTextPresence.txt
new file mode 100644
index 0000000..ae0b0fb
--- /dev/null
+++ b/tests/fixtures/canonical/nestedTextPresence.txt
@@ -0,0 +1,18 @@
+// Regression fixture for production-shaped nested text controls used by presence conditions.
+{"name":"TEST_NESTED_TEXT_PRESENCE"}
+
+[D_470013848?] Which type of phone do you use?
+[807835037] Other phone |__|id=D_495052121|
+
+[D_731524314?] Which type of tablet do you use?
+[807835037] Other tablet |__|id=D_638847244|
+
+[D_403175318?] Which type of computer do you use?
+[807835037] Other computer |__|id=D_507471937|
+
+[D_260186214?] Which device do you use most often?
+(793072415,displayif=equals(D_470013848,807835037)) {$D_495052121} |displayif=doesNotExist("D_495052121")|Other phone|
+(401230883,displayif=equals(D_731524314,807835037)) {$D_638847244} |displayif=doesNotExist("D_638847244")|Other tablet|
+(320254475,displayif=equals(D_403175318,807835037)) {$D_507471937} |displayif=doesNotExist("D_507471937")|Other computer|
+
+[END,end] End of regression fixture.
diff --git a/tests/fixtures/canonical/runtimeControls.txt b/tests/fixtures/canonical/runtimeControls.txt
new file mode 100644
index 0000000..a67ed5b
--- /dev/null
+++ b/tests/fixtures/canonical/runtimeControls.txt
@@ -0,0 +1,27 @@
+// Canonical participant fixture: one stable example of each common control.
+{"name":"TEST_RUNTIME"}
+
+[CHOICE?] Which color do you prefer?
+(1) Blue
+(2) Green
+
+[CHECKS?] Which messages would you like to receive? Select all that apply.
+[1] Email
+[2] Text message
+
+[TEXT?] What nickname should we use?
+|__|id=nickname minlen=2 maxlen=20|
+
+[NUMBER?] How many visits have you completed?
+|__|__|id=visit_count min=1 max=10|
+
+[STATE?] In which state do you live?
+|state|id=home_state|
+
+[DATE?] What was the date of your latest visit?
+|date|id=visit_date|
+
+[TIME?] What time did your latest visit begin?
+|time|id=visit_time|
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/fixtures/canonical/validation.txt b/tests/fixtures/canonical/validation.txt
new file mode 100644
index 0000000..3646bb4
--- /dev/null
+++ b/tests/fixtures/canonical/validation.txt
@@ -0,0 +1,6 @@
+{"name":"TEST_VALIDATE"}
+
+[BOUNDED?] Enter a number from 1 through 3.
+|__|__|id=bounded min=1 max=3|
+
+[END,end] You have reached the end of this test survey. Submit your answers.
diff --git a/tests/harness/connectHost.css b/tests/harness/connectHost.css
new file mode 100644
index 0000000..9a07eb2
--- /dev/null
+++ b/tests/harness/connectHost.css
@@ -0,0 +1,38 @@
+:root {
+ color-scheme: light;
+ font-family: Arial, sans-serif;
+}
+
+body {
+ margin: 0;
+ background: #fff;
+ color: #212529;
+}
+
+.connect-container {
+ width: min(100%, 1200px);
+ margin: 0 auto;
+}
+
+.connect-test-header,
+.connect-test-footer {
+ padding: 0.75rem 1rem;
+ background: #f5f7f9;
+}
+
+.connect-test-header {
+ border-bottom: 1px solid #d9dee3;
+}
+
+.connect-test-footer {
+ border-top: 1px solid #d9dee3;
+}
+
+#root {
+ min-height: 28rem;
+ padding: 0 0.75rem 1.5rem;
+}
+
+#questionnaireRoot {
+ min-width: 0;
+}
diff --git a/tests/harness/mathjsLocal.js b/tests/harness/mathjsLocal.js
new file mode 100644
index 0000000..41b55d3
--- /dev/null
+++ b/tests/harness/mathjsLocal.js
@@ -0,0 +1,3 @@
+// Browser-test import-map for Quest's exact production CDN specifier.
+// Vite resolves this import to the suite's pinned, local dependency.
+export { all, create } from 'mathjs';
diff --git a/tests/harness/participant.html b/tests/harness/participant.html
new file mode 100644
index 0000000..e139781
--- /dev/null
+++ b/tests/harness/participant.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+ Quest participant harness
+
+
+
+
+
+
+
+
diff --git a/tests/harness/participant.js b/tests/harness/participant.js
new file mode 100644
index 0000000..8911d3b
--- /dev/null
+++ b/tests/harness/participant.js
@@ -0,0 +1,253 @@
+import './connectHost.css';
+import 'bootstrap/dist/css/bootstrap.min.css';
+import '../../ActiveLogic.css';
+import '../../Style1.css';
+
+import * as bootstrap from 'bootstrap';
+import { transform } from '../../main.js';
+import { getStateManager } from '../../stateManager.js';
+
+globalThis.bootstrap = bootstrap;
+
+const questRoot = document.getElementById('questionnaireRoot');
+const eventTypes = ['click', 'change', 'input', 'keydown', 'keyup', 'focusin', 'focusout', 'submit'];
+const pendingStores = new Set();
+const pendingAsyncLoads = new Set();
+let storeSettlementSequence = 0;
+
+let rendered = false;
+let currentConfig = {};
+
+const logs = {
+ renders: [],
+ storeCalls: [],
+ retrieveCalls: [],
+ asyncCalls: [],
+ errors: [],
+ events: [],
+ host: { keydownCount: 0 },
+};
+
+const wait = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
+
+function serializable(value, depth = 0, seen = new WeakSet()) {
+ if (value == null || ['string', 'number', 'boolean'].includes(typeof value)) return value;
+ if (typeof value === 'bigint') return value.toString();
+ if (typeof value === 'function') return `[Function ${value.name || 'anonymous'}]`;
+ if (value instanceof Date) return value.toISOString();
+ if (value instanceof Error) return { name: value.name, message: value.message, stack: value.stack, code: value.code };
+ if (value instanceof Element) return describeTarget(value);
+ if (depth >= 10) return String(value);
+ if (typeof value === 'object') {
+ if (seen.has(value)) return '[Circular]';
+ seen.add(value);
+ if (Array.isArray(value)) return value.map((item) => serializable(item, depth + 1, seen));
+ return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, serializable(child, depth + 1, seen)]));
+ }
+ return String(value);
+}
+
+function describeTarget(target) {
+ if (!(target instanceof Element)) return String(target);
+ return {
+ tag: target.tagName.toLowerCase(),
+ id: target.id || null,
+ name: target.getAttribute('name'),
+ type: target.getAttribute('type'),
+ className: typeof target.className === 'string' ? target.className : null,
+ };
+}
+
+for (const type of eventTypes) {
+ document.addEventListener(type, (event) => {
+ if (type === 'keydown') logs.host.keydownCount += 1;
+ if (logs.events.length < 500) logs.events.push({
+ type,
+ key: 'key' in event ? event.key : null,
+ defaultPrevented: event.defaultPrevented,
+ target: describeTarget(event.target),
+ });
+ });
+}
+
+function trackPromise(promise, collection) {
+ collection.add(promise);
+ promise.then(() => collection.delete(promise), () => collection.delete(promise));
+ return promise;
+}
+
+function configuredOutcome(outcomes, callIndex) {
+ if (!Array.isArray(outcomes) || outcomes.length === 0) return { kind: 'resolve', value: { code: 200 } };
+ return outcomes[Math.min(callIndex, outcomes.length - 1)] ?? { kind: 'resolve', value: { code: 200 } };
+}
+
+function makeStore() {
+ return (changes) => {
+ const outcome = configuredOutcome(currentConfig.storeOutcomes, logs.storeCalls.length);
+ const call = {
+ changes: serializable(changes),
+ outcome: serializable(outcome),
+ status: 'pending',
+ settlementIndex: null,
+ };
+ logs.storeCalls.push(call);
+ const operation = (async () => {
+ try {
+ if (outcome.delayMs) await wait(outcome.delayMs);
+ if (outcome.kind === 'reject') {
+ const error = new Error(outcome.message || 'Synthetic store rejection');
+ if (outcome.code != null) error.code = outcome.code;
+ throw error;
+ }
+ const value = outcome.value ?? { code: outcome.code ?? 200 };
+ call.status = 'fulfilled';
+ call.value = serializable(value);
+ return value;
+ } catch (error) {
+ call.status = 'rejected';
+ call.error = serializable(error);
+ throw error;
+ } finally {
+ storeSettlementSequence += 1;
+ call.settlementIndex = storeSettlementSequence;
+ }
+ })();
+ return trackPromise(operation, pendingStores);
+ };
+}
+
+function makeRetrieve() {
+ return async () => {
+ logs.retrieveCalls.push({ at: new Date().toISOString() });
+ if (currentConfig.retrieveDelayMs) await wait(currentConfig.retrieveDelayMs);
+ if (currentConfig.retrieveError) throw new Error(currentConfig.retrieveError);
+ if (Object.hasOwn(currentConfig, 'retrieveResponse')) return currentConfig.retrieveResponse;
+ return { data: { fixture: currentConfig.persistedData ?? {} } };
+ };
+}
+
+function makeAsyncQuestionLoader() {
+ return (func, args) => {
+ const outcome = configuredOutcome(currentConfig.asyncOutcomes, logs.asyncCalls.length);
+ const call = { func: serializable(func), args: serializable(args), outcome: serializable(outcome), status: 'pending' };
+ logs.asyncCalls.push(call);
+ const operation = (async () => {
+ try {
+ const delayMs = outcome.delayMs ?? currentConfig.asyncDelayMs ?? 0;
+ if (delayMs) await wait(delayMs);
+ if (outcome.kind === 'reject') throw new Error(outcome.message || 'Synthetic async question rejection');
+ const target = questRoot.querySelector('form.question.active fieldset, form.question.active tbody');
+ if (target && currentConfig.asyncQuestionHtml) target.innerHTML = currentConfig.asyncQuestionHtml;
+ call.status = 'fulfilled';
+ call.value = serializable(outcome.value);
+ return outcome.value;
+ } catch (error) {
+ call.status = 'rejected';
+ call.error = serializable(error);
+ throw error;
+ }
+ })();
+ return trackPromise(operation, pendingAsyncLoads);
+ };
+}
+
+function errorLogger(...args) {
+ logs.errors.push({
+ message: args.map((arg) => arg instanceof Error ? arg.message : String(arg)).join(' '),
+ args: serializable(args),
+ });
+}
+
+async function flush() {
+ while (pendingStores.size > 0 || pendingAsyncLoads.size > 0) {
+ await Promise.allSettled([...pendingStores, ...pendingAsyncLoads]);
+ }
+ await wait(0);
+}
+
+function stateSnapshot() {
+ const stateManager = getStateManager(true);
+ return stateManager ? {
+ survey: serializable(stateManager.getSurveyState()),
+ active: serializable(stateManager.getActiveQuestionState()),
+ mapping: serializable(stateManager.getResponseToQuestionMapping()),
+ cache: serializable(stateManager.getCache()),
+ } : null;
+}
+
+function snapshot() {
+ return serializable({
+ activeQuestionId: questRoot.querySelector('form.question.active')?.id ?? null,
+ focusedElement: describeTarget(document.activeElement),
+ state: stateSnapshot(),
+ logs,
+ });
+}
+
+function normalizeHarnessConfig(config) {
+ const normalized = { ...config, markdown: config.markdown ?? config.text ?? '' };
+ if (config.retrieveResponse !== undefined || config.retrieveResult !== undefined) normalized.retrieveResponse = config.retrieveResponse ?? config.retrieveResult;
+ if (config.showProgressBarInQuest !== undefined || config.showProgress !== undefined) normalized.showProgressBarInQuest = config.showProgressBarInQuest ?? config.showProgress;
+ if (config.asyncOutcomes !== undefined || config.asyncFixtures?.outcomes !== undefined) normalized.asyncOutcomes = config.asyncOutcomes ?? config.asyncFixtures.outcomes;
+ if (config.asyncQuestionHtml !== undefined || config.asyncFixtures?.html !== undefined) normalized.asyncQuestionHtml = config.asyncQuestionHtml ?? config.asyncFixtures.html;
+ if (config.asyncDelayMs !== undefined || config.asyncFixtures?.delayMs !== undefined) normalized.asyncDelayMs = config.asyncDelayMs ?? config.asyncFixtures.delayMs;
+ if (!Object.hasOwn(config, 'surveyDataPrefetch')) {
+ if (Object.hasOwn(config, 'prefetch')) normalized.surveyDataPrefetch = config.prefetch;
+ else if (Object.hasOwn(config, 'persistedData')) normalized.surveyDataPrefetch = config.persistedData;
+ }
+ if (!Array.isArray(config.storeOutcomes) && config.storeMode) {
+ const delayMs = config.hostDelayMs ?? (config.storeMode === 'delayed' ? 50 : 0);
+ const outcome = {
+ success: { kind: 'resolve', value: { code: 200 } },
+ non200: { kind: 'resolve', value: { code: 503, message: 'Synthetic non-200 store response' } },
+ rejected: { kind: 'reject', message: 'Synthetic store rejection' },
+ delayed: { kind: 'resolve', value: { code: 200 } },
+ }[config.storeMode];
+ if (outcome) normalized.storeOutcomes = [{ ...outcome, ...(delayMs ? { delayMs } : {}) }];
+ }
+ return normalized;
+}
+
+async function render(config = {}) {
+ if (rendered) throw new Error('Quest is stateful: participant harness permits one render per page. Reload for a fresh module graph.');
+ rendered = true;
+ currentConfig = structuredClone(normalizeHarnessConfig(config));
+ document.documentElement.lang = currentConfig.lang === 'es' ? 'es' : 'en';
+ questRoot.style.visibility = 'hidden';
+ const params = {
+ activate: currentConfig.activate ?? true,
+ asyncQuestionsMap: currentConfig.asyncQuestionsMap ?? {},
+ delayedParameterArray: currentConfig.delayedParameterArray ?? [],
+ errorLogger,
+ fetchAsyncQuestion: makeAsyncQuestionLoader(),
+ lang: currentConfig.lang ?? 'en',
+ isRenderer: currentConfig.isRenderer ?? false,
+ questVersion: currentConfig.questVersion ?? 'test-local',
+ retrieve: makeRetrieve(),
+ showProgressBarInQuest: currentConfig.showProgressBarInQuest ?? true,
+ store: makeStore(),
+ text: currentConfig.markdown,
+ url: currentConfig.url ?? '',
+ };
+ if (Object.hasOwn(currentConfig, 'surveyDataPrefetch')) params.surveyDataPrefetch = currentConfig.surveyDataPrefetch;
+ const result = await transform.render(params, 'questionnaireRoot', currentConfig.previousResults ?? {});
+ questRoot.style.visibility = 'visible';
+ logs.renders.push({ result, config: serializable(currentConfig) });
+ await new Promise((resolve) => requestAnimationFrame(() => requestAnimationFrame(resolve)));
+ return { result, activeQuestionId: questRoot.querySelector('form.question.active')?.id ?? null, errorCount: logs.errors.length };
+}
+
+window.questHarness = { ready: true, render, snapshot, flush, wait };
+window.dispatchEvent(new CustomEvent('quest-harness-ready'));
+
+const manualFixture = new URLSearchParams(window.location.search).get('fixture');
+if (manualFixture) {
+ if (!/^[a-z0-9-]+\.txt$/i.test(manualFixture)) {
+ errorLogger(new Error(`Invalid manual fixture name: ${manualFixture}`));
+ } else {
+ fetch(`/tests/fixtures/canonical/${manualFixture}`)
+ .then((response) => response.ok ? response.text() : Promise.reject(new Error(`Fixture request failed: ${response.status}`)))
+ .then((markdown) => render({ markdown }))
+ .catch(errorLogger);
+ }
+}
diff --git a/tests/helpers/questRuntime.js b/tests/helpers/questRuntime.js
new file mode 100644
index 0000000..2faea86
--- /dev/null
+++ b/tests/helpers/questRuntime.js
@@ -0,0 +1,105 @@
+import { vi } from 'vitest';
+
+export const SIMPLE_SURVEY = `
+{"name":"TEST_MODULE"}
+
+[Q1?] Choose one answer.
+(1) First answer
+(2) Second answer
+
+[Q2] Enter a value.
+|__|id=Q2_TEXT minlen=2 maxlen=8|
+
+[END] Thank you.
+`;
+
+function createStore(mode, calls, delay = 0) {
+ return vi.fn(async (payload) => {
+ calls.push(structuredClone(payload));
+ if (delay) await new Promise((resolve) => setTimeout(resolve, delay));
+ if (mode === 'reject') throw new Error('Configured store rejection');
+ if (mode === 'non200') return { code: 503 };
+ return { code: 200 };
+ });
+}
+
+export async function renderFreshQuest({
+ markdown = SIMPLE_SURVEY,
+ previousResults = {},
+ persistedData,
+ retrieveResult,
+ params = {},
+ storeMode = 'success',
+ storeDelay = 0,
+ rootId = 'questionnaireRoot',
+} = {}) {
+ vi.resetModules();
+ document.body.innerHTML = `
+ Before Quest
+
+
+
+
+ `;
+
+ const storeCalls = [];
+ const retrieveCalls = [];
+ const asyncCalls = [];
+ const errors = [];
+ const store = createStore(storeMode, storeCalls, storeDelay);
+ const retrieve = vi.fn(async () => {
+ retrieveCalls.push(true);
+ return retrieveResult;
+ });
+ const fetchAsyncQuestion = vi.fn(async (...args) => {
+ asyncCalls.push(args);
+ return params.asyncResult ?? '';
+ });
+
+ const { transform } = await import('../../main.js');
+ const rendered = await transform.render({
+ activate: true,
+ text: markdown,
+ lang: 'en',
+ showProgressBarInQuest: true,
+ store,
+ retrieve,
+ surveyDataPrefetch: persistedData,
+ asyncQuestionsMap: {},
+ fetchAsyncQuestion,
+ errorLogger: (...values) => errors.push(values),
+ ...params,
+ }, rootId, previousResults);
+
+ const { moduleParams, questionQueue } = await import('../../questionnaire.js');
+ const { getStateManager } = await import('../../stateManager.js');
+ const state = getStateManager(params.isRenderer ?? false);
+
+ return {
+ transform,
+ rendered,
+ root: document.getElementById(rootId),
+ moduleParams,
+ questionQueue,
+ state,
+ store,
+ retrieve,
+ fetchAsyncQuestion,
+ calls: { store: storeCalls, retrieve: retrieveCalls, async: asyncCalls },
+ errors,
+ };
+}
+
+export async function loadFreshModuleGraph() {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ const en = (await import('../../i18n/en.js')).default;
+ questionnaire.moduleParams.i18n = en;
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.questDiv = document.body;
+ return { questionnaire, en };
+}
diff --git a/tests/integration/accessibilityBehavior.spec.js b/tests/integration/accessibilityBehavior.spec.js
new file mode 100644
index 0000000..cdaea81
--- /dev/null
+++ b/tests/integration/accessibilityBehavior.spec.js
@@ -0,0 +1,138 @@
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+const GRID_SURVEY = `
+{"name":"A11Y_GRID"}
+[GRID_LEAD] Rate each item.
+|grid?|id="GRID"|How often?|[ROW_ONE] First row;[ROW_TWO] Second row;|(1: Never)(2: Often)|
+[END,end] Done.
+`;
+
+function treeAt(questionID) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionID, children: [] }] },
+ currentNode: questionID,
+ });
+}
+
+describe('screen-reader and keyboard behavior', () => {
+ beforeEach(() => vi.useFakeTimers());
+ afterEach(() => {
+ vi.clearAllTimers();
+ vi.useRealTimers();
+ });
+
+ it('uses native list controls while adding Windows-specific refocus and announcements', async () => {
+ const quest = await renderFreshQuest();
+ quest.moduleParams.isWindowsEnvironment = true;
+ const radio = quest.root.querySelector('#Q1_2');
+
+ radio.click();
+ radio.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
+
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).toBe(radio);
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent).toContain('Second answer Selected.');
+ });
+
+ it('moves the Windows table focus helper to the next visible row after a radio selection', async () => {
+ const quest = await renderFreshQuest({
+ markdown: GRID_SURVEY,
+ persistedData: { treeJSON: treeAt('GRID') },
+ });
+ quest.moduleParams.isWindowsEnvironment = true;
+ const firstRowChoice = quest.root.querySelector('#ROW_ONE_0');
+
+ firstRowChoice.click();
+ firstRowChoice.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
+
+ const helper = quest.root.querySelector('#srFocusHelper');
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).toBe(helper);
+ expect(helper.closest('tr')?.dataset.questionId).toBe('ROW_TWO');
+ expect(helper.parentElement.tagName).toBe('TH');
+ });
+
+ it('moves the Windows table focus helper to Next after the final row selection', async () => {
+ const quest = await renderFreshQuest({
+ markdown: GRID_SURVEY,
+ persistedData: { treeJSON: treeAt('GRID') },
+ });
+ quest.moduleParams.isWindowsEnvironment = true;
+ const finalRowChoice = quest.root.querySelector('#ROW_TWO_1');
+
+ finalRowChoice.click();
+ finalRowChoice.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
+
+ const helper = quest.root.querySelector('#srFocusHelper');
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).toBe(helper);
+ expect(helper.closest('button')).toBe(quest.root.querySelector('#GRID .next'));
+ });
+
+ it('announces table selections without adding non-native selection commands on macOS paths', async () => {
+ const quest = await renderFreshQuest({
+ markdown: GRID_SURVEY,
+ persistedData: { treeJSON: treeAt('GRID') },
+ });
+ quest.moduleParams.isWindowsEnvironment = false;
+ const choice = quest.root.querySelector('#ROW_ONE_1');
+
+ choice.click();
+ choice.dispatchEvent(new Event('change', { bubbles: true }));
+
+ await vi.advanceTimersByTimeAsync(250);
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent.trim()).toBe('Often Selected.');
+ expect(choice.getAttribute('role')).toBeNull();
+ });
+
+ it('uses Up and Down only to leave nested text fields, without overriding radio native keys', async () => {
+ const quest = await renderFreshQuest();
+ const fieldset = quest.root.querySelector('#Q1 fieldset');
+ fieldset.innerHTML = `
+
+
+
+
+ `;
+ const firstText = fieldset.querySelector('#FIRST_TEXT');
+ const secondText = fieldset.querySelector('#SECOND_TEXT');
+
+ secondText.focus();
+ secondText.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'ArrowUp' }));
+ await vi.advanceTimersByTimeAsync(0);
+ expect(document.activeElement).toBe(fieldset.querySelector('#FIRST_RADIO'));
+
+ firstText.focus();
+ firstText.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'ArrowDown' }));
+ await vi.advanceTimersByTimeAsync(0);
+ expect(document.activeElement).not.toBe(firstText);
+
+ const radio = fieldset.querySelector('#SECOND_RADIO');
+ radio.focus();
+ const nativeArrow = new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'ArrowDown' });
+ radio.dispatchEvent(nativeArrow);
+ expect(nativeArrow.defaultPrevented).toBe(false);
+ });
+
+ it('reconstructs and restores question focus after closing the soft-response modal', async () => {
+ const quest = await renderFreshQuest();
+ const modal = quest.root.querySelector('#softModal');
+ const focusTarget = quest.root.querySelector('#Q1 .screen-reader-focus');
+
+ // The initial render already schedules a 500 ms focus. Remove it so a
+ // passing assertion proves the close handler's 100 ms + 500 ms chain.
+ vi.clearAllTimers();
+ expect(document.activeElement).not.toBe(focusTarget);
+ modal.style.display = 'block';
+
+ modal.dispatchEvent(new MouseEvent('click', { bubbles: true }));
+
+ expect(modal.style.display).toBe('none');
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).not.toBe(focusTarget);
+ await vi.advanceTimersByTimeAsync(500);
+ expect(document.activeElement).toBe(focusTarget);
+ expect(quest.root.querySelectorAll('#Q1 .screen-reader-focus')).toHaveLength(1);
+ });
+});
diff --git a/tests/integration/accessibilityBuilder.spec.js b/tests/integration/accessibilityBuilder.spec.js
new file mode 100644
index 0000000..43f8803
--- /dev/null
+++ b/tests/integration/accessibilityBuilder.spec.js
@@ -0,0 +1,242 @@
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+async function loadAccessibilityFixture(markup) {
+ const quest = await renderFreshQuest();
+ quest.moduleParams.isRenderer = true;
+ quest.root.innerHTML = markup;
+ const accessibility = await import('../../accessibleQuestionTextBuilder.js');
+ return { quest, accessibility };
+}
+
+describe('accessible question text construction', () => {
+ it('builds a legend for heading-style prompts and normalizes excessive breaks', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const fieldset = quest.root.querySelector('fieldset');
+
+ expect(accessibility.manageAccessibleQuestion(fieldset, false)).toBe(true);
+
+ const legend = fieldset.querySelector('legend');
+ expect(legend.textContent).toContain('Section heading');
+ expect(legend.textContent).toContain('Choose an answer.');
+ expect(fieldset.querySelectorAll('.screen-reader-focus')).toHaveLength(1);
+ expect([...fieldset.querySelectorAll('br')].every((br) => br.getAttribute('aria-hidden') === 'true')).toBe(true);
+ expect(fieldset.querySelectorAll('br').length).toBeLessThanOrEqual(3);
+ });
+
+ it('turns subsequent prompts in a multi-question fieldset into focusable alerts', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const fieldset = quest.root.querySelector('fieldset');
+
+ accessibility.manageAccessibleQuestion(fieldset, false);
+
+ const followUp = fieldset.querySelector('div[role="alert"][tabindex="0"]');
+ expect(followUp).not.toBeNull();
+ expect(followUp.textContent).toContain('Follow-up question?');
+ expect(fieldset.querySelectorAll('.response')).toHaveLength(2);
+ });
+
+ it('creates a fieldset around table questions that do not originally have one', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const question = quest.root.querySelector('.question');
+
+ accessibility.manageAccessibleQuestion(question, false);
+
+ const fieldset = question.querySelector('fieldset');
+ expect(fieldset).not.toBeNull();
+ expect(fieldset.querySelector('legend').textContent).toContain('Rate each item.');
+ expect(fieldset.querySelector('table')).not.toBeNull();
+ expect(fieldset.querySelector('.screen-reader-focus')).not.toBeNull();
+ });
+
+ it('re-evaluates legend display conditions and cleans hidden conditional whitespace', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const fieldset = quest.root.querySelector('fieldset');
+
+ accessibility.manageAccessibleQuestion(fieldset, false);
+
+ const displayIfs = fieldset.querySelectorAll('legend .displayif');
+ expect(displayIfs[0].style.display).toBe('');
+ expect(displayIfs[1].style.display).toBe('none');
+ expect(fieldset.querySelector('legend').textContent).not.toMatch(/ {3}/);
+ expect(fieldset.querySelector('.displayif[style*="display: block"]').getAttribute('hasupdate')).toBe('true');
+ expect(fieldset.querySelector('.displayif[style*="display: none"] + br').style.display).toBe('none');
+ });
+
+ it('updates a raw forid in an existing legend and avoids rebuilding focus controls', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const fieldset = quest.root.querySelector('fieldset');
+
+ accessibility.manageAccessibleQuestion(fieldset, false);
+ accessibility.manageAccessibleQuestion(fieldset, false);
+
+ expect(fieldset.querySelector('[forid]').textContent).toBe('participant');
+ expect(fieldset.querySelectorAll('.screen-reader-focus')).toHaveLength(1);
+ });
+
+ it('applies and idempotently records the pregnancy-summary spacing exception', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+ `);
+ const fieldset = quest.root.querySelector('fieldset');
+
+ accessibility.manageAccessibleQuestion(fieldset, false);
+ const breakCount = fieldset.querySelectorAll('br').length;
+ accessibility.manageAccessibleQuestion(fieldset, false);
+
+ expect(fieldset.getAttribute('data-preg-summary-updated')).toBe('true');
+ expect(fieldset.querySelectorAll('br')).toHaveLength(breakCount);
+ });
+});
+
+describe('accessible selection focus and defensive paths', () => {
+ beforeEach(() => vi.useFakeTimers());
+ afterEach(() => {
+ vi.clearAllTimers();
+ vi.useRealTimers();
+ });
+
+ it('keeps focus on a non-final table checkbox and announces its state', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+
+
+ `);
+ const input = quest.root.querySelector('#CHECK_1');
+ const event = { target: input, type: 'change', preventDefault: vi.fn() };
+
+ accessibility.handleRadioCheckboxTableEvents(event);
+
+ expect(event.preventDefault).toHaveBeenCalledOnce();
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).toBe(quest.root.querySelector('#srFocusHelper'));
+ expect(document.activeElement.closest('td')).toBe(input.closest('td'));
+ await vi.advanceTimersByTimeAsync(150);
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent).toBe('First Selected.');
+ });
+
+ it('moves focus from the final table checkbox to the active question Next button', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+
+
+ `);
+
+ accessibility.handleRadioCheckboxTableEvents({
+ target: quest.root.querySelector('#FINAL'),
+ type: 'change',
+ preventDefault: vi.fn(),
+ });
+
+ const helper = quest.root.querySelector('#srFocusHelper');
+ await vi.advanceTimersByTimeAsync(100);
+ expect(document.activeElement).toBe(helper);
+ expect(helper.closest('button')).toBe(quest.root.querySelector('button.next'));
+ });
+
+ it('logs invalid table inputs and missing focus targets without throwing', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+
+ `);
+ const invalid = quest.root.querySelector('#BAD');
+ accessibility.handleRadioCheckboxTableEvents({ target: invalid, type: 'change', preventDefault: vi.fn() });
+ expect(quest.errors.some(([message]) => message.includes('Invalid event type'))).toBe(true);
+
+ accessibility.handleRadioCheckboxTableEvents({
+ target: quest.root.querySelector('#RADIO'),
+ type: 'change',
+ preventDefault: vi.fn(),
+ });
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.errors.some(([message]) => message.includes('Next question cell not found'))).toBe(true);
+
+ quest.root.querySelector('#srFocusHelper').remove();
+ accessibility.handleRadioCheckboxTableEvents({
+ target: quest.root.querySelector('tr:last-child input'),
+ type: 'change',
+ preventDefault: vi.fn(),
+ });
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.errors.some(([message]) => message.includes('Focus helper not found'))).toBe(true);
+ });
+
+ it('logs missing active-question and Next-button targets for final selections', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+
+
+ `);
+ const event = { target: quest.root.querySelector('#ONLY'), type: 'change', preventDefault: vi.fn() };
+
+ accessibility.handleRadioCheckboxTableEvents(event);
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.errors.some(([message]) => message === 'Active question not found')).toBe(true);
+
+ quest.root.insertAdjacentHTML('afterbegin', '');
+ accessibility.handleRadioCheckboxTableEvents(event);
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.errors.some(([message]) => message === 'Next question button not found')).toBe(true);
+ });
+
+ it('walks past non-response siblings when ArrowUp leaves a nested text field', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture(`
+ spacing
+
+ `);
+ const current = quest.root.querySelector('#CURRENT');
+ current.focus();
+
+ accessibility.handleUpDownArrowKeys({ key: 'ArrowUp', target: current, preventDefault: vi.fn() });
+ await vi.advanceTimersByTimeAsync(0);
+ expect(document.activeElement).toBe(quest.root.querySelector('#PREVIOUS'));
+ });
+
+ it('returns safely when announcer dependencies are absent and clears an existing region', async () => {
+ const { quest, accessibility } = await loadAccessibilityFixture('');
+ const response = quest.root.querySelector('.response');
+
+ expect(() => accessibility.updateAriaLiveSelectionAnnouncer(response)).not.toThrow();
+ expect(() => accessibility.updateAriaLiveSelectionAnnouncerTable(response)).not.toThrow();
+ expect(() => accessibility.clearSelectionAnnouncement()).not.toThrow();
+
+ quest.root.insertAdjacentHTML('beforeend', 'stale
');
+ accessibility.clearSelectionAnnouncement();
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent).toBe('');
+ });
+});
diff --git a/tests/integration/eventHandlers.spec.js b/tests/integration/eventHandlers.spec.js
new file mode 100644
index 0000000..fd402e3
--- /dev/null
+++ b/tests/integration/eventHandlers.spec.js
@@ -0,0 +1,186 @@
+import { afterEach, describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+const TEXT_SURVEY = `
+{"name":"EVENT_TEXT"}
+[TEXT?] Enter a response.
+|__|id=TEXT_VALUE minlen=2 maxlen=20|
+[END,end] Done.
+`;
+
+describe('delegated runtime event handling', () => {
+ afterEach(() => {
+ vi.clearAllTimers();
+ vi.useRealTimers();
+ });
+
+ it('captures input, focusout, Enter, and reset behavior at the Quest container boundary', async () => {
+ vi.useFakeTimers();
+ const quest = await renderFreshQuest({ markdown: TEXT_SURVEY });
+ const input = quest.root.querySelector('#TEXT_VALUE');
+ const form = input.form;
+ vi.clearAllTimers();
+
+ const enter = new KeyboardEvent('keydown', {
+ bubbles: true,
+ cancelable: true,
+ code: 'Enter',
+ key: 'Enter',
+ keyCode: 13,
+ });
+ expect(input.dispatchEvent(enter)).toBe(false);
+ expect(enter.defaultPrevented).toBe(true);
+
+ input.value = 'debounced value';
+ input.dispatchEvent(new InputEvent('input', { bubbles: true, data: 'e', inputType: 'insertText' }));
+ expect(vi.getTimerCount()).toBe(1);
+ await vi.advanceTimersByTimeAsync(250);
+ expect(quest.state.getActiveQuestionState()).toEqual({});
+
+ input.value = 'focusout value';
+ input.dispatchEvent(new FocusEvent('focusout', { bubbles: true }));
+ expect(quest.state.getActiveQuestionState().TEXT).toBe('focusout value');
+ expect(input.getAttribute('style')).toContain('size: 20');
+
+ form.querySelector('.reset').click();
+ expect(input.value).toBe('');
+ expect(quest.state.getActiveQuestionState().TEXT).toBeUndefined();
+ });
+
+ it('debounces nested Other text input and keeps its owning checkbox in sync', async () => {
+ vi.useFakeTimers();
+ const quest = await renderFreshQuest({ markdown: TEXT_SURVEY });
+ const form = quest.root.querySelector('#TEXT');
+ form.querySelector('fieldset').innerHTML = `
+
+
+
+
+ `;
+ quest.state.setNumResponseInputs('TEXT', 2);
+ const checkbox = form.querySelector('#OTHER');
+ const otherText = form.querySelector('#OTHER_TEXT');
+ vi.clearAllTimers();
+
+ otherText.value = 'synthetic detail';
+ otherText.dispatchEvent(new InputEvent('input', { bubbles: true, data: 'l', inputType: 'insertText' }));
+ await vi.advanceTimersByTimeAsync(250);
+
+ expect(checkbox.checked).toBe(true);
+ expect(quest.state.getActiveQuestionState().TEXT).toEqual({
+ OTHER_GROUP: ['99'],
+ OTHER_TEXT: 'synthetic detail',
+ });
+
+ otherText.value = '';
+ otherText.dispatchEvent(new InputEvent('input', { bubbles: true, data: null, inputType: 'deleteContentBackward' }));
+ await vi.advanceTimersByTimeAsync(250);
+ expect(checkbox.checked).toBe(false);
+ });
+
+ it('formats SSN and telephone keystrokes through delegated keyup listeners', async () => {
+ const quest = await renderFreshQuest({ markdown: TEXT_SURVEY });
+ const form = quest.root.querySelector('#TEXT');
+ const ssn = document.createElement('input');
+ ssn.type = 'text';
+ ssn.className = 'SSN';
+ ssn.value = '12345';
+ const phone = document.createElement('input');
+ phone.type = 'tel';
+ phone.value = '555555';
+ form.querySelector('fieldset').append(ssn, phone);
+
+ ssn.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true, code: 'Digit5' }));
+ phone.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true, code: 'Digit5' }));
+
+ expect(ssn.value).toBe('123-45-');
+ expect(phone.value).toBe('555-555-');
+ });
+
+ it('updates the live selection announcement without requiring listeners on individual controls', async () => {
+ vi.useFakeTimers();
+ const quest = await renderFreshQuest();
+ const radio = quest.root.querySelector('#Q1_2');
+
+ radio.click();
+ radio.dispatchEvent(new Event('change', { bubbles: true }));
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent).toContain('Second answer Selected.');
+
+ radio.checked = false;
+ radio.dispatchEvent(new Event('change', { bubbles: true }));
+ await vi.advanceTimersByTimeAsync(100);
+ expect(quest.root.querySelector('#ariaLiveSelectionAnnouncer').textContent).toContain('Second answer Unselected.');
+ });
+
+ it('builds a legend, a single hidden focus stop, and accessible break semantics', async () => {
+ const quest = await renderFreshQuest();
+ const fieldset = quest.root.querySelector('#Q1 fieldset');
+
+ expect(fieldset.querySelector('legend.question-text')?.textContent).toContain('Choose one answer');
+ expect(fieldset.querySelectorAll('.screen-reader-focus')).toHaveLength(1);
+ expect(fieldset.querySelector('.screen-reader-focus').tabIndex).toBe(0);
+ expect([...fieldset.querySelectorAll('br')].every((br) => br.getAttribute('aria-hidden') === 'true')).toBe(true);
+ expect(quest.root.querySelectorAll('#srAnnouncerContainer [aria-live="polite"]')).toHaveLength(2);
+ });
+
+ it('moves focus to the constructed screen-reader stop after a question transition', async () => {
+ vi.useFakeTimers();
+ const quest = await renderFreshQuest();
+ vi.clearAllTimers();
+
+ quest.root.querySelector('#Q1_1').click();
+ quest.root.querySelector('#Q1 .next').click();
+ await vi.advanceTimersByTimeAsync(0);
+
+ expect(quest.root.querySelector('form.active')?.id).toBe('Q2');
+ await vi.advanceTimersByTimeAsync(500);
+ expect(document.activeElement).toBe(quest.root.querySelector('#Q2 .screen-reader-focus'));
+ });
+
+ it('keeps host controls outside the delegated event boundary unchanged', async () => {
+ const quest = await renderFreshQuest();
+ const outside = document.querySelector('#afterQuest');
+ const handler = vi.fn();
+ outside.addEventListener('keydown', handler);
+
+ outside.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true, key: 'Enter', keyCode: 13 }));
+
+ expect(handler).toHaveBeenCalledOnce();
+ expect(quest.state.getActiveQuestionState()).toEqual({});
+ expect(quest.calls.store).toEqual([]);
+ });
+
+ it('works with ordinary host capture and bubble observers around the embedded Quest root', async () => {
+ const quest = await renderFreshQuest();
+ const radio = quest.root.querySelector('#Q1_2');
+ const host = document.querySelector('#root');
+ const captureObserver = vi.fn();
+ const bubbleObserver = vi.fn();
+ document.addEventListener('keydown', captureObserver, true);
+ host.addEventListener('keydown', bubbleObserver);
+
+ try {
+ const space = new KeyboardEvent('keydown', {
+ bubbles: true,
+ cancelable: true,
+ key: ' ',
+ code: 'Space',
+ });
+ radio.dispatchEvent(space);
+ expect(captureObserver).toHaveBeenCalledWith(space);
+ expect(bubbleObserver).toHaveBeenCalledWith(space);
+ expect(space.defaultPrevented).toBe(false);
+
+ radio.click();
+ radio.dispatchEvent(new Event('change', { bubbles: true }));
+ await vi.waitFor(() => expect(quest.state.getActiveQuestionState().Q1).toBe('2'));
+ } finally {
+ document.removeEventListener('keydown', captureObserver, true);
+ host.removeEventListener('keydown', bubbleObserver);
+ }
+ });
+});
diff --git a/tests/integration/gridDeepCoverage.spec.js b/tests/integration/gridDeepCoverage.spec.js
new file mode 100644
index 0000000..db22cb0
--- /dev/null
+++ b/tests/integration/gridDeepCoverage.spec.js
@@ -0,0 +1,258 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { join } from 'node:path';
+import { describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+// This is the nine-row sleep grid from the locked production module2.txt
+// corpus (commit 7ae99a22af325cf0e14be047a7636462db9bfd50). Keeping the authored
+// IDs and response values makes the state-shape contract reviewable.
+const PRODUCTION_SLEEP_GRID_SURVEY = `
+{"name":"TEST_PRODUCTION_GRID"}
+[GRID_LEAD] The next question uses a production response grid.
+|grid?|id="D_981441822"|What is the chance that you would doze off or fall asleep (not just "feel tired") in each of these situations? If you are never or rarely in the situation, please make your best guess for what would happen.|[
+[D_403155173] Sitting and reading;
+[D_576621769] Watching television;
+[D_988508028] Sitting inactive in public place (such as a theater or a meeting); [D_186488870] Riding as a passenger in a car for an hour without stopping;
+[D_922388461] Lying down to rest in the afternoon;
+[D_760686611] Sitting and talking to someone;
+[D_354550061] Sitting quietly after a lunch that did not include alcohol;
+[D_179705366] In a car, while you are stopped for a few minutes in traffic;
+[D_955609858] At the dinner table;]|
+(514068832:No chance)
+(774439579:Slight Chance)
+(747099514:Moderate Chance)
+(977681388: High Chance)|
+[END,end] Done.
+`;
+
+const CHECKBOX_GRID_SURVEY = `
+{"name":"TEST_GRID_CHECKBOX_STATE"}
+[GRID_LEAD] The next question uses a checkbox response grid.
+|grid!|id="GRID_CHECKBOX_STATE"|Which supports apply?|[
+[ROW_PHONE] First need;
+[ROW_EMAIL] Second need;]|
+[1:Phone][2:Email]|
+[END,end] Done.
+`;
+
+// The two row conditions mirror the condition-driven symptom rows in the
+// locked COVID module's D_114280729 grid, reduced to isolate completeness.
+const CONDITIONAL_ROW_GRID_SURVEY = `
+{"name":"TEST_CONDITIONAL_GRID"}
+[GRID_LEAD] The next question uses condition-driven production-style rows.
+|grid?|id="GRID_CONDITIONAL"|How long did you experience the following symptoms?|[
+[D_374567479,displayif=equals(SHOW_TASTE,1)] Loss of taste or smell;
+[D_966214244,displayif=equals(SHOW_FATIGUE,1)] Feeling generally more tired than you used to feel;]|
+(232063618:Less than 1 month)
+(948148236:Between 1 and 3 months)
+(692824372:More than 3 months)|
+[END,end] Done.
+`;
+
+function validationGridSurvey(prompt) {
+ return `
+{"name":"TEST_${prompt === '!' ? 'HARD' : 'SOFT'}_GRID"}
+[GRID_LEAD] The next question uses a required response grid.
+|grid${prompt}|id="GRID_VALIDATION"|Rate both items.|[
+[ROW_ONE] First item;
+[ROW_TWO] Second item;]|
+(1:Never)
+(2:Often)|
+[END,end] Done.
+`;
+}
+
+const productionAlcoholFrequencyRows = [
+ 'D_294629316', 'D_164707243', 'D_771426895', 'D_818310825',
+ 'D_843593800', 'D_175385712', 'D_772143730', 'D_602102163',
+];
+const productionAlcoholCheckboxRows = [
+ 'D_912659087', 'D_643512687', 'D_688123102', 'D_356133766',
+ 'D_690918725', 'D_178609656', 'D_261957180', 'D_715827646',
+];
+const productionAlcoholCheckboxValues = ['789689151', '663253668', '104676242', '137733407'];
+const corpusLock = JSON.parse(readFileSync(join(import.meta.dirname, '../corpus/lock.json'), 'utf8'));
+const module3Path = join(import.meta.dirname, '../..', corpusLock.cacheRoot, corpusLock.commit, 'prod/module3.txt');
+const lockedModule3Markdown = existsSync(module3Path) ? readFileSync(module3Path, 'utf8') : null;
+
+function treeAt(questionID) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionID, children: [] }] },
+ currentNode: questionID,
+ });
+}
+
+describe('deep grid state coverage', () => {
+ it('restores every independently keyed row in the locked production sleep grid', async () => {
+ const restoredRows = {
+ D_403155173: '774439579',
+ D_576621769: '747099514',
+ D_988508028: '977681388',
+ D_186488870: '514068832',
+ D_922388461: '774439579',
+ D_760686611: '747099514',
+ D_354550061: '977681388',
+ D_179705366: '514068832',
+ D_955609858: '774439579',
+ };
+ const quest = await renderFreshQuest({
+ markdown: PRODUCTION_SLEEP_GRID_SURVEY,
+ persistedData: {
+ D_981441822: restoredRows,
+ treeJSON: treeAt('D_981441822'),
+ },
+ });
+ const grid = quest.root.querySelector('#D_981441822');
+
+ expect(grid.dataset.grid).toBe('true');
+ expect(grid.querySelectorAll('tr[data-gridrow="true"]')).toHaveLength(9);
+ expect(grid.querySelectorAll('th[scope="col"]')).toHaveLength(4);
+ for (const [rowId, value] of Object.entries(restoredRows)) {
+ expect(grid.querySelector(`input[name="${rowId}"][value="${value}"]`).checked).toBe(true);
+ }
+ expect(quest.state.getActiveQuestionState()).toEqual({ D_981441822: restoredRows });
+ expect(quest.state.getResponseToQuestionMapping()).toMatchObject({
+ 'D_403155173.D_981441822': 'D_981441822.D_403155173',
+ 'D_955609858.D_981441822': 'D_981441822.D_955609858',
+ });
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('tracks checkbox rows independently through delegated select, deselect, and reset flows', async () => {
+ const quest = await renderFreshQuest({
+ markdown: CHECKBOX_GRID_SURVEY,
+ persistedData: { treeJSON: treeAt('GRID_CHECKBOX_STATE') },
+ });
+ const grid = quest.root.querySelector('#GRID_CHECKBOX_STATE');
+ const phone = grid.querySelector('#ROW_PHONE_0');
+ const email = grid.querySelector('#ROW_EMAIL_1');
+
+ phone.click();
+ email.click();
+ expect(quest.state.getActiveQuestionState()).toEqual({
+ GRID_CHECKBOX_STATE: {
+ ROW_PHONE: ['1'],
+ ROW_EMAIL: ['2'],
+ },
+ });
+
+ phone.click();
+ expect(phone.checked).toBe(false);
+ expect(email.checked).toBe(true);
+ expect(quest.state.getCache()['ROW_PHONE.GRID_CHECKBOX_STATE']).toBeUndefined();
+ expect(quest.state.getResponseToQuestionMapping()['ROW_PHONE.GRID_CHECKBOX_STATE']).toBeUndefined();
+
+ grid.querySelector('button.reset').click();
+ expect(grid.querySelectorAll('input[type="checkbox"]:checked')).toHaveLength(0);
+ expect(quest.state.getActiveQuestionState().GRID_CHECKBOX_STATE).toBeUndefined();
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('excludes hidden production-style conditional rows from required grid completeness', async () => {
+ const quest = await renderFreshQuest({
+ markdown: CONDITIONAL_ROW_GRID_SURVEY,
+ persistedData: {
+ SHOW_TASTE: '1',
+ SHOW_FATIGUE: '0',
+ treeJSON: treeAt('GRID_CONDITIONAL'),
+ },
+ });
+ const grid = quest.root.querySelector('#GRID_CONDITIONAL');
+ const visibleRow = grid.querySelector('[data-question-id="D_374567479"]');
+ const hiddenRow = grid.querySelector('[data-question-id="D_966214244"]');
+
+ expect(visibleRow.style.display).not.toBe('none');
+ expect(hiddenRow.style.display).toBe('none');
+ expect(hiddenRow.dataset.hidden).toBe('true');
+ visibleRow.querySelector('input[value="232063618"]').click();
+ grid.querySelector('button.next').click();
+
+ await vi.waitFor(() => expect(quest.root.querySelector('form.question.active')?.id).toBe('END'));
+ expect(quest.root.querySelector('#softModal').classList.contains('show')).toBe(false);
+ expect(quest.errors).toEqual([]);
+ });
+
+ it.each([
+ ['?', 'softModal'],
+ ['!', 'hardModal'],
+ ])('shows the %s grid validation state before an unanswered grid can advance', async (prompt, modalId) => {
+ const quest = await renderFreshQuest({
+ markdown: validationGridSurvey(prompt),
+ persistedData: { treeJSON: treeAt('GRID_VALIDATION') },
+ });
+ const grid = quest.root.querySelector('#GRID_VALIDATION');
+
+ grid.querySelector('button.next').click();
+ await vi.waitFor(() => expect(quest.root.querySelector(`#${modalId}`).classList.contains('show')).toBe(true));
+ expect(quest.root.querySelector(`#${modalId} [role="alert"]`)).not.toBeNull();
+ expect(quest.root.querySelector('form.question.active')?.id).toBe('GRID_VALIDATION');
+ expect(quest.errors).toEqual([]);
+ });
+
+ it.skipIf(!lockedModule3Markdown)('stores and restores independently selected arrays in the locked production Module 3 checkbox grid', async () => {
+ const markdown = lockedModule3Markdown;
+ const seededState = {
+ D_141874857: '16',
+ D_480426504: '24',
+ D_633553324: {
+ D_294629316: '950039557',
+ D_164707243: '402048066',
+ },
+ treeJSON: treeAt('D_470862706'),
+ };
+ const quest = await renderFreshQuest({ markdown, persistedData: seededState });
+ const grid = quest.root.querySelector('#D_470862706');
+ const visibleRows = Array.from(grid.querySelectorAll('tr[data-gridrow="true"]'))
+ .filter((row) => row.style.display !== 'none');
+
+ expect(visibleRows.map((row) => row.dataset.questionId)).toEqual(['D_912659087', 'D_643512687']);
+ expect(grid.querySelectorAll('tr[data-gridrow="true"][data-hidden="true"]')).toHaveLength(6);
+ expect(grid.querySelectorAll('[data-gridreplace]')).not.toHaveLength(0);
+ expect(grid.querySelectorAll('input[type="checkbox"]')).toHaveLength(32);
+
+ grid.querySelector('input[name="D_912659087"][value="789689151"]').click();
+ grid.querySelector('input[name="D_912659087"][value="104676242"]').click();
+ grid.querySelector('input[name="D_643512687"][value="663253668"]').click();
+ const expectedRows = {
+ D_912659087: ['789689151', '104676242'],
+ D_643512687: ['663253668'],
+ };
+ expect(quest.state.getActiveQuestionState()).toEqual({ D_470862706: expectedRows });
+
+ grid.querySelector('button.next').click();
+ await vi.waitFor(() => expect(quest.root.querySelector('form.question.active')?.id).toBe('INTROSE'));
+ const storedState = quest.state.getSurveyState();
+ expect(storedState).toMatchObject({ D_470862706: expectedRows });
+ expect(quest.calls.store.at(-1)['D_965707586.D_470862706']).toEqual(expectedRows);
+
+ const restored = await renderFreshQuest({
+ markdown,
+ persistedData: { ...storedState, treeJSON: treeAt('D_470862706') },
+ });
+ const restoredGrid = restored.root.querySelector('#D_470862706');
+ for (const [rowId, values] of Object.entries(expectedRows)) {
+ for (const value of values) {
+ expect(restoredGrid.querySelector(`input[name="${rowId}"][value="${value}"]`).checked).toBe(true);
+ }
+ }
+ expect(restoredGrid.querySelectorAll('tr[data-gridrow="true"][data-hidden="true"]')).toHaveLength(6);
+ expect(restored.errors).toEqual([]);
+ });
+
+ it('keeps Module 3 English and Spanish production checkbox-grid IDs and axes in parity', () => {
+ const catalog = JSON.parse(readFileSync(join(import.meta.dirname, '../corpus/structuralCatalog.json'), 'utf8'));
+ const variants = catalog.surveys
+ .filter(({ module, locale }) => module === 'module3' && ['en', 'es'].includes(locale))
+ .map(({ locale, grids }) => ({ locale, grid: grids.find(({ questionId }) => questionId === 'D_470862706') }));
+
+ expect(variants).toHaveLength(2);
+ for (const { grid } of variants) {
+ expect(grid).toMatchObject({
+ rowCount: 8,
+ rowQuestionIds: productionAlcoholCheckboxRows,
+ responseTypes: ['checkbox'],
+ responseValues: productionAlcoholCheckboxValues,
+ });
+ }
+ });
+});
diff --git a/tests/integration/hostFailures.spec.js b/tests/integration/hostFailures.spec.js
new file mode 100644
index 0000000..dbe98f7
--- /dev/null
+++ b/tests/integration/hostFailures.spec.js
@@ -0,0 +1,58 @@
+import { describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+async function answerAndAdvance(quest) {
+ quest.root.querySelector('#Q1_1').click();
+ quest.root.querySelector('#Q1 .next').click();
+ await vi.waitFor(() => expect(quest.store).toHaveBeenCalled());
+}
+
+describe('host boundary success, delay, and failure behavior', () => {
+ it('advances immediately while a delayed successful host write settles', async () => {
+ const quest = await renderFreshQuest({ storeDelay: 150 });
+
+ vi.useFakeTimers();
+ try {
+ quest.root.querySelector('#Q1_1').click();
+ quest.root.querySelector('#Q1 .next').click();
+
+ expect(quest.root.querySelector('form.active')?.id).toBe('Q2');
+ expect(quest.calls.store).toHaveLength(1);
+ const pendingWrite = quest.store.mock.results[0].value;
+ let settled = false;
+ pendingWrite.then(() => {
+ settled = true;
+ });
+ await Promise.resolve();
+ expect(settled).toBe(false);
+
+ await vi.advanceTimersByTimeAsync(150);
+ await expect(pendingWrite).resolves.toEqual({ code: 200 });
+ expect(settled).toBe(true);
+ expect(quest.errors).toEqual([]);
+ } finally {
+ vi.useRealTimers();
+ }
+ });
+
+ it.each(['non200', 'reject'])('rolls back navigation and shows a recoverable modal after a %s store result', async (storeMode) => {
+ const quest = await renderFreshQuest({ storeMode });
+
+ await answerAndAdvance(quest);
+ await vi.waitFor(() => expect(quest.root.querySelector('form.active')?.id).toBe('Q1'));
+
+ expect(quest.root.querySelector('#storeErrorModal').classList).toContain('show');
+ expect(quest.errors.flat().join(' ')).toContain('Error syncing state to store');
+ });
+
+ it('logs a rejected retrieve operation and still starts a clean survey', async () => {
+ const retrieve = vi.fn(async () => {
+ throw new Error('Configured retrieve rejection');
+ });
+ const quest = await renderFreshQuest({ params: { retrieve } });
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.root.querySelector('form.active')?.id).toBe('Q1');
+ expect(quest.errors.flat().join(' ')).toContain('Error fetching retrieve function and css');
+ });
+});
diff --git a/tests/integration/mainRender.spec.js b/tests/integration/mainRender.spec.js
new file mode 100644
index 0000000..ab09847
--- /dev/null
+++ b/tests/integration/mainRender.spec.js
@@ -0,0 +1,186 @@
+import { describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest, SIMPLE_SURVEY } from '../helpers/questRuntime.js';
+
+describe('transform.render', () => {
+ const resumedAtQ1 = JSON.stringify({
+ rootNode: { value: null, children: [{ value: 'Q1', children: [] }] },
+ currentNode: 'Q1',
+ });
+
+ it('renders an embedded survey through the public API with host-owned callbacks', async () => {
+ const quest = await renderFreshQuest();
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.moduleParams.questName).toBe('TEST_MODULE');
+ expect(quest.root.querySelector('#softModal')).not.toBeNull();
+ expect(quest.root.querySelector('#progressBar')).not.toBeNull();
+ expect(quest.root.querySelectorAll('form.question')).toHaveLength(1);
+ expect(quest.root.querySelector('form.active')?.id).toBe('Q1');
+ expect(quest.root.querySelectorAll('input[type="radio"]')).toHaveLength(2);
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('renders all questions in renderer full-list mode', async () => {
+ const quest = await renderFreshQuest({
+ params: { isRenderer: true, activate: false, showProgressBarInQuest: false },
+ });
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.moduleParams.renderFullQuestionList).toBe(true);
+ expect(quest.root.querySelectorAll('form.question').length).toBeGreaterThanOrEqual(3);
+ expect([...quest.root.querySelectorAll('form.question')].map(({ id }) => id)).toEqual(
+ expect.arrayContaining(['Q1', 'Q2', 'END']),
+ );
+ expect(quest.root.querySelector('#progressBar')).toBeNull();
+ });
+
+ it('uses prefetched survey data without invoking retrieve', async () => {
+ const quest = await renderFreshQuest({
+ persistedData: { Q1: '2', treeJSON: resumedAtQ1 },
+ retrieveResult: { data: { TEST_MODULE: { Q1: '1' } } },
+ });
+
+ expect(quest.retrieve).not.toHaveBeenCalled();
+ expect(quest.state.getSurveyState().Q1).toBe('2');
+ expect(quest.root.querySelector('#Q1_2').checked).toBe(true);
+ });
+
+ it('uses the exact version-pinned Quest stylesheets for a Connect-hosted prefetched render', async () => {
+ const requestedUrls = [];
+ const fetchStub = vi.fn(async (request) => {
+ requestedUrls.push(String(request));
+ return { text: async () => `/* ${String(request)} */` };
+ });
+ vi.stubGlobal('fetch', fetchStub);
+
+ try {
+ const quest = await renderFreshQuest({
+ persistedData: { Q1: '2', treeJSON: resumedAtQ1 },
+ params: {
+ url: 'https://questionnaire.test/prod/moduleExample.txt',
+ questVersion: '2.7.4',
+ },
+ });
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.retrieve).not.toHaveBeenCalled();
+ expect(requestedUrls).toEqual([
+ 'https://cdn.jsdelivr.net/gh/episphere/quest@v2.7.4/ActiveLogic.css',
+ 'https://cdn.jsdelivr.net/gh/episphere/quest@v2.7.4/Style1.css',
+ ]);
+ expect(document.head.querySelectorAll('link[rel="stylesheet"][href="blob:quest-test"]')).toHaveLength(2);
+ expect(quest.errors).toEqual([]);
+ } finally {
+ document.head.querySelectorAll('link[href="blob:quest-test"]').forEach((link) => link.remove());
+ vi.unstubAllGlobals();
+ }
+ });
+
+ it('unwraps a single retrieve payload and restores its active response', async () => {
+ const quest = await renderFreshQuest({
+ retrieveResult: { data: { TEST_MODULE: { Q1: '1', treeJSON: resumedAtQ1 } } },
+ });
+
+ expect(quest.retrieve).toHaveBeenCalledOnce();
+ expect(quest.state.getSurveyState().Q1).toBe('1');
+ expect(quest.root.querySelector('#Q1_1').checked).toBe(true);
+ });
+
+ it('delegates radio changes, persists a namespaced payload, and advances', async () => {
+ const quest = await renderFreshQuest();
+ const radio = quest.root.querySelector('#Q1_2');
+ radio.click();
+ radio.dispatchEvent(new Event('change', { bubbles: true }));
+
+ quest.root.querySelector('#Q1 .next').click();
+ await vi.waitFor(() => expect(quest.root.querySelector('form.active')?.id).toBe('Q2'));
+ await vi.waitFor(() => expect(quest.store).toHaveBeenCalled());
+
+ expect(quest.calls.store[0]['TEST_MODULE.Q1']).toBe('2');
+ expect(quest.calls.store[0]['TEST_MODULE.treeJSON']).toBeTypeOf('string');
+ });
+
+ it('returns false and reports malformed survey input without throwing to the host', async () => {
+ const quest = await renderFreshQuest({ markdown: 'not a questionnaire' });
+
+ expect(quest.rendered).toBe(false);
+ expect(quest.errors.length).toBeGreaterThan(0);
+ });
+
+ it('keeps previous-result lookups available to conditions without merging them into survey state', async () => {
+ const markdown = `
+ {"name":"PREVIOUS_RESULTS"}
+ [Q1,displayif=equals(EXTERNAL_FLAG,1)] Visible when prior data matches.
+ [END] Done.
+ `;
+ const quest = await renderFreshQuest({ markdown, previousResults: { EXTERNAL_FLAG: '1' } });
+
+ expect(quest.root.querySelector('form.active')?.id).toBe('Q1');
+ expect(quest.state.getSurveyState()).not.toHaveProperty('EXTERNAL_FLAG');
+ });
+
+ it('reinitializes survey state when the public render boundary is called sequentially', async () => {
+ const quest = await renderFreshQuest();
+ quest.root.querySelector('#Q1_1').click();
+ expect(quest.state.getActiveQuestionState()).toEqual({ Q1: '1' });
+
+ document.body.innerHTML = '';
+ const rendered = await quest.transform.render({
+ activate: true,
+ text: SIMPLE_SURVEY.replace('TEST_MODULE', 'SECOND_MODULE'),
+ store: vi.fn(async () => ({ code: 200 })),
+ errorLogger: () => {},
+ }, 'secondRoot');
+
+ expect(rendered).toBe(true);
+ expect(quest.moduleParams.questName).toBe('SECOND_MODULE');
+ expect(document.querySelector('#secondRoot form.active')?.id).toBe('Q1');
+ expect(quest.state.getSurveyState()).toEqual({});
+ expect(quest.state.getActiveQuestionState()).toEqual({});
+ });
+
+ it('does not let a pending delegated input debounce mutate a sequential render', async () => {
+ const firstMarkdown = `
+ {"name":"FIRST_DEBOUNCE"}
+ [OLD?] Choose a response.
+ [99] Other [text box:OLD_OTHER_TEXT]
+ [END,end] Done.
+ `;
+ const quest = await renderFreshQuest({ markdown: firstMarkdown });
+ const oldText = quest.root.querySelector('#OLD_OTHER_TEXT');
+ const secondStore = vi.fn(async () => ({ code: 200 }));
+ const secondErrors = vi.fn();
+
+ vi.useFakeTimers();
+ try {
+ oldText.value = 'stale response';
+ oldText.dispatchEvent(new InputEvent('input', {
+ bubbles: true,
+ data: 'e',
+ inputType: 'insertText',
+ }));
+
+ document.body.innerHTML = '';
+ const rendered = await quest.transform.render({
+ activate: true,
+ text: SIMPLE_SURVEY.replace('TEST_MODULE', 'SECOND_DEBOUNCE'),
+ store: secondStore,
+ errorLogger: secondErrors,
+ }, 'secondRoot');
+
+ expect(rendered).toBe(true);
+ expect(quest.state.getSurveyState()).toEqual({});
+ expect(quest.state.getActiveQuestionState()).toEqual({});
+
+ await vi.advanceTimersByTimeAsync(251);
+
+ expect(quest.state.getSurveyState()).toEqual({});
+ expect(quest.state.getActiveQuestionState()).toEqual({});
+ expect(secondStore).not.toHaveBeenCalled();
+ expect(secondErrors).not.toHaveBeenCalled();
+ } finally {
+ vi.useRealTimers();
+ }
+ });
+
+});
diff --git a/tests/integration/offlineBoundary.spec.js b/tests/integration/offlineBoundary.spec.js
new file mode 100644
index 0000000..8e0d13e
--- /dev/null
+++ b/tests/integration/offlineBoundary.spec.js
@@ -0,0 +1,19 @@
+import { describe, expect, it, vi } from 'vitest';
+
+describe('jsdom offline network boundary', () => {
+ it('installs deny-by-default fetch and XMLHttpRequest implementations', () => {
+ expect(globalThis.fetch.questDenyByDefault).toBe(true);
+ expect(globalThis.XMLHttpRequest.questDenyByDefault).toBe(true);
+ });
+
+ it('allows a test to replace fetch only with an explicit host-boundary stub', async () => {
+ const hostBoundary = vi.fn(async () => ({ ok: true, status: 200 }));
+ vi.stubGlobal('fetch', hostBoundary);
+
+ await expect(fetch('https://synthetic-host.test/fixture')).resolves.toMatchObject({
+ ok: true,
+ status: 200,
+ });
+ expect(hostBoundary).toHaveBeenCalledWith('https://synthetic-host.test/fixture');
+ });
+});
diff --git a/tests/integration/productionLoopCoverage.spec.js b/tests/integration/productionLoopCoverage.spec.js
new file mode 100644
index 0000000..df62e87
--- /dev/null
+++ b/tests/integration/productionLoopCoverage.spec.js
@@ -0,0 +1,218 @@
+import { readFileSync } from 'node:fs';
+import path from 'node:path';
+
+import { describe, expect, it, vi } from 'vitest';
+
+const repositoryRoot = path.resolve(import.meta.dirname, '../..');
+const corpusRoot = path.join(
+ repositoryRoot,
+ '.cache/questionnaire/7ae99a22af325cf0e14be047a7636462db9bfd50/prod',
+);
+
+const PRECALCULATED = {
+ current_date: new Date('2026-03-15T12:00:00Z'),
+ current_day: 15,
+ current_month: 3,
+ current_month_str: 'March',
+ current_year: 2026,
+ quest_format_date: '2026-3-15',
+};
+
+const LOOP_CASES = [
+ {
+ label: 'Module 1 siblings',
+ file: 'module1.txt',
+ countId: 'D_694265648',
+ firstId: 'D_406098499',
+ earlyExitId: 'D_607773106',
+ loopIndex: 1,
+ afterLoopId: 'CHILD',
+ minimum: 0,
+ maximum: 25,
+ },
+ {
+ label: 'Module 1 children',
+ file: 'module1.txt',
+ countId: 'D_446999144',
+ firstId: 'D_714001034',
+ earlyExitId: 'D_718867914',
+ loopIndex: 2,
+ afterLoopId: 'SECTION5',
+ minimum: 0,
+ maximum: 25,
+ },
+ {
+ label: 'COVID illnesses',
+ file: 'moduleCOVID19.txt',
+ countId: 'D_860011428',
+ firstId: 'D_980800222_V2',
+ earlyExitId: 'SRVCOV_COVSUMMARY_V1R0',
+ loopIndex: 1,
+ afterLoopId: 'COV19_SKIP',
+ minimum: 1,
+ maximum: 25,
+ },
+ {
+ label: 'COVID vaccinations',
+ file: 'moduleCOVID19.txt',
+ countId: 'D_877074400_V2',
+ firstId: 'D_715581797_V2',
+ earlyExitId: 'SRVCOV_COV29_V1R0',
+ loopIndex: 2,
+ afterLoopId: 'END',
+ minimum: 1,
+ maximum: 10,
+ },
+];
+
+function lockedMarkdown(file) {
+ return readFileSync(path.join(corpusRoot, file), 'utf8');
+}
+
+function localizedFile(loop, language) {
+ if (language === 'en') return loop.file;
+ return loop.file === 'module1.txt' ? 'module1Spanish.txt' : 'moduleCOVID19Spanish.txt';
+}
+
+function exactQuestionIndex(processor, id) {
+ return processor.questions.findIndex(({ questionIDExactSearch }) => questionIDExactSearch === id);
+}
+
+async function createProcessor(markdown, initialState = {}, language = 'en') {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ const i18n = (await import(`../../i18n/${language}.js`)).default;
+ questionnaire.moduleParams.i18n = i18n;
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = {};
+ questionnaire.moduleParams.asyncQuestionsMap = {};
+ questionnaire.moduleParams.renderFullQuestionList = true;
+ questionnaire.moduleParams.isRenderer = true;
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ const state = stateModule.getStateManager();
+ state.loadInitialSurveyState(initialState);
+
+ const { initializeCustomMathJSFunctions } = await import('../../customMathJSImplementation.js');
+ initializeCustomMathJSFunctions();
+ const { QuestionProcessor } = await import('../../questionProcessor.js');
+ const processor = new QuestionProcessor(markdown, PRECALCULATED, i18n);
+ state.setQuestionProcessor(processor);
+ return { processor, state };
+}
+
+function prepareLoop(processor, firstId) {
+ const firstIndex = exactQuestionIndex(processor, `${firstId}_1_1`);
+ expect(firstIndex, `${firstId} should be expanded`).toBeGreaterThanOrEqual(0);
+ processor.processQuestion(firstIndex);
+ processor.setCurrentQuestionIndex('update', firstIndex);
+ return firstIndex;
+}
+
+function continuationId(loopIndex, iteration) {
+ return `_CONTINUE${loopIndex}_${iteration}_${iteration}`;
+}
+
+describe('locked production loop expansion and navigation', () => {
+ it.each(['en', 'es'])('keeps Module 1 and COVID loop definitions aligned in %s', async (language) => {
+ const module1File = language === 'en' ? 'module1.txt' : 'module1Spanish.txt';
+ const covidFile = language === 'en' ? 'moduleCOVID19.txt' : 'moduleCOVID19Spanish.txt';
+ const module1 = await createProcessor(lockedMarkdown(module1File), {}, language);
+ const covid = await createProcessor(lockedMarkdown(covidFile), {}, language);
+
+ for (const loop of LOOP_CASES) {
+ const processor = loop.file === 'module1.txt' ? module1.processor : covid.processor;
+ const first = processor.processQuestion(exactQuestionIndex(processor, `${loop.firstId}_1_1`));
+ const last = processor.processQuestion(exactQuestionIndex(processor, `${loop.firstId}_25_25`));
+
+ expect(first.id).toBe(`${loop.firstId}_1_1`);
+ expect(last.id).toBe(`${loop.firstId}_25_25`);
+ expect(first.getAttribute('firstquestion')).toBe('1');
+ expect(first.getAttribute('loopmax')).toBe(loop.countId);
+ expect(first.getAttribute('loopindx')).toBe(String(loop.loopIndex));
+ const countControl = processor.processQuestion(exactQuestionIndex(processor, loop.countId))
+ .querySelector('input[type="number"]');
+ expect(countControl).not.toBeNull();
+ expect(Number(countControl.min)).toBe(loop.minimum);
+ expect(countControl.max).toBe(loop.maximum === 25 && loop.countId === 'D_860011428' ? '' : String(loop.maximum));
+ }
+ });
+
+ it.each(LOOP_CASES)('$label respects valid participant bounds in English and Spanish', async (loop) => {
+ const validCounts = [...new Set([loop.minimum, 1, 2, loop.maximum])].sort((left, right) => left - right);
+ for (const language of ['en', 'es']) {
+ for (const count of validCounts) {
+ const { processor } = await createProcessor(
+ lockedMarkdown(localizedFile(loop, language)),
+ { [loop.countId]: String(count) },
+ language,
+ );
+ prepareLoop(processor, loop.firstId);
+
+ const firstContinuation = processor.findQuestion(continuationId(loop.loopIndex, 1));
+ expect(firstContinuation.question, `${loop.label}, ${language}, count ${count}`).not.toBeNull();
+
+ if (count < 2) {
+ expect(firstContinuation.question.id).toBe(loop.afterLoopId);
+ } else {
+ expect(firstContinuation.question.id).toBe(`${loop.firstId}_2_2`);
+ }
+
+ const lastIndex = exactQuestionIndex(processor, `${loop.firstId}_${loop.maximum}_${loop.maximum}`);
+ processor.setCurrentQuestionIndex('update', lastIndex);
+ expect(processor.findQuestion(continuationId(loop.loopIndex, loop.maximum)).question.id).toBe(loop.afterLoopId);
+ }
+ }
+ });
+
+ it('keeps the COVID vaccination copies 11 through 25 outside valid participant navigation', async () => {
+ const vaccineLoop = LOOP_CASES.find(({ label }) => label === 'COVID vaccinations');
+ const { processor } = await createProcessor(lockedMarkdown(vaccineLoop.file), {
+ [vaccineLoop.countId]: String(vaccineLoop.maximum),
+ });
+ prepareLoop(processor, vaccineLoop.firstId);
+
+ const finalValidIndex = exactQuestionIndex(
+ processor,
+ `${vaccineLoop.firstId}_${vaccineLoop.maximum}_${vaccineLoop.maximum}`,
+ );
+ processor.setCurrentQuestionIndex('update', finalValidIndex);
+ expect(processor.findQuestion(continuationId(vaccineLoop.loopIndex, vaccineLoop.maximum)).question.id)
+ .toBe(vaccineLoop.afterLoopId);
+
+ expect(exactQuestionIndex(processor, `${vaccineLoop.firstId}_11_11`)).toBeGreaterThan(finalValidIndex);
+ expect(exactQuestionIndex(processor, `${vaccineLoop.firstId}_25_25`)).toBeGreaterThan(finalValidIndex);
+ });
+
+ it.each(LOOP_CASES)('$label routes an authored early exit to the next iteration', async (loop) => {
+ const { processor } = await createProcessor(lockedMarkdown(loop.file), { [loop.countId]: '2' });
+ prepareLoop(processor, loop.firstId);
+ const earlyExitIndex = exactQuestionIndex(processor, `${loop.earlyExitId}_1_1`);
+ expect(earlyExitIndex, `${loop.earlyExitId} should be expanded`).toBeGreaterThanOrEqual(0);
+ processor.setCurrentQuestionIndex('update', earlyExitIndex);
+
+ expect(processor.findQuestion(continuationId(loop.loopIndex, 1)).question.id)
+ .toBe(`${loop.firstId}_2_2`);
+ });
+
+ it.each(LOOP_CASES)('$label reconstructs loop state from a persisted second iteration without losing suffixed response keys', async (loop) => {
+ const initialState = {
+ [loop.countId]: '2',
+ [`${loop.firstId}_1_1`]: 'first response',
+ [`${loop.firstId}_2_2`]: 'second response',
+ };
+ const { processor, state } = await createProcessor(lockedMarkdown(loop.file), initialState);
+ const secondIndex = exactQuestionIndex(processor, `${loop.firstId}_2_2`);
+ processor.setCurrentQuestionIndex('update', secondIndex);
+
+ expect(processor.loopDataArr).toEqual([]);
+ expect(processor.getLoopData()).toMatchObject({
+ loopMaxQuestionID: loop.countId,
+ loopMaxResponse: 2,
+ loopFirstQuestionID: loop.firstId,
+ });
+ expect(state.getSurveyState()).toMatchObject(initialState);
+ expect(state.getSurveyState()).not.toHaveProperty(loop.firstId);
+ });
+});
diff --git a/tests/integration/questionProcessor.spec.js b/tests/integration/questionProcessor.spec.js
new file mode 100644
index 0000000..42708d9
--- /dev/null
+++ b/tests/integration/questionProcessor.spec.js
@@ -0,0 +1,677 @@
+import { readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { describe, expect, it, vi } from 'vitest';
+
+const ALL_CONSTRUCTS = readFileSync(
+ resolve('tests/fixtures/canonical/allConstructs.txt'),
+ 'utf8',
+);
+
+const PRECALCULATED = {
+ current_date: new Date('2026-03-15T12:00:00Z'),
+ current_day: 15,
+ current_month: 3,
+ current_month_str: 2,
+ current_year: 2026,
+ quest_format_date: '2026-3-15',
+ firstName: 'Synthetic',
+};
+
+async function createProcessor(markdown, initialState = {}, options = {}) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ const language = options.language ?? 'en';
+ const i18n = (await import(`../../i18n/${language}.js`)).default;
+ questionnaire.moduleParams.i18n = i18n;
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = options.previousResults ?? {};
+ questionnaire.moduleParams.asyncQuestionsMap = options.asyncQuestionsMap ?? {};
+ questionnaire.moduleParams.renderFullQuestionList = options.renderFullQuestionList ?? true;
+ questionnaire.moduleParams.isRenderer = options.isRenderer ?? true;
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ const state = stateModule.getStateManager();
+ state.loadInitialSurveyState(initialState);
+
+ const { initializeCustomMathJSFunctions } = await import('../../customMathJSImplementation.js');
+ initializeCustomMathJSFunctions();
+ const { QuestionProcessor } = await import('../../questionProcessor.js');
+ const processor = new QuestionProcessor(markdown, PRECALCULATED, i18n);
+ state.setQuestionProcessor(processor);
+ return { processor, state, moduleParams: questionnaire.moduleParams };
+}
+
+function processById(processor, id) {
+ return processor.findQuestion(id).question;
+}
+
+describe('QuestionProcessor constructs', () => {
+ it('removes comments, captures the module name, and preserves hard/soft/plain semantics', async () => {
+ const { processor, moduleParams } = await createProcessor(`
+ // line comment
+ {"name":"PROCESSOR_TEST"}
+ /* block comment */
+ [SOFT?] Optional response.
+ (1) Yes
+ [HARD!] Required response.
+ [1] Choice
+ [PLAIN] Information only.
+ [END,end] Done.
+ `);
+
+ expect(moduleParams.questName).toBe('PROCESSOR_TEST');
+ expect(processor.questions.map(({ questionID }) => questionID)).toEqual(['SOFT?', 'HARD!', 'PLAIN', 'END']);
+ expect(processById(processor, 'SOFT').getAttribute('softedit')).toBe('true');
+ expect(processById(processor, 'HARD').getAttribute('hardedit')).toBe('true');
+ expect(processById(processor, 'PLAIN').querySelectorAll('input')).toHaveLength(0);
+ });
+
+ it('renders every scalar input family with stable IDs, types, descriptions, and limits', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"INPUT_TYPES"}
+ [TEXT?] Text |__|id=TEXT_VALUE minlen=2 maxlen=8|
+ [NUMBER?] Number |__|__|id=NUMBER_VALUE min=1 max=10|
+ [AREA?] Notes |___|NOTES|
+ [EMAIL?] Email |@|id=EMAIL_VALUE|
+ [PHONE?] Phone |tel|id=PHONE_VALUE|
+ [FULLSSN?] SSN |SSN|id=FULL_SSN|
+ [SMALLSSN?] Last four |SSNsm|id=SMALL_SSN|
+ [ZIP?] Zip |zip|id=ZIP_VALUE|
+ [STATE?] State |state|id=STATE_VALUE|
+ [DATE?] Date |date|id=DATE_VALUE min=2020-01-01 max=2030-12-31|
+ [MONTH?] Month |month|id=MONTH_VALUE min=2020-01 max=2030-12|
+ [TIME?] Time |time|id=TIME_VALUE|
+ [HIDDEN] Hidden |hidden|id=HIDDEN_VALUE|
+ [END,end] Done.
+ `);
+
+ processor.processAllQuestions();
+ const forms = [...processor.getAllProcessedQuestions().values()];
+ const all = document.createElement('div');
+ forms.forEach((form) => all.append(form));
+
+ expect(all.querySelector('#TEXT_VALUE')).toMatchObject({ type: 'text' });
+ expect(all.querySelector('#TEXT_VALUE').dataset).toMatchObject({ minlen: '2', maxlen: '8' });
+ expect(all.querySelector('#NUMBER_VALUE')).toMatchObject({ type: 'number', min: '1', max: '10' });
+ expect(all.querySelector('#NUMBER_VALUE').dataset).toMatchObject({ min: '1', max: '10' });
+ expect(all.querySelector('#NOTES').tagName).toBe('TEXTAREA');
+ expect(all.querySelector('#EMAIL_VALUE').type).toBe('email');
+ expect(all.querySelector('#PHONE_VALUE').type).toBe('tel');
+ expect(all.querySelector('#FULL_SSN').classList).toContain('SSN');
+ expect(all.querySelector('#SMALL_SSN').classList).toContain('SSNsm');
+ expect(all.querySelector('#ZIP_VALUE').classList).toContain('zipcode');
+ expect(all.querySelector('#STATE_VALUE').querySelectorAll('option').length).toBeGreaterThan(50);
+ expect(all.querySelector('#DATE_VALUE').getAttribute('aria-describedby')).toBe('DATE_VALUE-desc');
+ expect(all.querySelector('#MONTH_VALUE').dataset.minDateUneval).toBe('2020-01');
+ expect(all.querySelector('#TIME_VALUE').getAttribute('aria-label')).toBe('Enter Time');
+ expect(all.querySelector('#HIDDEN_VALUE').dataset.hidden).toBe('true');
+ });
+
+ it('renders radios, checkboxes, reset choices, named groups, labels, and yes/no macros', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"CHOICES"}
+ [RADIO?] Pick one.
+ (1) One
+ (2:NAMED|CUSTOM_LABEL) Two
+ [CHECK?] Pick many.
+ [1] First
+ [99*] None
+ [YN?] Answer. #YN
+ [YNP?] Answer. #YNP
+ [END,end] Done.
+ `);
+
+ const radio = processById(processor, 'RADIO');
+ const check = processById(processor, 'CHECK');
+ const yn = processById(processor, 'YN');
+ const ynp = processById(processor, 'YNP');
+
+ expect(radio.querySelectorAll('input[type="radio"]')).toHaveLength(2);
+ expect(radio.querySelector('#NAMED_2').name).toBe('NAMED');
+ expect(radio.querySelector('label[for="NAMED_2"]').id).toBe('CUSTOM_LABEL');
+ expect(check.querySelectorAll('input[type="checkbox"]')).toHaveLength(2);
+ expect(check.querySelector('#CHECK_99').dataset.reset).toBe('true');
+ expect(yn.querySelectorAll('[role="radiogroup"] input')).toHaveLength(2);
+ expect(ynp.querySelectorAll('[role="radiogroup"] input')).toHaveLength(3);
+ });
+
+ it('renders grids, inline conditions, piped values, expressions, popovers, images, and hidden skips', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"COMPOSITES"}
+ [INTRO] Hello {$u:firstName}; saved {$SAVED:missing}; result {#1+1}.
+ |displayif=equals(SHOW,1)|Visible text|
+ |popup|More|Help|Synthetic help text|
+ |image|example.org/test.png|40,80|
+ < |if=equals(SHOW,1)| -> TARGET >
+ [GRID_LEAD] Rate each.
+ |grid?|id="GRID"|Frequency|[ROW_A] Alpha;[ROW_B] Beta;|(1: Never)(2: Often)|
+ [TARGET] Target.
+ [END,end] Done.
+ `);
+
+ const intro = processById(processor, 'INTRO');
+ processor.processAllQuestions();
+ const grid = processById(processor, 'GRID');
+
+ expect(intro.querySelector('[name="firstName"]').textContent).toBe('Synthetic');
+ expect(intro.querySelector('[forid="SAVED"]').getAttribute('optional')).toBe(encodeURIComponent('missing'));
+ expect(intro.querySelector('[data-encoded-expression]')).not.toBeNull();
+ expect(intro.querySelector('.displayif').getAttribute('displayif')).toBe('equals(SHOW,1)');
+ expect(intro.querySelector('[data-bs-toggle="popover"]').getAttribute('data-bs-content')).toBe('Synthetic help text');
+ expect(intro.querySelector('img').src).toBe('https://example.org/test.png');
+ expect(intro.querySelector('input[type="hidden"]').getAttribute('skipto')).toBe('TARGET');
+ expect(grid.dataset.grid).toBe('true');
+ expect(grid.querySelectorAll('tbody tr')).toHaveLength(2);
+ expect(grid.querySelectorAll('input[type="radio"]')).toHaveLength(4);
+ });
+
+ it('replaces fixed date tags deterministically', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"DATES"}
+ [Q] #currentYear #currentMonth #today #today + 2 #today - 20.
+ [END,end] Done.
+ `);
+ const form = processById(processor, 'Q');
+
+ expect(form.textContent.replace(/\s+/g, ' ')).toContain('2026 3 2026-3-15 2026-3-17 2026-2-23');
+ });
+
+ it('unrolls loop boundaries with deterministic IDs and loop metadata', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"LOOPS"}
+ [COUNT?] Count |__|__|id=D_123456789 min=0 max=2|
+
+ [ITEM?,displayif=greaterThanOrEqual(D_123456789,#loop)] Enter the {##} item.
+ |__|id=ITEM_VALUE|
+
+ [END,end] Done.
+ `, { D_123456789: '2' });
+
+ const ids = processor.questions.map(({ questionIDExactSearch }) => questionIDExactSearch);
+ expect(ids).toEqual(['COUNT', 'ITEM_1_1', 'ITEM_2_2', 'END_OF_LOOP', 'END']);
+ const first = processById(processor, 'ITEM_1_1');
+ const second = processById(processor, 'ITEM_2_2');
+ expect(first.textContent).toContain('1st item');
+ expect(second.textContent).toContain('2nd item');
+ expect(first.getAttribute('firstquestion')).toBe('1');
+ expect(second.getAttribute('firstquestion')).toBe('2');
+ expect(first.getAttribute('loopmax')).toBe('D_123456789');
+ });
+
+ it('renders the complete construct inventory through a reset full module graph', async () => {
+ vi.spyOn(console, 'warn').mockImplementation(() => {});
+ const { processor, moduleParams } = await createProcessor(ALL_CONSTRUCTS, {
+ LIST_VALUE: ['one', 'two'],
+ SAVED: 'restored',
+ SHOW_BLOCK: '1',
+ SHOW_CHECKBOX: '1',
+ SHOW_GRID: '1',
+ SHOW_INLINE: '1',
+ SHOW_RADIO: '1',
+ SHOW_ROW: '1',
+ });
+ processor.processAllQuestions();
+
+ const forms = [...processor.getAllProcessedQuestions().values()];
+ const root = document.createElement('div');
+ forms.forEach((form) => root.append(form));
+
+ expect(forms.map((form) => form.id)).toEqual([
+ 'PLAIN',
+ 'RADIO',
+ 'CHECKBOX',
+ 'COMBINED',
+ 'COMBINED_TEXTAREA',
+ 'CONFIRM',
+ 'EMAIL',
+ 'PHONE',
+ 'FULL_SSN',
+ 'SHORT_SSN',
+ 'ZIP',
+ 'STATE',
+ 'DATE',
+ 'MONTH',
+ 'TIME',
+ 'NUMBER',
+ 'TEXT',
+ 'TEXTBOX',
+ 'TEXTAREA',
+ 'HIDDEN',
+ 'YES_NO',
+ 'YES_NO_PREFER',
+ 'DEFAULT_SKIP',
+ 'NO_RESPONSE_SKIP',
+ 'GRID_RADIO',
+ 'GRID_CHECKBOX',
+ 'D_900000002',
+ 'LOOP_ITEM_1_1',
+ 'LOOP_ITEM_2_2',
+ 'END_OF_LOOP',
+ 'END',
+ ]);
+ expect(root.querySelectorAll('#PLAIN .displayif')).toHaveLength(2);
+ expect(root.querySelectorAll('#PLAIN .displayList')).toHaveLength(2);
+ expect(root.querySelector('#PLAIN [data-bs-toggle="popover"]')?.dataset.bsContent).toBe('Synthetic help text');
+ expect(root.querySelector('#PLAIN img')?.src).toBe('https://episphere.github.io/quest/images/FemaleBaldness1.png');
+ expect(root.querySelectorAll('#RADIO input[type="radio"]')).toHaveLength(2);
+ expect(root.querySelectorAll('#CHECKBOX input[type="checkbox"]')).toHaveLength(3);
+ expect(root.querySelector('#CHECKBOX')?.dataset).toMatchObject({ minCount: '1', maxCount: '2' });
+ expect(root.querySelector('#CHECKBOX input[data-reset="true"]')).not.toBeNull();
+ expect(root.querySelector('#COMBINED_807835037')?.getAttribute('skipto')).toBe('EMAIL');
+ expect(root.querySelector('#COMBINED_TEXT')?.type).toBe('text');
+ expect(root.querySelector('#COMBINED_TEXTAREA_GROUP_1')?.getAttribute('skipto')).toBe('EMAIL');
+ expect(root.querySelector('#COMBINED_TEXTAREA_VALUE')?.tagName).toBe('TEXTAREA');
+ expect(root.querySelector('#CONFIRM_COPY')?.getAttribute('confirm')).toBeNull();
+ expect(root.querySelector('#CONFIRM_COPY')?.dataset.confirm).toBe('CONFIRM_ORIGINAL');
+ expect(root.querySelector('#CONFIRM_ORIGINAL')?.dataset.confirmationFor).toBe('CONFIRM_COPY');
+
+ expect(root.querySelector('#EMAIL_VALUE')?.type).toBe('email');
+ expect(root.querySelector('#PHONE_VALUE')?.type).toBe('tel');
+ expect(root.querySelector('#FULL_SSN_VALUE')?.classList).toContain('SSN');
+ expect(root.querySelector('#SHORT_SSN_VALUE')?.classList).toContain('SSNsm');
+ expect(root.querySelector('#ZIP_VALUE')?.classList).toContain('zipcode');
+ expect(root.querySelector('#STATE_VALUE')?.tagName).toBe('SELECT');
+ expect(root.querySelector('#DATE_VALUE')?.type).toBe('date');
+ expect(root.querySelector('#MONTH_VALUE')?.type).toBe('month');
+ expect(root.querySelector('#TIME_VALUE')?.type).toBe('time');
+ expect(root.querySelector('#NUMBER_VALUE')?.type).toBe('number');
+ expect(root.querySelector('#TEXT_VALUE')?.type).toBe('text');
+ expect(root.querySelector('#TEXTBOX_VALUE')?.type).toBe('text');
+ expect(root.querySelector('#TEXTAREA_VALUE')?.tagName).toBe('TEXTAREA');
+ expect(root.querySelector('#HIDDEN_VALUE')?.dataset.hidden).toBe('true');
+ expect(root.querySelectorAll('#YES_NO input[type="radio"]')).toHaveLength(2);
+ expect(root.querySelectorAll('#YES_NO_PREFER input[type="radio"]')).toHaveLength(3);
+ expect(root.querySelector('#DEFAULT_SKIP input[type="hidden"]')?.getAttribute('skipto')).toBe('GRID_RADIO');
+ expect(root.querySelector('#NO_RESPONSE_SKIP input.noresponse')?.getAttribute('skipto')).toBe('GRID_RADIO');
+ expect(root.querySelectorAll('#GRID_RADIO input[type="radio"]')).toHaveLength(4);
+ expect(root.querySelectorAll('#GRID_CHECKBOX input[type="checkbox"]')).toHaveLength(2);
+ expect(root.querySelectorAll('form.question[id^="LOOP_ITEM_"]')).toHaveLength(2);
+ expect(moduleParams.errorLogger).not.toHaveBeenCalled();
+ });
+
+ it('caches processed questions and reports invalid indexes and IDs through the host logger', async () => {
+ const { processor, moduleParams } = await createProcessor(`
+ {"name":"CACHE"}
+ [Q1] First.
+ [Q2] Second.
+ [END,end] Done.
+ `);
+
+ const first = processor.processQuestion(0);
+ expect(processor.processQuestion(0)).toBe(first);
+ expect(processor.processQuestion(-1)).toBeNull();
+ expect(processor.findQuestion('MISSING')).toEqual({ question: null, index: -1 });
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('question not found'));
+ });
+});
+
+describe('QuestionProcessor navigation and processing lifecycle', () => {
+ const NAVIGATION_MARKDOWN = `
+ {"name":"NAVIGATION"}
+ [Q10] Prefix neighbor.
+ [Q1] First.
+ [Q2] Second.
+ [END,end] Done.
+ `;
+
+ it('prefers exact IDs and transfers the active question during explicit forward and back navigation', async () => {
+ const { processor, moduleParams } = await createProcessor(
+ NAVIGATION_MARKDOWN,
+ {},
+ { renderFullQuestionList: false },
+ );
+
+ const initial = processor.loadInitialQuestionOnStartup('Q1');
+ expect(initial.id).toBe('Q1');
+ expect(initial.classList).toContain('active');
+ expect(processor.findQuestion('Q1').index).toBe(1);
+
+ const second = processor.loadNextQuestion('Q2');
+ expect(second.id).toBe('Q2');
+ expect(initial.classList).not.toContain('active');
+ expect(second.classList).toContain('active');
+
+ const previous = processor.loadPreviousQuestion('Q1');
+ expect(previous).toBe(initial);
+ expect(second.classList).not.toContain('active');
+ expect(initial.classList).toContain('active');
+ expect(moduleParams.errorLogger).not.toHaveBeenCalled();
+ });
+
+ it('advances sequentially and returns null without moving past either navigation boundary', async () => {
+ const { processor, moduleParams } = await createProcessor(NAVIGATION_MARKDOWN);
+
+ expect(processor.getNextSequentialQuestionID()).toBe('Q1');
+ expect(processor.currentQuestionIndex).toBe(1);
+
+ processor.setCurrentQuestionIndex('update', processor.questions.length - 1);
+ expect(processor.getNextSequentialQuestionID()).toBeNull();
+ expect(processor.currentQuestionIndex).toBe(processor.questions.length - 1);
+
+ processor.setCurrentQuestionIndex('update', 0);
+ expect(processor.loadPreviousQuestion('Q1')).toBeNull();
+
+ processor.setCurrentQuestionIndex('update', -1);
+ expect(processor.getCurrentQuestion()).toBeNull();
+ expect(moduleParams.errorLogger).toHaveBeenCalledTimes(3);
+ });
+
+ it('reports empty and missing startup targets without activating a question', async () => {
+ const empty = await createProcessor('{"name":"EMPTY"}');
+ expect(empty.processor.loadInitialQuestionOnStartup('Q1')).toBeNull();
+ expect(empty.moduleParams.errorLogger).toHaveBeenCalledWith(
+ expect.stringContaining('no questions found'),
+ [],
+ );
+
+ const missing = await createProcessor(NAVIGATION_MARKDOWN);
+ expect(missing.processor.loadInitialQuestionOnStartup('MISSING')).toBeNull();
+ expect(missing.moduleParams.errorLogger).toHaveBeenCalledWith(
+ expect.stringContaining('question not found'),
+ 'MISSING',
+ );
+ });
+
+ it('logs invalid active-class and forward-navigation boundaries without unloading the active form', async () => {
+ const { processor, moduleParams } = await createProcessor(NAVIGATION_MARKDOWN);
+ const active = processor.loadInitialQuestionOnStartup('Q1');
+
+ expect(processor.manageActiveQuestionClass(null, active)).toBeNull();
+ expect(active.classList).toContain('active');
+
+ processor.currentQuestionIndex = processor.questions.length;
+ expect(processor.loadNextQuestion('END')).toBeNull();
+ expect(processor.currentQuestionIndex).toBe(processor.questions.length);
+ expect(moduleParams.errorLogger).toHaveBeenCalledTimes(2);
+ });
+
+ it('processes partial batches once, clamps ranges, and makes completion idempotent', async () => {
+ const { processor } = await createProcessor(NAVIGATION_MARKDOWN);
+ const processQuestion = vi.spyOn(processor, 'processQuestion');
+
+ processor.processAllQuestions(-10, 2);
+ expect([...processor.getAllProcessedQuestions().keys()]).toEqual([0, 1]);
+ expect(processor.isProcessingComplete).toBe(false);
+
+ processQuestion.mockClear();
+ processor.processAllQuestions(0, 3);
+ expect(processQuestion).toHaveBeenCalledTimes(1);
+ expect(processQuestion).toHaveBeenCalledWith(2);
+
+ processor.processAllQuestions(0, 100);
+ expect(processor.getAllProcessedQuestions()).toHaveLength(4);
+ expect(processor.isProcessingComplete).toBe(true);
+
+ processQuestion.mockClear();
+ processor.processAllQuestions();
+ expect(processQuestion).not.toHaveBeenCalled();
+ });
+});
+
+describe('QuestionProcessor loop runtime', () => {
+ const LOOP_MARKDOWN = `
+ {"name":"LOOP_RUNTIME"}
+ [COUNT?] Count |__|__|id=D_100 min=0 max=2|
+
+ [ITEM?,displayif=greaterThanOrEqual(D_100,#loop)] Item {##}.
+ |__|id=ITEM_VALUE|
+
+ [AFTER] After the loop.
+ [END,end] Done.
+ `;
+
+ it('continues to the next authored iteration, then exits when the response boundary changes', async () => {
+ const { processor, moduleParams } = await createProcessor(LOOP_MARKDOWN, { D_100: '2' });
+ const firstLoopIndex = processor.questions.findIndex(({ questionIDExactSearch }) => questionIDExactSearch === 'ITEM_1_1');
+ processor.processQuestion(firstLoopIndex);
+ processor.setCurrentQuestionIndex('update', firstLoopIndex);
+
+ expect(processor.getLoopData()).toMatchObject({
+ locationIndex: firstLoopIndex,
+ loopMaxQuestionID: 'D_100',
+ loopMaxResponse: 2,
+ loopFirstQuestionID: 'ITEM',
+ });
+ expect(processor.findQuestion('_CONTINUE1_1_1')).toMatchObject({
+ question: expect.objectContaining({ id: 'ITEM_2_2' }),
+ });
+
+ processor.checkLoopMaxData();
+ processor.checkLoopMaxData('UNRELATED', '1');
+ processor.checkLoopMaxData('D_100', 'not-a-number');
+ expect(processor.getLoopData().loopMaxResponse).toBe(2);
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('invalid response'));
+
+ processor.checkLoopMaxData('D_100', '1');
+ const afterLoop = processor.findQuestion('_CONTINUE1_1_1');
+ expect(afterLoop.question.id).toBe('AFTER');
+ expect(afterLoop.index).toBe(processor.questions.findIndex(({ questionIDExactSearch }) => questionIDExactSearch === 'AFTER'));
+
+ processor.checkLoopMaxData('D_100', '0');
+ expect(processor.findQuestion('_CONTINUE1_1_1').question.id).toBe('AFTER');
+ });
+
+ it('reconstructs loop data when resuming after the first iteration', async () => {
+ const { processor } = await createProcessor(LOOP_MARKDOWN, { D_100: '2' });
+ const secondLoopIndex = processor.questions.findIndex(({ questionIDExactSearch }) => questionIDExactSearch === 'ITEM_2_2');
+ processor.setCurrentQuestionIndex('update', secondLoopIndex);
+
+ expect(processor.loopDataArr).toEqual([]);
+ expect(processor.getLoopData()).toMatchObject({
+ locationIndex: secondLoopIndex - 1,
+ loopMaxResponse: 2,
+ loopFirstQuestionID: 'ITEM',
+ });
+ });
+
+ it('selects the nearest preceding loop and localizes generated ordinals', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"MULTIPLE_LOOPS"}
+ [D_101?] First count |__|__|id=D_101|
+
+ [FIRST?,displayif=greaterThanOrEqual(D_101,#loop)] First {##}.
+
+ [D_102?] Second count |__|__|id=D_102|
+
+ [SECOND?,displayif=greaterThanOrEqual(D_102,#loop)] Second {##}.
+
+ [END,end] Done.
+ `, { D_101: '1', D_102: '1' }, { language: 'es' });
+
+ processor.processAllQuestions();
+ const secondLoopIndex = processor.questions.findIndex(({ questionIDExactSearch }) => questionIDExactSearch === 'SECOND_1_1');
+ processor.setCurrentQuestionIndex('update', secondLoopIndex);
+
+ expect(processor.getLoopData()).toMatchObject({
+ loopMaxQuestionID: 'D_102',
+ loopFirstQuestionID: 'SECOND',
+ });
+ expect(processById(processor, 'SECOND_1_1').textContent).toContain('1o');
+ });
+
+ it('returns explicit fallbacks when no loop metadata or terminal marker exists', async () => {
+ const { processor, moduleParams } = await createProcessor(`
+ {"name":"NO_LOOP"}
+ [Q1] Only question.
+ [END,end] Done.
+ `);
+
+ expect(processor.getLoopData()).toBeNull();
+ expect(processor.findEndOfLoop()).toEqual({ question: null, index: -1 });
+ expect(processor.findQuestion('_CONTINUE1_1_1')).toBeNull();
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('no end of loop found'));
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('loop data not found'));
+ });
+
+ it('preserves authored loop metadata and English teen ordinals', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"LOOP_ORDINALS"}
+ [D_300?] Count |__|__|id=D_300|
+
+ [ITEM?|firstquestion=#loop|,displayif=greaterThanOrEqual(D_300,#loop)] Item {##}.
+
+ [END,end] Done.
+ `, { D_300: '13' });
+
+ expect(processById(processor, 'ITEM_11_11').textContent).toContain('11th');
+ expect(processById(processor, 'ITEM_12_12').textContent).toContain('12th');
+ expect(processById(processor, 'ITEM_13_13').textContent).toContain('13th');
+ expect(processById(processor, 'ITEM_1_1')).toMatchObject({
+ id: 'ITEM_1_1',
+ });
+ expect(processById(processor, 'ITEM_1_1').getAttribute('firstquestion')).toBe('1');
+ expect(processById(processor, 'ITEM_1_1').getAttribute('loopmax')).toBe('D_300');
+ });
+});
+
+describe('QuestionProcessor grid and related-form lookup', () => {
+ const LOOKUP_MARKDOWN = `
+ {"name":"LOOKUPS"}
+ [D_200] Existing dependency.
+ [COMPOUND?] Compound |__|id=COMPOUND_VALUE|
+ [CONDITIONAL?] Conditional |__|id=CONDITIONAL_VALUE displayif=doesNotExist("D_200")|
+ [HIDDEN] Hidden |hidden|id=HIDDEN_VALUE|
+ |grid?|id="GRID_LOOKUP"|Frequency|[ROW_A] Alpha;|(1: Never)(2: Often)|
+ [END,end] Done.
+ `;
+
+ it('resolves grid response values and reports unknown grid controls', async () => {
+ const { processor, moduleParams } = await createProcessor(LOOKUP_MARKDOWN);
+
+ expect(processor.findGridRadioCheckboxEle('ROW_A_0')).toBe('1');
+ expect(processor.findGridRadioCheckboxEle('ROW_A_1')).toBe('2');
+ processor.findQuestion('GRID_LOOKUP').question.querySelector('#ROW_A_0').value = '';
+ expect(processor.findGridRadioCheckboxEle('ROW_A_0')).toBeNull();
+ expect(processor.findGridRadioCheckboxEle('MISSING_GRID_CONTROL')).toBeNull();
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('MISSING_GRID_CONTROL'));
+ });
+
+ it('finds owning forms while excluding same-ID, hidden, conditional, and missing controls', async () => {
+ const withDependency = await createProcessor(LOOKUP_MARKDOWN, { D_200: 'present' });
+ expect(withDependency.processor.findRelatedFormID('COMPOUND_VALUE')).toBe('COMPOUND');
+ expect(withDependency.processor.findRelatedFormID('COMPOUND')).toBe('');
+ expect(withDependency.processor.findRelatedFormID('HIDDEN_VALUE')).toBe('');
+ expect(withDependency.processor.findRelatedFormID('CONDITIONAL_VALUE')).toBe('CONDITIONAL');
+ expect(withDependency.processor.findRelatedFormID('MISSING_CONTROL')).toBe('');
+ expect(withDependency.moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('MISSING_CONTROL'));
+
+ const withoutDependency = await createProcessor(LOOKUP_MARKDOWN);
+ expect(withoutDependency.processor.findRelatedFormID('CONDITIONAL_VALUE')).toBe('');
+ });
+});
+
+describe('QuestionProcessor parser boundaries', () => {
+ it('adds a localized placeholder to an otherwise empty host-provided async question', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"ASYNC_PLACEHOLDER"}
+ [ASYNC?]
+ [END,end] Done.
+ `, {}, {
+ asyncQuestionsMap: {
+ '[ASYNC?]': { func: 'loadSyntheticQuestion', args: [] },
+ },
+ });
+
+ expect(processById(processor, 'ASYNC').textContent).toContain('Loading...');
+ });
+
+ it('generates stable default IDs and renders terminal button variants', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"PARSER_BOUNDARIES"}
+ [EMAIL?] Email |@|
+ [PHONE?] Phone |tel|
+ [DATE?] Date |date|
+ [MONTH?] Month |month|
+ [TIME?] Time |time|
+ [STOP?,end=noback] Stop here |__||
+ [END,end] Done.
+ `);
+
+ expect(processById(processor, 'EMAIL').querySelector('#EMAIL_email')).not.toBeNull();
+ expect(processById(processor, 'PHONE').querySelector('#PHONE_tel')).not.toBeNull();
+ expect(processById(processor, 'DATE').querySelector('#DATE_date')).not.toBeNull();
+ expect(processById(processor, 'MONTH').querySelector('#MONTH_month')).not.toBeNull();
+ expect(processById(processor, 'TIME').querySelector('#TIME_time')).not.toBeNull();
+
+ const stop = processById(processor, 'STOP');
+ expect(stop.querySelector('.next')).toBeNull();
+ expect(stop.querySelector('.previous')).toBeNull();
+ expect(stop.querySelector('[data-click-type="reset"]')).not.toBeNull();
+
+ const end = processById(processor, 'END');
+ expect(end.querySelector('[data-click-type="submitSurvey"]')).not.toBeNull();
+ expect(end.querySelector('.previous')).not.toBeNull();
+ expect(end.querySelector('.next')).toBeNull();
+ });
+
+ it('preserves legacy alphanumeric choice, nested-text, naming, and skip metadata', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"LEGACY_COMBINED_CONTROLS"}
+ [DEFAULT_GROUP?] Other response.
+ [other] Explain -> END
+ [NAMED_GROUP?] Named response.
+ (other:CUSTOM_GROUP) Explain -> END
+ [EXPLICIT_ID_GROUP?] Explicit ID response.
+ [other|id=EXPLICIT_CHOICE] Explain -> END
+ [END,end] Done.
+ `);
+
+ const defaultChoice = processById(processor, 'DEFAULT_GROUP').querySelector('#DEFAULT_GROUP_other');
+ expect(defaultChoice).toMatchObject({
+ type: 'checkbox',
+ name: 'DEFAULT_GROUP',
+ value: 'other',
+ });
+ expect(defaultChoice.getAttribute('skipto')).toBe('END');
+ expect(defaultChoice.labels[0].querySelector('#DEFAULT_TEXT')).not.toBeNull();
+
+ const namedChoice = processById(processor, 'NAMED_GROUP').querySelector('#CUSTOM_GROUP');
+ expect(namedChoice).toMatchObject({
+ type: 'radio',
+ name: 'CUSTOM_GROUP',
+ value: 'other',
+ });
+ expect(namedChoice.getAttribute('skipto')).toBe('END');
+ expect(namedChoice.labels[0].querySelector('#NAMED_TEXT')).not.toBeNull();
+
+ const explicitChoice = processById(processor, 'EXPLICIT_ID_GROUP').querySelector('#EXPLICIT_CHOICE');
+ expect(explicitChoice).toMatchObject({
+ type: 'checkbox',
+ name: 'EXPLICIT_ID_GROUP',
+ value: 'other',
+ });
+ expect(explicitChoice.getAttribute('skipto')).toBe('END');
+ expect(explicitChoice.labels[0].querySelector('#EXPLICIT_TEXT')).not.toBeNull();
+ });
+
+ it('handles optionless text controls, restored dates, wide ranges, and titleless popovers', async () => {
+ const { processor } = await createProcessor(`
+ {"name":"SCALAR_PARTITIONS"}
+ [PROFILE] Missing profile {$u:notProvided}; direct value {$DIRECT_VALUE}.
+ |popup|More|Titleless help text|
+ [DATE_VALUE?] Date |date|value=2026-03-15|
+ [MONTH_VALUE?] Month |month|value=2026-03|
+ [WIDE_NUMBER?] Number |__|__|min=1 max=100|
+ [DEFAULT_TEXTBOX?] Text [text box]
+ [DEFAULT_TEXTAREA?] Notes |___|
+ [END,end] Done.
+ `);
+
+ const profile = processById(processor, 'PROFILE');
+ expect(profile.querySelector('[name="notProvided"]').textContent).toBe('');
+ expect(profile.querySelector('[forid="DIRECT_VALUE"]').getAttribute('optional')).toBeNull();
+ expect(profile.querySelector('[data-bs-toggle="popover"]')).toMatchObject({
+ title: '',
+ });
+ expect(profile.querySelector('[data-bs-toggle="popover"]').dataset.bsContent).toBe('Titleless help text');
+ expect(processById(processor, 'DATE_VALUE').querySelector('input').value).toBe('2026-03-15');
+ expect(processById(processor, 'MONTH_VALUE').querySelector('input').value).toBe('2026-03');
+ expect(processById(processor, 'WIDE_NUMBER').querySelector('input')).toMatchObject({
+ id: 'WIDE_NUMBER_num',
+ placeholder: 'Enter a value',
+ });
+ expect(processById(processor, 'DEFAULT_TEXTBOX').querySelector('#DEFAULT_TEXTBOX_text')).not.toBeNull();
+ expect(processById(processor, 'DEFAULT_TEXTAREA').querySelector('#DEFAULT_TEXTAREA_ta')).not.toBeNull();
+ });
+});
diff --git a/tests/integration/questionnaireHelpers.spec.js b/tests/integration/questionnaireHelpers.spec.js
new file mode 100644
index 0000000..9a58483
--- /dev/null
+++ b/tests/integration/questionnaireHelpers.spec.js
@@ -0,0 +1,202 @@
+import { describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+async function loadRuntime() {
+ const quest = await renderFreshQuest();
+ const questionnaire = await import('../../questionnaire.js');
+ return { quest, ...questionnaire };
+}
+
+describe('questionnaire runtime helpers', () => {
+ it('formats SSN and telephone values only for non-Backspace keyup events', async () => {
+ const { parseSSN, parsePhoneNumber } = await loadRuntime();
+ const ssn = document.createElement('input');
+ const phone = document.createElement('input');
+ ssn.value = '123456789';
+ phone.value = '5555551212';
+
+ parseSSN({ type: 'keyup', target: ssn, code: 'Digit9' });
+ parsePhoneNumber({ type: 'keyup', target: phone, code: 'Digit2' });
+ expect(ssn.value).toBe('123-45-6789');
+ expect(phone.value).toBe('555-555-1212');
+
+ ssn.value = '12345';
+ phone.value = '555555';
+ parseSSN({ type: 'keyup', target: ssn, code: 'Backspace' });
+ parsePhoneNumber({ type: 'keyup', target: phone, code: 'Backspace' });
+ expect(ssn.value).toBe('12345');
+ expect(phone.value).toBe('555555');
+ });
+
+ it('exchanges literal, numeric, and state-backed validation attributes without evaluating dates as arithmetic', async () => {
+ const { quest, callExchangeValues } = await loadRuntime();
+ quest.state.loadInitialSurveyState({ AGE: '7' });
+ const form = document.createElement('form');
+ form.innerHTML = `
+
+
+
+ `;
+ document.body.appendChild(form);
+ const number = form.querySelector('#NUMBER');
+ const month = form.querySelector('#MONTH');
+ const date = form.querySelector('#DATE');
+
+ callExchangeValues(number);
+ callExchangeValues(month);
+ callExchangeValues(date);
+
+ expect(number.dataset.min).toBe('7');
+ expect(number.dataset.max).toBe('10');
+ expect(month.dataset.min).toBe('2026-02');
+ expect(month.dataset.max).toBe('2026-12');
+ expect(date.dataset.min).toBe('2026-02-03');
+ expect(date.dataset.max).toBe('2026-12-31');
+ });
+
+ it('resolves one and many forid values, optional fallbacks, and display containers from state', async () => {
+ const { quest, handleForIDAttributes } = await loadRuntime();
+ quest.state.loadInitialSurveyState({ SIMPLE: 'saved', SHOW: '1', CONCEPT: '123456789' });
+
+ const one = document.createElement('span');
+ one.setAttribute('forid', 'SIMPLE');
+ one.setAttribute('optional', 'fallback');
+ document.body.appendChild(one);
+ handleForIDAttributes([one]);
+ expect(one.textContent).toBe('saved');
+ expect(one.getAttribute('original-forid')).toBe('SIMPLE');
+
+ const fallback = document.createElement('span');
+ fallback.setAttribute('forid', 'MISSING');
+ fallback.setAttribute('optional', 'fallback');
+ document.body.appendChild(fallback);
+ handleForIDAttributes([fallback]);
+ expect(fallback.textContent).toBe('fallback');
+
+ const container = document.createElement('div');
+ container.innerHTML = `
+
+
+ `;
+ document.body.appendChild(container);
+ const many = [...container.querySelectorAll('[forid]')];
+ handleForIDAttributes(many);
+ expect(many[0].textContent).toBe('saved');
+ expect(many[0].parentElement.style.display).toBe('');
+ expect(many[1].style.display).toBe('none');
+ expect(many[1].parentElement.style.display).toBe('none');
+ });
+
+ it('renders runtime condition text and hides concept IDs from displayif output', async () => {
+ const { quest, manageDisplayIfSpansAndDivs } = await loadRuntime();
+ quest.state.loadInitialSurveyState({ TEXT: 'resolved response', CONCEPT: '>123456789<' });
+ const value = document.createElement('span');
+ value.setAttribute('displayif', 'exists("TEXT")');
+ value.innerHTML = 'exists("TEXT")';
+ const concept = document.createElement('span');
+ concept.setAttribute('displayif', 'exists("CONCEPT")');
+ concept.innerHTML = '>123456789<';
+ document.body.append(value, concept);
+
+ manageDisplayIfSpansAndDivs(value);
+ manageDisplayIfSpansAndDivs(concept);
+ expect(value.innerHTML).toBe('resolved response');
+ expect(concept.style.display).toBe('none');
+ });
+
+ it('handles modal checks, radio-with-text selection, and active state from textbox input', async () => {
+ const { quest, textboxinput } = await loadRuntime();
+ const form = quest.root.querySelector('#Q1');
+ form.querySelector('fieldset').innerHTML = `
+
+
+
+
+ `;
+ quest.state.setNumResponseInputs('Q1', 2);
+ const radio = form.querySelector('#OTHER');
+ const text = form.querySelector('#OTHER_TEXT');
+ text.value = '6';
+
+ textboxinput(text);
+
+ expect(radio.checked).toBe(true);
+ expect(quest.root.querySelector('#softModalResponse').classList).toContain('show');
+ expect(quest.root.querySelector('#modalResponseBody').innerText).toBe('Confirm this value');
+ expect(quest.state.getActiveQuestionState().Q1).toEqual({ Q1: '99', OTHER_TEXT: '6' });
+ });
+
+ it('clears mutually exclusive checkbox and text siblings, including stale validation UI', async () => {
+ const { quest, handleXOR } = await loadRuntime();
+ const form = quest.root.querySelector('#Q1');
+ form.querySelector('fieldset').innerHTML = `
+
+ `;
+ quest.state.setNumResponseInputs('Q1', 2);
+ quest.state.setResponse('Q1', 'CHECK', 2, ['1']);
+ quest.state.setResponse('Q1', 'TEXT', 2, 'old');
+ const check = form.querySelector('#CHECK');
+ const text = form.querySelector('#TEXT');
+ form.querySelector('.validation-container span').innerText = 'Old error';
+
+ expect(handleXOR(check)).toBe('1');
+ expect(text.value).toBe('');
+ expect(text.classList).not.toContain('invalid');
+ expect(form.querySelector('.validation-container')).toBeNull();
+ expect(quest.state.getActiveQuestionState().Q1.TEXT).toBeUndefined();
+
+ text.value = '';
+ expect(handleXOR(text)).toBeNull();
+ });
+
+ it('evaluates grid completeness, linked input completeness, and selected response families', async () => {
+ const {
+ gridHasAllAnswers,
+ numUnansweredGridQuestions,
+ radioCbHasAllAnswers,
+ getSelectedResponses,
+ } = await loadRuntime();
+ const form = document.createElement('form');
+ form.innerHTML = `
+
+ `;
+ const fieldset = form.querySelector('fieldset');
+ document.body.appendChild(form);
+
+ expect(gridHasAllAnswers(fieldset)).toBe(false);
+ expect(numUnansweredGridQuestions(fieldset)).toBe(1);
+ form.querySelector('[name="ROW2"]').checked = true;
+ expect(gridHasAllAnswers(fieldset)).toBe(true);
+ expect(numUnansweredGridQuestions(fieldset)).toBe(0);
+ expect(getSelectedResponses(fieldset).map(({ id }) => id)).toEqual(expect.arrayContaining(['TEXT', 'SKIP']));
+
+ const linked = document.createElement('form');
+ linked.innerHTML = `
+
+ `;
+ expect(radioCbHasAllAnswers(linked)).toBe(false);
+ linked.querySelector('input[type="text"]').value = 'complete';
+ expect(radioCbHasAllAnswers(linked)).toBe(true);
+ });
+
+ it('uses the media query boundary for mobile detection', async () => {
+ const { isMobileDevice } = await loadRuntime();
+ window.matchMedia.mockReturnValueOnce({ matches: true });
+ expect(isMobileDevice()).toBe(true);
+ window.matchMedia.mockReturnValueOnce({ matches: false });
+ expect(isMobileDevice()).toBe(false);
+ expect(window.matchMedia).toHaveBeenCalledWith('(max-width: 576px)');
+ });
+});
diff --git a/tests/integration/responsePiping.spec.js b/tests/integration/responsePiping.spec.js
new file mode 100644
index 0000000..cca3aa0
--- /dev/null
+++ b/tests/integration/responsePiping.spec.js
@@ -0,0 +1,169 @@
+import { describe, expect, it, vi } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+const SCALAR_PIPE_SURVEY = `
+{"name":"PIPE_SCALAR"}
+
+[SOURCE?] Enter the name we should use.
+|__|id=SOURCE_TEXT|
+
+[PROMPT] Hello {$SOURCE_TEXT:participant}. Please continue.
+
+[SUMMARY] Summary: {$SOURCE_TEXT}.
+
+[END,end] Done.
+`;
+
+const SUMMARY_PIPE_SURVEY = `
+{"name":"PIPE_SUMMARY"}
+
+[ENTRY?] Optional entry.
+|__|id=MISSING|
+
+[SUMMARY] Values: {$FIRST} / {$MISSING} / {$WHITESPACE}.
+[FALLBACK] Hello {$MISSING:participant}.
+[CONCEPT] Sensitive {$CONCEPT:masked}.
+[END,end] Done.
+`;
+
+const DISPLAY_LIST_PIPE_SURVEY = `
+{"name":"PIPE_LIST"}
+
+[SELECT?] Select all that apply.
+[1:CHOICES] Alpha
+[2:CHOICES] Beta
+[99:CHOICES] Other: |__|id=OTHER_TEXT|
+
+[SUMMARY] Selected: |displayList(valueIsOneOf("CHOICES",1),"Alpha",valueIsOneOf("CHOICES",2),"Beta",exists("OTHER_TEXT"),"Other",exists("OTHER_TEXT"),"OTHER_TEXT",sep="; ")|
+[END,end] Done.
+`;
+
+function treeAt(questionID) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionID, children: [] }] },
+ currentNode: questionID,
+ });
+}
+
+async function activeQuestion(quest, questionID) {
+ if (questionID) {
+ await vi.waitFor(() => expect(quest.root.querySelector('form.question.active')?.id).toBe(questionID));
+ }
+ return quest.root.querySelector('form.question.active');
+}
+
+async function next(quest) {
+ (await activeQuestion(quest)).querySelector('.next').click();
+}
+
+async function back(quest) {
+ (await activeQuestion(quest)).querySelector('.previous').click();
+}
+
+function focusout(input) {
+ input.dispatchEvent(new FocusEvent('focusout', { bubbles: true }));
+}
+
+describe('response piping through participant runtime state', () => {
+ it('pipes a delegated text response into a following question and summary, stores it, and refreshes it after Back/edit', async () => {
+ const quest = await renderFreshQuest({ markdown: SCALAR_PIPE_SURVEY });
+ const source = quest.root.querySelector('#SOURCE_TEXT');
+
+ source.value = 'Original name';
+ focusout(source);
+ expect(quest.state.getActiveQuestionState()).toEqual({ SOURCE: 'Original name' });
+
+ await next(quest);
+ expect((await activeQuestion(quest, 'PROMPT')).textContent).toContain('Hello Original name');
+ await vi.waitFor(() => expect(quest.calls.store).toHaveLength(1));
+ expect(quest.calls.store[0]['PIPE_SCALAR.SOURCE']).toBe('Original name');
+
+ await back(quest);
+ await activeQuestion(quest, 'SOURCE');
+ expect(quest.root.querySelector('#SOURCE_TEXT').value).toBe('Original name');
+
+ source.value = 'Updated name';
+ focusout(source);
+ await next(quest);
+ expect((await activeQuestion(quest, 'PROMPT')).textContent).toContain('Hello Updated name');
+ await next(quest);
+ expect((await activeQuestion(quest, 'SUMMARY')).textContent).toContain('Summary: Updated name');
+ expect(quest.state.getSurveyState().SOURCE).toBe('Updated name');
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('pipes persisted state when resuming directly at a summary', async () => {
+ const quest = await renderFreshQuest({
+ markdown: SCALAR_PIPE_SURVEY,
+ persistedData: {
+ SOURCE: 'Resumed name',
+ treeJSON: treeAt('SUMMARY'),
+ },
+ });
+
+ expect((await activeQuestion(quest, 'SUMMARY')).textContent).toContain('Summary: Resumed name');
+ expect(quest.state.getCache().SOURCE).toBe('Resumed name');
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('keeps populated multi-value summary spans, hides missing ones, retains whitespace, and handles fallback and concept suppression', async () => {
+ const quest = await renderFreshQuest({
+ markdown: SUMMARY_PIPE_SURVEY,
+ persistedData: {
+ FIRST: 'First value',
+ WHITESPACE: ' ',
+ CONCEPT: '123456789',
+ treeJSON: treeAt('SUMMARY'),
+ },
+ });
+
+ const summary = await activeQuestion(quest, 'SUMMARY');
+ const summaryValues = [...summary.querySelectorAll('span[forid]')];
+ expect(summaryValues.map(({ textContent, style }) => ({ textContent, display: style.display }))).toEqual([
+ { textContent: 'First value', display: '' },
+ { textContent: 'MISSING', display: 'none' },
+ { textContent: ' ', display: '' },
+ ]);
+
+ await next(quest);
+ expect((await activeQuestion(quest, 'FALLBACK')).textContent).toContain('Hello participant');
+ await next(quest);
+ const concept = await activeQuestion(quest, 'CONCEPT');
+ expect(concept.querySelector('[forid="CONCEPT"]').textContent).toBe('');
+ expect(concept.textContent).not.toContain('123456789');
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('uses checkbox selections and nested Other text in a displayList summary', async () => {
+ const quest = await renderFreshQuest({ markdown: DISPLAY_LIST_PIPE_SURVEY });
+ const select = await activeQuestion(quest, 'SELECT');
+ const alpha = select.querySelector('#CHOICES_1');
+ const other = select.querySelector('#CHOICES_99');
+ const detail = select.querySelector('#OTHER_TEXT');
+
+ vi.useFakeTimers();
+ try {
+ alpha.click();
+ other.click();
+ detail.value = 'Participant detail';
+ detail.dispatchEvent(new InputEvent('input', { bubbles: true, data: 'l', inputType: 'insertText' }));
+ await vi.advanceTimersByTimeAsync(250);
+ expect(quest.state.getActiveQuestionState().SELECT).toEqual({
+ CHOICES: ['1', '99'],
+ OTHER_TEXT: 'Participant detail',
+ });
+ } finally {
+ vi.useRealTimers();
+ }
+
+ await next(quest);
+ expect((await activeQuestion(quest, 'SUMMARY')).textContent).toContain('Alpha; Other; Participant detail');
+ await vi.waitFor(() => expect(quest.calls.store).toHaveLength(1));
+ expect(quest.calls.store[0]['PIPE_LIST.SELECT']).toEqual({
+ CHOICES: ['1', '99'],
+ OTHER_TEXT: 'Participant detail',
+ });
+ expect(quest.errors).toEqual([]);
+ });
+
+});
diff --git a/tests/integration/restoreResponses.spec.js b/tests/integration/restoreResponses.spec.js
new file mode 100644
index 0000000..eeacfc7
--- /dev/null
+++ b/tests/integration/restoreResponses.spec.js
@@ -0,0 +1,125 @@
+import { describe, expect, it } from 'vitest';
+import { renderFreshQuest } from '../helpers/questRuntime.js';
+
+function treeAt(questionID) {
+ return JSON.stringify({
+ rootNode: { value: null, children: [{ value: questionID, children: [] }] },
+ currentNode: questionID,
+ });
+}
+
+describe('response restoration', () => {
+ it('restores a simple text response into the active input', async () => {
+ const quest = await renderFreshQuest({
+ markdown: `
+ {"name":"RESTORE_TEXT"}
+ [TEXT?] Enter text. |__|id=TEXT_VALUE|
+ [END,end] Done.
+ `,
+ persistedData: { TEXT: 'saved text', treeJSON: treeAt('TEXT') },
+ });
+
+ expect(quest.root.querySelector('#TEXT_VALUE').value).toBe('saved text');
+ expect(quest.state.getActiveQuestionState().TEXT).toBe('saved text');
+ });
+
+ it('restores every checked value in a checkbox array', async () => {
+ const quest = await renderFreshQuest({
+ markdown: `
+ {"name":"RESTORE_CHECKS"}
+ [CHECK?] Select all.
+ [1] First
+ [2] Second
+ [3] Third
+ [END,end] Done.
+ `,
+ persistedData: { CHECK: ['1', '3'], treeJSON: treeAt('CHECK') },
+ });
+
+ expect(quest.root.querySelector('#CHECK_1').checked).toBe(true);
+ expect(quest.root.querySelector('#CHECK_2').checked).toBe(false);
+ expect(quest.root.querySelector('#CHECK_3').checked).toBe(true);
+ expect(quest.state.getActiveQuestionState().CHECK).toEqual(['1', '3']);
+ });
+
+ it('restores compound strings, radio values, and checkbox arrays by response key', async () => {
+ const quest = await renderFreshQuest({
+ markdown: `
+ {"name":"RESTORE_COMPOUND"}
+ [MULTI?] Supply several values.
+ [1:CHECK_GROUP] First
+ [2:CHECK_GROUP] Second
+ (7:RADIO_GROUP) Seven
+ (8:RADIO_GROUP) Eight
+ |__|id=DETAIL|
+ [END,end] Done.
+ `,
+ persistedData: {
+ MULTI: {
+ CHECK_GROUP: ['1', '2'],
+ RADIO_GROUP: '8',
+ DETAIL: 'restored detail',
+ },
+ treeJSON: treeAt('MULTI'),
+ },
+ });
+
+ expect(quest.root.querySelector('#CHECK_GROUP_1').checked).toBe(true);
+ expect(quest.root.querySelector('#CHECK_GROUP_2').checked).toBe(true);
+ expect(quest.root.querySelector('#RADIO_GROUP_8').checked).toBe(true);
+ expect(quest.root.querySelector('#DETAIL').value).toBe('restored detail');
+ });
+
+ it('restores XOR object values into authored XOR controls', async () => {
+ const quest = await renderFreshQuest({
+ markdown: `
+ {"name":"RESTORE_XOR"}
+ [XORQ?] Enter an XOR value. |__|id=XOR_FIELD xor=XOR_GROUP|
+ [END,end] Done.
+ `,
+ persistedData: {
+ XORQ: { XOR_GROUP: { XOR_FIELD: 'exclusive value' } },
+ treeJSON: treeAt('XORQ'),
+ },
+ });
+
+ expect(quest.root.querySelector('#XOR_FIELD').value).toBe('exclusive value');
+ });
+
+ it('ignores dynamically absent controls while retaining persisted state', async () => {
+ const quest = await renderFreshQuest({
+ markdown: `
+ {"name":"RESTORE_DYNAMIC"}
+ [DYNAMIC?] The host may add this control later.
+ [END,end] Done.
+ `,
+ persistedData: { DYNAMIC: 'host-owned value', treeJSON: treeAt('DYNAMIC') },
+ });
+
+ expect(quest.rendered).toBe(true);
+ expect(quest.state.getSurveyState().DYNAMIC).toBe('host-owned value');
+ expect(quest.errors).toEqual([]);
+ });
+
+ it('logs malformed object keys, unsupported response types, and unmatched radio values', async () => {
+ const quest = await renderFreshQuest();
+ const { restoreResponses } = await import('../../restoreResponses.js');
+
+ restoreResponses({ Q1: { '': 'bad' } }, 'Q1');
+ restoreResponses({ Q1: 42 }, 'Q1');
+ restoreResponses({ Q1: 'missing-radio-value' }, 'Q1');
+
+ expect(quest.errors.flat().join(' ')).toContain('skipping');
+ expect(quest.errors.flat().join(' ')).toContain('unhandled response type');
+ expect(quest.errors.flat().join(' ')).toContain('Problem with radio');
+ });
+
+ it('does nothing when the question or persisted response is absent', async () => {
+ const quest = await renderFreshQuest();
+ const { restoreResponses } = await import('../../restoreResponses.js');
+
+ expect(() => restoreResponses({}, 'Q1')).not.toThrow();
+ expect(() => restoreResponses({ MISSING: 'value' }, 'MISSING')).not.toThrow();
+ expect(quest.errors).toEqual([]);
+ });
+});
diff --git a/tests/integration/validation.spec.js b/tests/integration/validation.spec.js
new file mode 100644
index 0000000..2e58f48
--- /dev/null
+++ b/tests/integration/validation.spec.js
@@ -0,0 +1,205 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+import { loadFreshModuleGraph } from '../helpers/questRuntime.js';
+
+function appendInput({ type = 'text', value = '', attributes = {}, className = '' } = {}) {
+ const form = document.createElement('form');
+ const input = document.createElement('input');
+ input.type = type;
+ input.value = value;
+ input.className = className;
+ Object.entries(attributes).forEach(([key, attributeValue]) => {
+ input.setAttribute(key, attributeValue === true ? '' : String(attributeValue));
+ });
+ form.appendChild(input);
+ document.body.appendChild(form);
+ return { form, input };
+}
+
+describe('validation through exported behavior', () => {
+ let validateInput;
+ let moduleParams;
+
+ beforeEach(async () => {
+ ({ questionnaire: { moduleParams } } = await loadFreshModuleGraph());
+ ({ validateInput } = await import('../../validate.js'));
+ });
+
+ it('marks required empty values invalid and clears the message after correction', () => {
+ const { form, input } = appendInput({ type: 'text', attributes: { 'data-required': true } });
+
+ validateInput(input);
+ expect(input.classList).toContain('invalid');
+ expect(form.classList).toContain('invalid');
+ expect(input.nextElementSibling.firstElementChild.innerText).toContain('Please fill out this field');
+
+ input.value = 'valid';
+ validateInput(input);
+ expect(input.classList).not.toContain('invalid');
+ expect(form.classList).not.toContain('invalid');
+ expect(input.nextElementSibling).toBeNull();
+ });
+
+ it.each([
+ ['1', { 'data-min': '2', 'data-max': '8' }, 'greater than or equal to 2'],
+ ['9', { 'data-min': '2', 'data-max': '8' }, 'less than or equal to 8'],
+ ])('validates numeric boundaries for %s', (value, attributes, expected) => {
+ const { input } = appendInput({ type: 'number', value, attributes });
+ validateInput(input);
+ expect(input.nextElementSibling.firstElementChild.innerText).toContain(expected);
+ });
+
+ it('accepts an in-range number', () => {
+ const { input } = appendInput({ type: 'number', value: '5', attributes: { 'data-min': '2', 'data-max': '8' } });
+ validateInput(input);
+ expect(input.classList).not.toContain('invalid');
+ });
+
+ it.each([
+ ['email', 'invalid', 'email address'],
+ ['tel', '555-123', 'phone number'],
+ ['text', '000-00-0000', 'valid Social Security Number', 'SSN'],
+ ['text', '0000', 'last four digits', 'SSNsm'],
+ ])('rejects invalid %s input', (type, value, message, className = '') => {
+ const { input } = appendInput({ type, value, className });
+ validateInput(input);
+ expect(input.nextElementSibling.firstElementChild.innerText).toContain(message);
+ });
+
+ it.each([
+ ['email', 'person@example.org'],
+ ['tel', '555-555-1212'],
+ ['text', '123-45-6789', 'SSN'],
+ ['text', '1234', 'SSNsm'],
+ ])('accepts a valid %s input', (type, value, className = '') => {
+ const { input } = appendInput({ type, value, className });
+ validateInput(input);
+ expect(input.classList).not.toContain('invalid');
+ });
+
+ it('validates minimum, maximum, and exact text length', () => {
+ const short = appendInput({ value: 'a', attributes: { 'data-minlen': 2 } }).input;
+ validateInput(short);
+ expect(short.nextElementSibling.firstElementChild.innerText).toContain('at least 2');
+
+ const long = appendInput({ value: 'abcd', attributes: { 'data-maxlen': 3 } }).input;
+ validateInput(long);
+ expect(long.nextElementSibling.firstElementChild.innerText).toContain('at most 3');
+
+ const exact = appendInput({ value: 'ab', attributes: { 'data-minlen': 3, 'data-maxlen': 3 } }).input;
+ validateInput(exact);
+ expect(exact.nextElementSibling.firstElementChild.innerText).toContain('should have 3');
+ });
+
+ it('normalizes MM-YYYY month input and enforces month boundaries', () => {
+ const input = document.createElement('input');
+ const form = document.createElement('form');
+ input.setAttribute('type', 'month');
+ Object.defineProperty(input, 'value', { value: '02-2026', writable: true });
+ input.dataset.minDate = encodeURIComponent('2026-01');
+ input.dataset.maxDate = encodeURIComponent('2026-12');
+ form.appendChild(input);
+ document.body.appendChild(form);
+
+ validateInput(input);
+ expect(input.value).toBe('2026-02');
+ expect(input.classList).not.toContain('invalid');
+ });
+
+ it.each([
+ ['2025-12-31', { 'data-min-date': '2026-01-01' }, 'after 1/1/2026'],
+ ['2027-01-01', { 'data-max-date': '2026-12-31' }, 'before 12/31/2026'],
+ ])('validates date boundary %s', (value, attributes, message) => {
+ const { input } = appendInput({ type: 'date', value, attributes });
+ validateInput(input);
+ expect(input.nextElementSibling.firstElementChild.innerText).toContain(message);
+ });
+
+ it('accepts a date inside its authored boundaries', () => {
+ const { input } = appendInput({
+ type: 'date',
+ value: '2026-06-15',
+ attributes: { 'data-min-date': '2026-01-01', 'data-max-date': '2026-12-31' },
+ });
+ validateInput(input);
+ expect(input.classList).not.toContain('invalid');
+ });
+
+ it.each([
+ ['not-a-month', {}, 'YYYY-MM'],
+ ['2025-12', { min: '2026-01' }, 'after 2026-01'],
+ ['2027-01', { max: '2026-12' }, 'before 2026-12'],
+ ])('rejects invalid or out-of-range month value %s', (value, boundaries, message) => {
+ const input = document.createElement('input');
+ const form = document.createElement('form');
+ input.setAttribute('type', 'month');
+ Object.defineProperty(input, 'value', { value, writable: true });
+ if (boundaries.min) input.dataset.minDate = encodeURIComponent(boundaries.min);
+ if (boundaries.max) input.dataset.maxDate = encodeURIComponent(boundaries.max);
+ form.appendChild(input);
+ document.body.appendChild(form);
+
+ validateInput(input);
+ expect(input.nextElementSibling.firstElementChild.innerText).toContain(message);
+ });
+
+ it('validates checkbox minimum and maximum counts at the end of a response list', () => {
+ const form = document.createElement('form');
+ form.dataset.minCount = '2';
+ form.dataset.maxCount = '2';
+ form.innerHTML = `
+
+
+
+ `;
+ document.body.appendChild(form);
+ const inputs = [...form.querySelectorAll('input')];
+ const lastResponse = form.lastElementChild;
+
+ validateInput(inputs[0]);
+ expect(lastResponse.nextElementSibling.firstElementChild.innerText).toContain('selected 1');
+
+ inputs[1].checked = true;
+ validateInput(inputs[1]);
+ expect(lastResponse.classList).not.toContain('invalid');
+
+ inputs[2].checked = true;
+ validateInput(inputs[2]);
+ expect(lastResponse.nextElementSibling.firstElementChild.innerText).toContain('selected 3');
+ });
+
+ it('adds mismatch errors to both confirmation fields and clears both after correction', () => {
+ vi.spyOn(console, 'warn').mockImplementation(() => {});
+ const form = document.createElement('form');
+ form.innerHTML = `
+
+
+ `;
+ document.body.appendChild(form);
+ const original = form.querySelector('#ORIGINAL');
+ const confirmation = form.querySelector('#CONFIRM');
+
+ validateInput(confirmation);
+ expect(original.classList).toContain('invalid');
+ expect(confirmation.classList).toContain('invalid');
+ expect(confirmation.nextElementSibling.firstElementChild.innerText).toContain('do not match');
+
+ confirmation.value = 'first';
+ validateInput(confirmation);
+ expect(original.classList).not.toContain('invalid');
+ expect(confirmation.classList).not.toContain('invalid');
+ });
+
+ it('intentionally skips validation for native radio and time controls', () => {
+ const radio = appendInput({ type: 'radio', value: '1' }).input;
+ const time = appendInput({ type: 'time', value: '10:30' }).input;
+ validateInput(radio);
+ validateInput(time);
+ expect(moduleParams.errorLogger).not.toHaveBeenCalled();
+ });
+
+ it('reports unsupported input types through the host logger', () => {
+ const { input } = appendInput({ type: 'color', value: '#ffffff' });
+ validateInput(input);
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('no handle for type: color'), input);
+ });
+});
diff --git a/tests/knownDefects/registry.js b/tests/knownDefects/registry.js
new file mode 100644
index 0000000..eb4120a
--- /dev/null
+++ b/tests/knownDefects/registry.js
@@ -0,0 +1,99 @@
+const DEFAULT_OWNER = 'Quest maintainers';
+const DEFAULT_EXPIRY = '2027-08-04';
+
+function defect(localDefectId, target, reason, extra = {}) {
+ return Object.freeze({
+ localDefectId,
+ target,
+ reason,
+ owner: DEFAULT_OWNER,
+ expiry: DEFAULT_EXPIRY,
+ ...extra,
+ });
+}
+
+/**
+ * Existing Quest behavior characterized before production changes resume.
+ * Behavioral reproductions run in the non-blocking known-defect lane. Registry
+ * metadata and expiry are checked in the blocking quality lane so accepted
+ * failures must be fixed, removed, or renewed before they become
+ * permanent.
+ */
+export const runtimeDefects = Object.freeze({
+ treeDepthFirst: defect('QD-TREE-001', 'Tree.next depth-first traversal across root siblings', 'Traversal stops after the first root branch instead of continuing to later siblings.'),
+ treePrune: defect('QD-TREE-002', 'Tree.prune branch removal', 'Pruning does not return to the authored predecessor with the expected sibling structure intact.'),
+ treeHasNext: defect('QD-TREE-003', 'Tree.hasNext non-mutating lookahead', 'Lookahead reports false for the first root child even though a next value exists.'),
+ gridRowCondition: defect('QD-GRID-001', 'Radio-grid row displayif encoding', 'The row condition is encoded more than once and cannot be decoded to the authored expression.'),
+ gridBackFocusLifecycle: defect('QD-GRID-002', 'Grid Back focus-helper lifecycle', 'Returning to a previously answered grid restores its values but logs that the focus helper is missing instead of preserving a valid focus-management node.', {
+ sourcePaths: ['prod/module2.txt'],
+ questionId: 'D_981441822',
+ }),
+ mathDotValue: defect('QD-MATH-001', 'MathJS dot-notation value lookup', 'A valid leaf in a one-property response object is not returned.'),
+ mathDotExists: defect('QD-MATH-002', 'MathJS dot-notation existence lookup', 'exists() does not recognize a valid nested response leaf.'),
+ mathMonthRange: defect('QD-MATH-003', 'dateCompare documented month range', 'dateCompare accepts month 12 even though its contract documents zero through eleven.'),
+ legacyQuotedString: defect('QD-COND-001', 'Legacy condition quoted-string fallback', 'Fallback parsing drops or misinterprets quoted string literals.'),
+ corpusMalformedCondition: defect('QD-CORPUS-001', 'Malformed production condition fallback', 'The truncated COVID-19 grid condition falls back to a truthy function-name string, so its false outcome and hidden state are unreachable.', {
+ owner: 'Questionnaire maintainers',
+ corpusCommit: '7ae99a22af325cf0e14be047a7636462db9bfd50',
+ sourcePaths: ['prod/moduleCOVID19.txt', 'prod/moduleCOVID19Spanish.txt'],
+ questionId: 'D_114280729',
+ }),
+ storeRollback: defect('QD-STORE-001', 'Store failure state rollback', 'Navigation rolls back after non-200/rejected writes, but the pre-write response snapshot is not restored.'),
+ sequentialHostCallbacks: defect('QD-STATE-001', 'Sequential render host callback rebinding', 'Module-level state keeps the first render host callbacks when a second survey is rendered in the same document.'),
+ finalCompoundResponseRemoval: defect('QD-STATE-002', 'Final compound response removal', 'Removing the final key assigns undefined without deleting the enumerable key, leaving a stale response object in active state.'),
+ clearedRestoredResponseLookup: defect('QD-STATE-003', 'Cleared restored response lookup', 'Clearing a restored scalar removes its live index entries, but lookup falls back to the old value retained in survey state.'),
+ unsyncedArrayResponseLookup: defect('QD-STATE-004', 'Unsynced array response lookup', 'Live cache lookup excludes arrays and objects, so an unsynced checkbox-array response cannot be found until it reaches survey state.'),
+ backResumeResponseRestoration: defect('QD-STATE-005', 'Back-generated tree token response restoration on resume', 'Back persists the authored question token with its ? or ! marker, but startup looks up the retained response under that raw token instead of the normalized form ID, leaving the resumed answer visually unselected.'),
+ malformedLoopContinuation: defect('QD-QP-001', 'Malformed loop-continuation target handling', 'A malformed _CONTINUE target dereferences a failed regular-expression match instead of logging the invalid target and returning no question.'),
+ currentQuestionUpperBoundary: defect('QD-QP-002', 'Current-question upper-bound guard', 'An index equal to the question count passes the range guard and attempts to process an undefined question.'),
+ missingConfirmationTarget: defect('QD-QP-003', 'Missing confirmation target handling', 'A confirmation input that references a missing peer removes its invalid attribute but then dereferences the missing peer.'),
+ missingQuestionId: defect('QD-QP-004', 'Missing question-ID lookup', 'findQuestion logs a missing ID but then calls startsWith on the absent value instead of returning its documented not-found result.'),
+ explicitCombinedChoiceName: defect('QD-QP-005', 'Explicit name metadata on legacy combined choices', 'The combined-choice parser interpolates the full regular-expression match array, producing a duplicated comma-separated name instead of the authored name.'),
+ submitFocusRestore: defect('QD-A11Y-001', 'Submit-dialog Escape focus restoration', 'The dialog closes on Escape but leaves focus inactive instead of returning it to the Submit Survey trigger.'),
+ modalQuestionFocusRace: defect('QD-A11Y-002', 'Question-to-modal focus handoff', 'A pending delayed question-focus callback can run after a response dialog opens and move focus away from the dialog title.'),
+ staleSelectionAnnouncement: defect('QD-A11Y-003', 'Selection announcement after navigation', 'A delayed selection announcement can repopulate the live region after Next or Back explicitly clears it.'),
+ gridDeferredFocusAfterNavigation: defect('QD-A11Y-004', 'Windows grid focus-helper after navigation', 'A pending Windows grid-focus callback can move the shared helper back into an inactive grid after the participant advances.'),
+ authoringFallbackClear: defect('QD-AUTHOR-001', 'Authoring clear-memory operation after localforage fallback', 'The fallback storage adapter has no removeItem method, so Clear Memory throws after initialization falls back.', {
+ source: 'index.html authoring interface',
+ }),
+});
+
+export const axeDefects = Object.freeze({
+ progressbarName: defect('QD-AXE-001', '#progressBar accessible name', 'The progressbar has no accessible name.', { ruleId: 'aria-progressbar-name', impact: 'serious', targets: ['#progressBar'] }),
+ progressbarValue: defect('QD-AXE-002', '#progressBar ARIA value', 'The progressbar exposes an invalid ARIA attribute value.', { ruleId: 'aria-valid-attr-value', impact: 'critical', targets: ['#progressBar'] }),
+ emptyGridHeader: defect('QD-AXE-003', 'Grid row-header spacer', 'The responsive grid contains an empty table header cell.', { ruleId: 'empty-table-header', impact: 'minor', targets: ['.nr.hr'] }),
+ validationContrast: defect('QD-AXE-004', 'Validation message contrast', 'The visible validation message does not meet the required color contrast.', { ruleId: 'color-contrast', impact: 'serious', targets: ['.validation-container > span'] }),
+ validationLabel: defect('QD-AXE-005', 'Bounded numeric input label', 'The input relies on a title-only label relationship.', { ruleId: 'label-title-only', impact: 'serious', targets: ['#bounded'] }),
+ imageAlt: defect('QD-AXE-006', 'Question image text alternative', 'QuestionProcessor emits an image without an alternative text attribute.', { ruleId: 'image-alt', impact: 'critical', targets: ['#PLAIN img'] }),
+});
+
+export const accessibilityDefects = Object.freeze({
+ compoundQuestionContext: defect('QD-A11Y-005', 'Compound-question radio context', 'Radio choices in a multi-subgroup form are named only by their response option, not the subgroup prompt that gives the choice its meaning.', {
+ sourcePaths: ['prod/moduleDietScreener', 'prod/moduleDietScreenerSpanish.txt'],
+ questionId: 'D_916948380',
+ automatedContract: 'Each radio choice exposes both its subgroup prompt and its response option in its accessible name or equivalent accessible context.',
+ manualContract: 'Verify that VoiceOver and JAWS announce the food or sub-question prompt together with the selected frequency when moving across a compound form.',
+ }),
+ 1079: defect('CONNECT-1079', 'Quest 2 participant choice semantics', 'Choice inputs are not consistently exposed to assistive technology with their native role, accessible name, and checked state.', {
+ issue: 'https://github.com/episphere/connect/issues/1079',
+ title: 'Quest2 - JAWS and VoiceOver for Quest2',
+ scope: 'Quest 2 participant runtime only; Quest 1 is intentionally out of scope.',
+ automatedContract: 'Each choice remains discoverable by native radio role and accessible name, and exposes its checked state.',
+ manualContract: 'Recheck real VoiceOver/Safari and JAWS/Chrome or Edge announcement, focus, and activation after the PWA redesign.',
+ limitation: 'Playwright accessibility trees do not run VoiceOver or JAWS and cannot validate their command-routing modes.',
+ }),
+ 1587: defect('CONNECT-1587', 'Native participant keyboard behavior', 'Quest delegated key handling suppresses browser-native input behavior.', {
+ issue: 'https://github.com/episphere/connect/issues/1587',
+ title: 'Keyboard Navigation for Quest',
+ scope: 'Keyboard-only operation without requiring a screen reader.',
+ automatedContract: 'Focused native radios, checkboxes, and selects retain their standard Space and arrow-key behavior.',
+ manualContract: 'Test Tab/Shift+Tab, Enter, Space, radio arrows, checkbox Space, and native select keys separately from screen-reader commands.',
+ limitation: 'VoiceOver Quick Nav and the JAWS Virtual Cursor alter key routing; those are recorded in the manual matrix instead of treated as raw browser key events.',
+ }),
+});
+
+export const allKnownDefects = Object.freeze([
+ ...Object.values(runtimeDefects),
+ ...Object.values(axeDefects),
+ ...Object.values(accessibilityDefects),
+]);
diff --git a/tests/knownDefects/runtime.spec.js b/tests/knownDefects/runtime.spec.js
new file mode 100644
index 0000000..a48c6fa
--- /dev/null
+++ b/tests/knownDefects/runtime.spec.js
@@ -0,0 +1,298 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+import { parseGrid } from '../../buildGrid.js';
+import { Tree } from '../../tree.js';
+import { renderFreshQuest, SIMPLE_SURVEY } from '../helpers/questRuntime.js';
+import { runtimeDefects } from './registry.js';
+
+const expectedCovidGridResponseIds = [
+ 'D_488415137', 'D_167695804', 'D_730334054', 'D_215996690',
+ 'D_462737492', 'D_469675296', 'D_962475128', 'D_989576239',
+ 'D_338613869', 'D_126794793', 'D_218793117', 'D_524096053',
+ 'D_814101706', 'D_635026188', 'D_238135048', 'D_632714520',
+].flatMap((id) => [`${id}_0`, `${id}_1`]);
+
+// Reviewed against the locked English and Spanish COVID Markdown. Both files
+// contain this identical, truncated display condition for D_114280729.
+const MALFORMED_COVID_GRID_COMPLEMENT = 'someSelected("D_488415137_0","D_488415137_1","D_167695804_0","D_167695804_1","D_730334054_0","D_730334054_1","D_215996690_0","D_215996690_1","D_462737492_0","D_462737492_1","D_469675296_0","D_469675296_1","D_962475128_0","D_962475128_1","D_989576239_0","D_989576239_1","D_338613869_0","D_338613869_1","D_126794793_0","D_126794793_1","D_218793117_0","D_218793117_1","D_524096053_0","SRVCOV_COV19C1_V1R0_1,1","D_814101706_0","D_814101706_1","D_635026188_0","D_238135048_0","D_238135048_1","D_632714520_0","D_632714520_1';
+
+function buildBranchedTree() {
+ const tree = new Tree();
+ tree.add(['Q1', 'Q2', 'Q3']);
+ tree.next();
+ tree.add('Q1A');
+ tree.next();
+ tree.add('Q1B');
+ tree.next();
+ return tree;
+}
+
+async function loadStateManager(initialState = {}) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = {};
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ const appState = stateModule.getStateManager();
+ appState.loadInitialSurveyState(initialState);
+ appState.setQuestionProcessor({
+ findQuestion: () => ({ question: null }),
+ findGridRadioCheckboxEle: () => null,
+ });
+ return appState;
+}
+
+async function loadMathWithState(initialState = {}) {
+ const appState = await loadStateManager(initialState);
+ const mathModule = await import('../../customMathJSImplementation.js');
+ mathModule.customMathJSFunctions.appState = appState;
+ return mathModule.customMathJSFunctions;
+}
+
+async function loadEvaluator(state = {}, previousResults = {}) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = previousResults;
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ stateModule.getStateManager().loadInitialSurveyState(state);
+ return (await import('../../evaluateConditions.js')).evaluateCondition;
+}
+
+async function loadQuestionProcessor(markdown) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ const i18n = (await import('../../i18n/en.js')).default;
+ questionnaire.moduleParams.i18n = i18n;
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = {};
+ questionnaire.moduleParams.asyncQuestionsMap = {};
+ questionnaire.moduleParams.renderFullQuestionList = true;
+ questionnaire.moduleParams.isRenderer = true;
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ const appState = stateModule.getStateManager();
+ appState.loadInitialSurveyState({});
+
+ const { initializeCustomMathJSFunctions } = await import('../../customMathJSImplementation.js');
+ initializeCustomMathJSFunctions();
+ const { QuestionProcessor } = await import('../../questionProcessor.js');
+ const processor = new QuestionProcessor(markdown, {
+ current_date: new Date('2026-03-15T12:00:00Z'),
+ current_day: 15,
+ current_month: 3,
+ current_month_str: 2,
+ current_year: 2026,
+ quest_format_date: '2026-3-15',
+ }, i18n);
+ appState.setQuestionProcessor(processor);
+
+ return { processor, errorLogger: questionnaire.moduleParams.errorLogger };
+}
+
+async function answerAndAdvance(quest) {
+ quest.root.querySelector('#Q1_1').click();
+ quest.root.querySelector('#Q1 .next').click();
+ await vi.waitFor(() => expect(quest.store).toHaveBeenCalled());
+}
+
+describe('characterized Quest runtime defects', () => {
+ beforeEach(() => vi.useRealTimers());
+
+ it.fails(`${runtimeDefects.treeDepthFirst.localDefectId}: walks all root branches depth-first`, () => {
+ const tree = buildBranchedTree();
+ expect(tree.next().value.value).toBe('Q2');
+ expect(tree.next().value.value).toBe('Q3');
+ expect(tree.next()).toEqual({ done: true, value: undefined });
+ });
+
+ it.fails(`${runtimeDefects.treePrune.localDefectId}: prunes the current branch`, () => {
+ const tree = new Tree();
+ tree.add(['Q1', 'Q2']);
+ tree.next();
+ tree.add('Q1A');
+ tree.next();
+ tree.prune();
+ expect(tree.currentNode.value).toBe('Q1');
+ expect(tree.currentNode.children).toEqual([]);
+ expect(tree.rootNode.children.map(({ value }) => value)).toEqual(['Q1', 'Q2']);
+ });
+
+ it.fails(`${runtimeDefects.treeHasNext.localDefectId}: reports lookahead without mutation`, () => {
+ const tree = new Tree();
+ tree.add('Q1');
+ expect(tree.hasNext()).toBe(true);
+ expect(tree.currentNode).toBe(tree.rootNode);
+ });
+
+ it.fails(`${runtimeDefects.gridRowCondition.localDefectId}: encodes a row condition once`, () => {
+ const html = parseGrid(
+ '|grid?|id=GRID|Shared|[ROW,displayif=equals(SHOW,1)]Conditional row;|(1:Yes)|',
+ '',
+ );
+ const template = document.createElement('template');
+ template.innerHTML = html;
+ expect(decodeURIComponent(template.content.querySelector('[data-displayif]').dataset.displayif)).toBe('equals(SHOW,1)');
+ });
+
+ it.fails(`${runtimeDefects.mathDotValue.localDefectId}: resolves a dot-notation leaf`, async () => {
+ const fn = await loadMathWithState({ OBJECT: { NESTED: 'value' } });
+ expect(fn.getKeyedValue('OBJECT.NESTED')).toBe('value');
+ });
+
+ it.fails(`${runtimeDefects.mathDotExists.localDefectId}: recognizes an existing dot-notation leaf`, async () => {
+ const fn = await loadMathWithState({ OBJECT: { NESTED: 'value' } });
+ expect(fn.exists('OBJECT.NESTED')).toBe(true);
+ });
+
+ it.fails(`${runtimeDefects.mathMonthRange.localDefectId}: rejects month 12`, async () => {
+ const fn = await loadMathWithState();
+ expect(() => fn.dateCompare(12, 2026, 1, 2027)).toThrow('months need to be');
+ });
+
+ it.fails(`${runtimeDefects.legacyQuotedString.localDefectId}: preserves quoted fallback literals`, async () => {
+ const evaluateCondition = await loadEvaluator({}, { PRIOR: 'yes' });
+ expect(evaluateCondition('equals(PRIOR,"yes")')).toBe(true);
+ });
+
+ it.fails(`${runtimeDefects.corpusMalformedCondition.localDefectId}: rejects a truncated function expression`, async () => {
+ const evaluateCondition = await loadEvaluator();
+ expect(evaluateCondition('someSelected("D_632714520_1')).toBe(false);
+ });
+
+ it.fails.each(['English', 'Spanish'])(`${runtimeDefects.corpusMalformedCondition.localDefectId}: %s COVID Markdown keeps the complete grid complement`, async () => {
+ const authoredResponseIds = [...MALFORMED_COVID_GRID_COMPLEMENT.matchAll(/"([^"]+)"/g)]
+ .map(([, responseId]) => responseId);
+
+ expect(authoredResponseIds).toEqual(expectedCovidGridResponseIds);
+
+ const evaluateCondition = await loadEvaluator();
+ expect(evaluateCondition(MALFORMED_COVID_GRID_COMPLEMENT)).toBe(false);
+ });
+
+ it.fails.each(['non200', 'reject'])(
+ `${runtimeDefects.storeRollback.localDefectId}: restores the snapshot after a %s store result`,
+ async (storeMode) => {
+ const quest = await renderFreshQuest({ storeMode });
+ await answerAndAdvance(quest);
+ await vi.waitFor(() => expect(quest.root.querySelector('form.active')?.id).toBe('Q1'));
+ expect(quest.state.getSurveyState()).not.toHaveProperty('Q1');
+ },
+ );
+
+ it.fails(`${runtimeDefects.sequentialHostCallbacks.localDefectId}: rebinds second-render callbacks`, async () => {
+ const first = await renderFreshQuest();
+ const secondStore = vi.fn(async () => ({ code: 200 }));
+ document.body.innerHTML = '';
+ await first.transform.render({
+ activate: true,
+ text: SIMPLE_SURVEY.replace('TEST_MODULE', 'SECOND_MODULE'),
+ store: secondStore,
+ errorLogger: () => {},
+ }, 'secondRoot');
+ document.querySelector('#Q1_1').click();
+ document.querySelector('#Q1 .next').click();
+ await vi.waitFor(() => expect(secondStore).toHaveBeenCalled());
+ });
+
+ it.fails(`${runtimeDefects.finalCompoundResponseRemoval.localDefectId}: removes the question after its final compound response is cleared`, async () => {
+ const appState = await loadStateManager();
+ appState.setResponse('Q1', 'ONLY', 2, 'selected');
+
+ appState.removeResponseItem('Q1', 'ONLY', 2);
+
+ expect(appState.getActiveQuestionState()).not.toHaveProperty('Q1');
+ expect(appState.getResponseToQuestionMapping()).not.toHaveProperty('ONLY.Q1');
+ expect(appState.getCache()).not.toHaveProperty('ONLY.Q1');
+ });
+
+ it.fails(`${runtimeDefects.clearedRestoredResponseLookup.localDefectId}: does not return a restored scalar after it is cleared`, async () => {
+ const appState = await loadStateManager({ Q1: 'restored' });
+ appState.setActiveQuestionState('Q1');
+
+ appState.setResponse('Q1', 'Q1', 1, '');
+
+ expect(appState.findResponseValue('Q1')).toBeUndefined();
+ });
+
+ it.fails(`${runtimeDefects.unsyncedArrayResponseLookup.localDefectId}: returns a live checkbox array before storage`, async () => {
+ const appState = await loadStateManager();
+ appState.setResponse('Q1', 'CHECKBOX', 2, ['one', 'two']);
+
+ expect(appState.findResponseValue('CHECKBOX', 'Q1')).toEqual(['one', 'two']);
+ });
+
+ it.fails(`${runtimeDefects.malformedLoopContinuation.localDefectId}: rejects a malformed loop continuation without throwing`, async () => {
+ const { processor, errorLogger } = await loadQuestionProcessor(`
+ {"name":"MALFORMED_CONTINUE"}
+ [Q1] First.
+ [END,end] Done.
+ `);
+ let result;
+
+ expect(() => {
+ result = processor.findQuestion('_CONTINUE_BAD');
+ }).not.toThrow();
+ expect(result).toEqual({ question: null, index: -1 });
+ expect(errorLogger.mock.calls.some(
+ ([message]) => String(message).includes('loop index not found'),
+ )).toBe(true);
+ });
+
+ it.fails(`${runtimeDefects.currentQuestionUpperBoundary.localDefectId}: returns null when the current index equals the question count`, async () => {
+ const { processor, errorLogger } = await loadQuestionProcessor(`
+ {"name":"UPPER_BOUNDARY"}
+ [Q1] First.
+ [END,end] Done.
+ `);
+ processor.currentQuestionIndex = processor.questions.length;
+
+ expect(processor.getCurrentQuestion()).toBeNull();
+ expect(errorLogger).toHaveBeenCalledWith(expect.stringContaining('index out of range'));
+ });
+
+ it.fails(`${runtimeDefects.missingConfirmationTarget.localDefectId}: ignores an invalid confirmation reference without throwing`, async () => {
+ const { processor } = await loadQuestionProcessor(`
+ {"name":"MISSING_CONFIRMATION"}
+ [Q1] Confirm
+ [END,end] Done.
+ `);
+ let question;
+
+ expect(() => {
+ question = processor.processQuestion(0);
+ }).not.toThrow();
+ expect(question.querySelector('#COPY').hasAttribute('data-confirm')).toBe(false);
+ });
+
+ it.fails(`${runtimeDefects.missingQuestionId.localDefectId}: returns the documented not-found result for an absent question ID`, async () => {
+ const { processor, errorLogger } = await loadQuestionProcessor(`
+ {"name":"MISSING_ID"}
+ [Q1] First.
+ [END,end] Done.
+ `);
+ let result;
+
+ expect(() => {
+ result = processor.findQuestion();
+ }).not.toThrow();
+ expect(result).toEqual({ question: null, index: -1 });
+ expect(errorLogger.mock.calls.some(
+ ([message]) => String(message).includes('no questionID provided'),
+ )).toBe(true);
+ });
+
+ it.fails(`${runtimeDefects.explicitCombinedChoiceName.localDefectId}: preserves an authored combined-choice name exactly`, async () => {
+ const { processor } = await loadQuestionProcessor(`
+ {"name":"EXPLICIT_COMBINED_NAME"}
+ [Q1?] Other response.
+ [other|id=EXPLICIT_CHOICE name=EXPLICIT_NAME] Explain -> END
+ [END,end] Done.
+ `);
+
+ const choice = processor.findQuestion('Q1').question.querySelector('#EXPLICIT_CHOICE');
+ expect(choice.name).toBe('EXPLICIT_NAME');
+ });
+});
diff --git a/tests/knownDefects/vitest.config.js b/tests/knownDefects/vitest.config.js
new file mode 100644
index 0000000..477e849
--- /dev/null
+++ b/tests/knownDefects/vitest.config.js
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vitest/config';
+import { questDependencyResolver } from '../config/moduleResolution.js';
+
+export default defineConfig({
+ plugins: [questDependencyResolver],
+ test: {
+ environment: 'jsdom',
+ environmentOptions: {
+ jsdom: { url: 'https://connect.test/' },
+ },
+ setupFiles: ['./tests/setup/jsdom.js'],
+ include: ['./tests/knownDefects/**/*.spec.js'],
+ clearMocks: true,
+ restoreMocks: true,
+ mockReset: true,
+ testTimeout: 15_000,
+ hookTimeout: 15_000,
+ },
+});
diff --git a/tests/quality/scripts/checkTestOnlyScope.mjs b/tests/quality/scripts/checkTestOnlyScope.mjs
new file mode 100644
index 0000000..f863e0a
--- /dev/null
+++ b/tests/quality/scripts/checkTestOnlyScope.mjs
@@ -0,0 +1,155 @@
+#!/usr/bin/env node
+
+import { execFileSync, spawnSync } from 'node:child_process';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+export const BOOTSTRAP_BASE_SHA = '982f24ddc133d2e0153b792521da0af4c769b0b9';
+
+const SCRIPT_PATH = fileURLToPath(import.meta.url);
+const REPOSITORY_ROOT = path.resolve(path.dirname(SCRIPT_PATH), '..', '..', '..');
+const ROOT_CONFIG_FILES = new Set([
+ 'playwright.config.js',
+ 'vite.config.js',
+ 'vitest.config.js',
+]);
+const ROOT_METADATA_FILES = new Set([
+ '.gitignore',
+ '.node-version',
+ '.nvmrc',
+ 'README.md',
+]);
+
+export function scopeDecision(repositoryPath) {
+ if (!isSafeRepositoryPath(repositoryPath)) {
+ return { allowed: false, reason: 'path is not a safe normalized repository-relative path' };
+ }
+
+ if (repositoryPath.startsWith('i18n/')) {
+ return { allowed: false, reason: 'production i18n source is outside this test-only pull request' };
+ }
+
+ if (!repositoryPath.includes('/') && /\.(?:css|html)$/i.test(repositoryPath)) {
+ return { allowed: false, reason: 'root production CSS/HTML is outside this test-only pull request' };
+ }
+
+ if (!repositoryPath.includes('/') && repositoryPath.endsWith('.js') && !ROOT_CONFIG_FILES.has(repositoryPath)) {
+ return { allowed: false, reason: 'root production JavaScript is outside this test-only pull request' };
+ }
+
+ if (repositoryPath.startsWith('tests/')) return { allowed: true };
+ if (repositoryPath.startsWith('.github/')) return { allowed: true };
+ if (repositoryPath.startsWith('docs/')) return { allowed: true };
+ if (ROOT_METADATA_FILES.has(repositoryPath)) return { allowed: true };
+ if (ROOT_CONFIG_FILES.has(repositoryPath)) return { allowed: true };
+ if (/^package[^/]*\.json$/.test(repositoryPath)) return { allowed: true };
+
+ return { allowed: false, reason: 'path is not in the bootstrap test-infrastructure allowlist' };
+}
+
+export function checkTestOnlyScope({
+ repositoryRoot = REPOSITORY_ROOT,
+ baseRevision = BOOTSTRAP_BASE_SHA,
+ headRevision = 'HEAD',
+} = {}) {
+ const baseSha = resolveCommit(repositoryRoot, baseRevision, 'bootstrap base');
+ const headSha = resolveCommit(repositoryRoot, headRevision, 'head');
+ assertAncestor(repositoryRoot, baseSha, headSha);
+
+ const changedPaths = changedPathsBetween(repositoryRoot, baseSha, headSha);
+ const violations = changedPaths
+ .map((changedPath) => ({ path: changedPath, ...scopeDecision(changedPath) }))
+ .filter(({ allowed }) => !allowed)
+ .sort((left, right) => comparePaths(left.path, right.path));
+
+ if (violations.length > 0) {
+ throw new Error([
+ 'Bootstrap test-only scope gate failed.',
+ `Only reviewed test infrastructure may differ from ${baseSha}.`,
+ ...violations.map(({ path: changedPath, reason }) => `- ${changedPath}: ${reason}`),
+ ].join('\n'));
+ }
+
+ return { baseSha, headSha, changedPaths };
+}
+
+export function parseScopeCliArgs(argv) {
+ const options = {};
+ for (let index = 0; index < argv.length; index += 1) {
+ const argument = argv[index];
+ if (argument !== '--head') throw new Error(`Unknown test-only scope argument: ${argument}`);
+ const headRevision = argv[index + 1];
+ if (!headRevision || headRevision.startsWith('--')) {
+ throw new Error('--head requires an exact revision argument.');
+ }
+ options.headRevision = headRevision;
+ index += 1;
+ }
+ return options;
+}
+
+function resolveCommit(repositoryRoot, revision, label) {
+ try {
+ const sha = execFileSync(
+ 'git',
+ ['-C', repositoryRoot, 'rev-parse', '--verify', `${revision}^{commit}`],
+ { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] },
+ ).trim();
+ if (!/^[0-9a-f]{40}$/.test(sha)) throw new Error(`resolved unsupported object ID ${sha}`);
+ return sha;
+ } catch (error) {
+ const detail = error.stderr?.toString().trim() || error.message;
+ throw new Error(`Unable to resolve ${label} revision ${revision}: ${detail}`);
+ }
+}
+
+function assertAncestor(repositoryRoot, baseSha, headSha) {
+ const result = spawnSync(
+ 'git',
+ ['-C', repositoryRoot, 'merge-base', '--is-ancestor', baseSha, headSha],
+ { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] },
+ );
+ if (result.error) throw result.error;
+ if (result.status === 1) {
+ throw new Error(`Bootstrap base ${baseSha} is not an ancestor of head ${headSha}.`);
+ }
+ if (result.status !== 0) {
+ throw new Error(`Unable to verify bootstrap ancestry: ${result.stderr.trim() || `git exited ${result.status}`}`);
+ }
+}
+
+function changedPathsBetween(repositoryRoot, baseSha, headSha) {
+ const output = execFileSync(
+ 'git',
+ ['-C', repositoryRoot, 'diff', '--name-only', '--no-renames', '-z', `${baseSha}...${headSha}`, '--'],
+ { encoding: 'buffer', stdio: ['ignore', 'pipe', 'pipe'] },
+ );
+ const decoded = new TextDecoder('utf-8', { fatal: true }).decode(output);
+ return decoded.split('\0').filter(Boolean).sort(comparePaths);
+}
+
+function comparePaths(left, right) {
+ if (left < right) return -1;
+ if (left > right) return 1;
+ return 0;
+}
+
+function isSafeRepositoryPath(repositoryPath) {
+ if (typeof repositoryPath !== 'string' || repositoryPath.length === 0) return false;
+ if (repositoryPath.startsWith('/') || repositoryPath.includes('\\')) return false;
+ if (/[\u0000-\u001f\u007f]/.test(repositoryPath)) return false;
+ const segments = repositoryPath.split('/');
+ return segments.every((segment) => segment.length > 0 && segment !== '.' && segment !== '..');
+}
+
+if (process.argv[1] && path.resolve(process.argv[1]) === SCRIPT_PATH) {
+ try {
+ const result = checkTestOnlyScope(parseScopeCliArgs(process.argv.slice(2)));
+ console.log(
+ `Bootstrap test-only scope passed: ${result.changedPaths.length} changed path(s) from ${result.baseSha} to ${result.headSha}.`,
+ );
+ } catch (error) {
+ console.error(error.message);
+ process.exitCode = 1;
+ }
+}
diff --git a/tests/scripts/runKnownDefects.mjs b/tests/scripts/runKnownDefects.mjs
new file mode 100644
index 0000000..64e2dfa
--- /dev/null
+++ b/tests/scripts/runKnownDefects.mjs
@@ -0,0 +1,32 @@
+#!/usr/bin/env node
+
+import { spawnSync } from 'node:child_process';
+import { createRequire } from 'node:module';
+
+const require = createRequire(import.meta.url);
+const commands = [
+ [require.resolve('vitest/vitest.mjs'), 'run', '--config', 'tests/knownDefects/vitest.config.js'],
+ [
+ require.resolve('@playwright/test/cli'),
+ 'test',
+ '--project=chromium-desktop',
+ '--project=chromium-windows-ua',
+ '--project=firefox-desktop',
+ '--project=webkit-desktop',
+ '--grep',
+ '@known-defect',
+ ],
+];
+
+let failed = false;
+for (const [entrypoint, ...args] of commands) {
+ const result = spawnSync(process.execPath, [entrypoint, ...args], {
+ cwd: process.cwd(),
+ env: process.env,
+ stdio: 'inherit',
+ });
+ if (result.error) throw result.error;
+ if (result.status !== 0) failed = true;
+}
+
+process.exitCode = failed ? 1 : 0;
diff --git a/tests/setup/jsdom.js b/tests/setup/jsdom.js
new file mode 100644
index 0000000..4b5b2f9
--- /dev/null
+++ b/tests/setup/jsdom.js
@@ -0,0 +1,115 @@
+import { afterEach, beforeEach, expect, vi } from 'vitest';
+
+let unexpectedNetworkAttempts = [];
+
+function networkTarget(input) {
+ if (typeof input === 'string') return input;
+ if (input instanceof URL) return input.href;
+ return input?.url ?? String(input);
+}
+
+function installOfflineNetworkBoundary() {
+ unexpectedNetworkAttempts = [];
+
+ const denyFetch = vi.fn(async (input) => {
+ const target = networkTarget(input);
+ unexpectedNetworkAttempts.push({ transport: 'fetch', target });
+ throw new Error(`Unexpected jsdom fetch blocked by the offline test boundary: ${target}`);
+ });
+ Object.defineProperty(denyFetch, 'questDenyByDefault', { value: true });
+ vi.stubGlobal('fetch', denyFetch);
+
+ class OfflineXMLHttpRequest {
+ static questDenyByDefault = true;
+
+ open(method, url) {
+ this.method = method;
+ this.url = networkTarget(url);
+ }
+
+ send() {
+ const target = this.url ?? '';
+ unexpectedNetworkAttempts.push({
+ transport: 'XMLHttpRequest',
+ method: this.method ?? null,
+ target,
+ });
+ throw new Error(`Unexpected jsdom XMLHttpRequest blocked by the offline test boundary: ${target}`);
+ }
+
+ abort() {}
+ setRequestHeader() {}
+ }
+
+ vi.stubGlobal('XMLHttpRequest', OfflineXMLHttpRequest);
+}
+
+class BootstrapComponentStub {
+ static instances = new WeakMap();
+
+ constructor(element) {
+ this._element = element;
+ this.constructor.instances.set(element, this);
+ }
+
+ static getInstance(element) {
+ return this.instances.get(element) ?? null;
+ }
+
+ show() {
+ this._element?.classList.add('show');
+ this._element?.dispatchEvent(new Event('shown.bs.modal'));
+ }
+
+ hide() {
+ this._element?.classList.remove('show');
+ this._element?.dispatchEvent(new Event('hidden.bs.modal'));
+ }
+
+ dispose() {
+ this.constructor.instances.delete(this._element);
+ }
+}
+
+beforeEach(() => {
+ installOfflineNetworkBoundary();
+ document.documentElement.lang = 'en';
+ document.body.innerHTML = '';
+
+ globalThis.bootstrap = {
+ Modal: class ModalStub extends BootstrapComponentStub {},
+ Popover: class PopoverStub extends BootstrapComponentStub {},
+ };
+
+ window.matchMedia = vi.fn().mockImplementation((query) => ({
+ matches: false,
+ media: query,
+ onchange: null,
+ addListener: vi.fn(),
+ removeListener: vi.fn(),
+ addEventListener: vi.fn(),
+ removeEventListener: vi.fn(),
+ dispatchEvent: vi.fn(),
+ }));
+
+ Element.prototype.scrollIntoView = vi.fn();
+ URL.createObjectURL = vi.fn(() => 'blob:quest-test');
+ URL.revokeObjectURL = vi.fn();
+
+ if (!globalThis.CSS) globalThis.CSS = {};
+ if (!globalThis.CSS.escape) {
+ globalThis.CSS.escape = (value) => String(value).replace(/[^a-zA-Z0-9_-]/g, (match) => `\\${match}`);
+ }
+});
+
+afterEach(() => {
+ expect(
+ unexpectedNetworkAttempts,
+ 'jsdom attempted network access without an explicit per-test host-boundary stub',
+ ).toEqual([]);
+ vi.clearAllTimers();
+ vi.useRealTimers();
+ vi.unstubAllGlobals();
+ document.body.innerHTML = '';
+ delete globalThis.bootstrap;
+});
diff --git a/tests/unit/buildGrid.spec.js b/tests/unit/buildGrid.spec.js
new file mode 100644
index 0000000..dc6f8cd
--- /dev/null
+++ b/tests/unit/buildGrid.spec.js
@@ -0,0 +1,65 @@
+import { describe, expect, it } from 'vitest';
+import { parseGrid } from '../../buildGrid.js';
+
+const buttons = '';
+
+describe('parseGrid', () => {
+ it('renders a semantic radio grid with encoded conditions and piped values', () => {
+ const html = parseGrid(
+ '|grid?|id=GRID displayif=equals(ELIGIBLE,1)|Shared {$name} %displayif=equals(A,1)%conditional%|[ROW1]First {$u:firstName};[ROW2,displayif=equals(SHOW,1)]Second;|(1:Yes)(0:No)|',
+ buttons,
+ );
+ const template = document.createElement('template');
+ template.innerHTML = html;
+ const form = template.content.querySelector('form');
+
+ expect(form.id).toBe('GRID');
+ expect(form.getAttribute('softedit')).toBe('true');
+ expect(form.dataset.grid).toBe('true');
+ expect(decodeURIComponent(form.getAttribute('displayif'))).toBe('equals(ELIGIBLE,1)');
+ expect(form.querySelectorAll('tbody tr')).toHaveLength(2);
+ expect(form.querySelectorAll('input[type="radio"]')).toHaveLength(4);
+ expect(form.querySelector('#ROW1_0').value).toBe('1');
+ expect(form.querySelector('span[data-gridreplace="name"]')).not.toBeNull();
+ expect(form.querySelector('span[data-gridreplace="firstName"]')).not.toBeNull();
+ expect(form.querySelector('.grid-displayif')).not.toBeNull();
+ expect(form.querySelector('[data-displayif]')).not.toBeNull();
+ expect(form.querySelector('.question-buttons')).not.toBeNull();
+ });
+
+ it('renders checkbox grids and hard-edit prompts', () => {
+ const html = parseGrid(
+ '|grid!|id=CHECKGRID|Choose all|[ROW]A row;|[A:Alpha][B:Beta]|',
+ buttons,
+ );
+ const template = document.createElement('template');
+ template.innerHTML = html;
+ const form = template.content.querySelector('form');
+
+ expect(form.getAttribute('hardedit')).toBe('true');
+ expect(form.getAttribute('softedit')).toBe('false');
+ expect(form.querySelectorAll('input[type="checkbox"]')).toHaveLength(2);
+ expect(form.querySelectorAll('th[scope="col"]')).toHaveLength(2);
+ expect(form.querySelector('th[scope="row"]').textContent).toContain('A row');
+ });
+
+ it('uses a plain prompt when no edit marker is authored', () => {
+ const html = parseGrid('|grid|id=PLAIN|Question|[ROW]Text;|(1:One)|', buttons);
+ const template = document.createElement('template');
+ template.innerHTML = html;
+ const form = template.content.querySelector('form');
+
+ expect(form.getAttribute('hardedit')).toBe('false');
+ expect(form.getAttribute('softedit')).toBe('false');
+ expect(form.querySelector('thead [data-header="One"]')).not.toBeNull();
+ });
+
+ it('makes evaluated piped values distinguishable from response lookups', () => {
+ const html = parseGrid('|grid|id=PIPED|{$e:1 + 1}|[ROW]{$answer};|(1:One)|', buttons);
+ const template = document.createElement('template');
+ template.innerHTML = html;
+
+ expect(template.content.querySelector('[data-gridreplacetype="eval"]')).not.toBeNull();
+ expect(template.content.querySelector('[data-gridreplacetype="_val"]')).not.toBeNull();
+ });
+});
diff --git a/tests/unit/customMath.spec.js b/tests/unit/customMath.spec.js
new file mode 100644
index 0000000..bb350e7
--- /dev/null
+++ b/tests/unit/customMath.spec.js
@@ -0,0 +1,242 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+
+async function loadMathWithState(initialState = {}) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = {};
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ const appState = stateModule.getStateManager();
+ appState.loadInitialSurveyState(initialState);
+ appState.setQuestionProcessor({
+ findQuestion: () => ({ question: null }),
+ findGridRadioCheckboxEle: () => null,
+ });
+
+ const mathModule = await import('../../customMathJSImplementation.js');
+ mathModule.customMathJSFunctions.appState = appState;
+ return { ...mathModule, appState, moduleParams: questionnaire.moduleParams };
+}
+
+describe('Quest MathJS extensions', () => {
+ beforeEach(() => {
+ Object.defineProperty(navigator, 'language', { configurable: true, value: 'en-US' });
+ });
+
+ it('normalizes, adds, subtracts, and compares year-month values at year boundaries', async () => {
+ const { YearMonth } = await loadMathWithState();
+ const value = new YearMonth('2025-12');
+
+ expect(value.toString()).toBe('2025-12');
+ expect(new YearMonth(value).toString()).toBe('2025-12');
+ expect(value.add(1)).toBe('2026-01');
+ expect(new YearMonth('2025-03').add(1)).toBe('2025-04');
+ expect(new YearMonth('2026-01').subtract(1)).toBe('2025-12');
+ expect(new YearMonth('2026-03').subtract(1)).toBe('2026-02');
+ expect(new YearMonth('2026-03').subMonth(new YearMonth('2025-11'))).toBe(4);
+ expect(() => new YearMonth('03/2026')).toThrow('Invalid YearMonth format');
+ });
+
+ it('looks up scalar, array, object, nested, numeric, and missing values', async () => {
+ const { customMathJSFunctions: fn } = await loadMathWithState({
+ SCALAR: 'yes',
+ EMPTY: '',
+ CHECKS: ['1', '2'],
+ OBJECT: { NESTED: 'value' },
+ });
+
+ expect(fn.exists('SCALAR')).toBe(true);
+ expect(fn.exists('EMPTY')).toBe(false);
+ expect(fn.exists(null)).toBe(false);
+ expect(fn.exists('CHECKS')).toBe(true);
+ expect(fn.exists('MISSING')).toBe(false);
+ expect(fn.exists(0)).toBe(true);
+ expect(fn.getKeyedValue('not a response sentence.')).toBeUndefined();
+ expect(() => fn.getKeyedValue('MISSING.LEAF')).toThrow(TypeError);
+ expect(fn.getKeyedValue('OBJECT.MISSING.DEEP')).toBeUndefined();
+ expect(fn._value(125)).toBe(125);
+ expect(fn._value('MISSING')).toBeNull();
+ });
+
+ it('evaluates existence composition, equality, sets, ranges, and defaults', async () => {
+ const { customMathJSFunctions: fn } = await loadMathWithState({
+ ANSWER: '2',
+ CHECKS: ['1', '3'],
+ CONCEPTS: '123456789,987654321',
+ COUNT: '5',
+ });
+
+ expect(fn.doesNotExist('MISSING')).toBe(true);
+ expect(fn.noneExist('A', 'B')).toBe(true);
+ expect(fn.someExist('A', 'ANSWER')).toBe(true);
+ expect(fn.allExist('ANSWER', 'CHECKS')).toBe(true);
+ expect(fn.valueEquals('ANSWER', 2)).toBe(true);
+ expect(fn.valueEquals('MISSING', 2)).toBe(false);
+ expect(fn.valueIsOneOf('CHECKS', 3, 9)).toBe(true);
+ expect(fn.valueIsOneOf('MISSING', 3, 9)).toBe(false);
+ expect(fn.valueIsOneOf('CONCEPTS', '987654321')).toBe(true);
+ expect(fn.valueIsBetween(1, 10, 'COUNT')).toBe(true);
+ expect(() => fn.valueIsBetween(1, 10, 'MISSING', 'COUNT')).toThrow('Key(s) must be strings');
+ expect(fn.valueIsBetween(6, 10, 'COUNT')).toBe(false);
+ expect(fn.valueOrDefault('MISSING', 'ANSWER', 99)).toBe('2');
+ expect(fn.valueLength('ANSWER')).toBe(1);
+ expect(fn.valueLength('MISSING')).toBe(false);
+ expect(fn.valueIsBetween(undefined, 10, 'COUNT')).toBe(false);
+ expect(fn.valueIsBetween(1, 10, 'MISSING')).toBe(false);
+ });
+
+ it('distinguishes MathJS scalar equality from legacy checkbox-membership equality', async () => {
+ const {
+ customMathJSFunctions: fn,
+ initializeCustomMathJSFunctions,
+ math,
+ } = await loadMathWithState({ CHECKS: ['1', '3'] });
+ initializeCustomMathJSFunctions();
+ const { evaluateCondition } = await import('../../evaluateConditions.js');
+
+ // Quoted IDs stay in the MathJS path and use scalar coercion. Legacy
+ // authored expressions use a bare response ID. MathJS rejects that symbol
+ // and Quest's fallback evaluator correctly treats equals as membership.
+ expect(fn.valueEquals('CHECKS', 1)).toBe(false);
+ expect(fn.equals('CHECKS', 3)).toBe(false);
+ expect(math.evaluate('equals("CHECKS", 1)')).toBe(false);
+ expect(evaluateCondition('equals(CHECKS,1)')).toBe(true);
+ expect(evaluateCondition('equals(CHECKS,2)')).toBe(false);
+ expect(fn.valueIsOneOf('CHECKS', 1, 9)).toBe(true);
+ });
+
+ it('unwraps legacy combo objects and reports response types that existence cannot interpret', async () => {
+ vi.spyOn(console, 'error').mockImplementation(() => {});
+ const { customMathJSFunctions: fn, moduleParams } = await loadMathWithState({
+ COMBO: { COMBO: '2', OTHER: 'detail' },
+ BOOLEAN: true,
+ });
+
+ expect(fn.valueEquals('COMBO', 2)).toBe(true);
+ expect(fn.valueIsOneOf('COMBO', 1, 2)).toBe(true);
+ expect(fn.exists('BOOLEAN')).toBe(false);
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('unhandled case in EXISTS'));
+ expect(fn.getKeyedValue('NO_DOT')).toBeUndefined();
+ });
+
+ it('unwraps combo-shaped values before equality and one-of comparisons', async () => {
+ const { customMathJSFunctions: fn } = await loadMathWithState();
+ fn.appState = {
+ findResponseValue: () => ({ COMBO: '2', OTHER: 'detail' }),
+ };
+
+ expect(fn.equals('COMBO', 2)).toBe(true);
+ expect(fn.valueIsOneOf('COMBO', 2, 3)).toBe(true);
+ expect(fn.valueLength('COMBO')).toBe(-1);
+ });
+
+ it('handles fixed arithmetic/date helpers and invalid selections safely', async () => {
+ const { customMathJSFunctions: fn } = await loadMathWithState();
+
+ expect(fn.dateCompare(0, 2026, 1, 2026)).toBe(-1);
+ expect(fn.dateCompare(1, 2026, 1, 2026)).toBe(0);
+ expect(fn.dateCompare(2, 2026, 1, 2026)).toBe(1);
+ expect(fn.yearMonth('2026-04').toString()).toBe('2026-04');
+ expect(fn.yearMonth('not-a-month')).toBe(false);
+ expect(fn.isSelected('ROW_VALUE_0')).toBe(false);
+ expect(fn.someSelected('ROW_VALUE_0')).toBe(false);
+ expect(fn.noneSelected('ROW_VALUE_0')).toBe(true);
+ expect(fn.valueIsBetween(1, 10, 'not-numeric')).toBe(false);
+ expect(() => fn.dateCompare(1, 'bad-year', 1, 2026)).toThrow('years need to be numeric');
+ });
+
+ it('finds selected grid cells and resolves year-month values stored in state', async () => {
+ const { customMathJSFunctions: fn, appState } = await loadMathWithState({
+ ROW_VALUE: '2',
+ STORED_MONTH: '2026-07',
+ });
+ appState.setQuestionProcessor({
+ findGridRadioCheckboxEle: (id) => id === 'ROW_VALUE_1' ? '2' : null,
+ findQuestion: () => ({ question: null }),
+ });
+
+ expect(fn.isSelected('ROW_VALUE_1')).toBe(true);
+ expect(fn.isSelected('ROW_VALUE_2')).toBe(false);
+ expect(fn.someSelected('ROW_VALUE_2', 'ROW_VALUE_1')).toBe(true);
+ expect(fn.noneSelected('ROW_VALUE_2')).toBe(true);
+ expect(fn.yearMonth('STORED_MONTH').toString()).toBe('2026-07');
+
+ appState.setQuestionProcessor({
+ findGridRadioCheckboxEle: () => '2',
+ findQuestion: () => ({ question: null }),
+ });
+ expect(fn.isSelected('INVALID_ID')).toBe(false);
+ appState.loadInitialSurveyState({});
+ expect(fn.isSelected('ROW_VALUE_1')).toBe(false);
+ });
+
+ it('counts nested checkbox groups and joins conditionally existing display values', async () => {
+ const { customMathJSFunctions: fn, appState, initializeCustomMathJSFunctions } = await loadMathWithState({
+ Q: { GROUP: ['1', '2'] },
+ A: 'yes',
+ });
+ const form = document.createElement('form');
+ form.innerHTML = `
+
+
+ `;
+ appState.setQuestionProcessor({
+ findQuestion: () => ({ question: form }),
+ findGridRadioCheckboxEle: () => null,
+ });
+ initializeCustomMathJSFunctions();
+
+ expect(fn.selectionCount('Q:GROUP')).toBe(2);
+ expect(fn.existingValues('displayList(exists("A"),"Alpha",exists("B"),"Beta")')).toBe('Alpha');
+ expect(fn.existingValues('displayList(exists("A"),"Alpha",exists("Q"),"Questions",sep=" / ")')).toBe('Alpha / Questions');
+ expect(fn.existingValues()).toBe('');
+
+ appState.setQuestionProcessor({
+ findQuestion: () => ({ question: null }),
+ findGridRadioCheckboxEle: () => null,
+ });
+ expect(fn.selectionCount('Q:GROUP')).toBe(2);
+ });
+
+ it('counts regular and reset checkbox selections from processed question HTML', async () => {
+ const { customMathJSFunctions: fn, appState } = await loadMathWithState({ Q: ['1', '99'] });
+ const form = document.createElement('form');
+ form.innerHTML = `
+
+
+ `;
+ appState.setQuestionProcessor({
+ findQuestion: () => ({ question: form }),
+ findGridRadioCheckboxEle: () => null,
+ });
+
+ expect(fn.selectionCount('Q')).toBe(0);
+ expect(fn.selectionCount('Q', true)).toBe(2);
+ expect(fn.selectionCount('MISSING')).toBe(0);
+
+ fn.appState.findResponseValue = (id) => id === 'SCALAR' ? 'one' : undefined;
+ expect(fn.selectionCount('SCALAR')).toBe(0);
+ });
+
+ it('registers custom functions at the top level for authored MathJS expressions', async () => {
+ const { initializeCustomMathJSFunctions, math, customMathJSFunctions: fn } = await loadMathWithState({ ANSWER: '1' });
+ initializeCustomMathJSFunctions();
+
+ expect(math.evaluate('exists("ANSWER")')).toBe(true);
+ expect(math.evaluate('valueIsOneOf("ANSWER", 1, 2)')).toBe(true);
+ expect(math.evaluate('yearMonth("2025-12") + 1')).toBe('2026-01');
+ expect(fn.add(1, new fn.YearMonth('2025-12'))).toBe('2026-01');
+ expect(fn.add(1, 2)).toBe(3);
+ expect(fn.add('1.5', '2.5')).toBe(4);
+ expect(fn.add(true, '2')).toBeNaN();
+ expect(fn.add({}, {})).toBeNaN();
+ expect(fn.subtract(new fn.YearMonth('2026-01'), 1)).toBe('2025-12');
+ expect(fn.subtract(new fn.YearMonth('2026-03'), new fn.YearMonth('2025-12'))).toBe(3);
+ expect(fn.subtract(5, 2)).toBe(3);
+ expect(fn.subtract('5.5', '2.5')).toBe(3);
+ expect(fn.subtract(true, '2')).toBeNaN();
+ expect(fn.subtract({}, {})).toBeNaN();
+ });
+});
diff --git a/tests/unit/evaluateConditions.spec.js b/tests/unit/evaluateConditions.spec.js
new file mode 100644
index 0000000..dc33ace
--- /dev/null
+++ b/tests/unit/evaluateConditions.spec.js
@@ -0,0 +1,67 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+
+async function loadEvaluator(state = {}, previousResults = {}) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.previousResults = previousResults;
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager();
+ stateModule.getStateManager().loadInitialSurveyState(state);
+ const { evaluateCondition } = await import('../../evaluateConditions.js');
+ return { evaluateCondition, moduleParams: questionnaire.moduleParams };
+}
+
+describe('condition evaluation', () => {
+ beforeEach(() => vi.useRealTimers());
+
+ it('uses MathJS for arithmetic, boolean expressions, and URI-encoded input', async () => {
+ const { evaluateCondition } = await loadEvaluator();
+
+ expect(evaluateCondition('2 + 3 * 4')).toBe(14);
+ expect(evaluateCondition('2%20%3C%203')).toBe(true);
+ expect(evaluateCondition('true and not false')).toBe(true);
+ });
+
+ it('falls back to legacy functions with state and previous-result values', async () => {
+ const { evaluateCondition } = await loadEvaluator(
+ { ANSWER: '2', CHECKS: ['1', '3'] },
+ { PRIOR: '1' },
+ );
+
+ expect(evaluateCondition('equals(ANSWER,2)')).toBe(true);
+ expect(evaluateCondition('doesNotEqual(ANSWER,3)')).toBe(true);
+ expect(evaluateCondition('equals(CHECKS,3)')).toBe(true);
+ expect(evaluateCondition('equals(PRIOR,1)')).toBe(true);
+ expect(evaluateCondition('greaterThan(ANSWER,1)')).toBe(true);
+ });
+
+ it('evaluates nested two-argument legacy functions inside out', async () => {
+ const { evaluateCondition } = await loadEvaluator({ A: '1', B: '0' });
+
+ expect(evaluateCondition('and(equals(A,1),doesNotEqual(B,1))')).toBe(true);
+ expect(evaluateCondition('or(equals(A,9),equals(B,0))')).toBe(true);
+ });
+
+ it('preserves legacy numeric, boolean, undefined, loop, and missing arguments', async () => {
+ const { evaluateCondition } = await loadEvaluator();
+
+ expect(evaluateCondition('equals(12,12)')).toBe(true);
+ expect(evaluateCondition('equals(true,true)')).toBe(false);
+ expect(evaluateCondition('equals(undefined,undefined)')).toBe(true);
+ expect(evaluateCondition('equals(#loop,#loop)')).toBe(true);
+ expect(evaluateCondition('equals(MISSING,undefined)')).toBe(false);
+ });
+
+ it('reports malformed fallback syntax with the original expression and stack', async () => {
+ const { evaluateCondition, moduleParams } = await loadEvaluator();
+
+ expect(() => evaluateCondition('notAFunction(A,1)')).toThrow();
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(
+ 'Error in Displayif Function:',
+ 'notAFunction(A,1)',
+ expect.any(Array),
+ );
+ });
+});
diff --git a/tests/unit/fetchCorpus.spec.js b/tests/unit/fetchCorpus.spec.js
new file mode 100644
index 0000000..589ab89
--- /dev/null
+++ b/tests/unit/fetchCorpus.spec.js
@@ -0,0 +1,60 @@
+import { mkdtemp, readFile, rm } from 'node:fs/promises';
+import os from 'node:os';
+import path from 'node:path';
+
+import { afterEach, describe, expect, it, vi } from 'vitest';
+
+import {
+ downloadArchive,
+ questionnaireArchiveUrl,
+} from '../corpus/scripts/fetchCorpus.mjs';
+
+const temporaryDirectories = [];
+const lock = {
+ repository: 'episphere/questionnaire',
+ commit: '7ae99a22af325cf0e14be047a7636462db9bfd50',
+};
+
+afterEach(async () => {
+ vi.unstubAllEnvs();
+ await Promise.all(temporaryDirectories.splice(0).map((directory) => (
+ rm(directory, { recursive: true, force: true })
+ )));
+});
+
+describe('questionnaire corpus download', () => {
+ it('uses the public archive URL for the exact locked commit', () => {
+ expect(questionnaireArchiveUrl(lock)).toBe(
+ 'https://github.com/episphere/questionnaire/archive/7ae99a22af325cf0e14be047a7636462db9bfd50.tar.gz',
+ );
+ });
+
+ it('does not send credentials even when token-named variables exist', async () => {
+ vi.stubEnv('GITHUB_TOKEN', 'must-not-be-sent');
+ vi.stubEnv('GH_TOKEN', 'must-not-be-sent-either');
+ const directory = await mkdtemp(path.join(os.tmpdir(), 'quest-corpus-download-test-'));
+ temporaryDirectories.push(directory);
+ const archivePath = path.join(directory, 'questionnaire.tar.gz');
+ const archiveBytes = new Uint8Array([31, 139, 8, 0]);
+ const fetchImpl = vi.fn(async () => ({
+ ok: true,
+ status: 200,
+ arrayBuffer: async () => archiveBytes.buffer,
+ }));
+
+ await downloadArchive(lock, archivePath, { fetchImpl });
+
+ expect(fetchImpl).toHaveBeenCalledWith(questionnaireArchiveUrl(lock), {
+ headers: { 'User-Agent': 'quest-corpus-fetcher' },
+ redirect: 'follow',
+ });
+ await expect(readFile(archivePath)).resolves.toEqual(Buffer.from(archiveBytes));
+ });
+
+ it('reports the HTTP status for an unsuccessful public download', async () => {
+ const fetchImpl = vi.fn(async () => ({ ok: false, status: 503 }));
+
+ await expect(downloadArchive(lock, '/unused/archive.tar.gz', { fetchImpl }))
+ .rejects.toThrow('Public GitHub archive fetch failed with HTTP 503.');
+ });
+});
diff --git a/tests/unit/knownDefectRegistry.spec.js b/tests/unit/knownDefectRegistry.spec.js
new file mode 100644
index 0000000..5ca709b
--- /dev/null
+++ b/tests/unit/knownDefectRegistry.spec.js
@@ -0,0 +1,20 @@
+import { describe, expect, it } from 'vitest';
+import { allKnownDefects } from '../knownDefects/registry.js';
+
+describe('known-defect policy registry', () => {
+ it('keeps every accepted defect owned, traceable, reasoned, and unexpired', () => {
+ const today = new Date().toISOString().slice(0, 10);
+ const ids = new Set();
+
+ for (const entry of allKnownDefects) {
+ expect(entry.localDefectId).toMatch(/^(?:QD-|CONNECT-)/);
+ expect(ids.has(entry.localDefectId), `duplicate local defect ID: ${entry.localDefectId}`).toBe(false);
+ ids.add(entry.localDefectId);
+ expect(entry.owner).toBeTruthy();
+ expect(entry.target).toBeTruthy();
+ expect(entry.reason).toBeTruthy();
+ expect(entry.expiry).toMatch(/^\d{4}-\d{2}-\d{2}$/);
+ expect(entry.expiry.localeCompare(today), `${entry.localDefectId} expired on ${entry.expiry}`).toBeGreaterThanOrEqual(0);
+ }
+ });
+});
diff --git a/tests/unit/knownFunctions.spec.js b/tests/unit/knownFunctions.spec.js
new file mode 100644
index 0000000..1547604
--- /dev/null
+++ b/tests/unit/knownFunctions.spec.js
@@ -0,0 +1,73 @@
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
+import { knownFunctions } from '../../knownFunctions.js';
+
+describe('knownFunctions', () => {
+ beforeEach(() => {
+ vi.useFakeTimers();
+ vi.setSystemTime(new Date('2026-01-15T12:00:00.000Z'));
+ });
+
+ afterEach(() => vi.useRealTimers());
+
+ it('evaluates boolean composition', () => {
+ expect(knownFunctions.and(true, 'value')).toBe('value');
+ expect(knownFunctions.and(false, 'value')).toBe(false);
+ expect(knownFunctions.or('', 'fallback')).toBe('fallback');
+ expect(knownFunctions.or('first', 'fallback')).toBe('first');
+ expect(knownFunctions.isNotDefined('')).toBe(true);
+ expect(knownFunctions.isNotDefined('set')).toBe(false);
+ expect(knownFunctions.setFalse('ignored', 'ignored')).toBe(false);
+ });
+
+ it('resolves defined values, numeric fallbacks, and state-backed identifiers', () => {
+ const appState = { findResponseValue: vi.fn((key) => key === 'KNOWN' ? 'stored' : undefined) };
+
+ expect(knownFunctions.isDefined('4', '9', appState)).toBe('4');
+ expect(knownFunctions.isDefined('', '9', appState)).toBe('9');
+ expect(knownFunctions.isDefined('KNOWN', 'fallback', appState)).toBe('stored');
+ expect(knownFunctions.isDefined('MISSING', 'fallback', appState)).toBe('fallback');
+ });
+
+ it('calculates minimum and maximum while ignoring nonnumeric operands', () => {
+ expect(knownFunctions.min('', '')).toBe('');
+ expect(knownFunctions.max('', '')).toBe('');
+ expect(knownFunctions.min('3.5', '7')).toBe(3.5);
+ expect(knownFunctions.min('unknown', '7')).toBe(7);
+ expect(knownFunctions.max('3.5', '7')).toBe(7);
+ expect(knownFunctions.max('3.5', 'unknown')).toBe(3.5);
+ });
+
+ it('compares scalar, array, boolean, undefined, quoted, and current-date values', () => {
+ expect(knownFunctions.equals(undefined, 'undefined')).toBe(true);
+ expect(knownFunctions.doesNotEqual(undefined, 'undefined')).toBe(false);
+ expect(knownFunctions.equals('hello', '"hello"')).toBe(true);
+ expect(knownFunctions.equals(true, 'true')).toBe(true);
+ expect(knownFunctions.equals(false, 'false')).toBe(true);
+ expect(knownFunctions.doesNotEqual(false, 'true')).toBe(true);
+ expect(knownFunctions.doesNotEqual(true, 'false')).toBe(true);
+ expect(knownFunctions.equals('2026-01-15', '_TODAY_')).toBe(true);
+ expect(knownFunctions.doesNotEqual('2026-01-14', '_TODAY_')).toBe(true);
+ expect(knownFunctions.equals(['1', '2'], '2')).toBe(true);
+ expect(knownFunctions.doesNotEqual(['1', '2'], '3')).toBe(true);
+ expect(knownFunctions.equals('1', '2')).toBe(false);
+ expect(knownFunctions.doesNotEqual('1', '1')).toBe(false);
+ });
+
+ it('evaluates numeric comparisons and arithmetic', () => {
+ expect(knownFunctions.lessThan('1', '2')).toBe(true);
+ expect(knownFunctions.lessThanOrEqual('2', '2')).toBe(true);
+ expect(knownFunctions.greaterThan('3', '2')).toBe(true);
+ expect(knownFunctions.greaterThanOrEqual('3', '3')).toBe(true);
+ expect(knownFunctions.difference('10', '3')).toBe(7);
+ expect(knownFunctions.sum('10', '3')).toBe(13);
+ expect(knownFunctions.percentDiff('10', '3')).toBeCloseTo(0.7);
+ });
+
+ it('returns NaN for invalid percentage inputs and counts choices safely', () => {
+ expect(knownFunctions.percentDiff(null, '2')).toBeNaN();
+ expect(knownFunctions.percentDiff('2', null)).toBeNaN();
+ expect(knownFunctions.percentDiff(2, '1')).toBeNaN();
+ expect(knownFunctions.numberOfChoicesSelected(undefined)).toBe(0);
+ expect(knownFunctions.numberOfChoicesSelected(['a', 'b'])).toBe(2);
+ });
+});
diff --git a/tests/unit/stateManager.spec.js b/tests/unit/stateManager.spec.js
new file mode 100644
index 0000000..e7fec17
--- /dev/null
+++ b/tests/unit/stateManager.spec.js
@@ -0,0 +1,386 @@
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+
+async function createManager(initialState = {}, store = vi.fn(async () => ({ code: 200 }))) {
+ vi.resetModules();
+ const questionnaire = await import('../../questionnaire.js');
+ questionnaire.moduleParams.questName = 'STATE_TEST';
+ questionnaire.moduleParams.previousResults = { PRIOR: 7 };
+ questionnaire.moduleParams.errorLogger = vi.fn();
+ questionnaire.moduleParams.questDiv = document.body;
+ questionnaire.questionQueue.clear();
+ questionnaire.questionQueue.add('Q1');
+ questionnaire.questionQueue.next();
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager(store, initialState);
+ const manager = stateModule.getStateManager();
+ const questionProcessor = {
+ checkLoopMaxData: vi.fn(),
+ findQuestion: vi.fn(() => ({ question: null })),
+ findGridRadioCheckboxEle: vi.fn(() => null),
+ };
+ manager.setQuestionProcessor(questionProcessor);
+ return {
+ manager,
+ moduleParams: questionnaire.moduleParams,
+ questionProcessor,
+ questionQueue: questionnaire.questionQueue,
+ store,
+ };
+}
+
+describe('state manager', () => {
+ beforeEach(() => {
+ document.body.innerHTML = '';
+ });
+
+ it('stores primitive and compound active response shapes and removes them', async () => {
+ const { manager } = await createManager();
+
+ manager.setNumResponseInputs('Q1', 1);
+ manager.setResponse('Q1', 'Q1', 1, 'yes');
+ expect(manager.getActiveQuestionState()).toEqual({ Q1: 'yes' });
+
+ manager.removeResponse('Q1');
+ expect(manager.getActiveQuestionState()).toEqual({ Q1: undefined });
+
+ manager.setNumResponseInputs('Q2', 2);
+ manager.setResponse('Q2', 'ROW_A', 2, '1');
+ manager.setResponse('Q2', 'ROW_B', 2, ['2', '3']);
+ expect(manager.getActiveQuestionState()).toEqual({ Q1: undefined, Q2: { ROW_A: '1', ROW_B: ['2', '3'] } });
+
+ manager.removeResponseItem('Q2', 'ROW_A', 2);
+ expect(manager.getActiveQuestionState().Q2).toEqual({ ROW_A: undefined, ROW_B: ['2', '3'] });
+
+ manager.removeResponse('Q2');
+ expect(manager.getActiveQuestionState().Q2).toBeUndefined();
+
+ manager.setResponse('Q3', 'Q3', 1, 'temporary');
+ manager.setResponse('Q3', 'Q3', 1, '');
+ expect(manager.getActiveQuestionState().Q3).toBeUndefined();
+ });
+
+ it('keeps live response mappings and cache entries coherent through removals', async () => {
+ const { manager } = await createManager();
+
+ manager.setResponse('SINGLE', 'SINGLE', 1, 'yes');
+ manager.setResponse('MULTI', 'FIRST', 2, 'one');
+ manager.setResponse('MULTI', 'SECOND', 2, ['two', 'three']);
+
+ expect(manager.getResponseToQuestionMapping()).toEqual({
+ SINGLE: 'SINGLE',
+ 'FIRST.MULTI': 'MULTI.FIRST',
+ 'SECOND.MULTI': 'MULTI.SECOND',
+ });
+ expect(manager.getCache()).toEqual({
+ SINGLE: 'yes',
+ 'FIRST.MULTI': 'one',
+ 'SECOND.MULTI': ['two', 'three'],
+ });
+ expect(manager.findResponseValue('SINGLE')).toBe('yes');
+ expect(manager.findResponseValue('FIRST', 'MULTI')).toBe('one');
+
+ manager.removeResponseItem('SINGLE', 'SINGLE', 1);
+ manager.setResponse('MULTI', 'FIRST', 2, '');
+ manager.removeResponseItem('MISSING', 'MISSING', 1);
+
+ expect(manager.getResponseToQuestionMapping()).toEqual({
+ 'SECOND.MULTI': 'MULTI.SECOND',
+ });
+ expect(manager.getCache()).toEqual({
+ 'SECOND.MULTI': ['two', 'three'],
+ });
+ expect(manager.findResponseValue('SINGLE')).toBeUndefined();
+ expect(manager.findResponseValue('FIRST', 'MULTI')).toBeUndefined();
+ });
+
+ it('preserves direct stored-value shapes and numeric Concept ID boundaries', async () => {
+ const { manager } = await createManager({
+ DIRECT_ARRAY: ['one', 'two'],
+ FALSE_VALUE: false,
+ MULTI_VALUE: { FIRST: 'one', SECOND: 'two' },
+ SINGLE_WRAPPER: { ONLY: 'unwrapped' },
+ ZERO_VALUE: 0,
+ 123456789: 'concept-value',
+ });
+
+ expect(manager.getItem('DIRECT_ARRAY')).toEqual(['one', 'two']);
+ expect(manager.findResponseValue('DIRECT_ARRAY')).toEqual(['one', 'two']);
+ expect(manager.findResponseValue('FALSE_VALUE')).toBe(false);
+ expect(manager.findResponseValue('MULTI_VALUE')).toEqual({ FIRST: 'one', SECOND: 'two' });
+ expect(manager.findResponseValue('SINGLE_WRAPPER')).toBe('unwrapped');
+ expect(manager.findResponseValue('ZERO_VALUE')).toBe(0);
+ expect(manager.findResponseValue('123456789')).toBe('concept-value');
+ expect(manager.findResponseValue('99999999')).toBe('99999999');
+ expect(manager.findResponseValue('1000000000')).toBe('1000000000');
+ });
+
+ it('loads nested state and builds deterministic response mappings and cache entries', async () => {
+ const { manager } = await createManager();
+ manager.loadInitialSurveyState({
+ Q1: 'one',
+ Q2: { ROW_A: 'yes', ROW_B: ['1', '2'] },
+ treeJSON: 'ignored-in-mapping',
+ });
+
+ expect(manager.getResponseToQuestionMapping()).toEqual({
+ Q1: 'Q1',
+ 'ROW_A.Q2': 'Q2.ROW_A',
+ 'ROW_B.Q2': 'Q2.ROW_B',
+ });
+ expect(manager.findResponseValue('Q1')).toBe('one');
+ expect(manager.findResponseValue('ROW_A', 'Q2')).toBe('yes');
+ expect(manager.findResponseValue('ROW_B', 'Q2')).toEqual(['1', '2']);
+ expect(manager.findResponseValue('PRIOR')).toBe('7');
+ expect(manager.findResponseValue('42')).toBe('42');
+ });
+
+ it('resolves unique nested and nonalphabetic keys while retaining falsey cached values', async () => {
+ const { manager, moduleParams } = await createManager();
+ manager.loadInitialSurveyState({
+ Q1: { UNIQUE: 'value', D_123_1: 'coded-value' },
+ Q2: { ZERO: 0, FALSE: false, EMPTY: [] },
+ treeJSON: 'ignored-in-mapping',
+ });
+
+ expect(manager.findResponseValue('UNIQUE')).toBe('value');
+ expect(manager.findResponseValue('D_123_1')).toBe('coded-value');
+ expect(manager.findResponseValue('ZERO')).toBe(0);
+ expect(manager.findResponseValue('FALSE')).toBe(false);
+ expect(manager.findResponseValue('EMPTY')).toEqual([]);
+ expect(manager.getCache()).toMatchObject({
+ 'ZERO.Q2': 0,
+ 'FALSE.Q2': false,
+ 'EMPTY.Q2': [],
+ });
+ expect(moduleParams.errorLogger).not.toHaveBeenCalled();
+ });
+
+ it('sets and clears the active response when navigating restored questions', async () => {
+ const { manager } = await createManager();
+ manager.loadInitialSurveyState({ Q1: 'saved', Q2: { FIELD: 'value' } });
+
+ manager.setActiveQuestionState('Q1');
+ expect(manager.getActiveQuestionState()).toEqual({ Q1: 'saved' });
+ manager.clearActiveQuestionState();
+ expect(manager.getActiveQuestionState()).toEqual({});
+ manager.setActiveQuestionState('MISSING');
+ expect(manager.getActiveQuestionState()).toEqual({});
+ });
+
+ it('returns top-level state snapshots and clears indexes when retrieved data is empty', async () => {
+ const { manager } = await createManager();
+ manager.loadInitialSurveyState({ Q1: 'saved' });
+
+ const surveySnapshot = manager.getSurveyState();
+ const mappingSnapshot = manager.getResponseToQuestionMapping();
+ const cacheSnapshot = manager.getCache();
+ surveySnapshot.Q1 = 'changed outside the manager';
+ mappingSnapshot.Q1 = 'changed outside the manager';
+ cacheSnapshot.Q1 = 'changed outside the manager';
+
+ expect(manager.getSurveyState()).toEqual({ Q1: 'saved' });
+ expect(manager.getResponseToQuestionMapping()).toEqual({ Q1: 'Q1' });
+ expect(manager.getCache()).toEqual({ Q1: 'saved' });
+
+ manager.loadInitialSurveyState(null);
+ expect(manager.getSurveyState()).toEqual({});
+ expect(manager.getResponseToQuestionMapping()).toEqual({});
+ expect(manager.getCache()).toEqual({});
+ });
+
+ it('delegates valid question lookup through the configured processor', async () => {
+ const { manager, questionProcessor } = await createManager();
+ const question = document.createElement('form');
+ question.id = 'Q2';
+ questionProcessor.findQuestion.mockReturnValue({ question });
+
+ expect(manager.getQuestionProcessor()).toBe(questionProcessor);
+ expect(manager.getQuestionHTMLByID('Q2')).toBe(question);
+ expect(questionProcessor.findQuestion).toHaveBeenCalledWith('Q2');
+ });
+
+ it('namespaces changed values and legacy tree JSON when syncing to the host store', async () => {
+ const { manager, questionProcessor, store } = await createManager();
+ const next = document.querySelector('.next');
+ manager.setResponse('Q1', 'Q1', 1, 'answer');
+
+ manager.syncToStore(next);
+ await vi.waitFor(() => expect(store).toHaveBeenCalledOnce());
+
+ const payload = store.mock.calls[0][0];
+ expect(Object.keys(payload).sort()).toEqual(['STATE_TEST.Q1', 'STATE_TEST.treeJSON']);
+ expect(payload['STATE_TEST.Q1']).toBe('answer');
+ expect(JSON.parse(payload['STATE_TEST.treeJSON'])).toMatchObject({ currentNode: 'Q1' });
+ expect(questionProcessor.checkLoopMaxData).toHaveBeenCalledWith('Q1', 'answer');
+ expect(manager.getSurveyState().Q1).toBe('answer');
+ expect(manager.getActiveQuestionState()).toEqual({});
+
+ store.mockClear();
+ questionProcessor.checkLoopMaxData.mockClear();
+ manager.syncToStore(next);
+ await vi.waitFor(() => expect(store).toHaveBeenCalledOnce());
+
+ expect(store.mock.calls[0][0]).toEqual({
+ 'STATE_TEST.treeJSON': expect.any(String),
+ });
+ expect(questionProcessor.checkLoopMaxData).not.toHaveBeenCalled();
+ });
+
+ it('sends an explicit namespaced clear when a single response is removed', async () => {
+ const { manager, store } = await createManager();
+ manager.setResponse('Q1', 'Q1', 1, 'answer');
+ manager.removeResponseItem('Q1', 'Q1', 1);
+
+ manager.syncToStore(document.querySelector('.next'));
+ await vi.waitFor(() => expect(store).toHaveBeenCalledOnce());
+
+ expect(store.mock.calls[0][0]).toHaveProperty('STATE_TEST.Q1', undefined);
+ expect(manager.getSurveyState()).toHaveProperty('Q1', undefined);
+ });
+
+ it('submits completion metadata without mutating the production payload contract', async () => {
+ const { manager, store } = await createManager();
+
+ await expect(manager.submitSurvey()).resolves.toEqual({ code: 200 });
+ const payload = store.mock.calls[0][0];
+ expect(payload['STATE_TEST.COMPLETED']).toBe(true);
+ expect(payload['STATE_TEST.COMPLETED_TS']).toBeInstanceOf(Date);
+ expect(JSON.parse(payload['STATE_TEST.treeJSON'])).toMatchObject({ currentNode: 'Q1' });
+ });
+
+ it('propagates submit-store rejection to the host caller', async () => {
+ const storeError = new Error('Synthetic submit rejection');
+ const store = vi.fn(async () => {
+ throw storeError;
+ });
+ const { manager } = await createManager({}, store);
+
+ await expect(manager.submitSurvey()).rejects.toBe(storeError);
+ expect(store).toHaveBeenCalledOnce();
+ });
+
+ it('rejects invalid state keys instead of creating ambiguous state', async () => {
+ const { manager, moduleParams } = await createManager();
+
+ expect(() => manager.setResponse(null, 'key', 1, 'value')).toThrow('must be strings');
+ expect(() => manager.getItem(null)).toThrow('must be a string');
+ expect(() => manager.findResponseValue(null)).toThrow('must be strings');
+ expect(() => manager.removeResponse(3)).toThrow('must be a string');
+ expect(() => manager.setActiveQuestionState(3)).toThrow('must be a string');
+ expect(() => manager.getQuestionHTMLByID(3)).toThrow('must be a string');
+ expect(() => manager.removeResponseItem('Q', 4, 2)).toThrow('must be strings');
+ manager.loadInitialSurveyState({ Q: 'primitive' });
+ manager.setActiveQuestionState('Q');
+ expect(() => manager.removeResponseItem('Q', 'nested', 2)).toThrow('Key not found');
+ expect(moduleParams.errorLogger).not.toHaveBeenCalled();
+ });
+
+ it('clears all runtime state while retaining a usable manager instance', async () => {
+ const { manager } = await createManager();
+ manager.loadInitialSurveyState({ Q1: 'saved' });
+ manager.setActiveQuestionState('Q1');
+
+ manager.clearAllState();
+
+ expect(manager.getSurveyState()).toEqual({});
+ expect(manager.getActiveQuestionState()).toEqual({});
+ expect(manager.getResponseToQuestionMapping()).toEqual({});
+ expect(manager.getCache()).toEqual({});
+ expect(manager.getQuestionProcessor()).toBeNull();
+ });
+
+ it('clears the existing manager when the module graph is initialized again', async () => {
+ const { manager } = await createManager();
+ manager.loadInitialSurveyState({ Q1: 'saved' });
+ manager.setActiveQuestionState('Q1');
+
+ const stateModule = await import('../../stateManager.js');
+ stateModule.initializeStateManager(vi.fn(async () => ({ code: 200 })), { Q2: 'ignored' });
+
+ expect(stateModule.getStateManager()).toBe(manager);
+ expect(manager.getSurveyState()).toEqual({});
+ expect(manager.getActiveQuestionState()).toEqual({});
+ });
+
+ it('manages response-input count caching and clears entries for inactive forms', async () => {
+ const { manager } = await createManager();
+ manager.setNumResponseInputs('Q1', 2);
+ manager.setNumResponseInputs('Q2', 4);
+ expect(manager.getNumResponseInputs('Q1')).toBe(2);
+ expect(manager.getNumResponseInputs('Q2')).toBe(4);
+
+ manager.clearOtherResponseInputEntries('Q2');
+ expect(manager.getNumResponseInputs('Q1')).toBeUndefined();
+ expect(manager.getNumResponseInputs('Q2')).toBe(4);
+ });
+
+ it('returns direct object responses and disambiguates duplicate nested response keys', async () => {
+ const { manager, moduleParams } = await createManager();
+ manager.loadInitialSurveyState({
+ COMBO: { FIRST: '1', SECOND: '2' },
+ Q1: { NAME: 'Alpha' },
+ Q2: { NAME: 'Beta' },
+ Q: { Q: 'self-keyed' },
+ });
+
+ expect(manager.findResponseValue('COMBO')).toEqual({ FIRST: '1', SECOND: '2' });
+ expect(manager.findResponseValue('Q')).toBe('self-keyed');
+ expect(manager.findResponseValue('NAME')).toBe('Alpha');
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('Multiple candidate keys found'));
+ expect(manager.findResponseValue('NA')).toBeUndefined();
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith(expect.stringContaining('No exact match found for NA'));
+ });
+
+ it('detects circular response objects while keeping non-circular keys available', async () => {
+ const { manager, moduleParams } = await createManager();
+ const circular = { VALUE: 'available' };
+ circular.SELF = circular;
+
+ manager.loadInitialSurveyState({ Q: circular });
+
+ expect(manager.findResponseValue('VALUE', 'Q')).toBe('available');
+ expect(moduleParams.errorLogger).toHaveBeenCalledWith('Error: Circular reference found in QuestionIDMapping -> traverse()');
+ });
+
+ it('logs a filtered renderer snapshot and supports a hostless store/submit boundary', async () => {
+ const { manager, moduleParams } = await createManager({
+ NULL_VALUE: null,
+ NESTED: { KEEP: 'yes', DROP: undefined, ARRAY: ['one', undefined] },
+ }, null);
+ const log = vi.spyOn(console, 'log').mockImplementation(() => {});
+ moduleParams.isRenderer = true;
+ manager.setResponse('Q1', 'Q1', 1, 'answer');
+
+ manager.syncToStore(document.querySelector('.next'));
+
+ expect(log).toHaveBeenCalledWith('StateManager -> SURVEY STATE:', {
+ NESTED: { KEEP: 'yes', ARRAY: ['one'] },
+ Q1: 'answer',
+ });
+ expect(await manager.submitSurvey()).toBeUndefined();
+ });
+
+ it('logs invalid store rollback click types and automatically hides the recovery modal', async () => {
+ vi.useFakeTimers();
+ document.body.innerHTML += '';
+ const store = vi.fn(async () => ({ code: 503 }));
+ const { manager, moduleParams } = await createManager({ PREVIOUS: 'saved' }, store);
+ const button = document.createElement('button');
+ button.dataset.clickType = 'unknown';
+ manager.setResponse('Q1', 'Q1', 1, 'answer');
+
+ manager.syncToStore(button);
+ await vi.waitFor(() => expect(moduleParams.errorLogger).toHaveBeenCalledWith('Invalid click type (handleStoreError):', 'unknown'));
+ expect(document.querySelector('#storeErrorModal').classList).toContain('show');
+ await vi.runAllTimersAsync();
+ expect(document.querySelector('#storeErrorModal').classList).not.toContain('show');
+ });
+
+ it('returns null to renderer callers before initialization and throws for runtime callers', async () => {
+ vi.resetModules();
+ const { getStateManager } = await import('../../stateManager.js');
+ expect(getStateManager(true)).toBeNull();
+ expect(() => getStateManager()).toThrow('has not been initialized');
+ });
+});
diff --git a/tests/unit/testOnlyScope.spec.js b/tests/unit/testOnlyScope.spec.js
new file mode 100644
index 0000000..8c620ab
--- /dev/null
+++ b/tests/unit/testOnlyScope.spec.js
@@ -0,0 +1,156 @@
+import { execFileSync } from 'node:child_process';
+import { mkdtemp, mkdir, rename, rm, writeFile } from 'node:fs/promises';
+import os from 'node:os';
+import path from 'node:path';
+import { afterEach, describe, expect, it } from 'vitest';
+
+import {
+ checkTestOnlyScope,
+ parseScopeCliArgs,
+ scopeDecision,
+} from '../quality/scripts/checkTestOnlyScope.mjs';
+
+const temporaryRepositories = [];
+
+afterEach(async () => {
+ await Promise.all(temporaryRepositories.splice(0).map((root) => rm(root, { recursive: true, force: true })));
+});
+
+describe('bootstrap test-only scope policy', () => {
+ it('requires an explicit value for the optional head revision', () => {
+ expect(parseScopeCliArgs([])).toEqual({});
+ expect(parseScopeCliArgs(['--head', 'abc123'])).toEqual({ headRevision: 'abc123' });
+ expect(() => parseScopeCliArgs(['--head'])).toThrow('--head requires');
+ expect(() => parseScopeCliArgs(['--base', 'abc123'])).toThrow('Unknown test-only scope argument');
+ });
+
+ it.each([
+ 'tests/unit/example.spec.js',
+ '.github/workflows/quest-pr.yml',
+ 'docs/testing.md',
+ 'package.json',
+ 'package-lock.json',
+ 'package-fixture.json',
+ 'playwright.config.js',
+ 'vite.config.js',
+ 'vitest.config.js',
+ '.node-version',
+ '.nvmrc',
+ '.gitignore',
+ 'README.md',
+ ])('allows reviewed test infrastructure at %s', (repositoryPath) => {
+ expect(scopeDecision(repositoryPath)).toEqual({ allowed: true });
+ });
+
+ it.each([
+ ['main.js', 'root production JavaScript'],
+ ['eventHandlers.js', 'root production JavaScript'],
+ ['ActiveLogic.css', 'root production CSS/HTML'],
+ ['index.html', 'root production CSS/HTML'],
+ ['i18n/en.js', 'production i18n source'],
+ ['assets/example.png', 'not in the bootstrap test-infrastructure allowlist'],
+ ['tests/../main.js', 'not a safe normalized repository-relative path'],
+ ])('rejects %s', (repositoryPath, expectedReason) => {
+ expect(scopeDecision(repositoryPath)).toEqual({
+ allowed: false,
+ reason: expect.stringContaining(expectedReason),
+ });
+ });
+
+ it('accepts an allowed descendant and reports a deterministic path inventory', async () => {
+ const repository = await createRepository();
+ await write(repository.root, 'tests/unit/new.spec.js', 'export const covered = true;\n');
+ await write(repository.root, 'docs/testing.md', '# Testing\n');
+ const headSha = commit(repository.root, 'add test infrastructure');
+
+ expect(checkTestOnlyScope({
+ repositoryRoot: repository.root,
+ baseRevision: repository.baseSha,
+ headRevision: headSha,
+ })).toEqual({
+ baseSha: repository.baseSha,
+ headSha,
+ changedPaths: ['docs/testing.md', 'tests/unit/new.spec.js'],
+ });
+ });
+
+ it('reports every production path changed by a descendant', async () => {
+ const repository = await createRepository();
+ await write(repository.root, 'main.js', 'export const production = 2;\n');
+ await write(repository.root, 'i18n/en.js', 'export default { next: "Continue" };\n');
+ const headSha = commit(repository.root, 'change production');
+
+ expect(() => checkTestOnlyScope({
+ repositoryRoot: repository.root,
+ baseRevision: repository.baseSha,
+ headRevision: headSha,
+ })).toThrowError([
+ 'Bootstrap test-only scope gate failed.',
+ `Only reviewed test infrastructure may differ from ${repository.baseSha}.`,
+ '- i18n/en.js: production i18n source is outside this test-only pull request',
+ '- main.js: root production JavaScript is outside this test-only pull request',
+ ].join('\n'));
+ });
+
+ it('cannot hide a production deletion behind a rename into tests', async () => {
+ const repository = await createRepository();
+ await mkdir(path.join(repository.root, 'tests'), { recursive: true });
+ await rename(path.join(repository.root, 'main.js'), path.join(repository.root, 'tests', 'main.js'));
+ const headSha = commit(repository.root, 'move production into tests');
+
+ expect(() => checkTestOnlyScope({
+ repositoryRoot: repository.root,
+ baseRevision: repository.baseSha,
+ headRevision: headSha,
+ })).toThrow(/main\.js: root production JavaScript/);
+ });
+
+ it('rejects an allowed-path commit when the pinned base is not its ancestor', async () => {
+ const repository = await createRepository();
+ git(repository.root, 'switch', '--detach', repository.rootSha);
+ await write(repository.root, 'tests/unit/sibling.spec.js', 'export const sibling = true;\n');
+ const siblingSha = commit(repository.root, 'create unrelated test branch');
+
+ expect(() => checkTestOnlyScope({
+ repositoryRoot: repository.root,
+ baseRevision: repository.baseSha,
+ headRevision: siblingSha,
+ })).toThrow(`Bootstrap base ${repository.baseSha} is not an ancestor of head ${siblingSha}.`);
+ });
+});
+
+async function createRepository() {
+ const root = await mkdtemp(path.join(os.tmpdir(), 'quest-test-only-scope-'));
+ temporaryRepositories.push(root);
+ git(root, 'init', '--quiet');
+ git(root, 'config', 'user.email', 'quest-tests@example.invalid');
+ git(root, 'config', 'user.name', 'Quest Tests');
+
+ await write(root, 'seed.txt', 'repository seed\n');
+ const rootSha = commit(root, 'seed repository');
+ await write(root, 'main.js', 'export const production = 1;\n');
+ await write(root, 'ActiveLogic.css', '.question { display: block; }\n');
+ await write(root, 'index.html', 'Quest\n');
+ await write(root, 'i18n/en.js', 'export default { next: "Next" };\n');
+ const baseSha = commit(root, 'create production baseline');
+ return { root, rootSha, baseSha };
+}
+
+async function write(repositoryRoot, relativePath, content) {
+ const filePath = path.join(repositoryRoot, relativePath);
+ await mkdir(path.dirname(filePath), { recursive: true });
+ await writeFile(filePath, content, 'utf8');
+}
+
+function commit(repositoryRoot, message) {
+ git(repositoryRoot, 'add', '--all');
+ git(repositoryRoot, 'commit', '--quiet', '--message', message);
+ return git(repositoryRoot, 'rev-parse', 'HEAD').trim();
+}
+
+function git(repositoryRoot, ...arguments_) {
+ return execFileSync('git', ['-C', repositoryRoot, ...arguments_], {
+ encoding: 'utf8',
+ stdio: ['ignore', 'pipe', 'pipe'],
+ });
+}
diff --git a/tests/unit/tree.spec.js b/tests/unit/tree.spec.js
new file mode 100644
index 0000000..d187311
--- /dev/null
+++ b/tests/unit/tree.spec.js
@@ -0,0 +1,167 @@
+import { describe, expect, it, vi } from 'vitest';
+import { Tree } from '../../tree.js';
+
+function buildBranchedTree() {
+ const tree = new Tree();
+ tree.add(['Q1', 'Q2', 'Q3']);
+ tree.next();
+ tree.add('Q1A');
+ tree.next();
+ tree.add('Q1B');
+ tree.next();
+ return tree;
+}
+
+describe('Tree', () => {
+ it('starts empty at an iterable root node', () => {
+ const tree = new Tree();
+
+ expect(tree.isEmpty()).toBe(true);
+ expect(tree.currentNode).toBe(tree.rootNode);
+ expect(tree[Symbol.iterator]()).toBe(tree);
+ expect(tree.next()).toEqual({ done: true, value: undefined });
+ expect(tree.previous()).toEqual({ done: true, value: undefined });
+ expect(tree.isFirst()).toBe(false);
+ });
+
+ it('adds scalar and array children while filtering false array entries', () => {
+ const tree = new Tree();
+ tree.add('Q1');
+ tree.add(['Q2', null, '', 'Q3']);
+
+ expect(tree.rootNode.children.map(({ value }) => value)).toEqual(['Q1', 'Q2', 'Q3']);
+ expect(tree.rootNode.children.every(({ parent }) => parent === tree.rootNode)).toBe(true);
+ });
+
+ it.each([null, undefined, '', false, 0])('rejects a false scalar value: %s', (value) => {
+ expect(() => new Tree().add(value)).toThrow('adding a falsy value to the tree.');
+ });
+
+ it('rejects an array containing no usable values', () => {
+ expect(() => new Tree().add([null, '', false])).toThrow('cannot add an empty or falsy array to the tree');
+ });
+
+ it('walks backward to the deepest previous sibling and clears abandoned descendants', () => {
+ const tree = buildBranchedTree();
+ tree.next();
+ expect(tree.currentNode.value).toBe('Q2');
+
+ const previous = tree.previous();
+ expect(previous.value.value).toBe('Q1B');
+ expect(tree.currentNode.children).toEqual([]);
+
+ expect(tree.previous().value.value).toBe('Q1A');
+ expect(tree.previous().value.value).toBe('Q1');
+ expect(tree.isFirst()).toBe(true);
+ expect(tree.previous()).toEqual({ done: true, value: undefined });
+ });
+
+ it('pops only leaf nodes and preserves nodes that still have children', () => {
+ const tree = new Tree();
+ tree.add(['Q1', 'Q2']);
+ tree.next();
+ tree.add('Q1A');
+
+ tree.pop();
+ expect(tree.currentNode.value).toBe('Q1');
+ expect(tree.currentNode.children.map(({ value }) => value)).toEqual(['Q1A']);
+
+ tree.next();
+ tree.pop();
+ expect(tree.currentNode.value).toBe('Q1');
+ expect(tree.currentNode.children).toEqual([]);
+ });
+
+ it('clears all navigation state', () => {
+ const tree = buildBranchedTree();
+ tree.clear();
+
+ expect(tree.isEmpty()).toBe(true);
+ expect(tree.currentNode).toBe(tree.rootNode);
+ });
+
+ it('serializes, creates, and reloads the same tree shape and current node', () => {
+ const tree = buildBranchedTree();
+ const json = tree.toJSON();
+ const created = Tree.fromJSON(json);
+
+ expect(created.toJSON()).toBe(json);
+ expect(created.currentNode.value).toBe('Q1B');
+
+ const existing = new Tree();
+ existing.add('discard-me');
+ existing.loadFromJSON(json);
+ expect(existing.toJSON()).toBe(json);
+ expect(existing.currentNode.value).toBe('Q1B');
+ });
+
+ it('rejects malformed serialized input and invalid vanilla objects', () => {
+ expect(() => Tree.fromJSON('{not-json')).toThrow();
+ expect(() => new Tree().loadFromVanillaObject({ currentNode: null, rootNode: {} })).toThrow();
+
+ const missingRootChildren = new Tree();
+ missingRootChildren.rootNode.children = null;
+ expect(() => missingRootChildren.loadFromVanillaObject({
+ currentNode: null,
+ rootNode: { children: [] },
+ })).toThrow('children is null?');
+ });
+
+ it('returns terminal results for nodes outside the tree without mutating it', () => {
+ const tree = new Tree();
+ tree.add('Q1');
+ const unknownNode = { value: 'UNKNOWN' };
+
+ expect(tree.rootNode.lookForNext(unknownNode)).toEqual({ done: true, value: undefined });
+ expect(tree.rootNode.lookForPreviousNode(unknownNode)).toEqual({ done: true, value: undefined });
+
+ tree.rootNode.removeChild(unknownNode);
+ expect(tree.rootNode.children.map(({ value }) => value)).toEqual(['Q1']);
+ });
+
+ it('reports the end of a root sequence and a completed nested branch', () => {
+ const rootSequence = new Tree();
+ rootSequence.add('Q1');
+ expect(rootSequence.rootNode.lookForNext(rootSequence.rootNode.children[0]))
+ .toEqual({ done: true, value: undefined });
+
+ const nested = new Tree();
+ nested.add('Q1');
+ nested.next();
+ nested.add('Q1A');
+ nested.next();
+ expect(nested.currentNode.next()).toEqual({ done: true, value: undefined });
+ });
+
+ it('creates an independent empty tree through a node iterator helper', () => {
+ const tree = new Tree();
+ tree.add('Q1');
+
+ const iterator = tree.rootNode.iterator();
+ expect(iterator).toBeInstanceOf(Tree);
+ expect(iterator).not.toBe(tree);
+ expect(iterator.isEmpty()).toBe(true);
+ });
+
+ it('coerces a supplied lookahead node value without mutating that node', () => {
+ const nextNode = { value: 'Q1' };
+ const receiver = { nextNode };
+
+ expect(Tree.prototype.hasNext.call(receiver)).toBe(true);
+ expect(nextNode).toEqual({ value: 'Q1' });
+
+ nextNode.value = null;
+ expect(Tree.prototype.hasNext.call(receiver)).toBe(false);
+ });
+
+ it('prints each traversable value and marks the current node', () => {
+ const log = vi.spyOn(console, 'log').mockImplementation(() => {});
+ const tree = buildBranchedTree();
+
+ tree.printTree();
+
+ expect(log.mock.calls.flat().join(' ')).toContain('Q1B');
+ expect(log.mock.calls.flat().join(' ')).toContain('<=== currentNode');
+ });
+
+});
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..a8c36bd
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vite';
+import { questDependencyResolver } from './tests/config/moduleResolution.js';
+
+export default defineConfig({
+ plugins: [questDependencyResolver],
+ optimizeDeps: {
+ include: ['mathjs'],
+ },
+ server: {
+ host: '127.0.0.1',
+ port: 4173,
+ strictPort: true,
+ },
+ preview: {
+ host: '127.0.0.1',
+ port: 4173,
+ strictPort: true,
+ },
+});
diff --git a/vitest.config.js b/vitest.config.js
new file mode 100644
index 0000000..1711f8d
--- /dev/null
+++ b/vitest.config.js
@@ -0,0 +1,41 @@
+import { defineConfig } from 'vitest/config';
+import { questDependencyResolver } from './tests/config/moduleResolution.js';
+
+export default defineConfig({
+ plugins: [questDependencyResolver],
+ test: {
+ environment: 'jsdom',
+ environmentOptions: {
+ jsdom: {
+ // Use a synthetic non-local origin to model Quest embedded in Connect.
+ url: 'https://connect.test/',
+ },
+ },
+ setupFiles: ['./tests/setup/jsdom.js'],
+ include: ['./tests/{unit,integration,corpus}/**/*.spec.js'],
+ clearMocks: true,
+ restoreMocks: true,
+ mockReset: true,
+ testTimeout: 15_000,
+ hookTimeout: 15_000,
+ coverage: {
+ provider: 'v8',
+ reporter: ['text', 'json-summary', 'html', 'lcov'],
+ reportsDirectory: './coverage',
+ include: [
+ '*.js',
+ 'i18n/*.js'
+ ],
+ exclude: [
+ 'quest.js',
+ '*.config.js'
+ ],
+ thresholds: {
+ statements: 75,
+ branches: 65,
+ functions: 75,
+ lines: 75
+ }
+ }
+ }
+});